diff --git a/.github/workflows/checkout.yml b/.github/workflows/checkout.yml index 2fd5b15..e3314db 100644 --- a/.github/workflows/checkout.yml +++ b/.github/workflows/checkout.yml @@ -87,18 +87,16 @@ jobs: - name: 🚦 Check code format id: check-format timeout-minutes: 1 - run: | - find bin -name "*.dart" ! -name "*.*.dart" -print0 | xargs -0 dart format --set-exit-if-changed --line-length 80 -o none bin/ + run: dart format --set-exit-if-changed --line-length 80 -o none bin/ lib/ test/ - name: 📈 Check analyzer id: check-analyzer timeout-minutes: 1 - run: dart analyze --fatal-infos --fatal-warnings bin/ + run: dart analyze --fatal-infos --fatal-warnings bin/ lib/ test/ - #- name: 🧪 Run unit tests - # id: run-unit-tests - # timeout-minutes: 5 - # run: | - # dart test --color --platform=vm --concurrency=12 \ - # --timeout=60s --reporter=github --file-reporter=json:reports/tests.json \ - # --coverage=coverage -- test/unit_test.dart + - name: 🧪 Run unit tests + id: run-unit-tests + timeout-minutes: 5 + run: | + dart test --color --platform=vm --concurrency=12 \ + --timeout=60s --reporter=github diff --git a/.vscode/tasks.json b/.vscode/tasks.json index ba79f69..b9ae38b 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -88,6 +88,76 @@ "group": "docker" } }, + { + "label": "sheety:localize", + "detail": "Translate the empty cells of the spreadsheet with OpenAI", + "icon": { + "color": "terminal.ansiMagenta", + "id": "globe" + }, + "type": "shell", + "command": [ + "flutter pub global run sheety_localization:localize --credentials=credentials.json ", + "--sheet=1QgD5i0U-va3VrljXw8I3o8FxtMJAqrhk3ybbJ9O5mA4 ", + "--token-path=\"openai.key\" ", + "--ignore=\"^help$,^backend,^telegram,^locales$\" ", + "--prompt=\"prompt.txt\" ", + "--model=\"gpt-4o-mini\"" + ], + "dependsOn": [], + "args": [], + "group": { + "kind": "none", + "isDefault": false + }, + "problemMatcher": [], + "options": { + "cwd": "${workspaceFolder}" + }, + "isBackground": false, + "presentation": { + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": false, + "clear": true, + "group": "sheety" + } + }, + { + "label": "sheety:generate", + "detail": "Generate ARB and Dart localization files from the spreadsheet", + "icon": { + "color": "terminal.ansiMagenta", + "id": "file-code" + }, + "type": "shell", + "command": [ + "flutter pub global run sheety_localization:generate --credentials=credentials.json ", + "--sheet=1QgD5i0U-va3VrljXw8I3o8FxtMJAqrhk3ybbJ9O5mA4 ", + "--lib=lib --arb=src/l10n --gen=src/generated --prefix=app --format --no-last-modified ", + "--ignore=\"^help$,^backend,^telegram,^locales$\"" + ], + "dependsOn": [], + "args": [], + "group": { + "kind": "none", + "isDefault": false + }, + "problemMatcher": [], + "options": { + "cwd": "${workspaceFolder}" + }, + "isBackground": false, + "presentation": { + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": false, + "clear": true, + "group": "sheety" + } + }, { "label": "dart:format", "detail": "Format all files in the project", @@ -97,7 +167,7 @@ }, "type": "shell", "command": [ - "dart format --fix -l 80 lib test" + "dart format --fix -l 80 bin lib test" ], "dependsOn": [], "args": [], diff --git a/CHANGELOG.md b/CHANGELOG.md index 7da1698..0f3659d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ +## 0.5.0 + +- **BREAKING**: `localize` now only writes to a sheet whose header matches `label | description | meta | en | ...`. A sheet whose fourth column is not the English source is skipped with a warning — reference tables kept in the same spreadsheet were previously "translated", overwriting their data. +- **FIX**: `localize` wrote nothing back to Google Sheets — the row stream introduced in 0.4.3 never emitted the localized rows. +- **FIX**: `localize` failed every request with `400 Unsupported parameter: 'temperature'` on the default `gpt-5-mini` model. Reasoning models (`gpt-5*`, `o*`) now get `reasoning: {effort: low}` instead of the sampling parameters, and a token budget with headroom for their reasoning tokens. +- **FIX**: Placeholder validation rejected every correctly translated ICU plural, and accepted translations that had flattened the directive away. Placeholders are now parsed by brace depth. +- **FIX**: A reasoning item carrying the model's thinking is no longer mistaken for the answer payload. +- **FIX**: A sheet title containing a space or an apostrophe produced an invalid A1 range, so the row could not be written. +- **FIX**: Two columns whose headers sanitize to the same locale (`pt-BR` and `pt_BR`) left the second one empty forever; the duplicate column is now skipped. +- **CHANGED**: Failed writes to Google Sheets are retried only when retrying can help (429, 5xx, network) — a malformed range or a missing scope no longer costs 60s of sleeping per row. +- **CHANGED**: A single OpenAI request now has a hard timeout (`--timeout`, default 120s), and retries are limited to transient failures; an unusable payload is answered by splitting the batch instead of re-sending the same prompt. +- **CHANGED**: An invalid numeric option (`--workers=abc`, `--batch=99`) is reported instead of being silently replaced by the default. +- **CHANGED**: The pipeline moved to `lib/`, behind interfaces for both the model (`LocalizationClient`) and the spreadsheet (`SheetsGateway`), and is covered by unit tests — including the sheet-write path that used to be reachable only through a live Google account. +- **ADDED**: Per-language fallback: a failed batch of languages is split and each language is retried on its own instead of being re-sent as a whole, so one rare language the model chokes on no longer breaks its neighbours. +- **ADDED**: Translation validation before writing: ICU placeholders and markup tags must survive, no empty values, no leaked markdown fences, no runaway output. A rejected translation is retried alone. +- **ADDED**: Language hints in the prompt and in the JSON schema — English name, native endonym and an explicit disambiguation note for codes models misread (`uk` is Ukrainian, not "United Kingdom"). +- **ADDED**: `--timeout` option (default `120s`) — a request the model never finishes is aborted instead of stalling a worker. +- **CHANGED**: Retries are limited to transient failures (network, timeout, 429, 5xx). Unusable payloads are never re-sent with the same prompt. +- **CHANGED**: `max_output_tokens` scales with the number of requested languages, so a large batch is no longer truncated into invalid JSON. +- **CHANGED**: A row that cannot be written to the sheet is skipped instead of aborting the whole run. +- **CHANGED**: The localization pipeline moved to `lib/` and is covered by unit tests. + ## 0.4.3 - **CHANGED**: `localize` now writes translated cells to Google Sheets via batch updates per row instead of one request per cell. diff --git a/Dockerfile b/Dockerfile index 6b43375..3ca93c3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,6 +10,7 @@ COPY pubspec.yaml ./ RUN dart pub get --no-example # Copy source and compile +COPY lib/ lib/ COPY bin/ bin/ RUN dart compile exe bin/generate.dart -o /app/bin/generate && \ dart compile exe bin/localize.dart -o /app/bin/localize diff --git a/README.md b/README.md index 857ba9b..af0a400 100644 --- a/README.md +++ b/README.md @@ -412,11 +412,24 @@ dart pub global run sheety_localization:localize \ Number of languages to translate per single API call. Defaults to `3`. Higher values are faster but may reduce quality for weaker models. Range: 1–20. - `--workers` (or `-w`): Number of concurrent API requests. Defaults to `6`, max `14`. +- `--timeout`: + Hard timeout of a single OpenAI request, in seconds. Defaults to `120`, range 10–900. A request that the model never finishes is aborted instead of stalling a worker forever. - `--ignore` (or `-i`): - Comma-separated list of RegExp patterns to skip sheets whose titles match (e.g. `help,backend-.*,temp-.*`). + Comma-separated list of **regular expressions** — not globs — matched against sheet titles; a sheet whose title matches any of them is skipped (e.g. `^help$,^backend,^temp-`). The match is unanchored, so `backend` also skips `backend-monetization`; anchor with `^`/`$` when you want an exact title. A glob-looking `temp-*` means "temp followed by any number of dashes" and will not do what you expect. - `--prompt` (or `-p`): Path to a custom system prompt file for the AI model. +### How Localization Failures Are Handled + +> **Only localization sheets are written to.** A sheet is localized only when its header matches `label | description | meta | en | ...` — that is, when the fourth column is the English source. Reference tables and notes kept in the same spreadsheet have ordinary data in those columns, and translating them would overwrite it, so they are skipped with a warning. `--ignore` remains available for sheets that *do* match the layout but should be left alone anyway. + +Language models are unreliable on ambiguous or rare locale codes, so `localize` defends against that: + +- **Every locale code is spelled out for the model** — name, native endonym and, for codes that are routinely misread, an explicit warning. `uk` is sent as `uk — Ukrainian (українська) — Ukrainian (Cyrillic script). NOT English and NOT "United Kingdom"`, so it can no longer come back as English. +- **A failed batch is split, not retried.** If a request for a batch of languages fails — timeout, truncated or invalid JSON, garbage output — the batch is *not* re-sent as-is. Each language of that batch is retried on its own, so one problematic rare language cannot take its neighbours down with it. +- **Every translation is validated before it is written**: non-empty, ICU placeholders (`{name}`) and markup tags preserved exactly, no leaked markdown fences, no runaway output. A translation that fails validation is retried alone; only that one language is affected. +- **Partial rows are still saved.** Languages that succeeded are written to the sheet even if one of their neighbours never worked; the failed cell stays empty and is picked up on the next run. + --- ## Docker diff --git a/bin/localize.dart b/bin/localize.dart index 06b2c0b..1d72269 100644 --- a/bin/localize.dart +++ b/bin/localize.dart @@ -1,25 +1,13 @@ -// ignore_for_file: unused_import, depend_on_referenced_packages +// ignore_for_file: depend_on_referenced_packages import 'dart:async'; -import 'dart:collection'; import 'dart:convert'; -import 'dart:developer'; import 'dart:io' as io; import 'package:args/args.dart'; -import 'package:googleapis/people/v1.dart'; import 'package:googleapis/sheets/v4.dart'; import 'package:googleapis_auth/auth_io.dart'; -import 'package:path/path.dart' as path; - -// TODO(plugfox): Add workers support with semaphore -// Mike Matiunin , 02 October 2025 - -// TODO(plugfox): Combine cells range into single batch requests -// Mike Matiunin , 02 October 2025 - -final $log = io.stdout.writeln; // Log to stdout -final $err = io.stderr.writeln; // Log to stderr +import 'package:sheety_localization/localize.dart'; /// Localize Google Sheets with OpenAI API (ChatGPT) void main(List? $arguments) => runZonedGuarded( @@ -59,13 +47,29 @@ void main(List? $arguments) => runZonedGuarded( ?.split(',') .map((e) => e.trim()) .where((e) => e.isNotEmpty) - .map((e) => RegExp(e)) + .map(RegExp.new) .toList(growable: false) ?? - const []; - final workers = - int.tryParse(excludeQuotes(args.option('workers')) ?? '6') ?? 6; - final batch = - int.tryParse(excludeQuotes(args.option('batch')) ?? '3') ?? 3; + const []; + // Parse a numeric option, telling the user when their value was not a + // number or had to be clamped — a silent fallback to the default makes + // a typo indistinguishable from an intentional omission. + int number(String name, int fallback, int min, int max) { + final raw = excludeQuotes(args.option(name)); + final value = raw == null ? fallback : int.tryParse(raw); + if (value == null) { + $err('Warning: --$name="$raw" is not a number, using $fallback'); + return fallback; + } + final clamped = value.clamp(min, max); + if (clamped != value) + $err('Warning: --$name=$value is out of range ' + '[$min..$max], using $clamped'); + return clamped; + } + + final workers = number('workers', 6, 1, 14); + final batch = number('batch', 3, 1, 20); + final timeout = number('timeout', 120, 10, 900); String? systemPrompt; // Validate required arguments @@ -119,11 +123,15 @@ void main(List? $arguments) => runZonedGuarded( // Fetch spreadsheets from Google Sheets API $log('Generating localization table...'); - final sheets = await fetchSpreadsheets( - sheetsApi: sheetsApi, - sheetId: sheetId, - ignore: ignore, - ).toList(); + final gateway = GoogleSheetsGateway(api: sheetsApi, id: sheetId); + final List sheets; + try { + sheets = await gateway.fetch(ignore: ignore).toList(); + } on Object catch (e) { + sheetsClient.close(); + $err('$e'); + io.exit(1); + } if (sheets.isEmpty) { sheetsClient.close(); @@ -135,18 +143,21 @@ void main(List? $arguments) => runZonedGuarded( final client = OpenAIClient( apiKey: openaiApiKey, model: openaiModel ?? 'gpt-5-mini', - workers: workers.clamp(1, 14), + workers: workers, systemPrompt: systemPrompt, + timeout: Duration(seconds: timeout), ); + // Stay under the Google Sheets write quota (60 requests/min). + final limiter = RateLimiter(maxRequestsPerMinute: 60); + // Process each sheet $log('Processing ${sheets.length} sheets...'); try { - for (final (:sheet, :values) in sheets) { - final title = sheet.properties?.title ?? 'Unknown'; + for (final (:title, :values) in sheets) { $log('Processing sheet: $title'); - final rows = await extractEmptyCells( - sheet: sheet, + final rows = extractEmptyCells( + title: title, values: values, ); if (rows.isEmpty) continue; @@ -155,14 +166,14 @@ void main(List? $arguments) => runZonedGuarded( await for (final row in localizeRows( rows: rows, client: client, - cellsPerBatch: batch.clamp(1, 20), + cellsPerBatch: batch, )) { if (row.isEmpty) continue; - await updateSheet( - api: sheetsApi, - sheetId: sheetId, + await updateRow( + sheets: gateway, sheetTitle: title, row: row, + limiter: limiter, ); } } @@ -187,7 +198,6 @@ ArgParser buildArgumentsParser() => ArgParser() abbr: 'h', aliases: const ['readme', 'usage', 'info', 'howto'], negatable: false, - defaultsTo: false, help: 'Print this usage information', ) ..addOption( @@ -210,7 +220,7 @@ ArgParser buildArgumentsParser() => ArgParser() 'source', 'id', ], - mandatory: true, + mandatory: false, valueHelp: 'spreadsheet-id', help: 'Google Spreadsheet ID', ) @@ -307,6 +317,18 @@ ArgParser buildArgumentsParser() => ArgParser() valueHelp: 'number', help: 'Number of languages to translate per single API call', ) + ..addOption( + 'timeout', + aliases: const [ + 'request-timeout', + 'openai-timeout', + 'deadline', + ], + mandatory: false, + defaultsTo: '120', + valueHelp: 'seconds', + help: 'Hard timeout of a single OpenAI request, in seconds', + ) ..addOption( 'workers', abbr: 'w', @@ -322,7 +344,7 @@ ArgParser buildArgumentsParser() => ArgParser() mandatory: false, defaultsTo: '6', valueHelp: 'number', - help: 'Number of worker isolates to use', + help: 'Number of concurrent OpenAI requests', ); /// Help message for the command line arguments @@ -373,1023 +395,3 @@ Future<({SheetsApi api, AutoRefreshingAuthClient client})> io.exit(1); } } - -/// Fetch spreadsheets from Google Sheets API -/// [credentialsPath] - Path to the service account credentials JSON file -/// [sheetId] - Google Spreadsheet ID -/// Returns a list of sheets and their values. -Stream<({Sheet sheet, List> values})> fetchSpreadsheets({ - required SheetsApi sheetsApi, - required String sheetId, - List ignore = const [], -}) async* { - $log('Fetching spreadsheet data...'); - List sheets; - try { - final spreadsheet = await sheetsApi.spreadsheets.get(sheetId); - sheets = spreadsheet.sheets ?? []; - } on Object catch (e) { - $err('Error fetching spreadsheet data: $e'); - io.exit(1); - } - if (sheets.isEmpty) { - $err('No sheets found in the spreadsheet with ID: $sheetId'); - io.exit(1); - } - - $log('Retrieving data from ${sheets.length} sheets...'); - for (final sheet in sheets) { - final properties = sheet.properties; - if (properties == null) { - $err('Sheet properties are null, skipping sheet...'); - continue; - } - final SheetProperties(sheetId: id, title: title) = properties; - - // Check if the sheet title matches any of the ignore patterns - if (id == null) { - $err('Sheet ID is null, skipping sheet...'); - continue; - } else if (title == null || title.isEmpty) { - $err('Sheet title is null or empty, skipping sheet...'); - continue; - } else if (ignore.any((pattern) => pattern.hasMatch(title))) { - $log('Ignoring sheet "$title" as it matches ignore patterns'); - continue; - } - - final ValueRange(:values) = await sheetsApi.spreadsheets.values.get( - sheetId, - title, - ); - - // Validate sheet values - if (values == null) { - $err('Sheet "$title" has no values, skipping sheet...'); - continue; - } else if (values.isEmpty) { - $err('Sheet "$title" is empty, skipping sheet...'); - continue; - } else if (values.length < 2) { - $err('Sheet "$title" has no rows, skipping sheet...'); - continue; - } else if (values.first.length < 4) { - $err('Sheet "$title" has no localizations, skipping sheet...'); - continue; - } - - yield (sheet: sheet, values: values); - } -} - -/// Extract empty cells to be localized -/// [sheet] - The sheet to process -/// [values] - The values of the sheet -Future> extractEmptyCells({ - required Sheet sheet, - required List> values, -}) async { - final sanitize = sanitizer(); - - final bucket = sanitize(sheet.properties?.title ?? ''); - if (bucket.isEmpty) { - $err( - 'Sheet ' - '"${sheet.properties?.sheetId ?? sheet.properties?.index ?? '???'}" ' - 'title is empty, skipping sheet...', - ); - return const []; - } - - final header = values.first; - - // Fill locales - final locales = List.filled(header.length, '', growable: false); - for (var i = 3; i < header.length; i++) { - final cell = header[i]; - switch (cell) { - case String text when text.isNotEmpty: - final locale = sanitize(text); - locales[i] = locale; - case String _: - $err( - 'Sheet "$bucket" has empty column ' - '[${columnFromIndex(i)}] in header, ' - 'ignore the whole column...', - ); - continue; - default: - $err( - 'Sheet "$bucket" has non-string column ' - '[${columnFromIndex(i)}] in header, ' - 'ignore whole column...', - ); - continue; - } - } - - // Process locales from the sheet, skipping empty ones - final localize = []; - { - final queue = Queue(); - for (var i = 1; i < values.length; i++) { - final row = values[i]; - if (row.isEmpty || row.every((cell) => cell == null) || row.length < 4) { - $err('Sheet "$bucket" has empty row ${i + 1}, skipping row...'); - continue; - } - - // Extract label, description, and meta from the row - final [$label, $description, $meta, $english, ..._] = row; - if ($label == null || $label is! String || $label.isEmpty) { - $err( - 'Sheet "$bucket" has empty label in row #${i + 1}, ' - 'skipping row...', - ); - continue; - } - final label = sanitize($label); - - // Extract locales from the row - for (var j = 4; j < locales.length; j++) { - final cell = row.length > j ? row[j] : null; - final locale = locales[j]; - if (locale.isEmpty) continue; // Skip empty locales - switch (cell) { - case null: - queue.add(LocalizeCell(column: j, code: locale, text: '')); - case String text when text.isNotEmpty: - continue; // Already localized, skip - case String(): - queue.add(LocalizeCell(column: j, code: locale, text: '')); - case num(): - default: - continue; // Skip non-string cells - } - } - - // Skip rows with no locales to localize - if (queue.isEmpty) continue; - localize.add( - LocalizeRow( - row: i, - label: label, - description: switch ($description) { - String text when text.isNotEmpty => text, - num number => number.toString(), - _ => null, - }, - meta: switch ($meta) { - String text when text.isNotEmpty => text, - num number => number.toString(), - _ => null, - }, - english: switch ($english) { - String text when text.isNotEmpty => text, - num number => number.toString(), - _ => label, - }, - cells: queue.toList(growable: false), - ), - ); - queue.clear(); - } - } - - return localize; -} - -/// Builds a strict prompt for a localization task. -/// - Comments are in English. -/// - Uses jsonEncode for safe inline JSON embedding. -/// - Uses StringBuffer with cascade operators for clarity and speed. -/// - Keeps soft-ish validation with explicit errors (same as original intent). -({String prompt, Map schema}) buildLocalizationPrompt({ - required String label, - required String en, - required List languages, - String? description, - String? meta, // keep as String? to avoid breaking callers; embed as-is -}) { - // -- helpers --------------------------------------------------------------- - - /// Return trimmed string or null if empty. - String? safeStr(String? v) => v == null || v.trim().isEmpty ? null : v.trim(); - - /// Unique, order-preserving list of non-empty language codes. - List uniqLangs(Iterable arr) => List.unmodifiable( - LinkedHashSet.from( - arr.map(safeStr).whereType().where((s) => s.isNotEmpty), - ), - ); - - // -- unpack & normalize ---------------------------------------------------- - final normLabel = safeStr(label); - final normDesc = safeStr(description); - final normEn = safeStr(en); - final langs = uniqLangs(languages); - final String? metaInline = safeStr(meta); // already a string; embed as-is - - // -- validation (explicit) ------------------------------------------------- - if (normLabel == null) throw ArgumentError('Missing label'); - if (normEn == null) throw ArgumentError('Missing source English text'); - if (langs.isEmpty) throw ArgumentError('No target languages provided'); - - // -- output skeleton (built once; used in prompt to fix structure) --------- - final skeleton = StringBuffer() - ..writeln('{') - ..writeln(' "label": ${jsonEncode(normLabel)},') - ..writeln(' "localization": {'); - for (var i = 0; i < langs.length; i++) { - final key = jsonEncode(langs[i]); // safe quoted JSON key - final comma = i == langs.length - 1 ? '' : ','; - skeleton.writeln(' $key: {"text": ""}$comma'); - } - skeleton - ..writeln(' }') - ..writeln('}'); - - // -- prompt assembly (tight, explicit, production-safe) -------------------- - final p = StringBuffer() - ..writeln('You are a professional localization engine ' - 'for a medical symptom-based advice chatbot.') - ..writeln('Localize the item below into the target languages.') - ..writeln('--- CONTEXT INPUT ---') - ..writeln('label: $normLabel'); - if (normDesc != null) p.writeln('description: $normDesc'); - if (metaInline != null) { - // meta is already string; if caller wants JSON, - // they should pass it as a JSON string. - p.writeln('meta_placeholders (ICU / intl format): $metaInline'); - } - p - ..writeln('en_source: $normEn') - ..writeln('target_languages: ${langs.map((code) { - final name = resolveLanguageName(code); - return name != null ? '$code ($name)' : code; - }).join(', ')}') - ..writeln('--- OUTPUT REQUIREMENTS ---') - ..writeln( - 'Return ONLY valid minified JSON (no comments, no markdown fences).') - ..writeln('Do NOT add explanatory text before or after JSON.') - ..writeln('All requested languages MUST be present, no additional keys.') - ..writeln('Preserve ICU/intl placeholders exactly ' - '(e.g., {name}, {version}, {count}).') - ..writeln('Preserve HTML-like or XML-like tags verbatim if present.') - ..writeln('Do not introduce new placeholders or variables.') - ..writeln('If translation would be identical to English, ' - 'repeat the English text.') - ..writeln('If a translation is infeasible or unclear, ' - 'copy the English text as fallback.') - ..writeln('Avoid adding periods if original does not have one; ' - 'keep stylistic equivalence.') - ..writeln('No leading/trailing spaces in values.') - ..writeln('Each value MUST be culturally and medically appropriate, ' - 'neutral and concise.') - ..writeln('No quotes escaping beyond standard JSON string escaping.') - ..writeln('--- JSON SCHEMA (informal) ---') - ..writeln('{') - ..writeln(' "label": string,') - ..writeln(' "localization": {') - ..writeln(' : {"text": string (non-empty)} ' - '// exactly the requested languages') - ..writeln(' }') - ..writeln('}') - ..writeln('--- OUTPUT SKELETON (structure to follow) ---') - ..writeln(skeleton.toString()) - ..writeln('--- RULES SUMMARY ---') - ..writeln('1. Output only JSON.') - ..writeln('2. Keys: label, localization.') - ..writeln('3. localization contains exactly the target languages.') - ..writeln('4. Each language object: {"text": ""}.') - ..writeln('5. Do not include description, meta, or extra metadata fields.') - ..writeln('6. Do not translate placeholders or modify their braces.') - ..writeln('7. Keep punctuation style consistent with source.') - ..writeln('8. Avoid hallucinating additional medical ' - 'advice beyond the source meaning.') - ..writeln('9. Keep resulting JSON compact (no unnecessary whitespace).') - ..writeln('10. Use UTF-8 characters directly (no HTML entities).'); - - // -- strict JSON Schema for Responses API ---------------------------------- - // This object can be used directly under response_format.json_schema - // { "name": "...", "strict": true, "schema": { ... } } - Map langObjectSchema() => { - 'type': 'object', - 'additionalProperties': false, - 'required': ['text'], - 'properties': { - 'text': {'type': 'string', 'minLength': 1} - }, - }; - - final Map langProps = { - for (final code in langs) code: langObjectSchema() - }; - - final schemaMap = { - 'type': 'object', - 'additionalProperties': false, - 'required': ['label', 'localization'], - 'properties': { - 'label': {'type': 'string', 'minLength': 1}, - 'localization': { - 'type': 'object', - 'additionalProperties': false, - 'required': langs, // exactly these languages must be present - 'properties': langProps, - } - } - }; - - return (prompt: p.toString(), schema: schemaMap); -} - -/// Localize rows using OpenAI API -/// [rows] - The rows to localize -/// [client] - The OpenAI client to use -Stream localizeRows({ - required List rows, - required OpenAIClient client, - int cellsPerBatch = 3, -}) { - // Localize a single row: split its target locales into batches and call the - // OpenAI API for each batch. Batches within a row run sequentially, but many - // rows are dispatched concurrently below — the client's internal semaphore - // caps the number of simultaneous requests at [OpenAIClient.workers]. - Future localizeOne(LocalizeRow row) async { - final cells = row.cells.map((e) => e.code).toList(growable: false); - for (var i = 0; i < cells.length; i += cellsPerBatch) { - try { - // Get the next batch of languages to process - final languages = - cells.skip(i).take(cellsPerBatch).toList(growable: false); - if (languages.isEmpty) break; - - // Create user prompt: - final (:prompt, :schema) = buildLocalizationPrompt( - label: row.label, - en: row.english, - description: row.description, - meta: row.meta, - languages: languages, - ); - - // Call OpenAI API: - final data = await client(prompt: prompt, schema: schema); - if (data.label != row.label) - throw ArgumentError( - 'Mismatched label in response: expected "${row.label}", ' - 'got "${data.label}"', - ); - - // Update row with localized values: - for (final MapEntry(key: locale, :value) in data.localization.entries) { - if (value case {'text': String text} when text.isNotEmpty) { - final cell = row.cells.firstWhere( - (c) => c.code == locale, - orElse: () => throw ArgumentError( - 'Unexpected locale in response: $locale', - ), - ); - cell.text = text; - } else { - throw ArgumentError( - 'Invalid or empty text for locale "$locale" in response', - ); - } - } - } on Object catch (e, s) { - $err('Error localizing row "${row.label}": $e\n$s'); - continue; - } - } - } - - // Dispatch every row concurrently and emit each one as soon as it finishes. - if (rows.isEmpty) return const Stream.empty(); - final controller = StreamController(); - var pending = rows.length; - for (final row in rows) { - Future(() async { - try { - await localizeOne(row); - } on Object catch (e, _) { - $err('Error localizing row: $e'); - } finally { - pending--; - if (pending == 0) controller.close().ignore(); - } - }); - } - return controller.stream; -} - -class OpenAIClient { - OpenAIClient({ - required this.apiKey, - this.model = 'gpt-5-mini', // gpt-5-mini - this.workers = 6, - this.retries = 3, - this.systemPrompt, - }) : _available = workers < 1 ? 1 : workers; - - final String apiKey; - final String model; - final int workers; - final int retries; - final String? systemPrompt; - - /// Counting semaphore limiting the number of concurrent in-flight - /// OpenAI requests to [workers]. - int _available; - final Queue> _waiters = Queue>(); - - /// Acquire a slot before performing a request, waiting if [workers] requests - /// are already in flight. - Future _acquire() { - if (_available > 0) { - _available--; - return Future.value(); - } - final completer = Completer(); - _waiters.add(completer); - return completer.future; - } - - /// Release a slot, waking the next waiter if any. - void _release() { - if (_waiters.isNotEmpty) { - _waiters.removeFirst().complete(); - } else { - _available++; - } - } - - Future<({String label, Map localization})> _request({ - required io.HttpClient client, - required String prompt, - required Map schema, - }) async { - final uri = Uri.parse('https://api.openai.com/v1/responses'); - final request = await client.postUrl(uri) - ..headers.set('Content-Type', 'application/json') - ..headers.set('Authorization', 'Bearer $apiKey'); - final body = jsonEncode({ - 'model': model, // e.g. "gpt-5-mini" - - // System prompt goes into `instructions` for Responses API - if (systemPrompt != null) 'instructions': systemPrompt, - - // User prompt goes into `input` with explicit content typing - 'input': [ - { - 'role': 'user', - 'content': [ - { - 'type': 'input_text', - 'text': prompt, - } - ] - } - ], - - // Specify structured output at the TOP-LEVEL under "text.format" - 'text': { - 'format': { - 'name': 'i18n_payload', - 'strict': true, - 'type': 'json_schema', - 'schema': schema - } - }, - - // Deterministic outputs for pipeline stability - //'verbosity': 'low', - 'temperature': 0, - 'top_p': 1, - //'seed': 42, - - // Token budget: translation payload is small, but keep headroom - 'max_output_tokens': 2048, - - //'reasoning': {'effort': 'low'} - }); - request.add(utf8.encode(body)); - final response = await request.close(); - if (response.statusCode != 200) - throw Exception( - 'OpenAI API error: ${response.statusCode}' - ' - ' - '${await response.transform(utf8.decoder).join()}', - ); - final responseBody = await response.transform(utf8.decoder).join(); - final json = jsonDecode(responseBody); - if (json case {'output': List output} when output.isNotEmpty) { - for (final item in output) { - if (item case {'content': List content}) { - for (final {'text': text} - in content.whereType>()) { - if (jsonDecode(text as String) - case { - 'label': String label, - 'localization': Map localization - }) { - return (label: label, localization: localization); - } else { - throw Exception('Invalid JSON structure in OpenAI response'); - } - } - } else { - throw Exception('Invalid content structure in OpenAI response'); - } - } - } else if (json case {'error': Map error}) { - throw Exception('OpenAI API error: $error'); - } else { - throw Exception('Invalid response from OpenAI API: $json'); - } - throw Exception('Invalid response format from OpenAI API'); - } - - Future<({String label, Map localization})> call({ - required String prompt, - required Map schema, - }) async { - // Throttle to at most [workers] concurrent in-flight requests. - await _acquire(); - final client = io.HttpClient(); - try { - for (var i = 0; i < retries; i++) { - try { - return await _request( - client: client, - prompt: prompt, - schema: schema, - ); - } on FormatException catch (e) { - if (i == retries - 1) rethrow; - $err('OpenAI API returned invalid JSON ' - '(attempt ${i + 1}/$retries): $e'); - await Future.delayed(const Duration(milliseconds: 250)); - } on Object catch (e) { - if (i == retries - 1) rethrow; - $err('OpenAI API call failed ' '(attempt ${i + 1}/$retries): $e'); - await Future.delayed(const Duration(milliseconds: 250)); - } - } - throw Exception('OpenAI API call failed after $retries attempts'); - } finally { - client.close(); - _release(); - } - } -} - -/// Rate limiter for Google Sheets API calls -class RateLimiter { - RateLimiter({ - required this.maxRequestsPerMinute, - }) : _requestTimes = []; - - final int maxRequestsPerMinute; - final List _requestTimes; - final Stopwatch _stopwatch = Stopwatch()..start(); - - /// Wait if necessary to respect rate limits - Future waitIfNeeded() async { - final now = _stopwatch.elapsedMilliseconds; - - // Remove requests older than 1 minute - _requestTimes.removeWhere((time) => now - time > 60000); - - // If we're at the limit, wait until we can make another request - if (_requestTimes.length >= maxRequestsPerMinute) { - final oldestRequest = _requestTimes.first; - final waitTime = 60000 - (now - oldestRequest) + 100; // +100ms buffer - if (waitTime > 0) { - $log('Rate limit reached, waiting ${waitTime}ms...'); - await Future.delayed(Duration(milliseconds: waitTime)); - } - // Remove the oldest request after waiting - _requestTimes.removeAt(0); - } - - // Record this request - _requestTimes.add(_stopwatch.elapsedMilliseconds); - } -} - -// Global rate limiter instance -final RateLimiter _sheetsRateLimiter = RateLimiter(maxRequestsPerMinute: 60); - -/// Update the Google Sheet with localized values -/// [api] - The Google Sheets API client -/// [sheetId] - The sheet to update -/// [sheetTitle] - The title of the sheet -/// [row] - The row with localized values -Future updateSheet({ - required SheetsApi api, - required String sheetId, - required String sheetTitle, - required LocalizeRow row, -}) async { - if (row.isEmpty) return; - - // Collect every non-empty cell into a single batch so the whole row is - // written in ONE API request instead of one request per cell. This keeps us - // well under the Google Sheets write quota (60 requests/min). - final data = []; - for (final cell in row.cells) { - if (cell.isEmpty) continue; - data.add( - ValueRange( - range: '$sheetTitle!${columnFromIndex(cell.column)}${row.row + 1}', - values: [ - [cell.text] - ], - ), - ); - } - if (data.isEmpty) return; - - const attempts = 3; - for (var attempt = 1; attempt <= attempts; attempt++) { - try { - // Wait for rate limiter before making API call - await _sheetsRateLimiter.waitIfNeeded(); - - await api.spreadsheets.values.batchUpdate( - BatchUpdateValuesRequest( - valueInputOption: 'RAW', - data: data, - ), - sheetId, - ); - break; // Success, exit retry loop - } on Object catch (e) { - if (attempt == attempts) { - $err( - 'Error updating sheet "$sheetTitle" ' - 'row [${row.row + 1}]: $e', - ); - rethrow; - } - $err( - 'Retrying update for sheet "$sheetTitle" ' - 'row [${row.row + 1}] ' - '(attempt $attempt/$attempts) due to error: $e', - ); - await Future.delayed(const Duration(seconds: 30)); - } - } -} - -/// Represents a cell to be localized -class LocalizeCell { - LocalizeCell({ - required this.column, - required this.code, - required this.text, - }); - - int column; - String code; - String text; - bool get isEmpty => text.isEmpty; -} - -/// Represents a row to be localized -class LocalizeRow { - LocalizeRow({ - required this.row, - required this.label, - required this.description, - required this.meta, - required this.english, - required this.cells, - }); - - int row; - String label; - String? description; - String? meta; - String english; - List cells; - bool get isEmpty => cells.isEmpty; -} - -/* -sheetsApi.spreadsheets.values.batchUpdate( - BatchUpdateValuesRequest( - data: [ - ValueRange( - range: 'A1:Z1', - majorDimension: 'ROWS', - values: [ - ['Header1', 'Header2', 'Header3', 'Locale1', 'Locale2'] - ], - ), - ], - valueInputOption: 'RAW', - ), - sheetId, -); */ - -/// Comprehensive mapping of ISO 639-1 language codes (and common extended -/// locale codes) to their English language names. -/// Keys are lowercase with `_` as separator. -const Map kLanguageNames = { - // A - 'aa': 'Afar', - 'ab': 'Abkhazian', - 'af': 'Afrikaans', - 'ak': 'Akan', - 'am': 'Amharic', - 'an': 'Aragonese', - 'ar': 'Arabic', - 'as': 'Assamese', - 'av': 'Avaric', - 'ay': 'Aymara', - 'az': 'Azerbaijani', - // B - 'ba': 'Bashkir', - 'be': 'Belarusian', - 'bg': 'Bulgarian', - 'bh': 'Bihari', - 'bi': 'Bislama', - 'bm': 'Bambara', - 'bn': 'Bengali', - 'bo': 'Tibetan', - 'br': 'Breton', - 'bs': 'Bosnian', - // C - 'ca': 'Catalan', - 'ce': 'Chechen', - 'ch': 'Chamorro', - 'co': 'Corsican', - 'cr': 'Cree', - 'cs': 'Czech', - 'cu': 'Church Slavic', - 'cv': 'Chuvash', - 'cy': 'Welsh', - // D - 'da': 'Danish', - 'de': 'German', - 'dv': 'Divehi', - 'dz': 'Dzongkha', - // E - 'ee': 'Ewe', - 'el': 'Greek', - 'en': 'English', - 'eo': 'Esperanto', - 'es': 'Spanish', - 'et': 'Estonian', - 'eu': 'Basque', - // F - 'fa': 'Persian', - 'ff': 'Fulah', - 'fi': 'Finnish', - 'fj': 'Fijian', - 'fo': 'Faroese', - 'fr': 'French', - 'fy': 'Western Frisian', - // G - 'ga': 'Irish', - 'gd': 'Scottish Gaelic', - 'gl': 'Galician', - 'gn': 'Guarani', - 'gu': 'Gujarati', - 'gv': 'Manx', - // H - 'ha': 'Hausa', - 'he': 'Hebrew', - 'hi': 'Hindi', - 'ho': 'Hiri Motu', - 'hr': 'Croatian', - 'ht': 'Haitian Creole', - 'hu': 'Hungarian', - 'hy': 'Armenian', - 'hz': 'Herero', - // I - 'ia': 'Interlingua', - 'id': 'Indonesian', - 'ie': 'Interlingue', - 'ig': 'Igbo', - 'ii': 'Sichuan Yi', - 'ik': 'Inupiaq', - 'io': 'Ido', - 'is': 'Icelandic', - 'it': 'Italian', - 'iu': 'Inuktitut', - // J - 'ja': 'Japanese', - 'jv': 'Javanese', - // K - 'ka': 'Georgian', - 'kg': 'Kongo', - 'ki': 'Kikuyu', - 'kj': 'Kuanyama', - 'kk': 'Kazakh', - 'kl': 'Kalaallisut', - 'km': 'Khmer', - 'kn': 'Kannada', - 'ko': 'Korean', - 'kr': 'Kanuri', - 'ks': 'Kashmiri', - 'ku': 'Kurdish', - 'kv': 'Komi', - 'kw': 'Cornish', - 'ky': 'Kyrgyz', - // L - 'la': 'Latin', - 'lb': 'Luxembourgish', - 'lg': 'Ganda', - 'li': 'Limburgish', - 'ln': 'Lingala', - 'lo': 'Lao', - 'lt': 'Lithuanian', - 'lu': 'Luba-Katanga', - 'lv': 'Latvian', - // M - 'mg': 'Malagasy', - 'mh': 'Marshallese', - 'mi': 'Maori', - 'mk': 'Macedonian', - 'ml': 'Malayalam', - 'mn': 'Mongolian', - 'mr': 'Marathi', - 'ms': 'Malay', - 'mt': 'Maltese', - 'my': 'Burmese', - // N - 'na': 'Nauru', - 'nb': 'Norwegian Bokmal', - 'nd': 'North Ndebele', - 'ne': 'Nepali', - 'ng': 'Ndonga', - 'nl': 'Dutch', - 'nn': 'Norwegian Nynorsk', - 'no': 'Norwegian', - 'nr': 'South Ndebele', - 'nv': 'Navajo', - 'ny': 'Chichewa', - // O - 'oc': 'Occitan', - 'oj': 'Ojibwe', - 'om': 'Oromo', - 'or': 'Odia', - 'os': 'Ossetian', - // P - 'pa': 'Punjabi', - 'pi': 'Pali', - 'pl': 'Polish', - 'ps': 'Pashto', - 'pt': 'Portuguese', - // Q - 'qu': 'Quechua', - // R - 'rm': 'Romansh', - 'rn': 'Kirundi', - 'ro': 'Romanian', - 'ru': 'Russian', - 'rw': 'Kinyarwanda', - // S - 'sa': 'Sanskrit', - 'sc': 'Sardinian', - 'sd': 'Sindhi', - 'se': 'Northern Sami', - 'sg': 'Sango', - 'si': 'Sinhala', - 'sk': 'Slovak', - 'sl': 'Slovenian', - 'sm': 'Samoan', - 'sn': 'Shona', - 'so': 'Somali', - 'sq': 'Albanian', - 'sr': 'Serbian', - 'ss': 'Swati', - 'st': 'Southern Sotho', - 'su': 'Sundanese', - 'sv': 'Swedish', - 'sw': 'Swahili', - // T - 'ta': 'Tamil', - 'te': 'Telugu', - 'tg': 'Tajik', - 'th': 'Thai', - 'ti': 'Tigrinya', - 'tk': 'Turkmen', - 'tl': 'Tagalog', - 'tn': 'Tswana', - 'to': 'Tongan', - 'tr': 'Turkish', - 'ts': 'Tsonga', - 'tt': 'Tatar', - 'tw': 'Twi', - 'ty': 'Tahitian', - // U - 'ug': 'Uyghur', - 'uk': 'Ukrainian', - 'ur': 'Urdu', - 'uz': 'Uzbek', - // V - 've': 'Venda', - 'vi': 'Vietnamese', - 'vo': 'Volapuk', - // W - 'wa': 'Walloon', - 'wo': 'Wolof', - // X - 'xh': 'Xhosa', - // Y - 'yi': 'Yiddish', - 'yo': 'Yoruba', - // Z - 'za': 'Zhuang', - 'zh': 'Chinese', - 'zu': 'Zulu', - - // --- Extended locale codes (language + region) --- - 'zh_cn': 'Chinese Simplified', - 'zh_tw': 'Chinese Traditional', - 'zh_hk': 'Chinese Traditional (Hong Kong)', - 'pt_br': 'Brazilian Portuguese', - 'pt_pt': 'European Portuguese', - 'en_us': 'American English', - 'en_gb': 'British English', - 'en_au': 'Australian English', - 'es_mx': 'Mexican Spanish', - 'es_ar': 'Argentinian Spanish', - 'es_es': 'European Spanish', - 'fr_ca': 'Canadian French', - 'fr_fr': 'European French', - 'fr_be': 'Belgian French', - 'fr_ch': 'Swiss French', - 'de_at': 'Austrian German', - 'de_ch': 'Swiss German', - 'de_de': 'German', - 'nl_be': 'Flemish', - 'sr_latn': 'Serbian (Latin)', - 'sr_cyrl': 'Serbian (Cyrillic)', - 'nb_no': 'Norwegian Bokmal', - 'nn_no': 'Norwegian Nynorsk', - 'ro_md': 'Moldavian', - 'ar_sa': 'Saudi Arabic', - 'ar_eg': 'Egyptian Arabic', - 'ar_ma': 'Moroccan Arabic', - 'ms_my': 'Malay (Malaysia)', - 'ms_bn': 'Malay (Brunei)', - 'sw_ke': 'Swahili (Kenya)', - 'sw_tz': 'Swahili (Tanzania)', - 'ta_lk': 'Tamil (Sri Lanka)', - 'ur_pk': 'Urdu (Pakistan)', - 'ur_in': 'Urdu (India)', - 'bn_bd': 'Bengali (Bangladesh)', - 'bn_in': 'Bengali (India)', - 'pa_guru': 'Punjabi (Gurmukhi)', - 'pa_arab': 'Punjabi (Shahmukhi)', - 'az_latn': 'Azerbaijani (Latin)', - 'az_cyrl': 'Azerbaijani (Cyrillic)', - 'uz_latn': 'Uzbek (Latin)', - 'uz_cyrl': 'Uzbek (Cyrillic)', -}; - -/// Returns human-readable language name for the given locale [code], -/// or `null` if no match is found. -/// -/// Lookup order: -/// 1. Exact match after normalization (lowercase, `_` separator). -/// 2. If the code contains `_`, try the language-only prefix (part before `_`). -String? resolveLanguageName(String code) { - final normalized = code.toLowerCase().replaceAll('-', '_'); - final name = kLanguageNames[normalized]; - if (name != null) return name; - final underscore = normalized.indexOf('_'); - if (underscore > 0) { - return kLanguageNames[normalized.substring(0, underscore)]; - } - return null; -} - -/// Create sanitizer function to sanitize the localization table keys -String Function(String input) sanitizer() { - final invalid = RegExp('[^a-zA-Z0-9_]'); - final merge = RegExp('_+'); - final trim = RegExp(r'^_+|_+$'); - return (String input) => input - .replaceAll(invalid, '_') // replace invalid characters with _ - .replaceAll(merge, '_') // merge multiple _ into one - .replaceAll(trim, ''); // remove leading and trailing _ -} - -/// Convert column index to column name (e.g. 0 -> A, 1 -> B, 26 -> AA) -String columnFromIndex(int index) { - if (index < 0) throw ArgumentError('Index must be non-negative'); - var columnName = ''; - do { - int remainder = index % 26; - columnName = String.fromCharCode(65 + remainder) + columnName; - index = (index / 26).floor() - 1; - } while (index >= 0); - return columnName; -} diff --git a/example/lib/localization.dart b/example/lib/localization.dart index 24c3c0d..7fbe3d2 100644 --- a/example/lib/localization.dart +++ b/example/lib/localization.dart @@ -10,4 +10,6 @@ export 'src/generated/sign_up/sign_up_localization.dart'; export 'src/generated/chat/chat_localization.dart'; export 'src/generated/settings/settings_localization.dart'; export 'src/generated/pay/pay_localization.dart'; +export 'src/generated/onboarding/onboarding_localization.dart'; +export 'src/generated/profiles/profiles_localization.dart'; export 'src/generated/locales.dart'; diff --git a/example/lib/src/arbs/app/example_ar.arb b/example/lib/src/arbs/app/example_ar.arb deleted file mode 100644 index bb870e5..0000000 --- a/example/lib/src/arbs/app/example_ar.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "ar", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "دكتورينا", - "@title": {}, - "checkVersionUpdateNowButton": "التحديث الآن", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "ربما في وقت لاحق", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "تحديث جديد متاح", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "التحديث مطلوب", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "يتوفر إصدار جديد (v{version}) من التطبيق. يُرجى التحديث للاستمرار في الاستخدام للحصول على أفضل تجربة.", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "للمتابعة، يُرجى تحديث التطبيق. يتضمن هذا التحديث إصلاحات وتحسينات مهمة.", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_bn.arb b/example/lib/src/arbs/app/example_bn.arb deleted file mode 100644 index e4e57f6..0000000 --- a/example/lib/src/arbs/app/example_bn.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "bn", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "ডক্টরিনা", - "@title": {}, - "checkVersionUpdateNowButton": "এখনই আপডেট করুন", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "হয়তো পরে", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "নতুন আপডেট উপলব্ধ", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "আপডেট প্রয়োজন", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "অ্যাপটির একটি নতুন সংস্করণ (v{version}) উপলব্ধ৷ সেরা অভিজ্ঞতার জন্য চালিয়ে যেতে অনুগ্রহ করে আপডেট করুন।", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "চালিয়ে যেতে, অনুগ্রহ করে অ্যাপটি আপডেট করুন। এই আপডেটে গুরুত্বপূর্ণ সংশোধন এবং উন্নতি অন্তর্ভুক্ত রয়েছে।", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_de.arb b/example/lib/src/arbs/app/example_de.arb deleted file mode 100644 index b23ae4c..0000000 --- a/example/lib/src/arbs/app/example_de.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "de", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Doctorina", - "@title": {}, - "checkVersionUpdateNowButton": "Jetzt aktualisieren", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "Vielleicht später", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "Neue Aktualisierung verfügbar", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "Update erforderlich", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "Eine neue Version (v{version}) der App ist verfügbar. Bitte aktualisieren Sie, um fortzufahren und die beste Erfahrung zu genießen.", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "Um fortzufahren, aktualisieren Sie bitte die App. Dieses Update enthält wichtige Fehlerbehebungen und Verbesserungen.", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_en.arb b/example/lib/src/arbs/app/example_en.arb deleted file mode 100644 index 4f4a587..0000000 --- a/example/lib/src/arbs/app/example_en.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "en", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Doctorina", - "@title": {}, - "checkVersionUpdateNowButton": "Update Now", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "Maybe Later", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "New update available", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "Update Required", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "A new version (v{version}) of the app is available. Please update to continue for the best experience.", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "To continue, please update the app. This update includes important fixes and improvements.", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_es.arb b/example/lib/src/arbs/app/example_es.arb deleted file mode 100644 index 583f4ac..0000000 --- a/example/lib/src/arbs/app/example_es.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "es", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Doctorina", - "@title": {}, - "checkVersionUpdateNowButton": "Actualizar ahora", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "Tal vez más tarde", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "Nueva actualización disponible", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": " Se requiere actualización", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "Hay una nueva versión (v{version}) de la aplicación disponible. Por favor, actualízala para continuar y disfrutar de la mejor experiencia.", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "Para continuar, actualiza la aplicación. Esta actualización incluye correcciones e mejoras importantes.", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_fr.arb b/example/lib/src/arbs/app/example_fr.arb deleted file mode 100644 index 28fc3a1..0000000 --- a/example/lib/src/arbs/app/example_fr.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "fr", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Docteure", - "@title": {}, - "checkVersionUpdateNowButton": "Mettre à jour maintenant", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "Peut-être plus tard", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "Nouvelle mise à jour disponible", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "Mise à jour requise", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "Une nouvelle version (v{version}) de l'application est disponible. Veuillez la mettre à jour pour profiter d'une expérience optimale.", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "Pour continuer, veuillez mettre à jour l'application. Cette mise à jour inclut des correctifs et améliorations importants.", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_hi.arb b/example/lib/src/arbs/app/example_hi.arb deleted file mode 100644 index 8035ed0..0000000 --- a/example/lib/src/arbs/app/example_hi.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "hi", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "डॉक्टरिना", - "@title": {}, - "checkVersionUpdateNowButton": "अभी अद्यतन करें", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "शायद बाद में", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "नया अपडेट उपलब्ध है", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "अद्यतन आवश्यक है", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "ऐप का नया संस्करण (v{version}) उपलब्ध है। कृपया बेहतर अनुभव के लिए इसे अपडेट करते रहें।", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "जारी रखने के लिए, कृपया ऐप अपडेट करें। इस अपडेट में महत्वपूर्ण सुधार और सुधार शामिल हैं।", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_it.arb b/example/lib/src/arbs/app/example_it.arb deleted file mode 100644 index aff2c4b..0000000 --- a/example/lib/src/arbs/app/example_it.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "it", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Dottoressa", - "@title": {}, - "checkVersionUpdateNowButton": "Aggiorna ora", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "Forse più tardi", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "Nuovo aggiornamento disponibile", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "Aggiornamento richiesto", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "È disponibile una nuova versione (v{version}) dell'app. Aggiornala per continuare a usufruire della migliore esperienza possibile.", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "Per continuare, aggiorna l'app. Questo aggiornamento include importanti correzioni e miglioramenti.", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_ko.arb b/example/lib/src/arbs/app/example_ko.arb deleted file mode 100644 index aea401e..0000000 --- a/example/lib/src/arbs/app/example_ko.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "ko", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "닥터리나", - "@title": {}, - "checkVersionUpdateNowButton": "지금 업데이트", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "아마도 나중에", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "새로운 업데이트가 제공됩니다", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "업데이트가 필요합니다", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "앱의 새 버전(v{version})이 출시되었습니다. 최상의 환경을 위해 계속 사용하려면 업데이트해 주세요.", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "계속하려면 앱을 업데이트하세요. 이 업데이트에는 중요한 수정 사항과 개선 사항이 포함되어 있습니다.", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_pt.arb b/example/lib/src/arbs/app/example_pt.arb deleted file mode 100644 index a3ca6cc..0000000 --- a/example/lib/src/arbs/app/example_pt.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "pt", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Doutora", - "@title": {}, - "checkVersionUpdateNowButton": "Atualizar agora", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "Talvez mais tarde", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "Nova atualização disponível", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "Atualização necessária", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "Uma nova versão (v{version}) do aplicativo está disponível. Atualize para continuar e ter a melhor experiência.", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "Para continuar, atualize o aplicativo. Esta atualização inclui correções e melhorias importantes.", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_pt_BR.arb b/example/lib/src/arbs/app/example_pt_BR.arb deleted file mode 100644 index c96ebdd..0000000 --- a/example/lib/src/arbs/app/example_pt_BR.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "pt_BR", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Doutora", - "@title": {}, - "checkVersionUpdateNowButton": "Atualizar agora", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "Talvez mais tarde", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "Nova atualização disponível", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "Atualização necessária", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "Uma nova versão (v{version}) do aplicativo está disponível. Atualize para continuar e ter a melhor experiência.", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "Para continuar, atualize o aplicativo. Esta atualização inclui correções e melhorias importantes.", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_ru.arb b/example/lib/src/arbs/app/example_ru.arb deleted file mode 100644 index 4541932..0000000 --- a/example/lib/src/arbs/app/example_ru.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "ru", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Doctorina", - "@title": {}, - "checkVersionUpdateNowButton": "Обновить сейчас", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "Позже", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "Доступно новое обновление", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "Необходимо обновление", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "Доступна новая версия (v{version}) приложения. Пожалуйста, обновите, чтобы продолжить и получить наилучший опыт.", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "Чтобы продолжить, пожалуйста, обновите приложение. Это обновление включает важные исправления и улучшения.", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_zh.arb b/example/lib/src/arbs/app/example_zh.arb deleted file mode 100644 index 74d03ff..0000000 --- a/example/lib/src/arbs/app/example_zh.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "zh", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "医生丽娜", - "@title": {}, - "checkVersionUpdateNowButton": "立即更新", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "也许以后", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "有新更新可用", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "需要更新", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "该应用有新版本 (v{version}) 可用。请更新以获取最佳体验。", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "要继续,请更新应用。此更新包含重要的修复和改进。", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/app/example_zh_CN.arb b/example/lib/src/arbs/app/example_zh_CN.arb deleted file mode 100644 index fe8d611..0000000 --- a/example/lib/src/arbs/app/example_zh_CN.arb +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@@locale": "zh_CN", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "医生丽娜", - "@title": {}, - "checkVersionUpdateNowButton": "立即更新", - "@checkVersionUpdateNowButton": { - "description": "Кнопка обновиться" - }, - "checkVersionMaybeLaterButton": "也许以后", - "@checkVersionMaybeLaterButton": { - "description": "Кнопка отложить обновление" - }, - "checkVersionUpdateOptionalTitle": "有新更新可用", - "@checkVersionUpdateOptionalTitle": { - "description": "Заголовок можешь обновиться" - }, - "checkVersionUpdateRequiredTitle": "需要更新", - "@checkVersionUpdateRequiredTitle": { - "description": "Заголовок обязан обновиться" - }, - "checkVersionUpdateOptionalText": "该应用有新版本 (v{version}) 可用。请更新以获取最佳体验。", - "@checkVersionUpdateOptionalText": { - "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - }, - "checkVersionUpdateRequiredText": "要继续,请更新应用。此更新包含重要的修复和改进。", - "@checkVersionUpdateRequiredText": { - "description": "Сообщение с требованием обновиться", - "placeholders": { - "version": { - "type": "String", - "example": "2.3.1" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_ar.arb b/example/lib/src/arbs/chat/example_ar.arb deleted file mode 100644 index 112d3eb..0000000 --- a/example/lib/src/arbs/chat/example_ar.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "ar", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "محادثة", - "@title": {}, - "drawerTooltipNotifications": "إشعارات", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "يساعد", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "يغلق", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "حساب", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "حساب تعريفي", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "إعدادات الحساب", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "تبرع لدعم", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "الاشتراك", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "الدردشات", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "سجل الدردشة", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "المستندات المرفقة", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "كيفية الاستخدام", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "دروس الفيديو", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "قانوني", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "اتصل بنا", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "تقرير الأخطاء", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "الشروط والأحكام", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "سياسة الخصوصية", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "تعليق", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "تقييم التطبيق", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "شارك مع الأصدقاء", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "تسجيل الخروج", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "مساعدة الآخرين على تلقي الرعاية الطبية", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "مستخدم", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "ميزات مميزة مع دكتورينا", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "يحصل", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "انضم إلينا", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "إصدار التطبيق:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "أدخل الرسالة", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "إرفاق الملف", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "إملاء الرسالة", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "إرسال رسالة", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "فشل في جلب الرسائل", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "تعذّر جلب الرسائل. يُرجى المحاولة مجددًا.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "جلب الرسائل", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "لا توجد رسائل متاحة. يُرجى إرسال رسالة لبدء المحادثة.", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "متصل", - "@chatListHasConnection": {}, - "chatListNoConnection": "لا يوجد اتصال", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "يبحث", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "المفضلة", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "تحميل", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "طباعة ملف PDF", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "شارك مع الأصدقاء", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "دردشة جديدة", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "حدد الدردشة", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "عرض الدرج", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "لا توجد محادثات متاحة. يُرجى تحديث الصفحة أو إنشاء محادثة جديدة.", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "تحديث الدردشات", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "إنشاء دردشة جديدة", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "نسخ النص", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "جاري الكتابة... لحظة...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "يرجى التحقق من اتصالك بالإنترنت", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "يتم معالجة الرسالة الآن.", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "الرسالة طويلة جداً.", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "إزالة المرفق", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "فشل في معالجة الرسالة", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "تصدير إلى PDF", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "الصور", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "آلة تصوير", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "الملفات", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "آمل أن يكون هذا مفيدًا! هل كان هذا الشرح مفيدًا لك؟", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "نعم، كل شيء جيد!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "سجل الدردشة", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "فشل في استرداد ملخص الدردشة", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "تم نسخ ملخص الدردشة إلى الحافظة", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_bn.arb b/example/lib/src/arbs/chat/example_bn.arb deleted file mode 100644 index 1ee8b09..0000000 --- a/example/lib/src/arbs/chat/example_bn.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "bn", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "চ্যাট", - "@title": {}, - "drawerTooltipNotifications": "বিজ্ঞপ্তি", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "সাহায্য", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "বন্ধ", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "হিসাব", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "প্রোফাইল", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "অ্যাকাউন্ট সেটিংস", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "সমর্থন দান", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "সাবস্ক্রিপশন", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "চ্যাট", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "চ্যাট ইতিহাস", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "সংযুক্ত নথি", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "কিভাবে ব্যবহার করবেন", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "ভিডিও টিউটোরিয়াল", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "আইনি", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "আমাদের সাথে যোগাযোগ করুন", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "বাগ রিপোর্ট", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "শর্তাবলী", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "গোপনীয়তা নীতি", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "প্রতিক্রিয়া", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "অ্যাপকে রেট দিন", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "বন্ধুদের সাথে শেয়ার করুন", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "লগ আউট করুন", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "অন্যদের চিকিৎসা সেবা পেতে সাহায্য করুন", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "ব্যবহারকারী", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "প্রিমিয়াম বৈশিষ্ট্য\nডক্টরিনার সাথে", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "পান", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "আমাদের সাথে যোগ দিন", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "অ্যাপ সংস্করণ:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "বার্তা লিখুন", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "ফাইল সংযুক্ত করুন", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "বার্তা লিখুন", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "বার্তা পাঠান", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "বার্তাগুলি আনতে ব্যর্থ হয়েছে৷", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "বার্তাগুলি আনতে ব্যর্থ হয়েছে৷ আবার চেষ্টা করুন.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "বার্তা আনুন", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "কোন বার্তা উপলব্ধ নেই.\nকথোপকথন শুরু করতে একটি বার্তা পাঠান.", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "সংযুক্ত", - "@chatListHasConnection": {}, - "chatListNoConnection": "সংযোগ নেই", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "অনুসন্ধান করুন", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "প্রিয়", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "ডাউনলোড করুন", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "পিডিএফ প্রিন্ট করুন", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "বন্ধুদের সাথে শেয়ার করুন", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "নতুন আড্ডা", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "চ্যাট নির্বাচন করুন", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "ড্রয়ার দেখান", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "কোন চ্যাট উপলব্ধ. অনুগ্রহ করে রিফ্রেশ করুন বা একটি নতুন চ্যাট তৈরি করুন৷", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "চ্যাট রিফ্রেশ করুন", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "নতুন চ্যাট তৈরি করুন", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "পাঠ্য অনুলিপি করুন", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "টাইপ করা হচ্ছে...\nমাত্র এক মুহূর্ত...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "আপনার ইন্টারনেট সংযোগ পরীক্ষা করুন", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "বার্তাটি ইতিমধ্যেই প্রক্রিয়া করা হচ্ছে।", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "বার্তাটি খুব দীর্ঘ৷", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "সংযুক্তি সরান", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "বার্তা প্রক্রিয়া করতে ব্যর্থ হয়েছে", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "PDF এ রপ্তানি করুন", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "ফটো", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "ক্যামেরা", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "ফাইল", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "আশা করি যে সাহায্য করেছে! এই ব্যাখ্যা আপনার জন্য দরকারী ছিল?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "হ্যাঁ, এটা সব ভাল!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "চ্যাট ইতিহাস", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "চ্যাটের সারাংশ পুনরুদ্ধার করতে ব্যর্থ হয়েছে৷", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "চ্যাটের সারাংশ ক্লিপবোর্ডে কপি করা হয়েছে", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_de.arb b/example/lib/src/arbs/chat/example_de.arb deleted file mode 100644 index b2c5ab0..0000000 --- a/example/lib/src/arbs/chat/example_de.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "de", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Chat", - "@title": {}, - "drawerTooltipNotifications": "Benachrichtigungen", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "Hilfe", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "Schließen", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "Konto", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "Profil", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "Kontoeinstellungen", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "Spenden zur Unterstützung", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "Abonnement", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "Chats", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "Chatverlauf", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "Anhänge", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "Anleitung", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "Video-Tutorials", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "Rechtliches", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "Kontaktieren Sie uns", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "Fehlermeldung ", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "Allgemeine Geschäftsbedingungen", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "Datenschutzrichtlinie", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "Feedback", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "App bewerten", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "Mit Freunden teilen", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "Abmelden", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "Anderen helfen, medizinische Versorgung zu erhalten", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "Benutzer", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Premium-Funktionen mit Doctorina", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "Holen", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "Mach mit", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "Version:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "Nachricht eingeben", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "Datei anhängen", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "Nachricht diktieren", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "Nachricht senden", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "Nachrichten konnten nicht abgerufen werden", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Nachrichten konnten nicht abgerufen werden. Bitte versuchen Sie es erneut.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "Nachrichten abrufen", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "Keine Nachrichten verfügbar. Bitte senden Sie eine Nachricht, um das Gespräch zu beginnen.", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "Verbunden", - "@chatListHasConnection": {}, - "chatListNoConnection": "Keine Verbindung", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "Suchen", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "Favoriten", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "Herunterladen", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "PDF drucken", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "Mit Freunden teilen", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "Neuer Chat", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "Chat auswählen", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "Schublade anzeigen", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "Keine Chats verfügbar. Bitte aktualisieren Sie oder starten Sie einen neuen Chat.", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "Chats aktualisieren", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "Neuen Chat erstellen", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "Text kopieren", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "Schreibt...\nEinen Moment...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "Bitte überprüfen Sie Ihre Internetverbindung.", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "Die Nachricht wird bereits verarbeitet.", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "Die Nachricht ist zu lang.", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "Anhang entfernen.", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "Fehler beim Verarbeiten der Nachricht.", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "Als PDF exportieren", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "Fotos", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "Kamera", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "Dateien", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "Hoffe, das hat geholfen! War diese Erklärung für Sie hilfreich?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "Ja, alles gut!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "Chatverlauf", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "Chat-Zusammenfassung konnte nicht abgerufen werden", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "Chat-Zusammenfassung in die Zwischenablage kopiert", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_en.arb b/example/lib/src/arbs/chat/example_en.arb deleted file mode 100644 index efe8b6c..0000000 --- a/example/lib/src/arbs/chat/example_en.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "en", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Chat", - "@title": {}, - "drawerTooltipNotifications": "Notifications", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "Help", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "Close", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "Account", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "Profile", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "Account Settings", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "Donate to Support", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "Subscription", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "Chats", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "Chat History", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "Attached Documents", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "How to Use", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "Video Tutorials", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "Legal", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "Contact Us", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "Bug Report", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "Terms & Conditions", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "Privacy Policy", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "Feedback", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "Rate App", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "Share with Friends", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "Log Out", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "Help others receive medical care", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "User", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Premium Features\nwith Doctorina", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "Get", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "Join Us", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "App version:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "Enter message", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "Attach file", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "Dictate message", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "Send message", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "Failed to fetch messages", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Failed to fetch messages. Please try again.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "Fetch messages", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "No messages available.\nPlease send a message to start the conversation.", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "Connected", - "@chatListHasConnection": {}, - "chatListNoConnection": "No connection", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "Search", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "Favorites", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "Download", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "Print PDF", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "Share with Friends", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "New chat", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "Select Chat", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "Show drawer", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "No chats available. Please refresh or create a new chat.", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "Refresh chats", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "Create new chat", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "Copy text", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "Typing...\nJust a moment...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "Please check your internet connection", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "The message is already being processed right now.", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "Message is too long.", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "Remove attachment", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "Failed to process message", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "Export to PDF", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "Photos", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "Camera", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "Files", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "Hope that helped! Was this explanation useful to you?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "Yes, it's all good!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "Chat History", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "Failed to retrieve chat summary", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "Chat summary copied to clipboard", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_es.arb b/example/lib/src/arbs/chat/example_es.arb deleted file mode 100644 index c4b26f5..0000000 --- a/example/lib/src/arbs/chat/example_es.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "es", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Chat", - "@title": {}, - "drawerTooltipNotifications": "Notificaciones", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "Ayuda", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "Cerrar", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "Cuenta", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "Perfil", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "Configuración de la cuenta", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "Donar para apoyar", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "Suscripción", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "Chats", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "Historial de chats", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "Documentos adjuntos", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "Cómo usar", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "Tutoriales en video", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "Legal", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "Contáctanos", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "Reporte de errores", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "Términos y condiciones", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "Política de privacidad", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "Comentarios", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "Calificar la aplicación", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "Compartir con amigos", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "Cerrar sesión", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "Ayuda a otros a recibir atención médica", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "Usuario", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Características premium con Doctorina", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "Obtener", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "Únete a nosotros", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "Versión:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "Escribir mensaje", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "Adjuntar archivo", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "Dictar mensaje", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "Enviar mensaje", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "Error al obtener los mensajes", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Error al obtener los mensajes. Por favor, inténtalo de nuevo.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "Obtener mensajes", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "No hay mensajes disponibles. Por favor, envía un mensaje para iniciar la conversación.", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "Conectado", - "@chatListHasConnection": {}, - "chatListNoConnection": "Sin conexión", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "Buscar", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "Favoritos", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "Descargar", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "Imprimir PDF", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "Compartir con amigos", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "Nuevo chat", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "Seleccionar chat", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "Mostrar cajón", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "No hay chats disponibles. Por favor, actualiza o crea un nuevo chat.", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "Actualizar chats", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "Crear nuevo chat", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "Copiar texto", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "Escribiendo...\nUn momento...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "Por favor, revisa tu conexión a internet.", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "El mensaje ya está siendo procesado en este momento.", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "El mensaje es demasiado largo.", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "Eliminar archivo adjunto.", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "Error al procesar el mensaje.", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "Exportar a PDF", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "Fotos", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "Cámara", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "Archivos", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "¡Espero que te haya servido! ¿Te resultó útil esta explicación?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "¡Sí, está todo bien!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "Historial de chat", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "No se pudo recuperar el resumen del chat", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "Resumen del chat copiado al portapapeles", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_fr.arb b/example/lib/src/arbs/chat/example_fr.arb deleted file mode 100644 index 643a1ef..0000000 --- a/example/lib/src/arbs/chat/example_fr.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "fr", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Chat", - "@title": {}, - "drawerTooltipNotifications": "Notifications", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "Aide", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "Fermer", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "Compte", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "Profil", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "Paramètres du compte", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "Faites un don pour soutenir", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "Abonnement", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "Chats", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "Historique des discussions", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "Documents joints", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "Comment utiliser", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "Tutoriels vidéo", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "Légal", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "Contactez-nous", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "Rapport de bogue", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "Conditions générales", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "politique de confidentialité", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "Retour", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "Évaluer l'application", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "Partager avec des amis", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "Se déconnecter", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "Aider les autres à recevoir des soins médicaux", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "Utilisateur", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Fonctionnalités Premium\navec Doctorina", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "Obtenir", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "Rejoignez-nous", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "Version de l'application :", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "Entrez un message", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "Joindre un fichier", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "Dicter un message", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "Envoyer un message", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "Échec de la récupération des messages", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Échec de la récupération des messages. Veuillez réessayer.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "Récupérer des messages", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "Aucun message disponible. Veuillez envoyer un message pour démarrer la conversation.", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "Connecté", - "@chatListHasConnection": {}, - "chatListNoConnection": "Aucune connexion", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "Recherche", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "Favoris", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "Télécharger", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "Imprimer PDF", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "Partager avec des amis", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "Nouveau chat", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "Sélectionnez Chat", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "Afficher le tiroir", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "Aucun chat disponible. Veuillez actualiser la page ou créer un nouveau chat.", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "Actualiser les discussions", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "Créer un nouveau chat", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "Copier le texte", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "Je tape...\nUn instant...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "Veuillez vérifier votre connexion Internet", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "Le message est déjà en cours de traitement.", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "Le message est trop long.", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "Supprimer la pièce jointe", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "Échec du traitement du message", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "Exporter au format PDF", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "Photos", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "Caméra", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "Fichiers", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "J'espère que cela vous a aidé ! Cette explication vous a-t-elle été utile ?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "Oui, tout va bien !", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "Historique des discussions", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "Échec de la récupération du résumé de la discussion", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "Résumé de la discussion copié dans le presse-papiers", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_hi.arb b/example/lib/src/arbs/chat/example_hi.arb deleted file mode 100644 index 403377d..0000000 --- a/example/lib/src/arbs/chat/example_hi.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "hi", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "बात करना", - "@title": {}, - "drawerTooltipNotifications": "सूचनाएं", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "मदद", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "बंद करना", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "खाता", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "प्रोफ़ाइल", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "अकाउंट सेटिंग", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "समर्थन के लिए दान करें", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "सदस्यता", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "चैट", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "चैट का इतिहास", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "संलग्न दस्तावेज़", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "का उपयोग कैसे करें", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "वीडियो ट्यूटोरियल", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "कानूनी", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "हमसे संपर्क करें", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "बग रिपोर्ट", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "नियम एवं शर्तें", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "गोपनीयता नीति", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "प्रतिक्रिया", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "एप्प का मूल्यांकन", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "दोस्तों के साथ बांटें", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "लॉग आउट", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "दूसरों को चिकित्सा देखभाल प्राप्त करने में सहायता करें", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "उपयोगकर्ता", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "प्रीमियम सुविधाएँ\nडॉक्टरिना के साथ", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "पाना", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "हमसे जुड़ें", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "एप्लिकेशन वेरीज़न:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "संदेश दर्ज करें", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "फ़ाइल जोड़ें", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "संदेश लिखवाएँ", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "मेसेज भेजें", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "संदेश प्राप्त करने में विफल", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "संदेश प्राप्त करने में विफल. कृपया पुनः प्रयास करें.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "संदेश प्राप्त करें", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "कोई संदेश उपलब्ध नहीं है।\nकृपया बातचीत शुरू करने के लिए एक संदेश भेजें।", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "जुड़े हुए", - "@chatListHasConnection": {}, - "chatListNoConnection": "कोई कनेक्शन नहीं", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "खोज", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "पसंदीदा", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "डाउनलोड करना", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "पीडीएफ प्रिंट करें", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "दोस्तों के साथ बांटें", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "नई चैट", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "चैट चुनें", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "दराज दिखाएँ", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "कोई चैट उपलब्ध नहीं है। कृपया रीफ़्रेश करें या नई चैट बनाएँ।", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "चैट रीफ़्रेश करें", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "नई चैट बनाएँ", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "पाठ की प्रतिलिपि बनाएँ", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "टाइप कर रहा हूँ...\nज़रा रुकिए...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "कृपया अपने इंटरनेट कनेक्शन की जाँच करें", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "संदेश पर अभी कार्रवाई चल रही है।", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "संदेश बहुत लंबा है.", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "अनुलग्नक हटाएँ", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "संदेश संसाधित करने में विफल", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "PDF में निर्यात करें", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "तस्वीरें", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "कैमरा", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "फ़ाइलें", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "उम्मीद है इससे मदद मिली होगी! क्या यह स्पष्टीकरण आपके लिए उपयोगी था?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "हाँ, सब ठीक है!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "चैट का इतिहास", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "चैट सारांश प्राप्त करने में विफल", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "चैट सारांश क्लिपबोर्ड पर कॉपी किया गया", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_it.arb b/example/lib/src/arbs/chat/example_it.arb deleted file mode 100644 index ce4d7b7..0000000 --- a/example/lib/src/arbs/chat/example_it.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "it", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Chiacchierata", - "@title": {}, - "drawerTooltipNotifications": "Notifiche", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "Aiuto", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "Vicino", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "Account", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "Profilo", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "Impostazioni dell'account", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "Dona per sostenere", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "Sottoscrizione", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "Chat", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "Cronologia chat", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "Documenti allegati", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "Come usare", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "Video tutorial", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "Legal", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "Contattaci", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "Segnalazione di bug", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "Termini e condizioni", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "politica sulla riservatezza", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "Feedback", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "Valuta l'app", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "Condividi con gli amici", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "Disconnetti", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "Aiuta gli altri a ricevere assistenza medica", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "Utente", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Funzionalità Premium\ncon Doctorina", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "Ottenere", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "Unisciti a noi", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "Versione dell'app:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "Inserisci il messaggio", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "Allega file", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "Dettare il messaggio", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "Invia messaggio", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "Impossibile recuperare i messaggi", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Impossibile recuperare i messaggi. Riprova.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "Recupera i messaggi", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "Nessun messaggio disponibile.\nInvia un messaggio per iniziare la conversazione.", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "Collegato", - "@chatListHasConnection": {}, - "chatListNoConnection": "Nessuna connessione", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "Ricerca", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "Preferiti", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "Scaricamento", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "Stampa PDF", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "Condividi con gli amici", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "Nuova chat", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "Seleziona Chat", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "Mostra cassetto", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "Nessuna chat disponibile. Aggiorna la chat o creane una nuova.", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "Aggiorna le chat", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "Crea una nuova chat", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "Copia il testo", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "Sto scrivendo...\nUn attimo...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "Si prega di controllare la connessione Internet", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "Il messaggio è già in fase di elaborazione.", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "Il messaggio è troppo lungo.", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "Rimuovi allegato", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "Impossibile elaborare il messaggio", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "Esporta in PDF", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "Foto", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "Telecamera", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "File", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "Spero che ti sia stato utile! Questa spiegazione ti è stata utile?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "Sì, va tutto bene!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "Cronologia chat", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "Impossibile recuperare il riepilogo della chat", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "Riepilogo della chat copiato negli appunti", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_ko.arb b/example/lib/src/arbs/chat/example_ko.arb deleted file mode 100644 index 6e5ee3e..0000000 --- a/example/lib/src/arbs/chat/example_ko.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "ko", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "채팅", - "@title": {}, - "drawerTooltipNotifications": "알림", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "돕다", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "닫다", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "계정", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "윤곽", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "계정 설정", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "지원에 기부하세요", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "신청", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "채팅", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "채팅 기록", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "첨부 문서", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "사용 방법", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "비디오 튜토리얼", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "합법적인", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "문의하기", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "버그 리포트", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "이용 약관", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "개인정보 보호정책", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "피드백", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "앱 평가", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "친구들과 공유하세요", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "로그아웃", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "다른 사람들이 의료 서비스를 받을 수 있도록 도와주세요", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "사용자", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "프리미엄 기능\nDoctorina와 함께", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "얻다", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "우리와 함께하세요", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "앱 버전:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "메시지 입력", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "파일 첨부", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "메시지 받아쓰기", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "메시지 보내기", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "메시지를 가져오지 못했습니다", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "메시지를 가져오지 못했습니다. 다시 시도해 주세요.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "메시지 가져오기", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "사용 가능한 메시지가 없습니다.\n대화를 시작하려면 메시지를 보내주세요.", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "연결됨", - "@chatListHasConnection": {}, - "chatListNoConnection": "연결 없음", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "찾다", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "즐겨찾기", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "다운로드", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "PDF 인쇄", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "친구들과 공유하세요", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "새로운 채팅", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "채팅 선택", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "서랍 표시", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "채팅이 없습니다. 새로고침하거나 새 채팅을 만들어 주세요.", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "채팅 새로고침", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "새로운 채팅 만들기", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "텍스트 복사", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "타이핑 중...\n잠깐만요...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "인터넷 연결을 확인해 주세요", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "해당 메시지는 현재 처리 중입니다.", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "메시지가 너무 깁니다.", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "첨부 파일 제거", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "메시지 처리에 실패했습니다", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "PDF로 내보내기", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "사진", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "카메라", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "파일", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "도움이 되었기를 바랍니다! 이 설명이 도움이 되셨나요?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "네, 다 괜찮아요!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "채팅 기록", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "채팅 요약을 검색하지 못했습니다.", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "채팅 요약이 클립보드에 복사되었습니다.", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_pt.arb b/example/lib/src/arbs/chat/example_pt.arb deleted file mode 100644 index 07faa80..0000000 --- a/example/lib/src/arbs/chat/example_pt.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "pt", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Bater papo", - "@title": {}, - "drawerTooltipNotifications": "Notificações", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "Ajuda", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "Fechar", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "Conta", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "Perfil", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "Configurações de Conta", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "Doe para apoiar", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "Subscrição", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "Bate-papos", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "Histórico de bate-papo", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "Documentos anexados", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "Como usar", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "Tutoriais em vídeo", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "Jurídico", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "Contate-nos", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "Relatório de bug", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "Termos e Condições", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "política de Privacidade", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "Opinião", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "Avalie o aplicativo", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "Compartilhe com amigos", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "Sair", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "Ajude outras pessoas a receber cuidados médicos", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "Usuário", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Recursos Premium\ncom Doctorina", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "Pegar", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "Junte-se a nós", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "Versão do aplicativo:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "Digite a mensagem", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "Anexar arquivo", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "Ditar mensagem", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "Enviar mensagem", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "Falha ao buscar mensagens", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Falha ao buscar mensagens. Tente novamente.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "Buscar mensagens", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "Nenhuma mensagem disponível.\nEnvie uma mensagem para iniciar a conversa.", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "Conectado", - "@chatListHasConnection": {}, - "chatListNoConnection": "Sem conexão", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "Procurar", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "Favoritos", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "Download", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "Imprimir PDF", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "Compartilhe com amigos", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "Novo bate-papo", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "Selecione Bate-papo", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "Mostrar gaveta", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "Nenhum chat disponível. Atualize ou crie um novo chat.", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "Atualizar chats", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "Criar novo chat", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "Copiar texto", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "Digitando...\nSó um momento...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "Por favor, verifique sua conexão com a internet", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "A mensagem já está sendo processada neste momento.", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "A mensagem é muito longa.", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "Remover anexo", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "Falha ao processar a mensagem", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "Exportar para PDF", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "Fotos", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "Câmera", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "Arquivos", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "Espero ter ajudado! Esta explicação foi útil para você?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "Sim, está tudo bem!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "Histórico de bate-papo", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "Falha ao recuperar o resumo do bate-papo", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "Resumo do bate-papo copiado para a área de transferência", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_pt_BR.arb b/example/lib/src/arbs/chat/example_pt_BR.arb deleted file mode 100644 index a410f32..0000000 --- a/example/lib/src/arbs/chat/example_pt_BR.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "pt_BR", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Bater papo", - "@title": {}, - "drawerTooltipNotifications": "Notificações", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "Ajuda", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "Fechar", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "Conta", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "Perfil", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "Configurações de Conta", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "Doe para apoiar", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "Subscrição", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "Bate-papos", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "Histórico de bate-papo", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "Documentos anexados", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "Como usar", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "Tutoriais em vídeo", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "Jurídico", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "Contate-nos", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "Relatório de bug", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "Termos e Condições", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "política de Privacidade", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "Opinião", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "Avalie o aplicativo", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "Compartilhe com amigos", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "Sair", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "Ajude outras pessoas a receber cuidados médicos", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "Usuário", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Recursos Premium\ncom Doctorina", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "Pegar", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "Junte-se a nós", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "Versão do aplicativo:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "Digite a mensagem", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "Anexar arquivo", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "Ditar mensagem", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "Enviar mensagem", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "Falha ao buscar mensagens", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Falha ao buscar mensagens. Tente novamente.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "Buscar mensagens", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "Nenhuma mensagem disponível.\nEnvie uma mensagem para iniciar a conversa.", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "Conectado", - "@chatListHasConnection": {}, - "chatListNoConnection": "Sem conexão", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "Procurar", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "Favoritos", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "Download", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "Imprimir PDF", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "Compartilhe com amigos", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "Novo bate-papo", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "Selecione Bate-papo", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "Mostrar gaveta", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "Nenhum chat disponível. Atualize ou crie um novo chat.", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "Atualizar chats", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "Criar novo chat", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "Copiar texto", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "Digitando...\nSó um momento...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "Por favor, verifique sua conexão com a internet", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "A mensagem já está sendo processada neste momento.", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "A mensagem é muito longa.", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "Remover anexo", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "Falha ao processar a mensagem", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "Exportar para PDF", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "Fotos", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "Câmera", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "Arquivos", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "Espero ter ajudado! Esta explicação foi útil para você?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "Sim, está tudo bem!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "Histórico de bate-papo", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "Falha ao recuperar o resumo do bate-papo", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "Resumo do bate-papo copiado para a área de transferência", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_ru.arb b/example/lib/src/arbs/chat/example_ru.arb deleted file mode 100644 index 57e2db7..0000000 --- a/example/lib/src/arbs/chat/example_ru.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "ru", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Чат", - "@title": {}, - "drawerTooltipNotifications": "Уведомления", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "Помощь", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "Закрыть", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "Аккаунт", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "Профиль", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "Настройки аккаунта", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "Поддержать проект", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "Подписка", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "Чаты", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "История чатов", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "Прикреплённые файлы", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "Как пользоваться", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "Видеоинструкция", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "Правовая информация", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "Связаться с нами", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "Отчёт об ошибке", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "Правила и условия", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "О конфиденциальности", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "Обратная связь", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "Оцените нас", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "Поделиться с друзьями", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "Выйти", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "Помогите другим получить медицинскую помощь", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "Пользователь ", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Премиум-функции с Doctorina", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "Получить", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "Присоединяйтесь к нам", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "Версия приложения:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "Введите сообщение", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "Прикрепить файл", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "Надиктовать сообщение", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "Отправить сообщение", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "Не удалось получить сообщения", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Не удалось получить сообщения. Пожалуйста, попробуйте ещё раз.", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "Получить сообщения", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "No messages available.\nPlease send a message to start the conversation.", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "Подключено", - "@chatListHasConnection": {}, - "chatListNoConnection": "Нет подключения", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "Поиск", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "Избранное", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "Скачать", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "Печать PDF", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "Поделиться с друзьями", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "Новый чат", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "Выбрать чат", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "Открыть панель меню", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "Чаты отсутствуют. Обновите или создайте новый чат.", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "Refresh chats", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "Обновить чаты", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "Скопировать текст", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "Печатает...\nЕще момент...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "Пожалуйста, проверьте свое интернет-соединение.", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "Сообщение уже обрабатывается.", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "Сообщение слишком длинное.", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "Удалить вложение.", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "Не удалось обработать сообщение.", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "Экспортировать в PDF", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "Фотографии", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "Камера", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "Файлы", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "Надеюсь, это помогло! Было ли это объяснение вам полезным?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "Да, все хорошо!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "История чата", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "Не удалось получить сводку чата", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "Сводка чата скопирована в буфер обмена", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_zh.arb b/example/lib/src/arbs/chat/example_zh.arb deleted file mode 100644 index ff3569c..0000000 --- a/example/lib/src/arbs/chat/example_zh.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "zh", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "聊天", - "@title": {}, - "drawerTooltipNotifications": "通知", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "帮助", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "关闭", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "帐户", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "轮廓", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "帐户设置", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "捐款支持", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "订阅", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "聊天", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "聊天记录", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "附件", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "如何使用", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "视频教程", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "合法的", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "联系我们", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "错误报告", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "条款和条件", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "隐私政策", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "反馈", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "评价应用程序", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "与朋友分享", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "登出", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "帮助他人获得医疗服务", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "用户", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Doctorina 的高级功能", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "得到", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "加入我们", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "应用程序版本:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "输入消息", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "附加文件", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "口述信息", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "发送消息", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "无法获取消息", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "无法获取消息。请重试。", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "获取消息", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "没有可用的消息。\n请发送消息以开始对话。", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "已连接", - "@chatListHasConnection": {}, - "chatListNoConnection": "无连接", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "搜索", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "收藏夹", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "下载", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "打印PDF", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "与朋友分享", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "新聊天", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "选择“聊天”", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "显示抽屉", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "没有可用的聊天。请刷新或创建新的聊天。", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "刷新聊天", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "创建新聊天", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "复制文本", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "正在输入...\n请稍等...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "请检查您的互联网连接", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "该消息目前正在处理中。", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "消息太长。", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "删除附件", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "无法处理消息", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "导出为 PDF", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "照片", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "相机", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "文件", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "希望以上内容对您有所帮助!这个解释对您有帮助吗?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "是的,一切都很好!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "聊天记录", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "无法检索聊天摘要", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "聊天摘要已复制到剪贴板", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/chat/example_zh_CN.arb b/example/lib/src/arbs/chat/example_zh_CN.arb deleted file mode 100644 index 4c9c34c..0000000 --- a/example/lib/src/arbs/chat/example_zh_CN.arb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "@@locale": "zh_CN", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "聊天", - "@title": {}, - "drawerTooltipNotifications": "通知", - "@drawerTooltipNotifications": {}, - "drawerTooltipHelp": "帮助", - "@drawerTooltipHelp": {}, - "drawerTooltipClose": "关闭", - "@drawerTooltipClose": {}, - "drawerSectionTitleAccount": "帐户", - "@drawerSectionTitleAccount": {}, - "drawerSectionProfile": "轮廓", - "@drawerSectionProfile": {}, - "drawerSectionAccountSettings": "帐户设置", - "@drawerSectionAccountSettings": {}, - "drawerSectionDonateToSupport": "捐款支持", - "@drawerSectionDonateToSupport": {}, - "drawerSectionSubscription": "订阅", - "@drawerSectionSubscription": {}, - "drawerSectionTitleChats": "聊天", - "@drawerSectionTitleChats": {}, - "drawerSectionChatHistory": "聊天记录", - "@drawerSectionChatHistory": {}, - "drawerSectionAttachedDocuments": "附件", - "@drawerSectionAttachedDocuments": {}, - "drawerSectionTitleHowToUse": "如何使用", - "@drawerSectionTitleHowToUse": {}, - "drawerSectionVideoTutorials": "视频教程", - "@drawerSectionVideoTutorials": {}, - "drawerSectionTitleLegal": "合法的", - "@drawerSectionTitleLegal": {}, - "drawerSectionContactUs": "联系我们", - "@drawerSectionContactUs": {}, - "drawerSectionBugReport": "错误报告", - "@drawerSectionBugReport": {}, - "drawerSectionTermsAndConditions": "条款和条件", - "@drawerSectionTermsAndConditions": {}, - "drawerSectionPrivacyPolicy": "隐私政策", - "@drawerSectionPrivacyPolicy": {}, - "drawerSectionTitleFeedback": "反馈", - "@drawerSectionTitleFeedback": {}, - "drawerSectionRateApp": "评价应用程序", - "@drawerSectionRateApp": {}, - "drawerSectionShareWithFriends": "与朋友分享", - "@drawerSectionShareWithFriends": {}, - "drawerButtonLogOut": "登出", - "@drawerButtonLogOut": {}, - "drawerBannerHelpOthersReceiveMedicalCare": "帮助他人获得医疗服务", - "@drawerBannerHelpOthersReceiveMedicalCare": {}, - "drawerPlaceholderUser": "用户", - "@drawerPlaceholderUser": { - "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." - }, - "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Doctorina 的高级功能", - "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, - "drawerSubscriptionButtonGetPremiumFeatures": "得到", - "@drawerSubscriptionButtonGetPremiumFeatures": {}, - "drawerLabelJoinUs": "加入我们", - "@drawerLabelJoinUs": { - "description": "Надпись перед иконками социальных сетей" - }, - "drawerTooltipVersion": "应用程序版本:", - "@drawerTooltipVersion": { - "description": "Подсказка при наведении на версию приложения" - }, - "chatInputHintEnterMessage": "输入消息", - "@chatInputHintEnterMessage": { - "description": "Подсказка в поле ввода чата" - }, - "chatInputTooltipAttachFile": "附加文件", - "@chatInputTooltipAttachFile": {}, - "chatInputTooltipDictateMessage": "口述信息", - "@chatInputTooltipDictateMessage": {}, - "chatInputTooltipSendMessage": "发送消息", - "@chatInputTooltipSendMessage": {}, - "chatListSnackBarErrorFailedToFetchMessages": "无法获取消息", - "@chatListSnackBarErrorFailedToFetchMessages": {}, - "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "无法获取消息。请重试。", - "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, - "chatListTooltipFetchMessages": "获取消息", - "@chatListTooltipFetchMessages": {}, - "chatListLabelNoMessagesAvailable": "没有可用的消息。\n请发送消息以开始对话。", - "@chatListLabelNoMessagesAvailable": {}, - "chatListHasConnection": "已连接", - "@chatListHasConnection": {}, - "chatListNoConnection": "无连接", - "@chatListNoConnection": {}, - "chatActionButtonTooltipSearch": "搜索", - "@chatActionButtonTooltipSearch": {}, - "chatActionButtonTooltipFavorites": "收藏夹", - "@chatActionButtonTooltipFavorites": {}, - "chatActionButtonTooltipDownload": "下载", - "@chatActionButtonTooltipDownload": {}, - "chatActionButtonTooltipPrintPdf": "打印PDF", - "@chatActionButtonTooltipPrintPdf": {}, - "chatActionButtonTooltipShareWithFriends": "与朋友分享", - "@chatActionButtonTooltipShareWithFriends": {}, - "chatActionButtonTooltipNewChat": "新聊天", - "@chatActionButtonTooltipNewChat": {}, - "chatActionButtonTooltipChatList": "选择“聊天”", - "@chatActionButtonTooltipChatList": {}, - "chatActionButtonTooltipShowDrawer": "显示抽屉", - "@chatActionButtonTooltipShowDrawer": { - "description": "Leading кнопка AppBar открывающая панель Drawer'а" - }, - "chatLabelNoChatAvailableRefresh": "没有可用的聊天。请刷新或创建新的聊天。", - "@chatLabelNoChatAvailableRefresh": {}, - "chatButtonRefreshChats": "刷新聊天", - "@chatButtonRefreshChats": {}, - "chatButtonCreateNewChat": "创建新聊天", - "@chatButtonCreateNewChat": {}, - "chatContextMenuCopyMessage": "复制文本", - "@chatContextMenuCopyMessage": {}, - "chatStatusProcessingMessages": "正在输入...\n请稍等...", - "@chatStatusProcessingMessages": { - "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " - }, - "chatNoConnectionLabel": "请检查您的互联网连接", - "@chatNoConnectionLabel": {}, - "chatErrorMessageAlreadyProcessed": "该消息目前正在处理中。", - "@chatErrorMessageAlreadyProcessed": {}, - "chatErrorMessageTooLong": "消息太长。", - "@chatErrorMessageTooLong": {}, - "chatRemoveAttachmentTooltip": "删除附件", - "@chatRemoveAttachmentTooltip": {}, - "chatStatusFailedMessage": "无法处理消息", - "@chatStatusFailedMessage": { - "description": "Сообщение отображаемое на статус-ошибку с BE." - }, - "chatActionButtonTooltipExportSummary": "导出为 PDF", - "@chatActionButtonTooltipExportSummary": { - "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" - }, - "chatPickerPhotos": "照片", - "@chatPickerPhotos": { - "description": "Надпись в меню для выбора из галлереи" - }, - "chatPickerCamera": "相机", - "@chatPickerCamera": { - "description": "Надпись в меню для прикрепления фото с помощью камеры" - }, - "chatPickerFiles": "文件", - "@chatPickerFiles": { - "description": "Надпись в меню для выбора файлов" - }, - "chatRecommendationYIAG": "希望以上内容对您有所帮助!这个解释对您有帮助吗?", - "@chatRecommendationYIAG": {}, - "chatRecommendationButtonDonate": "是的,一切都很好!", - "@chatRecommendationButtonDonate": { - "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" - }, - "chatHistoryTitle": "聊天记录", - "@chatHistoryTitle": {}, - "failedToRetrieveChatSummary": "无法检索聊天摘要", - "@failedToRetrieveChatSummary": {}, - "chatSummaryCopiedToClipboard": "聊天摘要已复制到剪贴板", - "@chatSummaryCopiedToClipboard": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_ar.arb b/example/lib/src/arbs/errors/example_ar.arb deleted file mode 100644 index 39c94b7..0000000 --- a/example/lib/src/arbs/errors/example_ar.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "ar", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "حدث خطأ", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "حدث خطأ غير متوقع", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{Password should be at least 6 characters} invalidEmailOrPhoneNumberError{Please provide valid email or a phone number in the international format. Examples: me@example.com and +1234567890987} invalidEmailError{Email is not valid} operationNotAllowedError{Operation is not allowed} weakPasswordError{Password is too weak} userTokenExpiredError{User token expired} invalidPhoneNumberError{Please provide phone numbers in the international format, starting with + and the country code.} invalidActionCodeError{Action code is not valid} networkRequestFailedError{Network request failed} tooManyRequestsError{Too many requests} acceptTermsAndConditionsError{Please accept the terms and conditions and acknowledge the privacy policy.} acceptAIConsentError{Please acknowledge that consultations are with an AI and not a licensed medical professional.} emailOrPhoneError{Email or phone error} passwordError{Password error} unknownError{Unknown error} googleSSOError{Google SSO error} emailAlreadyInUse{The email address is already in use by another account.} invalidCredentialError{Invalid credentials} invalidAppCredentialError{Invalid app credentials} invalidVerificationCodeError{Invalid verification code} other{Unknown error}}", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "تم إرسال تقرير الخطأ بنجاح.", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_bn.arb b/example/lib/src/arbs/errors/example_bn.arb deleted file mode 100644 index 29a75e3..0000000 --- a/example/lib/src/arbs/errors/example_bn.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "bn", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "একটি ত্রুটি ঘটেছে", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "একটি অপ্রত্যাশিত ত্রুটি ঘটেছে৷", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{পাসওয়ার্ড কমপক্ষে ৬ অক্ষরের হতে হবে} invalidEmailOrPhoneNumberError{সঠিক ইমেইল বা আন্তর্জাতিক ফরম্যাটে ফোন নম্বর দিন। উদাহরণ: me@example.com এবং +1234567890987} invalidEmailError{ইমেইল বৈধ নয়} operationNotAllowedError{অপারেশন অনুমোদিত নয়} weakPasswordError{পাসওয়ার্ড খুব দুর্বল} userTokenExpiredError{ব্যবহারকারীর টোকেনের মেয়াদ শেষ হয়েছে} invalidPhoneNumberError{আন্তর্জাতিক ফরম্যাটে, + এবং দেশের কোড দিয়ে শুরু এমন ফোন নম্বর দিন।} invalidActionCodeError{অ্যাকশন কোড বৈধ নয়} networkRequestFailedError{নেটওয়ার্ক অনুরোধ ব্যর্থ হয়েছে} tooManyRequestsError{অনুরোধ খুব বেশি} acceptTermsAndConditionsError{শর্তাবলীতে সম্মতি দিন এবং গোপনীয়তা নীতিমালা স্বীকার করুন।} acceptAIConsentError{অনুগ্রহ করে নিশ্চিত করুন যে পরামর্শটি একটি AI এর সাথে, কোনো লাইসেন্সধারী চিকিৎসক নন।} emailOrPhoneError{ইমেইল বা ফোন ত্রুটি} passwordError{পাসওয়ার্ড ত্রুটি} unknownError{অজানা ত্রুটি} googleSSOError{Google SSO ত্রুটি} emailAlreadyInUse{এই ইমেইল ঠিকানাটি ইতিমধ্যেই অন্য একটি অ্যাকাউন্টে ব্যবহৃত হচ্ছে।} invalidCredentialError{অবৈধ ক্রেডেনশিয়াল} invalidAppCredentialError{অ্যাপের ক্রেডেনশিয়াল অবৈধ} invalidVerificationCodeError{যাচাইকরণ কোড অবৈধ} other{অজানা ত্রুটি}}\r\n", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "বাগ রিপোর্ট সফলভাবে পাঠানো হয়েছে।", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_de.arb b/example/lib/src/arbs/errors/example_de.arb deleted file mode 100644 index 95f66d9..0000000 --- a/example/lib/src/arbs/errors/example_de.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "de", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "Ein Fehler ist aufgetreten", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "Ein unerwarteter Fehler ist aufgetreten", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{Das Passwort muss mindestens 6 Zeichen lang sein} invalidEmailOrPhoneNumberError{Bitte geben Sie eine gültige E-Mail-Adresse oder eine Telefonnummer im internationalen Format an. Beispiele: me@example.com und +1234567890987.} invalidEmailError{E-Mail-Adresse ist nicht gültig} operationNotAllowedError{Operation ist nicht erlaubt} weakPasswordError{Passwort ist zu schwach} userTokenExpiredError{Benutzer-Token abgelaufen} invalidPhoneNumberError{Bitte geben Sie die Telefonnummern im internationalen Format an, beginnend mit „+“ und der Landesvorwahl.} invalidActionCodeError{Aktion-Code ist nicht gültig} networkRequestFailedError{Netzwerkanfrage fehlgeschlagen} tooManyRequestsError{Zu viele Anfragen} acceptTermsAndConditionsError{Bitte akzeptieren Sie die Geschäftsbedingungen und bestätigen Sie die Datenschutzrichtlinie.} acceptAIConsentError{Bitte erkennen Sie an, dass die Beratungen mit einer KI und nicht mit einem lizenzierten medizinischen Fachpersonal erfolgen.} emailOrPhoneError{E-Mail-Adresse oder Telefonnummer-Fehler} passwordError{Passwort-Fehler} unknownError{Unbekannter Fehler} googleSSOError{Google SSO-Fehler} emailAlreadyInUse{Die Telefonnummer ist bereits von einem anderen Konto verwendet} invalidCredentialError{Die Anmeldedaten sind ungültig.} invalidAppCredentialError{Ungültige Anmeldeinformationen der App} invalidVerificationCodeError{Ungültiger Bestätigungscode} other{Unbekannter Fehler}}", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "Fehlerbericht wurde erfolgreich gesendet.", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_en.arb b/example/lib/src/arbs/errors/example_en.arb deleted file mode 100644 index 464afb3..0000000 --- a/example/lib/src/arbs/errors/example_en.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "en", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "An error occurred", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "An unexpected error occurred", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{Password should be at least 6 characters} invalidEmailOrPhoneNumberError{Please provide valid email or a phone number in the international format. Examples: me@example.com and +1234567890987} invalidEmailError{Email is not valid} operationNotAllowedError{Operation is not allowed} weakPasswordError{Password is too weak} userTokenExpiredError{User token expired} invalidPhoneNumberError{Please provide phone numbers in the international format, starting with + and the country code.} invalidActionCodeError{Action code is not valid} networkRequestFailedError{Network request failed} tooManyRequestsError{Too many requests} acceptTermsAndConditionsError{Please accept the terms and conditions and acknowledge the privacy policy.} acceptAIConsentError{Please acknowledge that consultations are with an AI and not a licensed medical professional.} emailOrPhoneError{Email or phone error} passwordError{Password error} unknownError{Unknown error} googleSSOError{Google SSO error} emailAlreadyInUse{The email address is already in use by another account.} invalidCredentialError{Invalid credentials} invalidAppCredentialError{Invalid app credentials} invalidVerificationCodeError{Invalid verification code} other{Unknown error}}", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "Bug report sent successfully.", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_es.arb b/example/lib/src/arbs/errors/example_es.arb deleted file mode 100644 index f0f049c..0000000 --- a/example/lib/src/arbs/errors/example_es.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "es", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "Ocurrió un error", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "Ocurrió un error inesperado", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{La contraseña debe tener al menos 6 caracteres} invalidEmailOrPhoneNumberError{Por favor, proporcione un correo electrónico válido o un número de teléfono en formato internacional. Ejemplos: me@example.com y +1234567890987.} invalidEmailError{La dirección de correo electrónico no es válida} operationNotAllowedError{Operación no permitida} weakPasswordError{La contraseña es demasiado débil} userTokenExpiredError{El token de usuario ha expirado} invalidPhoneNumberError{Por favor, proporcione los números de teléfono en formato internacional, comenzando con + y el código de país.} invalidActionCodeError{El código de acción no es válido} networkRequestFailedError{Error de solicitud de red} tooManyRequestsError{Demasiadas solicitudes} acceptTermsAndConditionsError{Por favor, acepta los términos y condiciones y reconoce la política de privacidad.} acceptAIConsentError{Por favor, reconoce que consultas son con una IA y no con un profesional médico con licencia.} emailOrPhoneError{Error de correo electrónico o número de teléfono} passwordError{Error de contraseña} unknownError{Error desconocido} googleSSOError{Error de Google SSO} emailAlreadyInUse{La dirección de correo electrónico ya está en uso por otra cuenta.} phoneAlreadyInUse{El número de teléfono ya está en uso por otra cuenta.} invalidCredentialError{Las credenciales no son válidas.} invalidAppCredentialError{Credenciales no válidas de la aplicación} invalidVerificationCodeError{Código de verificación no válido} other{Error desconocido}}", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "Informe de error enviado con éxito.", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_fr.arb b/example/lib/src/arbs/errors/example_fr.arb deleted file mode 100644 index e4c44b1..0000000 --- a/example/lib/src/arbs/errors/example_fr.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "fr", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "Une erreur s'est produite", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "Une erreur inattendue s'est produite", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{Le mot de passe doit contenir au moins 6 caractères} invalidEmailOrPhoneNumberError{Veuillez fournir un email valide ou un numéro de téléphone au format international. Exemples : me@example.com et +1234567890987} invalidEmailError{L'email n'est pas valide} operationNotAllowedError{Opération non autorisée} weakPasswordError{Le mot de passe est trop faible} userTokenExpiredError{Le jeton utilisateur a expiré} invalidPhoneNumberError{Veuillez fournir des numéros de téléphone au format international, commençant par + et l'indicatif du pays.} invalidActionCodeError{Le code d'action n'est pas valide} networkRequestFailedError{La requête réseau a échoué} tooManyRequestsError{Trop de demandes} acceptTermsAndConditionsError{Veuillez accepter les termes et conditions et reconnaître la politique de confidentialité.} acceptAIConsentError{Veuillez reconnaître que les consultations se font avec une IA et non un professionnel de santé agréé.} emailOrPhoneError{Erreur d'email ou de téléphone} passwordError{Erreur de mot de passe} unknownError{Erreur inconnue} googleSSOError{Erreur Google SSO} emailAlreadyInUse{L'adresse email est déjà utilisée par un autre compte.} invalidCredentialError{Identifiants invalides} invalidAppCredentialError{Identifiants d'application invalides} invalidVerificationCodeError{Code de vérification invalide} other{Erreur inconnue}}\n", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "Rapport de bogue envoyé avec succès.", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_hi.arb b/example/lib/src/arbs/errors/example_hi.arb deleted file mode 100644 index 3f9fb01..0000000 --- a/example/lib/src/arbs/errors/example_hi.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "hi", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "एक त्रुटि पाई गई", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "एक अप्रत्याशित त्रुटि हुई", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{पासवर्ड कम से कम 6 अक्षरों का होना चाहिए} invalidEmailOrPhoneNumberError{कृपया मान्य ईमेल या अंतर्राष्ट्रीय प्रारूप में फोन नंबर प्रदान करें। उदाहरण: me@example.com और +1234567890987} invalidEmailError{ईमेल मान्य नहीं है} operationNotAllowedError{क्रिया की अनुमति नहीं है} weakPasswordError{पासवर्ड बहुत कमजोर है} userTokenExpiredError{उपयोगकर्ता टोकन की समय सीमा समाप्त हो गई} invalidPhoneNumberError{कृपया फोन नंबर अंतर्राष्ट्रीय प्रारूप में प्रदान करें, जो + और देश कोड से शुरू होता हो।} invalidActionCodeError{क्रिया कोड मान्य नहीं है} networkRequestFailedError{नेटवर्क अनुरोध विफल हुआ} tooManyRequestsError{बहुत अधिक अनुरोध} acceptTermsAndConditionsError{कृपया नियम और शर्तों को स्वीकार करें और गोपनीयता नीति को स्वीकार करने की पुष्टि करें।} acceptAIConsentError{कृपया स्वीकार करें कि परामर्श एक AI के साथ है, न कि लाइसेंस प्राप्त चिकित्सा पेशेवर के साथ।} emailOrPhoneError{ईमेल या फोन त्रुटि} passwordError{पासवर्ड त्रुटि} unknownError{अज्ञात त्रुटि} googleSSOError{Google SSO त्रुटि} emailAlreadyInUse{यह ईमेल पता पहले से ही किसी अन्य खाते द्वारा उपयोग में है।} invalidCredentialError{अमान्य प्रमाणपत्र} invalidAppCredentialError{अमान्य ऐप प्रमाणपत्र} invalidVerificationCodeError{अमान्य सत्यापन कोड} other{अज्ञात त्रुटि}}", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "बग रिपोर्ट सफलतापूर्वक भेजी गई.", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_it.arb b/example/lib/src/arbs/errors/example_it.arb deleted file mode 100644 index 18c788b..0000000 --- a/example/lib/src/arbs/errors/example_it.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "it", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "Si è verificato un errore", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "Si è verificato un errore imprevisto", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{La password deve contenere almeno 6 caratteri} invalidEmailOrPhoneNumberError{Fornisci un'email valida o un numero di telefono nel formato internazionale. Esempi: me@example.com e +1234567890987} invalidEmailError{L'email non è valida} operationNotAllowedError{Operazione non consentita} weakPasswordError{La password è troppo debole} userTokenExpiredError{Il token utente è scaduto} invalidPhoneNumberError{Fornisci numeri di telefono nel formato internazionale, iniziando con + e il prefisso del paese.} invalidActionCodeError{Il codice azione non è valido} networkRequestFailedError{Richiesta di rete non riuscita} tooManyRequestsError{Troppe richieste} acceptTermsAndConditionsError{Accetta i termini e le condizioni e conferma la politica sulla privacy.} acceptAIConsentError{Riconosci che le consulenze sono con un'IA e non con un medico abilitato.} emailOrPhoneError{Errore email o telefono} passwordError{Errore password} unknownError{Errore sconosciuto} googleSSOError{Errore Google SSO} emailAlreadyInUse{L'indirizzo email è già utilizzato da un altro account.} invalidCredentialError{Credenziali non valide} invalidAppCredentialError{Credenziali app non valide} invalidVerificationCodeError{Codice di verifica non valido} other{Errore sconosciuto}}\n", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "Segnalazione bug inviata con successo.", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_ko.arb b/example/lib/src/arbs/errors/example_ko.arb deleted file mode 100644 index 9f8d973..0000000 --- a/example/lib/src/arbs/errors/example_ko.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "ko", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "오류가 발생했습니다", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "예상치 못한 오류가 발생했습니다.", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{비밀번호는 최소 6자 이상이어야 합니다} invalidEmailOrPhoneNumberError{유효한 이메일 또는 국제 형식의 전화번호를 입력하세요. 예: me@example.com, +1234567890987} invalidEmailError{유효하지 않은 이메일입니다} operationNotAllowedError{허용되지 않은 작업입니다} weakPasswordError{비밀번호가 너무 약합니다} userTokenExpiredError{사용자 토큰이 만료되었습니다} invalidPhoneNumberError{국가 코드와 + 로 시작하는 국제 형식의 전화번호를 입력하세요.} invalidActionCodeError{동작 코드가 유효하지 않습니다} networkRequestFailedError{네트워크 요청 실패} tooManyRequestsError{요청이 너무 많습니다} acceptTermsAndConditionsError{약관에 동의하고 개인정보 보호정책을 확인하세요.} acceptAIConsentError{상담은 공인 의료 전문가가 아닌 AI와 이루어짐을 확인하세요.} emailOrPhoneError{이메일 또는 전화 오류} passwordError{비밀번호 오류} unknownError{알 수 없는 오류} googleSSOError{Google SSO 오류} emailAlreadyInUse{해당 이메일 주소는 이미 다른 계정에서 사용 중입니다.} invalidCredentialError{유효하지 않은 자격 증명입니다} invalidAppCredentialError{유효하지 않은 앱 자격 증명입니다} invalidVerificationCodeError{유효하지 않은 인증 코드입니다} other{알 수 없는 오류}}\n", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "버그 보고서가 성공적으로 전송되었습니다.", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_pt.arb b/example/lib/src/arbs/errors/example_pt.arb deleted file mode 100644 index 1d0bfb1..0000000 --- a/example/lib/src/arbs/errors/example_pt.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "pt", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "Ocorreu um erro", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "Ocorreu um erro inesperado", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{A senha deve ter pelo menos 6 caracteres} invalidEmailOrPhoneNumberError{Informe um e-mail válido ou um número de telefone no formato internacional. Exemplos: me@example.com e +1234567890987} invalidEmailError{E-mail inválido} operationNotAllowedError{Operação não permitida} weakPasswordError{Senha muito fraca} userTokenExpiredError{Token do usuário expirou} invalidPhoneNumberError{Informe números de telefone no formato internacional, começando com + e o código do país.} invalidActionCodeError{Código de ação inválido} networkRequestFailedError{Falha na requisição de rede} tooManyRequestsError{Muitas solicitações} acceptTermsAndConditionsError{Aceite os termos e condições e reconheça a política de privacidade.} acceptAIConsentError{Reconheça que as consultas são com uma IA e não com um profissional médico licenciado.} emailOrPhoneError{Erro de e-mail ou telefone} passwordError{Erro de senha} unknownError{Erro desconhecido} googleSSOError{Erro no SSO do Google} emailAlreadyInUse{Este e-mail já está em uso por outra conta.} invalidCredentialError{Credenciais inválidas} invalidAppCredentialError{Credenciais do aplicativo inválidas} invalidVerificationCodeError{Código de verificação inválido} other{Erro desconhecido}}\n", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "Relatório de bug enviado com sucesso.", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_pt_BR.arb b/example/lib/src/arbs/errors/example_pt_BR.arb deleted file mode 100644 index d9f53b1..0000000 --- a/example/lib/src/arbs/errors/example_pt_BR.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "pt_BR", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "Ocorreu um erro", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "Ocorreu um erro inesperado", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{A senha deve ter pelo menos 6 caracteres} invalidEmailOrPhoneNumberError{Informe um e-mail válido ou um número de telefone no formato internacional. Exemplos: me@example.com e +1234567890987} invalidEmailError{E-mail inválido} operationNotAllowedError{Operação não permitida} weakPasswordError{Senha muito fraca} userTokenExpiredError{Token do usuário expirou} invalidPhoneNumberError{Informe números de telefone no formato internacional, começando com + e o código do país.} invalidActionCodeError{Código de ação inválido} networkRequestFailedError{Falha na requisição de rede} tooManyRequestsError{Muitas solicitações} acceptTermsAndConditionsError{Aceite os termos e condições e reconheça a política de privacidade.} acceptAIConsentError{Reconheça que as consultas são com uma IA e não com um profissional médico licenciado.} emailOrPhoneError{Erro de e-mail ou telefone} passwordError{Erro de senha} unknownError{Erro desconhecido} googleSSOError{Erro no SSO do Google} emailAlreadyInUse{Este e-mail já está em uso por outra conta.} invalidCredentialError{Credenciais inválidas} invalidAppCredentialError{Credenciais do aplicativo inválidas} invalidVerificationCodeError{Código de verificação inválido} other{Erro desconhecido}}\n", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "Relatório de bug enviado com sucesso.", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_ru.arb b/example/lib/src/arbs/errors/example_ru.arb deleted file mode 100644 index 596fcf7..0000000 --- a/example/lib/src/arbs/errors/example_ru.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "ru", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "Произошла ошибка", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "Произошла неизвестная ошибка", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{Пароль должен быть не менее 6 символов} invalidEmailOrPhoneNumberError{Пожалуйста, укажите действительный адрес электронной почты или номер телефона в международном формате. Примеры: me@example.com и +1234567890987.} invalidEmailError{Неверный формат электронной почты} operationNotAllowedError{Операция не разрешена} weakPasswordError{Пароль слишком слабый} userTokenExpiredError{Токен пользователя истек} invalidPhoneNumberError{Пожалуйста, укажите номера телефона в международном формате, начиная с + и кода страны} invalidActionCodeError{Код операции недействителен} networkRequestFailedError{Ошибка соединения с сервером} tooManyRequestsError{Слишком много запросов} acceptTermsAndConditionsError{Пожалуйста, примите условия пользовательского соглашения и подтвердите политику конфиденциальности.} acceptAIConsentError{Пожалуйста, подтвердите, что консультации с искусственным интеллектом и не заменяет профессиональную медицинскую помощь лицензированного специалиста.} emailOrPhoneError{Ошибка электронной почты или номера телефона} passwordError{Ошибка пароля} unknownError{Неизвестная ошибка} googleSSOError{Ошибка Google SSO} emailAlreadyInUse{Электронная почта уже используется другой учетной записью} phoneAlreadyInUse{Номер телефона уже используется другой учетной записью} invalidCredentialError{Данные входа не верны} invalidAppCredentialError{Недействительные учетные данные приложения} invalidVerificationCodeError{Неверный код подтверждения} other{Неизвестная ошибка}}", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "Отчёт об ошибке успешно отправлен.", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_zh.arb b/example/lib/src/arbs/errors/example_zh.arb deleted file mode 100644 index d09ffc3..0000000 --- a/example/lib/src/arbs/errors/example_zh.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "zh", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "发生错误", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "发生意外错误", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{密码长度至少为 6 个字符} invalidEmailOrPhoneNumberError{请提供有效的电子邮箱或符合国际格式的电话号码。例如:me@example.com 和 +1234567890987} invalidEmailError{电子邮箱无效} operationNotAllowedError{不允许的操作} weakPasswordError{密码太弱} userTokenExpiredError{用户令牌已过期} invalidPhoneNumberError{请提供以 + 和国家代码开头的国际格式电话号码。} invalidActionCodeError{操作代码无效} networkRequestFailedError{网络请求失败} tooManyRequestsError{请求过多} acceptTermsAndConditionsError{请接受条款与条件并确认隐私政策。} acceptAIConsentError{请确认咨询对象为 AI,而非持证医疗专业人士。} emailOrPhoneError{邮箱或电话号码错误} passwordError{密码错误} unknownError{未知错误} googleSSOError{Google SSO 错误} emailAlreadyInUse{该电子邮箱已被其他账户使用。} invalidCredentialError{凭据无效} invalidAppCredentialError{应用凭据无效} invalidVerificationCodeError{验证码无效} other{未知错误}}\n", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "错误报告发送成功。", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/errors/example_zh_CN.arb b/example/lib/src/arbs/errors/example_zh_CN.arb deleted file mode 100644 index a3f3fcf..0000000 --- a/example/lib/src/arbs/errors/example_zh_CN.arb +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@@locale": "zh_CN", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "error": "发生错误", - "@error": { - "description": "Ошибка" - }, - "unexpectedError": "发生意外错误", - "@unexpectedError": { - "description": "Произошла какая то ошибка" - }, - "authErrorMessages": "{errorCode, select, passwordLengthError{密码长度至少为 6 个字符} invalidEmailOrPhoneNumberError{请提供有效的电子邮箱或符合国际格式的电话号码。例如:me@example.com 和 +1234567890987} invalidEmailError{电子邮箱无效} operationNotAllowedError{不允许的操作} weakPasswordError{密码太弱} userTokenExpiredError{用户令牌已过期} invalidPhoneNumberError{请提供以 + 和国家代码开头的国际格式电话号码。} invalidActionCodeError{操作代码无效} networkRequestFailedError{网络请求失败} tooManyRequestsError{请求过多} acceptTermsAndConditionsError{请接受条款与条件并确认隐私政策。} acceptAIConsentError{请确认咨询对象为 AI,而非持证医疗专业人士。} emailOrPhoneError{邮箱或电话号码错误} passwordError{密码错误} unknownError{未知错误} googleSSOError{Google SSO 错误} emailAlreadyInUse{该电子邮箱已被其他账户使用。} invalidCredentialError{凭据无效} invalidAppCredentialError{应用凭据无效} invalidVerificationCodeError{验证码无效} other{未知错误}}\n", - "@authErrorMessages": { - "description": "Ошибка аутентификации", - "placeholders": { - "errorCode": { - "type": "String" - } - } - }, - "bugReportSentText": "错误报告发送成功。", - "@bugReportSentText": { - "description": "Сообщение об успешной отправке баг репорта" - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_ar.arb b/example/lib/src/arbs/pay/example_ar.arb deleted file mode 100644 index 9a74a05..0000000 --- a/example/lib/src/arbs/pay/example_ar.arb +++ /dev/null @@ -1,173 +0,0 @@ -{ - "@@locale": "ar", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "قسط", - "@title": { - "description": "Заголовок экрана" - }, - "exampleButton": "مثال على الزر", - "@exampleButton": { - "description": "Пример кнопки" - }, - "donationYesItsAllGoodButton": "نعم، كل شيء جيد!", - "@donationYesItsAllGoodButton": { - "description": "Кнопка доната после рекомендаций" - }, - "everyContributionHealsTitle": "كل مساهمة تشفي!", - "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "تساهم مساهمتك في تمويل تقديم المشورة المجانية للآخرين المحتاجين.", - "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "ادفع ما تشعر أنه مناسب", - "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "أو استمر في استخدام Doctorina مجانًا، وذلك بفضل الآخرين الذين اختاروا التبرع.", - "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "لمرة واحدة", - "@oneTimeLabel": {}, - "monthlyLabel": "شهريا", - "@monthlyLabel": {}, - "chooseMonthlyDonationAmountLabel": "اختر مبلغ التبرع الشهري", - "@chooseMonthlyDonationAmountLabel": {}, - "subscriptionNoAmount": "أنت على وشك الاشتراك في خطة شهرية.", - "@subscriptionNoAmount": { - "description": "Сумма подписки еще не выбрана" - }, - "subscriptionAmount": "لقد قمت بالاشتراك في خطة شهرية بمبلغ {amount}/الشهر.", - "@subscriptionAmount": { - "description": "Subscription info text with amount", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly subscription amount" - } - } - }, - "subscriptionInfo": "سيتم خصم المبلغ من حسابك عند تأكيد الشراء. يُجدد الاشتراك تلقائيًا شهريًا ما لم يتم إيقاف التجديد التلقائي قبل 24 ساعة على الأقل من نهاية الفترة الحالية. يمكنك إدارة اشتراكك أو إلغاؤه في أي وقت من إعدادات حسابك. بالمتابعة، أنت توافق على {termsOfService} و{privacyPolicy}.", - "@subscriptionInfo": { - "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", - "placeholders": { - "termsOfService": { - "type": "String", - "example": "", - "description": "Clickable span for Terms of Service" - }, - "privacyPolicy": { - "type": "String", - "example": "", - "description": "Clickable span for Privacy Policy" - } - } - }, - "chooseOneTimeDonationAmountLabel": "اختر مبلغ التبرع لمرة واحدة", - "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "معظم الناس يعطون 7 إلى 15 دولارًا", - "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "اختر العملة", - "@selectCurrencyTooltip": {}, - "processingPaymentSemantics": "معالجة الدفع", - "@processingPaymentSemantics": {}, - "processingOneTimePaymentSemantics": "معالجة دفعة لمرة واحدة بقيمة {currency} {amount}", - "@processingOneTimePaymentSemantics": { - "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", - "placeholders": { - "currency": { - "type": "String", - "example": "USD", - "description": "Currency code, e.g. USD, EUR, GBP" - }, - "amount": { - "type": "String", - "example": "49.99", - "description": "Payment amount formatted to two decimal places" - } - } - }, - "processingMonthlyPaymentSemantics": "معالجة الدفع الشهري بقيمة {amount}", - "@processingMonthlyPaymentSemantics": { - "description": "Shown when processing a monthly payment with amount placeholder.", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly payment amount formatted to two decimal places" - } - } - }, - "thankYouTitle": "شكرًا لك!", - "@thankYouTitle": {}, - "thankYouSubtitle": "الآن سيحصل المزيد من الأشخاص على نصائح مجانية - دعمك لا يقدر بثمن حقًا.", - "@thankYouSubtitle": {}, - "youContributedLabel": "لقد ساهمت بـ:", - "@youContributedLabel": {}, - "perMonth": "/ شهر", - "@perMonth": {}, - "returnToTheMainScreenButton": "العودة إلى الشاشة الرئيسية", - "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "شروط الخدمة", - "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "سياسة الخصوصية", - "@privacyPolicyLabel": {}, - "donateButton": "يتبرع", - "@donateButton": {}, - "manageSubscriptionTitle": "إدارة الاشتراك", - "@manageSubscriptionTitle": {}, - "subscriptionStatusActiveLabel": "نشيط", - "@subscriptionStatusActiveLabel": {}, - "subscriptionStatusCanceledLabel": "تم الإلغاء", - "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "متوقف مؤقتًا", - "@subscriptionStatusPausedLabel": {}, - "subscriptionStatusPendingLabel": "قيد الانتظار", - "@subscriptionStatusPendingLabel": {}, - "subscriptionStatusCreatedLabel": "مخلوق", - "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "نفذ الوقت", - "@subscriptionStatusTimeoutLabel": {}, - "subscriptionStatusUnknownLabel": "مجهول", - "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "مساهم في دكتورينا", - "@subscriptionDoctorinaContributor": {}, - "subscriptionRenews": "يجدد", - "@subscriptionRenews": {}, - "subscriptionCancelButton": "إلغاء الاشتراك", - "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "هل أنت متأكد؟", - "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "دعمكم الشهري يُبقي \"دكتورينا\" مجانيًا لمن يعتمدون عليه ولكنهم غير قادرين على الدفع.\n\nيُغطي اشتراككم ما لا يقل عن ١٠ استشارات مجانية شهريًا.\n\nإذا تركتم الخدمة، فسيقل عدد المرضى الذين يحصلون على المساعدة التي يحتاجونها.", - "@subscriptionAreYouSureDialogText": {}, - "subscriptionAreYouSureDialogKeepButton": "الحفاظ على الاشتراك", - "@subscriptionAreYouSureDialogKeepButton": {}, - "subscriptionAreYouSureDialogCancelButton": "إلغاء على أية حال", - "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "لقد تم إلغاء الدعم الشهري الخاص بك بنجاح.", - "@subscriptionYourMonthlySupportCanceledNotification": {}, - "subscriptionMalformed": "بيانات الاشتراك غير صحيحة", - "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "قم بالتسجيل للحصول على الدعم الشهري حتى يظهر هنا.", - "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "لا يوجد اشتراكات حتى الآن", - "@subscriptionNoSubscriptionsYet": {}, - "subscriptionCreatedAtDateLabel": "تاريخ الاشتراك", - "@subscriptionCreatedAtDateLabel": {}, - "subscriptionExpiresAtDateLabel": "تنتهي صلاحيتها", - "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "معرف الاشتراك", - "@subscriptionSubscriptionIdLabel": {}, - "subscriptionProductIdLabel": "معرف المنتج", - "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "نعم", - "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "لم نتمكن من متابعة الدفع الخاص بك", - "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "حدث خطأ أثناء الدفع. يُرجى المحاولة مرة أخرى.", - "@errorProcessDonationSubtitle": {}, - "errorProcessDonationRetryButton": "إعادة المحاولة", - "@errorProcessDonationRetryButton": {}, - "processingDonationTitle": "معالجة الدفع", - "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "ستتمكن من إكمال عملية الشراء الخاصة بك على صفحة الدفع الآمنة الخاصة بـ Stripe.", - "@processingDonationStripeSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_bn.arb b/example/lib/src/arbs/pay/example_bn.arb deleted file mode 100644 index 3439b5f..0000000 --- a/example/lib/src/arbs/pay/example_bn.arb +++ /dev/null @@ -1,173 +0,0 @@ -{ - "@@locale": "bn", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "পেমেন্ট", - "@title": { - "description": "Заголовок экрана" - }, - "exampleButton": "বোতাম উদাহরণ", - "@exampleButton": { - "description": "Пример кнопки" - }, - "donationYesItsAllGoodButton": "হ্যাঁ, এটা সব ভাল!", - "@donationYesItsAllGoodButton": { - "description": "Кнопка доната после рекомендаций" - }, - "everyContributionHealsTitle": "প্রতিটি অবদান আরোগ্য!", - "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "আপনার অবদান প্রয়োজনে অন্যদের জন্য বিনামূল্যে পরামর্শ তহবিল সাহায্য করে.", - "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "যা সঠিক মনে হয় তাই পরিশোধ করুন,", - "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "অথবা বিনামূল্যে ডক্টরিনা ব্যবহার করা চালিয়ে যান, যারা দিতে বেছে নিয়েছেন তাদের ধন্যবাদ।", - "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "ওয়ান-টাইম", - "@oneTimeLabel": {}, - "monthlyLabel": "মাসিক", - "@monthlyLabel": {}, - "chooseMonthlyDonationAmountLabel": "মাসিক অনুদান পরিমাণ চয়ন করুন", - "@chooseMonthlyDonationAmountLabel": {}, - "subscriptionNoAmount": "আপনি একটি মাসিক পরিকল্পনার সদস্যতা নিতে চলেছেন৷", - "@subscriptionNoAmount": { - "description": "Сумма подписки еще не выбрана" - }, - "subscriptionAmount": "আপনি {amount}/মাসের জন্য একটি মাসিক প্ল্যানে সদস্যতা নিচ্ছেন।", - "@subscriptionAmount": { - "description": "Subscription info text with amount", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly subscription amount" - } - } - }, - "subscriptionInfo": "ক্রয়ের নিশ্চিতকরণে আপনার অ্যাকাউন্টে অর্থ প্রদান করা হবে। সাবস্ক্রিপশন স্বয়ংক্রিয়ভাবে প্রতি মাসে পুনর্নবীকরণ হয় যদি না বর্তমান মেয়াদ শেষ হওয়ার কমপক্ষে 24 ঘন্টা আগে স্বয়ংক্রিয় পুনর্নবীকরণ বন্ধ করা হয়। আপনি আপনার অ্যাকাউন্ট সেটিংসে যেকোনো সময় আপনার সদস্যতা পরিচালনা বা বাতিল করতে পারেন। এগিয়ে যাওয়ার মাধ্যমে, আপনি আমাদের {termsOfService} এবং {privacyPolicy}-এ সম্মত হন।", - "@subscriptionInfo": { - "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", - "placeholders": { - "termsOfService": { - "type": "String", - "example": "", - "description": "Clickable span for Terms of Service" - }, - "privacyPolicy": { - "type": "String", - "example": "", - "description": "Clickable span for Privacy Policy" - } - } - }, - "chooseOneTimeDonationAmountLabel": "এককালীন অনুদানের পরিমাণ চয়ন করুন", - "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "বেশিরভাগ লোক $7-$15 দেয়", - "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "মুদ্রা নির্বাচন করুন", - "@selectCurrencyTooltip": {}, - "processingPaymentSemantics": "পেমেন্ট প্রক্রিয়াকরণ", - "@processingPaymentSemantics": {}, - "processingOneTimePaymentSemantics": "{currency} {amount}-এর এককালীন পেমেন্ট প্রক্রিয়া করা হচ্ছে", - "@processingOneTimePaymentSemantics": { - "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", - "placeholders": { - "currency": { - "type": "String", - "example": "USD", - "description": "Currency code, e.g. USD, EUR, GBP" - }, - "amount": { - "type": "String", - "example": "49.99", - "description": "Payment amount formatted to two decimal places" - } - } - }, - "processingMonthlyPaymentSemantics": "{amount} মাসিক পেমেন্ট প্রক্রিয়া করা হচ্ছে", - "@processingMonthlyPaymentSemantics": { - "description": "Shown when processing a monthly payment with amount placeholder.", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly payment amount formatted to two decimal places" - } - } - }, - "thankYouTitle": "ধন্যবাদ!", - "@thankYouTitle": {}, - "thankYouSubtitle": "এখন আরও বেশি লোক বিনামূল্যে পরামর্শ পাবে — আপনার সমর্থন সত্যিই অমূল্য।", - "@thankYouSubtitle": {}, - "youContributedLabel": "আপনি অবদান রেখেছেন:", - "@youContributedLabel": {}, - "perMonth": "/ মাস", - "@perMonth": {}, - "returnToTheMainScreenButton": "মূল পর্দায় ফিরে যান", - "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "পরিষেবার শর্তাবলী", - "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "গোপনীয়তা নীতি", - "@privacyPolicyLabel": {}, - "donateButton": "দান করুন", - "@donateButton": {}, - "manageSubscriptionTitle": "সদস্যতা পরিচালনা করুন", - "@manageSubscriptionTitle": {}, - "subscriptionStatusActiveLabel": "সক্রিয়", - "@subscriptionStatusActiveLabel": {}, - "subscriptionStatusCanceledLabel": "বাতিল", - "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "বিরতি দেওয়া হয়েছে", - "@subscriptionStatusPausedLabel": {}, - "subscriptionStatusPendingLabel": "মুলতুবি", - "@subscriptionStatusPendingLabel": {}, - "subscriptionStatusCreatedLabel": "তৈরি হয়েছে", - "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "টাইম আউট", - "@subscriptionStatusTimeoutLabel": {}, - "subscriptionStatusUnknownLabel": "অজানা", - "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "ডক্টরিনা অবদানকারী", - "@subscriptionDoctorinaContributor": {}, - "subscriptionRenews": "রিনিউজ", - "@subscriptionRenews": {}, - "subscriptionCancelButton": "সদস্যতা বাতিল করুন", - "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "আপনি কি নিশ্চিত?", - "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "আপনার মাসিক সহায়তা এমন লোকদের জন্য ডক্টরিনাকে বিনামূল্যে রাখে যারা এটির উপর নির্ভর করে কিন্তু অর্থ প্রদানের সামর্থ্য রাখে না। \n\nআপনার সদস্যতা তহবিল প্রতি মাসে অন্তত 10 বিনামূল্যে পরামর্শ.\n
আপনি চলে গেলে, কম রোগী তাদের প্রয়োজনীয় সহায়তা পাবেন।", - "@subscriptionAreYouSureDialogText": {}, - "subscriptionAreYouSureDialogKeepButton": "সাবস্ক্রিপশন রাখুন", - "@subscriptionAreYouSureDialogKeepButton": {}, - "subscriptionAreYouSureDialogCancelButton": "যাইহোক বাতিল করুন", - "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "আপনার মাসিক সমর্থন \nসফলভাবে বাতিল করা হয়েছে।", - "@subscriptionYourMonthlySupportCanceledNotification": {}, - "subscriptionMalformed": "ভুল সাবস্ক্রিপশন ডেটা", - "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "এটি এখানে উপস্থিত হওয়ার জন্য মাসিক সহায়তার জন্য সাইন আপ করুন৷", - "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "এখনো কোনো সদস্যতা নেই", - "@subscriptionNoSubscriptionsYet": {}, - "subscriptionCreatedAtDateLabel": "সদস্যতা তারিখ", - "@subscriptionCreatedAtDateLabel": {}, - "subscriptionExpiresAtDateLabel": "মেয়াদ শেষ", - "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "সাবস্ক্রিপশন আইডি", - "@subscriptionSubscriptionIdLabel": {}, - "subscriptionProductIdLabel": "পণ্য আইডি", - "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "ঠিক আছে", - "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "আমরা আপনার পেমেন্ট এগোতে পারিনি", - "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "পেমেন্টে কিছু ভুল হয়েছে।\nআবার চেষ্টা করুন.", - "@errorProcessDonationSubtitle": {}, - "errorProcessDonationRetryButton": "আবার চেষ্টা করুন", - "@errorProcessDonationRetryButton": {}, - "processingDonationTitle": "পেমেন্ট প্রক্রিয়াকরণ", - "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "আপনি স্ট্রাইপের নিরাপদ চেকআউট পৃষ্ঠায় আপনার কেনাকাটা সম্পূর্ণ করবেন।", - "@processingDonationStripeSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_de.arb b/example/lib/src/arbs/pay/example_de.arb deleted file mode 100644 index 857fde5..0000000 --- a/example/lib/src/arbs/pay/example_de.arb +++ /dev/null @@ -1,173 +0,0 @@ -{ - "@@locale": "de", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Zahlung", - "@title": { - "description": "Заголовок экрана" - }, - "exampleButton": "Schaltflächenbeispiel", - "@exampleButton": { - "description": "Пример кнопки" - }, - "donationYesItsAllGoodButton": "Ja, alles gut!", - "@donationYesItsAllGoodButton": { - "description": "Кнопка доната после рекомендаций" - }, - "everyContributionHealsTitle": "Jeder Beitrag heilt!", - "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "Ihr Beitrag hilft dabei, kostenlose medizinische Beratung für Bedürftige zu ermöglichen.", - "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "Zahlen Sie, was sich richtig anfühlt –", - "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "oder nutzen Sie Doctorina weiterhin kostenlos, dank der Großzügigkeit anderer.", - "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "Einmalig", - "@oneTimeLabel": {}, - "monthlyLabel": "Monatlich", - "@monthlyLabel": {}, - "chooseMonthlyDonationAmountLabel": "Wählen Sie den monatlichen Spendenbetrag", - "@chooseMonthlyDonationAmountLabel": {}, - "subscriptionNoAmount": "Sie sind dabei, einen Monatsplan zu abonnieren.", - "@subscriptionNoAmount": { - "description": "Сумма подписки еще не выбрана" - }, - "subscriptionAmount": "Sie abonnieren ein Monatsabonnement für {amount}/Monat.", - "@subscriptionAmount": { - "description": "Subscription info text with amount", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly subscription amount" - } - } - }, - "subscriptionInfo": "Die Zahlung wird Ihrem Konto nach Kaufbestätigung belastet. Das Abonnement verlängert sich automatisch jeden Monat, sofern die automatische Verlängerung nicht mindestens 24 Stunden vor Ablauf des aktuellen Zeitraums deaktiviert wird. Sie können Ihr Abonnement jederzeit in Ihren Kontoeinstellungen verwalten oder kündigen. Indem Sie fortfahren, stimmen Sie unseren {termsOfService} und {privacyPolicy} zu.", - "@subscriptionInfo": { - "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", - "placeholders": { - "termsOfService": { - "type": "String", - "example": "", - "description": "Clickable span for Terms of Service" - }, - "privacyPolicy": { - "type": "String", - "example": "", - "description": "Clickable span for Privacy Policy" - } - } - }, - "chooseOneTimeDonationAmountLabel": "Wählen Sie den einmaligen Spendenbetrag", - "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "Die meisten Leute geben 7–15 $", - "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "Währung wählen", - "@selectCurrencyTooltip": {}, - "processingPaymentSemantics": "Zahlungsabwicklung", - "@processingPaymentSemantics": {}, - "processingOneTimePaymentSemantics": "Verarbeite eine einmalige Zahlung von {currency} {amount}", - "@processingOneTimePaymentSemantics": { - "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", - "placeholders": { - "currency": { - "type": "String", - "example": "USD", - "description": "Currency code, e.g. USD, EUR, GBP" - }, - "amount": { - "type": "String", - "example": "49.99", - "description": "Payment amount formatted to two decimal places" - } - } - }, - "processingMonthlyPaymentSemantics": "Monatliche Zahlung von {amount} wird bearbeitet", - "@processingMonthlyPaymentSemantics": { - "description": "Shown when processing a monthly payment with amount placeholder.", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly payment amount formatted to two decimal places" - } - } - }, - "thankYouTitle": "Danke!", - "@thankYouTitle": {}, - "thankYouSubtitle": "Dank Ihrer Unterstützung können nun noch mehr Menschen kostenlose Beratung erhalten – Ihr Beitrag ist von unschätzbarem Wert.", - "@thankYouSubtitle": {}, - "youContributedLabel": "Sie haben gespendet:", - "@youContributedLabel": {}, - "perMonth": "/ Monat", - "@perMonth": {}, - "returnToTheMainScreenButton": "Zurück zum Hauptbildschirm", - "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "Servicebedingungen", - "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "Datenschutzrichtlinie", - "@privacyPolicyLabel": {}, - "donateButton": "Spenden", - "@donateButton": {}, - "manageSubscriptionTitle": "Abonnement verwalten", - "@manageSubscriptionTitle": {}, - "subscriptionStatusActiveLabel": "Aktiv", - "@subscriptionStatusActiveLabel": {}, - "subscriptionStatusCanceledLabel": "Abgesagt", - "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "Angehalten", - "@subscriptionStatusPausedLabel": {}, - "subscriptionStatusPendingLabel": "Ausstehend", - "@subscriptionStatusPendingLabel": {}, - "subscriptionStatusCreatedLabel": "Erstellt", - "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "Time-out", - "@subscriptionStatusTimeoutLabel": {}, - "subscriptionStatusUnknownLabel": "Unbekannt", - "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "Doctorina-Mitarbeiter", - "@subscriptionDoctorinaContributor": {}, - "subscriptionRenews": "Erneuert", - "@subscriptionRenews": {}, - "subscriptionCancelButton": "Abonnement kündigen", - "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "Bist du sicher?", - "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "Mit Ihrer monatlichen Unterstützung bleibt Doctorina für Menschen, die darauf angewiesen sind, sich die Kosten aber nicht leisten können, kostenlos.\n\nIhr Abonnement ermöglicht mindestens 10 kostenlose Konsultationen pro Monat.\nWenn Sie aussteigen, erhalten weniger Patienten die benötigte Hilfe.", - "@subscriptionAreYouSureDialogText": {}, - "subscriptionAreYouSureDialogKeepButton": "Abonnement behalten", - "@subscriptionAreYouSureDialogKeepButton": {}, - "subscriptionAreYouSureDialogCancelButton": "Trotzdem abbrechen", - "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "Ihr monatlicher Support wurde erfolgreich gekündigt.", - "@subscriptionYourMonthlySupportCanceledNotification": {}, - "subscriptionMalformed": "Falsche Abonnementdaten", - "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "Melden Sie sich für den monatlichen Support an, damit er hier angezeigt wird.", - "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "Noch keine Abonnements", - "@subscriptionNoSubscriptionsYet": {}, - "subscriptionCreatedAtDateLabel": "Abonnementdatum", - "@subscriptionCreatedAtDateLabel": {}, - "subscriptionExpiresAtDateLabel": "Läuft ab", - "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "Abonnement-ID", - "@subscriptionSubscriptionIdLabel": {}, - "subscriptionProductIdLabel": "Produkt-ID", - "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "OK", - "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "Wir konnten Ihre Zahlung nicht durchführen", - "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "Bei der Zahlung ist ein Fehler aufgetreten.\nBitte versuchen Sie es erneut.", - "@errorProcessDonationSubtitle": {}, - "errorProcessDonationRetryButton": "Wiederholen", - "@errorProcessDonationRetryButton": {}, - "processingDonationTitle": "Zahlungsabwicklung", - "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "Sie schließen Ihren Einkauf auf der sicheren Checkout-Seite von Stripe ab.", - "@processingDonationStripeSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_fr.arb b/example/lib/src/arbs/pay/example_fr.arb deleted file mode 100644 index 0655a97..0000000 --- a/example/lib/src/arbs/pay/example_fr.arb +++ /dev/null @@ -1,173 +0,0 @@ -{ - "@@locale": "fr", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Paiement", - "@title": { - "description": "Заголовок экрана" - }, - "exampleButton": "Exemple de bouton", - "@exampleButton": { - "description": "Пример кнопки" - }, - "donationYesItsAllGoodButton": "Oui, tout va bien !", - "@donationYesItsAllGoodButton": { - "description": "Кнопка доната после рекомендаций" - }, - "everyContributionHealsTitle": "Chaque contribution guérit !", - "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "Votre contribution aide à financer des conseils gratuits pour les autres dans le besoin.", - "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "Payez ce qui vous semble juste,", - "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "ou continuez à utiliser Doctorina gratuitement, grâce aux autres qui ont choisi de donner.", - "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "Une fois", - "@oneTimeLabel": {}, - "monthlyLabel": "Mensuel", - "@monthlyLabel": {}, - "chooseMonthlyDonationAmountLabel": "Choisissez le montant du don mensuel", - "@chooseMonthlyDonationAmountLabel": {}, - "subscriptionNoAmount": "Vous êtes sur le point de souscrire à un forfait mensuel.", - "@subscriptionNoAmount": { - "description": "Сумма подписки еще не выбрана" - }, - "subscriptionAmount": "Vous souscrivez à un forfait mensuel de {amount}/mois.", - "@subscriptionAmount": { - "description": "Subscription info text with amount", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly subscription amount" - } - } - }, - "subscriptionInfo": "Le paiement sera débité de votre compte lors de la confirmation de l'achat. L'abonnement est automatiquement renouvelé chaque mois, sauf si le renouvellement automatique est désactivé au moins 24 heures avant la fin de la période en cours. Vous pouvez gérer ou résilier votre abonnement à tout moment dans les paramètres de votre compte. En continuant, vous acceptez nos {termsOfService} et notre {privacyPolicy}.", - "@subscriptionInfo": { - "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", - "placeholders": { - "termsOfService": { - "type": "String", - "example": "", - "description": "Clickable span for Terms of Service" - }, - "privacyPolicy": { - "type": "String", - "example": "", - "description": "Clickable span for Privacy Policy" - } - } - }, - "chooseOneTimeDonationAmountLabel": "Choisissez le montant du don unique", - "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "La plupart des gens donnent entre 7 et 15 $", - "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "Sélectionnez la devise", - "@selectCurrencyTooltip": {}, - "processingPaymentSemantics": "Traitement des paiements", - "@processingPaymentSemantics": {}, - "processingOneTimePaymentSemantics": "Traitement d'un paiement unique de {currency} {amount}", - "@processingOneTimePaymentSemantics": { - "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", - "placeholders": { - "currency": { - "type": "String", - "example": "USD", - "description": "Currency code, e.g. USD, EUR, GBP" - }, - "amount": { - "type": "String", - "example": "49.99", - "description": "Payment amount formatted to two decimal places" - } - } - }, - "processingMonthlyPaymentSemantics": "Traitement du paiement mensuel de {amount}", - "@processingMonthlyPaymentSemantics": { - "description": "Shown when processing a monthly payment with amount placeholder.", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly payment amount formatted to two decimal places" - } - } - }, - "thankYouTitle": "Merci!", - "@thankYouTitle": {}, - "thankYouSubtitle": "Désormais, encore plus de personnes bénéficieront de conseils gratuits : votre soutien est vraiment précieux.", - "@thankYouSubtitle": {}, - "youContributedLabel": "Vous avez contribué :", - "@youContributedLabel": {}, - "perMonth": "/ mois", - "@perMonth": {}, - "returnToTheMainScreenButton": "Retour à l'écran principal", - "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "Conditions d'utilisation", - "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "politique de confidentialité", - "@privacyPolicyLabel": {}, - "donateButton": "Faire un don", - "@donateButton": {}, - "manageSubscriptionTitle": "Gérer l'abonnement", - "@manageSubscriptionTitle": {}, - "subscriptionStatusActiveLabel": "Actif", - "@subscriptionStatusActiveLabel": {}, - "subscriptionStatusCanceledLabel": "Annulé", - "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "En pause", - "@subscriptionStatusPausedLabel": {}, - "subscriptionStatusPendingLabel": "En attente", - "@subscriptionStatusPendingLabel": {}, - "subscriptionStatusCreatedLabel": "Créé", - "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "Temps mort", - "@subscriptionStatusTimeoutLabel": {}, - "subscriptionStatusUnknownLabel": "Inconnu", - "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "Contributeur de Doctorina", - "@subscriptionDoctorinaContributor": {}, - "subscriptionRenews": "Renouvelle", - "@subscriptionRenews": {}, - "subscriptionCancelButton": "Annuler l'abonnement", - "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "Es-tu sûr?", - "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "Votre soutien mensuel permet à Doctorina d'être gratuit pour les personnes qui en dépendent mais n'ont pas les moyens de payer.\n\nVotre abonnement finance au moins 10 consultations gratuites par mois.\nSi vous vous désabonnez, moins de patients recevront l'aide dont ils ont besoin.", - "@subscriptionAreYouSureDialogText": {}, - "subscriptionAreYouSureDialogKeepButton": "Garder l'abonnement", - "@subscriptionAreYouSureDialogKeepButton": {}, - "subscriptionAreYouSureDialogCancelButton": "Annuler quand même", - "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "Votre abonnement mensuel a bien été annulé.", - "@subscriptionYourMonthlySupportCanceledNotification": {}, - "subscriptionMalformed": "Données d'abonnement incorrectes", - "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "Inscrivez-vous au soutien mensuel pour le faire apparaître ici.", - "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "Pas encore d'abonnement", - "@subscriptionNoSubscriptionsYet": {}, - "subscriptionCreatedAtDateLabel": "Date d'abonnement", - "@subscriptionCreatedAtDateLabel": {}, - "subscriptionExpiresAtDateLabel": "Expire", - "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "ID d'abonnement", - "@subscriptionSubscriptionIdLabel": {}, - "subscriptionProductIdLabel": "ID du produit", - "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "D'accord", - "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "Nous n'avons pas pu traiter votre paiement", - "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "Une erreur s'est produite lors du paiement. Veuillez réessayer.", - "@errorProcessDonationSubtitle": {}, - "errorProcessDonationRetryButton": "Réessayer", - "@errorProcessDonationRetryButton": {}, - "processingDonationTitle": "Traitement des paiements", - "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "Vous finaliserez votre achat sur la page de paiement sécurisée de Stripe.", - "@processingDonationStripeSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_hi.arb b/example/lib/src/arbs/pay/example_hi.arb deleted file mode 100644 index d32a4d5..0000000 --- a/example/lib/src/arbs/pay/example_hi.arb +++ /dev/null @@ -1,173 +0,0 @@ -{ - "@@locale": "hi", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "भुगतान", - "@title": { - "description": "Заголовок экрана" - }, - "exampleButton": "बटन उदाहरण", - "@exampleButton": { - "description": "Пример кнопки" - }, - "donationYesItsAllGoodButton": "हाँ, सब ठीक है!", - "@donationYesItsAllGoodButton": { - "description": "Кнопка доната после рекомендаций" - }, - "everyContributionHealsTitle": "हर योगदान से स्वास्थ्य लाभ होता है!", - "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "आपके योगदान से जरूरतमंद लोगों को मुफ्त सलाह देने में मदद मिलती है।", - "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "जो उचित लगे, वही भुगतान करें,", - "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "या फिर डॉक्टरिना का निःशुल्क उपयोग करते रहें, उन लोगों का धन्यवाद जिन्होंने इसे देने का निर्णय लिया।", - "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "वन टाइम", - "@oneTimeLabel": {}, - "monthlyLabel": "महीने के", - "@monthlyLabel": {}, - "chooseMonthlyDonationAmountLabel": "मासिक दान राशि चुनें", - "@chooseMonthlyDonationAmountLabel": {}, - "subscriptionNoAmount": "आप मासिक योजना की सदस्यता लेने वाले हैं।", - "@subscriptionNoAmount": { - "description": "Сумма подписки еще не выбрана" - }, - "subscriptionAmount": "आप {amount}/माह की मासिक योजना की सदस्यता ले रहे हैं।", - "@subscriptionAmount": { - "description": "Subscription info text with amount", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly subscription amount" - } - } - }, - "subscriptionInfo": "खरीदारी की पुष्टि होने पर आपके खाते से भुगतान लिया जाएगा। सदस्यता हर महीने स्वतः नवीनीकृत हो जाती है, जब तक कि वर्तमान अवधि समाप्त होने से कम से कम 24 घंटे पहले स्वतः नवीनीकरण बंद न कर दिया जाए। आप अपनी खाता सेटिंग में कभी भी अपनी सदस्यता प्रबंधित या रद्द कर सकते हैं। आगे बढ़कर, आप हमारी {termsOfService} और {privacyPolicy} से सहमत होते हैं।", - "@subscriptionInfo": { - "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", - "placeholders": { - "termsOfService": { - "type": "String", - "example": "", - "description": "Clickable span for Terms of Service" - }, - "privacyPolicy": { - "type": "String", - "example": "", - "description": "Clickable span for Privacy Policy" - } - } - }, - "chooseOneTimeDonationAmountLabel": "एकमुश्त दान राशि चुनें", - "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "अधिकांश लोग $7–$15 देते हैं", - "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "मुद्रा चुनें", - "@selectCurrencyTooltip": {}, - "processingPaymentSemantics": "संसाधन संबंधी भुगतान", - "@processingPaymentSemantics": {}, - "processingOneTimePaymentSemantics": "{currency} {amount} का एकमुश्त भुगतान संसाधित किया जा रहा है", - "@processingOneTimePaymentSemantics": { - "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", - "placeholders": { - "currency": { - "type": "String", - "example": "USD", - "description": "Currency code, e.g. USD, EUR, GBP" - }, - "amount": { - "type": "String", - "example": "49.99", - "description": "Payment amount formatted to two decimal places" - } - } - }, - "processingMonthlyPaymentSemantics": "{amount} का मासिक भुगतान संसाधित किया जा रहा है", - "@processingMonthlyPaymentSemantics": { - "description": "Shown when processing a monthly payment with amount placeholder.", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly payment amount formatted to two decimal places" - } - } - }, - "thankYouTitle": "धन्यवाद!", - "@thankYouTitle": {}, - "thankYouSubtitle": "अब और भी अधिक लोगों को निःशुल्क सलाह मिलेगी - आपका सहयोग सचमुच अमूल्य है।", - "@thankYouSubtitle": {}, - "youContributedLabel": "आपने योगदान दिया:", - "@youContributedLabel": {}, - "perMonth": "/ महीना", - "@perMonth": {}, - "returnToTheMainScreenButton": "मुख्य स्क्रीन पर लौटें", - "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "सेवा की शर्तें", - "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "गोपनीयता नीति", - "@privacyPolicyLabel": {}, - "donateButton": "दान करें", - "@donateButton": {}, - "manageSubscriptionTitle": "सदस्यता प्रबंधित करें", - "@manageSubscriptionTitle": {}, - "subscriptionStatusActiveLabel": "सक्रिय", - "@subscriptionStatusActiveLabel": {}, - "subscriptionStatusCanceledLabel": "रद्द", - "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "रुका हुआ", - "@subscriptionStatusPausedLabel": {}, - "subscriptionStatusPendingLabel": "लंबित", - "@subscriptionStatusPendingLabel": {}, - "subscriptionStatusCreatedLabel": "बनाया था", - "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "समय समाप्ति", - "@subscriptionStatusTimeoutLabel": {}, - "subscriptionStatusUnknownLabel": "अज्ञात", - "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "डॉक्टरिना योगदानकर्ता", - "@subscriptionDoctorinaContributor": {}, - "subscriptionRenews": "नवीनिकृत", - "@subscriptionRenews": {}, - "subscriptionCancelButton": "सदस्यता रद्द करें", - "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "क्या आपको यकीन है?", - "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "आपके मासिक सहयोग से डॉक्टरिना उन लोगों के लिए मुफ़्त है जो इस पर निर्भर हैं लेकिन भुगतान नहीं कर सकते।\n\nआपकी सदस्यता से हर महीने कम से कम 10 मुफ़्त परामर्श मिलते हैं।\nअगर आप इसे छोड़ देते हैं, तो कम मरीज़ों को ज़रूरी मदद मिल पाएगी।", - "@subscriptionAreYouSureDialogText": {}, - "subscriptionAreYouSureDialogKeepButton": "सदस्यता बनाए रखें", - "@subscriptionAreYouSureDialogKeepButton": {}, - "subscriptionAreYouSureDialogCancelButton": "फिर भी रद्द करें", - "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "आपका मासिक समर्थन\nसफलतापूर्वक रद्द कर दिया गया है।", - "@subscriptionYourMonthlySupportCanceledNotification": {}, - "subscriptionMalformed": "गलत सदस्यता डेटा", - "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "मासिक सहायता के लिए साइन अप करें ताकि यह यहां प्रदर्शित हो सके।", - "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "अभी तक कोई सदस्यता नहीं", - "@subscriptionNoSubscriptionsYet": {}, - "subscriptionCreatedAtDateLabel": "सदस्यता तिथि", - "@subscriptionCreatedAtDateLabel": {}, - "subscriptionExpiresAtDateLabel": "समय-सीमा समाप्त", - "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "सदस्यता आईडी", - "@subscriptionSubscriptionIdLabel": {}, - "subscriptionProductIdLabel": "उत्पाद आयडी", - "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "ठीक है", - "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "हम आपका भुगतान आगे नहीं बढ़ा सके", - "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "भुगतान में कुछ गड़बड़ी हुई है।\nकृपया पुनः प्रयास करें।", - "@errorProcessDonationSubtitle": {}, - "errorProcessDonationRetryButton": "पुन: प्रयास करें", - "@errorProcessDonationRetryButton": {}, - "processingDonationTitle": "संसाधन संबंधी भुगतान", - "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "आप अपनी खरीदारी Stripe के सुरक्षित चेकआउट पृष्ठ पर पूरी करेंगे।", - "@processingDonationStripeSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_it.arb b/example/lib/src/arbs/pay/example_it.arb deleted file mode 100644 index d8f7eda..0000000 --- a/example/lib/src/arbs/pay/example_it.arb +++ /dev/null @@ -1,173 +0,0 @@ -{ - "@@locale": "it", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Pagamento", - "@title": { - "description": "Заголовок экрана" - }, - "exampleButton": "Esempio di pulsante", - "@exampleButton": { - "description": "Пример кнопки" - }, - "donationYesItsAllGoodButton": "Sì, va tutto bene!", - "@donationYesItsAllGoodButton": { - "description": "Кнопка доната после рекомендаций" - }, - "everyContributionHealsTitle": "Ogni contributo guarisce!", - "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "Il tuo contributo aiuta a finanziare la consulenza gratuita per altre persone bisognose.", - "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "Paga quello che ritieni giusto,", - "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "oppure continua a usare Doctorina gratuitamente, grazie ad altri che hanno scelto di donare.", - "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "Una volta", - "@oneTimeLabel": {}, - "monthlyLabel": "Mensile", - "@monthlyLabel": {}, - "chooseMonthlyDonationAmountLabel": "Scegli l'importo della donazione mensile", - "@chooseMonthlyDonationAmountLabel": {}, - "subscriptionNoAmount": "Stai per sottoscrivere un abbonamento mensile.", - "@subscriptionNoAmount": { - "description": "Сумма подписки еще не выбрана" - }, - "subscriptionAmount": "Stai sottoscrivendo un abbonamento mensile per {amount}/mese.", - "@subscriptionAmount": { - "description": "Subscription info text with amount", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly subscription amount" - } - } - }, - "subscriptionInfo": "Il pagamento verrà addebitato sul tuo account alla conferma dell'acquisto. L'abbonamento si rinnova automaticamente ogni mese, a meno che il rinnovo automatico non venga disattivato almeno 24 ore prima della fine del periodo in corso. Puoi gestire o annullare l'abbonamento in qualsiasi momento nelle impostazioni del tuo account. Procedendo, accetti i nostri {termsOfService} e la {privacyPolicy}.", - "@subscriptionInfo": { - "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", - "placeholders": { - "termsOfService": { - "type": "String", - "example": "", - "description": "Clickable span for Terms of Service" - }, - "privacyPolicy": { - "type": "String", - "example": "", - "description": "Clickable span for Privacy Policy" - } - } - }, - "chooseOneTimeDonationAmountLabel": "Scegli l'importo della donazione una tantum", - "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "La maggior parte delle persone dona dai 7 ai 15 dollari", - "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "Seleziona la valuta", - "@selectCurrencyTooltip": {}, - "processingPaymentSemantics": "Elaborazione del pagamento", - "@processingPaymentSemantics": {}, - "processingOneTimePaymentSemantics": "Elaborazione di un pagamento una tantum di {currency} {amount}", - "@processingOneTimePaymentSemantics": { - "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", - "placeholders": { - "currency": { - "type": "String", - "example": "USD", - "description": "Currency code, e.g. USD, EUR, GBP" - }, - "amount": { - "type": "String", - "example": "49.99", - "description": "Payment amount formatted to two decimal places" - } - } - }, - "processingMonthlyPaymentSemantics": "Elaborazione del pagamento mensile di {amount}", - "@processingMonthlyPaymentSemantics": { - "description": "Shown when processing a monthly payment with amount placeholder.", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly payment amount formatted to two decimal places" - } - } - }, - "thankYouTitle": "Grazie!", - "@thankYouTitle": {}, - "thankYouSubtitle": "Ora ancora più persone riceveranno consulenza gratuita: il vostro supporto è davvero inestimabile.", - "@thankYouSubtitle": {}, - "youContributedLabel": "Hai contribuito:", - "@youContributedLabel": {}, - "perMonth": "/ mese", - "@perMonth": {}, - "returnToTheMainScreenButton": "Torna alla schermata principale", - "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "Termini di servizio", - "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "politica sulla riservatezza", - "@privacyPolicyLabel": {}, - "donateButton": "Donare", - "@donateButton": {}, - "manageSubscriptionTitle": "Gestisci l'abbonamento", - "@manageSubscriptionTitle": {}, - "subscriptionStatusActiveLabel": "Attivo", - "@subscriptionStatusActiveLabel": {}, - "subscriptionStatusCanceledLabel": "Annullato", - "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "In pausa", - "@subscriptionStatusPausedLabel": {}, - "subscriptionStatusPendingLabel": "In attesa di", - "@subscriptionStatusPendingLabel": {}, - "subscriptionStatusCreatedLabel": "Creato", - "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "Tempo scaduto", - "@subscriptionStatusTimeoutLabel": {}, - "subscriptionStatusUnknownLabel": "Sconosciuto", - "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "Collaboratore di Doctorina", - "@subscriptionDoctorinaContributor": {}, - "subscriptionRenews": "Rinnova", - "@subscriptionRenews": {}, - "subscriptionCancelButton": "Annulla abbonamento", - "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "Sei sicuro?", - "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "Il tuo contributo mensile mantiene Doctorina gratuito per le persone che ne fanno affidamento ma non possono permettersi di pagare.\n\nIl tuo abbonamento finanzia almeno 10 consulenze gratuite ogni mese.\nSe abbandoni l'abbonamento, meno pazienti riceveranno l'assistenza di cui hanno bisogno.", - "@subscriptionAreYouSureDialogText": {}, - "subscriptionAreYouSureDialogKeepButton": "Mantieni l'abbonamento", - "@subscriptionAreYouSureDialogKeepButton": {}, - "subscriptionAreYouSureDialogCancelButton": "Annulla comunque", - "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "Il tuo supporto mensile\nè stato annullato con successo.", - "@subscriptionYourMonthlySupportCanceledNotification": {}, - "subscriptionMalformed": "Dati di abbonamento errati", - "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "Iscriviti al supporto mensile per vederlo apparire qui.", - "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "Nessun abbonamento ancora", - "@subscriptionNoSubscriptionsYet": {}, - "subscriptionCreatedAtDateLabel": "Data di sottoscrizione", - "@subscriptionCreatedAtDateLabel": {}, - "subscriptionExpiresAtDateLabel": "Scade", - "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "ID abbonamento", - "@subscriptionSubscriptionIdLabel": {}, - "subscriptionProductIdLabel": "ID prodotto", - "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "OK", - "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "Non siamo riusciti a procedere con il pagamento", - "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "Si è verificato un errore durante il pagamento.\nRiprova.", - "@errorProcessDonationSubtitle": {}, - "errorProcessDonationRetryButton": "Riprova", - "@errorProcessDonationRetryButton": {}, - "processingDonationTitle": "Elaborazione del pagamento", - "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "Completerai il tuo acquisto sulla pagina di pagamento sicura di Stripe.", - "@processingDonationStripeSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_ko.arb b/example/lib/src/arbs/pay/example_ko.arb deleted file mode 100644 index 1a6ad62..0000000 --- a/example/lib/src/arbs/pay/example_ko.arb +++ /dev/null @@ -1,173 +0,0 @@ -{ - "@@locale": "ko", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "지불", - "@title": { - "description": "Заголовок экрана" - }, - "exampleButton": "버튼 예시", - "@exampleButton": { - "description": "Пример кнопки" - }, - "donationYesItsAllGoodButton": "네, 다 괜찮아요!", - "@donationYesItsAllGoodButton": { - "description": "Кнопка доната после рекомендаций" - }, - "everyContributionHealsTitle": "모든 기여는 치유를 가져다줍니다!", - "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "귀하의 기부금은 도움이 필요한 다른 사람들에게 무료 상담을 제공하는 데 도움이 됩니다.", - "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "옳다고 생각되는 금액을 지불하세요.", - "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "또는 다른 사람들이 기부를 선택했기 때문에 Doctorina를 계속 무료로 사용할 수 있습니다.", - "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "일회성", - "@oneTimeLabel": {}, - "monthlyLabel": "월간 간행물", - "@monthlyLabel": {}, - "chooseMonthlyDonationAmountLabel": "월 기부 금액을 선택하세요", - "@chooseMonthlyDonationAmountLabel": {}, - "subscriptionNoAmount": "월간 요금제를 구독하려고 합니다.", - "@subscriptionNoAmount": { - "description": "Сумма подписки еще не выбрана" - }, - "subscriptionAmount": "{amount}/월에 월간 요금제를 구독하고 있습니다.", - "@subscriptionAmount": { - "description": "Subscription info text with amount", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly subscription amount" - } - } - }, - "subscriptionInfo": "구매 확인 시 계정으로 요금이 청구됩니다. 현재 구독 기간 종료 최소 24시간 전에 자동 갱신을 해제하지 않으면 구독은 매달 자동으로 갱신됩니다. 계정 설정에서 언제든지 구독을 관리하거나 취소할 수 있습니다. 계속 진행하시면 {termsOfService} 및 {privacyPolicy}에 동의하는 것으로 간주됩니다.", - "@subscriptionInfo": { - "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", - "placeholders": { - "termsOfService": { - "type": "String", - "example": "", - "description": "Clickable span for Terms of Service" - }, - "privacyPolicy": { - "type": "String", - "example": "", - "description": "Clickable span for Privacy Policy" - } - } - }, - "chooseOneTimeDonationAmountLabel": "일회 기부 금액을 선택하세요", - "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "대부분의 사람들은 $7~$15를 기부합니다.", - "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "통화 선택", - "@selectCurrencyTooltip": {}, - "processingPaymentSemantics": "결제 처리 중", - "@processingPaymentSemantics": {}, - "processingOneTimePaymentSemantics": "{currency} {amount}의 일회성 결제 처리 중", - "@processingOneTimePaymentSemantics": { - "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", - "placeholders": { - "currency": { - "type": "String", - "example": "USD", - "description": "Currency code, e.g. USD, EUR, GBP" - }, - "amount": { - "type": "String", - "example": "49.99", - "description": "Payment amount formatted to two decimal places" - } - } - }, - "processingMonthlyPaymentSemantics": "{amount}의 월별 지불 처리 중", - "@processingMonthlyPaymentSemantics": { - "description": "Shown when processing a monthly payment with amount placeholder.", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly payment amount formatted to two decimal places" - } - } - }, - "thankYouTitle": "감사합니다!", - "@thankYouTitle": {}, - "thankYouSubtitle": "이제 더 많은 사람들이 무료 상담을 받게 될 것입니다. 여러분의 지원은 정말 귀중합니다.", - "@thankYouSubtitle": {}, - "youContributedLabel": "귀하의 기여:", - "@youContributedLabel": {}, - "perMonth": "/ 월", - "@perMonth": {}, - "returnToTheMainScreenButton": "메인 화면으로 돌아가기", - "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "서비스 약관", - "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "개인정보 보호정책", - "@privacyPolicyLabel": {}, - "donateButton": "기부하기", - "@donateButton": {}, - "manageSubscriptionTitle": "구독 관리", - "@manageSubscriptionTitle": {}, - "subscriptionStatusActiveLabel": "활동적인", - "@subscriptionStatusActiveLabel": {}, - "subscriptionStatusCanceledLabel": "취소", - "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "일시 중지됨", - "@subscriptionStatusPausedLabel": {}, - "subscriptionStatusPendingLabel": "보류 중", - "@subscriptionStatusPendingLabel": {}, - "subscriptionStatusCreatedLabel": "생성됨", - "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "타임아웃", - "@subscriptionStatusTimeoutLabel": {}, - "subscriptionStatusUnknownLabel": "알려지지 않은", - "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "닥터리나 기고자", - "@subscriptionDoctorinaContributor": {}, - "subscriptionRenews": "갱신하다", - "@subscriptionRenews": {}, - "subscriptionCancelButton": "구독 취소", - "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "정말이에요?", - "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "월간 후원을 통해 Doctorina를 무료로 이용하실 수 있습니다. 부담스러운 분들을 위해 Doctorina를 무료로 제공해 드립니다.\n\n구독을 통해 매달 최소 10회의 무료 상담을 받으실 수 있습니다.\n구독을 중단하시면 필요한 도움을 받을 수 있는 환자가 줄어들게 됩니다.", - "@subscriptionAreYouSureDialogText": {}, - "subscriptionAreYouSureDialogKeepButton": "구독 유지", - "@subscriptionAreYouSureDialogKeepButton": {}, - "subscriptionAreYouSureDialogCancelButton": "어쨌든 취소하세요", - "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "월간 지원이\n취소되었습니다.", - "@subscriptionYourMonthlySupportCanceledNotification": {}, - "subscriptionMalformed": "잘못된 구독 데이터", - "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "여기에 표시되려면 월별 지원에 가입하세요.", - "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "아직 구독이 없습니다", - "@subscriptionNoSubscriptionsYet": {}, - "subscriptionCreatedAtDateLabel": "구독 날짜", - "@subscriptionCreatedAtDateLabel": {}, - "subscriptionExpiresAtDateLabel": "만료", - "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "구독 ID", - "@subscriptionSubscriptionIdLabel": {}, - "subscriptionProductIdLabel": "제품 ID", - "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "좋아요", - "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "결제를 진행할 수 없습니다.", - "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "결제 과정에서 문제가 발생했습니다.\n다시 시도해 주세요.", - "@errorProcessDonationSubtitle": {}, - "errorProcessDonationRetryButton": "다시 해 보다", - "@errorProcessDonationRetryButton": {}, - "processingDonationTitle": "결제 처리 중", - "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "Stripe의 안전한 결제 페이지에서 구매를 완료하세요.", - "@processingDonationStripeSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_ru.arb b/example/lib/src/arbs/pay/example_ru.arb deleted file mode 100644 index 28620eb..0000000 --- a/example/lib/src/arbs/pay/example_ru.arb +++ /dev/null @@ -1,173 +0,0 @@ -{ - "@@locale": "ru", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Оплата", - "@title": { - "description": "Заголовок экрана" - }, - "exampleButton": "Пример кнопки", - "@exampleButton": { - "description": "Пример кнопки" - }, - "donationYesItsAllGoodButton": "Да, все хорошо!", - "@donationYesItsAllGoodButton": { - "description": "Кнопка доната после рекомендаций" - }, - "everyContributionHealsTitle": "Каждый вклад лечит!", - "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "Ваш вклад поможет финансировать бесплатные консультации для других нуждающихся.", - "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "Платите столько, сколько считаете нужным,", - "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "или продолжайте пользоваться Doctorina бесплатно, благодаря другим, кто решил пожертвовать.", - "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "Один раз", - "@oneTimeLabel": {}, - "monthlyLabel": "Ежемесячно", - "@monthlyLabel": {}, - "chooseMonthlyDonationAmountLabel": "Выберите сумму ежемесячного пожертвования", - "@chooseMonthlyDonationAmountLabel": {}, - "subscriptionNoAmount": "Вы собираетесь оформить подписку на ежемесячный план.", - "@subscriptionNoAmount": { - "description": "Сумма подписки еще не выбрана" - }, - "subscriptionAmount": "Вы оформляете ежемесячную подписку на {amount}/месяц.", - "@subscriptionAmount": { - "description": "Subscription info text with amount", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly subscription amount" - } - } - }, - "subscriptionInfo": "Оплата будет списана с вашего счёта при подтверждении покупки. Подписка автоматически продлевается каждый месяц, если автоматическое продление не будет отключено как минимум за 24 часа до окончания текущего периода. Вы можете управлять подпиской или отменить её в любое время в настройках своей учётной записи. Продолжая, вы соглашаетесь с нашими {termsOfService} и {privacyPolicy}.", - "@subscriptionInfo": { - "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", - "placeholders": { - "termsOfService": { - "type": "String", - "example": "", - "description": "Clickable span for Terms of Service" - }, - "privacyPolicy": { - "type": "String", - "example": "", - "description": "Clickable span for Privacy Policy" - } - } - }, - "chooseOneTimeDonationAmountLabel": "Выберите сумму единовременного пожертвования", - "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "Большинство людей дают 7–15 долларов", - "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "Выберите валюту", - "@selectCurrencyTooltip": {}, - "processingPaymentSemantics": "Обработка платежа", - "@processingPaymentSemantics": {}, - "processingOneTimePaymentSemantics": "Обработка единовременного платежа в размере {currency} {amount}", - "@processingOneTimePaymentSemantics": { - "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", - "placeholders": { - "currency": { - "type": "String", - "example": "USD", - "description": "Currency code, e.g. USD, EUR, GBP" - }, - "amount": { - "type": "String", - "example": "49.99", - "description": "Payment amount formatted to two decimal places" - } - } - }, - "processingMonthlyPaymentSemantics": "Обработка ежемесячного платежа в размере {amount}", - "@processingMonthlyPaymentSemantics": { - "description": "Shown when processing a monthly payment with amount placeholder.", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly payment amount formatted to two decimal places" - } - } - }, - "thankYouTitle": "Спасибо!", - "@thankYouTitle": {}, - "thankYouSubtitle": "Теперь еще больше людей получат бесплатные консультации — ваша поддержка действительно бесценна.", - "@thankYouSubtitle": {}, - "youContributedLabel": "Вы внесли свой вклад:", - "@youContributedLabel": {}, - "perMonth": "/ месяц", - "@perMonth": {}, - "returnToTheMainScreenButton": "Вернуться на главный экран", - "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "Условия обслуживания", - "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "политика конфиденциальности", - "@privacyPolicyLabel": {}, - "donateButton": "Пожертвовать", - "@donateButton": {}, - "manageSubscriptionTitle": "Управление подпиской", - "@manageSubscriptionTitle": {}, - "subscriptionStatusActiveLabel": "Активна", - "@subscriptionStatusActiveLabel": {}, - "subscriptionStatusCanceledLabel": "Отменена", - "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "Приостановлена", - "@subscriptionStatusPausedLabel": {}, - "subscriptionStatusPendingLabel": "В ожидании", - "@subscriptionStatusPendingLabel": {}, - "subscriptionStatusCreatedLabel": "Создана", - "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "Тайм-аут", - "@subscriptionStatusTimeoutLabel": {}, - "subscriptionStatusUnknownLabel": "Неизвестно", - "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "Участник Doctorina", - "@subscriptionDoctorinaContributor": {}, - "subscriptionRenews": "Обновляется", - "@subscriptionRenews": {}, - "subscriptionCancelButton": "Отменить подписку", - "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "Вы уверены?", - "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "Ваша ежемесячная поддержка позволяет людям, которые пользуются Doctorina, но не могут позволить себе платить, получать бесплатную подписку.\n\nВаша подписка покрывает как минимум 10 бесплатных консультаций в месяц.\nЕсли вы откажетесь от услуг, меньше пациентов получат необходимую им помощь.", - "@subscriptionAreYouSureDialogText": {}, - "subscriptionAreYouSureDialogKeepButton": "Сохранить подписку", - "@subscriptionAreYouSureDialogKeepButton": {}, - "subscriptionAreYouSureDialogCancelButton": "Отменить в любом случае", - "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "Ваша ежемесячная поддержка\nбыла успешно отменена.", - "@subscriptionYourMonthlySupportCanceledNotification": {}, - "subscriptionMalformed": "Некорректные данные подписки", - "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "Оформите ежемесячную поддержку, чтобы она появилась здесь.", - "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "Подписок пока нет", - "@subscriptionNoSubscriptionsYet": {}, - "subscriptionCreatedAtDateLabel": "Дата оформления подписки", - "@subscriptionCreatedAtDateLabel": {}, - "subscriptionExpiresAtDateLabel": "Истекает", - "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "Идентификатор подписки", - "@subscriptionSubscriptionIdLabel": {}, - "subscriptionProductIdLabel": "Идентификатор продукта", - "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "Хорошо", - "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "Мы не смогли обработать ваш платеж", - "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "Произошла ошибка при оплате.\nПопробуйте ещё раз.", - "@errorProcessDonationSubtitle": {}, - "errorProcessDonationRetryButton": "Повторить попытку", - "@errorProcessDonationRetryButton": {}, - "processingDonationTitle": "Обработка платежа", - "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "Покупку можно завершить на защищенной странице оформления заказа Stripe.", - "@processingDonationStripeSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_zh.arb b/example/lib/src/arbs/pay/example_zh.arb deleted file mode 100644 index 4f5991e..0000000 --- a/example/lib/src/arbs/pay/example_zh.arb +++ /dev/null @@ -1,173 +0,0 @@ -{ - "@@locale": "zh", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "支付", - "@title": { - "description": "Заголовок экрана" - }, - "exampleButton": "按钮示例", - "@exampleButton": { - "description": "Пример кнопки" - }, - "donationYesItsAllGoodButton": "是的,一切都很好!", - "@donationYesItsAllGoodButton": { - "description": "Кнопка доната после рекомендаций" - }, - "everyContributionHealsTitle": "每一次贡献都会带来治愈!", - "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "您的捐款有助于为有需要的人提供免费建议。", - "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "支付合适的费用,", - "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "或者继续免费使用 Doctorina,感谢其他选择捐赠的人。", - "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "一度", - "@oneTimeLabel": {}, - "monthlyLabel": "每月", - "@monthlyLabel": {}, - "chooseMonthlyDonationAmountLabel": "选择每月捐款金额", - "@chooseMonthlyDonationAmountLabel": {}, - "subscriptionNoAmount": "您即将订阅月度计划。", - "@subscriptionNoAmount": { - "description": "Сумма подписки еще не выбрана" - }, - "subscriptionAmount": "您正在订阅每月 {amount} 的月度计划。", - "@subscriptionAmount": { - "description": "Subscription info text with amount", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly subscription amount" - } - } - }, - "subscriptionInfo": "确认购买后,款项将从您的账户中扣除。除非在当前订阅期结束前至少 24 小时关闭自动续订,否则订阅将每月自动续订。您可以随时在账户设置中管理或取消订阅。继续操作即表示您同意我们的{termsOfService}和{privacyPolicy}。", - "@subscriptionInfo": { - "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", - "placeholders": { - "termsOfService": { - "type": "String", - "example": "", - "description": "Clickable span for Terms of Service" - }, - "privacyPolicy": { - "type": "String", - "example": "", - "description": "Clickable span for Privacy Policy" - } - } - }, - "chooseOneTimeDonationAmountLabel": "选择一次性捐款金额", - "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "大多数人捐赠 7 至 15 美元", - "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "选择货币", - "@selectCurrencyTooltip": {}, - "processingPaymentSemantics": "处理付款", - "@processingPaymentSemantics": {}, - "processingOneTimePaymentSemantics": "正在处理一次性付款 {currency} {amount}", - "@processingOneTimePaymentSemantics": { - "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", - "placeholders": { - "currency": { - "type": "String", - "example": "USD", - "description": "Currency code, e.g. USD, EUR, GBP" - }, - "amount": { - "type": "String", - "example": "49.99", - "description": "Payment amount formatted to two decimal places" - } - } - }, - "processingMonthlyPaymentSemantics": "处理每月 {amount} 的付款", - "@processingMonthlyPaymentSemantics": { - "description": "Shown when processing a monthly payment with amount placeholder.", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly payment amount formatted to two decimal places" - } - } - }, - "thankYouTitle": "谢谢你!", - "@thankYouTitle": {}, - "thankYouSubtitle": "现在将有更多的人获得免费建议——您的支持确实非常宝贵。", - "@thankYouSubtitle": {}, - "youContributedLabel": "您贡献了:", - "@youContributedLabel": {}, - "perMonth": "/ 月", - "@perMonth": {}, - "returnToTheMainScreenButton": "返回主屏幕", - "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "服务条款", - "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "隐私政策", - "@privacyPolicyLabel": {}, - "donateButton": "捐", - "@donateButton": {}, - "manageSubscriptionTitle": "管理订阅", - "@manageSubscriptionTitle": {}, - "subscriptionStatusActiveLabel": "积极的", - "@subscriptionStatusActiveLabel": {}, - "subscriptionStatusCanceledLabel": "取消", - "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "已暂停", - "@subscriptionStatusPausedLabel": {}, - "subscriptionStatusPendingLabel": "待办的", - "@subscriptionStatusPendingLabel": {}, - "subscriptionStatusCreatedLabel": "创建", - "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "暂停", - "@subscriptionStatusTimeoutLabel": {}, - "subscriptionStatusUnknownLabel": "未知", - "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "Doctorina 撰稿人", - "@subscriptionDoctorinaContributor": {}, - "subscriptionRenews": "续订", - "@subscriptionRenews": {}, - "subscriptionCancelButton": "取消订阅", - "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "你确定吗?", - "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "您的每月支持将使那些依赖 Doctorina 但无力支付的患者能够免费使用。\n\n您的订阅费用每月至少可支持 10 次免费咨询。\n如果您离开,获得所需帮助的患者将会减少。", - "@subscriptionAreYouSureDialogText": {}, - "subscriptionAreYouSureDialogKeepButton": "保持订阅", - "@subscriptionAreYouSureDialogKeepButton": {}, - "subscriptionAreYouSureDialogCancelButton": "仍然取消", - "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "您的每月支持已成功取消。", - "@subscriptionYourMonthlySupportCanceledNotification": {}, - "subscriptionMalformed": "订阅数据不正确", - "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "注册每月支持以使其出现在这里。", - "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "尚未订阅", - "@subscriptionNoSubscriptionsYet": {}, - "subscriptionCreatedAtDateLabel": "订阅日期", - "@subscriptionCreatedAtDateLabel": {}, - "subscriptionExpiresAtDateLabel": "过期", - "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "订阅 ID", - "@subscriptionSubscriptionIdLabel": {}, - "subscriptionProductIdLabel": "产品 ID", - "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "好的", - "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "我们无法继续您的付款", - "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "付款出现问题。\n请重试。", - "@errorProcessDonationSubtitle": {}, - "errorProcessDonationRetryButton": "重试", - "@errorProcessDonationRetryButton": {}, - "processingDonationTitle": "处理付款", - "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "您将在 Stripe 的安全结账页面上完成购买。", - "@processingDonationStripeSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_zh_CN.arb b/example/lib/src/arbs/pay/example_zh_CN.arb deleted file mode 100644 index 2b7026d..0000000 --- a/example/lib/src/arbs/pay/example_zh_CN.arb +++ /dev/null @@ -1,173 +0,0 @@ -{ - "@@locale": "zh_CN", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "支付", - "@title": { - "description": "Заголовок экрана" - }, - "exampleButton": "按钮示例", - "@exampleButton": { - "description": "Пример кнопки" - }, - "donationYesItsAllGoodButton": "是的,一切都很好!", - "@donationYesItsAllGoodButton": { - "description": "Кнопка доната после рекомендаций" - }, - "everyContributionHealsTitle": "每一次贡献都会带来治愈!", - "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "您的捐款有助于为有需要的人提供免费建议。", - "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "支付合适的费用,", - "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "或者继续免费使用 Doctorina,感谢其他选择捐赠的人。", - "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "一度", - "@oneTimeLabel": {}, - "monthlyLabel": "每月", - "@monthlyLabel": {}, - "chooseMonthlyDonationAmountLabel": "选择每月捐款金额", - "@chooseMonthlyDonationAmountLabel": {}, - "subscriptionNoAmount": "您即将订阅月度计划。", - "@subscriptionNoAmount": { - "description": "Сумма подписки еще не выбрана" - }, - "subscriptionAmount": "您正在订阅每月 {amount} 的月度计划。", - "@subscriptionAmount": { - "description": "Subscription info text with amount", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly subscription amount" - } - } - }, - "subscriptionInfo": "确认购买后,款项将从您的账户中扣除。除非在当前订阅期结束前至少 24 小时关闭自动续订,否则订阅将每月自动续订。您可以随时在账户设置中管理或取消订阅。继续操作即表示您同意我们的{termsOfService}和{privacyPolicy}。", - "@subscriptionInfo": { - "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", - "placeholders": { - "termsOfService": { - "type": "String", - "example": "", - "description": "Clickable span for Terms of Service" - }, - "privacyPolicy": { - "type": "String", - "example": "", - "description": "Clickable span for Privacy Policy" - } - } - }, - "chooseOneTimeDonationAmountLabel": "选择一次性捐款金额", - "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "大多数人捐赠 7 至 15 美元", - "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "选择货币", - "@selectCurrencyTooltip": {}, - "processingPaymentSemantics": "处理付款", - "@processingPaymentSemantics": {}, - "processingOneTimePaymentSemantics": "正在处理一次性付款 {currency} {amount}", - "@processingOneTimePaymentSemantics": { - "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", - "placeholders": { - "currency": { - "type": "String", - "example": "USD", - "description": "Currency code, e.g. USD, EUR, GBP" - }, - "amount": { - "type": "String", - "example": "49.99", - "description": "Payment amount formatted to two decimal places" - } - } - }, - "processingMonthlyPaymentSemantics": "处理每月 {amount} 的付款", - "@processingMonthlyPaymentSemantics": { - "description": "Shown when processing a monthly payment with amount placeholder.", - "placeholders": { - "amount": { - "type": "String", - "example": "9.99", - "description": "Monthly payment amount formatted to two decimal places" - } - } - }, - "thankYouTitle": "谢谢你!", - "@thankYouTitle": {}, - "thankYouSubtitle": "现在将有更多的人获得免费建议——您的支持确实非常宝贵。", - "@thankYouSubtitle": {}, - "youContributedLabel": "您贡献了:", - "@youContributedLabel": {}, - "perMonth": "/ 月", - "@perMonth": {}, - "returnToTheMainScreenButton": "返回主屏幕", - "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "服务条款", - "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "隐私政策", - "@privacyPolicyLabel": {}, - "donateButton": "捐", - "@donateButton": {}, - "manageSubscriptionTitle": "管理订阅", - "@manageSubscriptionTitle": {}, - "subscriptionStatusActiveLabel": "积极的", - "@subscriptionStatusActiveLabel": {}, - "subscriptionStatusCanceledLabel": "取消", - "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "已暂停", - "@subscriptionStatusPausedLabel": {}, - "subscriptionStatusPendingLabel": "待办的", - "@subscriptionStatusPendingLabel": {}, - "subscriptionStatusCreatedLabel": "创建", - "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "暂停", - "@subscriptionStatusTimeoutLabel": {}, - "subscriptionStatusUnknownLabel": "未知", - "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "Doctorina 撰稿人", - "@subscriptionDoctorinaContributor": {}, - "subscriptionRenews": "续订", - "@subscriptionRenews": {}, - "subscriptionCancelButton": "取消订阅", - "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "你确定吗?", - "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "您的每月支持将使那些依赖 Doctorina 但无力支付的患者能够免费使用。\n\n您的订阅费用每月至少可支持 10 次免费咨询。\n如果您离开,获得所需帮助的患者将会减少。", - "@subscriptionAreYouSureDialogText": {}, - "subscriptionAreYouSureDialogKeepButton": "保持订阅", - "@subscriptionAreYouSureDialogKeepButton": {}, - "subscriptionAreYouSureDialogCancelButton": "仍然取消", - "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "您的每月支持已成功取消。", - "@subscriptionYourMonthlySupportCanceledNotification": {}, - "subscriptionMalformed": "订阅数据不正确", - "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "注册每月支持以使其出现在这里。", - "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "尚未订阅", - "@subscriptionNoSubscriptionsYet": {}, - "subscriptionCreatedAtDateLabel": "订阅日期", - "@subscriptionCreatedAtDateLabel": {}, - "subscriptionExpiresAtDateLabel": "过期", - "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "订阅 ID", - "@subscriptionSubscriptionIdLabel": {}, - "subscriptionProductIdLabel": "产品 ID", - "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "好的", - "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "我们无法继续您的付款", - "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "付款出现问题。\n请重试。", - "@errorProcessDonationSubtitle": {}, - "errorProcessDonationRetryButton": "重试", - "@errorProcessDonationRetryButton": {}, - "processingDonationTitle": "处理付款", - "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "您将在 Stripe 的安全结账页面上完成购买。", - "@processingDonationStripeSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_ar.arb b/example/lib/src/arbs/settings/example_ar.arb deleted file mode 100644 index 8e6cf7d..0000000 --- a/example/lib/src/arbs/settings/example_ar.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "ar", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "إعدادات الحساب", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "مسح جميع الدردشات", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "سيؤدي هذا إلى حذف سجل الدردشة الخاص بك بشكل دائم.", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "مسح جميع الدردشات", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "مسح جميع الدردشات", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "حذف الحساب", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "إن حذف حسابك هو إجراء دائم ولا يمكن التراجع عنه.", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "يمسح", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "حذف الحساب", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "تسجيل الخروج", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "سيتم تسجيل خروجك من حسابك.", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "تسجيل الخروج", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "إرسال تقرير عن الخطأ", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "أرسل رسالة باستخدام [⏎ Enter]", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "أرسل رسالة باستخدام [⏎ Enter] وسطر جديد باستخدام [Shift] + [⏎ Enter]", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "لغة", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "حدد اللغة المفضلة لديك لواجهة التطبيق", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "الوضع المظلم", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "قم بتمكين الوضع المظلم للحصول على تجربة مشاهدة مريحة في الإضاءة المنخفضة", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "السجلات", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "عرض وإدارة سجلات التطبيق للتصحيح", - "@sectionLogsSubtitle": {}, - "doneButton": "منتهي", - "@doneButton": {}, - "bugReportDialogTitle": "تقرير الأخطاء", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "يرجى وصف الخطأ الذي واجهته", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "إرفاق الملفات", - "@attachFilesButtonTooltip": {}, - "filePickerError": "فشل في اختيار الملفات", - "@filePickerError": {}, - "emptyBugReportError": "الرجاء إدخال تقرير الخطأ أولاً", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "فشل في إرسال تقرير الخطأ", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "إدارة الاشتراك", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "إدارة إعدادات اشتراكك", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_bn.arb b/example/lib/src/arbs/settings/example_bn.arb deleted file mode 100644 index 1f486e8..0000000 --- a/example/lib/src/arbs/settings/example_bn.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "bn", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "অ্যাকাউন্ট সেটিংস", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "সমস্ত চ্যাট সাফ করুন", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "এটি স্থায়ীভাবে আপনার চ্যাট ইতিহাস মুছে ফেলবে।", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "সমস্ত চ্যাট সাফ করুন", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "সমস্ত চ্যাট সাফ করুন", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "অ্যাকাউন্ট মুছুন", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "আপনার অ্যাকাউন্ট মুছে ফেলা একটি স্থায়ী কাজ এবং পূর্বাবস্থায় ফেরানো যাবে না।", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "মুছুন", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "অ্যাকাউন্ট মুছুন", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "সাইন আউট", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "আপনি আপনার অ্যাকাউন্ট থেকে সাইন আউট করা হবে.", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "সাইন আউট", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "বাগ রিপোর্ট পাঠান", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "[⏎ Enter] দিয়ে বার্তা পাঠান", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "[⏎ Enter] দিয়ে একটি বার্তা পাঠান এবং [Shift] + [⏎ Enter] দিয়ে একটি নতুন লাইন পাঠান", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "ভাষা", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "অ্যাপ ইন্টারফেসের জন্য আপনার পছন্দের ভাষা নির্বাচন করুন", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "ডার্ক মোড", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "কম আলোতে আরামদায়ক দেখার অভিজ্ঞতার জন্য অন্ধকার মোড সক্ষম করুন", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "লগ", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "ডিবাগিংয়ের জন্য অ্যাপ্লিকেশন লগগুলি দেখুন এবং পরিচালনা করুন৷", - "@sectionLogsSubtitle": {}, - "doneButton": "সম্পন্ন", - "@doneButton": {}, - "bugReportDialogTitle": "বাগ রিপোর্ট", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "আপনি সম্মুখীন বাগ বর্ণনা করুন", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "ফাইল সংযুক্ত করুন", - "@attachFilesButtonTooltip": {}, - "filePickerError": "ফাইল বাছাই করতে ব্যর্থ হয়েছে", - "@filePickerError": {}, - "emptyBugReportError": "অনুগ্রহ করে প্রথমে একটি বাগ রিপোর্ট লিখুন", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "বাগ রিপোর্ট পাঠাতে ব্যর্থ হয়েছে", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "সদস্যতা পরিচালনা করুন", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "আপনার সদস্যতা সেটিংস পরিচালনা করুন", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_de.arb b/example/lib/src/arbs/settings/example_de.arb deleted file mode 100644 index ac28159..0000000 --- a/example/lib/src/arbs/settings/example_de.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "de", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Kontoeinstellungen", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "Alle Chats löschen", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "Dadurch wird Ihr Chatverlauf dauerhaft gelöscht", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "Alle Chats löschen", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "Alle Chats löschen", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "Konto löschen", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "Das Löschen Ihres Kontos ist endgültig und kann nicht rückgängig gemacht werden.", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "Löschen", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "Konto löschen", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "Abmelden", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "Sie werden von Ihrem Konto abgemeldet.", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "Abmelden", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "Fehlerbericht senden", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "Nachricht senden mit [⏎ Enter]", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "Senden Sie eine Nachricht mit [⏎ Enter] und eine neue Zeile mit [Shift] + [⏎ Enter]", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "Sprache", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "Wählen Sie Ihre bevorzugte Sprache für die App-Oberfläche", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "Dunkler Modus", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "Aktivieren Sie den Dunkelmodus für ein angenehmes Seherlebnis bei schwachem Licht", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "Protokolle", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "Anzeigen und Verwalten von Anwendungsprotokollen zum Debuggen", - "@sectionLogsSubtitle": {}, - "doneButton": "Erledigt", - "@doneButton": {}, - "bugReportDialogTitle": "Fehlerbericht", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "Bitte beschreiben Sie den aufgetretenen Fehler", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "Dateien anhängen", - "@attachFilesButtonTooltip": {}, - "filePickerError": "Fehler beim Auswählen der Dateien", - "@filePickerError": {}, - "emptyBugReportError": "Bitte geben Sie zuerst einen Fehlerbericht ein", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "Fehlerbericht konnte nicht gesendet werden", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "Abonnement verwalten", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "Verwalten Sie Ihre Abonnementeinstellungen", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_en.arb b/example/lib/src/arbs/settings/example_en.arb deleted file mode 100644 index 6b7c4a6..0000000 --- a/example/lib/src/arbs/settings/example_en.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "en", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Account Settings", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "Clear All Chats", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "This will permanently delete your chat history.", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "Clear All Chats", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "Clear All Chats", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "Delete Account", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "Deleting your account is a permanent action and cannot be undone.", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "Delete", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "Delete Account", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "Sign Out", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "You will be signed out of your account.", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "Sign Out", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "Send Bug Report", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "Send message with [⏎ Enter]", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "Send a message with [⏎ Enter] and a new line with [Shift] + [⏎ Enter]", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "Language", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "Select your preferred language for the app interface", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "Dark mode", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "Enable dark mode for a comfortable viewing experience in low light", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "Logs", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "View and manage application logs for debugging", - "@sectionLogsSubtitle": {}, - "doneButton": "Done", - "@doneButton": {}, - "bugReportDialogTitle": "Bug Report", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "Please describe the bug you encountered", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "Attach files", - "@attachFilesButtonTooltip": {}, - "filePickerError": "Failed to pick files", - "@filePickerError": {}, - "emptyBugReportError": "Please enter a bug report first", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "Failed to send bug report", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "Manage subscription", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "Manage your subscription settings", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_es.arb b/example/lib/src/arbs/settings/example_es.arb deleted file mode 100644 index ec4424e..0000000 --- a/example/lib/src/arbs/settings/example_es.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "es", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Ajustes", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "Borrar todos los chats", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "Esto eliminará permanentemente tu historial de chats.", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "Borrar todos los chats", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "Borrar todos los chats", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "Eliminar cuenta", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "Eliminar su cuenta es una acción permanente y no puede deshacerse.", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "Eliminar cuenta", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "Eliminar cuenta", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "Cerrar sesión", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "Cerrarás sesión en tu cuenta", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "Cerrar sesión", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "Enviar informe de error", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "Enviar mensaje con [⏎ Enter]", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "Envía un mensaje con [⏎ Enter] y una nueva línea con [Shift] + [⏎ Enter]", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "Idioma", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "Seleccione su idioma preferido para la interfaz de la aplicación", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "Modo oscuro", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "Habilite el modo oscuro para una experiencia de visualización cómoda con poca luz.", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "Registros", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "Ver y administrar registros de aplicaciones para depuración", - "@sectionLogsSubtitle": {}, - "doneButton": "Hecho", - "@doneButton": {}, - "bugReportDialogTitle": "Informe de errores", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "Por favor describe el error que encontraste", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "Adjuntar archivos", - "@attachFilesButtonTooltip": {}, - "filePickerError": "No se pudieron seleccionar los archivos", - "@filePickerError": {}, - "emptyBugReportError": "Por favor, primero ingrese un informe de error", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "No se pudo enviar el informe de error", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "Administrar suscripción", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "Administrar la configuración de su suscripción", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_fr.arb b/example/lib/src/arbs/settings/example_fr.arb deleted file mode 100644 index 1a5fc4a..0000000 --- a/example/lib/src/arbs/settings/example_fr.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "fr", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Paramètres du compte", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "Effacer toutes les discussions", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "Cela supprimera définitivement votre historique de discussion.", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "Effacer toutes les discussions", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "Effacer toutes les discussions", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "Supprimer le compte", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "La suppression de votre compte est une action permanente et ne peut pas être annulée.", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "Supprimer", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "Supprimer le compte", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "Se déconnecter", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "Vous serez déconnecté de votre compte.", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "Se déconnecter", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "Envoyer un rapport de bogue", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "Envoyer un message avec [⏎ Entrée]", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "Envoyer un message avec [⏎ Entrée] et une nouvelle ligne avec [Maj] + [⏎ Entrée]", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "Langue", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "Sélectionnez votre langue préférée pour l'interface de l'application", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "Mode sombre", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "Activez le mode sombre pour une expérience de visionnage confortable en basse lumière", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "Journaux", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "Afficher et gérer les journaux d'application pour le débogage", - "@sectionLogsSubtitle": {}, - "doneButton": "Fait", - "@doneButton": {}, - "bugReportDialogTitle": "Rapport de bogue", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "Veuillez décrire le bug que vous avez rencontré", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "Joindre des fichiers", - "@attachFilesButtonTooltip": {}, - "filePickerError": "Échec de la sélection des fichiers", - "@filePickerError": {}, - "emptyBugReportError": "Veuillez d'abord saisir un rapport de bogue", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "Échec de l'envoi du rapport de bogue", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "Gérer l'abonnement", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "Gérez vos paramètres d'abonnement", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_hi.arb b/example/lib/src/arbs/settings/example_hi.arb deleted file mode 100644 index 81149fc..0000000 --- a/example/lib/src/arbs/settings/example_hi.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "hi", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "अकाउंट सेटिंग", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "सभी चैट साफ़ करें", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "इससे आपका चैट इतिहास स्थायी रूप से मिट जाएगा।", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "सभी चैट साफ़ करें", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "सभी चैट साफ़ करें", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "खाता हटा दो", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "अपना खाता हटाना एक स्थायी कार्रवाई है और इसे पूर्ववत नहीं किया जा सकता.", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "मिटाना", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "खाता हटा दो", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "साइन आउट", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "आप अपने खाते से साइन आउट हो जाएंगे.", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "साइन आउट", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "बग रिपोर्ट भेजें", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "[⏎ Enter] के साथ संदेश भेजें", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "[⏎ Enter] के साथ एक संदेश और [Shift] + [⏎ Enter] के साथ एक नई पंक्ति भेजें", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "भाषा", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "ऐप इंटरफ़ेस के लिए अपनी पसंदीदा भाषा चुनें", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "डार्क मोड", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "कम रोशनी में आरामदायक दृश्य अनुभव के लिए डार्क मोड सक्षम करें", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "लॉग्स", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "डिबगिंग के लिए एप्लिकेशन लॉग देखें और प्रबंधित करें", - "@sectionLogsSubtitle": {}, - "doneButton": "हो गया", - "@doneButton": {}, - "bugReportDialogTitle": "बग रिपोर्ट", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "कृपया उस बग का वर्णन करें जिसका आपने सामना किया", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "फ़ाइलों को संलग्न करें", - "@attachFilesButtonTooltip": {}, - "filePickerError": "फ़ाइलें चुनने में विफल", - "@filePickerError": {}, - "emptyBugReportError": "कृपया पहले एक बग रिपोर्ट दर्ज करें", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "बग रिपोर्ट भेजने में विफल", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "सदस्यता प्रबंधित करें", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "अपनी सदस्यता सेटिंग प्रबंधित करें", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_it.arb b/example/lib/src/arbs/settings/example_it.arb deleted file mode 100644 index cc42a3c..0000000 --- a/example/lib/src/arbs/settings/example_it.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "it", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Impostazioni dell'account", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "Cancella tutte le chat", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "Questa operazione eliminerà definitivamente la cronologia della chat.", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "Cancella tutte le chat", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "Cancella tutte le chat", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "Elimina account", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "L'eliminazione del tuo account è un'azione permanente e non può essere annullata.", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "Eliminare", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "Elimina account", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "Disconnessione", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "Verrai disconnesso dal tuo account.", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "Disconnessione", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "Invia segnalazione bug", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "Invia messaggio con [⏎ Invio]", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "Invia un messaggio con [⏎ Invio] e una nuova riga con [Maiusc] + [⏎ Invio]", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "Lingua", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "Seleziona la lingua preferita per l'interfaccia dell'app", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "Modalità scura", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "Abilita la modalità scura per un'esperienza visiva confortevole in condizioni di scarsa illuminazione", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "Registri", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "Visualizza e gestisci i registri delle applicazioni per il debug", - "@sectionLogsSubtitle": {}, - "doneButton": "Fatto", - "@doneButton": {}, - "bugReportDialogTitle": "Segnalazione di bug", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "Descrivi il bug che hai riscontrato", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "Allega file", - "@attachFilesButtonTooltip": {}, - "filePickerError": "Impossibile selezionare i file", - "@filePickerError": {}, - "emptyBugReportError": "Inserisci prima una segnalazione di bug", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "Impossibile inviare la segnalazione di bug", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "Gestisci l'abbonamento", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "Gestisci le impostazioni del tuo abbonamento", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_ko.arb b/example/lib/src/arbs/settings/example_ko.arb deleted file mode 100644 index 93c7d51..0000000 --- a/example/lib/src/arbs/settings/example_ko.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "ko", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "계정 설정", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "모든 채팅 지우기", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "이렇게 하면 채팅 기록이 영구적으로 삭제됩니다.", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "모든 채팅 지우기", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "모든 채팅 지우기", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "계정 삭제", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "계정 삭제는 영구적인 작업이며 취소할 수 없습니다.", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "삭제", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "계정 삭제", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "로그아웃", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "귀하의 계정에서 로그아웃됩니다.", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "로그아웃", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "버그 리포트 보내기", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "[⏎ Enter]로 메시지를 보내세요", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "[⏎ Enter]로 메시지를 보내고 [Shift] + [⏎ Enter]로 새 줄을 보냅니다.", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "언어", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "앱 인터페이스에 대한 기본 언어를 선택하세요", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "다크 모드", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "어두운 곳에서도 편안한 시청 환경을 위해 다크 모드를 활성화하세요.", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "로그", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "디버깅을 위한 애플리케이션 로그 보기 및 관리", - "@sectionLogsSubtitle": {}, - "doneButton": "완료", - "@doneButton": {}, - "bugReportDialogTitle": "버그 리포트", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "발생한 버그를 설명해 주세요.", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "파일 첨부", - "@attachFilesButtonTooltip": {}, - "filePickerError": "파일을 선택하지 못했습니다", - "@filePickerError": {}, - "emptyBugReportError": "먼저 버그 리포트를 입력하세요", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "버그 보고서를 보내지 못했습니다.", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "구독 관리", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "구독 설정 관리", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_pt.arb b/example/lib/src/arbs/settings/example_pt.arb deleted file mode 100644 index c777f85..0000000 --- a/example/lib/src/arbs/settings/example_pt.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "pt", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Configurações de Conta", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "Limpar todos os chats", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "Isso excluirá permanentemente seu histórico de bate-papo.", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "Limpar todos os chats", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "Limpar todos os chats", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "Excluir conta", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "Excluir sua conta é uma ação permanente e não pode ser desfeita.", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "Excluir", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "Excluir conta", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "Sair", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "Você será desconectado da sua conta.", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "Sair", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "Enviar relatório de bug", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "Enviar mensagem com [⏎ Enter]", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "Envie uma mensagem com [⏎ Enter] e uma nova linha com [Shift] + [⏎ Enter]", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "Linguagem", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "Selecione seu idioma preferido para a interface do aplicativo", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "Modo escuro", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "Ative o modo escuro para uma experiência de visualização confortável com pouca luz", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "Registros", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "Visualizar e gerenciar logs de aplicativos para depuração", - "@sectionLogsSubtitle": {}, - "doneButton": "Feito", - "@doneButton": {}, - "bugReportDialogTitle": "Relatório de bug", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "Por favor descreva o bug que você encontrou", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "Anexar arquivos", - "@attachFilesButtonTooltip": {}, - "filePickerError": "Falha ao selecionar arquivos", - "@filePickerError": {}, - "emptyBugReportError": "Por favor, insira um relatório de bug primeiro", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "Falha ao enviar relatório de bug", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "Gerenciar assinatura", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "Gerencie suas configurações de assinatura", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_pt_BR.arb b/example/lib/src/arbs/settings/example_pt_BR.arb deleted file mode 100644 index 31652c0..0000000 --- a/example/lib/src/arbs/settings/example_pt_BR.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "pt_BR", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Configurações de Conta", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "Limpar todos os chats", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "Isso excluirá permanentemente seu histórico de bate-papo.", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "Limpar todos os chats", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "Limpar todos os chats", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "Excluir conta", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "Excluir sua conta é uma ação permanente e não pode ser desfeita.", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "Excluir", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "Excluir conta", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "Sair", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "Você será desconectado da sua conta.", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "Sair", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "Enviar relatório de bug", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "Enviar mensagem com [⏎ Enter]", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "Envie uma mensagem com [⏎ Enter] e uma nova linha com [Shift] + [⏎ Enter]", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "Linguagem", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "Selecione seu idioma preferido para a interface do aplicativo", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "Modo escuro", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "Ative o modo escuro para uma experiência de visualização confortável com pouca luz", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "Registros", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "Visualizar e gerenciar logs de aplicativos para depuração", - "@sectionLogsSubtitle": {}, - "doneButton": "Feito", - "@doneButton": {}, - "bugReportDialogTitle": "Relatório de bug", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "Por favor descreva o bug que você encontrou", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "Anexar arquivos", - "@attachFilesButtonTooltip": {}, - "filePickerError": "Falha ao selecionar arquivos", - "@filePickerError": {}, - "emptyBugReportError": "Por favor, insira um relatório de bug primeiro", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "Falha ao enviar relatório de bug", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "Gerenciar assinatura", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "Gerencie suas configurações de assinatura", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_ru.arb b/example/lib/src/arbs/settings/example_ru.arb deleted file mode 100644 index d2a5b3b..0000000 --- a/example/lib/src/arbs/settings/example_ru.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "ru", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Настройки", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "Удалить все чаты", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "Это навсегда удалит вашу историю чатов.", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "Удалить все чаты", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "Удалить все чаты", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "Удалить аккаунт", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "Удаление аккаунта невозможно отменить.", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "Удалить", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "Удалить аккаунт", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "Выйти из аккаунта", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "Вы выходите из своего аккаунта.", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "Выйти из аккаунта", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "Отправить отчет об ошибке", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "Отправить сообщение с помощью [⏎ Enter]", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "Отправьте сообщение с помощью [⏎ Enter] и создайте новую строку с помощью [Shift] + [⏎ Enter]", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "Язык", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "Выберите язык интерфейса приложения", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "Темный режим", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "Включите темный режим для комфортного просмотра при слабом освещении.", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "Логи", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "Просмотр и управление журналами приложений для отладки", - "@sectionLogsSubtitle": {}, - "doneButton": "Готово", - "@doneButton": {}, - "bugReportDialogTitle": "Отчет об ошибке", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "Опишите ошибку, с которой вы столкнулись.", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "Прикрепить файлы", - "@attachFilesButtonTooltip": {}, - "filePickerError": "Не удалось выбрать файлы", - "@filePickerError": {}, - "emptyBugReportError": "Пожалуйста, сначала отправьте отчет об ошибке", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "Не удалось отправить отчет об ошибке", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "Управление подпиской", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "Управляйте настройками подписки", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_zh.arb b/example/lib/src/arbs/settings/example_zh.arb deleted file mode 100644 index 83a934e..0000000 --- a/example/lib/src/arbs/settings/example_zh.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "zh", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "帐户设置", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "清除所有聊天", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "这将永久删除您的聊天记录。", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "清除所有聊天", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "清除所有聊天", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "删除帐户", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "删除您的帐户是永久性操作,无法撤消。", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "删除", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "删除帐户", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "登出", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "您将退出您的帐户。", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "登出", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "发送错误报告", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "使用 [⏎ Enter] 发送消息", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "使用 [⏎ Enter] 发送消息,使用 [Shift] + [⏎ Enter] 换行", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "语言", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "选择应用程序界面的首选语言", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "黑暗模式", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "启用暗模式,在弱光环境下获得舒适的观看体验", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "日志", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "查看和管理应用程序日志以进行调试", - "@sectionLogsSubtitle": {}, - "doneButton": "完毕", - "@doneButton": {}, - "bugReportDialogTitle": "错误报告", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "请描述您遇到的bug", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "附加文件", - "@attachFilesButtonTooltip": {}, - "filePickerError": "选择文件失败", - "@filePickerError": {}, - "emptyBugReportError": "请先输入错误报告", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "无法发送错误报告", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "管理订阅", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "管理您的订阅设置", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/settings/example_zh_CN.arb b/example/lib/src/arbs/settings/example_zh_CN.arb deleted file mode 100644 index eb7b293..0000000 --- a/example/lib/src/arbs/settings/example_zh_CN.arb +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@@locale": "zh_CN", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "帐户设置", - "@title": { - "description": "Заголовок экрана" - }, - "sectionClearAllChatsTitle": "清除所有聊天", - "@sectionClearAllChatsTitle": { - "description": "Заголовок карточки" - }, - "sectionClearAllChatsSubtitle": "这将永久删除您的聊天记录。", - "@sectionClearAllChatsSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionClearAllChatsButton": "清除所有聊天", - "@sectionClearAllChatsButton": { - "description": "Надпись на кнопке" - }, - "sectionClearAllChatsEmailTheme": "清除所有聊天", - "@sectionClearAllChatsEmailTheme": { - "description": "Тема e-mail письма" - }, - "sectionDeleteAccountTitle": "删除帐户", - "@sectionDeleteAccountTitle": { - "description": "Заголовок карточки" - }, - "sectionDeleteAccountSubtitle": "删除您的帐户是永久性操作,无法撤消。", - "@sectionDeleteAccountSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionDeleteAccountButton": "删除", - "@sectionDeleteAccountButton": { - "description": "Надпись на кнопке" - }, - "sectionDeleteAccountTheme": "删除帐户", - "@sectionDeleteAccountTheme": { - "description": "Тема e-mail письма" - }, - "sectionLogOutTitle": "登出", - "@sectionLogOutTitle": { - "description": "Заголовок карточки" - }, - "sectionLogOutSubtitle": "您将退出您的帐户。", - "@sectionLogOutSubtitle": { - "description": "Подзаголовок карточки" - }, - "sectionLogOutButton": "登出", - "@sectionLogOutButton": { - "description": "Надпись на кнопке" - }, - "sendBugReportButton": "发送错误报告", - "@sendBugReportButton": {}, - "sectionSendMessageWithShiftEnterTitle": "使用 [⏎ Enter] 发送消息", - "@sectionSendMessageWithShiftEnterTitle": {}, - "sectionSendMessageWithShiftEnterSubtitle": "使用 [⏎ Enter] 发送消息,使用 [Shift] + [⏎ Enter] 换行", - "@sectionSendMessageWithShiftEnterSubtitle": {}, - "sectionSelectLocaleTitle": "语言", - "@sectionSelectLocaleTitle": {}, - "sectionSelectLocaleSubtitle": "选择应用程序界面的首选语言", - "@sectionSelectLocaleSubtitle": {}, - "sectionSwitchThemeTitle": "黑暗模式", - "@sectionSwitchThemeTitle": {}, - "sectionSwitchThemeSubtitle": "启用暗模式,在弱光环境下获得舒适的观看体验", - "@sectionSwitchThemeSubtitle": {}, - "sectionLogsTitle": "日志", - "@sectionLogsTitle": {}, - "sectionLogsSubtitle": "查看和管理应用程序日志以进行调试", - "@sectionLogsSubtitle": {}, - "doneButton": "完毕", - "@doneButton": {}, - "bugReportDialogTitle": "错误报告", - "@bugReportDialogTitle": {}, - "bugReportDialogHintText": "请描述您遇到的bug", - "@bugReportDialogHintText": {}, - "attachFilesButtonTooltip": "附加文件", - "@attachFilesButtonTooltip": {}, - "filePickerError": "选择文件失败", - "@filePickerError": {}, - "emptyBugReportError": "请先输入错误报告", - "@emptyBugReportError": {}, - "failedToSendBugReportError": "无法发送错误报告", - "@failedToSendBugReportError": {}, - "sectionManageSubscriptionTitle": "管理订阅", - "@sectionManageSubscriptionTitle": {}, - "sectionManageSubscriptionSubtitle": "管理您的订阅设置", - "@sectionManageSubscriptionSubtitle": {} -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_ar.arb b/example/lib/src/arbs/sign_up/example_ar.arb deleted file mode 100644 index 4a7bd16..0000000 --- a/example/lib/src/arbs/sign_up/example_ar.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "ar", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "تسجيل الدخول", - "@title": {}, - "logIn": "تسجيل الدخول", - "@logIn": {}, - "password": "كلمة المرور", - "@password": {}, - "changeNumber": "تغيير الرقم", - "@changeNumber": {}, - "forgotPassword": "هل نسيت كلمة السر؟", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "أدخل عنوان بريدك الإلكتروني وسنرسل لك رابطًا لإعادة تعيين كلمة المرور الخاصة بك.", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "تذكر كلمة المرور الخاصة بك؟", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "لدي كلمة مرور", - "@backToLoginButton": {}, - "continueButton": "يكمل", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "تم إرسال بريد إلكتروني لإعادة تعيين كلمة المرور", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "إعادة تعيين كلمة المرور", - "@resetPasswordButton": {}, - "confirmCodeButton": "تأكيد الرمز", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "ابدأ باستخدام Doctorina اليوم", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "أو", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "أدخل كلمة المرور الخاصة بك", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "إظهار كلمة المرور", - "@showPasswordHint": {}, - "obscurePasswordHint": "كلمة مرور غامضة", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "مسح تسجيل الدخول", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "البريد الإلكتروني أو الهاتف", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "name@gmail.com أو +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "أدخل البريد الإلكتروني أو رقم الهاتف", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "يرجى قبول الاتفاقيات للاستمرار.", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "أوافق على معالجة البيانات الشخصية،", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "استخدام", - "@consentTheUseOf": {}, - "consentCookies": "ملفات تعريف الارتباط", - "@consentCookies": {}, - "consentAgreeToThe": "، أوافق على", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "الشروط والأحكام", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": "، والاعتراف", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "سياسة الخصوصية", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "أقر بأن استشارتي تتم مع الذكاء الاصطناعي وليس مع أخصائي طبي مرخص.", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "تسجيل الخروج", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "هل أنت متأكد من تسجيل الخروج؟", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "يلغي", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "نعم، تسجيل الخروج", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "إعادة إرسال الرمز", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "إعادة إرسال الرمز ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_bn.arb b/example/lib/src/arbs/sign_up/example_bn.arb deleted file mode 100644 index b12d0ee..0000000 --- a/example/lib/src/arbs/sign_up/example_bn.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "bn", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "সাইন ইন করুন", - "@title": {}, - "logIn": "লগ ইন করুন", - "@logIn": {}, - "password": "পাসওয়ার্ড", - "@password": {}, - "changeNumber": "নম্বর পরিবর্তন করুন", - "@changeNumber": {}, - "forgotPassword": "পাসওয়ার্ড ভুলে গেছেন?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "আপনার ইমেল ঠিকানা লিখুন, এবং আমরা আপনাকে আপনার পাসওয়ার্ড পুনরায় সেট করার জন্য একটি লিঙ্ক পাঠাব।", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "আপনার পাসওয়ার্ড মনে আছে?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "আমার কাছে একটি পাসওয়ার্ড আছে", - "@backToLoginButton": {}, - "continueButton": "চালিয়ে যান", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "পাসওয়ার্ড রিসেট ইমেল পাঠানো হয়েছে", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "পাসওয়ার্ড রিসেট করুন", - "@resetPasswordButton": {}, - "confirmCodeButton": "কোড নিশ্চিত করুন", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "আজই ডক্টরিনা ব্যবহার করা শুরু করুন", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "বা", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "আপনার পাসওয়ার্ড লিখুন", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "পাসওয়ার্ড দেখান", - "@showPasswordHint": {}, - "obscurePasswordHint": "অস্পষ্ট পাসওয়ার্ড", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "সাফ লগইন", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "ইমেইল বা ফোন", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "name@gmail.com বা +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "ইমেল বা ফোন নম্বর লিখুন", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "চালিয়ে যেতে চুক্তি স্বীকার করুন.", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "আমি ব্যক্তিগত তথ্য প্রক্রিয়াকরণে সম্মতি জানাই,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "এর ব্যবহার", - "@consentTheUseOf": {}, - "consentCookies": "কুকিজ", - "@consentCookies": {}, - "consentAgreeToThe": ", রাজি", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "শর্তাবলী", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": ", এবং স্বীকার করুন ", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "গোপনীয়তা নীতি", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "আমি স্বীকার করি যে আমার পরামর্শ একজন AI এর সাথে এবং লাইসেন্সপ্রাপ্ত মেডিকেল পেশাদার নয়।", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "লগ আউট করুন", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "আপনি লগ আউট করতে নিশ্চিত?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "বাতিল করুন", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "হ্যাঁ, লগ আউট করুন", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "কোড আবার পাঠান", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "কোড আবার পাঠান ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_de.arb b/example/lib/src/arbs/sign_up/example_de.arb deleted file mode 100644 index 49ab90c..0000000 --- a/example/lib/src/arbs/sign_up/example_de.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "de", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Anmelden", - "@title": {}, - "logIn": "Anmelden", - "@logIn": {}, - "password": "Passwort", - "@password": {}, - "changeNumber": "Nummer ändern", - "@changeNumber": {}, - "forgotPassword": "Passwort vergessen?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "Geben Sie Ihre E-Mail-Adresse ein, und wir senden Ihnen einen Link zum Zurücksetzen Ihres Passworts.", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "Passwort wieder eingefallen?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "Ich habe ein Passwort", - "@backToLoginButton": {}, - "continueButton": "Weiter", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "E-Mail zum Zurücksetzen des Passworts wurde gesendet.", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "Passwort zurücksetzen", - "@resetPasswordButton": {}, - "confirmCodeButton": "Code bestätigen", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "Entdecke Doctorina – starte noch heute", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "ODER", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "Passwort für die E-Mail eingeben", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "Geben Sie Ihr Passwort ein", - "@showPasswordHint": {}, - "obscurePasswordHint": "Passwort verbergen", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "Anmeldedaten löschen", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "E-Mail oder Telefonnummer", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "name@gmail.com oder +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": " E-Mail oder Telefonnummer eingeben", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "Bitte akzeptieren Sie die Vereinbarungen, um fortzufahren.", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "Ich stimme der Verarbeitung personenbezogener Daten zu,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "der Verwendung von ", - "@consentTheUseOf": {}, - "consentCookies": "Cookies", - "@consentCookies": {}, - "consentAgreeToThe": "den", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "Allgemeinen Geschäftsbedingungen zu,", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": "und nehme die", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "Datenschutzerklärung zur Kenntnis", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "Ich erkenne an, dass meine Beratung mit einer KI und nicht mit einem lizenzierten medizinischen Fachmann erfolgt.", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "Abmelden", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "Möchten Sie sich wirklich abmelden?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "Abbrechen", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "Ja, abmelden", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "Code erneut senden", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "Code erneut senden ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_en.arb b/example/lib/src/arbs/sign_up/example_en.arb deleted file mode 100644 index 31732f0..0000000 --- a/example/lib/src/arbs/sign_up/example_en.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "en", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Sign In", - "@title": {}, - "logIn": "Log in", - "@logIn": {}, - "password": "Password", - "@password": {}, - "changeNumber": "Change number", - "@changeNumber": {}, - "forgotPassword": "Forgot Password?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "Enter your email address, and we’ll send you a link to reset your password.", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "Remember your password?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "I have a password", - "@backToLoginButton": {}, - "continueButton": "Continue", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "Password reset email sent", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "Reset password", - "@resetPasswordButton": {}, - "confirmCodeButton": "Confirm code", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "Start using Doctorina today", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "OR", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "Enter your password", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "Show password", - "@showPasswordHint": {}, - "obscurePasswordHint": "Obscure password", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "Clear login", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "Email or phone", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "name@gmail.com or +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "Enter email or phone number", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "Please accept the agreements to continue.", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "I consent to the processing of personal data,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "the use of", - "@consentTheUseOf": {}, - "consentCookies": "cookies", - "@consentCookies": {}, - "consentAgreeToThe": ", agree to the", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "terms and conditions", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": ", and acknowledge the ", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "privacy policy", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "I acknowledge that my consultation is with an AI and not a licensed medical professional.", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "Log out", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "Are you sure to log out?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "Cancel", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "Yes, log out", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "Resend code", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "Resend code ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_es.arb b/example/lib/src/arbs/sign_up/example_es.arb deleted file mode 100644 index 44d42ae..0000000 --- a/example/lib/src/arbs/sign_up/example_es.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "es", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Iniciar sesión", - "@title": {}, - "logIn": "Iniciar sesión", - "@logIn": {}, - "password": "Contraseña", - "@password": {}, - "changeNumber": "Cambiar número", - "@changeNumber": {}, - "forgotPassword": "¿Olvidaste tu contraseña?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "Ingresa tu dirección de correo electrónico y te enviaremos un enlace para restablecer tu contraseña.", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "¿Recuerdas tu contraseña?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "Tengo una contraseña", - "@backToLoginButton": {}, - "continueButton": "Continuar", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "Correo electrónico para restablecer la contraseña enviado", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "Restablecer contraseña", - "@resetPasswordButton": {}, - "confirmCodeButton": "Confirmar código", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "Descubre Doctorina — empieza hoy", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "O", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "Introduce tu contraseña", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "Mostrar contraseña", - "@showPasswordHint": {}, - "obscurePasswordHint": "Ocultar contraseña", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "Borrar inicio de sesión", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "Correo electrónico o teléfono", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "name@gmail.com o +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "Enter email or phone number", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "Por favor, acepta los acuerdos para continuar.", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "Consiento el procesamiento de datos personales,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "el uso de", - "@consentTheUseOf": {}, - "consentCookies": "cookies,", - "@consentCookies": {}, - "consentAgreeToThe": "acepto los", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "términos y condiciones,", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": "y reconozco la", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "política de privacidad", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "Reconozco que mi consulta es con una IA y no con un profesional médico licenciado.", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "Cerrar sesión", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "¿Estás seguro de que deseas cerrar sesión?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "Cancelar", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "Sí, cerrar sesión", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "Reenviar código", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "Reenviar código ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_fr.arb b/example/lib/src/arbs/sign_up/example_fr.arb deleted file mode 100644 index ef385c0..0000000 --- a/example/lib/src/arbs/sign_up/example_fr.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "fr", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Se connecter", - "@title": {}, - "logIn": "Se connecter", - "@logIn": {}, - "password": "Mot de passe", - "@password": {}, - "changeNumber": "Changer de numéro", - "@changeNumber": {}, - "forgotPassword": "Mot de passe oublié?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "Entrez votre adresse e-mail et nous vous enverrons un lien pour réinitialiser votre mot de passe.", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "Vous vous souvenez de votre mot de passe ?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "J'ai un mot de passe", - "@backToLoginButton": {}, - "continueButton": "Continuer", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "E-mail de réinitialisation du mot de passe envoyé", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "Réinitialiser le mot de passe", - "@resetPasswordButton": {}, - "confirmCodeButton": "Confirmer le code", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "Commencez à utiliser Doctorina dès aujourd'hui", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "OU", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "Entrez votre mot de passe", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "Afficher le mot de passe", - "@showPasswordHint": {}, - "obscurePasswordHint": "Mot de passe obscur", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "Effacer la connexion", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "Courriel ou téléphone", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "nom@gmail.com ou +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "Entrez l'e-mail ou le numéro de téléphone", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "Veuillez accepter les accords pour continuer.", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "Je consens au traitement des données personnelles,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "l'utilisation de", - "@consentTheUseOf": {}, - "consentCookies": "cookies", - "@consentCookies": {}, - "consentAgreeToThe": ", acceptez le", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "termes et conditions", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": ", et reconnaissons le", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "politique de confidentialité", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "Je reconnais que ma consultation est effectuée avec une IA et non avec un professionnel de la santé agréé.", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "Se déconnecter", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "Êtes-vous sûr de vouloir vous déconnecter ?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "Annuler", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "Oui, déconnectez-vous", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "Renvoyer le code", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "Renvoyer le code ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_hi.arb b/example/lib/src/arbs/sign_up/example_hi.arb deleted file mode 100644 index 29f89ab..0000000 --- a/example/lib/src/arbs/sign_up/example_hi.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "hi", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "दाखिल करना", - "@title": {}, - "logIn": "लॉग इन करें", - "@logIn": {}, - "password": "पासवर्ड", - "@password": {}, - "changeNumber": "अंक बदलो", - "@changeNumber": {}, - "forgotPassword": "पासवर्ड भूल गए?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "अपना ईमेल पता दर्ज करें, और हम आपको अपना पासवर्ड रीसेट करने के लिए एक लिंक भेजेंगे।", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "अपना पासवर्ड याद रखें?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "मेरे पास एक पासवर्ड है", - "@backToLoginButton": {}, - "continueButton": "जारी रखना", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "पासवर्ड रीसेट ईमेल भेजा गया", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "पासवर्ड रीसेट", - "@resetPasswordButton": {}, - "confirmCodeButton": "कोड की पुष्टि करें", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "आज ही डॉक्टरिना का उपयोग शुरू करें", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "या", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "अपना कूटशब्द भरें", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "पासवर्ड दिखाए", - "@showPasswordHint": {}, - "obscurePasswordHint": "अस्पष्ट पासवर्ड", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "लॉगिन साफ़ करें", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "ईमेल या फ़ोन", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "name@gmail.com या +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "ईमेल या फ़ोन नंबर दर्ज करें", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "कृपया आगे बढ़ने के लिए समझौते को स्वीकार करें।", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "मैं व्यक्तिगत डेटा के प्रसंस्करण के लिए सहमति देता/देती हूँ,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "का उपयोग", - "@consentTheUseOf": {}, - "consentCookies": "कुकीज़", - "@consentCookies": {}, - "consentAgreeToThe": ", इस बात से सहमत हैं", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "नियम और शर्तें", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": ", और स्वीकार करते हैं", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "गोपनीयता नीति", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "मैं स्वीकार करता हूं कि मेरा परामर्श एक एआई के साथ है, न कि किसी लाइसेंस प्राप्त चिकित्सा पेशेवर के साथ।", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "लॉग आउट", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "क्या आप लॉग आउट करने के लिए आश्वस्त हैं?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "रद्द करना", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "हाँ, लॉग आउट करें", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "पुन: कोड भेजे", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "कोड पुनः भेजें ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_it.arb b/example/lib/src/arbs/sign_up/example_it.arb deleted file mode 100644 index 90b1dbf..0000000 --- a/example/lib/src/arbs/sign_up/example_it.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "it", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Registrazione", - "@title": {}, - "logIn": "Login", - "@logIn": {}, - "password": "Password", - "@password": {}, - "changeNumber": "Cambia numero", - "@changeNumber": {}, - "forgotPassword": "Ha dimenticato la password?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "Inserisci il tuo indirizzo email e ti invieremo un link per reimpostare la password.", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "Ricordi la tua password?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "Ho una password", - "@backToLoginButton": {}, - "continueButton": "Continuare", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "Email di reimpostazione password inviata", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "Reimposta password", - "@resetPasswordButton": {}, - "confirmCodeButton": "Conferma il codice", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "Inizia a usare Doctorina oggi stesso", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "O", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "Inserisci la tua password", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "Mostra password", - "@showPasswordHint": {}, - "obscurePasswordHint": "Password oscura", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "Cancella accesso", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "E-mail o telefono", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "nome@gmail.com o +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "Inserisci l'email o il numero di telefono", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "Per continuare, accetta gli accordi.", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "Acconsento al trattamento dei dati personali,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "l'uso di", - "@consentTheUseOf": {}, - "consentCookies": "biscotti", - "@consentCookies": {}, - "consentAgreeToThe": ", accettare il", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "Termini e Condizioni", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": "e riconoscere il", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "politica sulla riservatezza", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "Dichiaro di essere consapevole che la mia consulenza è rivolta a un IA e non a un professionista medico autorizzato.", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "Disconnetti", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "Vuoi davvero uscire?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "Cancellare", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "Sì, esci", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "Invia nuovamente il codice", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "Invia nuovamente il codice ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_ko.arb b/example/lib/src/arbs/sign_up/example_ko.arb deleted file mode 100644 index f3b7c7a..0000000 --- a/example/lib/src/arbs/sign_up/example_ko.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "ko", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "로그인", - "@title": {}, - "logIn": "로그인", - "@logIn": {}, - "password": "비밀번호", - "@password": {}, - "changeNumber": "번호 변경", - "@changeNumber": {}, - "forgotPassword": "비밀번호를 잊으셨나요?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "이메일 주소를 입력하시면 비밀번호 재설정 링크를 보내드립니다.", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "비밀번호를 기억하세요?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "비밀번호가 있어요", - "@backToLoginButton": {}, - "continueButton": "계속하다", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "비밀번호 재설정 이메일이 전송되었습니다.", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "비밀번호 재설정", - "@resetPasswordButton": {}, - "confirmCodeButton": "코드 확인", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "오늘부터 Doctorina를 사용해보세요", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "또는", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "비밀번호를 입력하세요", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "비밀번호 표시", - "@showPasswordHint": {}, - "obscurePasswordHint": "모호한 비밀번호", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "로그인 지우기", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "이메일 또는 전화", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "name@gmail.com 또는 +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "이메일 또는 전화번호를 입력하세요", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "계속하려면 계약에 동의해 주세요.", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "개인정보 처리에 동의합니다.", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "의 사용", - "@consentTheUseOf": {}, - "consentCookies": "쿠키", - "@consentCookies": {}, - "consentAgreeToThe": ", 동의합니다", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "이용 약관", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": ", 그리고 인정합니다", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "개인정보 보호정책", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "저는 상담을 AI와 진행하며, 면허를 소지한 의료 전문가와 진행하지 않는다는 점을 인정합니다.", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "로그아웃", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "로그아웃 하시겠습니까?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "취소", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "네, 로그아웃합니다", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "코드 재전송", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "코드 재전송 ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_pt.arb b/example/lib/src/arbs/sign_up/example_pt.arb deleted file mode 100644 index 1095390..0000000 --- a/example/lib/src/arbs/sign_up/example_pt.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "pt", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Entrar", - "@title": {}, - "logIn": "Conecte-se", - "@logIn": {}, - "password": "Senha", - "@password": {}, - "changeNumber": "Alterar número", - "@changeNumber": {}, - "forgotPassword": "Esqueceu sua senha?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "Digite seu endereço de e-mail e lhe enviaremos um link para redefinir sua senha.", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "Lembra da sua senha?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "Eu tenho uma senha", - "@backToLoginButton": {}, - "continueButton": "Continuar", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "E-mail de redefinição de senha enviado", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "Redefinir senha", - "@resetPasswordButton": {}, - "confirmCodeButton": "Confirmar código", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "Comece a usar Doctorina hoje mesmo", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "OU", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "Digite sua senha", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "Mostrar senha", - "@showPasswordHint": {}, - "obscurePasswordHint": "Senha obscura", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "Limpar login", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "E-mail ou telefone", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "nome@gmail.com ou +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "Digite e-mail ou número de telefone", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "Por favor, aceite os acordos para continuar.", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "Eu concordo com o processamento de dados pessoais,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "o uso de", - "@consentTheUseOf": {}, - "consentCookies": "biscoitos", - "@consentCookies": {}, - "consentAgreeToThe": ", concorda com o", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "termos e Condições", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": ", e reconhecer o", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "política de Privacidade", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "Reconheço que minha consulta é com uma IA e não com um profissional médico licenciado.", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "Sair", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "Tem certeza de que deseja sair?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "Cancelar", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "Sim, sair", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "Reenviar código", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "Reenviar código ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_pt_BR.arb b/example/lib/src/arbs/sign_up/example_pt_BR.arb deleted file mode 100644 index 443a6f9..0000000 --- a/example/lib/src/arbs/sign_up/example_pt_BR.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "pt_BR", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Entrar", - "@title": {}, - "logIn": "Conecte-se", - "@logIn": {}, - "password": "Senha", - "@password": {}, - "changeNumber": "Alterar número", - "@changeNumber": {}, - "forgotPassword": "Esqueceu sua senha?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "Digite seu endereço de e-mail e lhe enviaremos um link para redefinir sua senha.", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "Lembra da sua senha?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "Eu tenho uma senha", - "@backToLoginButton": {}, - "continueButton": "Continuar", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "E-mail de redefinição de senha enviado", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "Redefinir senha", - "@resetPasswordButton": {}, - "confirmCodeButton": "Confirmar código", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "Comece a usar Doctorina hoje mesmo", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "OU", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "Digite sua senha", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "Mostrar senha", - "@showPasswordHint": {}, - "obscurePasswordHint": "Senha obscura", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "Limpar login", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "E-mail ou telefone", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "nome@gmail.com ou +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "Digite e-mail ou número de telefone", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "Por favor, aceite os acordos para continuar.", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "Eu concordo com o processamento de dados pessoais,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "o uso de", - "@consentTheUseOf": {}, - "consentCookies": "biscoitos", - "@consentCookies": {}, - "consentAgreeToThe": ", concorda com o", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "termos e Condições", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": ", e reconhecer o", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "política de Privacidade", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "Reconheço que minha consulta é com uma IA e não com um profissional médico licenciado.", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "Sair", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "Tem certeza de que deseja sair?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "Cancelar", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "Sim, sair", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "Reenviar código", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "Reenviar código ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_ru.arb b/example/lib/src/arbs/sign_up/example_ru.arb deleted file mode 100644 index 28809f9..0000000 --- a/example/lib/src/arbs/sign_up/example_ru.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "ru", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Вход в аккаунт", - "@title": {}, - "logIn": "Войти", - "@logIn": {}, - "password": "Пароль", - "@password": {}, - "changeNumber": "Сменить номер", - "@changeNumber": {}, - "forgotPassword": "Забыли пароль?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "Введите ваш адрес электронной почты, и мы отправим вам ссылку для сброса пароля.", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "Помните свой пароль?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "У меня есть пароль", - "@backToLoginButton": {}, - "continueButton": "Продолжить", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "Письмо для сброса пароля отправлено", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "Сбросить пароль", - "@resetPasswordButton": {}, - "confirmCodeButton": "Подтвердить код", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "Начните работу с Doctorina уже сегодня", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "ИЛИ", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "Введите ваш пароль", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "Показать пароль", - "@showPasswordHint": {}, - "obscurePasswordHint": "Скрыть пароль", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "Стереть вход", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "Email или телефон", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "name@gmail.com или +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "Введите email или номер телефона", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "Пожалуйста, примите соглашения, чтобы продолжить.", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "Я даю согласие на обработку персональных данных,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "использование", - "@consentTheUseOf": {}, - "consentCookies": "cookies", - "@consentCookies": {}, - "consentAgreeToThe": ", согласен с", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "условиями и положениями", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": "и подтверждаю", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "политику конфиденциальности", - "@consentPrivacyPolicy": {}, - "consentDot": ".", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "Я подтверждаю, что моя консультация проводится с ИИ, а не с лицензированным медицинским специалистом.", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "Выйти", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "Вы уверены, что хотите выйти?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "Закрыть", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "Да, выйти", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "Отправить код повторно", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "Отправить код повторно ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_zh.arb b/example/lib/src/arbs/sign_up/example_zh.arb deleted file mode 100644 index ee1221c..0000000 --- a/example/lib/src/arbs/sign_up/example_zh.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "zh", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "登入", - "@title": {}, - "logIn": "登录", - "@logIn": {}, - "password": "密码", - "@password": {}, - "changeNumber": "更改号码", - "@changeNumber": {}, - "forgotPassword": "忘记密码?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "输入您的电子邮件地址,我们将向您发送重置密码的链接。", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "记住密码了吗?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "我有密码", - "@backToLoginButton": {}, - "continueButton": "继续", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "密码重置电子邮件已发送", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "重置密码", - "@resetPasswordButton": {}, - "confirmCodeButton": "确认码", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "立即开始使用 Doctorina", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "或者", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "输入您的密码", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "显示密码", - "@showPasswordHint": {}, - "obscurePasswordHint": "模糊密码", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "清除登录信息", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "电子邮件或电话", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "name@gmail.com 或 +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "输入电子邮件或电话号码", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "请接受协议以继续。", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "我同意处理个人数据,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "使用", - "@consentTheUseOf": {}, - "consentCookies": "曲奇饼", - "@consentCookies": {}, - "consentAgreeToThe": ",同意", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "条款和条件", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": ",并承认", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "隐私政策", - "@consentPrivacyPolicy": {}, - "consentDot": "。", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "我承认我的咨询对象是人工智能,而不是有执照的医疗专业人员。", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "登出", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "您确定要退出吗?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "取消", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "是的,退出", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "重新发送代码", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "重新发送代码 ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/arbs/sign_up/example_zh_CN.arb b/example/lib/src/arbs/sign_up/example_zh_CN.arb deleted file mode 100644 index b7ac37f..0000000 --- a/example/lib/src/arbs/sign_up/example_zh_CN.arb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "@@locale": "zh_CN", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "登入", - "@title": {}, - "logIn": "登录", - "@logIn": {}, - "password": "密码", - "@password": {}, - "changeNumber": "更改号码", - "@changeNumber": {}, - "forgotPassword": "忘记密码?", - "@forgotPassword": {}, - "forgotPasswordEnterYourEmailAddress": "输入您的电子邮件地址,我们将向您发送重置密码的链接。", - "@forgotPasswordEnterYourEmailAddress": {}, - "rememberYourPasswordQuestion": "记住密码了吗?", - "@rememberYourPasswordQuestion": {}, - "backToLoginButton": "我有密码", - "@backToLoginButton": {}, - "continueButton": "继续", - "@continueButton": {}, - "passwordResetEmailSentSnackBar": "密码重置电子邮件已发送", - "@passwordResetEmailSentSnackBar": {}, - "resetPasswordButton": "重置密码", - "@resetPasswordButton": {}, - "confirmCodeButton": "确认码", - "@confirmCodeButton": {}, - "startUsingDoctorinaTodaySubtitle": "立即开始使用 Doctorina", - "@startUsingDoctorinaTodaySubtitle": {}, - "orDivider": "或者", - "@orDivider": { - "description": "Разделитель ---ИЛИ--- между кнопками" - }, - "enterPasswordForEmailHint": "输入您的密码", - "@enterPasswordForEmailHint": {}, - "showPasswordHint": "显示密码", - "@showPasswordHint": {}, - "obscurePasswordHint": "模糊密码", - "@obscurePasswordHint": {}, - "clearLoginTooltip": "清除登录信息", - "@clearLoginTooltip": {}, - "emailOrPhoneLabel": "电子邮件或电话", - "@emailOrPhoneLabel": {}, - "emailOrPhoneLabelExample": "name@gmail.com 或 +1234567890", - "@emailOrPhoneLabelExample": {}, - "emailOrPhoneHint": "输入电子邮件或电话号码", - "@emailOrPhoneHint": {}, - "pleaseAcceptTheAgreementsToContinueSnackBar": "请接受协议以继续。", - "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, - "consentToTheProcessingOfPersonalData": "我同意处理个人数据,", - "@consentToTheProcessingOfPersonalData": { - "description": "На конце запятая" - }, - "consentTheUseOf": "使用", - "@consentTheUseOf": {}, - "consentCookies": "曲奇饼", - "@consentCookies": {}, - "consentAgreeToThe": ",同意", - "@consentAgreeToThe": { - "description": "В начале запятая" - }, - "consentTermsAndConditions": "条款和条件", - "@consentTermsAndConditions": {}, - "consentAndAcknowledgeThe": ",并承认", - "@consentAndAcknowledgeThe": { - "description": "В начале запятая" - }, - "consentPrivacyPolicy": "隐私政策", - "@consentPrivacyPolicy": {}, - "consentDot": "。", - "@consentDot": { - "description": "Точка на конце соглашения" - }, - "acknowledgeMyConsultation": "我承认我的咨询对象是人工智能,而不是有执照的医疗专业人员。", - "@acknowledgeMyConsultation": {}, - "logOutDialogTitle": "登出", - "@logOutDialogTitle": { - "description": "Диалог выхода, заголовок" - }, - "logOutDialogContent": "您确定要退出吗?", - "@logOutDialogContent": { - "description": "Диалог выхода, текст" - }, - "logOutDialogCancelButton": "取消", - "@logOutDialogCancelButton": { - "description": "Диалог выхода, кнопка отмены" - }, - "logOutDialogLogOutButton": "是的,退出", - "@logOutDialogLogOutButton": { - "description": "Диалог выхода, кнопка выйти" - }, - "resendCodeButton": "重新发送代码", - "@resendCodeButton": { - "description": "Кнопка отправить код заного" - }, - "resendCodeTimer": "重新发送代码 ({timer})", - "@resendCodeTimer": { - "description": "Таймер для повторной отправки кода", - "placeholders": { - "timer": { - "type": "String", - "example": "0:00" - } - } - } -} \ No newline at end of file diff --git a/example/lib/src/generated/app/app_localization.dart b/example/lib/src/generated/app/app_localization.dart index d91935c..5cc2ad0 100644 --- a/example/lib/src/generated/app/app_localization.dart +++ b/example/lib/src/generated/app/app_localization.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! import 'dart:async'; import 'package:flutter/foundation.dart'; @@ -6,18 +6,60 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; +import 'app_localization_af.dart'; +import 'app_localization_am.dart'; import 'app_localization_ar.dart'; +import 'app_localization_az.dart'; +import 'app_localization_be.dart'; +import 'app_localization_bg.dart'; import 'app_localization_bn.dart'; +import 'app_localization_ca.dart'; +import 'app_localization_cs.dart'; +import 'app_localization_da.dart'; import 'app_localization_de.dart'; +import 'app_localization_el.dart'; import 'app_localization_en.dart'; import 'app_localization_es.dart'; +import 'app_localization_fa.dart'; import 'app_localization_fr.dart'; +import 'app_localization_gu.dart'; +import 'app_localization_he.dart'; import 'app_localization_hi.dart'; +import 'app_localization_hu.dart'; +import 'app_localization_id.dart'; import 'app_localization_it.dart'; +import 'app_localization_ja.dart'; +import 'app_localization_kk.dart'; +import 'app_localization_km.dart'; +import 'app_localization_kn.dart'; import 'app_localization_ko.dart'; +import 'app_localization_lo.dart'; +import 'app_localization_ml.dart'; +import 'app_localization_mr.dart'; +import 'app_localization_ms.dart'; +import 'app_localization_my.dart'; +import 'app_localization_ne.dart'; +import 'app_localization_nl.dart'; +import 'app_localization_pa.dart'; +import 'app_localization_pl.dart'; +import 'app_localization_ps.dart'; import 'app_localization_pt.dart'; +import 'app_localization_ro.dart'; import 'app_localization_ru.dart'; +import 'app_localization_si.dart'; +import 'app_localization_sk.dart'; +import 'app_localization_sw.dart'; +import 'app_localization_ta.dart'; +import 'app_localization_te.dart'; +import 'app_localization_th.dart'; +import 'app_localization_tl.dart'; +import 'app_localization_tr.dart'; +import 'app_localization_uk.dart'; +import 'app_localization_ur.dart'; +import 'app_localization_uz.dart'; +import 'app_localization_vi.dart'; import 'app_localization_zh.dart'; +import 'app_localization_zu.dart'; // ignore_for_file: type=lint @@ -105,22 +147,79 @@ abstract class AppLocalization { /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ + Locale('af'), + Locale('am'), Locale('ar'), + Locale('ar', 'EG'), + Locale('az'), + Locale('be'), + Locale('bg'), Locale('bn'), + Locale('ca'), + Locale('cs'), + Locale('da'), Locale('de'), + Locale('el'), Locale('en'), Locale('es'), + Locale('fa'), Locale('fr'), + Locale('gu'), + Locale('he'), Locale('hi'), + Locale('hu'), + Locale('id'), Locale('it'), + Locale('ja'), + Locale('kk'), + Locale('km'), + Locale('kn'), Locale('ko'), + Locale('lo'), + Locale('ml'), + Locale('mr'), + Locale('ms'), + Locale('my'), + Locale('ne'), + Locale('nl'), + Locale('pa'), + Locale('pa', 'PK'), + Locale('pl'), + Locale('ps'), Locale('pt'), Locale('pt', 'BR'), + Locale('ro'), Locale('ru'), + Locale('si'), + Locale('sk'), + Locale('sw'), + Locale('ta'), + Locale('te'), + Locale('th'), + Locale('tl'), + Locale('tr'), + Locale('uk'), + Locale('ur'), + Locale('uz'), + Locale('vi'), Locale('zh'), - Locale('zh', 'CN') + Locale('zh', 'CN'), + Locale('zh', 'HK'), + Locale('zu') ]; + /// No description provided for @lang. + /// + /// In en, this message translates to: + /// **'English'** + String get lang; + + /// No description provided for @langEn. + /// + /// In en, this message translates to: + /// **'English'** + String get langEn; + /// No description provided for @title. /// /// In en, this message translates to: @@ -162,7 +261,175 @@ abstract class AppLocalization { /// /// In en, this message translates to: /// **'To continue, please update the app. This update includes important fixes and improvements.'** - String checkVersionUpdateRequiredText(String version); + String get checkVersionUpdateRequiredText; + + /// Menu item for downloading attachment + /// + /// In en, this message translates to: + /// **'Download'** + String get chatContextMenuDownload; + + /// Body text prompting to log in or sign up + /// + /// In en, this message translates to: + /// **'Log in if you already have a Doctorina account, or sign up to get started.'** + String get welcomeBackDialogText; + + /// Primary button to open log in + /// + /// In en, this message translates to: + /// **'Log in'** + String get welcomeBackDialogLogInButton; + + /// Secondary button to open sign up + /// + /// In en, this message translates to: + /// **'Sign up'** + String get welcomeBackDialogSignUpButton; + + /// Link to continue as guest + /// + /// In en, this message translates to: + /// **'Continue as guest'** + String get welcomeBackDialogContinueAsGuestButton; + + /// No description provided for @titleLogin. + /// + /// In en, this message translates to: + /// **'Log In'** + String get titleLogin; + + /// No description provided for @titleLogout. + /// + /// In en, this message translates to: + /// **'Log Out'** + String get titleLogout; + + /// Заголовок экрана + /// + /// In en, this message translates to: + /// **'Sign In'** + String get titleSignIn; + + /// No description provided for @titleDialog. + /// + /// In en, this message translates to: + /// **'Dialog'** + String get titleDialog; + + /// No description provided for @titleChat. + /// + /// In en, this message translates to: + /// **'Chat'** + String get titleChat; + + /// Заголовок экрана + /// + /// In en, this message translates to: + /// **'Account Settings'** + String get titleSettings; + + /// История чатов, имеется ввиду список чатов пользователя + /// + /// In en, this message translates to: + /// **'Chat History'** + String get titleChatHistory; + + /// Заголовок экрана + /// + /// In en, this message translates to: + /// **'Payment'** + String get titlePayment; + + /// No description provided for @titleManageSubscription. + /// + /// In en, this message translates to: + /// **'Manage subscription'** + String get titleManageSubscription; + + /// No description provided for @titleMonthlySubscription. + /// + /// In en, this message translates to: + /// **'Monthly Subscription'** + String get titleMonthlySubscription; + + /// Заголовок экрана + /// + /// In en, this message translates to: + /// **'Onboarding'** + String get titleOnboarding; + + /// Title of the welcome-back dialog shown when the user had an account before + /// + /// In en, this message translates to: + /// **'Welcome back'** + String get titleWelcomeBack; + + /// No description provided for @titleProfiles. + /// + /// In en, this message translates to: + /// **'Health records profiles'** + String get titleProfiles; + + /// No description provided for @titleProfilesAnnouncement. + /// + /// In en, this message translates to: + /// **'Profiles announcement'** + String get titleProfilesAnnouncement; + + /// Title for dashboard screen + /// + /// In en, this message translates to: + /// **'Health Records'** + String get titleDashboardProfile; + + /// Title for screen with full health records data + /// + /// In en, this message translates to: + /// **'Full record'** + String get titleFullRecord; + + /// No description provided for @titleDocuments. + /// + /// In en, this message translates to: + /// **'Documents'** + String get titleDocuments; + + /// No description provided for @titleConsultations. + /// + /// In en, this message translates to: + /// **'Consultations'** + String get titleConsultations; + + /// No description provided for @titleAppLaunchPaywall. + /// + /// In en, this message translates to: + /// **'Paywall'** + String get titleAppLaunchPaywall; + + /// Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта + /// + /// In en, this message translates to: + /// **'Deleting? Tell us why!'** + String get quickActionDeleteFeedback; + + /// Подзаголовок быстрого действия для создания нового чата + /// + /// In en, this message translates to: + /// **'Start a new health conversation'** + String get quickActionNewChatSubtitle; + + /// Подзаголовок быстрого действия для отправки обратной связи + /// + /// In en, this message translates to: + /// **'Share an idea or report a problem'** + String get quickActionFeedbackSubtitle; + + /// Подзаголовок быстрого действия для обратной связи перед удалением приложения + /// + /// In en, this message translates to: + /// **'Tell us how Doctorina can improve'** + String get quickActionDeleteFeedbackSubtitle; } class _AppLocalizationDelegate extends LocalizationsDelegate { @@ -175,18 +442,60 @@ class _AppLocalizationDelegate extends LocalizationsDelegate { @override bool isSupported(Locale locale) => [ + 'af', + 'am', 'ar', + 'az', + 'be', + 'bg', 'bn', + 'ca', + 'cs', + 'da', 'de', + 'el', 'en', 'es', + 'fa', 'fr', + 'gu', + 'he', 'hi', + 'hu', + 'id', 'it', + 'ja', + 'kk', + 'km', + 'kn', 'ko', + 'lo', + 'ml', + 'mr', + 'ms', + 'my', + 'ne', + 'nl', + 'pa', + 'pl', + 'ps', 'pt', + 'ro', 'ru', - 'zh' + 'si', + 'sk', + 'sw', + 'ta', + 'te', + 'th', + 'tl', + 'tr', + 'uk', + 'ur', + 'uz', + 'vi', + 'zh', + 'zu' ].contains(locale.languageCode); @override @@ -196,6 +505,22 @@ class _AppLocalizationDelegate extends LocalizationsDelegate { AppLocalization lookupAppLocalization(Locale locale) { // Lookup logic when language+country codes are specified. switch (locale.languageCode) { + case 'ar': + { + switch (locale.countryCode) { + case 'EG': + return AppLocalizationArEg(); + } + break; + } + case 'pa': + { + switch (locale.countryCode) { + case 'PK': + return AppLocalizationPaPk(); + } + break; + } case 'pt': { switch (locale.countryCode) { @@ -209,6 +534,8 @@ AppLocalization lookupAppLocalization(Locale locale) { switch (locale.countryCode) { case 'CN': return AppLocalizationZhCn(); + case 'HK': + return AppLocalizationZhHk(); } break; } @@ -216,30 +543,114 @@ AppLocalization lookupAppLocalization(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { + case 'af': + return AppLocalizationAf(); + case 'am': + return AppLocalizationAm(); case 'ar': return AppLocalizationAr(); + case 'az': + return AppLocalizationAz(); + case 'be': + return AppLocalizationBe(); + case 'bg': + return AppLocalizationBg(); case 'bn': return AppLocalizationBn(); + case 'ca': + return AppLocalizationCa(); + case 'cs': + return AppLocalizationCs(); + case 'da': + return AppLocalizationDa(); case 'de': return AppLocalizationDe(); + case 'el': + return AppLocalizationEl(); case 'en': return AppLocalizationEn(); case 'es': return AppLocalizationEs(); + case 'fa': + return AppLocalizationFa(); case 'fr': return AppLocalizationFr(); + case 'gu': + return AppLocalizationGu(); + case 'he': + return AppLocalizationHe(); case 'hi': return AppLocalizationHi(); + case 'hu': + return AppLocalizationHu(); + case 'id': + return AppLocalizationId(); case 'it': return AppLocalizationIt(); + case 'ja': + return AppLocalizationJa(); + case 'kk': + return AppLocalizationKk(); + case 'km': + return AppLocalizationKm(); + case 'kn': + return AppLocalizationKn(); case 'ko': return AppLocalizationKo(); + case 'lo': + return AppLocalizationLo(); + case 'ml': + return AppLocalizationMl(); + case 'mr': + return AppLocalizationMr(); + case 'ms': + return AppLocalizationMs(); + case 'my': + return AppLocalizationMy(); + case 'ne': + return AppLocalizationNe(); + case 'nl': + return AppLocalizationNl(); + case 'pa': + return AppLocalizationPa(); + case 'pl': + return AppLocalizationPl(); + case 'ps': + return AppLocalizationPs(); case 'pt': return AppLocalizationPt(); + case 'ro': + return AppLocalizationRo(); case 'ru': return AppLocalizationRu(); + case 'si': + return AppLocalizationSi(); + case 'sk': + return AppLocalizationSk(); + case 'sw': + return AppLocalizationSw(); + case 'ta': + return AppLocalizationTa(); + case 'te': + return AppLocalizationTe(); + case 'th': + return AppLocalizationTh(); + case 'tl': + return AppLocalizationTl(); + case 'tr': + return AppLocalizationTr(); + case 'uk': + return AppLocalizationUk(); + case 'ur': + return AppLocalizationUr(); + case 'uz': + return AppLocalizationUz(); + case 'vi': + return AppLocalizationVi(); case 'zh': return AppLocalizationZh(); + case 'zu': + return AppLocalizationZu(); } throw FlutterError( diff --git a/example/lib/src/generated/app/app_localization_af.dart b/example/lib/src/generated/app/app_localization_af.dart new file mode 100644 index 0000000..45f3dee --- /dev/null +++ b/example/lib/src/generated/app/app_localization_af.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Afrikaans (`af`). +class AppLocalizationAf extends AppLocalization { + AppLocalizationAf([String locale = 'af']) : super(locale); + + @override + String get lang => 'Afrikaans'; + + @override + String get langEn => 'Afrikaans'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Werk Nou Op'; + + @override + String get checkVersionMaybeLaterButton => 'Miskien later'; + + @override + String get checkVersionUpdateOptionalTitle => 'Nuwe opdatering beskikbaar'; + + @override + String get checkVersionUpdateRequiredTitle => 'Opdatering Vereis'; + + @override + String checkVersionUpdateOptionalText(String version) { + return '‘n Nuwe weergawe (v$version) van die aansoek is beskikbaar. Asseblief, werk op om voort te gaan met die beste ervaring.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Om voort te gaan, werk asseblief die aansoek op. Hierdie opdatering bevat belangrike regstellings en verbeterings.'; + + @override + String get chatContextMenuDownload => 'Laai af'; + + @override + String get welcomeBackDialogText => + 'Teken in as jy reeds \'n Doctorina-rekening het, of teken aan om te begin.'; + + @override + String get welcomeBackDialogLogInButton => 'Teken in'; + + @override + String get welcomeBackDialogSignUpButton => 'Teken in'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Gaan voort as gas'; + + @override + String get titleLogin => 'Teken In'; + + @override + String get titleLogout => 'Teken uit'; + + @override + String get titleSignIn => 'Teken In'; + + @override + String get titleDialog => 'Dialoog'; + + @override + String get titleChat => 'Klets'; + + @override + String get titleSettings => 'Rekeninginstellings'; + + @override + String get titleChatHistory => 'Geselskapgeskiedenis'; + + @override + String get titlePayment => 'Betaling'; + + @override + String get titleManageSubscription => 'Bestuur intekening'; + + @override + String get titleMonthlySubscription => 'Maandelikse Intekening'; + + @override + String get titleOnboarding => 'Inleiding'; + + @override + String get titleWelcomeBack => 'Welkom terug'; + + @override + String get titleProfiles => 'Profiele van gesondheidsrekords'; + + @override + String get titleProfilesAnnouncement => 'Profiele aankondiging'; + + @override + String get titleDashboardProfile => 'Gesondheidsrekords'; + + @override + String get titleFullRecord => 'Volledige rekord'; + + @override + String get titleDocuments => 'Dokumente'; + + @override + String get titleConsultations => 'Konsultasies'; + + @override + String get titleAppLaunchPaywall => 'Betaalmuur'; + + @override + String get quickActionDeleteFeedback => 'Verwyder? Laat weet ons hoekom!'; + + @override + String get quickActionNewChatSubtitle => 'Begin \'n nuwe gesondheidsgesprek'; + + @override + String get quickActionFeedbackSubtitle => + 'Deel \'n idee of rapporteer \'n probleem'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Laat weet hoe Doctorina kan verbeter'; +} diff --git a/example/lib/src/generated/app/app_localization_am.dart b/example/lib/src/generated/app/app_localization_am.dart new file mode 100644 index 0000000..7467eb7 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_am.dart @@ -0,0 +1,128 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Amharic (`am`). +class AppLocalizationAm extends AppLocalization { + AppLocalizationAm([String locale = 'am']) : super(locale); + + @override + String get lang => 'አማርኛ'; + + @override + String get langEn => 'Amharic'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'አዘምን አሁን'; + + @override + String get checkVersionMaybeLaterButton => 'እንደ አሁን ይቅርታ'; + + @override + String get checkVersionUpdateOptionalTitle => 'አዲስ እንደሚያገኝ የሚያሳይ እንደሚያገኝ'; + + @override + String get checkVersionUpdateRequiredTitle => 'እንደ ወቅታዊ ዝርዝር ይወዳድሩ'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'አዲስ ትርጉም (v$version) የመተግበሪያው አለ። እባኮትን ወደ ቀጣይ ይዘው ለማሻሻል ይዘው ይቀጥሉ።'; + } + + @override + String get checkVersionUpdateRequiredText => + 'እባክዎ ይዘው ይቀጥሉ፣ እባክዎ አፕ ይዘው ይዘው። ይህ እቅፍ አስፈላጊ እና የሚሻሻል እንደሆነ ይዘው ይዘው።'; + + @override + String get chatContextMenuDownload => 'አውርድ'; + + @override + String get welcomeBackDialogText => + 'እባኮትን ወደ ዶክተሪና መለያዎ እንደተገናኙ ግባ ወይም ለመጀመር ይመዝገቡ.'; + + @override + String get welcomeBackDialogLogInButton => 'ገብተው ይግቡ'; + + @override + String get welcomeBackDialogSignUpButton => 'ይመዝገቡ'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'እንግድ ሆኖ ይቀጥሉ'; + + @override + String get titleLogin => 'ገባ'; + + @override + String get titleLogout => 'ውጣ'; + + @override + String get titleSignIn => 'ገብስ ወይም ይግቡ'; + + @override + String get titleDialog => 'ውይይት'; + + @override + String get titleChat => 'ውይይት'; + + @override + String get titleSettings => 'አካውንት ቅንብር'; + + @override + String get titleChatHistory => 'የውይይት ታሪክ'; + + @override + String get titlePayment => 'ክፍያ'; + + @override + String get titleManageSubscription => 'እቅፍ አስተዳደር'; + + @override + String get titleMonthlySubscription => 'ወርሃዊ እቅፍ'; + + @override + String get titleOnboarding => 'ኦንቦርዲንግ'; + + @override + String get titleWelcomeBack => 'እንኳን ወደ ቤት መጡ'; + + @override + String get titleProfiles => 'የጤና መዝገብ መገለጫዎች'; + + @override + String get titleProfilesAnnouncement => 'የፕሮፋይል ማስታወቂያ'; + + @override + String get titleDashboardProfile => 'የጤና መዝገቦች'; + + @override + String get titleFullRecord => 'ሙሉ መዝገብ'; + + @override + String get titleDocuments => 'ሰነዶች'; + + @override + String get titleConsultations => 'ኮንስልታሽን'; + + @override + String get titleAppLaunchPaywall => 'የክፍያ ግድብ'; + + @override + String get quickActionDeleteFeedback => 'እቅፍ ነው? ለእቅፍ ምን እንደሆነ ንገርልን!'; + + @override + String get quickActionNewChatSubtitle => 'አዲስ የጤና ውይይት ይጀምሩ'; + + @override + String get quickActionFeedbackSubtitle => 'አስተያየት ወይም ችግኝ ሪፖርት ይስጡ'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'እባክዎን ዶክተሪና እንዴት ማሻሻል እንደሚቻል ንገሩን'; +} diff --git a/example/lib/src/generated/app/app_localization_ar.dart b/example/lib/src/generated/app/app_localization_ar.dart index 17f8329..4241ae8 100644 --- a/example/lib/src/generated/app/app_localization_ar.dart +++ b/example/lib/src/generated/app/app_localization_ar.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,27 +11,239 @@ class AppLocalizationAr extends AppLocalization { AppLocalizationAr([String locale = 'ar']) : super(locale); @override - String get title => 'دكتورينا'; + String get lang => '#VALUE!'; @override - String get checkVersionUpdateNowButton => 'التحديث الآن'; + String get langEn => 'Egyptian Arabic'; @override - String get checkVersionMaybeLaterButton => 'ربما في وقت لاحق'; + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'تحديث الآن'; + + @override + String get checkVersionMaybeLaterButton => 'ربما لاحقًا'; @override String get checkVersionUpdateOptionalTitle => 'تحديث جديد متاح'; @override - String get checkVersionUpdateRequiredTitle => 'التحديث مطلوب'; + String get checkVersionUpdateRequiredTitle => 'يجب التحديث'; @override String checkVersionUpdateOptionalText(String version) { - return 'يتوفر إصدار جديد (v$version) من التطبيق. يُرجى التحديث للاستمرار في الاستخدام للحصول على أفضل تجربة.'; + return 'الإصدار الجديد (v$version) من التطبيق متاح. يرجى التحديث للاستمرار للحصول على أفضل تجربة'; } @override - String checkVersionUpdateRequiredText(String version) { - return 'للمتابعة، يُرجى تحديث التطبيق. يتضمن هذا التحديث إصلاحات وتحسينات مهمة.'; + String get checkVersionUpdateRequiredText => + 'للاستمرار، يرجى تحديث التطبيق. هذا التحديث يتضمن إصلاحات وتحسينات هامة.'; + + @override + String get chatContextMenuDownload => 'تنزيل'; + + @override + String get welcomeBackDialogText => + 'قم بتسجيل الدخول إذا كان لديك حساب Doctorina بالفعل، أو اشترك للبدء.'; + + @override + String get welcomeBackDialogLogInButton => 'تسجيل الدخول'; + + @override + String get welcomeBackDialogSignUpButton => 'سجل'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'متابعة كضيف'; + + @override + String get titleLogin => 'تسجيل الدخول'; + + @override + String get titleLogout => 'تسجيل الخروج'; + + @override + String get titleSignIn => 'تسجيل الدخول'; + + @override + String get titleDialog => 'حوار'; + + @override + String get titleChat => 'دردشة'; + + @override + String get titleSettings => 'إعدادات الحساب'; + + @override + String get titleChatHistory => 'سجل الدردشات'; + + @override + String get titlePayment => 'الدفع'; + + @override + String get titleManageSubscription => 'إدارة الاشتراك'; + + @override + String get titleMonthlySubscription => 'الاشتراك الشهري'; + + @override + String get titleOnboarding => 'التهيئة'; + + @override + String get titleWelcomeBack => 'مرحبًا بعودتك'; + + @override + String get titleProfiles => 'ملفات السجلات الصحية'; + + @override + String get titleProfilesAnnouncement => 'إعلان الملفات الشخصية'; + + @override + String get titleDashboardProfile => 'سجلات الصحة'; + + @override + String get titleFullRecord => 'السجل الكامل'; + + @override + String get titleDocuments => 'المستندات'; + + @override + String get titleConsultations => 'استشارات'; + + @override + String get titleAppLaunchPaywall => 'حاجز الدفع'; + + @override + String get quickActionDeleteFeedback => 'تحذف؟ أخبرنا لماذا!'; + + @override + String get quickActionNewChatSubtitle => 'ابدأ محادثة صحية جديدة'; + + @override + String get quickActionFeedbackSubtitle => 'شارك فكرة أو أبلغ عن مشكلة'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'أخبرنا كيف يمكن لدكتورينا أن تتحسن'; +} + +/// The translations for Arabic, as used in Egypt (`ar_EG`). +class AppLocalizationArEg extends AppLocalizationAr { + AppLocalizationArEg() : super('ar_EG'); + + @override + String get lang => '#VALUE!'; + + @override + String get langEn => 'Egyptian Arabic'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'تحديث الآن'; + + @override + String get checkVersionMaybeLaterButton => 'ربما لاحقًا'; + + @override + String get checkVersionUpdateOptionalTitle => 'تحديث جديد متاح'; + + @override + String get checkVersionUpdateRequiredTitle => 'يجب التحديث'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'الإصدار الجديد (v$version) من التطبيق متاح. يرجى التحديث للاستمرار للحصول على أفضل تجربة'; } + + @override + String get checkVersionUpdateRequiredText => + 'للاستمرار، يرجى تحديث التطبيق. هذا التحديث يتضمن إصلاحات وتحسينات هامة.'; + + @override + String get chatContextMenuDownload => 'تنزيل'; + + @override + String get welcomeBackDialogText => + 'قم بتسجيل الدخول إذا كان لديك حساب Doctorina بالفعل، أو اشترك للبدء.'; + + @override + String get welcomeBackDialogLogInButton => 'تسجيل الدخول'; + + @override + String get welcomeBackDialogSignUpButton => 'سجل'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'متابعة كضيف'; + + @override + String get titleLogin => 'تسجيل الدخول'; + + @override + String get titleLogout => 'تسجيل الخروج'; + + @override + String get titleSignIn => 'تسجيل الدخول'; + + @override + String get titleDialog => 'حوار'; + + @override + String get titleChat => 'دردشة'; + + @override + String get titleSettings => 'إعدادات الحساب'; + + @override + String get titleChatHistory => 'سجل الدردشات'; + + @override + String get titlePayment => 'الدفع'; + + @override + String get titleManageSubscription => 'إدارة الاشتراك'; + + @override + String get titleMonthlySubscription => 'الاشتراك الشهري'; + + @override + String get titleOnboarding => 'التهيئة'; + + @override + String get titleWelcomeBack => 'مرحبًا بعودتك'; + + @override + String get titleProfiles => 'ملفات السجلات الصحية'; + + @override + String get titleProfilesAnnouncement => 'إعلان الملفات الشخصية'; + + @override + String get titleDashboardProfile => 'سجلات الصحة'; + + @override + String get titleFullRecord => 'السجل الكامل'; + + @override + String get titleDocuments => 'المستندات'; + + @override + String get titleConsultations => 'استشارات'; + + @override + String get titleAppLaunchPaywall => 'حاجز الدفع'; + + @override + String get quickActionDeleteFeedback => 'تحذف؟ أخبرنا لماذا!'; + + @override + String get quickActionNewChatSubtitle => 'ابدأ محادثة صحية جديدة'; + + @override + String get quickActionFeedbackSubtitle => 'شارك فكرة أو أبلغ عن مشكلة'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'أخبرنا كيف يمكن لدكتورينا أن تتحسن'; } diff --git a/example/lib/src/generated/app/app_localization_az.dart b/example/lib/src/generated/app/app_localization_az.dart new file mode 100644 index 0000000..b5c8256 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_az.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Azerbaijani (`az`). +class AppLocalizationAz extends AppLocalization { + AppLocalizationAz([String locale = 'az']) : super(locale); + + @override + String get lang => 'Azərbaycan dili'; + + @override + String get langEn => 'Azerbaijani'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'İndi Yenilə'; + + @override + String get checkVersionMaybeLaterButton => 'Bəlkə sonra'; + + @override + String get checkVersionUpdateOptionalTitle => 'Yeni yeniləmə mövcuddur'; + + @override + String get checkVersionUpdateRequiredTitle => 'Yeniləmə tələb olunur'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Tətbiqin yeni versiyası (v$version) mövcuddur. Ən yaxşı təcrübə üçün yeniləyin.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Davam etmək üçün, zəhmət olmasa tətbiqi yeniləyin. Bu yeniləmə mühüm düzəlişlər və təkmilləşdirmələr daxildir.'; + + @override + String get chatContextMenuDownload => 'Yüklə'; + + @override + String get welcomeBackDialogText => + 'Əgər artıq Doctorina hesabınız varsa, daxil olun, ya da başlamaq üçün qeydiyyatdan keçin.'; + + @override + String get welcomeBackDialogLogInButton => 'Daxil ol'; + + @override + String get welcomeBackDialogSignUpButton => 'Qeydiyyat'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Qonaq kimi davam et'; + + @override + String get titleLogin => 'Daxil ol'; + + @override + String get titleLogout => 'Çıxış'; + + @override + String get titleSignIn => 'Daxil olun'; + + @override + String get titleDialog => 'Dialoq'; + + @override + String get titleChat => 'Söhbət'; + + @override + String get titleSettings => 'Hesab Ayarları'; + + @override + String get titleChatHistory => 'Söhbət Tarixi'; + + @override + String get titlePayment => 'Ödəniş'; + + @override + String get titleManageSubscription => 'Abunəni idarə et'; + + @override + String get titleMonthlySubscription => 'Aylıq Abunə'; + + @override + String get titleOnboarding => 'Başlanğıc'; + + @override + String get titleWelcomeBack => 'Xoş gəlmisiniz'; + + @override + String get titleProfiles => 'Sağlamlıq qeydləri profilləri'; + + @override + String get titleProfilesAnnouncement => 'Profil elanı'; + + @override + String get titleDashboardProfile => 'Sağlıq qeydləri'; + + @override + String get titleFullRecord => 'Tamamlanmış qeyd'; + + @override + String get titleDocuments => 'Sənədlər'; + + @override + String get titleConsultations => 'Müsahibələr'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => + 'Silirsiniz? Niyə olduğunu bizə bildirin!'; + + @override + String get quickActionNewChatSubtitle => 'Yeni sağlamlıq söhbətinə başlayın'; + + @override + String get quickActionFeedbackSubtitle => + 'Bir fikir paylaşın və ya problem bildirin'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Doctorina-nı necə inkişaf etdirə biləcəyimizi bizə bildirin'; +} diff --git a/example/lib/src/generated/app/app_localization_be.dart b/example/lib/src/generated/app/app_localization_be.dart new file mode 100644 index 0000000..fc88dca --- /dev/null +++ b/example/lib/src/generated/app/app_localization_be.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Belarusian (`be`). +class AppLocalizationBe extends AppLocalization { + AppLocalizationBe([String locale = 'be']) : super(locale); + + @override + String get lang => 'Беларуская мова'; + + @override + String get langEn => 'Belarusian'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Абнавіць зараз'; + + @override + String get checkVersionMaybeLaterButton => 'Пазней'; + + @override + String get checkVersionUpdateOptionalTitle => 'Даступна новае абнаўленне'; + + @override + String get checkVersionUpdateRequiredTitle => 'Патрэбна абнаўленне'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Даступная новая версія (v$version) прыкладання. Калі ласка, абновіце, каб працягнуць для найлепшага вопыту.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Каб працягнуць, абнавіце прыкладанне. Гэта абнаўленне ўключае важныя выпраўленні і паляпшэнні.'; + + @override + String get chatContextMenuDownload => 'Спампаваць'; + + @override + String get welcomeBackDialogText => + 'Увайдзіце, калі ў вас ужо ёсць уліковы запіс Doctorina, або зарэгіструйцеся, каб пачаць.'; + + @override + String get welcomeBackDialogLogInButton => 'Увайсці'; + + @override + String get welcomeBackDialogSignUpButton => 'Зарэгістравацца'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Працягнуць як госць'; + + @override + String get titleLogin => 'Увайсці'; + + @override + String get titleLogout => 'Выйсці'; + + @override + String get titleSignIn => 'Увайсці'; + + @override + String get titleDialog => 'Дыялог'; + + @override + String get titleChat => 'Чат'; + + @override + String get titleSettings => 'Налады ўліковага запісу'; + + @override + String get titleChatHistory => 'Гісторыя чатаў'; + + @override + String get titlePayment => 'Аплата'; + + @override + String get titleManageSubscription => 'Кіраванне падпіскай'; + + @override + String get titleMonthlySubscription => 'Штомесячная падпіска'; + + @override + String get titleOnboarding => 'Анбордынг'; + + @override + String get titleWelcomeBack => 'С вяртаннем'; + + @override + String get titleProfiles => 'Профілі медыцынскіх запісаў'; + + @override + String get titleProfilesAnnouncement => 'Аб\'ява пра профілі'; + + @override + String get titleDashboardProfile => 'Медыцынскія запісы'; + + @override + String get titleFullRecord => 'Поўная запіс'; + + @override + String get titleDocuments => 'Дакументы'; + + @override + String get titleConsultations => 'Кансультацыі'; + + @override + String get titleAppLaunchPaywall => 'Платны доступ'; + + @override + String get quickActionDeleteFeedback => 'Выдаляеце? Скажыце нам, чаму!'; + + @override + String get quickActionNewChatSubtitle => 'Пачаць новы размову пра здароўе'; + + @override + String get quickActionFeedbackSubtitle => + 'Падзяліцеся ідэяй або паведаміце пра праблему'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Скажыце нам, як Doctorina можа палепшыцца'; +} diff --git a/example/lib/src/generated/app/app_localization_bg.dart b/example/lib/src/generated/app/app_localization_bg.dart new file mode 100644 index 0000000..c0669b7 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_bg.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Bulgarian (`bg`). +class AppLocalizationBg extends AppLocalization { + AppLocalizationBg([String locale = 'bg']) : super(locale); + + @override + String get lang => 'български'; + + @override + String get langEn => 'Bulgarian'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Актуализирай сега'; + + @override + String get checkVersionMaybeLaterButton => 'Може по-късно'; + + @override + String get checkVersionUpdateOptionalTitle => 'Нова актуализация е налична'; + + @override + String get checkVersionUpdateRequiredTitle => 'Необходимо е обновление'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Налична е нова версия (v$version) на приложението. Моля, актуализирайте, за да продължите с най-доброто изживяване.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'За да продължите, моля, актуализирайте приложението. Тази актуализация включва важни корекции и подобрения.'; + + @override + String get chatContextMenuDownload => 'Изтегли'; + + @override + String get welcomeBackDialogText => + 'Влезте, ако вече имате акаунт в Doctorina, или се регистрирайте, за да започнете.'; + + @override + String get welcomeBackDialogLogInButton => 'Вход'; + + @override + String get welcomeBackDialogSignUpButton => 'Регистрация'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Продължете като гост'; + + @override + String get titleLogin => 'Вход'; + + @override + String get titleLogout => 'Изход'; + + @override + String get titleSignIn => 'Вход'; + + @override + String get titleDialog => 'Диалог'; + + @override + String get titleChat => 'Чат'; + + @override + String get titleSettings => 'Настройки на акаунта'; + + @override + String get titleChatHistory => 'История на чатовете'; + + @override + String get titlePayment => 'Плащане'; + + @override + String get titleManageSubscription => 'Управление на абонамента'; + + @override + String get titleMonthlySubscription => 'Месечен абонамент'; + + @override + String get titleOnboarding => 'Започване'; + + @override + String get titleWelcomeBack => 'Добре дошли отново'; + + @override + String get titleProfiles => 'Профили на здравни досиета'; + + @override + String get titleProfilesAnnouncement => 'Обявление за профили'; + + @override + String get titleDashboardProfile => 'Медицински записи'; + + @override + String get titleFullRecord => 'Пълен запис'; + + @override + String get titleDocuments => 'Документи'; + + @override + String get titleConsultations => 'Консултации'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'Изтривате? Кажете ни защо!'; + + @override + String get quickActionNewChatSubtitle => 'Започнете нова здравна беседа'; + + @override + String get quickActionFeedbackSubtitle => + 'Споделете идея или докладвайте проблем'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Кажете ни как Doctorina може да се подобри'; +} diff --git a/example/lib/src/generated/app/app_localization_bn.dart b/example/lib/src/generated/app/app_localization_bn.dart index 29b2492..c68069a 100644 --- a/example/lib/src/generated/app/app_localization_bn.dart +++ b/example/lib/src/generated/app/app_localization_bn.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,10 +11,16 @@ class AppLocalizationBn extends AppLocalization { AppLocalizationBn([String locale = 'bn']) : super(locale); @override - String get title => 'ডক্টরিনা'; + String get lang => 'বাংলা'; @override - String get checkVersionUpdateNowButton => 'এখনই আপডেট করুন'; + String get langEn => 'Bengali'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'এখন আপডেট করুন'; @override String get checkVersionMaybeLaterButton => 'হয়তো পরে'; @@ -27,11 +33,98 @@ class AppLocalizationBn extends AppLocalization { @override String checkVersionUpdateOptionalText(String version) { - return 'অ্যাপটির একটি নতুন সংস্করণ (v$version) উপলব্ধ৷ সেরা অভিজ্ঞতার জন্য চালিয়ে যেতে অনুগ্রহ করে আপডেট করুন।'; + return 'অ্যাপের নতুন সংস্করণ (v$version) পাওয়া যাচ্ছে. সর্বোত্তম অভিজ্ঞতার জন্য অনুগ্রহ করে আপডেট করুন.'; } @override - String checkVersionUpdateRequiredText(String version) { - return 'চালিয়ে যেতে, অনুগ্রহ করে অ্যাপটি আপডেট করুন। এই আপডেটে গুরুত্বপূর্ণ সংশোধন এবং উন্নতি অন্তর্ভুক্ত রয়েছে।'; - } + String get checkVersionUpdateRequiredText => + 'চালিয়ে যেতে, অনুগ্রহ করে অ্যাপটি আপডেট করুন. এই আপডেটে গুরুত্বপূর্ণ সংশোধন ও উন্নতি অন্তর্ভুক্ত রয়েছে.'; + + @override + String get chatContextMenuDownload => 'ডাউনলোড'; + + @override + String get welcomeBackDialogText => + 'আপনার যদি ইতিমধ্যে একটি Doctorina অ্যাকাউন্ট থাকে তবে লগ ইন করুন, অথবা শুরু করতে সাইন আপ করুন'; + + @override + String get welcomeBackDialogLogInButton => 'লগ ইন'; + + @override + String get welcomeBackDialogSignUpButton => 'সাইন আপ করুন'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'অতিথি হিসেবে চালিয়ে যান'; + + @override + String get titleLogin => 'লগ ইন'; + + @override + String get titleLogout => 'লগ আউট'; + + @override + String get titleSignIn => 'সাইন ইন'; + + @override + String get titleDialog => 'সংলাপ'; + + @override + String get titleChat => 'চ্যাট'; + + @override + String get titleSettings => 'অ্যাকাউন্ট সেটিংস'; + + @override + String get titleChatHistory => 'চ্যাট ইতিহাস'; + + @override + String get titlePayment => 'পেমেন্ট'; + + @override + String get titleManageSubscription => 'সাবস্ক্রিপশন পরিচালনা করুন'; + + @override + String get titleMonthlySubscription => 'মাসিক সাবস্ক্রিপশন'; + + @override + String get titleOnboarding => 'অনবোর্ডিং'; + + @override + String get titleWelcomeBack => 'স্বাগতম ফিরে'; + + @override + String get titleProfiles => 'স্বাস্থ্য নথির প্রোফাইল'; + + @override + String get titleProfilesAnnouncement => 'প্রোফাইল ঘোষণা'; + + @override + String get titleDashboardProfile => 'স্বাস্থ্য রেকর্ড'; + + @override + String get titleFullRecord => 'সম্পূর্ণ রেকর্ড'; + + @override + String get titleDocuments => 'নথি'; + + @override + String get titleConsultations => 'পরামর্শ'; + + @override + String get titleAppLaunchPaywall => 'পে ওয়াল'; + + @override + String get quickActionDeleteFeedback => 'মুছে ফেলছেন? আমাদের জানান কেন!'; + + @override + String get quickActionNewChatSubtitle => 'নতুন স্বাস্থ্য আলোচনা শুরু করুন'; + + @override + String get quickActionFeedbackSubtitle => + 'একটি ধারণা শেয়ার করুন বা একটি সমস্যা রিপোর্ট করুন'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Doctorina কিভাবে উন্নতি করতে পারে আমাদের জানান'; } diff --git a/example/lib/src/generated/app/app_localization_ca.dart b/example/lib/src/generated/app/app_localization_ca.dart new file mode 100644 index 0000000..2d0a3b7 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_ca.dart @@ -0,0 +1,131 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Catalan Valencian (`ca`). +class AppLocalizationCa extends AppLocalization { + AppLocalizationCa([String locale = 'ca']) : super(locale); + + @override + String get lang => 'Català'; + + @override + String get langEn => 'Catalan'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Actualitza ara'; + + @override + String get checkVersionMaybeLaterButton => 'Potser més tard'; + + @override + String get checkVersionUpdateOptionalTitle => 'Nova actualització disponible'; + + @override + String get checkVersionUpdateRequiredTitle => 'Actualització requerida'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Hi ha una nova versió (v$version) de l\'aplicació disponible. Si us plau, actualitzeu per continuar amb la millor experiència.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Per continuar, si us plau actualitzeu l\'aplicació. Aquesta actualització inclou correccions i millores importants.'; + + @override + String get chatContextMenuDownload => 'Descarrega'; + + @override + String get welcomeBackDialogText => + 'Inicia sessió si ja tens un compte de Doctorina, o registra\'t per començar.'; + + @override + String get welcomeBackDialogLogInButton => 'Inicia sessió'; + + @override + String get welcomeBackDialogSignUpButton => 'Inscriu-te'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Continua com a convidat'; + + @override + String get titleLogin => 'Iniciar sessió'; + + @override + String get titleLogout => 'Tancar sessió'; + + @override + String get titleSignIn => 'Iniciar sessió'; + + @override + String get titleDialog => 'Diàleg'; + + @override + String get titleChat => 'Xat'; + + @override + String get titleSettings => 'Configuració del compte'; + + @override + String get titleChatHistory => 'Històric de xats'; + + @override + String get titlePayment => 'Pagament'; + + @override + String get titleManageSubscription => 'Gestiona la subscripció'; + + @override + String get titleMonthlySubscription => 'Subscripció Mensual'; + + @override + String get titleOnboarding => 'Introducció'; + + @override + String get titleWelcomeBack => 'Benvingut de nou'; + + @override + String get titleProfiles => 'Perfils d\'historials de salut'; + + @override + String get titleProfilesAnnouncement => 'Anunci de perfils'; + + @override + String get titleDashboardProfile => 'Registres de salut'; + + @override + String get titleFullRecord => 'Registre complet'; + + @override + String get titleDocuments => 'Documents'; + + @override + String get titleConsultations => 'Consultes'; + + @override + String get titleAppLaunchPaywall => 'Mur de pagament'; + + @override + String get quickActionDeleteFeedback => 'Esborrant? Digues-nos per què!'; + + @override + String get quickActionNewChatSubtitle => + 'Comença una nova conversa sobre salut'; + + @override + String get quickActionFeedbackSubtitle => + 'Comparteix una idea o informa d\'un problema'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Digue\'ns com pot millorar Doctorina'; +} diff --git a/example/lib/src/generated/app/app_localization_cs.dart b/example/lib/src/generated/app/app_localization_cs.dart new file mode 100644 index 0000000..f40a9d0 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_cs.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Czech (`cs`). +class AppLocalizationCs extends AppLocalization { + AppLocalizationCs([String locale = 'cs']) : super(locale); + + @override + String get lang => 'čeština'; + + @override + String get langEn => 'Czech'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Aktualizovat nyní'; + + @override + String get checkVersionMaybeLaterButton => 'Možná později'; + + @override + String get checkVersionUpdateOptionalTitle => + 'Nová aktualizace je k dispozici'; + + @override + String get checkVersionUpdateRequiredTitle => 'Aktualizace vyžadována'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Nová verze (v$version) aplikace je k dispozici. Prosím, aktualizujte, abyste mohli pokračovat v nejlepší zkušenosti.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Pro pokračování prosím aktualizujte aplikaci. Tato aktualizace obsahuje důležité opravy a vylepšení.'; + + @override + String get chatContextMenuDownload => 'Stáhnout'; + + @override + String get welcomeBackDialogText => + 'Přihlaste se, pokud již máte účet Doctorina, nebo se zaregistrujte a začněte.'; + + @override + String get welcomeBackDialogLogInButton => 'Přihlásit se'; + + @override + String get welcomeBackDialogSignUpButton => 'Zaregistrovat se'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Pokračovat jako host'; + + @override + String get titleLogin => 'Přihlásit se'; + + @override + String get titleLogout => 'Odhlásit se'; + + @override + String get titleSignIn => 'Přihlásit se'; + + @override + String get titleDialog => 'Dialog'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Nastavení účtu'; + + @override + String get titleChatHistory => 'Historie chatů'; + + @override + String get titlePayment => 'Platba'; + + @override + String get titleManageSubscription => 'Spravovat předplatné'; + + @override + String get titleMonthlySubscription => 'Měsíční předplatné'; + + @override + String get titleOnboarding => 'Úvod'; + + @override + String get titleWelcomeBack => 'Vítejte zpět'; + + @override + String get titleProfiles => 'Profily zdravotních záznamů'; + + @override + String get titleProfilesAnnouncement => 'Oznámení o profilech'; + + @override + String get titleDashboardProfile => 'Zdravotní záznamy'; + + @override + String get titleFullRecord => 'Úplný záznam'; + + @override + String get titleDocuments => 'Dokumenty'; + + @override + String get titleConsultations => 'Konzultace'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'Mazání? Řekněte nám proč!'; + + @override + String get quickActionNewChatSubtitle => 'Začněte novou zdravotní konverzaci'; + + @override + String get quickActionFeedbackSubtitle => + 'Sdílejte nápad nebo nahlaste problém'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Řekněte nám, jak může Doctorina zlepšit'; +} diff --git a/example/lib/src/generated/app/app_localization_da.dart b/example/lib/src/generated/app/app_localization_da.dart new file mode 100644 index 0000000..4f6be6c --- /dev/null +++ b/example/lib/src/generated/app/app_localization_da.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Danish (`da`). +class AppLocalizationDa extends AppLocalization { + AppLocalizationDa([String locale = 'da']) : super(locale); + + @override + String get lang => 'Dansk'; + + @override + String get langEn => 'Danish'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Opdater nu'; + + @override + String get checkVersionMaybeLaterButton => 'Måske senere'; + + @override + String get checkVersionUpdateOptionalTitle => 'Ny opdatering tilgængelig'; + + @override + String get checkVersionUpdateRequiredTitle => 'Opdatering påkrævet'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'En ny version (v$version) af appen er tilgængelig. Opdater venligst for at fortsætte med den bedste oplevelse.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'For at fortsætte, opdater venligst appen. Denne opdatering inkluderer vigtige rettelser og forbedringer.'; + + @override + String get chatContextMenuDownload => 'Hent'; + + @override + String get welcomeBackDialogText => + 'Log ind, hvis du allerede har en Doctorina-konto, eller tilmeld dig for at komme i gang.'; + + @override + String get welcomeBackDialogLogInButton => 'Log ind'; + + @override + String get welcomeBackDialogSignUpButton => 'Tilmeld dig'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Fortsæt som gæst'; + + @override + String get titleLogin => 'Log ind'; + + @override + String get titleLogout => 'Log ud'; + + @override + String get titleSignIn => 'Log ind'; + + @override + String get titleDialog => 'Dialog'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Kontoindstillinger'; + + @override + String get titleChatHistory => 'Chat-historik'; + + @override + String get titlePayment => 'Betaling'; + + @override + String get titleManageSubscription => 'Administrer abonnement'; + + @override + String get titleMonthlySubscription => 'Månedligt Abonnement'; + + @override + String get titleOnboarding => 'Introduktion'; + + @override + String get titleWelcomeBack => 'Velkommen tilbage'; + + @override + String get titleProfiles => 'Profiler for sundhedsjournaler'; + + @override + String get titleProfilesAnnouncement => 'Profilerklæring'; + + @override + String get titleDashboardProfile => 'Sundhedsoptegnelser'; + + @override + String get titleFullRecord => 'Fuld optegnelse'; + + @override + String get titleDocuments => 'Dokumenter'; + + @override + String get titleConsultations => 'Konsultationer'; + + @override + String get titleAppLaunchPaywall => 'Betalingsmur'; + + @override + String get quickActionDeleteFeedback => 'Sletter du? Fortæl os hvorfor!'; + + @override + String get quickActionNewChatSubtitle => 'Start en ny sundhedssamtale'; + + @override + String get quickActionFeedbackSubtitle => + 'Del en idé eller rapporter et problem'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Fortæl os, hvordan Doctorina kan forbedres'; +} diff --git a/example/lib/src/generated/app/app_localization_de.dart b/example/lib/src/generated/app/app_localization_de.dart index 794e61e..12bc5d0 100644 --- a/example/lib/src/generated/app/app_localization_de.dart +++ b/example/lib/src/generated/app/app_localization_de.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,6 +10,12 @@ import 'app_localization.dart'; class AppLocalizationDe extends AppLocalization { AppLocalizationDe([String locale = 'de']) : super(locale); + @override + String get lang => 'Deutsch'; + + @override + String get langEn => 'German'; + @override String get title => 'Doctorina'; @@ -31,7 +37,94 @@ class AppLocalizationDe extends AppLocalization { } @override - String checkVersionUpdateRequiredText(String version) { - return 'Um fortzufahren, aktualisieren Sie bitte die App. Dieses Update enthält wichtige Fehlerbehebungen und Verbesserungen.'; - } + String get checkVersionUpdateRequiredText => + 'Um fortzufahren, aktualisieren Sie bitte die App. Dieses Update enthält wichtige Fehlerbehebungen und Verbesserungen.'; + + @override + String get chatContextMenuDownload => 'Herunterladen'; + + @override + String get welcomeBackDialogText => + 'Melden Sie sich an, wenn Sie bereits ein Doctorina-Konto haben, oder registrieren Sie sich, um zu beginnen.'; + + @override + String get welcomeBackDialogLogInButton => 'Einloggen'; + + @override + String get welcomeBackDialogSignUpButton => 'Anmelden'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Weiter als Gast'; + + @override + String get titleLogin => 'Einloggen'; + + @override + String get titleLogout => 'Abmelden'; + + @override + String get titleSignIn => 'Anmelden'; + + @override + String get titleDialog => 'Dialog'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Kontoeinstellungen'; + + @override + String get titleChatHistory => 'Chatverlauf'; + + @override + String get titlePayment => 'Zahlung'; + + @override + String get titleManageSubscription => 'Abonnement verwalten'; + + @override + String get titleMonthlySubscription => 'Monatliches Abonnement'; + + @override + String get titleOnboarding => 'Einarbeitung'; + + @override + String get titleWelcomeBack => 'Willkommen zurück'; + + @override + String get titleProfiles => 'Profile von Gesundheitsakten'; + + @override + String get titleProfilesAnnouncement => 'Ankündigung der Profile'; + + @override + String get titleDashboardProfile => 'Gesundheitsakten'; + + @override + String get titleFullRecord => 'Vollständiger Datensatz'; + + @override + String get titleDocuments => 'Dokumente'; + + @override + String get titleConsultations => 'Konsultationen'; + + @override + String get titleAppLaunchPaywall => 'Zahlungsaufforderung'; + + @override + String get quickActionDeleteFeedback => 'Löschen? Sag uns warum!'; + + @override + String get quickActionNewChatSubtitle => + 'Starten Sie ein neues Gesundheitsgespräch'; + + @override + String get quickActionFeedbackSubtitle => + 'Teilen Sie eine Idee oder melden Sie ein Problem'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Sagen Sie uns, wie Doctorina sich verbessern kann'; } diff --git a/example/lib/src/generated/app/app_localization_el.dart b/example/lib/src/generated/app/app_localization_el.dart new file mode 100644 index 0000000..638358f --- /dev/null +++ b/example/lib/src/generated/app/app_localization_el.dart @@ -0,0 +1,131 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Modern Greek (`el`). +class AppLocalizationEl extends AppLocalization { + AppLocalizationEl([String locale = 'el']) : super(locale); + + @override + String get lang => 'ελληνικά'; + + @override + String get langEn => 'Greek'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Update Now'; + + @override + String get checkVersionMaybeLaterButton => 'Ίσως αργότερα'; + + @override + String get checkVersionUpdateOptionalTitle => 'Διαθέσιμη νέα ενημέρωση'; + + @override + String get checkVersionUpdateRequiredTitle => 'Απαιτείται ενημέρωση'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Μια νέα έκδοση (v$version) της εφαρμογής είναι διαθέσιμη. Παρακαλώ ενημερώστε για να συνεχίσετε με την καλύτερη εμπειρία.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Για να συνεχίσετε, παρακαλώ ενημερώστε την εφαρμογή. Αυτή η ενημέρωση περιλαμβάνει σημαντικές διορθώσεις και βελτιώσεις.'; + + @override + String get chatContextMenuDownload => 'Λήψη'; + + @override + String get welcomeBackDialogText => + 'Συνδεθείτε αν έχετε ήδη λογαριασμό Doctorina ή εγγραφείτε για να ξεκινήσετε.'; + + @override + String get welcomeBackDialogLogInButton => 'Σύνδεση'; + + @override + String get welcomeBackDialogSignUpButton => 'Εγγραφή'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Συνεχίστε ως επισκέπτης'; + + @override + String get titleLogin => 'Σύνδεση'; + + @override + String get titleLogout => 'Αποσύνδεση'; + + @override + String get titleSignIn => 'Σύνδεση'; + + @override + String get titleDialog => 'Διάλογος'; + + @override + String get titleChat => 'Συνομιλία'; + + @override + String get titleSettings => 'Ρυθμίσεις Λογαριασμού'; + + @override + String get titleChatHistory => 'Ιστορικό συνομιλιών'; + + @override + String get titlePayment => 'Πληρωμή'; + + @override + String get titleManageSubscription => 'Διαχείριση συνδρομής'; + + @override + String get titleMonthlySubscription => 'Μηνιαία Συνδρομή'; + + @override + String get titleOnboarding => 'Εκπαίδευση'; + + @override + String get titleWelcomeBack => 'Καλώς ήρθατε πίσω'; + + @override + String get titleProfiles => 'Προφίλ αρχείων υγείας'; + + @override + String get titleProfilesAnnouncement => 'Ανακοίνωση προφίλ'; + + @override + String get titleDashboardProfile => 'Ιατρικά Αρχεία'; + + @override + String get titleFullRecord => 'Πλήρης καταγραφή'; + + @override + String get titleDocuments => 'Έγγραφα'; + + @override + String get titleConsultations => 'Συμβουλές'; + + @override + String get titleAppLaunchPaywall => 'Πληρωμή'; + + @override + String get quickActionDeleteFeedback => 'Διαγραφή; Πείτε μας γιατί!'; + + @override + String get quickActionNewChatSubtitle => + 'Ξεκινήστε μια νέα υγειονομική συνομιλία'; + + @override + String get quickActionFeedbackSubtitle => + 'Μοιραστείτε μια ιδέα ή αναφέρετε ένα πρόβλημα'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Πείτε μας πώς μπορεί να βελτιωθεί η Doctorina'; +} diff --git a/example/lib/src/generated/app/app_localization_en.dart b/example/lib/src/generated/app/app_localization_en.dart index f36b11c..29267c2 100644 --- a/example/lib/src/generated/app/app_localization_en.dart +++ b/example/lib/src/generated/app/app_localization_en.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,6 +10,12 @@ import 'app_localization.dart'; class AppLocalizationEn extends AppLocalization { AppLocalizationEn([String locale = 'en']) : super(locale); + @override + String get lang => 'English'; + + @override + String get langEn => 'English'; + @override String get title => 'Doctorina'; @@ -31,7 +37,92 @@ class AppLocalizationEn extends AppLocalization { } @override - String checkVersionUpdateRequiredText(String version) { - return 'To continue, please update the app. This update includes important fixes and improvements.'; - } + String get checkVersionUpdateRequiredText => + 'To continue, please update the app. This update includes important fixes and improvements.'; + + @override + String get chatContextMenuDownload => 'Download'; + + @override + String get welcomeBackDialogText => + 'Log in if you already have a Doctorina account, or sign up to get started.'; + + @override + String get welcomeBackDialogLogInButton => 'Log in'; + + @override + String get welcomeBackDialogSignUpButton => 'Sign up'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Continue as guest'; + + @override + String get titleLogin => 'Log In'; + + @override + String get titleLogout => 'Log Out'; + + @override + String get titleSignIn => 'Sign In'; + + @override + String get titleDialog => 'Dialog'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Account Settings'; + + @override + String get titleChatHistory => 'Chat History'; + + @override + String get titlePayment => 'Payment'; + + @override + String get titleManageSubscription => 'Manage subscription'; + + @override + String get titleMonthlySubscription => 'Monthly Subscription'; + + @override + String get titleOnboarding => 'Onboarding'; + + @override + String get titleWelcomeBack => 'Welcome back'; + + @override + String get titleProfiles => 'Health records profiles'; + + @override + String get titleProfilesAnnouncement => 'Profiles announcement'; + + @override + String get titleDashboardProfile => 'Health Records'; + + @override + String get titleFullRecord => 'Full record'; + + @override + String get titleDocuments => 'Documents'; + + @override + String get titleConsultations => 'Consultations'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'Deleting? Tell us why!'; + + @override + String get quickActionNewChatSubtitle => 'Start a new health conversation'; + + @override + String get quickActionFeedbackSubtitle => 'Share an idea or report a problem'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Tell us how Doctorina can improve'; } diff --git a/example/lib/src/generated/app/app_localization_es.dart b/example/lib/src/generated/app/app_localization_es.dart index 312ab57..e2677bb 100644 --- a/example/lib/src/generated/app/app_localization_es.dart +++ b/example/lib/src/generated/app/app_localization_es.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,6 +10,12 @@ import 'app_localization.dart'; class AppLocalizationEs extends AppLocalization { AppLocalizationEs([String locale = 'es']) : super(locale); + @override + String get lang => 'Español'; + + @override + String get langEn => 'Spanish'; + @override String get title => 'Doctorina'; @@ -32,7 +38,95 @@ class AppLocalizationEs extends AppLocalization { } @override - String checkVersionUpdateRequiredText(String version) { - return 'Para continuar, actualiza la aplicación. Esta actualización incluye correcciones e mejoras importantes.'; - } + String get checkVersionUpdateRequiredText => + 'Para continuar, actualiza la aplicación. Esta actualización incluye correcciones e mejoras importantes.'; + + @override + String get chatContextMenuDownload => 'Descargar'; + + @override + String get welcomeBackDialogText => + 'Inicia sesión si ya tienes una cuenta de Doctorina, o regístrate para comenzar.'; + + @override + String get welcomeBackDialogLogInButton => 'Iniciar sesión'; + + @override + String get welcomeBackDialogSignUpButton => 'Registrarse'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Continuar como invitado'; + + @override + String get titleLogin => 'Iniciar sesión'; + + @override + String get titleLogout => 'Cerrar sesión'; + + @override + String get titleSignIn => 'Iniciar sesión'; + + @override + String get titleDialog => 'Diálogo'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Ajustes'; + + @override + String get titleChatHistory => 'Historial de chats'; + + @override + String get titlePayment => 'Pago'; + + @override + String get titleManageSubscription => 'Administrar suscripción'; + + @override + String get titleMonthlySubscription => 'Suscripción mensual'; + + @override + String get titleOnboarding => 'Onboarding'; + + @override + String get titleWelcomeBack => 'Bienvenido de nuevo'; + + @override + String get titleProfiles => 'Perfiles de historiales médicos'; + + @override + String get titleProfilesAnnouncement => 'Anuncio de perfiles'; + + @override + String get titleDashboardProfile => 'Registros de salud'; + + @override + String get titleFullRecord => 'Registro completo'; + + @override + String get titleDocuments => 'Documentos'; + + @override + String get titleConsultations => 'Consultas'; + + @override + String get titleAppLaunchPaywall => 'Muro de pago'; + + @override + String get quickActionDeleteFeedback => '¿Eliminando? ¡Díganos por qué!'; + + @override + String get quickActionNewChatSubtitle => + 'Iniciar una nueva conversación sobre salud'; + + @override + String get quickActionFeedbackSubtitle => + 'Comparte una idea o informa de un problema'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Díganos cómo puede mejorar Doctorina'; } diff --git a/example/lib/src/generated/app/app_localization_fa.dart b/example/lib/src/generated/app/app_localization_fa.dart new file mode 100644 index 0000000..6ab2fda --- /dev/null +++ b/example/lib/src/generated/app/app_localization_fa.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Persian (`fa`). +class AppLocalizationFa extends AppLocalization { + AppLocalizationFa([String locale = 'fa']) : super(locale); + + @override + String get lang => 'فارسی'; + + @override + String get langEn => 'Persian'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'اکنون به‌روزرسانی کنید'; + + @override + String get checkVersionMaybeLaterButton => 'شاید بعداً'; + + @override + String get checkVersionUpdateOptionalTitle => 'به‌روزرسانی جدید موجود'; + + @override + String get checkVersionUpdateRequiredTitle => 'به‌روزرسانی مورد نیاز'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'نسخه جدید (v$version) اپلیکیشن در دسترس است. لطفاً برای ادامه بهترین تجربه، به‌روزرسانی کنید.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'برای ادامه، لطفاً برنامه را به‌روزرسانی کنید. این به‌روزرسانی شامل رفع اشکالات و بهبودهای مهم است.'; + + @override + String get chatContextMenuDownload => 'دانلود'; + + @override + String get welcomeBackDialogText => + 'اگر حساب Doctorina دارید، وارد شوید یا برای شروع ثبت‌نام کنید.'; + + @override + String get welcomeBackDialogLogInButton => 'ورود'; + + @override + String get welcomeBackDialogSignUpButton => 'ثبت نام'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'ادامه به عنوان مهمان'; + + @override + String get titleLogin => 'ورود'; + + @override + String get titleLogout => 'خروج'; + + @override + String get titleSignIn => 'ورود'; + + @override + String get titleDialog => 'گفتگو'; + + @override + String get titleChat => 'چت'; + + @override + String get titleSettings => 'تنظیمات حساب'; + + @override + String get titleChatHistory => 'تاریخچه چت'; + + @override + String get titlePayment => 'پرداخت'; + + @override + String get titleManageSubscription => 'مدیریت اشتراک'; + + @override + String get titleMonthlySubscription => 'اشتراک ماهانه'; + + @override + String get titleOnboarding => 'آموزش'; + + @override + String get titleWelcomeBack => 'خوش آمدید'; + + @override + String get titleProfiles => 'پروفایل‌های سوابق سلامت'; + + @override + String get titleProfilesAnnouncement => 'اعلام پروفایل‌ها'; + + @override + String get titleDashboardProfile => 'سوابق پزشکی'; + + @override + String get titleFullRecord => 'سوابق کامل'; + + @override + String get titleDocuments => 'اسناد'; + + @override + String get titleConsultations => 'مشاوره‌ها'; + + @override + String get titleAppLaunchPaywall => 'دیوار پرداخت'; + + @override + String get quickActionDeleteFeedback => 'در حال حذف؟ به ما بگویید چرا!'; + + @override + String get quickActionNewChatSubtitle => + 'یک گفتگوی جدید در مورد سلامت شروع کنید'; + + @override + String get quickActionFeedbackSubtitle => + 'ایده‌ای به اشتراک بگذارید یا مشکلی را گزارش کنید'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'به ما بگویید چگونه دکترینا می‌تواند بهبود یابد'; +} diff --git a/example/lib/src/generated/app/app_localization_fr.dart b/example/lib/src/generated/app/app_localization_fr.dart index a496a75..d719cab 100644 --- a/example/lib/src/generated/app/app_localization_fr.dart +++ b/example/lib/src/generated/app/app_localization_fr.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,7 +11,13 @@ class AppLocalizationFr extends AppLocalization { AppLocalizationFr([String locale = 'fr']) : super(locale); @override - String get title => 'Docteure'; + String get lang => 'Français'; + + @override + String get langEn => 'French'; + + @override + String get title => 'Doctorina'; @override String get checkVersionUpdateNowButton => 'Mettre à jour maintenant'; @@ -28,11 +34,100 @@ class AppLocalizationFr extends AppLocalization { @override String checkVersionUpdateOptionalText(String version) { - return 'Une nouvelle version (v$version) de l\'application est disponible. Veuillez la mettre à jour pour profiter d\'une expérience optimale.'; + return 'Une nouvelle version (v$version) de l\'application est disponible. Veuillez mettre à jour pour continuer et obtenir la meilleure expérience.'; } @override - String checkVersionUpdateRequiredText(String version) { - return 'Pour continuer, veuillez mettre à jour l\'application. Cette mise à jour inclut des correctifs et améliorations importants.'; - } + String get checkVersionUpdateRequiredText => + 'Pour continuer, veuillez mettre à jour l\'application. Cette mise à jour inclut des corrections importantes et des améliorations.'; + + @override + String get chatContextMenuDownload => 'Télécharger'; + + @override + String get welcomeBackDialogText => + 'Connectez-vous si vous avez déjà un compte Doctorina, ou inscrivez-vous pour commencer.'; + + @override + String get welcomeBackDialogLogInButton => 'Se connecter'; + + @override + String get welcomeBackDialogSignUpButton => 'S\'inscrire'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Continuer en tant qu\'invité'; + + @override + String get titleLogin => 'Se connecter'; + + @override + String get titleLogout => 'Se déconnecter'; + + @override + String get titleSignIn => 'Se connecter'; + + @override + String get titleDialog => 'Dialogue'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Paramètres du compte'; + + @override + String get titleChatHistory => 'Historique des chats'; + + @override + String get titlePayment => 'Paiement'; + + @override + String get titleManageSubscription => 'Gérer l\'abonnement'; + + @override + String get titleMonthlySubscription => 'Abonnement Mensuel'; + + @override + String get titleOnboarding => 'Intégration'; + + @override + String get titleWelcomeBack => 'Content de vous revoir'; + + @override + String get titleProfiles => 'Profils des dossiers médicaux'; + + @override + String get titleProfilesAnnouncement => 'Annonce des profils'; + + @override + String get titleDashboardProfile => 'Dossiers de santé'; + + @override + String get titleFullRecord => 'Dossier complet'; + + @override + String get titleDocuments => 'Documents'; + + @override + String get titleConsultations => 'Consultations'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => + 'Vous supprimez ? Dites-nous pourquoi !'; + + @override + String get quickActionNewChatSubtitle => + 'Démarrer une nouvelle conversation sur la santé'; + + @override + String get quickActionFeedbackSubtitle => + 'Partagez une idée ou signalez un problème'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Dites-nous comment Doctorina peut s\'améliorer'; } diff --git a/example/lib/src/generated/app/app_localization_gu.dart b/example/lib/src/generated/app/app_localization_gu.dart new file mode 100644 index 0000000..24fc672 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_gu.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Gujarati (`gu`). +class AppLocalizationGu extends AppLocalization { + AppLocalizationGu([String locale = 'gu']) : super(locale); + + @override + String get lang => 'ગુજરાતી'; + + @override + String get langEn => 'Gujarati'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'હમણાં અપડેટ કરો'; + + @override + String get checkVersionMaybeLaterButton => 'કદાચ પછી'; + + @override + String get checkVersionUpdateOptionalTitle => 'નવું અપડેટ ઉપલબ્ધ છે'; + + @override + String get checkVersionUpdateRequiredTitle => 'અપડેટ આવશ્યક છે'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'એપનો નવો વર્ઝન (v$version) ઉપલબ્ધ છે. શ્રેષ્ઠ અનુભવ માટે કૃપા કરીને અપડેટ કરો'; + } + + @override + String get checkVersionUpdateRequiredText => + 'પ્રગટતા રહેવા માટે, કૃપા કરીને એપ અપડેટ કરો. આ અપડેટમાં મહત્વપૂર્ણ સુધારાઓ અને સુધારા સામેલ છે.'; + + @override + String get chatContextMenuDownload => 'ડાઉનલોડ'; + + @override + String get welcomeBackDialogText => + 'જો તમારી પાસે પહેલેથી જ Doctorina ખાતું છે તો લોગિન કરો, અથવા શરૂ કરવા માટે સાઇન અપ કરો.'; + + @override + String get welcomeBackDialogLogInButton => 'લોગ ઇન'; + + @override + String get welcomeBackDialogSignUpButton => 'સાઇન અપ'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'અતિથિ તરીકે ચાલુ રાખો'; + + @override + String get titleLogin => 'લોગ ઇન'; + + @override + String get titleLogout => 'લોગ આઉટ'; + + @override + String get titleSignIn => 'સાઇન ઇન'; + + @override + String get titleDialog => 'સંવાદ'; + + @override + String get titleChat => 'ચેટ'; + + @override + String get titleSettings => 'એકાઉન્ટ સેટિંગ્સ'; + + @override + String get titleChatHistory => 'ચેટ ઇતિહાસ'; + + @override + String get titlePayment => 'ચુકવણી'; + + @override + String get titleManageSubscription => 'સબ્સ્ક્રિપ્શન વ્યવસ્થાપિત કરો'; + + @override + String get titleMonthlySubscription => 'માસિક સબ્સ્ક્રિપ્શન'; + + @override + String get titleOnboarding => 'પ્રારંભ'; + + @override + String get titleWelcomeBack => 'ફરીથી સ્વાગત છે'; + + @override + String get titleProfiles => 'આરોગ્ય રેકોર્ડ પ્રોફાઇલ્સ'; + + @override + String get titleProfilesAnnouncement => 'પ્રોફાઇલ્સ જાહેરાત'; + + @override + String get titleDashboardProfile => 'આરોગ્ય રેકોર્ડ'; + + @override + String get titleFullRecord => 'પૂર્ણ રેકોર્ડ'; + + @override + String get titleDocuments => 'દસ્તાવેજો'; + + @override + String get titleConsultations => 'સલાહ'; + + @override + String get titleAppLaunchPaywall => 'પે વોલ'; + + @override + String get quickActionDeleteFeedback => 'કાઢી રહ્યા છો? અમને કહો કેમ!'; + + @override + String get quickActionNewChatSubtitle => 'નવો આરોગ્ય સંવાદ શરૂ કરો'; + + @override + String get quickActionFeedbackSubtitle => + 'વિચાર શેર કરો અથવા સમસ્યા રિપોર્ટ કરો'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'ડોક્ટરિના કેવી રીતે સુધારી શકે તે અમને જણાવો'; +} diff --git a/example/lib/src/generated/app/app_localization_he.dart b/example/lib/src/generated/app/app_localization_he.dart new file mode 100644 index 0000000..d21bec9 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_he.dart @@ -0,0 +1,128 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hebrew (`he`). +class AppLocalizationHe extends AppLocalization { + AppLocalizationHe([String locale = 'he']) : super(locale); + + @override + String get lang => 'עִברִית'; + + @override + String get langEn => 'Hebrew'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'עדכן עכשיו'; + + @override + String get checkVersionMaybeLaterButton => 'אולי מאוחר יותר'; + + @override + String get checkVersionUpdateOptionalTitle => 'עדכון חדש זמין'; + + @override + String get checkVersionUpdateRequiredTitle => 'עדכון נדרש'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'גרסה חדשה (v$version) של האפליקציה זמינה. נא לעדכן לקבלת החוויה הטובה ביותר.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'להמשך, נא לעדכן את האפליקציה. העדכון כולל תיקונים ושיפורים חשובים.'; + + @override + String get chatContextMenuDownload => 'הורדה'; + + @override + String get welcomeBackDialogText => + 'היכנס אם כבר יש לך חשבון Doctorina, או הירשם כדי להתחיל.'; + + @override + String get welcomeBackDialogLogInButton => 'התחבר'; + + @override + String get welcomeBackDialogSignUpButton => 'הרשמה'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'המשך כאורח'; + + @override + String get titleLogin => 'התחברות'; + + @override + String get titleLogout => 'התנתק'; + + @override + String get titleSignIn => 'התחברות'; + + @override + String get titleDialog => 'שיחה'; + + @override + String get titleChat => 'צ\'אט'; + + @override + String get titleSettings => 'הגדרות חשבון'; + + @override + String get titleChatHistory => 'היסטוריית צ\'אט'; + + @override + String get titlePayment => 'תשלום'; + + @override + String get titleManageSubscription => 'נהל מנוי'; + + @override + String get titleMonthlySubscription => 'מנוי חודשי'; + + @override + String get titleOnboarding => 'הדרכה'; + + @override + String get titleWelcomeBack => 'ברוך שובך'; + + @override + String get titleProfiles => 'פרופילי רשומות בריאות'; + + @override + String get titleProfilesAnnouncement => 'הודעת פרופילים'; + + @override + String get titleDashboardProfile => 'רשומות בריאות'; + + @override + String get titleFullRecord => 'רשומה מלאה'; + + @override + String get titleDocuments => 'מסמכים'; + + @override + String get titleConsultations => 'התייעצויות'; + + @override + String get titleAppLaunchPaywall => 'חומת תשלום'; + + @override + String get quickActionDeleteFeedback => 'מוחק? ספר לנו למה!'; + + @override + String get quickActionNewChatSubtitle => 'התחל שיחה חדשה על בריאות'; + + @override + String get quickActionFeedbackSubtitle => 'שתף רעיון או דווח על בעיה'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'ספרו לנו איך דוקטורינה יכולה להשתפר'; +} diff --git a/example/lib/src/generated/app/app_localization_hi.dart b/example/lib/src/generated/app/app_localization_hi.dart index c9082b6..657899b 100644 --- a/example/lib/src/generated/app/app_localization_hi.dart +++ b/example/lib/src/generated/app/app_localization_hi.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,27 +11,120 @@ class AppLocalizationHi extends AppLocalization { AppLocalizationHi([String locale = 'hi']) : super(locale); @override - String get title => 'डॉक्टरिना'; + String get lang => 'हिन्दी'; @override - String get checkVersionUpdateNowButton => 'अभी अद्यतन करें'; + String get langEn => 'Hindi'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'अभी अपडेट करें'; @override String get checkVersionMaybeLaterButton => 'शायद बाद में'; @override - String get checkVersionUpdateOptionalTitle => 'नया अपडेट उपलब्ध है'; + String get checkVersionUpdateOptionalTitle => 'नया अपडेट उपलब्ध'; @override - String get checkVersionUpdateRequiredTitle => 'अद्यतन आवश्यक है'; + String get checkVersionUpdateRequiredTitle => 'अपडेट आवश्यक'; @override String checkVersionUpdateOptionalText(String version) { - return 'ऐप का नया संस्करण (v$version) उपलब्ध है। कृपया बेहतर अनुभव के लिए इसे अपडेट करते रहें।'; + return 'ऐप का नया संस्करण (v$version) उपलब्ध है. सर्वोत्तम अनुभव के लिए कृपया अपडेट करें.'; } @override - String checkVersionUpdateRequiredText(String version) { - return 'जारी रखने के लिए, कृपया ऐप अपडेट करें। इस अपडेट में महत्वपूर्ण सुधार और सुधार शामिल हैं।'; - } + String get checkVersionUpdateRequiredText => + 'जारी रखने के लिए, कृपया ऐप को अपडेट करें. इस अपडेट में महत्वपूर्ण सुधार और उन्नयन शामिल हैं.'; + + @override + String get chatContextMenuDownload => 'डाउनलोड'; + + @override + String get welcomeBackDialogText => + 'यदि आपके पास पहले से Doctorina खाता है, तो लॉग इन करें, या शुरू करने के लिए साइन अप करें।'; + + @override + String get welcomeBackDialogLogInButton => 'लॉग इन करें'; + + @override + String get welcomeBackDialogSignUpButton => 'साइन अप करें'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'अतिथि के रूप में जारी रखें'; + + @override + String get titleLogin => 'लॉग इन करें'; + + @override + String get titleLogout => 'लॉग आउट'; + + @override + String get titleSignIn => 'साइन इन'; + + @override + String get titleDialog => 'संवाद'; + + @override + String get titleChat => 'चैट'; + + @override + String get titleSettings => 'खाता सेटिंग्स'; + + @override + String get titleChatHistory => 'चैट इतिहास'; + + @override + String get titlePayment => 'भुगतान'; + + @override + String get titleManageSubscription => 'सदस्यता प्रबंधित करें'; + + @override + String get titleMonthlySubscription => 'मासिक सदस्यता'; + + @override + String get titleOnboarding => 'ऑनबोर्डिंग'; + + @override + String get titleWelcomeBack => 'स्वागत है वापस'; + + @override + String get titleProfiles => 'स्वास्थ्य अभिलेख प्रोफ़ाइलें'; + + @override + String get titleProfilesAnnouncement => 'प्रोफाइल्स की घोषणा'; + + @override + String get titleDashboardProfile => 'स्वास्थ्य रिकॉर्ड'; + + @override + String get titleFullRecord => 'पूर्ण रिकॉर्ड'; + + @override + String get titleDocuments => 'दस्तावेज़'; + + @override + String get titleConsultations => 'परामर्श'; + + @override + String get titleAppLaunchPaywall => 'भुगतान दीवार'; + + @override + String get quickActionDeleteFeedback => 'हटाना? हमें बताएं क्यों!'; + + @override + String get quickActionNewChatSubtitle => 'एक नई स्वास्थ्य बातचीत शुरू करें'; + + @override + String get quickActionFeedbackSubtitle => + 'एक विचार साझा करें या समस्या रिपोर्ट करें'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'हमें बताएं कि डॉक्टरिना कैसे सुधार कर सकता है'; } diff --git a/example/lib/src/generated/app/app_localization_hu.dart b/example/lib/src/generated/app/app_localization_hu.dart new file mode 100644 index 0000000..b9d8efd --- /dev/null +++ b/example/lib/src/generated/app/app_localization_hu.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hungarian (`hu`). +class AppLocalizationHu extends AppLocalization { + AppLocalizationHu([String locale = 'hu']) : super(locale); + + @override + String get lang => 'magyar'; + + @override + String get langEn => 'Hungarian'; + + @override + String get title => 'Doktorina'; + + @override + String get checkVersionUpdateNowButton => 'Frissítés most'; + + @override + String get checkVersionMaybeLaterButton => 'Később'; + + @override + String get checkVersionUpdateOptionalTitle => 'Új frissítés elérhető'; + + @override + String get checkVersionUpdateRequiredTitle => 'Frissítés szükséges'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'A(z) $version verziójú alkalmazás elérhető. Kérjük, frissítse a legjobb élmény érdekében.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'A folytatáshoz kérjük, frissítse az alkalmazást. Ez a frissítés fontos javításokat és fejlesztéseket tartalmaz.'; + + @override + String get chatContextMenuDownload => 'Letöltés'; + + @override + String get welcomeBackDialogText => + 'Jelentkezzen be, ha már van Doctorina fiókja, vagy regisztráljon a kezdéshez.'; + + @override + String get welcomeBackDialogLogInButton => 'Bejelentkezés'; + + @override + String get welcomeBackDialogSignUpButton => 'Regisztráció'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Folytatás vendégként'; + + @override + String get titleLogin => 'Bejelentkezés'; + + @override + String get titleLogout => 'Kijelentkezés'; + + @override + String get titleSignIn => 'Bejelentkezés'; + + @override + String get titleDialog => 'Dialógus'; + + @override + String get titleChat => 'Csevegés'; + + @override + String get titleSettings => 'Fiókbeállítások'; + + @override + String get titleChatHistory => 'Csevegési előzmények'; + + @override + String get titlePayment => 'Fizetés'; + + @override + String get titleManageSubscription => 'Előfizetés kezelése'; + + @override + String get titleMonthlySubscription => 'Havi előfizetés'; + + @override + String get titleOnboarding => 'Bevezetés'; + + @override + String get titleWelcomeBack => 'Üdvözöljük vissza'; + + @override + String get titleProfiles => 'Egészségügyi nyilvántartási profilok'; + + @override + String get titleProfilesAnnouncement => 'Profilok bejelentése'; + + @override + String get titleDashboardProfile => 'Egészségügyi nyilvántartások'; + + @override + String get titleFullRecord => 'Teljes nyilvántartás'; + + @override + String get titleDocuments => 'Dokumentumok'; + + @override + String get titleConsultations => 'Konzultációk'; + + @override + String get titleAppLaunchPaywall => 'Fizetési fal'; + + @override + String get quickActionDeleteFeedback => 'Törlés? Mondja el, miért!'; + + @override + String get quickActionNewChatSubtitle => + 'Indítson egy új egészségügyi beszélgetést'; + + @override + String get quickActionFeedbackSubtitle => + 'Ossza meg ötletét vagy jelentsen be egy problémát'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Mondja el, hogyan javíthat a Doctorina'; +} diff --git a/example/lib/src/generated/app/app_localization_id.dart b/example/lib/src/generated/app/app_localization_id.dart new file mode 100644 index 0000000..0deb406 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_id.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Indonesian (`id`). +class AppLocalizationId extends AppLocalization { + AppLocalizationId([String locale = 'id']) : super(locale); + + @override + String get lang => 'Indonesia'; + + @override + String get langEn => 'Indonesian'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Perbarui Sekarang'; + + @override + String get checkVersionMaybeLaterButton => 'Mungkin Nanti'; + + @override + String get checkVersionUpdateOptionalTitle => 'Pembaruan baru tersedia'; + + @override + String get checkVersionUpdateRequiredTitle => 'Pembaruan Diperlukan'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Versi baru (v$version) dari aplikasi tersedia. Harap perbarui untuk melanjutkan agar mendapatkan pengalaman terbaik.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Untuk melanjutkan, silakan perbarui aplikasi. Pembaruan ini mencakup perbaikan penting dan peningkatan.'; + + @override + String get chatContextMenuDownload => 'Unduh'; + + @override + String get welcomeBackDialogText => + 'Masuk jika Anda sudah memiliki akun Doctorina, atau daftar untuk memulai.'; + + @override + String get welcomeBackDialogLogInButton => 'Masuk'; + + @override + String get welcomeBackDialogSignUpButton => 'Daftar'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Lanjut sebagai tamu'; + + @override + String get titleLogin => 'Masuk'; + + @override + String get titleLogout => 'Keluar'; + + @override + String get titleSignIn => 'Masuk'; + + @override + String get titleDialog => 'Dialog'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Pengaturan Akun'; + + @override + String get titleChatHistory => 'Riwayat Obrolan'; + + @override + String get titlePayment => 'Pembayaran'; + + @override + String get titleManageSubscription => 'Kelola langganan'; + + @override + String get titleMonthlySubscription => 'Langganan Bulanan'; + + @override + String get titleOnboarding => 'Onboarding'; + + @override + String get titleWelcomeBack => 'Selamat datang kembali'; + + @override + String get titleProfiles => 'Profil rekam kesehatan'; + + @override + String get titleProfilesAnnouncement => 'Pengumuman profil'; + + @override + String get titleDashboardProfile => 'Rekam Medis'; + + @override + String get titleFullRecord => 'Rekaman lengkap'; + + @override + String get titleDocuments => 'Dokumen'; + + @override + String get titleConsultations => 'Konsultasi'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => + 'Menghapus? Beri tahu kami alasannya!'; + + @override + String get quickActionNewChatSubtitle => 'Mulai percakapan kesehatan baru'; + + @override + String get quickActionFeedbackSubtitle => 'Bagikan ide atau laporkan masalah'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Beri tahu kami bagaimana Doctorina dapat diperbaiki'; +} diff --git a/example/lib/src/generated/app/app_localization_it.dart b/example/lib/src/generated/app/app_localization_it.dart index c32d526..e8f9959 100644 --- a/example/lib/src/generated/app/app_localization_it.dart +++ b/example/lib/src/generated/app/app_localization_it.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,28 +11,121 @@ class AppLocalizationIt extends AppLocalization { AppLocalizationIt([String locale = 'it']) : super(locale); @override - String get title => 'Dottoressa'; + String get lang => 'Italiano'; + + @override + String get langEn => 'Italian'; + + @override + String get title => 'Doctorina'; @override String get checkVersionUpdateNowButton => 'Aggiorna ora'; @override - String get checkVersionMaybeLaterButton => 'Forse più tardi'; + String get checkVersionMaybeLaterButton => 'Magari più tardi'; @override String get checkVersionUpdateOptionalTitle => 'Nuovo aggiornamento disponibile'; @override - String get checkVersionUpdateRequiredTitle => 'Aggiornamento richiesto'; + String get checkVersionUpdateRequiredTitle => 'Aggiornamento Richiesto'; @override String checkVersionUpdateOptionalText(String version) { - return 'È disponibile una nuova versione (v$version) dell\'app. Aggiornala per continuare a usufruire della migliore esperienza possibile.'; + return 'Una nuova versione (v$version) dell\'app è disponibile. Aggiorna per continuare a ottenere la migliore esperienza.'; } @override - String checkVersionUpdateRequiredText(String version) { - return 'Per continuare, aggiorna l\'app. Questo aggiornamento include importanti correzioni e miglioramenti.'; - } + String get checkVersionUpdateRequiredText => + 'Per continuare, aggiorna l\'app. Questo aggiornamento include correzioni importanti e miglioramenti.'; + + @override + String get chatContextMenuDownload => 'Scarica'; + + @override + String get welcomeBackDialogText => + 'Accedi se hai già un account Doctorina, oppure registrati per iniziare.'; + + @override + String get welcomeBackDialogLogInButton => 'Accedi'; + + @override + String get welcomeBackDialogSignUpButton => 'Iscriviti'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Continua come ospite'; + + @override + String get titleLogin => 'Accedi'; + + @override + String get titleLogout => 'Disconnetti'; + + @override + String get titleSignIn => 'Accedi'; + + @override + String get titleDialog => 'Dialogo'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Impostazioni account'; + + @override + String get titleChatHistory => 'Cronologia chat'; + + @override + String get titlePayment => 'Pagamento'; + + @override + String get titleManageSubscription => 'Gestisci abbonamento'; + + @override + String get titleMonthlySubscription => 'Abbonamento Mensile'; + + @override + String get titleOnboarding => 'Onboarding'; + + @override + String get titleWelcomeBack => 'Bentornato'; + + @override + String get titleProfiles => 'Profili delle cartelle cliniche'; + + @override + String get titleProfilesAnnouncement => 'Annuncio dei profili'; + + @override + String get titleDashboardProfile => 'Cartelle cliniche'; + + @override + String get titleFullRecord => 'Record completo'; + + @override + String get titleDocuments => 'Documenti'; + + @override + String get titleConsultations => 'Consultazioni'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'Eliminare? Dicci perché!'; + + @override + String get quickActionNewChatSubtitle => + 'Inizia una nuova conversazione sulla salute'; + + @override + String get quickActionFeedbackSubtitle => + 'Condividi un\'idea o segnala un problema'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Dicci come Doctorina può migliorare'; } diff --git a/example/lib/src/generated/app/app_localization_ja.dart b/example/lib/src/generated/app/app_localization_ja.dart new file mode 100644 index 0000000..d313001 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_ja.dart @@ -0,0 +1,128 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Japanese (`ja`). +class AppLocalizationJa extends AppLocalization { + AppLocalizationJa([String locale = 'ja']) : super(locale); + + @override + String get lang => '日本語'; + + @override + String get langEn => 'Japanese'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => '今すぐ更新'; + + @override + String get checkVersionMaybeLaterButton => '後で'; + + @override + String get checkVersionUpdateOptionalTitle => '新しい更新が利用可能'; + + @override + String get checkVersionUpdateRequiredTitle => '更新が必要'; + + @override + String checkVersionUpdateOptionalText(String version) { + return '新しいバージョン (v$version) のアプリが利用可能です。最良の体験のために更新してください'; + } + + @override + String get checkVersionUpdateRequiredText => + '続行するには、アプリを更新してください。このアップデートには重要な修正や改善が含まれています。'; + + @override + String get chatContextMenuDownload => 'ダウンロード'; + + @override + String get welcomeBackDialogText => + 'すでにDoctorinaアカウントをお持ちの場合はログインし、始めるにはサインアップしてください。'; + + @override + String get welcomeBackDialogLogInButton => 'ログイン'; + + @override + String get welcomeBackDialogSignUpButton => 'サインアップ'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'ゲ스트として続行'; + + @override + String get titleLogin => 'ログイン'; + + @override + String get titleLogout => 'ログアウト'; + + @override + String get titleSignIn => 'ログイン'; + + @override + String get titleDialog => 'ダイアログ'; + + @override + String get titleChat => 'チャット'; + + @override + String get titleSettings => 'アカウント設定'; + + @override + String get titleChatHistory => 'チャット履歴'; + + @override + String get titlePayment => '支払い'; + + @override + String get titleManageSubscription => 'サブスクリプションを管理'; + + @override + String get titleMonthlySubscription => '月額サブスクリプション'; + + @override + String get titleOnboarding => 'オンボーディング'; + + @override + String get titleWelcomeBack => 'お帰りなさい'; + + @override + String get titleProfiles => '健康記録プロフィール'; + + @override + String get titleProfilesAnnouncement => 'プロフィールのお知らせ'; + + @override + String get titleDashboardProfile => '健康記録'; + + @override + String get titleFullRecord => '完全な記録'; + + @override + String get titleDocuments => 'ドキュメント'; + + @override + String get titleConsultations => '相談'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => '削除しますか?理由を教えてください!'; + + @override + String get quickActionNewChatSubtitle => '新しい健康の会話を始める'; + + @override + String get quickActionFeedbackSubtitle => 'アイデアを共有するか、問題を報告する'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Doctorinaがどのように改善できるか教えてください'; +} diff --git a/example/lib/src/generated/app/app_localization_kk.dart b/example/lib/src/generated/app/app_localization_kk.dart new file mode 100644 index 0000000..4908f55 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_kk.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kazakh (`kk`). +class AppLocalizationKk extends AppLocalization { + AppLocalizationKk([String locale = 'kk']) : super(locale); + + @override + String get lang => 'Қазақ'; + + @override + String get langEn => 'Kazakh'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Қазір жаңарту'; + + @override + String get checkVersionMaybeLaterButton => 'Кейінірек'; + + @override + String get checkVersionUpdateOptionalTitle => 'Жаңа жаңарту қолжетімді'; + + @override + String get checkVersionUpdateRequiredTitle => 'Жаңарту қажет'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Қолданбаның жаңа нұсқасы (v$version) қолжетімді. Ең жақсы тәжірибе үшін жаңартыңыз.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Жалғастыру үшін, қосымшаны жаңартыңыз. Бұл жаңарту маңызды түзетулер мен жақсартуларды қамтиды.'; + + @override + String get chatContextMenuDownload => 'Жүктеу'; + + @override + String get welcomeBackDialogText => + 'Егер сізде Doctorina аккаунты болса, кіріңіз немесе бастау үшін тіркеліңіз.'; + + @override + String get welcomeBackDialogLogInButton => 'Кіру'; + + @override + String get welcomeBackDialogSignUpButton => 'Тіркелу'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Қонақ ретінде жалғастырыңыз'; + + @override + String get titleLogin => 'Кіру'; + + @override + String get titleLogout => 'Шығу'; + + @override + String get titleSignIn => 'Кіру'; + + @override + String get titleDialog => 'Диалог'; + + @override + String get titleChat => 'Чат'; + + @override + String get titleSettings => 'Есеп параметрлері'; + + @override + String get titleChatHistory => 'Чат тарихы'; + + @override + String get titlePayment => 'Төлем'; + + @override + String get titleManageSubscription => 'Жазылымды басқару'; + + @override + String get titleMonthlySubscription => 'Айлық жазылым'; + + @override + String get titleOnboarding => 'Бастапқы'; + + @override + String get titleWelcomeBack => 'Қайта келдіңіз'; + + @override + String get titleProfiles => 'Денсаулық жазбаларының профильдері'; + + @override + String get titleProfilesAnnouncement => 'Профильдер туралы хабарландыру'; + + @override + String get titleDashboardProfile => 'Денсаулық жазбалары'; + + @override + String get titleFullRecord => 'Толық жазба'; + + @override + String get titleDocuments => 'Құжаттар'; + + @override + String get titleConsultations => 'Консультациялар'; + + @override + String get titleAppLaunchPaywall => 'Төлем қабырғасы'; + + @override + String get quickActionDeleteFeedback => 'Жою? Неге екенін айтыңыз!'; + + @override + String get quickActionNewChatSubtitle => 'Жаңа денсаулық әңгімесін бастаңыз'; + + @override + String get quickActionFeedbackSubtitle => + 'Идея бөлісіңіз немесе мәселені хабарлаңыз'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Doctorina қалай жақсара алатынын айтыңыз'; +} diff --git a/example/lib/src/generated/app/app_localization_km.dart b/example/lib/src/generated/app/app_localization_km.dart new file mode 100644 index 0000000..e37f602 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_km.dart @@ -0,0 +1,128 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Khmer Central Khmer (`km`). +class AppLocalizationKm extends AppLocalization { + AppLocalizationKm([String locale = 'km']) : super(locale); + + @override + String get lang => 'ខ្មែរ'; + + @override + String get langEn => 'Khmer'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Update Now'; + + @override + String get checkVersionMaybeLaterButton => 'ប្រហែលជាពេលក្រោយ'; + + @override + String get checkVersionUpdateOptionalTitle => 'មានការអាប់ដេតថ្មី available'; + + @override + String get checkVersionUpdateRequiredTitle => 'ត្រូវការកំណែថ្មី'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'កំណែថ្មីមួយ (v$version) នៃកម្មវិធីមានស្រាប់។ សូមធ្វើបច្ចុប្បន្នភាពដើម្បីបន្តទទួលបានបទពិសោធន៍ល្អបំផុត។'; + } + + @override + String get checkVersionUpdateRequiredText => + 'ដើម្បីបន្ត សូមធ្វើការអាប់ដេតកម្មវិធី។ ការអាប់ដេតនេះមានការកែសម្រួលនិងការកែលម្អសំខាន់ៗ។'; + + @override + String get chatContextMenuDownload => 'ទាញយក'; + + @override + String get welcomeBackDialogText => + 'ចូលប្រើប្រសិនបើអ្នកមានគណនី Doctorina ហើយ ឬចុះឈ្មោះដើម្បីចាប់ផ្តើម។'; + + @override + String get welcomeBackDialogLogInButton => 'ចូល'; + + @override + String get welcomeBackDialogSignUpButton => 'ចុះឈ្មោះ'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'បន្តជា​ភ្ញៀវ'; + + @override + String get titleLogin => 'ចូល'; + + @override + String get titleLogout => 'ចាកចេញ'; + + @override + String get titleSignIn => 'ចុះឈ្មោះ'; + + @override + String get titleDialog => 'សន្ទនា'; + + @override + String get titleChat => 'ការសន្ទនា'; + + @override + String get titleSettings => 'ការកំណត់គណនី'; + + @override + String get titleChatHistory => 'ប្រវត្តិការជជែក'; + + @override + String get titlePayment => 'ការទូទាត់'; + + @override + String get titleManageSubscription => 'គ្រប់គ្រងការជាវ'; + + @override + String get titleMonthlySubscription => 'ការជាវប្រចាំខែ'; + + @override + String get titleOnboarding => 'ការបណ្តុះបណ្តាល'; + + @override + String get titleWelcomeBack => 'សូមស្វាគមន៍ត្រឡប់មកវិញ'; + + @override + String get titleProfiles => 'ប្រវត្តិរូបកំណត់ត្រាសុខភាព'; + + @override + String get titleProfilesAnnouncement => 'ការប្រកាសពីប្រវត្តិ'; + + @override + String get titleDashboardProfile => 'កំណត់ត្រាសុខភាព'; + + @override + String get titleFullRecord => 'កំណត់ត្រាពេញ'; + + @override + String get titleDocuments => 'ឯកសារ'; + + @override + String get titleConsultations => 'ការពិគ្រោះ'; + + @override + String get titleAppLaunchPaywall => 'ការបិទច្រក'; + + @override + String get quickActionDeleteFeedback => 'កំពុងលុប? សូមប្រាប់យើងពីមូលហេតុ!'; + + @override + String get quickActionNewChatSubtitle => 'ចាប់ផ្តើមការពិភាក្សាអំពីសុខភាពថ្មី'; + + @override + String get quickActionFeedbackSubtitle => 'ចែករំលែកគំនិតឬរាយការណ៍បញ្ហា'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'ប្រាប់យើងពីរបៀបដែល Doctorina អាចធ្វើឱ្យប្រសើរឡើង'; +} diff --git a/example/lib/src/generated/app/app_localization_kn.dart b/example/lib/src/generated/app/app_localization_kn.dart new file mode 100644 index 0000000..2b0a298 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_kn.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kannada (`kn`). +class AppLocalizationKn extends AppLocalization { + AppLocalizationKn([String locale = 'kn']) : super(locale); + + @override + String get lang => 'ಕನ್ನಡ'; + + @override + String get langEn => 'Kannada'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'ಈಗ ನವೀಕರಿಸಿ'; + + @override + String get checkVersionMaybeLaterButton => 'ಮರುಕಳಿಸಿ'; + + @override + String get checkVersionUpdateOptionalTitle => 'ಹೊಸ ನವೀಕರಣ ಲಭ್ಯವಿದೆ'; + + @override + String get checkVersionUpdateRequiredTitle => 'ಅಪ್ಡೇಟ್ ಅಗತ್ಯವಿದೆ'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'ಹೊಸ ಆವೃತ್ತಿ (v$version) ಲಭ್ಯವಿದೆ. ಉತ್ತಮ ಅನುಭವಕ್ಕಾಗಿ ದಯವಿಟ್ಟು ನವೀಕರಿಸಿ.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'ಮುಂದುವರಿಸಲು, ದಯವಿಟ್ಟು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನವೀಕರಿಸಿ. ಈ ನವೀಕರಣವು ಪ್ರಮುಖ ದೋಷಗಳನ್ನು ಮತ್ತು ಸುಧಾರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.'; + + @override + String get chatContextMenuDownload => 'ಡೌನ್ಲೋಡ್'; + + @override + String get welcomeBackDialogText => + 'ನೀವು ಈಗಾಗಲೇ Doctorina ಖಾತೆ ಹೊಂದಿದ್ದರೆ ಲಾಗಿನ್ ಮಾಡಿ, ಅಥವಾ ಪ್ರಾರಂಭಿಸಲು ಸೈನ್ ಅಪ್ ಮಾಡಿ.'; + + @override + String get welcomeBackDialogLogInButton => 'ಲಾಗ್ ಇನ್'; + + @override + String get welcomeBackDialogSignUpButton => 'ಸೈನ್ ಅಪ್'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'ಅತಿಥಿಯಾಗಿ ಮುಂದುವರಿಸಿ'; + + @override + String get titleLogin => 'ಲಾಗಿನ್'; + + @override + String get titleLogout => 'ಲಾಗ್ ಔಟ್'; + + @override + String get titleSignIn => 'ಸೈನ್ ಇನ್'; + + @override + String get titleDialog => 'ಸಂವಾದ'; + + @override + String get titleChat => 'ಚಾಟ್'; + + @override + String get titleSettings => 'ಖಾತೆ ಸೆಟಿಂಗ್‌ಗಳು'; + + @override + String get titleChatHistory => 'ಚಾಟ್ ಇತಿಹಾಸ'; + + @override + String get titlePayment => 'ಪಾವತಿ'; + + @override + String get titleManageSubscription => 'ಚಂದಾ ನಿರ್ವಹಣೆ'; + + @override + String get titleMonthlySubscription => 'ಮಾಸಿಕ ಚಂದಾ'; + + @override + String get titleOnboarding => 'ಆರಂಭ'; + + @override + String get titleWelcomeBack => 'ಮರುಸ್ವಾಗತ'; + + @override + String get titleProfiles => 'ಆರೋಗ್ಯ ದಾಖಲೆಗಳ ಪ್ರೊಫೈಲ್‌ಗಳು'; + + @override + String get titleProfilesAnnouncement => 'ಪ್ರೊಫೈಲ್ ಘೋಷಣೆ'; + + @override + String get titleDashboardProfile => 'ಆರೋಗ್ಯ ದಾಖಲೆಗಳು'; + + @override + String get titleFullRecord => 'ಪೂರ್ಣ ದಾಖಲೆ'; + + @override + String get titleDocuments => 'ದಾಖಲೆಗಳು'; + + @override + String get titleConsultations => 'ಸಲಹೆಗಳು'; + + @override + String get titleAppLaunchPaywall => 'ಪೇವಾಲ್'; + + @override + String get quickActionDeleteFeedback => + 'ಅಳಿಸುತ್ತಿದ್ದೀರಾ? ನಮಗೆ ಏಕೆ ಎಂದು ತಿಳಿಸಿ!'; + + @override + String get quickActionNewChatSubtitle => 'ಹೊಸ ಆರೋಗ್ಯ ಸಂವಾದವನ್ನು ಪ್ರಾರಂಭಿಸಿ'; + + @override + String get quickActionFeedbackSubtitle => + 'ಆಯ್ಕೆ ಹಂಚಿಕೊಳ್ಳಿ ಅಥವಾ ಸಮಸ್ಯೆ ವರದಿ ಮಾಡಿ'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'ಡಾಕ್ಟರಿನಾ ಹೇಗೆ ಸುಧಾರಿಸಬಹುದು ಎಂದು ನಮಗೆ ತಿಳಿಸಿ'; +} diff --git a/example/lib/src/generated/app/app_localization_ko.dart b/example/lib/src/generated/app/app_localization_ko.dart index b73cdc9..d5404da 100644 --- a/example/lib/src/generated/app/app_localization_ko.dart +++ b/example/lib/src/generated/app/app_localization_ko.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,27 +11,118 @@ class AppLocalizationKo extends AppLocalization { AppLocalizationKo([String locale = 'ko']) : super(locale); @override - String get title => '닥터리나'; + String get lang => '한국인'; + + @override + String get langEn => 'Korean'; + + @override + String get title => 'Doctorina'; @override String get checkVersionUpdateNowButton => '지금 업데이트'; @override - String get checkVersionMaybeLaterButton => '아마도 나중에'; + String get checkVersionMaybeLaterButton => '나중에'; @override - String get checkVersionUpdateOptionalTitle => '새로운 업데이트가 제공됩니다'; + String get checkVersionUpdateOptionalTitle => '새 업데이트 사용 가능'; @override - String get checkVersionUpdateRequiredTitle => '업데이트가 필요합니다'; + String get checkVersionUpdateRequiredTitle => '업데이트 필요'; @override String checkVersionUpdateOptionalText(String version) { - return '앱의 새 버전(v$version)이 출시되었습니다. 최상의 환경을 위해 계속 사용하려면 업데이트해 주세요.'; + return '앱의 새 버전 (v$version)이(가) 제공됩니다. 최고의 경험을 위해 업데이트해 주세요.'; } @override - String checkVersionUpdateRequiredText(String version) { - return '계속하려면 앱을 업데이트하세요. 이 업데이트에는 중요한 수정 사항과 개선 사항이 포함되어 있습니다.'; - } + String get checkVersionUpdateRequiredText => + '계속하려면 앱을 업데이트하세요. 이 업데이트에는 중요한 수정 사항과 개선 사항이 포함되어 있습니다.'; + + @override + String get chatContextMenuDownload => '다운로드'; + + @override + String get welcomeBackDialogText => + '이미 Doctorina 계정이 있는 경우 로그인하거나 시작하려면 가입하세요'; + + @override + String get welcomeBackDialogLogInButton => '로그인'; + + @override + String get welcomeBackDialogSignUpButton => '가입하기'; + + @override + String get welcomeBackDialogContinueAsGuestButton => '게스트로 계속하기'; + + @override + String get titleLogin => '로그인'; + + @override + String get titleLogout => '로그 아웃'; + + @override + String get titleSignIn => '로그인'; + + @override + String get titleDialog => '대화'; + + @override + String get titleChat => '채팅'; + + @override + String get titleSettings => '계정 설정'; + + @override + String get titleChatHistory => '채팅 기록'; + + @override + String get titlePayment => '결제'; + + @override + String get titleManageSubscription => '구독 관리'; + + @override + String get titleMonthlySubscription => '월간 구독'; + + @override + String get titleOnboarding => '온보딩'; + + @override + String get titleWelcomeBack => '다시 오신 것을 환영합니다'; + + @override + String get titleProfiles => '건강 기록 프로필'; + + @override + String get titleProfilesAnnouncement => '프로필 발표'; + + @override + String get titleDashboardProfile => '건강 기록'; + + @override + String get titleFullRecord => '전체 기록'; + + @override + String get titleDocuments => '문서'; + + @override + String get titleConsultations => '상담'; + + @override + String get titleAppLaunchPaywall => '유료 서비스'; + + @override + String get quickActionDeleteFeedback => '삭제하시나요? 이유를 알려주세요!'; + + @override + String get quickActionNewChatSubtitle => '새 건강 대화를 시작하세요'; + + @override + String get quickActionFeedbackSubtitle => '아이디어를 공유하거나 문제를 보고하세요'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Doctorina가 어떻게 개선될 수 있는지 알려주세요'; } diff --git a/example/lib/src/generated/app/app_localization_lo.dart b/example/lib/src/generated/app/app_localization_lo.dart new file mode 100644 index 0000000..3f0e3c0 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_lo.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Lao (`lo`). +class AppLocalizationLo extends AppLocalization { + AppLocalizationLo([String locale = 'lo']) : super(locale); + + @override + String get lang => 'ລາວ'; + + @override + String get langEn => 'Lao'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'ອັບເດດດຽວນີ້'; + + @override + String get checkVersionMaybeLaterButton => 'ອີກຄັ້ງບໍ່'; + + @override + String get checkVersionUpdateOptionalTitle => 'ມີການອັບເດດໃໝ່ທີ່ສາມາດໃຊ້ໄດ້'; + + @override + String get checkVersionUpdateRequiredTitle => 'ຕ໭ດສະຖານທີ່ຈະອັບເດດ'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'ມີແອບໃໝ່ (v$version) ສໍາລັບການໃຊ້ງານ. ກະລຸນາອັບເດດເພື່ອສຽງດີທີ່ສຸດ.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'ສໍາລັບການດຳເນີນການ, ກະລຸນາອັບເດດແອັບ. ການອັບເດດນີ້ລວມກັບການແກ້ໄຂແລະການປັບປຸງສຳຄັນ.'; + + @override + String get chatContextMenuDownload => 'ດາວໂຫຼດ'; + + @override + String get welcomeBackDialogText => + 'ສະແດງການເຂົ້າໃຊ້ຖ້າທ່ານມີບັດບັດ Doctorina ຢູ່ແລ້ວ ຫຼື ເຂົ້າໃຊ້ເພື່ອເລີ່ມຕົ້ນ.'; + + @override + String get welcomeBackDialogLogInButton => 'ເຂົ້າສູ່ລະບົບ'; + + @override + String get welcomeBackDialogSignUpButton => 'ລົງບັດທະບຽນ'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'ເບີ່ງຕໍ່ໄປເປັນຜູ້ເຂົ້າຊົມ'; + + @override + String get titleLogin => 'ເຂົ້າສູ່ລະບົບ'; + + @override + String get titleLogout => 'ອອກ'; + + @override + String get titleSignIn => 'ເຂົ້າສູ່ລະບົບ'; + + @override + String get titleDialog => 'ສົນທະນາ'; + + @override + String get titleChat => 'ສົນທະນາ'; + + @override + String get titleSettings => 'ການຕັ້ງຄ່າບັນຊີ'; + + @override + String get titleChatHistory => 'ປະຫວັດການໃຊ້ງານສົນທະນາ'; + + @override + String get titlePayment => 'ການຊໍາລະ'; + + @override + String get titleManageSubscription => 'Manage subscription'; + + @override + String get titleMonthlySubscription => 'ການສະໜອງເດືອນ'; + + @override + String get titleOnboarding => 'ການເປີດຕົວ'; + + @override + String get titleWelcomeBack => 'ຍິນດີກັບຄືນ'; + + @override + String get titleProfiles => 'ໂປຣໄຟລ໌ບັນທຶກສຸຂະພາບ'; + + @override + String get titleProfilesAnnouncement => 'ການແຈ້ງເຖິງບັນທຶກ'; + + @override + String get titleDashboardProfile => 'ບັນທຶກສຸຂະພາບ'; + + @override + String get titleFullRecord => 'ບັນທຶກທັງໝົດ'; + + @override + String get titleDocuments => 'ເອກະສານ'; + + @override + String get titleConsultations => 'ການປຶກສາ'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'ກຳລັງລົບ? ບອກເຮົາເຖິງສາເຫດ!'; + + @override + String get quickActionNewChatSubtitle => 'ເລີ່ມສົນທະນາສຸຂະພາບໃໝ່'; + + @override + String get quickActionFeedbackSubtitle => 'ແບ່ງປັນໃບແນະນຳຫຼືລາຍງານບັດບາດ'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'ບອກເຮົາວ່າ Doctorina ສາມາດປັບປຸງໄດ້ແນວໃດ'; +} diff --git a/example/lib/src/generated/app/app_localization_ml.dart b/example/lib/src/generated/app/app_localization_ml.dart new file mode 100644 index 0000000..9bcc27f --- /dev/null +++ b/example/lib/src/generated/app/app_localization_ml.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malayalam (`ml`). +class AppLocalizationMl extends AppLocalization { + AppLocalizationMl([String locale = 'ml']) : super(locale); + + @override + String get lang => 'മലയാളം'; + + @override + String get langEn => 'Malayalam'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'ഇപ്പോൾ അപ്ഡേറ്റ് ചെയ്യുക'; + + @override + String get checkVersionMaybeLaterButton => 'ശേഷം നോക്കാം'; + + @override + String get checkVersionUpdateOptionalTitle => 'പുതിയ അപ്ഡേറ്റ് ലഭ്യമാണ്'; + + @override + String get checkVersionUpdateRequiredTitle => 'അപ്ഡേറ്റ് ആവശ്യമാണ്'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'ആപ്പിന്റെ പുതിയ പതിപ്പ് (v$version) ലഭ്യമാണ്. മികച്ച അനുഭവത്തിനായി അപ്ഡേറ്റ് ചെയ്യുക.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'തുടരാൻ, ദയവായി ആപ്പ് അപ്ഡേറ്റ് ചെയ്യുക. ഈ അപ്ഡേറ്റ് പ്രധാന പരിഹാരങ്ങളും മെച്ചപ്പെടുത്തലുകളും ഉൾക്കൊള്ളുന്നു.'; + + @override + String get chatContextMenuDownload => 'ഡൗൺലോഡ്'; + + @override + String get welcomeBackDialogText => + 'നിങ്ങൾക്ക് ഇതിനകം ഡോക്ടറിനാ അക്കൗണ്ട് ഉണ്ടെങ്കിൽ ലോഗിൻ ചെയ്യുക, അല്ലെങ്കിൽ ആരംഭിക്കാൻ സൈൻ അപ്പ് ചെയ്യുക.'; + + @override + String get welcomeBackDialogLogInButton => 'ലോഗിൻ'; + + @override + String get welcomeBackDialogSignUpButton => 'സൈൻ അപ്പ്'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'അതിഥിയായി തുടരുക'; + + @override + String get titleLogin => 'ലോഗിൻ'; + + @override + String get titleLogout => 'ലോഗ് ഔട്ട്'; + + @override + String get titleSignIn => 'സൈൻ ഇൻ'; + + @override + String get titleDialog => 'സംവാദം'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'അക്കൗണ്ട് ക്രമീകരണങ്ങൾ'; + + @override + String get titleChatHistory => 'ചാറ്റ് ചരിത്രം'; + + @override + String get titlePayment => 'പണമടച്ചത്'; + + @override + String get titleManageSubscription => 'സബ്സ്ക്രിപ്ഷൻ കൈകാര്യം ചെയ്യുക'; + + @override + String get titleMonthlySubscription => 'മാസിക സബ്സ്ക്രിപ്ഷൻ'; + + @override + String get titleOnboarding => 'Onboarding'; + + @override + String get titleWelcomeBack => 'സ്വാഗതം തിരിച്ചുവരവിന്'; + + @override + String get titleProfiles => 'ആരോഗ്യ രേഖകളുടെ പ്രൊഫൈലുകൾ'; + + @override + String get titleProfilesAnnouncement => 'പ്രൊഫൈലുകളുടെ പ്രഖ്യാപനം'; + + @override + String get titleDashboardProfile => 'ആരോഗ്യ രേഖകൾ'; + + @override + String get titleFullRecord => 'പൂർണ്ണ രേഖ'; + + @override + String get titleDocuments => 'ഡോക്യുമെന്റുകൾ'; + + @override + String get titleConsultations => 'കൺസൾട്ടേഷനുകൾ'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => + 'മാറ്റിക്കൊണ്ടിരിക്കുകയോ? ഞങ്ങൾക്ക് എന്തുകൊണ്ട് എന്ന് പറയൂ!'; + + @override + String get quickActionNewChatSubtitle => 'പുതിയ ആരോഗ്യ സംഭാഷണം ആരംഭിക്കുക'; + + @override + String get quickActionFeedbackSubtitle => + 'ഒരു ആശയം പങ്കുവയ്ക്കുക അല്ലെങ്കിൽ ഒരു പ്രശ്നം റിപ്പോർട്ട് ചെയ്യുക'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'ഡോക്ടറിനയെ എങ്ങനെ മെച്ചപ്പെടുത്താമെന്ന് ഞങ്ങൾക്ക് പറയൂ'; +} diff --git a/example/lib/src/generated/app/app_localization_mr.dart b/example/lib/src/generated/app/app_localization_mr.dart new file mode 100644 index 0000000..60500e1 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_mr.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Marathi (`mr`). +class AppLocalizationMr extends AppLocalization { + AppLocalizationMr([String locale = 'mr']) : super(locale); + + @override + String get lang => 'मराठी'; + + @override + String get langEn => 'Marathi'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'आता अपडेट करा'; + + @override + String get checkVersionMaybeLaterButton => 'कदाचित नंतर'; + + @override + String get checkVersionUpdateOptionalTitle => 'नवीन अद्यतन उपलब्ध'; + + @override + String get checkVersionUpdateRequiredTitle => 'अपडेट आवश्यक आहे'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'अ‍ॅपची नवीन आवृत्ती (v$version) उपलब्ध आहे. सर्वोत्तम अनुभवासाठी कृपया अपडेट करा'; + } + + @override + String get checkVersionUpdateRequiredText => + 'सुरू ठेवण्यासाठी, कृपया अ‍ॅप अपडेट करा. या अद्ययावतमध्ये महत्त्वाच्या दुरुस्ती आणि सुधारणा आहेत.'; + + @override + String get chatContextMenuDownload => 'डाउनलोड करा'; + + @override + String get welcomeBackDialogText => + 'जर तुम्हाला आधीच Doctorina खाते असेल तर लॉगिन करा, किंवा सुरू करण्यासाठी साइन अप करा.'; + + @override + String get welcomeBackDialogLogInButton => 'लॉग इन करा'; + + @override + String get welcomeBackDialogSignUpButton => 'साइन अप'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'महमान म्हणून सुरू ठेवा'; + + @override + String get titleLogin => 'लॉग इन'; + + @override + String get titleLogout => 'लॉगआउट'; + + @override + String get titleSignIn => 'साइन इन'; + + @override + String get titleDialog => 'संवाद'; + + @override + String get titleChat => 'चॅट'; + + @override + String get titleSettings => 'खाते सेटिंग्ज'; + + @override + String get titleChatHistory => 'चॅट इतिहास'; + + @override + String get titlePayment => 'पेमेंट'; + + @override + String get titleManageSubscription => 'सदस्यता व्यवस्थापित करा'; + + @override + String get titleMonthlySubscription => 'महिन्याचा सदस्यता'; + + @override + String get titleOnboarding => 'ऑनबोर्डिंग'; + + @override + String get titleWelcomeBack => 'तुमचं स्वागत आहे'; + + @override + String get titleProfiles => 'आरोग्य नोंदी प्रोफाइल'; + + @override + String get titleProfilesAnnouncement => 'प्रोफाइल्स घोषणा'; + + @override + String get titleDashboardProfile => 'आरोग्य नोंदी'; + + @override + String get titleFullRecord => 'पूर्ण रेकॉर्ड'; + + @override + String get titleDocuments => 'कागदपत्रे'; + + @override + String get titleConsultations => 'सल्ला'; + + @override + String get titleAppLaunchPaywall => 'पेवाल'; + + @override + String get quickActionDeleteFeedback => 'काढत आहात? आम्हाला सांगा का!'; + + @override + String get quickActionNewChatSubtitle => 'नवीन आरोग्य संवाद सुरू करा'; + + @override + String get quickActionFeedbackSubtitle => + 'आयडिया शेअर करा किंवा समस्या रिपोर्ट करा'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'डॉक्टरिना कशी सुधारू शकते ते आम्हाला सांगा'; +} diff --git a/example/lib/src/generated/app/app_localization_ms.dart b/example/lib/src/generated/app/app_localization_ms.dart new file mode 100644 index 0000000..9b2c7ce --- /dev/null +++ b/example/lib/src/generated/app/app_localization_ms.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malay (`ms`). +class AppLocalizationMs extends AppLocalization { + AppLocalizationMs([String locale = 'ms']) : super(locale); + + @override + String get lang => 'Bahasa Melayu'; + + @override + String get langEn => 'Malay'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Kemas Kini Sekarang'; + + @override + String get checkVersionMaybeLaterButton => 'Mungkin Nanti'; + + @override + String get checkVersionUpdateOptionalTitle => 'Kemas kini baru tersedia'; + + @override + String get checkVersionUpdateRequiredTitle => 'Kemaskini Diperlukan'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Versi baru (v$version) aplikasi tersedia. Sila kemas kini untuk pengalaman terbaik.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Untuk meneruskan, sila kemas kini aplikasi. Kemas kini ini termasuk pembetulan dan penambahbaikan penting.'; + + @override + String get chatContextMenuDownload => 'Muat turun'; + + @override + String get welcomeBackDialogText => + 'Log masuk jika anda sudah mempunyai akaun Doctorina, atau daftar untuk memulakan.'; + + @override + String get welcomeBackDialogLogInButton => 'Log masuk'; + + @override + String get welcomeBackDialogSignUpButton => 'Daftar'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Teruskan sebagai tetamu'; + + @override + String get titleLogin => 'Log Masuk'; + + @override + String get titleLogout => 'Log Keluar'; + + @override + String get titleSignIn => 'Log Masuk'; + + @override + String get titleDialog => 'Dialog'; + + @override + String get titleChat => 'Sembang'; + + @override + String get titleSettings => 'Tetapan Akaun'; + + @override + String get titleChatHistory => 'Sejarah Sembang'; + + @override + String get titlePayment => 'Pembayaran'; + + @override + String get titleManageSubscription => 'Urus langganan'; + + @override + String get titleMonthlySubscription => 'Langganan Bulanan'; + + @override + String get titleOnboarding => 'Onboarding'; + + @override + String get titleWelcomeBack => 'Selamat datang kembali'; + + @override + String get titleProfiles => 'Profil rekod kesihatan'; + + @override + String get titleProfilesAnnouncement => 'Pengumuman profil'; + + @override + String get titleDashboardProfile => 'Rekod Kesihatan'; + + @override + String get titleFullRecord => 'Rekod penuh'; + + @override + String get titleDocuments => 'Dokumen'; + + @override + String get titleConsultations => 'Konsultasi'; + + @override + String get titleAppLaunchPaywall => 'Dinding Bayaran'; + + @override + String get quickActionDeleteFeedback => 'Menghapus? Beritahu kami mengapa!'; + + @override + String get quickActionNewChatSubtitle => 'Mulakan perbualan kesihatan baharu'; + + @override + String get quickActionFeedbackSubtitle => 'Kongsi idea atau laporkan masalah'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Beritahu kami bagaimana Doctorina boleh diperbaiki'; +} diff --git a/example/lib/src/generated/app/app_localization_my.dart b/example/lib/src/generated/app/app_localization_my.dart new file mode 100644 index 0000000..134c1ce --- /dev/null +++ b/example/lib/src/generated/app/app_localization_my.dart @@ -0,0 +1,131 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Burmese (`my`). +class AppLocalizationMy extends AppLocalization { + AppLocalizationMy([String locale = 'my']) : super(locale); + + @override + String get lang => 'အင်္ဂလိပ်'; + + @override + String get langEn => 'Burmese'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'ယခုအခါအပ်ဒိတ်လုပ်ပါ'; + + @override + String get checkVersionMaybeLaterButton => 'နောက်မှ'; + + @override + String get checkVersionUpdateOptionalTitle => 'နောက်ထပ်အပ်ဒိတ်ရရှိပါပြီ'; + + @override + String get checkVersionUpdateRequiredTitle => 'အပ်ဒိတ် လိုအပ်သည်'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'အက်ပလီကေး၏ အသစ်သော ဗားရှင်း (v$version) ရှိပါသည်။ အကောင်းဆုံး အတွေ့အကြုံအတွက် အပ်ဒိတ်လုပ်ပါ။'; + } + + @override + String get checkVersionUpdateRequiredText => + 'ဆက်လက်ရန်၊ အက်ပ်ကို အပ်ဒိတ်လုပ်ပါ။ ဤအပ်ဒိတ်တွင် အရေးကြီးသော ပြုပြင်မှုများနှင့် တိုးတက်မှုများ ပါဝင်သည်။'; + + @override + String get chatContextMenuDownload => 'ဒေါင်းလုပ်'; + + @override + String get welcomeBackDialogText => + 'သင်သည် Doctorina အကောင့်ရှိပါက လော့ဂ်အင်ဝင်ပါ၊ သို့မဟုတ် စတင်ရန် စာရင်းသွင်းပါ။'; + + @override + String get welcomeBackDialogLogInButton => 'လော့ဂ်အင်'; + + @override + String get welcomeBackDialogSignUpButton => 'စာရင်းသွင်းပါ'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'ဧည့်သည်အဖြစ်ဆက်လက်လုပ်ဆောင်ပါ'; + + @override + String get titleLogin => 'ဝင်ရောက်ပါ'; + + @override + String get titleLogout => 'ထွက်ရန်'; + + @override + String get titleSignIn => 'ဝင်ရောက်ရန်'; + + @override + String get titleDialog => 'ဆွေးနွေးချက်'; + + @override + String get titleChat => 'ချစ်'; + + @override + String get titleSettings => 'အကောင့်ဆက်တင်များ'; + + @override + String get titleChatHistory => 'ချစ်စရာအကြောင်းအရာများ'; + + @override + String get titlePayment => 'ငွေပေးချေမှု'; + + @override + String get titleManageSubscription => 'စာရင်းသွင်းမှုကို စီမံပါ'; + + @override + String get titleMonthlySubscription => 'လစဉ်အဖွဲ့ဝင်မှု'; + + @override + String get titleOnboarding => 'အဆင့်သင်ကြားခြင်း'; + + @override + String get titleWelcomeBack => 'မင်္ဂလာပါ'; + + @override + String get titleProfiles => 'ကျန်းမာရေးမှတ်တမ်းပရိုဖိုင်များ'; + + @override + String get titleProfilesAnnouncement => 'ပရိုဖိုင်းများ ကြေညာချက်'; + + @override + String get titleDashboardProfile => 'ကျန်းမာရေးမှတ်တမ်းများ'; + + @override + String get titleFullRecord => 'ပြည့်စုံသောမှတ်တမ်း'; + + @override + String get titleDocuments => 'စာရွက်စာတမ်းများ'; + + @override + String get titleConsultations => 'အကြံဉာဏ်များ'; + + @override + String get titleAppLaunchPaywall => 'ပိတ်ဆို့မှု'; + + @override + String get quickActionDeleteFeedback => 'ဖျက်မလား? အကြောင်းပြောပါ!'; + + @override + String get quickActionNewChatSubtitle => + 'အသစ်သောကျန်းမာရေးဆွေးနွေးမှုကိုစတင်ပါ'; + + @override + String get quickActionFeedbackSubtitle => + 'အကြံပြုချက်တစ်ခုမျှဝေပါ သို့မဟုတ် ပြဿနာတစ်ခုကို အစီရင်ခံပါ'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'ကျွန်ုပ်တို့ကို Doctorina ကိုဘယ်လိုတိုးတက်စေမလဲဆိုတာပြောပြပါ'; +} diff --git a/example/lib/src/generated/app/app_localization_ne.dart b/example/lib/src/generated/app/app_localization_ne.dart new file mode 100644 index 0000000..b64d07f --- /dev/null +++ b/example/lib/src/generated/app/app_localization_ne.dart @@ -0,0 +1,132 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Nepali (`ne`). +class AppLocalizationNe extends AppLocalization { + AppLocalizationNe([String locale = 'ne']) : super(locale); + + @override + String get lang => 'नेपाली'; + + @override + String get langEn => 'Nepali'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'अहिले अपडेट गर्नुहोस्'; + + @override + String get checkVersionMaybeLaterButton => 'शायद पछि'; + + @override + String get checkVersionUpdateOptionalTitle => 'नयाँ अपडेट उपलब्ध छ'; + + @override + String get checkVersionUpdateRequiredTitle => 'अद्यावधिक आवश्यक छ'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'नयाँ संस्करण (v$version) अनुप्रयोगको लागि उपलब्ध छ। कृपया सर्वोत्तम अनुभवको लागि अपडेट गर्नुहोस्।'; + } + + @override + String get checkVersionUpdateRequiredText => + 'आगे बढ्नको लागि, कृपया एप अपडेट गर्नुहोस्। यस अपडेटमा महत्त्वपूर्ण सुधार र सुधारहरू समावेश छन्।'; + + @override + String get chatContextMenuDownload => 'डाउनलोड'; + + @override + String get welcomeBackDialogText => + 'यदि तपाईंसँग पहिले नै Doctorina खाता छ भने लग इन गर्नुहोस्, वा सुरु गर्न साइन अप गर्नुहोस्।'; + + @override + String get welcomeBackDialogLogInButton => 'लगइन गर्नुहोस्'; + + @override + String get welcomeBackDialogSignUpButton => 'साइन अप गर्नुहोस्'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'अतिथि रूपमा जारी राख्नुहोस्'; + + @override + String get titleLogin => 'लगइन गर्नुहोस्'; + + @override + String get titleLogout => 'लगआउट'; + + @override + String get titleSignIn => 'साइन इन'; + + @override + String get titleDialog => 'संवाद'; + + @override + String get titleChat => 'च्याट'; + + @override + String get titleSettings => 'खाता सेटिङहरू'; + + @override + String get titleChatHistory => 'च्याट इतिहास'; + + @override + String get titlePayment => 'भुक्तानी'; + + @override + String get titleManageSubscription => 'सदस्यता व्यवस्थापन'; + + @override + String get titleMonthlySubscription => 'महिनावारी सदस्यता'; + + @override + String get titleOnboarding => 'Onboarding'; + + @override + String get titleWelcomeBack => 'फेरि स्वागत छ'; + + @override + String get titleProfiles => 'स्वास्थ्य अभिलेख प्रोफाइलहरू'; + + @override + String get titleProfilesAnnouncement => 'प्रोफाइलको घोषणा'; + + @override + String get titleDashboardProfile => 'स्वास्थ्य रेकर्ड'; + + @override + String get titleFullRecord => 'पूर्ण रेकर्ड'; + + @override + String get titleDocuments => 'कागजात'; + + @override + String get titleConsultations => 'परामर्श'; + + @override + String get titleAppLaunchPaywall => 'भुक्तानी भित्ता'; + + @override + String get quickActionDeleteFeedback => + 'हटाउँदै? हामीलाई किन भनेर बताउनुहोस्!'; + + @override + String get quickActionNewChatSubtitle => + 'नयाँ स्वास्थ्य वार्ता सुरु गर्नुहोस्'; + + @override + String get quickActionFeedbackSubtitle => + 'विचार साझा गर्नुहोस् वा समस्या रिपोर्ट गर्नुहोस्'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'हामीलाई बताउनुहोस् कि Doctorina कसरी सुधार गर्न सक्छ'; +} diff --git a/example/lib/src/generated/app/app_localization_nl.dart b/example/lib/src/generated/app/app_localization_nl.dart new file mode 100644 index 0000000..2270c41 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_nl.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Dutch Flemish (`nl`). +class AppLocalizationNl extends AppLocalization { + AppLocalizationNl([String locale = 'nl']) : super(locale); + + @override + String get lang => 'Nederlands'; + + @override + String get langEn => 'Dutch'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Nu bijwerken'; + + @override + String get checkVersionMaybeLaterButton => 'Misschien later'; + + @override + String get checkVersionUpdateOptionalTitle => 'Nieuwe update beschikbaar'; + + @override + String get checkVersionUpdateRequiredTitle => 'Update Vereist'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Een nieuwe versie (v$version) van de app is beschikbaar. Werk bij om de beste ervaring te behouden.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Om door te gaan, moet u de app bijwerken. Deze update bevat belangrijke fixes en verbeteringen.'; + + @override + String get chatContextMenuDownload => 'Downloaden'; + + @override + String get welcomeBackDialogText => + 'Log in als je al een Doctorina-account hebt, of meld je aan om te beginnen.'; + + @override + String get welcomeBackDialogLogInButton => 'Inloggen'; + + @override + String get welcomeBackDialogSignUpButton => 'Aanmelden'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Doorgaan als gast'; + + @override + String get titleLogin => 'Inloggen'; + + @override + String get titleLogout => 'Uitloggen'; + + @override + String get titleSignIn => 'Inloggen'; + + @override + String get titleDialog => 'Dialoog'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Accountinstellingen'; + + @override + String get titleChatHistory => 'Chatgeschiedenis'; + + @override + String get titlePayment => 'Betaling'; + + @override + String get titleManageSubscription => 'Abonnement beheren'; + + @override + String get titleMonthlySubscription => 'Maandabonnement'; + + @override + String get titleOnboarding => 'Onboarding'; + + @override + String get titleWelcomeBack => 'Welkom terug'; + + @override + String get titleProfiles => 'Profielen van gezondheidsdossiers'; + + @override + String get titleProfilesAnnouncement => 'Profielen aankondiging'; + + @override + String get titleDashboardProfile => 'Gezondheidsdossiers'; + + @override + String get titleFullRecord => 'Volledig record'; + + @override + String get titleDocuments => 'Documenten'; + + @override + String get titleConsultations => 'Consultaties'; + + @override + String get titleAppLaunchPaywall => 'Betaalmuur'; + + @override + String get quickActionDeleteFeedback => 'Verwijderen? Vertel ons waarom!'; + + @override + String get quickActionNewChatSubtitle => 'Begin een nieuw gezondheidsgesprek'; + + @override + String get quickActionFeedbackSubtitle => + 'Deel een idee of meld een probleem'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Vertel ons hoe Doctorina kan verbeteren'; +} diff --git a/example/lib/src/generated/app/app_localization_pa.dart b/example/lib/src/generated/app/app_localization_pa.dart new file mode 100644 index 0000000..5bbb5f9 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_pa.dart @@ -0,0 +1,252 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Panjabi Punjabi (`pa`). +class AppLocalizationPa extends AppLocalization { + AppLocalizationPa([String locale = 'pa']) : super(locale); + + @override + String get lang => 'ਪੰਜਾਬੀ'; + + @override + String get langEn => 'Punjabi'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'ਹੁਣ ਅੱਪਡੇਟ ਕਰੋ'; + + @override + String get checkVersionMaybeLaterButton => 'ਸ਼ਾਇਦ ਬਾਅਦ ਵਿੱਚ'; + + @override + String get checkVersionUpdateOptionalTitle => 'ਨਵਾਂ ਅੱਪਡੇਟ ਉਪਲਬਧ ਹੈ'; + + @override + String get checkVersionUpdateRequiredTitle => 'ਅਪਡੇਟ ਦੀ ਲੋੜ ਹੈ'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'ਇੱਕ ਨਵਾਂ ਸੰਸਕਰਣ (v$version) ਉਪਲਬਧ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਅੱਪਡੇਟ ਕਰੋ ਤਾਂ ਜੋ ਸਭ ਤੋਂ ਵਧੀਆ ਅਨੁਭਵ ਲਈ ਜਾਰੀ ਰੱਖ ਸਕੀਏ.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'ਜਾਰੀ ਰੱਖਣ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਐਪ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ। ਇਸ ਅੱਪਡੇਟ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਠੀਕ ਕਰਨਾ ਅਤੇ ਸੁਧਾਰ ਸ਼ਾਮਲ ਹਨ.'; + + @override + String get chatContextMenuDownload => 'ਡਾਊਨਲੋਡ'; + + @override + String get welcomeBackDialogText => + 'ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਤੋਂ ਡਾਕਟਰਿਨਾ ਖਾਤਾ ਹੈ ਤਾਂ ਲੌਗ ਇਨ ਕਰੋ, ਜਾਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ.'; + + @override + String get welcomeBackDialogLogInButton => 'ਲੌਗ ਇਨ'; + + @override + String get welcomeBackDialogSignUpButton => 'ਸਾਈਨ ਅਪ ਕਰੋ'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'ਗੈਸਟ ਵਜੋਂ ਜਾਰੀ ਰੱਖੋ'; + + @override + String get titleLogin => 'ਲੌਗ ਇਨ'; + + @override + String get titleLogout => 'ਲੌਗ ਆਉਟ'; + + @override + String get titleSignIn => 'ਸਾਈਨ ਇਨ'; + + @override + String get titleDialog => 'ਗੱਲਬਾਤ'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'ਖਾਤਾ ਸੈਟਿੰਗਸ'; + + @override + String get titleChatHistory => 'ਚੈਟ ਇਤਿਹਾਸ'; + + @override + String get titlePayment => 'ਭੁਗਤਾਨ'; + + @override + String get titleManageSubscription => 'ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਪ੍ਰਬੰਧਿਤ ਕਰੋ'; + + @override + String get titleMonthlySubscription => 'ਮਾਸਿਕ ਸਬਸਕ੍ਰਿਪਸ਼ਨ'; + + @override + String get titleOnboarding => 'Onboarding'; + + @override + String get titleWelcomeBack => 'ਵਾਪਸ ਆਉਣ \'ਤੇ ਸੁਆਗਤ ਹੈ'; + + @override + String get titleProfiles => 'ਸਿਹਤ ਰਿਕਾਰਡ ਪ੍ਰੋਫ਼ਾਈਲਾਂ'; + + @override + String get titleProfilesAnnouncement => 'ਪ੍ਰੋਫਾਈਲਾਂ ਦਾ ਐਲਾਨ'; + + @override + String get titleDashboardProfile => 'ਸਿਹਤ ਰਿਕਾਰਡ'; + + @override + String get titleFullRecord => 'ਪੂਰਾ ਰਿਕਾਰਡ'; + + @override + String get titleDocuments => 'ਦਸਤਾਵੇਜ਼'; + + @override + String get titleConsultations => 'ਸਲਾਹ-ਮਸ਼ਵਰਾ'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'ਹਟਾਉਂਦੇ? ਸਾਨੂੰ ਦੱਸੋ ਕਿ ਕਿਉਂ!'; + + @override + String get quickActionNewChatSubtitle => 'ਨਵਾਂ ਸਿਹਤ ਗੱਲਬਾਤ ਸ਼ੁਰੂ ਕਰੋ'; + + @override + String get quickActionFeedbackSubtitle => + 'ਇੱਕ ਵਿਚਾਰ ਸਾਂਝਾ ਕਰੋ ਜਾਂ ਸਮੱਸਿਆ ਦੀ ਰਿਪੋਰਟ ਕਰੋ'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'ਸਾਨੂੰ ਦੱਸੋ ਕਿ ਡਾਕਟਰਿਨਾ ਕਿਵੇਂ ਸੁਧਾਰ ਸਕਦੀ ਹੈ'; +} + +/// The translations for Panjabi Punjabi, as used in Pakistan (`pa_PK`). +class AppLocalizationPaPk extends AppLocalizationPa { + AppLocalizationPaPk() : super('pa_PK'); + + @override + String get lang => '#VALUE!'; + + @override + String get langEn => 'Western Punjabi'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'ہن اپ ڈیٹ کرو'; + + @override + String get checkVersionMaybeLaterButton => 'شاید بعد میں'; + + @override + String get checkVersionUpdateOptionalTitle => 'نواں اپڈیٹ دستیاب ہے'; + + @override + String get checkVersionUpdateRequiredTitle => 'اپ ڈیٹ ضروری'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'ایپ کا نیا ورژن (v$version) دستیاب ہے. بہترین تجربے کے لیے براہِ کرم اپ ڈیٹ کریں'; + } + + @override + String get checkVersionUpdateRequiredText => + 'جاری رکھنے کے لیے، براہ مہربانی ایپ کو اپ ڈیٹ کریں۔ اس اپ ڈیٹ میں اہم اصلاحات اور بہتریاں شامل ہیں۔'; + + @override + String get chatContextMenuDownload => 'ڈاؤنلوڈ'; + + @override + String get welcomeBackDialogText => + 'اگر آپ کے پاس پہلے سے Doctorina اکاؤنٹ ہے تو لاگ ان کریں، یا شروع کرنے کے لیے سائن اپ کریں.'; + + @override + String get welcomeBackDialogLogInButton => 'لاگ ان کریں'; + + @override + String get welcomeBackDialogSignUpButton => 'سائن اپ'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'مہمان دے طور تے جاری رکھو'; + + @override + String get titleLogin => 'لاگ ان'; + + @override + String get titleLogout => 'لاگ آؤٹ'; + + @override + String get titleSignIn => 'سائن ان'; + + @override + String get titleDialog => 'گفتگو'; + + @override + String get titleChat => 'چیٹ'; + + @override + String get titleSettings => 'اکاؤنٹ کی ترتیبات'; + + @override + String get titleChatHistory => 'چیٹ کی تاریخ'; + + @override + String get titlePayment => 'ادائیگی'; + + @override + String get titleManageSubscription => 'سبسکرپشن کا انتظام کریں'; + + @override + String get titleMonthlySubscription => 'ماہانہ رکنیت'; + + @override + String get titleOnboarding => 'آن بورڈنگ'; + + @override + String get titleWelcomeBack => 'خوش آمدید'; + + @override + String get titleProfiles => 'صحت ریکارڈ پروفائلز'; + + @override + String get titleProfilesAnnouncement => 'پروفائلز کا اعلان'; + + @override + String get titleDashboardProfile => 'صحت کے ریکارڈ'; + + @override + String get titleFullRecord => 'مکمل ریکارڈ'; + + @override + String get titleDocuments => 'دستاویزات'; + + @override + String get titleConsultations => 'مشاورتیں'; + + @override + String get titleAppLaunchPaywall => 'پے وال'; + + @override + String get quickActionDeleteFeedback => 'ਹਟਾਉਣੇ? ਸਾਨੂੰ ਦੱਸੋ ਕਿਉਂ!'; + + @override + String get quickActionNewChatSubtitle => 'نئی صحت کی گفتگو شروع کریں'; + + @override + String get quickActionFeedbackSubtitle => + 'ایک خیال شیئر کریں یا مسئلہ رپورٹ کریں'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'ڈاکٹرینا کو بہتر بنانے کے لیے ہمیں بتائیں'; +} diff --git a/example/lib/src/generated/app/app_localization_pl.dart b/example/lib/src/generated/app/app_localization_pl.dart new file mode 100644 index 0000000..f7f64d0 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_pl.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Polish (`pl`). +class AppLocalizationPl extends AppLocalization { + AppLocalizationPl([String locale = 'pl']) : super(locale); + + @override + String get lang => 'Polski'; + + @override + String get langEn => 'Polish'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Zaktualizuj teraz'; + + @override + String get checkVersionMaybeLaterButton => 'Może później'; + + @override + String get checkVersionUpdateOptionalTitle => 'Nowa aktualizacja dostępna'; + + @override + String get checkVersionUpdateRequiredTitle => 'Wymagana aktualizacja'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Dostępna jest nowa wersja (v$version) aplikacji. Proszę zaktualizować, aby kontynuować korzystanie z najlepszych doświadczeń.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Aby kontynuować, zaktualizuj aplikację. Ta aktualizacja zawiera ważne poprawki i ulepszenia.'; + + @override + String get chatContextMenuDownload => 'Pobierz'; + + @override + String get welcomeBackDialogText => + 'Zaloguj się, jeśli masz już konto Doctorina, lub zarejestruj się, aby zacząć.'; + + @override + String get welcomeBackDialogLogInButton => 'Zaloguj się'; + + @override + String get welcomeBackDialogSignUpButton => 'Zarejestruj się'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Kontynuuj jako gość'; + + @override + String get titleLogin => 'Zaloguj się'; + + @override + String get titleLogout => 'Wyloguj się'; + + @override + String get titleSignIn => 'Zaloguj się'; + + @override + String get titleDialog => 'Dialog'; + + @override + String get titleChat => 'Czat'; + + @override + String get titleSettings => 'Ustawienia konta'; + + @override + String get titleChatHistory => 'Historia czatów'; + + @override + String get titlePayment => 'Płatność'; + + @override + String get titleManageSubscription => 'Zarządzaj subskrypcją'; + + @override + String get titleMonthlySubscription => 'Miesięczna subskrypcja'; + + @override + String get titleOnboarding => 'Wprowadzenie'; + + @override + String get titleWelcomeBack => 'Witaj z powrotem'; + + @override + String get titleProfiles => 'Profile dokumentacji medycznej'; + + @override + String get titleProfilesAnnouncement => 'Ogłoszenie profili'; + + @override + String get titleDashboardProfile => 'Rekordy zdrowia'; + + @override + String get titleFullRecord => 'Pełny rekord'; + + @override + String get titleDocuments => 'Dokumenty'; + + @override + String get titleConsultations => 'Konsultacje'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'Usuwasz? Powiedz nam dlaczego!'; + + @override + String get quickActionNewChatSubtitle => 'Rozpocznij nową rozmowę zdrowotną'; + + @override + String get quickActionFeedbackSubtitle => + 'Podziel się pomysłem lub zgłoś problem'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Powiedz nam, jak Doctorina może się poprawić'; +} diff --git a/example/lib/src/generated/app/app_localization_ps.dart b/example/lib/src/generated/app/app_localization_ps.dart new file mode 100644 index 0000000..59fc686 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_ps.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Pushto Pashto (`ps`). +class AppLocalizationPs extends AppLocalization { + AppLocalizationPs([String locale = 'ps']) : super(locale); + + @override + String get lang => 'پښتو'; + + @override + String get langEn => 'Pashto'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Update Now'; + + @override + String get checkVersionMaybeLaterButton => 'شاید بعداً'; + + @override + String get checkVersionUpdateOptionalTitle => 'نوې تازه معلومات شتون لري'; + + @override + String get checkVersionUpdateRequiredTitle => 'Update Required'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'یو نوې نسخه (v$version) د اپلیکیشن شتون لري. مهرباني وکړئ د غوره تجربې لپاره تازه کړئ.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'د دوام لپاره، مهرباني وکړئ اپلیکیشن تازه کړئ. دا تازه معلومات مهمې اصلاحات او پرمختګونه لري.'; + + @override + String get chatContextMenuDownload => 'ډاونلوډ'; + + @override + String get welcomeBackDialogText => + 'د Doctorina حساب لرئ نو لاگ ان شئ، یا د پیل لپاره ثبت نام وکړئ.'; + + @override + String get welcomeBackDialogLogInButton => 'ننوتل'; + + @override + String get welcomeBackDialogSignUpButton => 'ثبت نام'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'د مېلمه په توګه دوام ورکړئ'; + + @override + String get titleLogin => 'ننوتل'; + + @override + String get titleLogout => 'بیرته وتل'; + + @override + String get titleSignIn => 'ننوتل'; + + @override + String get titleDialog => 'مکالمه'; + + @override + String get titleChat => 'چت'; + + @override + String get titleSettings => 'د حساب ترتیبات'; + + @override + String get titleChatHistory => 'د خبرو تاریخ'; + + @override + String get titlePayment => 'د پیسو'; + + @override + String get titleManageSubscription => 'د ګډون مدیریت'; + + @override + String get titleMonthlySubscription => 'میاشتنی ګډون'; + + @override + String get titleOnboarding => 'د روزنې'; + + @override + String get titleWelcomeBack => 'خوش آمدید دوباره'; + + @override + String get titleProfiles => 'د روغتیا ریکارډونو پروفایلونه'; + + @override + String get titleProfilesAnnouncement => 'د پروفایلونو اعلان'; + + @override + String get titleDashboardProfile => 'د روغتیا ریکارډونه'; + + @override + String get titleFullRecord => 'مکمل ریکارډ'; + + @override + String get titleDocuments => 'اسناد'; + + @override + String get titleConsultations => 'مشورې'; + + @override + String get titleAppLaunchPaywall => 'د پیسو دیوال'; + + @override + String get quickActionDeleteFeedback => 'لرې کول؟ موږ ته ووایاست چې ولې!'; + + @override + String get quickActionNewChatSubtitle => 'نوې روغتیایي خبرې پیل کړئ'; + + @override + String get quickActionFeedbackSubtitle => + 'یو نظر شریک کړئ یا یوه ستونزه راپور کړئ'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'موږ ته ووایاست چې Doctorina څنګه ښه کیدی شي'; +} diff --git a/example/lib/src/generated/app/app_localization_pt.dart b/example/lib/src/generated/app/app_localization_pt.dart index 1399e12..2853b6e 100644 --- a/example/lib/src/generated/app/app_localization_pt.dart +++ b/example/lib/src/generated/app/app_localization_pt.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,7 +11,13 @@ class AppLocalizationPt extends AppLocalization { AppLocalizationPt([String locale = 'pt']) : super(locale); @override - String get title => 'Doutora'; + String get lang => 'Português'; + + @override + String get langEn => 'Portuguese'; + + @override + String get title => 'Doctorina'; @override String get checkVersionUpdateNowButton => 'Atualizar agora'; @@ -31,9 +37,97 @@ class AppLocalizationPt extends AppLocalization { } @override - String checkVersionUpdateRequiredText(String version) { - return 'Para continuar, atualize o aplicativo. Esta atualização inclui correções e melhorias importantes.'; - } + String get checkVersionUpdateRequiredText => + 'Para continuar, atualize o aplicativo. Esta atualização inclui correções importantes e melhorias.'; + + @override + String get chatContextMenuDownload => 'Baixar'; + + @override + String get welcomeBackDialogText => + 'Faça login se você já tiver uma conta Doctorina, ou inscreva-se para começar.'; + + @override + String get welcomeBackDialogLogInButton => 'Entrar'; + + @override + String get welcomeBackDialogSignUpButton => 'Inscrever-se'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Continuar como convidado'; + + @override + String get titleLogin => 'Entrar'; + + @override + String get titleLogout => 'Sair'; + + @override + String get titleSignIn => 'Entrar'; + + @override + String get titleDialog => 'Diálogo'; + + @override + String get titleChat => 'Bate-papo'; + + @override + String get titleSettings => 'Configurações da conta'; + + @override + String get titleChatHistory => 'Histórico de Chats'; + + @override + String get titlePayment => 'Pagamento'; + + @override + String get titleManageSubscription => 'Gerenciar assinatura'; + + @override + String get titleMonthlySubscription => 'Assinatura Mensal'; + + @override + String get titleOnboarding => 'Integração'; + + @override + String get titleWelcomeBack => 'Bem-vindo de volta'; + + @override + String get titleProfiles => 'Perfis de registros de saúde'; + + @override + String get titleProfilesAnnouncement => 'Anúncio de perfis'; + + @override + String get titleDashboardProfile => 'Registros de Saúde'; + + @override + String get titleFullRecord => 'Registro completo'; + + @override + String get titleDocuments => 'Documentos'; + + @override + String get titleConsultations => 'Consultas'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'Deletando? Diga-nos o motivo!'; + + @override + String get quickActionNewChatSubtitle => + 'Iniciar uma nova conversa sobre saúde'; + + @override + String get quickActionFeedbackSubtitle => + 'Compartilhe uma ideia ou relate um problema'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Diga-nos como a Doctorina pode melhorar'; } /// The translations for Portuguese, as used in Brazil (`pt_BR`). @@ -41,7 +135,13 @@ class AppLocalizationPtBr extends AppLocalizationPt { AppLocalizationPtBr() : super('pt_BR'); @override - String get title => 'Doutora'; + String get lang => 'Português'; + + @override + String get langEn => 'Portuguese'; + + @override + String get title => 'Doctorina'; @override String get checkVersionUpdateNowButton => 'Atualizar agora'; @@ -61,7 +161,95 @@ class AppLocalizationPtBr extends AppLocalizationPt { } @override - String checkVersionUpdateRequiredText(String version) { - return 'Para continuar, atualize o aplicativo. Esta atualização inclui correções e melhorias importantes.'; - } + String get checkVersionUpdateRequiredText => + 'Para continuar, atualize o aplicativo. Esta atualização inclui correções importantes e melhorias.'; + + @override + String get chatContextMenuDownload => 'Baixar'; + + @override + String get welcomeBackDialogText => + 'Faça login se você já tiver uma conta Doctorina, ou inscreva-se para começar.'; + + @override + String get welcomeBackDialogLogInButton => 'Entrar'; + + @override + String get welcomeBackDialogSignUpButton => 'Inscrever-se'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Continuar como convidado'; + + @override + String get titleLogin => 'Entrar'; + + @override + String get titleLogout => 'Sair'; + + @override + String get titleSignIn => 'Entrar'; + + @override + String get titleDialog => 'Diálogo'; + + @override + String get titleChat => 'Bate-papo'; + + @override + String get titleSettings => 'Configurações da conta'; + + @override + String get titleChatHistory => 'Histórico de Chats'; + + @override + String get titlePayment => 'Pagamento'; + + @override + String get titleManageSubscription => 'Gerenciar assinatura'; + + @override + String get titleMonthlySubscription => 'Assinatura Mensal'; + + @override + String get titleOnboarding => 'Integração'; + + @override + String get titleWelcomeBack => 'Bem-vindo de volta'; + + @override + String get titleProfiles => 'Perfis de registros de saúde'; + + @override + String get titleProfilesAnnouncement => 'Anúncio de perfis'; + + @override + String get titleDashboardProfile => 'Registros de Saúde'; + + @override + String get titleFullRecord => 'Registro completo'; + + @override + String get titleDocuments => 'Documentos'; + + @override + String get titleConsultations => 'Consultas'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'Deletando? Diga-nos o motivo!'; + + @override + String get quickActionNewChatSubtitle => + 'Iniciar uma nova conversa sobre saúde'; + + @override + String get quickActionFeedbackSubtitle => + 'Compartilhe uma ideia ou relate um problema'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Diga-nos como a Doctorina pode melhorar'; } diff --git a/example/lib/src/generated/app/app_localization_ro.dart b/example/lib/src/generated/app/app_localization_ro.dart new file mode 100644 index 0000000..868f449 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_ro.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Romanian Moldavian Moldovan (`ro`). +class AppLocalizationRo extends AppLocalization { + AppLocalizationRo([String locale = 'ro']) : super(locale); + + @override + String get lang => 'Română'; + + @override + String get langEn => 'Romanian'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Actualizează acum'; + + @override + String get checkVersionMaybeLaterButton => 'Poate mai târziu'; + + @override + String get checkVersionUpdateOptionalTitle => 'Actualizare nouă disponibilă'; + + @override + String get checkVersionUpdateRequiredTitle => 'Actualizare necesară'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'O nouă versiune (v$version) a aplicației este disponibilă. Vă rugăm să actualizați pentru a continua cu cea mai bună experiență.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Pentru a continua, vă rugăm să actualizați aplicația. Această actualizare include corecții și îmbunătățiri importante.'; + + @override + String get chatContextMenuDownload => 'Descarcă'; + + @override + String get welcomeBackDialogText => + 'Conectează-te dacă ai deja un cont Doctorina sau înscrie-te pentru a începe.'; + + @override + String get welcomeBackDialogLogInButton => 'Conectare'; + + @override + String get welcomeBackDialogSignUpButton => 'Înscriere'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Continuă ca oaspete'; + + @override + String get titleLogin => 'Conectare'; + + @override + String get titleLogout => 'Deconectare'; + + @override + String get titleSignIn => 'Autentificare'; + + @override + String get titleDialog => 'Dialog'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Setări cont'; + + @override + String get titleChatHistory => 'Istoricul chat-urilor'; + + @override + String get titlePayment => 'Plată'; + + @override + String get titleManageSubscription => 'Gestionați abonamentul'; + + @override + String get titleMonthlySubscription => 'Abonament lunar'; + + @override + String get titleOnboarding => 'Introducere'; + + @override + String get titleWelcomeBack => 'Bine ai revenit'; + + @override + String get titleProfiles => 'Profiluri ale dosarelor medicale'; + + @override + String get titleProfilesAnnouncement => 'Anunț despre profile'; + + @override + String get titleDashboardProfile => 'Dosare medicale'; + + @override + String get titleFullRecord => 'Înregistrare completă'; + + @override + String get titleDocuments => 'Documente'; + + @override + String get titleConsultations => 'Consultări'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'Ștergeți? Spuneți-ne de ce!'; + + @override + String get quickActionNewChatSubtitle => + 'Începe o nouă conversație despre sănătate'; + + @override + String get quickActionFeedbackSubtitle => + 'Împărtășește o idee sau raportează o problemă'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Spune-ne cum poate Doctorina să se îmbunătățească'; +} diff --git a/example/lib/src/generated/app/app_localization_ru.dart b/example/lib/src/generated/app/app_localization_ru.dart index 3539755..dd46135 100644 --- a/example/lib/src/generated/app/app_localization_ru.dart +++ b/example/lib/src/generated/app/app_localization_ru.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,6 +10,12 @@ import 'app_localization.dart'; class AppLocalizationRu extends AppLocalization { AppLocalizationRu([String locale = 'ru']) : super(locale); + @override + String get lang => 'Русский'; + + @override + String get langEn => 'Russian'; + @override String get title => 'Doctorina'; @@ -23,15 +29,101 @@ class AppLocalizationRu extends AppLocalization { String get checkVersionUpdateOptionalTitle => 'Доступно новое обновление'; @override - String get checkVersionUpdateRequiredTitle => 'Необходимо обновление'; + String get checkVersionUpdateRequiredTitle => 'Требуется обновление'; @override String checkVersionUpdateOptionalText(String version) { - return 'Доступна новая версия (v$version) приложения. Пожалуйста, обновите, чтобы продолжить и получить наилучший опыт.'; + return 'Доступна новая версия (v$version) приложения. Пожалуйста, обновитесь, чтобы продолжить для наилучшего опыта.'; } @override - String checkVersionUpdateRequiredText(String version) { - return 'Чтобы продолжить, пожалуйста, обновите приложение. Это обновление включает важные исправления и улучшения.'; - } + String get checkVersionUpdateRequiredText => + 'Чтобы продолжить, обновите приложение. Это обновление включает важные исправления и улучшения.'; + + @override + String get chatContextMenuDownload => 'Скачать'; + + @override + String get welcomeBackDialogText => + 'Войдите, если у вас уже есть аккаунт Doctorina, или зарегистрируйтесь, чтобы начать.'; + + @override + String get welcomeBackDialogLogInButton => 'Войти'; + + @override + String get welcomeBackDialogSignUpButton => 'Зарегистрироваться'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Продолжить как гость'; + + @override + String get titleLogin => 'Войти'; + + @override + String get titleLogout => 'Выйти'; + + @override + String get titleSignIn => 'Войти'; + + @override + String get titleDialog => 'Диалог'; + + @override + String get titleChat => 'Чат'; + + @override + String get titleSettings => 'Настройки аккаунта'; + + @override + String get titleChatHistory => 'История чатов'; + + @override + String get titlePayment => 'Оплата'; + + @override + String get titleManageSubscription => 'Управление подпиской'; + + @override + String get titleMonthlySubscription => 'Ежемесячная подписка'; + + @override + String get titleOnboarding => 'Онбординг'; + + @override + String get titleWelcomeBack => 'С возвращением'; + + @override + String get titleProfiles => 'Профили медицинских записей'; + + @override + String get titleProfilesAnnouncement => 'Объявление о профилях'; + + @override + String get titleDashboardProfile => 'Медицинские записи'; + + @override + String get titleFullRecord => 'Полная запись'; + + @override + String get titleDocuments => 'Документы'; + + @override + String get titleConsultations => 'Консультации'; + + @override + String get titleAppLaunchPaywall => 'Платный доступ'; + + @override + String get quickActionDeleteFeedback => 'Удаляете? Скажите нам, почему!'; + + @override + String get quickActionNewChatSubtitle => 'Начать новую консультацию'; + + @override + String get quickActionFeedbackSubtitle => + 'Поделитесь идеей или сообщите о проблеме'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Скажите нам, как Doctorina может улучшиться'; } diff --git a/example/lib/src/generated/app/app_localization_si.dart b/example/lib/src/generated/app/app_localization_si.dart new file mode 100644 index 0000000..1d816bb --- /dev/null +++ b/example/lib/src/generated/app/app_localization_si.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Sinhala Sinhalese (`si`). +class AppLocalizationSi extends AppLocalization { + AppLocalizationSi([String locale = 'si']) : super(locale); + + @override + String get lang => 'සිංහල'; + + @override + String get langEn => 'Sinhala'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'අදහස් යාවත්කාලීන කරන්න'; + + @override + String get checkVersionMaybeLaterButton => 'පසුව'; + + @override + String get checkVersionUpdateOptionalTitle => + 'නව යාවත්කාලීන කිරීමක් ලබා ගත හැක'; + + @override + String get checkVersionUpdateRequiredTitle => 'අලුත් කිරීම අවශ්‍යයි'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'අලුත්ම අනුවාදයක් (v$version) යෙදුම සඳහා ලබා ගත හැක. හොඳම අත්දැකීම සඳහා යාවත්කාලීන කරන්න.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'ඉදිරියට යාමට, කරුණාකර යෙදුම යාවත්කාලීන කරන්න. මෙම යාවත්කාලීන කිරීමේදී වැදගත් අලුත්කම් සහ සංශෝධන ඇතුළත් වේ.'; + + @override + String get chatContextMenuDownload => 'බාගත කරන්න'; + + @override + String get welcomeBackDialogText => + 'Prijavite se ako već imate Doctorina račun, ili se registrujte da biste započeli.'; + + @override + String get welcomeBackDialogLogInButton => 'Prijavite se'; + + @override + String get welcomeBackDialogSignUpButton => 'Prijavite se'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'අමුත්තා ලෙස ඉදිරියට යන්න'; + + @override + String get titleLogin => 'ඇතුල් වන්න'; + + @override + String get titleLogout => 'ඉවත් වන්න'; + + @override + String get titleSignIn => 'ඇතුල්වන්න'; + + @override + String get titleDialog => 'සංවාදය'; + + @override + String get titleChat => 'චැට්'; + + @override + String get titleSettings => 'ගිණුම් සැකසුම්'; + + @override + String get titleChatHistory => 'චැට් ඉතිහාසය'; + + @override + String get titlePayment => 'ගෙවීම්'; + + @override + String get titleManageSubscription => 'අභිජනන කළමනාකරණය'; + + @override + String get titleMonthlySubscription => 'මාසික සාමාජිකත්වය'; + + @override + String get titleOnboarding => 'ආරම්භය'; + + @override + String get titleWelcomeBack => 'Dobrodošli nazad'; + + @override + String get titleProfiles => 'සෞඛ්‍ය වාර්තා පැතිකඩ'; + + @override + String get titleProfilesAnnouncement => 'ප්‍රොෆයිල් නිවේදනය'; + + @override + String get titleDashboardProfile => 'සෞඛ්‍ය වාර්තා'; + + @override + String get titleFullRecord => 'සම්පූර්ණ වාර්තාව'; + + @override + String get titleDocuments => 'เอกสาร'; + + @override + String get titleConsultations => 'සම්මුඛ සාකච්ඡා'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'මකන්නද? අපට කීයක් කියන්න!'; + + @override + String get quickActionNewChatSubtitle => 'අලුත් සෞඛ්‍ය සංවාදයක් ආරම්භ කරන්න'; + + @override + String get quickActionFeedbackSubtitle => 'කාරණයක් හෝ ගැටලුවක් වාර්තා කරන්න'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'ඩොක්ටර්නා යහපත් කරගැනීමට අපට කෙසේද කියන්න'; +} diff --git a/example/lib/src/generated/app/app_localization_sk.dart b/example/lib/src/generated/app/app_localization_sk.dart new file mode 100644 index 0000000..d68de4f --- /dev/null +++ b/example/lib/src/generated/app/app_localization_sk.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Slovak (`sk`). +class AppLocalizationSk extends AppLocalization { + AppLocalizationSk([String locale = 'sk']) : super(locale); + + @override + String get lang => 'Slovák'; + + @override + String get langEn => 'Slovak'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Aktualizovať teraz'; + + @override + String get checkVersionMaybeLaterButton => 'Možno neskôr'; + + @override + String get checkVersionUpdateOptionalTitle => + 'Nová aktualizácia je k dispozícii'; + + @override + String get checkVersionUpdateRequiredTitle => 'Vyžaduje sa aktualizácia'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Nová verzia (v$version) aplikácie je k dispozícii. Prosím, aktualizujte sa, aby ste mohli pokračovať s najlepším zážitkom.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Aby ste mohli pokračovať, aktualizujte prosím aplikáciu. Táto aktualizácia obsahuje dôležité opravy a vylepšenia.'; + + @override + String get chatContextMenuDownload => 'Stiahnuť'; + + @override + String get welcomeBackDialogText => + 'Prihláste sa, ak už máte účet Doctorina, alebo sa zaregistrujte, aby ste mohli začať.'; + + @override + String get welcomeBackDialogLogInButton => 'Prihlásiť sa'; + + @override + String get welcomeBackDialogSignUpButton => 'Zaregistrovať sa'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Pokračovať ako hosť'; + + @override + String get titleLogin => 'Prihlásiť sa'; + + @override + String get titleLogout => 'Odhlásiť sa'; + + @override + String get titleSignIn => 'Prihlásiť sa'; + + @override + String get titleDialog => 'Dialóg'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Nastavenia účtu'; + + @override + String get titleChatHistory => 'História chatov'; + + @override + String get titlePayment => 'Platba'; + + @override + String get titleManageSubscription => 'Spravovať predplatné'; + + @override + String get titleMonthlySubscription => 'Mesačné predplatné'; + + @override + String get titleOnboarding => 'Úvod'; + + @override + String get titleWelcomeBack => 'Vitajte späť'; + + @override + String get titleProfiles => 'Profily zdravotných záznamov'; + + @override + String get titleProfilesAnnouncement => 'Oznámenie profilov'; + + @override + String get titleDashboardProfile => 'Zdravotné záznamy'; + + @override + String get titleFullRecord => 'Úplný záznam'; + + @override + String get titleDocuments => 'Dokumenty'; + + @override + String get titleConsultations => 'Konzultácie'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'Odstraňujete? Povedzte nám prečo!'; + + @override + String get quickActionNewChatSubtitle => 'Začnite novú zdravotnú konverzáciu'; + + @override + String get quickActionFeedbackSubtitle => + 'Zdieľajte nápad alebo nahláste problém'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Povedzte nám, ako môže Doctorina zlepšiť'; +} diff --git a/example/lib/src/generated/app/app_localization_sw.dart b/example/lib/src/generated/app/app_localization_sw.dart new file mode 100644 index 0000000..c36ebdc --- /dev/null +++ b/example/lib/src/generated/app/app_localization_sw.dart @@ -0,0 +1,128 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Swahili (`sw`). +class AppLocalizationSw extends AppLocalization { + AppLocalizationSw([String locale = 'sw']) : super(locale); + + @override + String get lang => 'Kiswahili'; + + @override + String get langEn => 'Swahili'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Sasisha sasa'; + + @override + String get checkVersionMaybeLaterButton => 'Labda baadaye'; + + @override + String get checkVersionUpdateOptionalTitle => 'Sasisho jipya linapatikana'; + + @override + String get checkVersionUpdateRequiredTitle => 'Sasisho Linahitajika'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Toleo jipya (v$version) la programu linapatikana. Tafadhali sasisha ili kuendelea kupata uzoefu bora'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Kuendelea, tafadhali sasisha programu. Sasisho hili linajumuisha maboresho na marekebisho muhimu.'; + + @override + String get chatContextMenuDownload => 'Pakua'; + + @override + String get welcomeBackDialogText => + 'Log in ikiwa una akaunti ya Doctorina, au jiandikishe ili kuanza.'; + + @override + String get welcomeBackDialogLogInButton => 'Ingia'; + + @override + String get welcomeBackDialogSignUpButton => 'Jisajili'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Endelea kama mgeni'; + + @override + String get titleLogin => 'Ingia'; + + @override + String get titleLogout => 'Toka'; + + @override + String get titleSignIn => 'Ingia'; + + @override + String get titleDialog => 'Mazungumzo'; + + @override + String get titleChat => 'Mazungumzo'; + + @override + String get titleSettings => 'Mipangilio ya Akaunti'; + + @override + String get titleChatHistory => 'Historia ya mazungumzo'; + + @override + String get titlePayment => 'Malipo'; + + @override + String get titleManageSubscription => 'Simamia usajili'; + + @override + String get titleMonthlySubscription => 'Usajili wa Kila Mwezi'; + + @override + String get titleOnboarding => 'Kuanzisha'; + + @override + String get titleWelcomeBack => 'Karibu tena'; + + @override + String get titleProfiles => 'Wasifu za rekodi za afya'; + + @override + String get titleProfilesAnnouncement => 'Tangazo la Profaili'; + + @override + String get titleDashboardProfile => 'Rekodi za Afya'; + + @override + String get titleFullRecord => 'Rekodi kamili'; + + @override + String get titleDocuments => 'Nyaraka'; + + @override + String get titleConsultations => 'Mikutano'; + + @override + String get titleAppLaunchPaywall => 'Malipo'; + + @override + String get quickActionDeleteFeedback => 'Unataka kufuta? Tuambie kwa nini!'; + + @override + String get quickActionNewChatSubtitle => 'Anza mazungumzo mapya ya afya'; + + @override + String get quickActionFeedbackSubtitle => 'Shiriki wazo au ripoti tatizo'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Tuambie jinsi Doctorina inaweza kuboresha'; +} diff --git a/example/lib/src/generated/app/app_localization_ta.dart b/example/lib/src/generated/app/app_localization_ta.dart new file mode 100644 index 0000000..5a64144 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_ta.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tamil (`ta`). +class AppLocalizationTa extends AppLocalization { + AppLocalizationTa([String locale = 'ta']) : super(locale); + + @override + String get lang => 'நாகர்'; + + @override + String get langEn => 'Tamil'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'இப்போது புதுப்பிக்கவும்'; + + @override + String get checkVersionMaybeLaterButton => 'இன்னும் பிறகு'; + + @override + String get checkVersionUpdateOptionalTitle => 'புதுப்பிப்பு கிடைக்கிறது'; + + @override + String get checkVersionUpdateRequiredTitle => 'புதுப்பிப்பு தேவை'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'புதிய பதிப்பு (v$version) செயலியில் கிடைக்கிறது. சிறந்த அனுபவத்திற்காக தயவுசெய்து புதுப்பிக்கவும்'; + } + + @override + String get checkVersionUpdateRequiredText => + 'தொடர, தயவுசெய்து செயலியை புதுப்பிக்கவும். இந்த புதுப்பிப்பு முக்கியமான திருத்தங்கள் மற்றும் மேம்படுத்தல்களை உள்ளடக்கியது.'; + + @override + String get chatContextMenuDownload => 'பதிவிறக்கு'; + + @override + String get welcomeBackDialogText => + 'நீங்கள் ஏற்கனவே Doctorina கணக்கு வைத்திருந்தால் உள்நுழைக, இல்லையெனில் தொடங்க பதிவு செய்யவும்.'; + + @override + String get welcomeBackDialogLogInButton => 'உள்நுழைய'; + + @override + String get welcomeBackDialogSignUpButton => 'பதிவு செய்யவும்'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'விருந்தினராக தொடர'; + + @override + String get titleLogin => 'உள்நுழைய'; + + @override + String get titleLogout => 'வெளியேறு'; + + @override + String get titleSignIn => 'உள்நுழைய'; + + @override + String get titleDialog => 'உரையாடல்'; + + @override + String get titleChat => 'உரையாடல்'; + + @override + String get titleSettings => 'கணக்கு அமைப்புகள்'; + + @override + String get titleChatHistory => 'சேதவியல் வரலாறு'; + + @override + String get titlePayment => 'கட்டணம்'; + + @override + String get titleManageSubscription => 'சந்தாவை நிர்வகிக்க'; + + @override + String get titleMonthlySubscription => 'மாதாந்திர சந்தா'; + + @override + String get titleOnboarding => 'தொடக்கம்'; + + @override + String get titleWelcomeBack => 'மீண்டும் வரவேற்கிறேன்'; + + @override + String get titleProfiles => 'சுகாதார பதிவுகள் சுயவிவரங்கள்'; + + @override + String get titleProfilesAnnouncement => 'சுயவிவரங்கள் அறிவிப்பு'; + + @override + String get titleDashboardProfile => 'ஆரோக்கிய பதிவுகள்'; + + @override + String get titleFullRecord => 'முழு பதிவுகள்'; + + @override + String get titleDocuments => 'ஆவணங்கள்'; + + @override + String get titleConsultations => 'கூட்டங்கள்'; + + @override + String get titleAppLaunchPaywall => 'பணம் செலுத்துதல்'; + + @override + String get quickActionDeleteFeedback => + 'நீக்குகிறீர்களா? எதற்காக என்பதை எங்களுக்கு சொல்லுங்கள்!'; + + @override + String get quickActionNewChatSubtitle => 'புதிய சுகாதார உரையாடலை தொடங்கு'; + + @override + String get quickActionFeedbackSubtitle => + 'ஒரு யோசனையைப் பகிரவும் அல்லது ஒரு பிரச்சினையைப் புகாரளிக்கவும்'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Doctorina எவ்வாறு மேம்படுத்தலாம் என்பதை எங்களுக்கு சொல்லுங்கள்'; +} diff --git a/example/lib/src/generated/app/app_localization_te.dart b/example/lib/src/generated/app/app_localization_te.dart new file mode 100644 index 0000000..b75196a --- /dev/null +++ b/example/lib/src/generated/app/app_localization_te.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Telugu (`te`). +class AppLocalizationTe extends AppLocalization { + AppLocalizationTe([String locale = 'te']) : super(locale); + + @override + String get lang => 'తెలుగు'; + + @override + String get langEn => 'Telugu'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'ఇప్పుడు అప్‌డేట్ చేయండి'; + + @override + String get checkVersionMaybeLaterButton => 'తర్వాత'; + + @override + String get checkVersionUpdateOptionalTitle => 'కొత్త నవీకరణ అందుబాటులో ఉంది'; + + @override + String get checkVersionUpdateRequiredTitle => 'అప్‌డేట్ అవసరం'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'కొత్త వెర్షన్ (v$version) ఆప్ అందుబాటులో ఉంది. ఉత్తమ అనుభవం కోసం దయచేసి నవీకరించండి'; + } + + @override + String get checkVersionUpdateRequiredText => + 'కొనసాగాలంటే, దయచేసి యాప్‌ను అప్‌డేట్ చేయండి. ఈ అప్‌డేట్ కీలకమైన సవరణలు మరియు మెరుగుదలలను కలిగి ఉంది.'; + + @override + String get chatContextMenuDownload => 'డౌన్లోడ్'; + + @override + String get welcomeBackDialogText => + 'మీకు ఇప్పటికే Doctorina ఖాతా ఉంటే లాగిన్ అవ్వండి, లేదా ప్రారంభించడానికి సైన్ అప్ చేయండి.'; + + @override + String get welcomeBackDialogLogInButton => 'లాగిన్'; + + @override + String get welcomeBackDialogSignUpButton => 'సైన్ అప్'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'అతిథిగా కొనసాగించండి'; + + @override + String get titleLogin => 'లాగిన్'; + + @override + String get titleLogout => 'లాగ్ అవుట్'; + + @override + String get titleSignIn => 'సైన్ ఇన్'; + + @override + String get titleDialog => 'సంభాషణ'; + + @override + String get titleChat => 'చాట్'; + + @override + String get titleSettings => 'ఖాతా సెట్టింగ్స్'; + + @override + String get titleChatHistory => 'చాట్ చరిత్ర'; + + @override + String get titlePayment => 'చెల్లింపు'; + + @override + String get titleManageSubscription => 'సబ్‌స్క్రిప్షన్ నిర్వహించండి'; + + @override + String get titleMonthlySubscription => 'మాసిక సభ్యత్వం'; + + @override + String get titleOnboarding => 'ఆన్‌బోర్డింగ్'; + + @override + String get titleWelcomeBack => 'మళ్లీ స్వాగతం'; + + @override + String get titleProfiles => 'ఆరోగ్య రికార్డుల ప్రొఫైల్స్'; + + @override + String get titleProfilesAnnouncement => 'ప్రొఫైల్స్ ప్రకటన'; + + @override + String get titleDashboardProfile => 'ఆరోగ్య రికార్డులు'; + + @override + String get titleFullRecord => 'పూర్తి రికార్డు'; + + @override + String get titleDocuments => 'పత్రాలు'; + + @override + String get titleConsultations => 'సలహాలు'; + + @override + String get titleAppLaunchPaywall => 'పే వాల్'; + + @override + String get quickActionDeleteFeedback => + 'తొలగిస్తున్నారా? మాకు చెప్పండి ఎందుకు!'; + + @override + String get quickActionNewChatSubtitle => 'కొత్త ఆరోగ్య చర్చ ప్రారంభించండి'; + + @override + String get quickActionFeedbackSubtitle => + 'ఒక ఆలోచనను పంచుకోండి లేదా సమస్యను నివేదించండి'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'డాక్టర్‌నా మెరుగుపరచడానికి మాకు చెప్పండి'; +} diff --git a/example/lib/src/generated/app/app_localization_th.dart b/example/lib/src/generated/app/app_localization_th.dart new file mode 100644 index 0000000..1a6e7c6 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_th.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Thai (`th`). +class AppLocalizationTh extends AppLocalization { + AppLocalizationTh([String locale = 'th']) : super(locale); + + @override + String get lang => 'แบบไทย'; + + @override + String get langEn => 'Thai'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'อัปเดตตอนนี้'; + + @override + String get checkVersionMaybeLaterButton => 'บางทีทีหลัง'; + + @override + String get checkVersionUpdateOptionalTitle => 'อัปเดตใหม่พร้อมใช้งาน'; + + @override + String get checkVersionUpdateRequiredTitle => 'อัปเดตจำเป็น'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'เวอร์ชันใหม่ (v$version) ของแอปมีให้ใช้แล้ว. กรุณาอัปเดตเพื่อดำเนินการต่อเพื่อประสบการณ์ที่ดีที่สุด'; + } + + @override + String get checkVersionUpdateRequiredText => + 'เพื่อดำเนินการต่อ, โปรดอัปเดตแอปฯ. การอัปเดตนี้รวมถึงการแก้ไขข้อผิดพลาดและปรับปรุงที่สำคัญ.'; + + @override + String get chatContextMenuDownload => 'ดาวน์โหลด'; + + @override + String get welcomeBackDialogText => + 'เข้าสู่ระบบหากคุณมีบัญชี Doctorina อยู่แล้ว หรือสมัครสมาชิกเพื่อเริ่มต้น'; + + @override + String get welcomeBackDialogLogInButton => 'เข้าสู่ระบบ'; + + @override + String get welcomeBackDialogSignUpButton => 'ลงทะเบียน'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'ทำต่อในฐานะแขก'; + + @override + String get titleLogin => 'เข้าสู่ระบบ'; + + @override + String get titleLogout => 'ออกจากระบบ'; + + @override + String get titleSignIn => 'ลงชื่อเข้าใช้'; + + @override + String get titleDialog => 'การสนทนา'; + + @override + String get titleChat => 'แชท'; + + @override + String get titleSettings => 'การตั้งค่าบัญชี'; + + @override + String get titleChatHistory => 'ประวัติการสนทนา'; + + @override + String get titlePayment => 'การชำระเงิน'; + + @override + String get titleManageSubscription => 'จัดการการสมัครสมาชิก'; + + @override + String get titleMonthlySubscription => 'การสมัครสมาชิกแบบรายเดือน'; + + @override + String get titleOnboarding => 'การเริ่มต้น'; + + @override + String get titleWelcomeBack => 'ยินดีต้อนรับกลับ'; + + @override + String get titleProfiles => 'โปรไฟล์บันทึกสุขภาพ'; + + @override + String get titleProfilesAnnouncement => 'ประกาศโปรไฟล์'; + + @override + String get titleDashboardProfile => 'บันทึกสุขภาพ'; + + @override + String get titleFullRecord => 'บันทึกทั้งหมด'; + + @override + String get titleDocuments => 'เอกสาร'; + + @override + String get titleConsultations => 'การปรึกษา'; + + @override + String get titleAppLaunchPaywall => 'เพย์วอลล์'; + + @override + String get quickActionDeleteFeedback => + 'กำลังลบอยู่ใช่ไหม? บอกเราหน่อยว่าทำไม!'; + + @override + String get quickActionNewChatSubtitle => 'เริ่มการสนทนาเกี่ยวกับสุขภาพใหม่'; + + @override + String get quickActionFeedbackSubtitle => 'แชร์ไอเดียหรือรายงานปัญหา'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'บอกเราว่า Doctorina จะปรับปรุงได้อย่างไร'; +} diff --git a/example/lib/src/generated/app/app_localization_tl.dart b/example/lib/src/generated/app/app_localization_tl.dart new file mode 100644 index 0000000..cb294f4 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_tl.dart @@ -0,0 +1,132 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tagalog (`tl`). +class AppLocalizationTl extends AppLocalization { + AppLocalizationTl([String locale = 'tl']) : super(locale); + + @override + String get lang => 'Tagalog'; + + @override + String get langEn => 'Tagalog'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'I-update Ngayon'; + + @override + String get checkVersionMaybeLaterButton => 'Baka Muna'; + + @override + String get checkVersionUpdateOptionalTitle => 'Bagong update na available'; + + @override + String get checkVersionUpdateRequiredTitle => 'Kailangan ng Update'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Isang bagong bersyon (v$version) ng app ang available. Mangyaring i-update upang magpatuloy para sa pinakamahusay na karanasan.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Upang magpatuloy, mangyaring i-update ang app. Ang update na ito ay may kasamang mahahalagang pag-aayos at pagpapabuti.'; + + @override + String get chatContextMenuDownload => 'I-download'; + + @override + String get welcomeBackDialogText => + 'Mag-log in kung mayroon ka nang Doctorina account, o mag-sign up upang makapagsimula.'; + + @override + String get welcomeBackDialogLogInButton => 'Mag-log in'; + + @override + String get welcomeBackDialogSignUpButton => 'Mag-sign up'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Magpatuloy bilang panauhin'; + + @override + String get titleLogin => 'Mag-log In'; + + @override + String get titleLogout => 'Mag-Log Out'; + + @override + String get titleSignIn => 'Mag-sign In'; + + @override + String get titleDialog => 'Dialog'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Mga Setting ng Account'; + + @override + String get titleChatHistory => 'Kasaysayan ng Chat'; + + @override + String get titlePayment => 'Bayad'; + + @override + String get titleManageSubscription => 'Pamahalaan ang subscription'; + + @override + String get titleMonthlySubscription => 'Buwanang Subscription'; + + @override + String get titleOnboarding => 'Onboarding'; + + @override + String get titleWelcomeBack => 'Maligayang pagbabalik'; + + @override + String get titleProfiles => 'Mga profile ng rekord ng kalusugan'; + + @override + String get titleProfilesAnnouncement => 'Anunsyo ng mga profile'; + + @override + String get titleDashboardProfile => 'Mga Rekord ng Kalusugan'; + + @override + String get titleFullRecord => 'Buong rekord'; + + @override + String get titleDocuments => 'Mga Dokumento'; + + @override + String get titleConsultations => 'Mga Konsultasyon'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => + 'Nagtatanggal? Sabihin sa amin kung bakit!'; + + @override + String get quickActionNewChatSubtitle => + 'Magsimula ng bagong pag-uusap tungkol sa kalusugan'; + + @override + String get quickActionFeedbackSubtitle => + 'Magbahagi ng ideya o iulat ang isang problema'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Sabihin sa amin kung paano pa mapapabuti ang Doctorina'; +} diff --git a/example/lib/src/generated/app/app_localization_tr.dart b/example/lib/src/generated/app/app_localization_tr.dart new file mode 100644 index 0000000..60f75db --- /dev/null +++ b/example/lib/src/generated/app/app_localization_tr.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Turkish (`tr`). +class AppLocalizationTr extends AppLocalization { + AppLocalizationTr([String locale = 'tr']) : super(locale); + + @override + String get lang => 'Türkçe'; + + @override + String get langEn => 'Turkish'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Şimdi Güncelle'; + + @override + String get checkVersionMaybeLaterButton => 'Belki Sonra'; + + @override + String get checkVersionUpdateOptionalTitle => 'Yeni güncelleme mevcut'; + + @override + String get checkVersionUpdateRequiredTitle => 'Güncelleme Gerekli'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Uygulamanın yeni bir sürümü (v$version) mevcut. En iyi deneyim için lütfen güncelleyin'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Devam etmek için, lütfen uygulamayı güncelleyin. Bu güncelleme önemli düzeltmeler ve iyileştirmeler içeriyor.'; + + @override + String get chatContextMenuDownload => 'İndir'; + + @override + String get welcomeBackDialogText => + 'Zaten bir Doctorina hesabınız varsa giriş yapın veya başlamak için kaydolun.'; + + @override + String get welcomeBackDialogLogInButton => 'Giriş yap'; + + @override + String get welcomeBackDialogSignUpButton => 'Kaydol'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Misafir olarak devam et'; + + @override + String get titleLogin => 'Giriş Yap'; + + @override + String get titleLogout => 'Çıkış Yap'; + + @override + String get titleSignIn => 'Giriş Yap'; + + @override + String get titleDialog => 'Diyalog'; + + @override + String get titleChat => 'Sohbet'; + + @override + String get titleSettings => 'Hesap Ayarları'; + + @override + String get titleChatHistory => 'Sohbet Geçmişi'; + + @override + String get titlePayment => 'Ödeme'; + + @override + String get titleManageSubscription => 'Aboneliği yönet'; + + @override + String get titleMonthlySubscription => 'Aylık Abonelik'; + + @override + String get titleOnboarding => 'Eğitim'; + + @override + String get titleWelcomeBack => 'Hoş geldiniz'; + + @override + String get titleProfiles => 'Sağlık kayıtları profilleri'; + + @override + String get titleProfilesAnnouncement => 'Profiller duyurusu'; + + @override + String get titleDashboardProfile => 'Sağlık Kayıtları'; + + @override + String get titleFullRecord => 'Tam kayıt'; + + @override + String get titleDocuments => 'Belgeler'; + + @override + String get titleConsultations => 'Danışmanlıklar'; + + @override + String get titleAppLaunchPaywall => 'Ödeme Duvarı'; + + @override + String get quickActionDeleteFeedback => 'Silmek mi? Nedenini bize söyle!'; + + @override + String get quickActionNewChatSubtitle => 'Yeni bir sağlık sohbeti başlat'; + + @override + String get quickActionFeedbackSubtitle => + 'Bir fikir paylaşın veya bir sorun bildirin'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Doctorina\'nın nasıl gelişebileceğini bize söyleyin'; +} diff --git a/example/lib/src/generated/app/app_localization_uk.dart b/example/lib/src/generated/app/app_localization_uk.dart new file mode 100644 index 0000000..ebcadc9 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_uk.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Ukrainian (`uk`). +class AppLocalizationUk extends AppLocalization { + AppLocalizationUk([String locale = 'uk']) : super(locale); + + @override + String get lang => 'українська'; + + @override + String get langEn => 'Ukrainian'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Оновити зараз'; + + @override + String get checkVersionMaybeLaterButton => 'Можливо пізніше'; + + @override + String get checkVersionUpdateOptionalTitle => 'Новий оновлення доступне'; + + @override + String get checkVersionUpdateRequiredTitle => 'Оновлення необхідне'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Доступна нова версія (v$version) додатку. Будь ласка, оновіть, щоб продовжити та отримати найкращий досвід.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Щоб продовжити, будь ласка, оновіть додаток. Це оновлення містить важливі виправлення та покращення.'; + + @override + String get chatContextMenuDownload => 'Завантажити'; + + @override + String get welcomeBackDialogText => + 'Увійдіть, якщо у вас вже є обліковий запис Doctorina, або зареєструйтесь, щоб почати.'; + + @override + String get welcomeBackDialogLogInButton => 'Увійти'; + + @override + String get welcomeBackDialogSignUpButton => 'Зареєструватися'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Продовжити як гість'; + + @override + String get titleLogin => 'Увійти'; + + @override + String get titleLogout => 'Вийти'; + + @override + String get titleSignIn => 'Увійти'; + + @override + String get titleDialog => 'Діалог'; + + @override + String get titleChat => 'Чат'; + + @override + String get titleSettings => 'Налаштування акаунта'; + + @override + String get titleChatHistory => 'Історія чатів'; + + @override + String get titlePayment => 'Оплата'; + + @override + String get titleManageSubscription => 'Керувати підпискою'; + + @override + String get titleMonthlySubscription => 'Щомісячна підписка'; + + @override + String get titleOnboarding => 'Онбординг'; + + @override + String get titleWelcomeBack => 'З поверненням'; + + @override + String get titleProfiles => 'Профілі медичних записів'; + + @override + String get titleProfilesAnnouncement => 'Оголошення профілів'; + + @override + String get titleDashboardProfile => 'Медичні записи'; + + @override + String get titleFullRecord => 'Повний запис'; + + @override + String get titleDocuments => 'Документи'; + + @override + String get titleConsultations => 'Консультації'; + + @override + String get titleAppLaunchPaywall => 'Платний доступ'; + + @override + String get quickActionDeleteFeedback => 'Видаляєте? Скажіть нам чому!'; + + @override + String get quickActionNewChatSubtitle => 'Почати нову розмову про здоров\'я'; + + @override + String get quickActionFeedbackSubtitle => + 'Поділіться ідеєю або повідомте про проблему'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Скажіть нам, як Doctorina може покращитися'; +} diff --git a/example/lib/src/generated/app/app_localization_ur.dart b/example/lib/src/generated/app/app_localization_ur.dart new file mode 100644 index 0000000..686752f --- /dev/null +++ b/example/lib/src/generated/app/app_localization_ur.dart @@ -0,0 +1,130 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Urdu (`ur`). +class AppLocalizationUr extends AppLocalization { + AppLocalizationUr([String locale = 'ur']) : super(locale); + + @override + String get lang => 'اردو'; + + @override + String get langEn => 'Urdu'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'ابھی اپ ڈیٹ کریں'; + + @override + String get checkVersionMaybeLaterButton => 'شاید بعد میں'; + + @override + String get checkVersionUpdateOptionalTitle => 'نیا اپ ڈیٹ دستیاب ہے'; + + @override + String get checkVersionUpdateRequiredTitle => 'اپ ڈیٹ ضروری ہے'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'ایپ کا نیا ورژن (v$version) دستیاب ہے. بہترین تجربے کے لیے براہ کرم اپ ڈیٹ کریں.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'جاری رکھنے کے لیے، براہ کرم ایپ کو اپ ڈیٹ کریں. اس اپ ڈیٹ میں اہم اصلاحات اور بہتریاں شامل ہیں.'; + + @override + String get chatContextMenuDownload => 'ڈاؤنلوڈ'; + + @override + String get welcomeBackDialogText => + 'اگر آپ کے پاس پہلے سے Doctorina اکاؤنٹ ہے تو لاگ ان کریں، یا شروع کرنے کے لیے سائن اپ کریں۔'; + + @override + String get welcomeBackDialogLogInButton => 'لاگ ان کریں'; + + @override + String get welcomeBackDialogSignUpButton => 'سائن اپ کریں'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'مہمان کے طور پر جاری رکھیں'; + + @override + String get titleLogin => 'لاگ ان'; + + @override + String get titleLogout => 'لاگ آؤٹ'; + + @override + String get titleSignIn => 'سائن ان'; + + @override + String get titleDialog => 'ڈائیلاگ'; + + @override + String get titleChat => 'چیٹ'; + + @override + String get titleSettings => 'اکاؤنٹ کی ترتیبات'; + + @override + String get titleChatHistory => 'چیٹ کی تاریخ'; + + @override + String get titlePayment => 'ادائیگی'; + + @override + String get titleManageSubscription => 'سبسکرپشن کا انتظام کریں'; + + @override + String get titleMonthlySubscription => 'ماہانہ سبسکرپشن'; + + @override + String get titleOnboarding => 'آن بورڈنگ'; + + @override + String get titleWelcomeBack => 'خوش آمدید'; + + @override + String get titleProfiles => 'صحت کے ریکارڈ کے پروفائلز'; + + @override + String get titleProfilesAnnouncement => 'پروفائل کا اعلان'; + + @override + String get titleDashboardProfile => 'صحت کے ریکارڈ'; + + @override + String get titleFullRecord => 'مکمل ریکارڈ'; + + @override + String get titleDocuments => 'دستاویزات'; + + @override + String get titleConsultations => 'مشاورت'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => 'حذف کر رہے ہیں؟ ہمیں بتائیں کیوں!'; + + @override + String get quickActionNewChatSubtitle => 'ایک نئی صحت کی گفتگو شروع کریں'; + + @override + String get quickActionFeedbackSubtitle => + 'ایک خیال شیئر کریں یا مسئلہ رپورٹ کریں'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'ہمیں بتائیں کہ ڈاکٹرینا کو کیسے بہتر بنایا جا سکتا ہے'; +} diff --git a/example/lib/src/generated/app/app_localization_uz.dart b/example/lib/src/generated/app/app_localization_uz.dart new file mode 100644 index 0000000..5fd1aa7 --- /dev/null +++ b/example/lib/src/generated/app/app_localization_uz.dart @@ -0,0 +1,131 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Uzbek (`uz`). +class AppLocalizationUz extends AppLocalization { + AppLocalizationUz([String locale = 'uz']) : super(locale); + + @override + String get lang => 'O\'zbekcha'; + + @override + String get langEn => 'Uzbek'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Hozir yangilang'; + + @override + String get checkVersionMaybeLaterButton => 'Balki keyinroq'; + + @override + String get checkVersionUpdateOptionalTitle => 'Yangi yangilanish mavjud'; + + @override + String get checkVersionUpdateRequiredTitle => 'Yangilanish talab qilinadi'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Yangi versiya (v$version) ilovada mavjud. Eng yaxshi tajriba uchun yangilang.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Davom etish uchun, ilovani yangilashingizni iltimos qilamiz. Ushbu yangilanish muhim tuzatishlar va yaxshilanishlarni o\'z ichiga oladi.'; + + @override + String get chatContextMenuDownload => 'Yuklab olish'; + + @override + String get welcomeBackDialogText => + 'Agar sizda Doctorina hisobingiz bo\'lsa, kiring yoki boshlash uchun ro\'yxatdan o\'ting.'; + + @override + String get welcomeBackDialogLogInButton => 'Kirish'; + + @override + String get welcomeBackDialogSignUpButton => 'Ro\'yxatdan o\'tish'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Mehmon sifatida davom etish'; + + @override + String get titleLogin => 'Kirish'; + + @override + String get titleLogout => 'Chiqish'; + + @override + String get titleSignIn => 'Kirish'; + + @override + String get titleDialog => 'Muloqot'; + + @override + String get titleChat => 'Chat'; + + @override + String get titleSettings => 'Hisob sozlamalari'; + + @override + String get titleChatHistory => 'Chat Tarixi'; + + @override + String get titlePayment => 'To\'lov'; + + @override + String get titleManageSubscription => 'Obuna boshqarish'; + + @override + String get titleMonthlySubscription => 'Oylik obuna'; + + @override + String get titleOnboarding => 'O\'qitish'; + + @override + String get titleWelcomeBack => 'Xush kelibsiz'; + + @override + String get titleProfiles => 'Tibbiy yozuvlar profillari'; + + @override + String get titleProfilesAnnouncement => 'Profil e\'lon'; + + @override + String get titleDashboardProfile => 'Sog\'liqni saqlash yozuvlari'; + + @override + String get titleFullRecord => 'To\'liq yozuv'; + + @override + String get titleDocuments => 'Hujjatlar'; + + @override + String get titleConsultations => 'Maslahatlar'; + + @override + String get titleAppLaunchPaywall => 'To\'siq'; + + @override + String get quickActionDeleteFeedback => + 'O\'chiryapsizmi? Nima uchun ekanligini ayting!'; + + @override + String get quickActionNewChatSubtitle => 'Yangi sog\'liq suhbatini boshlang'; + + @override + String get quickActionFeedbackSubtitle => + 'G\'oya ulashing yoki muammoni xabar qiling'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Doctorina qanday yaxshilanishi mumkinligini bizga ayting'; +} diff --git a/example/lib/src/generated/app/app_localization_vi.dart b/example/lib/src/generated/app/app_localization_vi.dart new file mode 100644 index 0000000..9a9109d --- /dev/null +++ b/example/lib/src/generated/app/app_localization_vi.dart @@ -0,0 +1,131 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Vietnamese (`vi`). +class AppLocalizationVi extends AppLocalization { + AppLocalizationVi([String locale = 'vi']) : super(locale); + + @override + String get lang => 'Tiếng Việt'; + + @override + String get langEn => 'Vietnamese'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Cập nhật ngay'; + + @override + String get checkVersionMaybeLaterButton => 'Có thể sau'; + + @override + String get checkVersionUpdateOptionalTitle => 'Cập nhật mới có sẵn'; + + @override + String get checkVersionUpdateRequiredTitle => 'Cần cập nhật'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Một phiên bản mới (v$version) của ứng dụng có sẵn. Vui lòng cập nhật để có trải nghiệm tốt nhất'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Để tiếp tục, vui lòng cập nhật ứng dụng. Bản cập nhật này bao gồm các sửa lỗi và cải tiến quan trọng.'; + + @override + String get chatContextMenuDownload => 'Tải xuống'; + + @override + String get welcomeBackDialogText => + 'Đăng nhập nếu bạn đã có tài khoản Doctorina, hoặc đăng ký để bắt đầu.'; + + @override + String get welcomeBackDialogLogInButton => 'Đăng nhập'; + + @override + String get welcomeBackDialogSignUpButton => 'Đăng ký'; + + @override + String get welcomeBackDialogContinueAsGuestButton => + 'Tiếp tục với tư cách khách'; + + @override + String get titleLogin => 'Đăng nhập'; + + @override + String get titleLogout => 'Đăng xuất'; + + @override + String get titleSignIn => 'Đăng nhập'; + + @override + String get titleDialog => 'Đối thoại'; + + @override + String get titleChat => 'Trò chuyện'; + + @override + String get titleSettings => 'Cài đặt tài khoản'; + + @override + String get titleChatHistory => 'Lịch sử trò chuyện'; + + @override + String get titlePayment => 'Thanh toán'; + + @override + String get titleManageSubscription => 'Quản lý đăng ký'; + + @override + String get titleMonthlySubscription => 'Gói đăng ký hàng tháng'; + + @override + String get titleOnboarding => 'Hướng dẫn'; + + @override + String get titleWelcomeBack => 'Chào mừng bạn trở lại'; + + @override + String get titleProfiles => 'Hồ sơ bệnh án sức khỏe'; + + @override + String get titleProfilesAnnouncement => 'Thông báo hồ sơ'; + + @override + String get titleDashboardProfile => 'Hồ sơ sức khỏe'; + + @override + String get titleFullRecord => 'Hồ sơ đầy đủ'; + + @override + String get titleDocuments => 'Tài liệu'; + + @override + String get titleConsultations => 'Tư vấn'; + + @override + String get titleAppLaunchPaywall => 'Bảng giá'; + + @override + String get quickActionDeleteFeedback => 'Xóa? Hãy cho chúng tôi biết lý do!'; + + @override + String get quickActionNewChatSubtitle => + 'Bắt đầu một cuộc trò chuyện về sức khỏe mới'; + + @override + String get quickActionFeedbackSubtitle => + 'Chia sẻ ý tưởng hoặc báo cáo vấn đề'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Cho chúng tôi biết Doctorina có thể cải thiện như thế nào'; +} diff --git a/example/lib/src/generated/app/app_localization_zh.dart b/example/lib/src/generated/app/app_localization_zh.dart index 834cafe..cb91f1b 100644 --- a/example/lib/src/generated/app/app_localization_zh.dart +++ b/example/lib/src/generated/app/app_localization_zh.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,13 +11,19 @@ class AppLocalizationZh extends AppLocalization { AppLocalizationZh([String locale = 'zh']) : super(locale); @override - String get title => '医生丽娜'; + String get lang => '简体中文'; + + @override + String get langEn => 'Chinese'; + + @override + String get title => 'Doctorina'; @override String get checkVersionUpdateNowButton => '立即更新'; @override - String get checkVersionMaybeLaterButton => '也许以后'; + String get checkVersionMaybeLaterButton => '稍后'; @override String get checkVersionUpdateOptionalTitle => '有新更新可用'; @@ -27,13 +33,95 @@ class AppLocalizationZh extends AppLocalization { @override String checkVersionUpdateOptionalText(String version) { - return '该应用有新版本 (v$version) 可用。请更新以获取最佳体验。'; + return '新版本 (v$version) 的应用可用. 请更新以继续获得最佳体验.'; } @override - String checkVersionUpdateRequiredText(String version) { - return '要继续,请更新应用。此更新包含重要的修复和改进。'; - } + String get checkVersionUpdateRequiredText => '要继续,请更新应用程序。此更新包括重要的修复和改进.'; + + @override + String get chatContextMenuDownload => '下载'; + + @override + String get welcomeBackDialogText => '如果您已经拥有Doctorina账户,请登录,或注册以开始。'; + + @override + String get welcomeBackDialogLogInButton => '登录'; + + @override + String get welcomeBackDialogSignUpButton => '注册'; + + @override + String get welcomeBackDialogContinueAsGuestButton => '继续以访客身份'; + + @override + String get titleLogin => '登录'; + + @override + String get titleLogout => '登出'; + + @override + String get titleSignIn => '登录'; + + @override + String get titleDialog => '对话'; + + @override + String get titleChat => '聊天'; + + @override + String get titleSettings => '账户设置'; + + @override + String get titleChatHistory => '聊天记录'; + + @override + String get titlePayment => '付款'; + + @override + String get titleManageSubscription => '管理订阅'; + + @override + String get titleMonthlySubscription => '每月订阅'; + + @override + String get titleOnboarding => '入门'; + + @override + String get titleWelcomeBack => '欢迎回来'; + + @override + String get titleProfiles => '健康记录档案'; + + @override + String get titleProfilesAnnouncement => '个人资料公告'; + + @override + String get titleDashboardProfile => '健康记录'; + + @override + String get titleFullRecord => '完整记录'; + + @override + String get titleDocuments => '文件'; + + @override + String get titleConsultations => '咨询'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => '删除吗?告诉我们原因!'; + + @override + String get quickActionNewChatSubtitle => '开始新的健康对话'; + + @override + String get quickActionFeedbackSubtitle => '分享一个想法或报告一个问题'; + + @override + String get quickActionDeleteFeedbackSubtitle => '告诉我们Doctorina如何改进'; } /// The translations for Chinese, as used in China (`zh_CN`). @@ -41,13 +129,19 @@ class AppLocalizationZhCn extends AppLocalizationZh { AppLocalizationZhCn() : super('zh_CN'); @override - String get title => '医生丽娜'; + String get lang => '简体中文'; + + @override + String get langEn => 'Chinese'; + + @override + String get title => 'Doctorina'; @override String get checkVersionUpdateNowButton => '立即更新'; @override - String get checkVersionMaybeLaterButton => '也许以后'; + String get checkVersionMaybeLaterButton => '稍后'; @override String get checkVersionUpdateOptionalTitle => '有新更新可用'; @@ -57,11 +151,211 @@ class AppLocalizationZhCn extends AppLocalizationZh { @override String checkVersionUpdateOptionalText(String version) { - return '该应用有新版本 (v$version) 可用。请更新以获取最佳体验。'; + return '新版本 (v$version) 的应用可用. 请更新以继续获得最佳体验.'; } @override - String checkVersionUpdateRequiredText(String version) { - return '要继续,请更新应用。此更新包含重要的修复和改进。'; + String get checkVersionUpdateRequiredText => '要继续,请更新应用程序。此更新包括重要的修复和改进.'; + + @override + String get chatContextMenuDownload => '下载'; + + @override + String get welcomeBackDialogText => '如果您已经拥有Doctorina账户,请登录,或注册以开始。'; + + @override + String get welcomeBackDialogLogInButton => '登录'; + + @override + String get welcomeBackDialogSignUpButton => '注册'; + + @override + String get welcomeBackDialogContinueAsGuestButton => '继续以访客身份'; + + @override + String get titleLogin => '登录'; + + @override + String get titleLogout => '登出'; + + @override + String get titleSignIn => '登录'; + + @override + String get titleDialog => '对话'; + + @override + String get titleChat => '聊天'; + + @override + String get titleSettings => '账户设置'; + + @override + String get titleChatHistory => '聊天记录'; + + @override + String get titlePayment => '付款'; + + @override + String get titleManageSubscription => '管理订阅'; + + @override + String get titleMonthlySubscription => '每月订阅'; + + @override + String get titleOnboarding => '入门'; + + @override + String get titleWelcomeBack => '欢迎回来'; + + @override + String get titleProfiles => '健康记录档案'; + + @override + String get titleProfilesAnnouncement => '个人资料公告'; + + @override + String get titleDashboardProfile => '健康记录'; + + @override + String get titleFullRecord => '完整记录'; + + @override + String get titleDocuments => '文件'; + + @override + String get titleConsultations => '咨询'; + + @override + String get titleAppLaunchPaywall => 'Paywall'; + + @override + String get quickActionDeleteFeedback => '删除吗?告诉我们原因!'; + + @override + String get quickActionNewChatSubtitle => '开始新的健康对话'; + + @override + String get quickActionFeedbackSubtitle => '分享一个想法或报告一个问题'; + + @override + String get quickActionDeleteFeedbackSubtitle => '告诉我们Doctorina如何改进'; +} + +/// The translations for Chinese, as used in Hong Kong (`zh_HK`). +class AppLocalizationZhHk extends AppLocalizationZh { + AppLocalizationZhHk() : super('zh_HK'); + + @override + String get lang => '廣東話'; + + @override + String get langEn => 'Cantonese'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => '即刻更新'; + + @override + String get checkVersionMaybeLaterButton => '可能遲啲'; + + @override + String get checkVersionUpdateOptionalTitle => '新更新可用'; + + @override + String get checkVersionUpdateRequiredTitle => '需要更新'; + + @override + String checkVersionUpdateOptionalText(String version) { + return '新的版本 (v$version) 嘅應用程式已可用. 請更新以繼續獲得最佳體驗'; } + + @override + String get checkVersionUpdateRequiredText => '要繼續,請更新應用程式。此更新包括重要的修正及改進。'; + + @override + String get chatContextMenuDownload => '下載'; + + @override + String get welcomeBackDialogText => '如果您已經擁有 Doctorina 帳戶,請登錄,或註冊以開始。'; + + @override + String get welcomeBackDialogLogInButton => '登錄'; + + @override + String get welcomeBackDialogSignUpButton => '註冊'; + + @override + String get welcomeBackDialogContinueAsGuestButton => '繼續以訪客身份'; + + @override + String get titleLogin => '登入'; + + @override + String get titleLogout => '登出'; + + @override + String get titleSignIn => '登入'; + + @override + String get titleDialog => '對話'; + + @override + String get titleChat => '傾偈'; + + @override + String get titleSettings => '帳戶設定'; + + @override + String get titleChatHistory => '聊天記錄'; + + @override + String get titlePayment => '付款'; + + @override + String get titleManageSubscription => '管理訂閱'; + + @override + String get titleMonthlySubscription => '每月訂閱'; + + @override + String get titleOnboarding => '入門'; + + @override + String get titleWelcomeBack => '歡迎回來'; + + @override + String get titleProfiles => '健康紀錄檔案'; + + @override + String get titleProfilesAnnouncement => '個人資料公告'; + + @override + String get titleDashboardProfile => '健康記錄'; + + @override + String get titleFullRecord => '完整記錄'; + + @override + String get titleDocuments => '文件'; + + @override + String get titleConsultations => '諮詢'; + + @override + String get titleAppLaunchPaywall => '付費牆'; + + @override + String get quickActionDeleteFeedback => '刪除嗎?告訴我們為什麼!'; + + @override + String get quickActionNewChatSubtitle => '開始新的健康對話'; + + @override + String get quickActionFeedbackSubtitle => '分享一個想法或報告一個問題'; + + @override + String get quickActionDeleteFeedbackSubtitle => '告訴我們 Doctorina 如何改進'; } diff --git a/example/lib/src/generated/app/app_localization_zu.dart b/example/lib/src/generated/app/app_localization_zu.dart new file mode 100644 index 0000000..e168d9a --- /dev/null +++ b/example/lib/src/generated/app/app_localization_zu.dart @@ -0,0 +1,129 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Zulu (`zu`). +class AppLocalizationZu extends AppLocalization { + AppLocalizationZu([String locale = 'zu']) : super(locale); + + @override + String get lang => 'IsiZulu'; + + @override + String get langEn => 'Zulu'; + + @override + String get title => 'Doctorina'; + + @override + String get checkVersionUpdateNowButton => 'Thola Manje'; + + @override + String get checkVersionMaybeLaterButton => 'Maybe Later'; + + @override + String get checkVersionUpdateOptionalTitle => 'Kukhona ukuvuselelwa okusha'; + + @override + String get checkVersionUpdateRequiredTitle => 'Uhlolo Lwakho Luyadingeka'; + + @override + String checkVersionUpdateOptionalText(String version) { + return 'Itholakale inguqulo entsha (v$version) ye-app. Sicela uvuselele ukuze uqhubeke nokuhlangenwe nakho okuhle.'; + } + + @override + String get checkVersionUpdateRequiredText => + 'Ukuqhubeka, sicela uvuselele uhlelo lokusebenza. Le nvuselelo ifaka phakathi ukulungiswa okubalulekile nokuthuthukiswa.'; + + @override + String get chatContextMenuDownload => 'Landa'; + + @override + String get welcomeBackDialogText => + 'Ngena uma unayo i-Doctorina account, noma ubhalise ukuze uqale.'; + + @override + String get welcomeBackDialogLogInButton => 'Ngena'; + + @override + String get welcomeBackDialogSignUpButton => 'Bhalisela'; + + @override + String get welcomeBackDialogContinueAsGuestButton => 'Qhubeka njengivakashi'; + + @override + String get titleLogin => 'Ngena'; + + @override + String get titleLogout => 'Phuma'; + + @override + String get titleSignIn => 'Ngena'; + + @override + String get titleDialog => 'Ingxoxo'; + + @override + String get titleChat => 'Ingxoxo'; + + @override + String get titleSettings => 'Izilungiselelo ze-akhawunti'; + + @override + String get titleChatHistory => 'Umlando wezingxoxo'; + + @override + String get titlePayment => 'Ukukhokha'; + + @override + String get titleManageSubscription => 'Phatha ubhaliso'; + + @override + String get titleMonthlySubscription => 'Uhlelo lwemali lweminyaka emithathu'; + + @override + String get titleOnboarding => 'Ukuqaliswa'; + + @override + String get titleWelcomeBack => 'Wamukelekile'; + + @override + String get titleProfiles => 'Amaphrofayili amarekhodi ezempilo'; + + @override + String get titleProfilesAnnouncement => 'Isaziso zamaphrofayili'; + + @override + String get titleDashboardProfile => 'Irekhodi Zempilo'; + + @override + String get titleFullRecord => 'Irekhodi ephelele'; + + @override + String get titleDocuments => 'Amadokhumenti'; + + @override + String get titleConsultations => 'Izinkulumo'; + + @override + String get titleAppLaunchPaywall => 'Umgwaqo wokukhokha'; + + @override + String get quickActionDeleteFeedback => 'Ukususa? Sitshele ukuthi kungani!'; + + @override + String get quickActionNewChatSubtitle => 'Qala ingxoxo entsha yezempilo'; + + @override + String get quickActionFeedbackSubtitle => + 'Yabelana ngemicabango noma ubika inkinga'; + + @override + String get quickActionDeleteFeedbackSubtitle => + 'Sitshelele ukuthi uDoctorina angathuthukisa kanjani'; +} diff --git a/example/lib/src/generated/chat/chat_localization.dart b/example/lib/src/generated/chat/chat_localization.dart index 2d25cc6..697d8ba 100644 --- a/example/lib/src/generated/chat/chat_localization.dart +++ b/example/lib/src/generated/chat/chat_localization.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! import 'dart:async'; import 'package:flutter/foundation.dart'; @@ -6,18 +6,60 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; +import 'chat_localization_af.dart'; +import 'chat_localization_am.dart'; import 'chat_localization_ar.dart'; +import 'chat_localization_az.dart'; +import 'chat_localization_be.dart'; +import 'chat_localization_bg.dart'; import 'chat_localization_bn.dart'; +import 'chat_localization_ca.dart'; +import 'chat_localization_cs.dart'; +import 'chat_localization_da.dart'; import 'chat_localization_de.dart'; +import 'chat_localization_el.dart'; import 'chat_localization_en.dart'; import 'chat_localization_es.dart'; +import 'chat_localization_fa.dart'; import 'chat_localization_fr.dart'; +import 'chat_localization_gu.dart'; +import 'chat_localization_he.dart'; import 'chat_localization_hi.dart'; +import 'chat_localization_hu.dart'; +import 'chat_localization_id.dart'; import 'chat_localization_it.dart'; +import 'chat_localization_ja.dart'; +import 'chat_localization_kk.dart'; +import 'chat_localization_km.dart'; +import 'chat_localization_kn.dart'; import 'chat_localization_ko.dart'; +import 'chat_localization_lo.dart'; +import 'chat_localization_ml.dart'; +import 'chat_localization_mr.dart'; +import 'chat_localization_ms.dart'; +import 'chat_localization_my.dart'; +import 'chat_localization_ne.dart'; +import 'chat_localization_nl.dart'; +import 'chat_localization_pa.dart'; +import 'chat_localization_pl.dart'; +import 'chat_localization_ps.dart'; import 'chat_localization_pt.dart'; +import 'chat_localization_ro.dart'; import 'chat_localization_ru.dart'; +import 'chat_localization_si.dart'; +import 'chat_localization_sk.dart'; +import 'chat_localization_sw.dart'; +import 'chat_localization_ta.dart'; +import 'chat_localization_te.dart'; +import 'chat_localization_th.dart'; +import 'chat_localization_tl.dart'; +import 'chat_localization_tr.dart'; +import 'chat_localization_uk.dart'; +import 'chat_localization_ur.dart'; +import 'chat_localization_uz.dart'; +import 'chat_localization_vi.dart'; import 'chat_localization_zh.dart'; +import 'chat_localization_zu.dart'; // ignore_for_file: type=lint @@ -105,28 +147,67 @@ abstract class ChatLocalization { /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ + Locale('af'), + Locale('am'), Locale('ar'), + Locale('ar', 'EG'), + Locale('az'), + Locale('be'), + Locale('bg'), Locale('bn'), + Locale('ca'), + Locale('cs'), + Locale('da'), Locale('de'), + Locale('el'), Locale('en'), Locale('es'), + Locale('fa'), Locale('fr'), + Locale('gu'), + Locale('he'), Locale('hi'), + Locale('hu'), + Locale('id'), Locale('it'), + Locale('ja'), + Locale('kk'), + Locale('km'), + Locale('kn'), Locale('ko'), + Locale('lo'), + Locale('ml'), + Locale('mr'), + Locale('ms'), + Locale('my'), + Locale('ne'), + Locale('nl'), + Locale('pa'), + Locale('pa', 'PK'), + Locale('pl'), + Locale('ps'), Locale('pt'), Locale('pt', 'BR'), + Locale('ro'), Locale('ru'), + Locale('si'), + Locale('sk'), + Locale('sw'), + Locale('ta'), + Locale('te'), + Locale('th'), + Locale('tl'), + Locale('tr'), + Locale('uk'), + Locale('ur'), + Locale('uz'), + Locale('vi'), Locale('zh'), - Locale('zh', 'CN') + Locale('zh', 'CN'), + Locale('zh', 'HK'), + Locale('zu') ]; - /// No description provided for @title. - /// - /// In en, this message translates to: - /// **'Chat'** - String get title; - /// No description provided for @drawerTooltipNotifications. /// /// In en, this message translates to: @@ -181,7 +262,7 @@ abstract class ChatLocalization { /// **'Chats'** String get drawerSectionTitleChats; - /// No description provided for @drawerSectionChatHistory. + /// История чатов, имеется ввиду список чатов пользователя /// /// In en, this message translates to: /// **'Chat History'** @@ -295,6 +376,30 @@ abstract class ChatLocalization { /// **'App version:'** String get drawerTooltipVersion; + /// Заголовок секции недавних чатов в боковом меню + /// + /// In en, this message translates to: + /// **'Recent Chats'** + String get drawerSectionRecentChats; + + /// Плейсхолдер профиля в боковом меню + /// + /// In en, this message translates to: + /// **'Profile'** + String get drawerPlaceholderProfile; + + /// Плейсхолдер недавнего чата в боковом меню + /// + /// In en, this message translates to: + /// **'Recent chat'** + String get drawerPlaceholderRecentChat; + + /// Заголовок секции скачивания приложений в боковом меню + /// + /// In en, this message translates to: + /// **'Download Apps'** + String get drawerSectionDownloadApps; + /// Подсказка в поле ввода чата /// /// In en, this message translates to: @@ -307,12 +412,18 @@ abstract class ChatLocalization { /// **'Attach file'** String get chatInputTooltipAttachFile; - /// No description provided for @chatInputTooltipDictateMessage. + /// Надиктовать голосовое сообщение /// /// In en, this message translates to: - /// **'Dictate message'** + /// **'Dictate'** String get chatInputTooltipDictateMessage; + /// Закончить запись голосового сообщения и распознать в текст + /// + /// In en, this message translates to: + /// **'Finish & Transcribe'** + String get chatInputTooltipDictateFinishMessage; + /// No description provided for @chatInputTooltipSendMessage. /// /// In en, this message translates to: @@ -391,6 +502,12 @@ abstract class ChatLocalization { /// **'New chat'** String get chatActionButtonTooltipNewChat; + /// No description provided for @chatActionButtonNewChat. + /// + /// In en, this message translates to: + /// **'Chat'** + String get chatActionButtonNewChat; + /// No description provided for @chatActionButtonTooltipChatList. /// /// In en, this message translates to: @@ -421,7 +538,7 @@ abstract class ChatLocalization { /// **'Create new chat'** String get chatButtonCreateNewChat; - /// No description provided for @chatContextMenuCopyMessage. + /// Контекстное меню "скопировать текст сообщения" /// /// In en, this message translates to: /// **'Copy text'** @@ -431,13 +548,14 @@ abstract class ChatLocalization { /// о том что ответ задерживается. ⚠️⚠️⚠️ /// /// In en, this message translates to: - /// **'Typing...\nJust a moment...'** + /// **'Typing\nJust a moment'** String get chatStatusProcessingMessages; - /// No description provided for @chatNoConnectionLabel. + /// ⚠️⚠️⚠️ Каждая новая строка - следующее сообщение, + /// о том что интернета все еще нет. ⚠️⚠️⚠️ /// /// In en, this message translates to: - /// **'Please check your internet connection'** + /// **'Updating...\nPlease check your internet connection'** String get chatNoConnectionLabel; /// No description provided for @chatErrorMessageAlreadyProcessed. @@ -470,6 +588,12 @@ abstract class ChatLocalization { /// **'Export to PDF'** String get chatActionButtonTooltipExportSummary; + /// No description provided for @chatActionExportToPdfTitle. + /// + /// In en, this message translates to: + /// **'PDF'** + String get chatActionExportToPdfTitle; + /// Надпись в меню для выбора из галлереи /// /// In en, this message translates to: @@ -488,6 +612,12 @@ abstract class ChatLocalization { /// **'Files'** String get chatPickerFiles; + /// Надпись в меню для выбора фотографий и файлов + /// + /// In en, this message translates to: + /// **'Photos and Files'** + String get chatPickerPhotosFiles; + /// No description provided for @chatRecommendationYIAG. /// /// In en, this message translates to: @@ -500,12 +630,6 @@ abstract class ChatLocalization { /// **'Yes, it\'s all good!'** String get chatRecommendationButtonDonate; - /// No description provided for @chatHistoryTitle. - /// - /// In en, this message translates to: - /// **'Chat History'** - String get chatHistoryTitle; - /// No description provided for @failedToRetrieveChatSummary. /// /// In en, this message translates to: @@ -517,6 +641,668 @@ abstract class ChatLocalization { /// In en, this message translates to: /// **'Chat summary copied to clipboard'** String get chatSummaryCopiedToClipboard; + + /// Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба + /// + /// In en, this message translates to: + /// **'Try Doctorina in the mobile app!'** + String get tryDoctorinaInTheMobileApp; + + /// Лейбл как часть надписи "Download on the App Store", должен быть емким, чтоб помещаться в кнопку. + /// + /// In en, this message translates to: + /// **'Download on the'** + String get getAppStoreLogoLabel; + + /// Лейбл как часть надписи "GET IT ON Google Play", должен быть емким, чтоб помещаться в кнопку. + /// + /// In en, this message translates to: + /// **'GET IT ON'** + String get getGooglePlayLogoLabel; + + /// Подсказка к кнопке "Download on the App Store" + /// + /// In en, this message translates to: + /// **'Download on the App Store'** + String get getAppStoreLogoTooltip; + + /// Подсказка к кнопке "Get it on Google Play" + /// + /// In en, this message translates to: + /// **'Get it on Google Play'** + String get getGooglePlayLogoTooltip; + + /// Заголовок диалога жалобы на сообщение + /// + /// In en, this message translates to: + /// **'Report Message'** + String get reportMessageDialogTitle; + + /// Диалог жалобы на сообщение, текст вопроса + /// + /// In en, this message translates to: + /// **'Why are you reporting this message?'** + String get reportMessageDialogSubtitle; + + /// Хинт поля ввода в диалоге жалобы на сообщение + /// + /// In en, this message translates to: + /// **'Optional: Describe what\'s wrong with this message...'** + String get reportMessageDialogTextFieldHint; + + /// Диалог жалобы на сообщение, почему это важно + /// + /// In en, this message translates to: + /// **'This will help us improve our AI responses.'** + String get reportMessageDialogWhyImportant; + + /// Диалог жалобы на сообщение, кнопка отмены + /// + /// In en, this message translates to: + /// **'Cancel'** + String get reportMessageDialogCancelButton; + + /// Диалог жалобы на сообщение, кнопка отправить жалобу + /// + /// In en, this message translates to: + /// **'Report'** + String get reportMessageDialogReportButton; + + /// Снэкбар об успешной отправке жалобы + /// + /// In en, this message translates to: + /// **'Thank you for your feedback! Report has been submitted.'** + String get reportMessageSnackbarSuccess; + + /// Снэкбар о не успешной отправке жалобы + /// + /// In en, this message translates to: + /// **'Failed to submit report'** + String get reportMessageSnackbarFailed; + + /// Снэкбар об успешном копировании в буфер обмена + /// + /// In en, this message translates to: + /// **'Copied to clipboard'** + String get copyMessageSnackbarSuccess; + + /// Снэкбар о не успешном копировании в буфер обмена + /// + /// In en, this message translates to: + /// **'Failed to copy message'** + String get copyMessageSnackbarFailed; + + /// Контекстное меню "пожаловаться на сообщение" + /// + /// In en, this message translates to: + /// **'Report Message'** + String get chatContextMenuReportMessage; + + /// No description provided for @chatDropZoneTitle. + /// + /// In en, this message translates to: + /// **'Upload to the Doctorina chat'** + String get chatDropZoneTitle; + + /// No description provided for @chatDropZoneSubtitle. + /// + /// In en, this message translates to: + /// **'Drag and drop files here to add to chat'** + String get chatDropZoneSubtitle; + + /// No description provided for @chatDropZoneText. + /// + /// In en, this message translates to: + /// **'You can add up to 15 files to one message'** + String get chatDropZoneText; + + /// Текст предлагающий пользователю включить пуш уведомления + /// + /// In en, this message translates to: + /// **'Would you like me to notify you if something important comes up about your health?'** + String get notificationBannerText; + + /// Кнопка разрешающая включить уведомления + /// + /// In en, this message translates to: + /// **'Yes, notify me'** + String get notificationBannerButtonEnable; + + /// Кнопка временно скрывающая баннер запроса пуш уведомлений + /// + /// In en, this message translates to: + /// **'Maybe later'** + String get notificationBannerButtonDisable; + + /// Кнопка временно скрывающая баннер запроса пуш уведомлений + /// + /// In en, this message translates to: + /// **'Close'** + String get notificationBannerButtonClose; + + /// Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы + /// + /// In en, this message translates to: + /// **'Notifications are blocked at the system level. Enable them in system settings before activating Doctorina’s notifications.'** + String get notificationAreBlockedSystem; + + /// Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера + /// + /// In en, this message translates to: + /// **'Notifications are blocked at the system level. Enable them in browser settings before activating Doctorina’s notifications.'** + String get notificationAreBlockedBrowser; + + /// Title for notification dialog + /// + /// In en, this message translates to: + /// **'Stay updated about your consultation'** + String get notificationDialogTitle; + + /// Description for notification dialog + /// + /// In en, this message translates to: + /// **'Doctorina can notify you when new insights or updates about your health are available.'** + String get notificationDialogDescription; + + /// Title for button to enable notifications + /// + /// In en, this message translates to: + /// **'Enable notifications'** + String get notificationDialogEnableButton; + + /// Title for button to skip enable notifications + /// + /// In en, this message translates to: + /// **'Maybe later'** + String get notificationDialogLaterButton; + + /// Соглашение на обработку персональных данных. + /// В тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках. + /// + /// In en, this message translates to: + /// **'By continuing you consenting to the processing of personal data, the use of cookies, agree to the terms and conditions, and acknowledge the

privacy policy

. Also you acknowledging that your consultation is with an AI and not a licensed medical professional'** + String get termsAndConditionBannerText; + + /// Tooltip for dimiss banner + /// + /// In en, this message translates to: + /// **'Dismiss'** + String get termsAndConditionBannerDismissTooltip; + + /// When anon users tries to create new chat, they would get warning dialog that they would lose chat history + /// + /// In en, this message translates to: + /// **'Save this chat first?'** + String get anonUserNewChatCreationWarningTitle; + + /// When anon users tries to create new chat, they would get warning dialog that they would lose chat history + /// + /// In en, this message translates to: + /// **'Sign up for free to save this consultation before starting a new one'** + String get anonUserNewChatCreationWarningText; + + /// When anon users tries to create new chat, they would get warning dialog that they would lose chat history + /// + /// In en, this message translates to: + /// **'Start without saving'** + String get anonUserNewChatCreationWarningContinueBtn; + + /// When anon users tries to create new chat, they would get warning dialog that they would lose chat history + /// + /// In en, this message translates to: + /// **'Sign up'** + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn; + + /// Message shown when chat input is blocked, prompting user to choose an option + /// + /// In en, this message translates to: + /// **'To continue the conversation, choose an option above'** + String get inputBlockerContinueMessage; + + /// Tooltip for dimiss banner + /// + /// In en, this message translates to: + /// **'Close'** + String get chatServerDialogCloseBtnTooltip; + + /// Tooltip for remove attachment button on attachment card/chip + /// + /// In en, this message translates to: + /// **'Remove attachment'** + String get chatAttachmentRemoveTooltip; + + /// Error when picking files from drop zone fails + /// + /// In en, this message translates to: + /// **'Failed to pick files from drop zone'** + String get chatAttachmentErrorPickFilesDropZone; + + /// Error when sending with empty message and no attachments + /// + /// In en, this message translates to: + /// **'Please enter a message or attach a file'** + String get chatAttachmentErrorEnterMessageOrAttach; + + /// Error when send is pressed while uploads are in progress + /// + /// In en, this message translates to: + /// **'Please wait for uploads to complete'** + String get chatAttachmentErrorWaitForUploads; + + /// Error when message is already being processed + /// + /// In en, this message translates to: + /// **'Message is being processed'** + String get chatAttachmentErrorMessageProcessing; + + /// Error when message exceeds max length + /// + /// In en, this message translates to: + /// **'Message is too long'** + String get chatAttachmentErrorMessageTooLong; + + /// Send button tooltip when message is already being processed + /// + /// In en, this message translates to: + /// **'The message is already being processed right now.'** + String get chatAttachmentErrorMessageAlreadyProcessing; + + /// Error when connection is permanently closed + /// + /// In en, this message translates to: + /// **'The connection is permanently closed'** + String get chatAttachmentErrorConnectionClosed; + + /// Error when there is no connection to server + /// + /// In en, this message translates to: + /// **'No connection to server'** + String get chatAttachmentErrorNoConnection; + + /// Error when file picker fails + /// + /// In en, this message translates to: + /// **'Failed to pick files'** + String get chatAttachmentErrorPickFiles; + + /// Error when image picker fails + /// + /// In en, this message translates to: + /// **'Failed to pick images'** + String get chatAttachmentErrorPickImages; + + /// Error when camera capture fails + /// + /// In en, this message translates to: + /// **'Failed to capture photo from camera'** + String get chatAttachmentErrorCapturePhoto; + + /// Error when attachment limit is reached at pick + /// + /// In en, this message translates to: + /// **'You can attach up to {count} files at once.'** + String chatAttachmentErrorMaxFiles(int count); + + /// Tooltip for clear recognized text button + /// + /// In en, this message translates to: + /// **'Clear recognized text'** + String get chatInputTooltipClearRecognizedText; + + /// Send button tooltip when message is too long + /// + /// In en, this message translates to: + /// **'Message is too long.'** + String get chatInputTooltipMessageTooLong; + + /// Send button tooltip when uploads are pending + /// + /// In en, this message translates to: + /// **'Please wait for uploads to complete.'** + String get chatInputTooltipWaitForUploads; + + /// PickerException: file already attached (merge duplicate) + /// + /// In en, this message translates to: + /// **'The {kind} \"{name}\" is already attached and was not added again.'** + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name); + + /// PickerException: file is duplicate of existing + /// + /// In en, this message translates to: + /// **'The {kind} \"{name}\" is a duplicate of {exist} and was not added.'** + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist); + + /// PickerException: limit exceeded when adding file + /// + /// In en, this message translates to: + /// **'The {kind} \"{name}\" was not added because the maximum number of attachments has been exceeded.'** + String chatAttachmentErrorMergeLimit(String kind, String name); + + /// Snackbar: file is empty (with name) + /// + /// In en, this message translates to: + /// **'The file \"{name}\" is empty.'** + String chatAttachmentErrorFileEmptyWithName(String name); + + /// Snackbar: file is empty + /// + /// In en, this message translates to: + /// **'The file is empty.'** + String get chatAttachmentErrorFileEmpty; + + /// Snackbar: file exceeds max size (with name) + /// + /// In en, this message translates to: + /// **'The file \"{name}\" exceeds the maximum allowed size.'** + String chatAttachmentErrorFileSizeWithName(String name); + + /// Snackbar: file exceeds max size + /// + /// In en, this message translates to: + /// **'The file exceeds the maximum allowed size.'** + String get chatAttachmentErrorFileSize; + + /// Snackbar: error processing file (with name) + /// + /// In en, this message translates to: + /// **'An error occurred while processing the file \"{name}\".'** + String chatAttachmentErrorFileProcessingWithName(String name); + + /// Snackbar: error processing file + /// + /// In en, this message translates to: + /// **'An error occurred while processing the file.'** + String get chatAttachmentErrorFileProcessing; + + /// Snackbar: file not added, limit exceeded (with name) + /// + /// In en, this message translates to: + /// **'The file \"{name}\" was not added because the maximum number of attachments has been exceeded.'** + String chatAttachmentErrorFileLimitWithName(String name); + + /// Snackbar: multiple files not added, limit exceeded + /// + /// In en, this message translates to: + /// **'A file(s) was not added because the maximum number of attachments has been exceeded.'** + String get chatAttachmentErrorFileLimitMultiple; + + /// Snackbar: one file not added, limit exceeded + /// + /// In en, this message translates to: + /// **'A file was not added because the maximum number of attachments has been exceeded.'** + String get chatAttachmentErrorFileLimitSingle; + + /// Snackbar: file without name + /// + /// In en, this message translates to: + /// **'A file without a name was attempted to be added.'** + String get chatAttachmentErrorFileMissingName; + + /// Snackbar: unsupported extension (with name) + /// + /// In en, this message translates to: + /// **'A file with an unsupported extension was attempted to be added: \"{name}\".'** + String chatAttachmentErrorFileExtensionWithName(String name); + + /// Snackbar: unsupported extension + /// + /// In en, this message translates to: + /// **'A file with an unsupported extension was attempted to be added.'** + String get chatAttachmentErrorFileExtension; + + /// Snackbar: impossible to add file + /// + /// In en, this message translates to: + /// **'Impossible to add a file.'** + String get chatAttachmentErrorFileNull; + + /// Snackbar: file invalid (with name) + /// + /// In en, this message translates to: + /// **'The file \"{name}\" is invalid and cannot be added.'** + String chatAttachmentErrorFileInvalidWithName(String name); + + /// Snackbar: file invalid + /// + /// In en, this message translates to: + /// **'A file is invalid and cannot be added.'** + String get chatAttachmentErrorFileInvalid; + + /// Snackbar: item not valid file (with name) + /// + /// In en, this message translates to: + /// **'The item \"{name}\" is not a valid file.'** + String chatAttachmentErrorItemNotFileWithName(String name); + + /// Snackbar: item not valid file + /// + /// In en, this message translates to: + /// **'An item is not a valid file.'** + String get chatAttachmentErrorItemNotFile; + + /// Snackbar: error processing item (single) + /// + /// In en, this message translates to: + /// **'An error occurred while processing an item.'** + String get chatAttachmentErrorItemProcessingSingle; + + /// Snackbar: error processing items (multiple) + /// + /// In en, this message translates to: + /// **'An error occurred while processing an item(s).'** + String get chatAttachmentErrorItemProcessingMultiple; + + /// Snackbar: no files added + /// + /// In en, this message translates to: + /// **'No files were added.'** + String get chatAttachmentErrorNoFiles; + + /// Snackbar: files skipped as duplicates + /// + /// In en, this message translates to: + /// **'Some files were skipped due to duplicates with existing files.'** + String get chatAttachmentErrorFileDuplicates; + + /// Snackbar: unknown error + /// + /// In en, this message translates to: + /// **'An unknown error occurred.'** + String get chatAttachmentErrorUnknown; + + /// Snackbar header when multiple attach errors + /// + /// In en, this message translates to: + /// **'The following errors occurred while attaching files:'** + String get chatAttachmentErrorSnackbarHeader; + + /// Attachment preview: share failed + /// + /// In en, this message translates to: + /// **'Failed to share file: {error}'** + String chatAttachmentPreviewErrorShare(String error); + + /// Attachment preview app bar close button + /// + /// In en, this message translates to: + /// **'Close'** + String get chatAttachmentPreviewTooltipClose; + + /// Attachment preview app bar share button + /// + /// In en, this message translates to: + /// **'Share'** + String get chatAttachmentPreviewTooltipShare; + + /// Attachment preview loading state + /// + /// In en, this message translates to: + /// **'Loading file...'** + String get chatAttachmentPreviewLoading; + + /// Attachment preview error state title + /// + /// In en, this message translates to: + /// **'Failed to load file'** + String get chatAttachmentPreviewErrorLoad; + + /// Attachment preview error fallback + /// + /// In en, this message translates to: + /// **'Unknown error occurred'** + String get chatAttachmentPreviewErrorUnknown; + + /// Attachment preview retry button + /// + /// In en, this message translates to: + /// **'Retry'** + String get chatAttachmentPreviewButtonRetry; + + /// Attachment preview unsupported type title + /// + /// In en, this message translates to: + /// **'Unsupported file type'** + String get chatAttachmentPreviewUnsupportedType; + + /// Attachment preview cannot preview content type + /// + /// In en, this message translates to: + /// **'Cannot preview {contentType}'** + String chatAttachmentPreviewCannotPreview(String contentType); + + /// Attachment preview share file button + /// + /// In en, this message translates to: + /// **'Share File'** + String get chatAttachmentPreviewButtonShareFile; + + /// Attachment preview image display failed + /// + /// In en, this message translates to: + /// **'Failed to display image'** + String get chatAttachmentPreviewErrorImage; + + /// Attachment preview reset zoom FAB + /// + /// In en, this message translates to: + /// **'Reset zoom'** + String get chatAttachmentPreviewTooltipResetZoom; + + /// Attachment preview PDF load failed + /// + /// In en, this message translates to: + /// **'Failed to load PDF'** + String get chatAttachmentPreviewErrorPdf; + + /// Attachment preview text decode failed + /// + /// In en, this message translates to: + /// **'Failed to decode text content.'** + String get chatAttachmentPreviewErrorDecodeText; + + /// Snackbar: N more errors + /// + /// In en, this message translates to: + /// **'And {count} more errors.'** + String chatAttachmentErrorSnackbarMore(int count); + + /// Attachment preview: file malformed + /// + /// In en, this message translates to: + /// **'File is malformed'** + String get chatAttachmentPreviewFileMalformed; + + /// Title "Consent Required" + /// + /// In en, this message translates to: + /// **'Consent Required'** + String get chatConsentRequiredTitle; + + /// Text of "Privacy policy" and "Terms and Conditions" + /// + /// In en, this message translates to: + /// **'By continuing, you agree to our Terms, Privacy Policy, and use of cookies, and confirm that this consultation is provided by AI, not a licensed medical professional.'** + String get chatConsentRequiredText; + + /// Tooltip for button close "Consent Required" + /// + /// In en, this message translates to: + /// **'Close'** + String get chatConsentRequiredCloseTooltip; + + /// Popup menu button + /// + /// In en, this message translates to: + /// **'Delete'** + String get chatHistoryDelete; + + /// Popup menu button + /// + /// In en, this message translates to: + /// **'Delete chat'** + String get chatDelete; + + /// Snack bar message for successfully deleted chat + /// + /// In en, this message translates to: + /// **'Chat “{title}” deleted successfully.'** + String chatHistoryDeletedSnackbarSuccess(String title); + + /// Заголовок модального окна подтверждения удаления чата + /// + /// In en, this message translates to: + /// **'Delete chat?'** + String get chatDeleteConfirmationTitle; + + /// Текст модального окна подтверждения удаления чата + /// + /// In en, this message translates to: + /// **'Your symptoms, diagnosis summary, and any recommendations in this chat will be removed.\nThis action can\'t be undone.'** + String get chatDeleteConfirmationSubtitle; + + /// Tooltip for zoom in button in preview attachment screen + /// + /// In en, this message translates to: + /// **'Zoom In'** + String get chatAttachmentPreviewZoomInTooltip; + + /// No description provided for @chatAttachmentPreviewZoomOutTooltip. + /// + /// In en, this message translates to: + /// **'Zoom Out'** + String get chatAttachmentPreviewZoomOutTooltip; + + /// No description provided for @chatAttachmentPreviewZoomResetTooltip. + /// + /// In en, this message translates to: + /// **'Reset Zoom'** + String get chatAttachmentPreviewZoomResetTooltip; + + /// No description provided for @chatAttachmentPreviewShareTooltip. + /// + /// In en, this message translates to: + /// **'Share'** + String get chatAttachmentPreviewShareTooltip; + + /// Запись даты "сегодня" + /// + /// In en, this message translates to: + /// **'Today'** + String get dateToday; + + /// Запись даты "вчера" + /// + /// In en, this message translates to: + /// **'Yesterday'** + String get dateYesterday; + + /// Уведомление в предпросмотре вложения, если документ показан как превью первой страницы + /// + /// In en, this message translates to: + /// **'First page only. Use Share to download the full file.'** + String get chatAttachmentPreviewDocumentNotice; } class _ChatLocalizationDelegate @@ -530,18 +1316,60 @@ class _ChatLocalizationDelegate @override bool isSupported(Locale locale) => [ + 'af', + 'am', 'ar', + 'az', + 'be', + 'bg', 'bn', + 'ca', + 'cs', + 'da', 'de', + 'el', 'en', 'es', + 'fa', 'fr', + 'gu', + 'he', 'hi', + 'hu', + 'id', 'it', + 'ja', + 'kk', + 'km', + 'kn', 'ko', + 'lo', + 'ml', + 'mr', + 'ms', + 'my', + 'ne', + 'nl', + 'pa', + 'pl', + 'ps', 'pt', + 'ro', 'ru', - 'zh' + 'si', + 'sk', + 'sw', + 'ta', + 'te', + 'th', + 'tl', + 'tr', + 'uk', + 'ur', + 'uz', + 'vi', + 'zh', + 'zu' ].contains(locale.languageCode); @override @@ -551,6 +1379,22 @@ class _ChatLocalizationDelegate ChatLocalization lookupChatLocalization(Locale locale) { // Lookup logic when language+country codes are specified. switch (locale.languageCode) { + case 'ar': + { + switch (locale.countryCode) { + case 'EG': + return ChatLocalizationArEg(); + } + break; + } + case 'pa': + { + switch (locale.countryCode) { + case 'PK': + return ChatLocalizationPaPk(); + } + break; + } case 'pt': { switch (locale.countryCode) { @@ -564,6 +1408,8 @@ ChatLocalization lookupChatLocalization(Locale locale) { switch (locale.countryCode) { case 'CN': return ChatLocalizationZhCn(); + case 'HK': + return ChatLocalizationZhHk(); } break; } @@ -571,30 +1417,114 @@ ChatLocalization lookupChatLocalization(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { + case 'af': + return ChatLocalizationAf(); + case 'am': + return ChatLocalizationAm(); case 'ar': return ChatLocalizationAr(); + case 'az': + return ChatLocalizationAz(); + case 'be': + return ChatLocalizationBe(); + case 'bg': + return ChatLocalizationBg(); case 'bn': return ChatLocalizationBn(); + case 'ca': + return ChatLocalizationCa(); + case 'cs': + return ChatLocalizationCs(); + case 'da': + return ChatLocalizationDa(); case 'de': return ChatLocalizationDe(); + case 'el': + return ChatLocalizationEl(); case 'en': return ChatLocalizationEn(); case 'es': return ChatLocalizationEs(); + case 'fa': + return ChatLocalizationFa(); case 'fr': return ChatLocalizationFr(); + case 'gu': + return ChatLocalizationGu(); + case 'he': + return ChatLocalizationHe(); case 'hi': return ChatLocalizationHi(); + case 'hu': + return ChatLocalizationHu(); + case 'id': + return ChatLocalizationId(); case 'it': return ChatLocalizationIt(); + case 'ja': + return ChatLocalizationJa(); + case 'kk': + return ChatLocalizationKk(); + case 'km': + return ChatLocalizationKm(); + case 'kn': + return ChatLocalizationKn(); case 'ko': return ChatLocalizationKo(); + case 'lo': + return ChatLocalizationLo(); + case 'ml': + return ChatLocalizationMl(); + case 'mr': + return ChatLocalizationMr(); + case 'ms': + return ChatLocalizationMs(); + case 'my': + return ChatLocalizationMy(); + case 'ne': + return ChatLocalizationNe(); + case 'nl': + return ChatLocalizationNl(); + case 'pa': + return ChatLocalizationPa(); + case 'pl': + return ChatLocalizationPl(); + case 'ps': + return ChatLocalizationPs(); case 'pt': return ChatLocalizationPt(); + case 'ro': + return ChatLocalizationRo(); case 'ru': return ChatLocalizationRu(); + case 'si': + return ChatLocalizationSi(); + case 'sk': + return ChatLocalizationSk(); + case 'sw': + return ChatLocalizationSw(); + case 'ta': + return ChatLocalizationTa(); + case 'te': + return ChatLocalizationTe(); + case 'th': + return ChatLocalizationTh(); + case 'tl': + return ChatLocalizationTl(); + case 'tr': + return ChatLocalizationTr(); + case 'uk': + return ChatLocalizationUk(); + case 'ur': + return ChatLocalizationUr(); + case 'uz': + return ChatLocalizationUz(); + case 'vi': + return ChatLocalizationVi(); case 'zh': return ChatLocalizationZh(); + case 'zu': + return ChatLocalizationZu(); } throw FlutterError( diff --git a/example/lib/src/generated/chat/chat_localization_af.dart b/example/lib/src/generated/chat/chat_localization_af.dart new file mode 100644 index 0000000..e61928a --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_af.dart @@ -0,0 +1,643 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Afrikaans (`af`). +class ChatLocalizationAf extends ChatLocalization { + ChatLocalizationAf([String locale = 'af']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Kennisgewings'; + + @override + String get drawerTooltipHelp => 'Help'; + + @override + String get drawerTooltipClose => 'Sluit'; + + @override + String get drawerSectionTitleAccount => 'Rekening'; + + @override + String get drawerSectionProfile => 'Profiel'; + + @override + String get drawerSectionAccountSettings => 'Rekeninginstellings'; + + @override + String get drawerSectionDonateToSupport => 'Dona om te ondersteun'; + + @override + String get drawerSectionSubscription => 'Intekening'; + + @override + String get drawerSectionTitleChats => 'Geselsies'; + + @override + String get drawerSectionChatHistory => 'Kletsgeskiedenis'; + + @override + String get drawerSectionAttachedDocuments => 'Aangehegte Dokumente'; + + @override + String get drawerSectionTitleHowToUse => 'Hoe om te gebruik'; + + @override + String get drawerSectionVideoTutorials => 'Video Tutorials'; + + @override + String get drawerSectionTitleLegal => 'Regshulp'; + + @override + String get drawerSectionContactUs => 'Kontak Ons'; + + @override + String get drawerSectionBugReport => 'Foutverslag'; + + @override + String get drawerSectionTermsAndConditions => 'Voorwaardes'; + + @override + String get drawerSectionPrivacyPolicy => 'Privaatheidsbeleid'; + + @override + String get drawerSectionTitleFeedback => 'Terugvoer'; + + @override + String get drawerSectionRateApp => 'Bepaal App'; + + @override + String get drawerSectionShareWithFriends => 'Deel met Vriende'; + + @override + String get drawerButtonLogOut => 'Teken uit'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Help ander mense om mediese sorg te ontvang'; + + @override + String get drawerPlaceholderUser => 'User'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Premium Kenmerke\nmet Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Kry'; + + @override + String get drawerLabelJoinUs => 'Sluit by ons'; + + @override + String get drawerTooltipVersion => 'App weergawe:'; + + @override + String get drawerSectionRecentChats => 'Onlangse Klets'; + + @override + String get drawerPlaceholderProfile => 'Profiel'; + + @override + String get drawerPlaceholderRecentChat => 'Onlangse gesprek'; + + @override + String get drawerSectionDownloadApps => 'Laai Apps Af'; + + @override + String get chatInputHintEnterMessage => 'Voer boodskap in'; + + @override + String get chatInputTooltipAttachFile => 'Heg file'; + + @override + String get chatInputTooltipDictateMessage => 'Dikte'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Voltooi & Transkribeer'; + + @override + String get chatInputTooltipSendMessage => 'Stuur boodskap'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Kon nie boodskappe verkry nie'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Kon nie boodskappe verkry nie. Probeer asseblief weer.'; + + @override + String get chatListTooltipFetchMessages => 'Laai boodskappe af'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Geen boodskappe beskikbaar nie. Stuur asseblief \'n boodskap om die gesprek te begin.'; + + @override + String get chatListHasConnection => 'Gekonnekte'; + + @override + String get chatListNoConnection => 'Geen verbinding'; + + @override + String get chatActionButtonTooltipSearch => 'Soek'; + + @override + String get chatActionButtonTooltipFavorites => 'Gunstelinge'; + + @override + String get chatActionButtonTooltipDownload => 'Aflaai'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Druk PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Deel met Vriende'; + + @override + String get chatActionButtonTooltipNewChat => 'Nuwe gesprek'; + + @override + String get chatActionButtonNewChat => 'Klets'; + + @override + String get chatActionButtonTooltipChatList => 'Kies Klets'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Wys laai'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Geen klets beskikbaar. Verfris of skep \'n nuwe klets.'; + + @override + String get chatButtonRefreshChats => 'Verfris gesprekke'; + + @override + String get chatButtonCreateNewChat => 'Skep nuwe gesprek'; + + @override + String get chatContextMenuCopyMessage => 'Kopieer teks'; + + @override + String get chatStatusProcessingMessages => 'Tipe'; + + @override + String get chatNoConnectionLabel => 'Opdateer...'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Die boodskap word tans verwerk.'; + + @override + String get chatErrorMessageTooLong => 'Boodskap is te lank.'; + + @override + String get chatRemoveAttachmentTooltip => 'Verwyder aanhangsel'; + + @override + String get chatStatusFailedMessage => 'Kon nie boodskap verwerk nie'; + + @override + String get chatActionButtonTooltipExportSummary => 'Export na PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Foto\'s'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Lêers'; + + @override + String get chatPickerPhotosFiles => 'Foto\'s en Lêers'; + + @override + String get chatRecommendationYIAG => + 'Ek hoop dit het gehelp! Was hierdie verduideliking nuttig vir jou?'; + + @override + String get chatRecommendationButtonDonate => 'Ja, dit is alles goed!'; + + @override + String get failedToRetrieveChatSummary => + 'Kon nie geselskapopsomming verkry nie'; + + @override + String get chatSummaryCopiedToClipboard => + 'Gesprek opsomming na clipboard gekopieer'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Probeer Doctorina in die mobiele app!'; + + @override + String get getAppStoreLogoLabel => 'Laai af op die'; + + @override + String get getGooglePlayLogoLabel => 'KRY DIT OP'; + + @override + String get getAppStoreLogoTooltip => 'Laai af op die App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Kry dit op Google Play'; + + @override + String get reportMessageDialogTitle => 'Verslagboodskap'; + + @override + String get reportMessageDialogSubtitle => + 'Waarom rapporteer jy hierdie boodskap?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Opsioneel: Beskryf wat verkeerd is met hierdie boodskap...'; + + @override + String get reportMessageDialogWhyImportant => + 'Dit sal ons help om ons KI-antwoorde te verbeter.'; + + @override + String get reportMessageDialogCancelButton => 'Kanselleer'; + + @override + String get reportMessageDialogReportButton => 'Rapporteer'; + + @override + String get reportMessageSnackbarSuccess => + 'Dankie vir u terugvoer! Verslag is ingedien.'; + + @override + String get reportMessageSnackbarFailed => 'Verslag kon nie ingedien word nie'; + + @override + String get copyMessageSnackbarSuccess => 'Gekopieer na die klembord'; + + @override + String get copyMessageSnackbarFailed => 'Kon nie boodskap kopieer nie'; + + @override + String get chatContextMenuReportMessage => 'Verslagboodskap'; + + @override + String get chatDropZoneTitle => 'Laai op na die Doctorina-klets'; + + @override + String get chatDropZoneSubtitle => + 'Sleep en laat lêer hier om by die gesprek te voeg'; + + @override + String get chatDropZoneText => 'U kan tot 15 lêers aan een boodskap voeg'; + + @override + String get notificationBannerText => + 'Wil u hê ek moet u inlig as daar iets belangriks oor u gesondheid opduik?'; + + @override + String get notificationBannerButtonEnable => 'Ja, kennisge my'; + + @override + String get notificationBannerButtonDisable => 'Miskien later'; + + @override + String get notificationBannerButtonClose => 'Sluit'; + + @override + String get notificationAreBlockedSystem => + 'Kennisgewings is op stelselniveau geblokkeer. Aktiveer dit in stelselinstellings voordat jy Doctorina se kennisgewings aktiveer.'; + + @override + String get notificationAreBlockedBrowser => + 'Kennisgewings is op stelselniveau geblokkeer. Aktiveer dit in die blaaierinstellings voordat jy Doctorina se kennisgewings aktiveer.'; + + @override + String get notificationDialogTitle => 'Bly op hoogte van jou konsultasie'; + + @override + String get notificationDialogDescription => + 'Doctorina kan jou inlig wanneer nuwe insigte of opdaterings oor jou gesondheid beskikbaar is'; + + @override + String get notificationDialogEnableButton => 'Aktiveer kennisgewings'; + + @override + String get notificationDialogLaterButton => 'Miskien later'; + + @override + String get termsAndConditionBannerText => + 'Deur voort te gaan, stem u in tot die verwerking van persoonlike data, die gebruik van cookies, aanvaar u die terms and conditions en erken u die

privacy policy

. Ook erken u dat u konsultasie met \'n KI is en nie met \'n gelisensieerde mediese beroepspersoon nie'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Verwerp'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Stoor eers hierdie klets?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Teken gratis in om hierdie konsultasie te stoor voordat jy \'n nuwe begin'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Begin sonder te stoor'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Registreer'; + + @override + String get inputBlockerContinueMessage => + 'Om die gesprek voort te sit, kies \'n opsie hierbo'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Maak toe'; + + @override + String get chatAttachmentRemoveTooltip => 'Verwyder byvoeging'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Kon nie lêers van die sleepgebied kies nie'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Voer \'n boodskap in of heg \'n lêer aan'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Wag asseblief vir opgelaaide lêers om te voltooi'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Boodskap word verwerk'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Boodskap is te lank'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Die boodskap word tans verwerk.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Die verbinding is permanent gesluit'; + + @override + String get chatAttachmentErrorNoConnection => + 'Geen verbinding met die bediener'; + + @override + String get chatAttachmentErrorPickFiles => 'Kon nie lêers kies nie'; + + @override + String get chatAttachmentErrorPickImages => 'Kon nie prente kies nie'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Kon nie foto van kamera vasvang nie'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Jy kan tot $count lêers gelyktydig heg.'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'Verklaring van erkende teks'; + + @override + String get chatInputTooltipMessageTooLong => 'Boodskap is te lank.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Wag asseblief vir opgelaaide lêers om te voltooi'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Die $kind \"$name\" is reeds aangeheg en is nie weer bygevoeg nie.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Die $kind \"$name\" is \'n duplikaat van $exist en is nie bygevoeg nie.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Die $kind \"$name\" is nie bygevoeg nie omdat die maksimum aantal aanhangsels oorskry is.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Die lêer \"$name\" is leeg.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Die lêer is leeg.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Die lêer \"$name\" oorskry die maksimum toegelate grootte.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Die lêer oorskry die maksimum toegelate grootte.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Daar het \'n fout voorgekom tydens die verwerking van die lêer \"$name\"'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Daar het \'n fout voorgekom tydens die verwerking van die lêer.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Die lêer \"$name\" is nie bygevoeg nie omdat die maksimum aantal aanhangsels oorskry is.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'A file(s) was not added because the maximum number of attachments has been exceeded.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + '‘n Lêer is nie bygevoeg nie omdat die maksimum aantal byvoegings oorskry is.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Daar is \'n lêer sonder \'n naam probeer om bygevoeg te word'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return '‘$name’ is \'n lêer met \'n nie-ondersteunde uitbreiding wat probeer is om bygevoeg te word.'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Daar is \'n lêer met \'n onondersteunde uitbreiding probeer om bygevoeg te word'; + + @override + String get chatAttachmentErrorFileNull => + 'Onmoontlik om \'n lêer toe te voeg.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Die lêer \"$name\" is ongeldig en kan nie bygevoeg word nie'; + } + + @override + String get chatAttachmentErrorFileInvalid => + '‘n Lêer is ongeldig en kan nie bygevoeg word.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Die item \"$name\" is nie \'n geldige lêer nie.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + '‘n item is nie \'n geldige lêer nie.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Daar het \'n fout voorgekom tydens die verwerking van \'n item'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Daar het \'n fout voorgekom tydens die verwerking van \'n item(s)'; + + @override + String get chatAttachmentErrorNoFiles => 'Geen lêers is bygevoeg.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Sommige lêers is oorgeslaan weens duplikate met bestaande lêers.'; + + @override + String get chatAttachmentErrorUnknown => + 'Daar het \'n onbekende fout voorgekom.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Die volgende foute het voorgekom terwyl lêers aangeheg is:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Kon nie lêer deel nie: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Sluit'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Deel'; + + @override + String get chatAttachmentPreviewLoading => 'Laai lêer...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Kon nie lêer laai nie'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Onbekende fout het voorgekom'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Probeer weer'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'Onondersteunde lêertipe'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Kan nie $contentType voorsien nie'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Deel lêer'; + + @override + String get chatAttachmentPreviewErrorImage => 'Kon nie beeld vertoon nie'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Herstel zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Kon nie PDF laai nie'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Kon nie teksinhoud dekodeer nie.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'En $count meer foute.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => + 'Lêer is verkeerd geformateer'; + + @override + String get chatConsentRequiredTitle => 'Toestemming Vereis'; + + @override + String get chatConsentRequiredText => + 'Deur voort te gaan, stem jy in tot ons Voorwaardes, Privaatheidsbeleid, en gebruik van koekies, en bevestig dat hierdie konsultasie deur KI verskaf word, nie \'n gelisensieerde mediese professionele nie.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Sluit'; + + @override + String get chatHistoryDelete => 'Verwyder'; + + @override + String get chatDelete => 'Verwyder klets'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat “$title” suksesvol verwyder.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Verwyder gesprek?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Jou simptome, diagnose opsomming, en enige aanbevelings in hierdie gesprek sal verwyder word.\nHierdie aksie kan nie ongedaan gemaak word nie.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Zoom In'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Zoom Uit'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Herstel Zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Deel'; + + @override + String get dateToday => 'Vandag'; + + @override + String get dateYesterday => 'Gister'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Hierdie voorvertoning mag net die eerste bladsy wys. Laai die lêer af om die volle dokument te sien.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_am.dart b/example/lib/src/generated/chat/chat_localization_am.dart new file mode 100644 index 0000000..682cd59 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_am.dart @@ -0,0 +1,619 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Amharic (`am`). +class ChatLocalizationAm extends ChatLocalization { + ChatLocalizationAm([String locale = 'am']) : super(locale); + + @override + String get drawerTooltipNotifications => 'ማስታወቂያዎች'; + + @override + String get drawerTooltipHelp => 'እርዳታ'; + + @override + String get drawerTooltipClose => 'ዝግጅት'; + + @override + String get drawerSectionTitleAccount => 'አካውንት'; + + @override + String get drawerSectionProfile => 'ፕሮፋይል'; + + @override + String get drawerSectionAccountSettings => 'አካውንት ማስተካከያ'; + + @override + String get drawerSectionDonateToSupport => 'ድጋፍ ለማቅረብ ይስጡ'; + + @override + String get drawerSectionSubscription => 'እቅፍ'; + + @override + String get drawerSectionTitleChats => 'ውይይት'; + + @override + String get drawerSectionChatHistory => 'የውይይት ታሪክ'; + + @override + String get drawerSectionAttachedDocuments => 'የተያያዘ ሰነዶች'; + + @override + String get drawerSectionTitleHowToUse => 'እንዴት እንደሚጠቀሙ'; + + @override + String get drawerSectionVideoTutorials => 'ቪዲዮ እንቅስቃሴዎች'; + + @override + String get drawerSectionTitleLegal => 'ሕግ'; + + @override + String get drawerSectionContactUs => 'እባኮት ያነጋግሩን'; + + @override + String get drawerSectionBugReport => 'በግልጽ የተሳሳተ ይዘት'; + + @override + String get drawerSectionTermsAndConditions => 'የውል እና የአዋጅ አንቀጽ'; + + @override + String get drawerSectionPrivacyPolicy => 'የግለሰቦች የግለሰብ ደንብ'; + + @override + String get drawerSectionTitleFeedback => 'እንቅስቃሴ'; + + @override + String get drawerSectionRateApp => 'Rate App'; + + @override + String get drawerSectionShareWithFriends => 'ከጓደኞች ጋር አጋር'; + + @override + String get drawerButtonLogOut => 'ውጣ'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'ሌላውን ወይም ሌላ ሰው ወደ ሕክምና እንዲደርስ እገዛ አድርጉ'; + + @override + String get drawerPlaceholderUser => 'ተጠቃሚ'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'ፕሪምየም ባለቤት ባለው ዶክተርና'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'ግንዛቤ'; + + @override + String get drawerLabelJoinUs => 'ተቀላቅሉ እናንተ'; + + @override + String get drawerTooltipVersion => 'መለዕክት አፕሊኬሽን:'; + + @override + String get drawerSectionRecentChats => 'የቅርብ ውይይቶች'; + + @override + String get drawerPlaceholderProfile => 'ፕሮፋይል'; + + @override + String get drawerPlaceholderRecentChat => 'የቅርብ ውይይት'; + + @override + String get drawerSectionDownloadApps => 'መተግበሪያዎችን ይውሰዱ'; + + @override + String get chatInputHintEnterMessage => 'መልእክት አስገባ'; + + @override + String get chatInputTooltipAttachFile => 'ፋይል ያክሉ'; + + @override + String get chatInputTooltipDictateMessage => 'አስተያየት'; + + @override + String get chatInputTooltipDictateFinishMessage => 'ጨርስ & ትርጉም'; + + @override + String get chatInputTooltipSendMessage => 'መልእክት ላክ'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'መልእክቶችን ማውጣት አልቻልኩም'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'መልእክቶችን ማግኘት አልቻልኩም። እባኮትን ይሞክሩ ድጋፍ ይደርስ.'; + + @override + String get chatListTooltipFetchMessages => 'መልእክቶችን ይወስዱ'; + + @override + String get chatListLabelNoMessagesAvailable => + 'አንድ መልእክት የለም። ውይይት መጀመር ይችላሉ።'; + + @override + String get chatListHasConnection => 'ያገናኝ'; + + @override + String get chatListNoConnection => 'አልተገናኙም'; + + @override + String get chatActionButtonTooltipSearch => 'ፈልግ'; + + @override + String get chatActionButtonTooltipFavorites => 'የተመረጡ'; + + @override + String get chatActionButtonTooltipDownload => 'ወደ ውስጥ ይውሰዱ'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF እንደ ማቅረብ ይታይ'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'ከጓደኞች ጋር አጋር'; + + @override + String get chatActionButtonTooltipNewChat => 'አዲስ ውይይት'; + + @override + String get chatActionButtonNewChat => 'ጫት'; + + @override + String get chatActionButtonTooltipChatList => 'ውይይት ይምረጡ'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ዳር አሳይ'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'አንድ ውይይት የለም። እባኮትን ይዘምኑ ወይም አዲስ ውይይት ይፍጠሩ።'; + + @override + String get chatButtonRefreshChats => 'ወደ ውይይቶች ይቀይሩ'; + + @override + String get chatButtonCreateNewChat => 'አዲስ ውይይት ፈጥር'; + + @override + String get chatContextMenuCopyMessage => 'ጽሑፍ ይቅርታ'; + + @override + String get chatStatusProcessingMessages => 'እባክህ ገና'; + + @override + String get chatNoConnectionLabel => + 'እቅፍ እንደሚያደርግ...\nእባኮትን የኢንተርኔት ግንኙነትዎን ይፈትሹ'; + + @override + String get chatErrorMessageAlreadyProcessed => 'መልእክቱ አሁን በሂደት ላይ ነው.'; + + @override + String get chatErrorMessageTooLong => 'መልእክት በጣም 긴 ነው.'; + + @override + String get chatRemoveAttachmentTooltip => 'አባል ይወጣ'; + + @override + String get chatStatusFailedMessage => 'መልእክት ማስተካከል አልቻልኩም'; + + @override + String get chatActionButtonTooltipExportSummary => 'እንደ PDF ወደ ውስጥ ይዘው ይውሰዱ'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'ፎቶ'; + + @override + String get chatPickerCamera => 'ካሜራ'; + + @override + String get chatPickerFiles => 'ፋይል'; + + @override + String get chatPickerPhotosFiles => 'ፎቶዎች እና ፋይሎች'; + + @override + String get chatRecommendationYIAG => 'እቅፍ ይህ ይረዳዎታል! ይህ መግለጫ ይህ ይረዳዎታል?'; + + @override + String get chatRecommendationButtonDonate => 'አዎን ሁሉም ጥሩ ነው!'; + + @override + String get failedToRetrieveChatSummary => 'እቅፍ ማስታወቂያ ማግኘት አልቻልኩም'; + + @override + String get chatSummaryCopiedToClipboard => 'የውይይት ማጠቃለያ ወደ ክሊፕቦርድ ተቀይሯል'; + + @override + String get tryDoctorinaInTheMobileApp => 'እባኮትን ዶክተርኢና በሞባይል አፕ ይሞክሩ!'; + + @override + String get getAppStoreLogoLabel => 'ወደ ድርጅቱ ይግቡ'; + + @override + String get getGooglePlayLogoLabel => 'ይዘው ይሂዱ'; + + @override + String get getAppStoreLogoTooltip => 'Download on the App Store'; + + @override + String get getGooglePlayLogoTooltip => 'እባክዎ በGoogle Play ይውሰዱ'; + + @override + String get reportMessageDialogTitle => 'መረጃ ይዘው ይወዳድሩ'; + + @override + String get reportMessageDialogSubtitle => 'ለዚህ መልእክት ለምን እንደምታስተውሉ?'; + + @override + String get reportMessageDialogTextFieldHint => + 'አማራጭ: ይህን መልእክት ምን እንደሚሆን ይገልጹ...'; + + @override + String get reportMessageDialogWhyImportant => + 'This will help us improve our AI responses.'; + + @override + String get reportMessageDialogCancelButton => 'ማቋረጥ'; + + @override + String get reportMessageDialogReportButton => 'ይዘው ይወዳድሩ'; + + @override + String get reportMessageSnackbarSuccess => + 'Thank you for your feedback! Report has been submitted.'; + + @override + String get reportMessageSnackbarFailed => 'የሪፖርት ማቅረብ አልተሳካም'; + + @override + String get copyMessageSnackbarSuccess => 'በክልክል ወደ ቅርጸ ቁልፍ ተቀይሯል'; + + @override + String get copyMessageSnackbarFailed => 'መልእክት ማቅረብ አልቻልኩም'; + + @override + String get chatContextMenuReportMessage => 'መረጃ ይዘው ይወዳድሩ'; + + @override + String get chatDropZoneTitle => 'ወደ ዶክተሪና ቻት ይስጡ'; + + @override + String get chatDropZoneSubtitle => 'ወደ ውይይት ለመጨመር ፋይሎችን እዚህ ይዘልቁ'; + + @override + String get chatDropZoneText => 'እባኮትን ወደ አንድ መልዕዓት 15 ፋይሎች ይጨምሩ'; + + @override + String get notificationBannerText => + 'እባኮትን ስለ ጤናዎ አስፈላጊ ነገር እንደሚኖር እንዲያውቁኝ ይፈልጋሉ?'; + + @override + String get notificationBannerButtonEnable => 'አዎን እንደዚህ እንደሚያውቁኝ'; + + @override + String get notificationBannerButtonDisable => 'ምንም እንኳን ወዲያው ይህ ይህ ነው'; + + @override + String get notificationBannerButtonClose => 'ዝግጁ'; + + @override + String get notificationAreBlockedSystem => + 'እቅፍ በስርዓት level ውስጥ ተከልክሏል። ወደ ስርዓት ቅንብሮች ይሂዱ እና የDoctorina ማስታወቂያዎችን አንቀሳቅሱ።'; + + @override + String get notificationAreBlockedBrowser => + 'እቅፍ በስርዓት level ውስጥ ተከልክሏል። የድር መተግበሪያ በማስተካከል ውስጥ እንደ ወንጌል እንዲቀጥሉ እቅፍ ይስጡ።'; + + @override + String get notificationDialogTitle => 'ከእንቅስቃሴዎ ዝርዝር ይወቁ'; + + @override + String get notificationDialogDescription => + 'ዶክተሪና ስለ ጤናዎ አዲስ መረጃዎች ወይም እንደገና ዝርዝር ሲኖር ይነግራል።'; + + @override + String get notificationDialogEnableButton => 'እባክዎ ማስታወቂያዎችን አንቀሳቅስ'; + + @override + String get notificationDialogLaterButton => 'ምንም እንኳን ወዲያው ይህ ይህ ነው'; + + @override + String get termsAndConditionBannerText => + 'በመቀጠል በግል መረጃ ስር መሆን፣ የ cookies አጠቃቀም፣ የአገልግሎት መመሪያዎች ላይ ተስማሚ መሆን እና

የግል መረጃ ፖሊሲ

መቀበል ይጠቀማል። በተጨማሪም ምክንያትዎ ከ AI ጋር መካሄድ እና ከተፈቀደ የሕክምና ባለሞያ ጋር እንዳይሆን ይፈቀዳል'; + + @override + String get termsAndConditionBannerDismissTooltip => 'አስወግድ'; + + @override + String get anonUserNewChatCreationWarningTitle => 'ይህ ውይይት በመጀመሪያ ያስቀምጡ?'; + + @override + String get anonUserNewChatCreationWarningText => + 'አዲስ መመኪያ መጀመር በፊት ይህን ምክር ለመቆጣጠር በነፃ ይመዝገቡ'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'ሳይያስቀመጥ ጀምር'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => 'ይመዝገቡ'; + + @override + String get inputBlockerContinueMessage => 'ውይይቱን ለመቀጠል ከላይ አማራጭ ይምረጡ'; + + @override + String get chatServerDialogCloseBtnTooltip => 'ዝጋ'; + + @override + String get chatAttachmentRemoveTooltip => 'አባል እንደ ማስወግድ'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'የፋይል መረጃ ከድርብ አካባቢ ማስተናገድ አልቻልኩም'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'እባክዎ መልእክት ይጻፉ ወይም ፋይል ይጨምሩ'; + + @override + String get chatAttachmentErrorWaitForUploads => 'እባክዎ ማስታወቂያዎች ይጨርሱ'; + + @override + String get chatAttachmentErrorMessageProcessing => 'መልእክት በሂደት ላይ ነው'; + + @override + String get chatAttachmentErrorMessageTooLong => 'መልእክት በጣም ረጅም ነው'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'መልእክቱ አሁን በሂደት ላይ ነው.'; + + @override + String get chatAttachmentErrorConnectionClosed => 'መገናኛው በቀዳሚ የተዘግቷል'; + + @override + String get chatAttachmentErrorNoConnection => 'ከአገልግሎት ጋር የለውጥ አለመኖር'; + + @override + String get chatAttachmentErrorPickFiles => 'ፋይሎችን ማሰባሰብ አልቻልኩም'; + + @override + String get chatAttachmentErrorPickImages => 'የምስል መረጃ ማሰባሰብ አልቻልኩም'; + + @override + String get chatAttachmentErrorCapturePhoto => 'ከካሜራ ፎቶ ማውጣት አልተቻለም'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'እባኮትን በአንድ ጊዜ $count ፋይሎች መያዝ ይቻላል።'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'የተረጋገጠ ጽሁፍ አጽዳ'; + + @override + String get chatInputTooltipMessageTooLong => 'መልእክት በጣም ረጅም ነው.'; + + @override + String get chatInputTooltipWaitForUploads => 'እባክዎ ለማስተካከል ይጠብቁ.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'የ$kind \"$name\" እንደ ተያያዘ አስቀድሞ ተያይዞ አልተጨምረም.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" is a duplicate of $exist and was not added.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'የ$kind \"$name\" አንደኛ በመጨመር የተወሰነ ቁጥር በማለፍ አልተጨመረም.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'ፋይሉ \"$name\" ይቅርታ እንደሆነ ይታወቃል.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'ፋይሉ ያልተሞላ ነው.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'ፋይል \"$name\" የተፈቀደውን ከተገኘው ከፍተኛ መጠን ይበልጣል።'; + } + + @override + String get chatAttachmentErrorFileSize => 'ፋይሉ የተፈቀደ ከፍተኛ መጠን ይበልጥ ነው.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'በፋይሉ \"$name\" ላይ ስህተት አደረገ።'; + } + + @override + String get chatAttachmentErrorFileProcessing => 'ፋይሉን ማስተካከል ወቅታዊ ስህተት አደረገ።'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'ፋይሉ \"$name\" አልተጨምረም ምክንያቱም የተጨማሪ ፋይሎች በማለት ወርድ ተደርሷል.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ፋይል(ዎች) አልተጨምሩም ምክንያቱም የተጨማሪ ፋይል ቁጥር ተወስኗል.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'ፋይል አልተጨምረም ምክንያቱ የተጨማሪ ፋይሎች በተጠቃሚ ደረጃ ተወው ነበር።'; + + @override + String get chatAttachmentErrorFileMissingName => + 'ስም የለውም ፋይል ማከል ተሞክሮ ተደርጎ ነበር.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'የማይደገፍ እንደሆነ ፋይል ተጨማሪ ለማከል ተሞክሮ ተደርጎ ነበር: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => 'የማይደገፍ ፋይል እንደ ማስተካከያ ተገኝቷል።'; + + @override + String get chatAttachmentErrorFileNull => 'ፋይል ማከል አልቻልኩም.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'ፋይሉ \"$name\" ውስጥ የለም እና ማከል አልቻልኩም.'; + } + + @override + String get chatAttachmentErrorFileInvalid => 'ፋይል ወይም ይህ አልተቀበለም።'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'እቅፍ የለም \"$name\" የተሳካ ፋይል አይደለም.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'አንድ እቃ ትክክለኛ ፋይል አይደለም.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'አንድ እቃ ላይ ሂደት ላይ እንደተከሰተ እርምጃ ተከስቷል.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'አንድ እትም ላይ ስህተት አደረገ።'; + + @override + String get chatAttachmentErrorNoFiles => 'ፋይሎች አልተጨምሩም.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'አንዳንድ ፋይሎች ከአስቀድሞ ያሉ ፋይሎች ጋር የሚያዛዙ የተመሳሳይ ፋይሎች ምክንያት ተወው ተቀባይነት ተወው ተቀባይነት ተወው.'; + + @override + String get chatAttachmentErrorUnknown => 'ያልተቀየረ እርምጃ ተከስቷል።'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'ከፋይሎች ጋር የተያያዘ የሚኖሩ ስህተቶች እንደሚኖሩ ተነግሯል:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'ፋይል ማግኘት አልተቻለም: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'ዝግጅት'; + + @override + String get chatAttachmentPreviewTooltipShare => 'አጋራ'; + + @override + String get chatAttachmentPreviewLoading => 'ፋይል በማስተካከል ነው...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'ፋይል ማስገባት አልቻልኩም'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'ያልተቀየረ እርምጃ ተከስቷል'; + + @override + String get chatAttachmentPreviewButtonRetry => 'እንደገና ይሞክሩ'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'የተደገፈ ፋይል ዓይነት'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'አይቻልም ማስታወቂያ $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'ፋይል አጋራ'; + + @override + String get chatAttachmentPreviewErrorImage => 'ምስል ማሳያ ማድረግ አልቻልኩም'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'ዝርዝር ይቀይሩ'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF መገናኛ አልተሳካም'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'መጽሐፍ ይዘት ወይም ይዘት መረጃ ማስተካከል አልቻልኩም'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'እና $count ተጨማሪ ስህተቶች አሉ።'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'ፋይል ወይም የተሳሳተ ነው'; + + @override + String get chatConsentRequiredTitle => 'ፈቃድ ያስፈልጋል'; + + @override + String get chatConsentRequiredText => + 'በመቀጠልዎ ወደ የእንደነበር የስርዓትየግለሰቦች የደህንነት ፖሊሲ፣ እና የኩኪዎች እንደነበር ይህ ኮንስልታሽን በAI ይታወቃል፣ እና የተመዘገበ የሕክምና ሙያ ሰው አይደለም።'; + + @override + String get chatConsentRequiredCloseTooltip => 'ዝግጅት'; + + @override + String get chatHistoryDelete => 'አጥፍ'; + + @override + String get chatDelete => 'ውይይት አጥፍት'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'በተሳካ ሁኔታ የተሰረዘ ውይይት \"$title\".'; + } + + @override + String get chatDeleteConfirmationTitle => 'የቻት ማጥፊያ እቅፍ?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'የእርግጥ ምልክቶችዎ፣ የምርመራ ማጠቃለያ እና በዚህ ቻት ውስጥ ያለው ማንኛውም ምክር ይሰረዝ። ይህ እርምጃ አይታወቅም.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'ይዞም ወይም ይዞም ይዞም'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'ወደ ታች ይዘል'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'ዝርዝር ይቀይሩ'; + + @override + String get chatAttachmentPreviewShareTooltip => 'አጋራ'; + + @override + String get dateToday => 'ዛሬ'; + + @override + String get dateYesterday => 'እንቁላል'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'የመጀመሪያ ገጽ ብቻ። ሙሉ ፋይሉን ለመውረድ እባኮትን አጋር ይጠቀሙ።'; +} diff --git a/example/lib/src/generated/chat/chat_localization_ar.dart b/example/lib/src/generated/chat/chat_localization_ar.dart index 0db1ca7..5bb451e 100644 --- a/example/lib/src/generated/chat/chat_localization_ar.dart +++ b/example/lib/src/generated/chat/chat_localization_ar.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,37 +11,658 @@ class ChatLocalizationAr extends ChatLocalization { ChatLocalizationAr([String locale = 'ar']) : super(locale); @override - String get title => 'محادثة'; + String get drawerTooltipNotifications => 'الإشعارات'; @override - String get drawerTooltipNotifications => 'إشعارات'; + String get drawerTooltipHelp => 'مساعدة'; @override - String get drawerTooltipHelp => 'يساعد'; + String get drawerTooltipClose => 'إغلاق'; @override - String get drawerTooltipClose => 'يغلق'; + String get drawerSectionTitleAccount => 'الحساب'; @override - String get drawerSectionTitleAccount => 'حساب'; + String get drawerSectionProfile => 'الملف الشخصي'; @override - String get drawerSectionProfile => 'حساب تعريفي'; + String get drawerSectionAccountSettings => 'إعدادات الحساب'; + + @override + String get drawerSectionDonateToSupport => 'تبرع للدعم'; + + @override + String get drawerSectionSubscription => 'اشتراك'; + + @override + String get drawerSectionTitleChats => 'دردشات'; + + @override + String get drawerSectionChatHistory => 'سجل الدردشات'; + + @override + String get drawerSectionAttachedDocuments => 'المستندات المرفقة'; + + @override + String get drawerSectionTitleHowToUse => 'كيفية الاستخدام'; + + @override + String get drawerSectionVideoTutorials => 'دروس فيديو'; + + @override + String get drawerSectionTitleLegal => 'قانوني'; + + @override + String get drawerSectionContactUs => 'اتصل بنا'; + + @override + String get drawerSectionBugReport => 'بلاغ عن خلل'; + + @override + String get drawerSectionTermsAndConditions => 'الشروط والأحكام'; + + @override + String get drawerSectionPrivacyPolicy => 'سياسة الخصوصية'; + + @override + String get drawerSectionTitleFeedback => 'ملاحظات'; + + @override + String get drawerSectionRateApp => 'قيم التطبيق'; + + @override + String get drawerSectionShareWithFriends => 'شارك مع الأصدقاء'; + + @override + String get drawerButtonLogOut => 'تسجيل الخروج'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'ساعد الآخرين على الحصول على الرعاية الطبية'; + + @override + String get drawerPlaceholderUser => 'مستخدم'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'ميزات متميزة\nمع Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'احصل'; + + @override + String get drawerLabelJoinUs => 'انضم إلينا'; + + @override + String get drawerTooltipVersion => 'إصدار التطبيق:'; + + @override + String get drawerSectionRecentChats => 'الدردشات الأخيرة'; + + @override + String get drawerPlaceholderProfile => 'الملف الشخصي'; + + @override + String get drawerPlaceholderRecentChat => 'الدردشة الأخيرة'; + + @override + String get drawerSectionDownloadApps => 'تحميل التطبيقات'; + + @override + String get chatInputHintEnterMessage => 'أدخل الرسالة'; + + @override + String get chatInputTooltipAttachFile => 'إرفاق ملف'; + + @override + String get chatInputTooltipDictateMessage => 'أملى'; + + @override + String get chatInputTooltipDictateFinishMessage => 'إنهاء & تحويل إلى نص'; + + @override + String get chatInputTooltipSendMessage => 'أرسل رسالة'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => 'فشل في جلب الرسائل'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'فشل في جلب الرسائل. يرجى المحاولة مرة أخرى.'; + + @override + String get chatListTooltipFetchMessages => 'جلب الرسائل'; + + @override + String get chatListLabelNoMessagesAvailable => + 'لا توجد رسائل. الرجاء إرسال رسالة لبدء المحادثة.'; + + @override + String get chatListHasConnection => 'متصل'; + + @override + String get chatListNoConnection => 'لا يوجد اتصال'; + + @override + String get chatActionButtonTooltipSearch => 'بحث'; + + @override + String get chatActionButtonTooltipFavorites => 'المفضلة'; + + @override + String get chatActionButtonTooltipDownload => 'تنزيل'; + + @override + String get chatActionButtonTooltipPrintPdf => 'طباعة PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'شارك مع الأصدقاء'; + + @override + String get chatActionButtonTooltipNewChat => 'دردشة جديدة'; + + @override + String get chatActionButtonNewChat => 'دردشة'; + + @override + String get chatActionButtonTooltipChatList => 'اختر دردشة'; + + @override + String get chatActionButtonTooltipShowDrawer => 'إظهار القائمة'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'لا توجد دردشات. يرجى التحديث أو إنشاء دردشة جديدة.'; + + @override + String get chatButtonRefreshChats => 'تحديث الدردشات'; + + @override + String get chatButtonCreateNewChat => 'إنشاء دردشة جديدة'; + + @override + String get chatContextMenuCopyMessage => 'نسخ النص'; + + @override + String get chatStatusProcessingMessages => 'يكتب\nلحظة من فضلك'; + + @override + String get chatNoConnectionLabel => + 'جاري التحديث...\nيرجى التحقق من اتصالك بالإنترنت'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'يتم معالجة الرسالة بالفعل الآن.'; + + @override + String get chatErrorMessageTooLong => 'الرسالة طويلة جدًا.'; + + @override + String get chatRemoveAttachmentTooltip => 'حذف المرفق'; + + @override + String get chatStatusFailedMessage => 'فشل معالجة الرسالة'; + + @override + String get chatActionButtonTooltipExportSummary => 'تصدير إلى PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'صور'; + + @override + String get chatPickerCamera => 'كاميرا'; + + @override + String get chatPickerFiles => 'ملفات'; + + @override + String get chatPickerPhotosFiles => 'الصور والملفات'; + + @override + String get chatRecommendationYIAG => + 'أتمنى أن يكون ذلك قد أفادك! هل كان هذا الشرح مفيدًا لك؟'; + + @override + String get chatRecommendationButtonDonate => 'نعم، كل شيء على ما يرام!'; + + @override + String get failedToRetrieveChatSummary => 'فشل في استرجاع ملخص المحادثة'; + + @override + String get chatSummaryCopiedToClipboard => 'تم نسخ ملخص المحادثة إلى الحافظة'; + + @override + String get tryDoctorinaInTheMobileApp => 'جرّب Doctorina في تطبيق الجوال!'; + + @override + String get getAppStoreLogoLabel => 'تحميل على'; + + @override + String get getGooglePlayLogoLabel => 'احصل عليه'; + + @override + String get getAppStoreLogoTooltip => 'تنزيل على App Store'; + + @override + String get getGooglePlayLogoTooltip => 'احصل عليه على Google Play'; + + @override + String get reportMessageDialogTitle => 'الإبلاغ عن رسالة'; + + @override + String get reportMessageDialogSubtitle => + 'لماذا تقوم بالإبلاغ عن هذه الرسالة؟'; + + @override + String get reportMessageDialogTextFieldHint => + 'اختياري: وصف ما هو خطأ في هذه الرسالة...'; + + @override + String get reportMessageDialogWhyImportant => + 'هذا سيساعدنا في تحسين استجابات الذكاء الاصطناعي لدينا.'; + + @override + String get reportMessageDialogCancelButton => 'إلغاء'; + + @override + String get reportMessageDialogReportButton => 'تقرير'; + + @override + String get reportMessageSnackbarSuccess => + 'شكراً لملاحظاتك! تم تقديم التقرير.'; + + @override + String get reportMessageSnackbarFailed => 'فشل في تقديم التقرير'; + + @override + String get copyMessageSnackbarSuccess => 'تم النسخ إلى الحافظة'; + + @override + String get copyMessageSnackbarFailed => 'فشل في نسخ الرسالة'; + + @override + String get chatContextMenuReportMessage => 'الإبلاغ عن رسالة'; + + @override + String get chatDropZoneTitle => 'ارفع إلى دردشة دكتورينا'; + + @override + String get chatDropZoneSubtitle => + 'اسحب وأفلت الملفات هنا لإضافتها إلى الدردشة'; + + @override + String get chatDropZoneText => + 'يمكنك إضافة ما يصل إلى 15 ملفًا إلى رسالة واحدة'; + + @override + String get notificationBannerText => + 'هل ترغب في أن أخبرك إذا حدث شيء مهم يتعلق بصحتك؟'; + + @override + String get notificationBannerButtonEnable => 'نعم، أعلمني'; + + @override + String get notificationBannerButtonDisable => 'ربما لاحقًا'; + + @override + String get notificationBannerButtonClose => 'إغلاق'; + + @override + String get notificationAreBlockedSystem => + 'تم حظر الإشعارات على مستوى النظام. قم بتمكينها في إعدادات النظام قبل تفعيل إشعارات Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'تم حظر الإشعارات على مستوى النظام. قم بتمكينها في إعدادات المتصفح قبل تفعيل إشعارات Doctorina.'; + + @override + String get notificationDialogTitle => 'ابقَ على اطلاع بشأن استشارتك'; + + @override + String get notificationDialogDescription => + 'يمكن لدكتورينا إبلاغك عندما تتوفر رؤى أو تحديثات جديدة حول صحتك'; + + @override + String get notificationDialogEnableButton => 'تفعيل الإشعارات'; + + @override + String get notificationDialogLaterButton => 'ربما لاحقًا'; + + @override + String get termsAndConditionBannerText => + 'بالاستمرار، فإنك توافق على معالجة البيانات الشخصية، واستخدام cookies، وتوافق على terms and conditions، وتقر بـ

privacy policy

. كما أنك تقر بأن استشارتك تتم عبر AI وليس بواسطة أخصائي طبي مرخص'; + + @override + String get termsAndConditionBannerDismissTooltip => 'إلغاء'; + + @override + String get anonUserNewChatCreationWarningTitle => 'احفظ هذه الدردشة أولاً?'; + + @override + String get anonUserNewChatCreationWarningText => + 'اشترك مجاناً لحفظ هذه الاستشارة قبل بدء استشارة جديدة'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'ابدأ بدون حفظ'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'إنشاء حساب'; + + @override + String get inputBlockerContinueMessage => + 'للمتابعة في المحادثة، اختر خيارًا أعلاه'; + + @override + String get chatServerDialogCloseBtnTooltip => 'إغلاق'; + + @override + String get chatAttachmentRemoveTooltip => 'إزالة المرفق'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'فشل في اختيار الملفات من منطقة السحب'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'يرجى إدخال رسالة أو إرفاق ملف'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'يرجى الانتظار حتى تكتمل التحميلات'; + + @override + String get chatAttachmentErrorMessageProcessing => 'يتم معالجة الرسالة'; + + @override + String get chatAttachmentErrorMessageTooLong => 'الرسالة طويلة جداً'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'الرسالة قيد المعالجة الآن.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'تم إغلاق الاتصال بشكل دائم'; + + @override + String get chatAttachmentErrorNoConnection => 'لا يوجد اتصال بالخادم'; + + @override + String get chatAttachmentErrorPickFiles => 'فشل في اختيار الملفات'; + + @override + String get chatAttachmentErrorPickImages => 'فشل في اختيار الصور'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'فشل في التقاط صورة من الكاميرا'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'يمكنك إرفاق ما يصل إلى $count ملفًا في المرة الواحدة'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'مسح النص المعترف به'; + + @override + String get chatInputTooltipMessageTooLong => 'الرسالة طويلة جداً'; + + @override + String get chatInputTooltipWaitForUploads => + 'يرجى الانتظار حتى تكتمل التحميلات'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'ال$kind \"$name\" مرفق بالفعل ولم يتم إضافته مرة أخرى'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'الـ $kind \"$name\" هو نسخة مكررة من $exist ولم يتم إضافته'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'لم يتم إضافة $kind \"$name\" لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'الملف \"$name\" فارغ.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'الملف فارغ'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'الملف \"$name\" يتجاوز الحجم الأقصى المسموح به'; + } + + @override + String get chatAttachmentErrorFileSize => + 'الملف يتجاوز الحجم الأقصى المسموح به.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'حدث خطأ أثناء معالجة الملف \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => 'حدث خطأ أثناء معالجة الملف.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'لم يتم إضافة الملف \"$name\" لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'لم يتم إضافة ملف(ات) لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'لم يتم إضافة ملف لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'تمت محاولة إضافة ملف بدون اسم.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'تمت محاولة إضافة ملف بامتداد غير مدعوم: \"$name\"'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'تمت محاولة إضافة ملف بامتداد غير مدعوم'; + + @override + String get chatAttachmentErrorFileNull => 'من المستحيل إضافة ملف'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'الملف \"$name\" غير صالح ولا يمكن إضافته'; + } + + @override + String get chatAttachmentErrorFileInvalid => 'الملف غير صالح ولا يمكن إضافته'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'العنصر \"$name\" ليس ملفًا صالحًا'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'العنصر ليس ملفًا صالحًا'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'حدث خطأ أثناء معالجة عنصر.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'حدث خطأ أثناء معالجة عنصر (عناصر).'; + + @override + String get chatAttachmentErrorNoFiles => 'لم تتم إضافة أي ملفات'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'تم تخطي بعض الملفات بسبب تكرارها مع ملفات موجودة.'; + + @override + String get chatAttachmentErrorUnknown => 'حدث خطأ غير معروف'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'حدثت الأخطاء التالية أثناء إرفاق الملفات:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'فشل في مشاركة الملف: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'إغلاق'; + + @override + String get chatAttachmentPreviewTooltipShare => 'شارك'; + + @override + String get chatAttachmentPreviewLoading => 'جارٍ تحميل الملف...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'فشل في تحميل الملف'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'حدث خطأ غير معروف'; + + @override + String get chatAttachmentPreviewButtonRetry => 'إعادة المحاولة'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'نوع ملف غير مدعوم'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'لا يمكن معاينة $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'مشاركة الملف'; + + @override + String get chatAttachmentPreviewErrorImage => 'فشل عرض الصورة'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'إعادة ضبط التكبير'; + + @override + String get chatAttachmentPreviewErrorPdf => 'فشل تحميل PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'فشل في فك تشفير محتوى النص'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'و$count أخطاء أخرى.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'الملف غير صحيح'; + + @override + String get chatConsentRequiredTitle => 'الموافقة مطلوبة'; + + @override + String get chatConsentRequiredText => + 'بمواصلتك، فإنك توافق على الشروط وسياسة الخصوصية واستخدام الكوكيز، وتؤكد أن هذه الاستشارة مقدمة من الذكاء الاصطناعي، وليس من محترف طبي مرخص.'; + + @override + String get chatConsentRequiredCloseTooltip => 'إغلاق'; + + @override + String get chatHistoryDelete => 'حذف'; + + @override + String get chatDelete => 'حذف الدردشة'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'تم حذف الدردشة “$title” بنجاح.'; + } + + @override + String get chatDeleteConfirmationTitle => 'حذف الدردشة؟'; + + @override + String get chatDeleteConfirmationSubtitle => + 'ستتم إزالة أعراضك وملخص التشخيص وأي توصيات في هذه الدردشة.\nلا يمكن التراجع عن هذا الإجراء.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'تكبير'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'تصغير'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'إعادة تعيين التكبير'; + + @override + String get chatAttachmentPreviewShareTooltip => 'شارك'; + + @override + String get dateToday => 'اليوم'; + + @override + String get dateYesterday => 'أمس'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'الصفحة الأولى فقط. استخدم المشاركة لتنزيل الملف الكامل.'; +} + +/// The translations for Arabic, as used in Egypt (`ar_EG`). +class ChatLocalizationArEg extends ChatLocalizationAr { + ChatLocalizationArEg() : super('ar_EG'); + + @override + String get drawerTooltipNotifications => 'الإشعارات'; + + @override + String get drawerTooltipHelp => 'مساعدة'; + + @override + String get drawerTooltipClose => 'إغلاق'; + + @override + String get drawerSectionTitleAccount => 'الحساب'; + + @override + String get drawerSectionProfile => 'الملف الشخصي'; @override String get drawerSectionAccountSettings => 'إعدادات الحساب'; @override - String get drawerSectionDonateToSupport => 'تبرع لدعم'; + String get drawerSectionDonateToSupport => 'تبرع للدعم'; @override - String get drawerSectionSubscription => 'الاشتراك'; + String get drawerSectionSubscription => 'اشتراك'; @override - String get drawerSectionTitleChats => 'الدردشات'; + String get drawerSectionTitleChats => 'دردشات'; @override - String get drawerSectionChatHistory => 'سجل الدردشة'; + String get drawerSectionChatHistory => 'سجل الدردشات'; @override String get drawerSectionAttachedDocuments => 'المستندات المرفقة'; @@ -50,7 +671,7 @@ class ChatLocalizationAr extends ChatLocalization { String get drawerSectionTitleHowToUse => 'كيفية الاستخدام'; @override - String get drawerSectionVideoTutorials => 'دروس الفيديو'; + String get drawerSectionVideoTutorials => 'دروس فيديو'; @override String get drawerSectionTitleLegal => 'قانوني'; @@ -59,7 +680,7 @@ class ChatLocalizationAr extends ChatLocalization { String get drawerSectionContactUs => 'اتصل بنا'; @override - String get drawerSectionBugReport => 'تقرير الأخطاء'; + String get drawerSectionBugReport => 'بلاغ عن خلل'; @override String get drawerSectionTermsAndConditions => 'الشروط والأحكام'; @@ -68,10 +689,10 @@ class ChatLocalizationAr extends ChatLocalization { String get drawerSectionPrivacyPolicy => 'سياسة الخصوصية'; @override - String get drawerSectionTitleFeedback => 'تعليق'; + String get drawerSectionTitleFeedback => 'ملاحظات'; @override - String get drawerSectionRateApp => 'تقييم التطبيق'; + String get drawerSectionRateApp => 'قيم التطبيق'; @override String get drawerSectionShareWithFriends => 'شارك مع الأصدقاء'; @@ -81,17 +702,17 @@ class ChatLocalizationAr extends ChatLocalization { @override String get drawerBannerHelpOthersReceiveMedicalCare => - 'مساعدة الآخرين على تلقي الرعاية الطبية'; + 'ساعد الآخرين على الحصول على الرعاية الطبية'; @override String get drawerPlaceholderUser => 'مستخدم'; @override String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => - 'ميزات مميزة مع دكتورينا'; + 'ميزات متميزة\nمع Doctorina'; @override - String get drawerSubscriptionButtonGetPremiumFeatures => 'يحصل'; + String get drawerSubscriptionButtonGetPremiumFeatures => 'احصل'; @override String get drawerLabelJoinUs => 'انضم إلينا'; @@ -99,31 +720,46 @@ class ChatLocalizationAr extends ChatLocalization { @override String get drawerTooltipVersion => 'إصدار التطبيق:'; + @override + String get drawerSectionRecentChats => 'الدردشات الأخيرة'; + + @override + String get drawerPlaceholderProfile => 'الملف الشخصي'; + + @override + String get drawerPlaceholderRecentChat => 'الدردشة الأخيرة'; + + @override + String get drawerSectionDownloadApps => 'تحميل التطبيقات'; + @override String get chatInputHintEnterMessage => 'أدخل الرسالة'; @override - String get chatInputTooltipAttachFile => 'إرفاق الملف'; + String get chatInputTooltipAttachFile => 'إرفاق ملف'; + + @override + String get chatInputTooltipDictateMessage => 'أملى'; @override - String get chatInputTooltipDictateMessage => 'إملاء الرسالة'; + String get chatInputTooltipDictateFinishMessage => 'إنهاء & تحويل إلى نص'; @override - String get chatInputTooltipSendMessage => 'إرسال رسالة'; + String get chatInputTooltipSendMessage => 'أرسل رسالة'; @override String get chatListSnackBarErrorFailedToFetchMessages => 'فشل في جلب الرسائل'; @override String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => - 'تعذّر جلب الرسائل. يُرجى المحاولة مجددًا.'; + 'فشل في جلب الرسائل. يرجى المحاولة مرة أخرى.'; @override String get chatListTooltipFetchMessages => 'جلب الرسائل'; @override String get chatListLabelNoMessagesAvailable => - 'لا توجد رسائل متاحة. يُرجى إرسال رسالة لبدء المحادثة.'; + 'لا توجد رسائل. الرجاء إرسال رسالة لبدء المحادثة.'; @override String get chatListHasConnection => 'متصل'; @@ -132,16 +768,16 @@ class ChatLocalizationAr extends ChatLocalization { String get chatListNoConnection => 'لا يوجد اتصال'; @override - String get chatActionButtonTooltipSearch => 'يبحث'; + String get chatActionButtonTooltipSearch => 'بحث'; @override String get chatActionButtonTooltipFavorites => 'المفضلة'; @override - String get chatActionButtonTooltipDownload => 'تحميل'; + String get chatActionButtonTooltipDownload => 'تنزيل'; @override - String get chatActionButtonTooltipPrintPdf => 'طباعة ملف PDF'; + String get chatActionButtonTooltipPrintPdf => 'طباعة PDF'; @override String get chatActionButtonTooltipShareWithFriends => 'شارك مع الأصدقاء'; @@ -150,14 +786,17 @@ class ChatLocalizationAr extends ChatLocalization { String get chatActionButtonTooltipNewChat => 'دردشة جديدة'; @override - String get chatActionButtonTooltipChatList => 'حدد الدردشة'; + String get chatActionButtonNewChat => 'دردشة'; @override - String get chatActionButtonTooltipShowDrawer => 'عرض الدرج'; + String get chatActionButtonTooltipChatList => 'اختر دردشة'; + + @override + String get chatActionButtonTooltipShowDrawer => 'إظهار القائمة'; @override String get chatLabelNoChatAvailableRefresh => - 'لا توجد محادثات متاحة. يُرجى تحديث الصفحة أو إنشاء محادثة جديدة.'; + 'لا توجد دردشات. يرجى التحديث أو إنشاء دردشة جديدة.'; @override String get chatButtonRefreshChats => 'تحديث الدردشات'; @@ -169,48 +808,448 @@ class ChatLocalizationAr extends ChatLocalization { String get chatContextMenuCopyMessage => 'نسخ النص'; @override - String get chatStatusProcessingMessages => 'جاري الكتابة... لحظة...'; + String get chatStatusProcessingMessages => 'يكتب\nلحظة من فضلك'; @override - String get chatNoConnectionLabel => 'يرجى التحقق من اتصالك بالإنترنت'; + String get chatNoConnectionLabel => + 'جاري التحديث...\nيرجى التحقق من اتصالك بالإنترنت'; @override - String get chatErrorMessageAlreadyProcessed => 'يتم معالجة الرسالة الآن.'; + String get chatErrorMessageAlreadyProcessed => + 'يتم معالجة الرسالة بالفعل الآن.'; @override - String get chatErrorMessageTooLong => 'الرسالة طويلة جداً.'; + String get chatErrorMessageTooLong => 'الرسالة طويلة جدًا.'; @override - String get chatRemoveAttachmentTooltip => 'إزالة المرفق'; + String get chatRemoveAttachmentTooltip => 'حذف المرفق'; @override - String get chatStatusFailedMessage => 'فشل في معالجة الرسالة'; + String get chatStatusFailedMessage => 'فشل معالجة الرسالة'; @override String get chatActionButtonTooltipExportSummary => 'تصدير إلى PDF'; @override - String get chatPickerPhotos => 'الصور'; + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'صور'; @override - String get chatPickerCamera => 'آلة تصوير'; + String get chatPickerCamera => 'كاميرا'; @override - String get chatPickerFiles => 'الملفات'; + String get chatPickerFiles => 'ملفات'; + + @override + String get chatPickerPhotosFiles => 'الصور والملفات'; @override String get chatRecommendationYIAG => - 'آمل أن يكون هذا مفيدًا! هل كان هذا الشرح مفيدًا لك؟'; + 'أتمنى أن يكون ذلك قد أفادك! هل كان هذا الشرح مفيدًا لك؟'; + + @override + String get chatRecommendationButtonDonate => 'نعم، كل شيء على ما يرام!'; + + @override + String get failedToRetrieveChatSummary => 'فشل في استرجاع ملخص المحادثة'; + + @override + String get chatSummaryCopiedToClipboard => 'تم نسخ ملخص المحادثة إلى الحافظة'; + + @override + String get tryDoctorinaInTheMobileApp => 'جرّب Doctorina في تطبيق الجوال!'; + + @override + String get getAppStoreLogoLabel => 'تحميل على'; + + @override + String get getGooglePlayLogoLabel => 'احصل عليه'; + + @override + String get getAppStoreLogoTooltip => 'تنزيل على App Store'; + + @override + String get getGooglePlayLogoTooltip => 'احصل عليه على Google Play'; + + @override + String get reportMessageDialogTitle => 'الإبلاغ عن رسالة'; + + @override + String get reportMessageDialogSubtitle => + 'لماذا تقوم بالإبلاغ عن هذه الرسالة؟'; + + @override + String get reportMessageDialogTextFieldHint => + 'اختياري: وصف ما هو خطأ في هذه الرسالة...'; + + @override + String get reportMessageDialogWhyImportant => + 'هذا سيساعدنا في تحسين استجابات الذكاء الاصطناعي لدينا.'; + + @override + String get reportMessageDialogCancelButton => 'إلغاء'; + + @override + String get reportMessageDialogReportButton => 'تقرير'; + + @override + String get reportMessageSnackbarSuccess => + 'شكراً لملاحظاتك! تم تقديم التقرير.'; + + @override + String get reportMessageSnackbarFailed => 'فشل في تقديم التقرير'; + + @override + String get copyMessageSnackbarSuccess => 'تم النسخ إلى الحافظة'; + + @override + String get copyMessageSnackbarFailed => 'فشل في نسخ الرسالة'; + + @override + String get chatContextMenuReportMessage => 'الإبلاغ عن رسالة'; + + @override + String get chatDropZoneTitle => 'ارفع إلى دردشة دكتورينا'; + + @override + String get chatDropZoneSubtitle => + 'اسحب وأفلت الملفات هنا لإضافتها إلى الدردشة'; + + @override + String get chatDropZoneText => + 'يمكنك إضافة ما يصل إلى 15 ملفًا إلى رسالة واحدة'; + + @override + String get notificationBannerText => + 'هل ترغب في أن أخبرك إذا حدث شيء مهم يتعلق بصحتك؟'; + + @override + String get notificationBannerButtonEnable => 'نعم، أعلمني'; + + @override + String get notificationBannerButtonDisable => 'ربما لاحقًا'; + + @override + String get notificationBannerButtonClose => 'إغلاق'; + + @override + String get notificationAreBlockedSystem => + 'تم حظر الإشعارات على مستوى النظام. قم بتمكينها في إعدادات النظام قبل تفعيل إشعارات Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'تم حظر الإشعارات على مستوى النظام. قم بتمكينها في إعدادات المتصفح قبل تفعيل إشعارات Doctorina.'; + + @override + String get notificationDialogTitle => 'ابقَ على اطلاع بشأن استشارتك'; + + @override + String get notificationDialogDescription => + 'يمكن لدكتورينا إبلاغك عندما تتوفر رؤى أو تحديثات جديدة حول صحتك'; + + @override + String get notificationDialogEnableButton => 'تفعيل الإشعارات'; + + @override + String get notificationDialogLaterButton => 'ربما لاحقًا'; + + @override + String get termsAndConditionBannerText => + 'بالاستمرار، فإنك توافق على معالجة البيانات الشخصية، واستخدام cookies، وتوافق على terms and conditions، وتقر بـ

privacy policy

. كما أنك تقر بأن استشارتك تتم عبر AI وليس بواسطة أخصائي طبي مرخص'; + + @override + String get termsAndConditionBannerDismissTooltip => 'إلغاء'; + + @override + String get anonUserNewChatCreationWarningTitle => 'احفظ هذه الدردشة أولاً?'; + + @override + String get anonUserNewChatCreationWarningText => + 'اشترك مجاناً لحفظ هذه الاستشارة قبل بدء استشارة جديدة'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'ابدأ بدون حفظ'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'إنشاء حساب'; + + @override + String get inputBlockerContinueMessage => + 'للمتابعة في المحادثة، اختر خيارًا أعلاه'; + + @override + String get chatServerDialogCloseBtnTooltip => 'إغلاق'; + + @override + String get chatAttachmentRemoveTooltip => 'إزالة المرفق'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'فشل في اختيار الملفات من منطقة السحب'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'يرجى إدخال رسالة أو إرفاق ملف'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'يرجى الانتظار حتى تكتمل التحميلات'; + + @override + String get chatAttachmentErrorMessageProcessing => 'يتم معالجة الرسالة'; + + @override + String get chatAttachmentErrorMessageTooLong => 'الرسالة طويلة جداً'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'الرسالة قيد المعالجة الآن.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'تم إغلاق الاتصال بشكل دائم'; + + @override + String get chatAttachmentErrorNoConnection => 'لا يوجد اتصال بالخادم'; + + @override + String get chatAttachmentErrorPickFiles => 'فشل في اختيار الملفات'; + + @override + String get chatAttachmentErrorPickImages => 'فشل في اختيار الصور'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'فشل في التقاط صورة من الكاميرا'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'يمكنك إرفاق ما يصل إلى $count ملفًا في المرة الواحدة'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'مسح النص المعترف به'; + + @override + String get chatInputTooltipMessageTooLong => 'الرسالة طويلة جداً'; + + @override + String get chatInputTooltipWaitForUploads => + 'يرجى الانتظار حتى تكتمل التحميلات'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'ال$kind \"$name\" مرفق بالفعل ولم يتم إضافته مرة أخرى'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'الـ $kind \"$name\" هو نسخة مكررة من $exist ولم يتم إضافته'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'لم يتم إضافة $kind \"$name\" لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'الملف \"$name\" فارغ.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'الملف فارغ'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'الملف \"$name\" يتجاوز الحجم الأقصى المسموح به'; + } + + @override + String get chatAttachmentErrorFileSize => + 'الملف يتجاوز الحجم الأقصى المسموح به.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'حدث خطأ أثناء معالجة الملف \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => 'حدث خطأ أثناء معالجة الملف.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'لم يتم إضافة الملف \"$name\" لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'لم يتم إضافة ملف(ات) لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'لم يتم إضافة ملف لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'تمت محاولة إضافة ملف بدون اسم.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'تمت محاولة إضافة ملف بامتداد غير مدعوم: \"$name\"'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'تمت محاولة إضافة ملف بامتداد غير مدعوم'; + + @override + String get chatAttachmentErrorFileNull => 'من المستحيل إضافة ملف'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'الملف \"$name\" غير صالح ولا يمكن إضافته'; + } + + @override + String get chatAttachmentErrorFileInvalid => 'الملف غير صالح ولا يمكن إضافته'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'العنصر \"$name\" ليس ملفًا صالحًا'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'العنصر ليس ملفًا صالحًا'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'حدث خطأ أثناء معالجة عنصر.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'حدث خطأ أثناء معالجة عنصر (عناصر).'; + + @override + String get chatAttachmentErrorNoFiles => 'لم تتم إضافة أي ملفات'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'تم تخطي بعض الملفات بسبب تكرارها مع ملفات موجودة.'; + + @override + String get chatAttachmentErrorUnknown => 'حدث خطأ غير معروف'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'حدثت الأخطاء التالية أثناء إرفاق الملفات:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'فشل في مشاركة الملف: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'إغلاق'; + + @override + String get chatAttachmentPreviewTooltipShare => 'شارك'; + + @override + String get chatAttachmentPreviewLoading => 'جارٍ تحميل الملف...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'فشل في تحميل الملف'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'حدث خطأ غير معروف'; + + @override + String get chatAttachmentPreviewButtonRetry => 'إعادة المحاولة'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'نوع ملف غير مدعوم'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'لا يمكن معاينة $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'مشاركة الملف'; + + @override + String get chatAttachmentPreviewErrorImage => 'فشل عرض الصورة'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'إعادة ضبط التكبير'; + + @override + String get chatAttachmentPreviewErrorPdf => 'فشل تحميل PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'فشل في فك تشفير محتوى النص'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'و$count أخطاء أخرى.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'الملف غير صحيح'; + + @override + String get chatConsentRequiredTitle => 'الموافقة مطلوبة'; + + @override + String get chatConsentRequiredText => + 'بمواصلتك، فإنك توافق على الشروط وسياسة الخصوصية واستخدام الكوكيز، وتؤكد أن هذه الاستشارة مقدمة من الذكاء الاصطناعي، وليس من محترف طبي مرخص.'; + + @override + String get chatConsentRequiredCloseTooltip => 'إغلاق'; + + @override + String get chatHistoryDelete => 'حذف'; + + @override + String get chatDelete => 'حذف الدردشة'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'تم حذف الدردشة “$title” بنجاح.'; + } + + @override + String get chatDeleteConfirmationTitle => 'حذف الدردشة؟'; + + @override + String get chatDeleteConfirmationSubtitle => + 'ستتم إزالة أعراضك وملخص التشخيص وأي توصيات في هذه الدردشة.\nلا يمكن التراجع عن هذا الإجراء.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'تكبير'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'تصغير'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'إعادة تعيين التكبير'; @override - String get chatRecommendationButtonDonate => 'نعم، كل شيء جيد!'; + String get chatAttachmentPreviewShareTooltip => 'شارك'; @override - String get chatHistoryTitle => 'سجل الدردشة'; + String get dateToday => 'اليوم'; @override - String get failedToRetrieveChatSummary => 'فشل في استرداد ملخص الدردشة'; + String get dateYesterday => 'أمس'; @override - String get chatSummaryCopiedToClipboard => 'تم نسخ ملخص الدردشة إلى الحافظة'; + String get chatAttachmentPreviewDocumentNotice => + 'الصفحة الأولى فقط. استخدم المشاركة لتنزيل الملف الكامل.'; } diff --git a/example/lib/src/generated/chat/chat_localization_az.dart b/example/lib/src/generated/chat/chat_localization_az.dart new file mode 100644 index 0000000..359bae5 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_az.dart @@ -0,0 +1,641 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Azerbaijani (`az`). +class ChatLocalizationAz extends ChatLocalization { + ChatLocalizationAz([String locale = 'az']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Bildirişlər'; + + @override + String get drawerTooltipHelp => 'Kömək'; + + @override + String get drawerTooltipClose => 'Bağla'; + + @override + String get drawerSectionTitleAccount => 'Hesab'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Hesab Ayarları'; + + @override + String get drawerSectionDonateToSupport => 'Dəstək üçün ianə edin'; + + @override + String get drawerSectionSubscription => 'Abunə'; + + @override + String get drawerSectionTitleChats => 'Söhbətlər'; + + @override + String get drawerSectionChatHistory => 'Söhbət Tarixi'; + + @override + String get drawerSectionAttachedDocuments => 'Bağlı Sənədlər'; + + @override + String get drawerSectionTitleHowToUse => 'Necə istifadə etməli'; + + @override + String get drawerSectionVideoTutorials => 'Video Təlimatları'; + + @override + String get drawerSectionTitleLegal => 'Hüquqi'; + + @override + String get drawerSectionContactUs => 'Bizimlə Əlaqə'; + + @override + String get drawerSectionBugReport => 'Xəta Hesabatı'; + + @override + String get drawerSectionTermsAndConditions => 'Şərtlər və Qaydalar'; + + @override + String get drawerSectionPrivacyPolicy => 'Məxfilik Siyasəti'; + + @override + String get drawerSectionTitleFeedback => 'Geri bildirim'; + + @override + String get drawerSectionRateApp => 'Tətbiqi Qiymətləndirin'; + + @override + String get drawerSectionShareWithFriends => 'Dostlarla Paylaş'; + + @override + String get drawerButtonLogOut => 'Çıxış'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Başqalarına tibbi yardım almaqda kömək edin'; + + @override + String get drawerPlaceholderUser => 'İstifadəçi'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Premium Xüsusiyyətlər
Doctorina ilə'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Alın'; + + @override + String get drawerLabelJoinUs => 'Bizə qoşulun'; + + @override + String get drawerTooltipVersion => 'Tətbiq versiyası:'; + + @override + String get drawerSectionRecentChats => 'Son söhbətlər'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Son söhbət'; + + @override + String get drawerSectionDownloadApps => 'Tətbiqləri yükləyin'; + + @override + String get chatInputHintEnterMessage => 'Mesajı daxil edin'; + + @override + String get chatInputTooltipAttachFile => 'Fayl əlavə et'; + + @override + String get chatInputTooltipDictateMessage => 'Nadiktə et'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Bitir və Transkripti et'; + + @override + String get chatInputTooltipSendMessage => 'Mesaj göndər'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Mesajları əldə etmək mümkün olmadı'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Mesajları əldə etmək mümkün olmadı. Zəhmət olmasa, yenidən cəhd edin.'; + + @override + String get chatListTooltipFetchMessages => 'Mesajları al'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Mesaj yoxdur. Danışmağa başlamaq üçün mesaj göndərin.'; + + @override + String get chatListHasConnection => 'Bağlıdır'; + + @override + String get chatListNoConnection => 'Bağlantı yoxdur'; + + @override + String get chatActionButtonTooltipSearch => 'Axtar'; + + @override + String get chatActionButtonTooltipFavorites => 'Sevimlilər'; + + @override + String get chatActionButtonTooltipDownload => 'Yüklə'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF çap et'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Dostlarla Paylaş'; + + @override + String get chatActionButtonTooltipNewChat => 'Yeni söhbət'; + + @override + String get chatActionButtonNewChat => 'Söhbət'; + + @override + String get chatActionButtonTooltipChatList => 'Söhbəti Seç'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Çekmecəni göstərin'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Söhbətlər mövcud deyil. Zəhmət olmasa, yeniləyin və ya yeni bir söhbət yaradın.'; + + @override + String get chatButtonRefreshChats => 'Söhbətləri yenilə'; + + @override + String get chatButtonCreateNewChat => 'Yeni söhbət yaradın'; + + @override + String get chatContextMenuCopyMessage => 'Mətni kopyala'; + + @override + String get chatStatusProcessingMessages => 'Yazılır'; + + @override + String get chatNoConnectionLabel => + 'Yenilənir...\nZəhmət olmasa, internet bağlantınızı yoxlayın'; + + @override + String get chatErrorMessageAlreadyProcessed => 'Mesaj hazırda işlənir.'; + + @override + String get chatErrorMessageTooLong => 'Mesaj çox uzundur.'; + + @override + String get chatRemoveAttachmentTooltip => 'Əlavəni sil'; + + @override + String get chatStatusFailedMessage => 'Mesajı emal etmək mümkün olmadı'; + + @override + String get chatActionButtonTooltipExportSummary => 'PDF-ə ixrac et'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Şəkillər'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Fayllar'; + + @override + String get chatPickerPhotosFiles => 'Şəkillər və Fayllar'; + + @override + String get chatRecommendationYIAG => + 'Ümid edirəm ki, bu kömək etdi! Bu izah sizə faydalı oldumu?'; + + @override + String get chatRecommendationButtonDonate => 'Bəli, hər şey yaxşıdır!'; + + @override + String get failedToRetrieveChatSummary => + 'Söhbət xülasəsini əldə etmək mümkün olmadı'; + + @override + String get chatSummaryCopiedToClipboard => + 'Söhbət xülasəsi clipboard-a köçürüldü'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Doctorina-nı mobil tətbiqdə sınayın!'; + + @override + String get getAppStoreLogoLabel => 'Yüklə'; + + @override + String get getGooglePlayLogoLabel => 'YÜKLƏ'; + + @override + String get getAppStoreLogoTooltip => 'App Store-dan yükləyin'; + + @override + String get getGooglePlayLogoTooltip => 'Google Play-də əldə edin'; + + @override + String get reportMessageDialogTitle => 'Mesajı Hesabat Et'; + + @override + String get reportMessageDialogSubtitle => 'Bu mesajı niyə bildirirsiniz?'; + + @override + String get reportMessageDialogTextFieldHint => + 'İstəyə bağlı: Bu mesajda nəyin səhv olduğunu təsvir edin...'; + + @override + String get reportMessageDialogWhyImportant => + 'Bu, AI cavablarımızı inkişaf etdirməyə kömək edəcək.'; + + @override + String get reportMessageDialogCancelButton => 'İmtina et'; + + @override + String get reportMessageDialogReportButton => 'Şikayət et'; + + @override + String get reportMessageSnackbarSuccess => + 'Fikriniz üçün təşəkkür edirik! Hesabat təqdim edilib.'; + + @override + String get reportMessageSnackbarFailed => + 'Hesabat təqdim etmək mümkün olmadı'; + + @override + String get copyMessageSnackbarSuccess => 'Panoya köçürüldü'; + + @override + String get copyMessageSnackbarFailed => 'Mesajı kopyalamaq mümkün olmadı'; + + @override + String get chatContextMenuReportMessage => 'Mesajı Hesabat Et'; + + @override + String get chatDropZoneTitle => 'Doktorina çatına yükləyin'; + + @override + String get chatDropZoneSubtitle => + 'Faylları bura sürükləyin və söhbətə əlavə edin'; + + @override + String get chatDropZoneText => + 'Bir mesaja 15 fayla qədər əlavə edə bilərsiniz'; + + @override + String get notificationBannerText => + 'Sizin sağlamlığınızla bağlı vacib bir şey baş verərsə, sizə xəbər verməyimi istəyirsinizmi?'; + + @override + String get notificationBannerButtonEnable => 'Bəli, mənə bildirin'; + + @override + String get notificationBannerButtonDisable => 'Bəlkə sonra'; + + @override + String get notificationBannerButtonClose => 'Bağla'; + + @override + String get notificationAreBlockedSystem => + 'Bildirişlər sistem səviyyəsində bloklanıb. Onları sistem parametrlərində aktivləşdirin, Doctorina\'nın bildirişlərini aktivləşdirmədən əvvəl.'; + + @override + String get notificationAreBlockedBrowser => + 'Bildirişlər sistem səviyyəsində bloklanıb. Onları brauzer parametrlərində aktivləşdirin, Doctorina bildirişlərini aktivləşdirmədən əvvəl.'; + + @override + String get notificationDialogTitle => 'Müşavirəniz haqqında məlumatlı qalın'; + + @override + String get notificationDialogDescription => + 'Doctorina sizə sağlamlığınızla bağlı yeni məlumatlar və yeniləmələr mövcud olduqda xəbər verə bilər.'; + + @override + String get notificationDialogEnableButton => 'Bildirişləri aktivləşdir'; + + @override + String get notificationDialogLaterButton => 'Bəlkə sonra'; + + @override + String get termsAndConditionBannerText => + 'Davam edərək siz şəxsi məlumatların emalına, cookies-in istifadəsinə, şərtlər və qaydaları qəbul etməyə və

məxfilik siyasətini

təsdiq etməyə razılıq verirsiniz. Həmçinin, konsultasiyanızın lisenziyalı tibbi mütəxəssis deyil, AI ilə aparıldığını qəbul edirsiniz'; + + @override + String get termsAndConditionBannerDismissTooltip => 'İmtina et'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Əvvəlcə bu söhbəti yadda saxlayın?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Yeni bir məsləhətləşməyə başlamazdan əvvəl bu məsləhətləşməni saxlamaq üçün pulsuz qeydiyyatdan keçin'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Yadda saxlamadan başla'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Qeydiyyatdan keçin'; + + @override + String get inputBlockerContinueMessage => + 'Danışığı davam etdirmək üçün yuxarıdakı bir seçimi seçin'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Bağla'; + + @override + String get chatAttachmentRemoveTooltip => 'Priponu sil'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Drop zonadan faylları seçmək mümkün olmadı'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Zəhmət olmasa, bir mesaj daxil edin və ya bir fayl əlavə edin'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Yükləmələrin tamamlanmasını gözləyin'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Mesaj emal edilir'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Mesaj çox uzundur'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Mesaj hal-hazırda işlənir.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Bağlantı daimi olaraq bağlanıb.'; + + @override + String get chatAttachmentErrorNoConnection => 'Serverə bağlantı yoxdur'; + + @override + String get chatAttachmentErrorPickFiles => 'Faylları seçmək mümkün olmadı'; + + @override + String get chatAttachmentErrorPickImages => 'Şəkilləri seçmək mümkün olmadı'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Kameradan fotoşəkil çəkmək alınmadı'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Eyni anda $count fayl əlavə edə bilərsiniz.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Tanınan mətni sil'; + + @override + String get chatInputTooltipMessageTooLong => 'Mesaj çox uzundur.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Yükləmələrin tamamlanmasını gözləyin.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '$kind \"$name\" artıq əlavə edilib və yenidən əlavə edilmədi.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" $exist ilə eynidir və əlavə edilmədi.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '$kind \"$name\" əlavə edilmədi, çünki maksimum əlavə sayı aşılmışdır.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '\"$name\" faylı boştur.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Fayl boştur.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return '\"$name\" faylı maksimum icazə verilən ölçünü aşır.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Fayl icazə verilən maksimum ölçünü aşır.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '\"$name\" faylini emal edərkən bir xəta baş verdi.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Faylın işlənməsi zamanı bir xəta baş verdi.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return '\"$name\" faylı əlavə edilmədi, çünki maksimum əlavə sayı aşılmışdır.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Bir fayl(lar) əlavə edilmədi, çünki maksimum əlavə sayı aşılmışdır.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Bir fayl əlavə edilmədi, çünki maksimum əlavə sayı aşılmışdır.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Adı olmayan bir dosya eklenmeye çalışıldı.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Dəstəklənməyən uzantıya malik bir fayl əlavə edilməyə çalışıldı: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Dəstəklənməyən uzantıya malik bir fayl əlavə edilməyə çalışıldı.'; + + @override + String get chatAttachmentErrorFileNull => + 'Bir fayl əlavə etmək mümkün deyil.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return '«$name» faylı etibarsızdır və əlavə oluna bilmir.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Bir fayl etibarsızdır və əlavə edilə bilmir.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return '\"$name\" elementi etibarlı fayl deyil.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Bir element etibarlı fayl deyil.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Bir elementi emal edərkən bir xəta baş verdi.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Bir elementin(em) işlənməsi zamanı xəta baş verdi.'; + + @override + String get chatAttachmentErrorNoFiles => 'Heç bir fayl əlavə edilmədi.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Bəzi fayllar mövcud fayllarla təkrarlanan olduğu üçün atlanıb.'; + + @override + String get chatAttachmentErrorUnknown => 'Naməlum bir xəta baş verdi.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Aşağıdakı xətalar faylları əlavə edərkən baş verdi:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Fayl paylaşılmadı: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Bağla'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Paylaş'; + + @override + String get chatAttachmentPreviewLoading => 'Fayl yüklənir...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Fayl yüklənmədi'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Naməlum xəta baş verdi'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Təkrar cəhd edin'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'Dəstəklənməyən fayl növü'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '$contentType önizləməsi mümkün deyil'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Faylı paylaş'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Şəkili göstərmək mümkün olmadı'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Zoom-u sıfırla'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF yüklənməsi baş tutmadı'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Mətn məzmununu deşifrə etmək mümkün olmadı'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Və $count daha çox səhv var.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Fayl pozulub'; + + @override + String get chatConsentRequiredTitle => 'Razılıq tələb olunur'; + + @override + String get chatConsentRequiredText => + 'Davam edərək, Şərtlərimiz, Şəxsi Məlumatların Qorunması Siyasətiçərəzlərin istifadəsi ilə razılaşırsınız və bu konsultasiyanın AI tərəfindən, lisenziyalı tibbi mütəxəssis tərəfindən deyil, təqdim edildiyini təsdiqləyirsiniz.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Bağla'; + + @override + String get chatHistoryDelete => 'Sil'; + + @override + String get chatDelete => 'Söhbəti sil'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return '“$title” söküldü.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Söhbəti silmək? '; + + @override + String get chatDeleteConfirmationSubtitle => + 'Simptomlarınız, diaqnoz xülasəniz və bu çatdakı hər hansı tövsiyələr silinəcək.\nBu əməliyyat geri alına bilməz.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Zoom edin'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Zoom Out'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Zoom-u sıfırlayın'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Paylaş'; + + @override + String get dateToday => 'Bu gün'; + + @override + String get dateYesterday => 'Dünən'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Yalnızca birinci səhifə. Tam faylı yükləmək üçün Paylaş düyməsini istifadə edin.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_be.dart b/example/lib/src/generated/chat/chat_localization_be.dart new file mode 100644 index 0000000..0a496ba --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_be.dart @@ -0,0 +1,642 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Belarusian (`be`). +class ChatLocalizationBe extends ChatLocalization { + ChatLocalizationBe([String locale = 'be']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Апавяшчэнні'; + + @override + String get drawerTooltipHelp => 'Дапамога'; + + @override + String get drawerTooltipClose => 'Закрыць'; + + @override + String get drawerSectionTitleAccount => 'Уліковы запіс'; + + @override + String get drawerSectionProfile => 'Профіль'; + + @override + String get drawerSectionAccountSettings => 'Налады акаўнта'; + + @override + String get drawerSectionDonateToSupport => 'Падарыць на падтрымку'; + + @override + String get drawerSectionSubscription => 'Падпіска'; + + @override + String get drawerSectionTitleChats => 'Чаты'; + + @override + String get drawerSectionChatHistory => 'Гісторыя чатаў'; + + @override + String get drawerSectionAttachedDocuments => 'Далучаныя дакументы'; + + @override + String get drawerSectionTitleHowToUse => 'Як карыстацца'; + + @override + String get drawerSectionVideoTutorials => 'Відэаўрокі'; + + @override + String get drawerSectionTitleLegal => 'Юрыдычная'; + + @override + String get drawerSectionContactUs => 'Звязацца з намі'; + + @override + String get drawerSectionBugReport => 'Паведаміць пра памылку'; + + @override + String get drawerSectionTermsAndConditions => 'Умовы і палажэнні'; + + @override + String get drawerSectionPrivacyPolicy => 'Палітыка прыватнасці'; + + @override + String get drawerSectionTitleFeedback => 'Зваротная сувязь'; + + @override + String get drawerSectionRateApp => 'Ацаніць прыкладанне'; + + @override + String get drawerSectionShareWithFriends => 'Падзяліцца з сябрамі'; + + @override + String get drawerButtonLogOut => 'Выйсці'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Дапамажыце іншым атрымаць медыцынскую дапамогу'; + + @override + String get drawerPlaceholderUser => 'Карыстальнік'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Преміум магчымасці\nз Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Атрымаць'; + + @override + String get drawerLabelJoinUs => 'Далучайцеся'; + + @override + String get drawerTooltipVersion => 'Версія прыкладання:'; + + @override + String get drawerSectionRecentChats => 'Нядаўнія чаты'; + + @override + String get drawerPlaceholderProfile => 'Профіль'; + + @override + String get drawerPlaceholderRecentChat => 'Нядаўні чат'; + + @override + String get drawerSectionDownloadApps => 'Спампаваць прылады'; + + @override + String get chatInputHintEnterMessage => 'Увядзіце паведамленне'; + + @override + String get chatInputTooltipAttachFile => 'Прыкласці файл'; + + @override + String get chatInputTooltipDictateMessage => 'Надыктаваць'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'Скончыць і транскрыбаваць'; + + @override + String get chatInputTooltipSendMessage => 'Адправіць паведамленне'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Не ўдалося атрымаць паведамленні'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Не атрымалася загрузіць паведамленні. Калі ласка, паспрабуйце зноў.'; + + @override + String get chatListTooltipFetchMessages => 'Атрымаць паведамленні'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Няма паведамленняў. Калі ласка, адпраўце паведамленне, каб пачаць размову.'; + + @override + String get chatListHasConnection => 'Падключаны'; + + @override + String get chatListNoConnection => 'Няма злучэння'; + + @override + String get chatActionButtonTooltipSearch => 'Пошук'; + + @override + String get chatActionButtonTooltipFavorites => 'Абранае'; + + @override + String get chatActionButtonTooltipDownload => 'Спампаваць'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Друкаваць PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Падзяліцца з сябрамі'; + + @override + String get chatActionButtonTooltipNewChat => 'Новы чат'; + + @override + String get chatActionButtonNewChat => 'Чат'; + + @override + String get chatActionButtonTooltipChatList => 'Выбраць чат'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Паказаць панэль'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Няма даступных чатаў. Калі ласка, абнавіце або стварыце новы чат.'; + + @override + String get chatButtonRefreshChats => 'Абнавіць чаты'; + + @override + String get chatButtonCreateNewChat => 'Стварыць новы чат'; + + @override + String get chatContextMenuCopyMessage => 'Скапіраваць тэкст'; + + @override + String get chatStatusProcessingMessages => 'Пішa\nПачакайце трохy'; + + @override + String get chatNoConnectionLabel => + 'Абнаўленне...\nКалі ласка, праверце ваша інтэрнэт-злучэнне'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Паведамленне ўжо апрацоўваецца непасрэдна зараз.'; + + @override + String get chatErrorMessageTooLong => 'Паведамленне занадта доўгае.'; + + @override + String get chatRemoveAttachmentTooltip => 'Выдаліць ўкладанне'; + + @override + String get chatStatusFailedMessage => 'Не ўдалося апрацаваць паведамленне'; + + @override + String get chatActionButtonTooltipExportSummary => 'Экспарт у PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Фота'; + + @override + String get chatPickerCamera => 'Камера'; + + @override + String get chatPickerFiles => 'Файлы'; + + @override + String get chatPickerPhotosFiles => 'Фотаздымкі і файлы'; + + @override + String get chatRecommendationYIAG => + 'Спадзяюся, гэта дапамагло! Ці было тлумачэнне карысным для вас?'; + + @override + String get chatRecommendationButtonDonate => 'Так, усё добра!'; + + @override + String get failedToRetrieveChatSummary => 'Не ўдалося атрымаць зводку чата'; + + @override + String get chatSummaryCopiedToClipboard => + 'Рэзюмэ чата скапіравана ў буфер абмену'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Спробуйце Doctorina ў мабільным дадатку!'; + + @override + String get getAppStoreLogoLabel => 'Спампаваць у'; + + @override + String get getGooglePlayLogoLabel => 'ДАСТУПНА Ў'; + + @override + String get getAppStoreLogoTooltip => 'Спампаваць у App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Атрымаць у Google Play'; + + @override + String get reportMessageDialogTitle => 'Паведаміць пра паведамленне'; + + @override + String get reportMessageDialogSubtitle => + 'Чаму вы паведамляеце пра гэтае паведамленне?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Неабавязкова: Апішыце, што не так з гэтым паведамленнем...'; + + @override + String get reportMessageDialogWhyImportant => + 'Гэта дапаможа нам палепшыць нашы адказы ІІ'; + + @override + String get reportMessageDialogCancelButton => 'Скасаванне'; + + @override + String get reportMessageDialogReportButton => 'Паведаміць'; + + @override + String get reportMessageSnackbarSuccess => + 'Дзякуй за ваш водгук! Жалоба была адпраўлена.'; + + @override + String get reportMessageSnackbarFailed => 'Не ўдалося адправіць справаздачу'; + + @override + String get copyMessageSnackbarSuccess => 'Скапіравана ў буфер абмену'; + + @override + String get copyMessageSnackbarFailed => 'Не ўдалося скапіяваць паведамленне'; + + @override + String get chatContextMenuReportMessage => 'Паведаміць пра паведамленне'; + + @override + String get chatDropZoneTitle => 'Загрузіце ў чат Doctorina'; + + @override + String get chatDropZoneSubtitle => 'Перацягніце файлы сюды, каб дадаць у чат'; + + @override + String get chatDropZoneText => + 'Вы можаце дадаць да 15 файлаў у адно паведамленне'; + + @override + String get notificationBannerText => + 'Ці хочаце вы, каб я паведамляў вам, калі ўзнікне нешта важнае з вашым здароўем?'; + + @override + String get notificationBannerButtonEnable => 'Так, паведамляйце мне'; + + @override + String get notificationBannerButtonDisable => 'Магчыма пазней'; + + @override + String get notificationBannerButtonClose => 'Зачыніць'; + + @override + String get notificationAreBlockedSystem => + 'Апавяшчэнні заблакаваныя на ўзроўні сістэмы. Уключыце іх у наладах сістэмы перад актывацыяй апавяшчэнняў Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Апавяшчэнні заблакаваныя на сістэмным узроўні. Уключыце іх у наладах браўзера перад актывацыяй апавяшчэнняў Doctorina.'; + + @override + String get notificationDialogTitle => 'Будзьце ў курсе вашай кансультацыі'; + + @override + String get notificationDialogDescription => + 'Doctorina можа паведамляць вам, калі даступныя новыя звесткі або абнаўленні пра ваша здароўе.'; + + @override + String get notificationDialogEnableButton => 'Уключыць апавяшчэнні'; + + @override + String get notificationDialogLaterButton => 'Магчыма пазней'; + + @override + String get termsAndConditionBannerText => + 'Працягваючы, вы даяце згоду на апрацоўку персанальных даных, выкарыстанне cookies, згаджаецеся з умовамі выкарыстання і пацвярджаеце знаёмства з

палітыкай прыватнасці

. Таксама вы пацвярджаеце, што ваша кансультацыя адбываецца з дапамогай ІІ, а не ліцэнзаванага медыцынскага спецыяліста'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Закрыць'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Спачатку захавайце гэты чат?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Рэгіструйцеся бясплатна, каб захаваць гэтую кансультацыю перад пачаткам новай'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Пачаць без захавання'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Зарэгістравацца'; + + @override + String get inputBlockerContinueMessage => + 'Каб працягнуць размову, выберыце варыянт вышэй'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Закрыць'; + + @override + String get chatAttachmentRemoveTooltip => 'Выдаліць прыкладзенае'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Не ўдалося выбраць файлы з зоны перацягвання'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Калі ласка, увядзіце паведамленне або прыкрэйце файл'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Калі ласка, пачакайце, пакуль загрузкі завершаны'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'Паведамленне апрацоўваецца'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Паведамленне занадта доўгае'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Паведамленне ўжо апрацоўваецца.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Злучэнне зачынена назаўсёды'; + + @override + String get chatAttachmentErrorNoConnection => 'Няма злучэння з серверам'; + + @override + String get chatAttachmentErrorPickFiles => 'Не ўдалося выбраць файлы'; + + @override + String get chatAttachmentErrorPickImages => 'Не ўдалося выбраць выявы'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Не ўдалося зрабіць здымак з камеры'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Вы можаце прыкрепіць да $count файлаў адначасова'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Ачысціць распазнаны тэкст'; + + @override + String get chatInputTooltipMessageTooLong => 'Паведамленне занадта доўгае.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Калі ласка, пачакайце, пакуль загрузкі не завершаны'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Файл $kind \"$name\" ужо прыкрэплены і не быў дададзены зноў'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Элемент $kind \"$name\" з\'яўляецца дублікатам $exist і не быў дададзены.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Файл $kind \"$name\" не быў дададзены, бо перавышаны максімальны лік укладанняў.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Файл \"$name\" пусты.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Файл пусты.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Файл \"$name\" перавышае максімальна дапушчальны памер.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Файл перавышае максімальна дапушчальны памер.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Адбылася памылка пры апрацоўцы файла \"$name\"'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Адбылася памылка пры апрацоўцы файла.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Файл \"$name\" не быў дададзены, бо перавышана максімальная колькасць укладанняў.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Файл(ы) не былі дададзены, бо перавышаны максімальны ліміт укладанняў.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Файл не быў дададзены, бо перавышана максімальная колькасць укладанняў.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Спроба дадаць файл без імя.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Спроба дадаць файл з непадтрымліваемым пашырэннем: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Спроба дадаць файл з непадтрымліваемым пашырэннем.'; + + @override + String get chatAttachmentErrorFileNull => 'Немагчыма дадаць файл.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Файл \"$name\" недзейсны і не можа быць дададзены'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Файл недзейсны і не можа быць дададзены'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Элемент \"$name\" не з\'яўляецца сапраўдным файлам.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Элемент не з\'яўляецца дапушчальным файлам'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Адбылася памылка пры апрацоўцы элемента.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Адбылася памылка пры апрацоўцы элементаў'; + + @override + String get chatAttachmentErrorNoFiles => 'Файлы не былі дададзены'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Некаторыя файлы былі прапушчаны з-за дублікатаў з існуючымі файламі'; + + @override + String get chatAttachmentErrorUnknown => 'Адбылася невядомая памылка.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Адбыліся наступныя памылкі пры прыкрепленні файлаў:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Не ўдалося падзяліцца файлам: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Зачыніць'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Падзяліцца'; + + @override + String get chatAttachmentPreviewLoading => 'Загрузка файла...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Не ўдалося загрузіць файл'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Адбылася невядомая памылка'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Паўтарыць'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Непадтрымліваемы тып файла'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Нельга праглядзець $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Падзяліцца файлам'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Не ўдалося адлюстраваць малюнак'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Скінуць маштаб'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Не ўдалося загрузіць PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Не ўдалося дэкадаваць тэкставы змест'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'І яшчэ $count памылак.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Файл пашкоджаны'; + + @override + String get chatConsentRequiredTitle => 'Трэба згода'; + + @override + String get chatConsentRequiredText => + 'Працягваючы, вы згаджаецеся з нашымі Умовамі, Палітыкай канфідэнцыяльнасці і выкарыстаннем кукі і пацвярджаеце, што гэтая кансультацыя прадастаўляецца ІІ, а не ліцэнзаваным медыцынскім спецыялістам.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Зачыніць'; + + @override + String get chatHistoryDelete => 'Выдаліць'; + + @override + String get chatDelete => 'Выдаліць чат'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Чат «$title» паспяхова выдалены.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Выдаліць чат?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Вашы сімптомы, рэзюмэ дыягназу і любыя рэкамендацыі ў гэтым чаце будуць выдалены.\nГэта дзеянне нельга адменіць.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Павялічыць'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Зменшыць'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Скінуць маштаб'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Падзяліцца'; + + @override + String get dateToday => 'Сёння'; + + @override + String get dateYesterday => 'Учора'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Толькі першая старонка. Выкарыстайце «Падзяліцца», каб спампаваць поўны файл.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_bg.dart b/example/lib/src/generated/chat/chat_localization_bg.dart new file mode 100644 index 0000000..0123d04 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_bg.dart @@ -0,0 +1,638 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Bulgarian (`bg`). +class ChatLocalizationBg extends ChatLocalization { + ChatLocalizationBg([String locale = 'bg']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Уведомления'; + + @override + String get drawerTooltipHelp => 'Помощ'; + + @override + String get drawerTooltipClose => 'Затвори'; + + @override + String get drawerSectionTitleAccount => 'Акаунт'; + + @override + String get drawerSectionProfile => 'Профил'; + + @override + String get drawerSectionAccountSettings => 'Настройки на акаунта'; + + @override + String get drawerSectionDonateToSupport => 'Дарете за подкрепа'; + + @override + String get drawerSectionSubscription => 'Абонамент'; + + @override + String get drawerSectionTitleChats => 'Чатове'; + + @override + String get drawerSectionChatHistory => 'История на чата'; + + @override + String get drawerSectionAttachedDocuments => 'Прикачени документи'; + + @override + String get drawerSectionTitleHowToUse => 'Как да използвате'; + + @override + String get drawerSectionVideoTutorials => 'Видео уроци'; + + @override + String get drawerSectionTitleLegal => 'Правен'; + + @override + String get drawerSectionContactUs => 'Свържете се с нас'; + + @override + String get drawerSectionBugReport => 'Доклад за грешка'; + + @override + String get drawerSectionTermsAndConditions => 'Условия и правила'; + + @override + String get drawerSectionPrivacyPolicy => 'Политика за поверителност'; + + @override + String get drawerSectionTitleFeedback => 'Обратна връзка'; + + @override + String get drawerSectionRateApp => 'Оцени приложението'; + + @override + String get drawerSectionShareWithFriends => 'Сподели с приятели'; + + @override + String get drawerButtonLogOut => 'Изход'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Помогнете на другите да получат медицинска помощ'; + + @override + String get drawerPlaceholderUser => 'Потребител'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Премиум функции\nс Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Вземи'; + + @override + String get drawerLabelJoinUs => 'Присъединете се'; + + @override + String get drawerTooltipVersion => 'Версия на приложението:'; + + @override + String get drawerSectionRecentChats => 'Наскоро чати'; + + @override + String get drawerPlaceholderProfile => 'Профил'; + + @override + String get drawerPlaceholderRecentChat => 'Наскоро чата'; + + @override + String get drawerSectionDownloadApps => 'Изтеглете приложения'; + + @override + String get chatInputHintEnterMessage => 'Въведете съобщение'; + + @override + String get chatInputTooltipAttachFile => 'Прикрепете файл'; + + @override + String get chatInputTooltipDictateMessage => 'Диктувай'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Завърши и транскрибирай'; + + @override + String get chatInputTooltipSendMessage => 'Изпрати съобщение'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Неуспешно извличане на съобщения'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Неуспешно извличане на съобщения. Моля, опитайте отново.'; + + @override + String get chatListTooltipFetchMessages => 'Изтегли съобщения'; + + @override + String get chatListLabelNoMessagesAvailable => 'Няма налични съобщения.'; + + @override + String get chatListHasConnection => 'Свързан'; + + @override + String get chatListNoConnection => 'Няма връзка'; + + @override + String get chatActionButtonTooltipSearch => 'Търсене'; + + @override + String get chatActionButtonTooltipFavorites => 'Любими'; + + @override + String get chatActionButtonTooltipDownload => 'Изтегли'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Печатай PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Сподели с приятели'; + + @override + String get chatActionButtonTooltipNewChat => 'Нов чат'; + + @override + String get chatActionButtonNewChat => 'Чат'; + + @override + String get chatActionButtonTooltipChatList => 'Изберете Чат'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Покажи чекмедже'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Няма налични чатове. Моля, опреснете или създайте нов чат.'; + + @override + String get chatButtonRefreshChats => 'Обнови чатовете'; + + @override + String get chatButtonCreateNewChat => 'Създайте нов чат'; + + @override + String get chatContextMenuCopyMessage => 'Копирай текст'; + + @override + String get chatStatusProcessingMessages => 'Пише\nМоля, изчакайте'; + + @override + String get chatNoConnectionLabel => + 'Актуализиране...\nМоля, проверете интернет връзката си'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Съобщението вече се обработва в момента.'; + + @override + String get chatErrorMessageTooLong => 'Съобщението е твърде дълго.'; + + @override + String get chatRemoveAttachmentTooltip => 'Премахни прикачения файл'; + + @override + String get chatStatusFailedMessage => 'Неуспешно обработване на съобщение'; + + @override + String get chatActionButtonTooltipExportSummary => 'Експорт в PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Снимки'; + + @override + String get chatPickerCamera => 'Камера'; + + @override + String get chatPickerFiles => 'Файлове'; + + @override + String get chatPickerPhotosFiles => 'Снимки и файлове'; + + @override + String get chatRecommendationYIAG => + 'Надявам се, че помогна! Беше ли полезно това обяснение за вас?'; + + @override + String get chatRecommendationButtonDonate => 'Да, всичко е наред!'; + + @override + String get failedToRetrieveChatSummary => + 'Неуспешно извличане на резюме на чата'; + + @override + String get chatSummaryCopiedToClipboard => + 'Резюме на чата копирано в клипборда'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Опитайте Doctorina в мобилното приложение!'; + + @override + String get getAppStoreLogoLabel => 'Изтегли от'; + + @override + String get getGooglePlayLogoLabel => 'ВЗЕМИ ГО НА'; + + @override + String get getAppStoreLogoTooltip => 'Изтеглете от App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Вземи го от Google Play'; + + @override + String get reportMessageDialogTitle => 'Докладвай съобщение'; + + @override + String get reportMessageDialogSubtitle => 'Защо докладвате това съобщение?'; + + @override + String get reportMessageDialogTextFieldHint => + 'По избор: Опишете какво не е наред с това съобщение...'; + + @override + String get reportMessageDialogWhyImportant => + 'Това ще ни помогне да подобрим нашите AI отговори.'; + + @override + String get reportMessageDialogCancelButton => 'Отказ'; + + @override + String get reportMessageDialogReportButton => 'Доклад'; + + @override + String get reportMessageSnackbarSuccess => + 'Благодарим ви за обратната връзка! Докладът е изпратен.'; + + @override + String get reportMessageSnackbarFailed => 'Неуспешно изпращане на доклад'; + + @override + String get copyMessageSnackbarSuccess => 'Копирано в клипборда'; + + @override + String get copyMessageSnackbarFailed => 'Неуспешно копиране на съобщението'; + + @override + String get chatContextMenuReportMessage => 'Докладвай съобщение'; + + @override + String get chatDropZoneTitle => 'Качете в чата на Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Плъзнете и пуснете файлове тук, за да добавите в чата'; + + @override + String get chatDropZoneText => + 'Можете да добавите до 15 файла в едно съобщение'; + + @override + String get notificationBannerText => + 'Искате ли да ви уведомя, ако се появи нещо важно за вашето здраве?'; + + @override + String get notificationBannerButtonEnable => 'Да, известя ме'; + + @override + String get notificationBannerButtonDisable => 'Може би по-късно'; + + @override + String get notificationBannerButtonClose => 'Затвори'; + + @override + String get notificationAreBlockedSystem => + 'Уведомленията са блокирани на системно ниво. Активирайте ги в системните настройки, преди да активирате уведомленията на Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Уведомленията са блокирани на системно ниво. Активирайте ги в настройките на браузъра, преди да активирате уведомленията на Doctorina.'; + + @override + String get notificationDialogTitle => + 'Останете информирани за вашата консултация'; + + @override + String get notificationDialogDescription => + 'Doctorina може да ви уведомява, когато са налични нови прозрения или актуализации относно вашето здраве.'; + + @override + String get notificationDialogEnableButton => 'Активирайте известията'; + + @override + String get notificationDialogLaterButton => 'Може би по-късно'; + + @override + String get termsAndConditionBannerText => + 'Като продължавате, вие се съгласявате с обработката на лични данни, използването на cookies, приемате terms and conditions и потвърждавате

privacy policy

. Също така признавате, че консултацията ви се води от AI, а не от лицензиран медицински специалист'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Затвори'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Запазете този чат първо?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Регистрирай се безплатно, за да запазиш тази консултация преди започване на нова'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Стартирай без записване'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Регистрирай се'; + + @override + String get inputBlockerContinueMessage => + 'За да продължите разговора, изберете опция по-горе'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Затвори'; + + @override + String get chatAttachmentRemoveTooltip => 'Премахни прикачен файл'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Неуспешен избор на файлове от зоната за плъзгане'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Моля, въведете съобщение или прикачете файл'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Моля, изчакайте завършването на качванията'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Съобщението се обработва'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Съобщението е твърде дълго'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Съобщението в момента се обработва.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Връзката е трайно затворена'; + + @override + String get chatAttachmentErrorNoConnection => 'Няма връзка със сървъра'; + + @override + String get chatAttachmentErrorPickFiles => 'Неуспешен избор на файлове'; + + @override + String get chatAttachmentErrorPickImages => 'Неуспешен избор на изображения'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Неуспешно заснемане на снимка от камерата'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Можете да прикачите до $count файла наведнъж.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Изчисти разпознатия текст'; + + @override + String get chatInputTooltipMessageTooLong => 'Съобщението е твърде дълго.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Моля, изчакайте завършването на качванията.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Файлът $kind \"$name\" вече е прикачен и не беше добавен отново.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Файлът $kind \"$name\" е дубликат на $exist и не беше добавен'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Прикаченият файл \"$name\" от тип $kind не беше добавен, тъй като е надвишен максималният брой прикачени файлове.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Файлът \"$name\" е празен.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Файлът е празен.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Файл \"$name\" надвишава максимално допустимия размер.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Файлът надвишава максимално допустимия размер.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Възникна грешка при обработката на файла \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Възникна грешка при обработката на файла.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Файлът \"$name\" не беше добавен, защото е надвишен максималният брой прикачени файлове.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Файл(ове) не бяха добавени, тъй като е надвишен максималният брой прикачени файлове.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Файлът не беше добавен, защото е надвишен максималният брой прикачени файлове.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Опит за добавяне на файл без име'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Опит за добавяне на файл с неподдържана разширение: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Опит за добавяне на файл с неподдържано разширение'; + + @override + String get chatAttachmentErrorFileNull => 'Невъзможно е да се добави файл.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Файлът \"$name\" е невалиден и не може да бъде добавен.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Файлът е невалиден и не може да бъде добавен.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Елементът \"$name\" не е валиден файл.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'Елементът не е валиден файл'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Възникна грешка при обработката на елемент.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Възникна грешка при обработката на елемент(и).'; + + @override + String get chatAttachmentErrorNoFiles => 'Не са добавени файлове'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Някои файлове бяха пропуснати поради дубликати със съществуващи файлове.'; + + @override + String get chatAttachmentErrorUnknown => 'Настъпи неизвестна грешка'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Възникнаха следните грешки при прикачване на файлове:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Неуспешно споделяне на файл: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Затвори'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Сподели'; + + @override + String get chatAttachmentPreviewLoading => 'Зареждане на файла...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Неуспешно зареждане на файла'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Настъпи неизвестна грешка'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Опитай отново'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'Неподдържан тип файл'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Не може да се прегледа $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Сподели файл'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Неуспешно показване на изображение'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Нулиране на мащаба'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Неуспешно зареждане на PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Неуспешно декодиране на текстовото съдържание'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'И $count други грешки.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Файлът е повреден'; + + @override + String get chatConsentRequiredTitle => 'Изисква се съгласие'; + + @override + String get chatConsentRequiredText => + 'Като продължавате, вие се съгласявате с нашите Условия, Политика за поверителност и използване на бисквитки и потвърждавате, че тази консултация се предоставя от AI, а не от лицензирано медицинско лице.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Затвори'; + + @override + String get chatHistoryDelete => 'Изтрий'; + + @override + String get chatDelete => 'Изтрий чат'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Чат „$title“ беше успешно изтрит.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Изтриване на чата?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Вашите симптоми, резюме на диагнозата и всякакви препоръки в този чат ще бъдат премахнати.\nТази операция не може да бъде отменена.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Увеличаване'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Намали'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Нулиране на мащаба'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Сподели'; + + @override + String get dateToday => 'Днес'; + + @override + String get dateYesterday => 'Вчера'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Само първа страница. Използвайте Сподели, за да изтеглите целия файл.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_bn.dart b/example/lib/src/generated/chat/chat_localization_bn.dart index 2d6f8c2..605f784 100644 --- a/example/lib/src/generated/chat/chat_localization_bn.dart +++ b/example/lib/src/generated/chat/chat_localization_bn.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'chat_localization.dart'; class ChatLocalizationBn extends ChatLocalization { ChatLocalizationBn([String locale = 'bn']) : super(locale); - @override - String get title => 'চ্যাট'; - @override String get drawerTooltipNotifications => 'বিজ্ঞপ্তি'; @@ -20,10 +17,10 @@ class ChatLocalizationBn extends ChatLocalization { String get drawerTooltipHelp => 'সাহায্য'; @override - String get drawerTooltipClose => 'বন্ধ'; + String get drawerTooltipClose => 'বন্ধ করুন'; @override - String get drawerSectionTitleAccount => 'হিসাব'; + String get drawerSectionTitleAccount => 'অ্যাকাউন্ট'; @override String get drawerSectionProfile => 'প্রোফাইল'; @@ -32,7 +29,7 @@ class ChatLocalizationBn extends ChatLocalization { String get drawerSectionAccountSettings => 'অ্যাকাউন্ট সেটিংস'; @override - String get drawerSectionDonateToSupport => 'সমর্থন দান'; + String get drawerSectionDonateToSupport => 'সমর্থনের জন্য দান করুন'; @override String get drawerSectionSubscription => 'সাবস্ক্রিপশন'; @@ -50,13 +47,13 @@ class ChatLocalizationBn extends ChatLocalization { String get drawerSectionTitleHowToUse => 'কিভাবে ব্যবহার করবেন'; @override - String get drawerSectionVideoTutorials => 'ভিডিও টিউটোরিয়াল'; + String get drawerSectionVideoTutorials => 'ভিডিও টিউটোরিয়ালস'; @override String get drawerSectionTitleLegal => 'আইনি'; @override - String get drawerSectionContactUs => 'আমাদের সাথে যোগাযোগ করুন'; + String get drawerSectionContactUs => 'যোগাযোগ করুন'; @override String get drawerSectionBugReport => 'বাগ রিপোর্ট'; @@ -71,34 +68,46 @@ class ChatLocalizationBn extends ChatLocalization { String get drawerSectionTitleFeedback => 'প্রতিক্রিয়া'; @override - String get drawerSectionRateApp => 'অ্যাপকে রেট দিন'; + String get drawerSectionRateApp => 'অ্যাপ রেট করুন'; @override - String get drawerSectionShareWithFriends => 'বন্ধুদের সাথে শেয়ার করুন'; + String get drawerSectionShareWithFriends => 'বন্ধুদের সাথে শেয়ার করুন'; @override - String get drawerButtonLogOut => 'লগ আউট করুন'; + String get drawerButtonLogOut => 'লগ আউট'; @override String get drawerBannerHelpOthersReceiveMedicalCare => - 'অন্যদের চিকিৎসা সেবা পেতে সাহায্য করুন'; + 'অন্যদের চিকিৎসা সেবা পাওয়ায় সাহায্য করুন'; @override String get drawerPlaceholderUser => 'ব্যবহারকারী'; @override String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => - 'প্রিমিয়াম বৈশিষ্ট্য\nডক্টরিনার সাথে'; + 'প্রিমিয়াম বৈশিষ্ট্য\nডক্টোরিনা এর সাথে'; @override - String get drawerSubscriptionButtonGetPremiumFeatures => 'পান'; + String get drawerSubscriptionButtonGetPremiumFeatures => 'পাও'; @override - String get drawerLabelJoinUs => 'আমাদের সাথে যোগ দিন'; + String get drawerLabelJoinUs => 'যোগ দিন'; @override String get drawerTooltipVersion => 'অ্যাপ সংস্করণ:'; + @override + String get drawerSectionRecentChats => 'সাম্প্রতিক চ্যাট'; + + @override + String get drawerPlaceholderProfile => 'প্রোফাইল'; + + @override + String get drawerPlaceholderRecentChat => 'সাম্প্রতিক চ্যাট'; + + @override + String get drawerSectionDownloadApps => 'অ্যাপ ডাউনলোড করুন'; + @override String get chatInputHintEnterMessage => 'বার্তা লিখুন'; @@ -106,25 +115,28 @@ class ChatLocalizationBn extends ChatLocalization { String get chatInputTooltipAttachFile => 'ফাইল সংযুক্ত করুন'; @override - String get chatInputTooltipDictateMessage => 'বার্তা লিখুন'; + String get chatInputTooltipDictateMessage => 'ডিক্টেট করুন'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'শেষ করুন ও ট্রান্সক্রাইব করুন'; @override String get chatInputTooltipSendMessage => 'বার্তা পাঠান'; @override - String get chatListSnackBarErrorFailedToFetchMessages => - 'বার্তাগুলি আনতে ব্যর্থ হয়েছে৷'; + String get chatListSnackBarErrorFailedToFetchMessages => 'বার্তা আনতে ব্যর্থ'; @override String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => - 'বার্তাগুলি আনতে ব্যর্থ হয়েছে৷ আবার চেষ্টা করুন.'; + 'বার্তা পাওয়া যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।'; @override String get chatListTooltipFetchMessages => 'বার্তা আনুন'; @override String get chatListLabelNoMessagesAvailable => - 'কোন বার্তা উপলব্ধ নেই.\nকথোপকথন শুরু করতে একটি বার্তা পাঠান.'; + 'কোনও বার্তা উপলব্ধ নেই।\nআলোচনা শুরু করতে একটি বার্তা পাঠান।'; @override String get chatListHasConnection => 'সংযুক্ত'; @@ -133,33 +145,36 @@ class ChatLocalizationBn extends ChatLocalization { String get chatListNoConnection => 'সংযোগ নেই'; @override - String get chatActionButtonTooltipSearch => 'অনুসন্ধান করুন'; + String get chatActionButtonTooltipSearch => 'অনুসন্ধান'; @override - String get chatActionButtonTooltipFavorites => 'প্রিয়'; + String get chatActionButtonTooltipFavorites => 'পছন্দ'; @override - String get chatActionButtonTooltipDownload => 'ডাউনলোড করুন'; + String get chatActionButtonTooltipDownload => 'ডাউনলোড'; @override - String get chatActionButtonTooltipPrintPdf => 'পিডিএফ প্রিন্ট করুন'; + String get chatActionButtonTooltipPrintPdf => 'পিডিএফ মুদ্রণ'; @override String get chatActionButtonTooltipShareWithFriends => - 'বন্ধুদের সাথে শেয়ার করুন'; + 'বন্ধুদের সঙ্গে শেয়ার করুন'; @override - String get chatActionButtonTooltipNewChat => 'নতুন আড্ডা'; + String get chatActionButtonTooltipNewChat => 'নতুন চ্যাট'; @override - String get chatActionButtonTooltipChatList => 'চ্যাট নির্বাচন করুন'; + String get chatActionButtonNewChat => 'চ্যাট'; @override - String get chatActionButtonTooltipShowDrawer => 'ড্রয়ার দেখান'; + String get chatActionButtonTooltipChatList => 'চ্যাট নির্বাচন'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ড্রয়ার দেখান'; @override String get chatLabelNoChatAvailableRefresh => - 'কোন চ্যাট উপলব্ধ. অনুগ্রহ করে রিফ্রেশ করুন বা একটি নতুন চ্যাট তৈরি করুন৷'; + 'কোনো চ্যাট উপলব্ধ নেই। অনুগ্রহ করে রিফ্রেশ করুন বা একটি নতুন চ্যাট শুরু করুন।'; @override String get chatButtonRefreshChats => 'চ্যাট রিফ্রেশ করুন'; @@ -168,33 +183,36 @@ class ChatLocalizationBn extends ChatLocalization { String get chatButtonCreateNewChat => 'নতুন চ্যাট তৈরি করুন'; @override - String get chatContextMenuCopyMessage => 'পাঠ্য অনুলিপি করুন'; + String get chatContextMenuCopyMessage => 'পাঠ কপি করুন'; @override - String get chatStatusProcessingMessages => - 'টাইপ করা হচ্ছে...\nমাত্র এক মুহূর্ত...'; + String get chatStatusProcessingMessages => 'টাইপ হচ্ছে\nএক মুহূর্ত'; @override - String get chatNoConnectionLabel => 'আপনার ইন্টারনেট সংযোগ পরীক্ষা করুন'; + String get chatNoConnectionLabel => + 'আপডেট হচ্ছে...\nআপনার ইন্টারনেট সংযোগটি পরীক্ষা করুন'; @override String get chatErrorMessageAlreadyProcessed => - 'বার্তাটি ইতিমধ্যেই প্রক্রিয়া করা হচ্ছে।'; + 'বার্তাটি ইতিমধ্যেই প্রক্রিয়াধীন।'; @override - String get chatErrorMessageTooLong => 'বার্তাটি খুব দীর্ঘ৷'; + String get chatErrorMessageTooLong => 'বার্তাটি খুব দীর্ঘ।'; @override String get chatRemoveAttachmentTooltip => 'সংযুক্তি সরান'; @override - String get chatStatusFailedMessage => 'বার্তা প্রক্রিয়া করতে ব্যর্থ হয়েছে'; + String get chatStatusFailedMessage => 'বার্তা প্রক্রিয়া করতে ব্যর্থ'; + + @override + String get chatActionButtonTooltipExportSummary => 'পিডিএফ-এ রপ্তানি'; @override - String get chatActionButtonTooltipExportSummary => 'PDF এ রপ্তানি করুন'; + String get chatActionExportToPdfTitle => 'PDF'; @override - String get chatPickerPhotos => 'ফটো'; + String get chatPickerPhotos => 'ছবি'; @override String get chatPickerCamera => 'ক্যামেরা'; @@ -203,20 +221,421 @@ class ChatLocalizationBn extends ChatLocalization { String get chatPickerFiles => 'ফাইল'; @override - String get chatRecommendationYIAG => - 'আশা করি যে সাহায্য করেছে! এই ব্যাখ্যা আপনার জন্য দরকারী ছিল?'; + String get chatPickerPhotosFiles => 'ছবি এবং ফাইল'; @override - String get chatRecommendationButtonDonate => 'হ্যাঁ, এটা সব ভাল!'; + String get chatRecommendationYIAG => + 'আশা করি এটি সহায়ক ছিল! এই ব্যাখ্যাটি কি আপনার উপকারে আসল?'; @override - String get chatHistoryTitle => 'চ্যাট ইতিহাস'; + String get chatRecommendationButtonDonate => 'হ্যাঁ, সব ঠিক আছে!'; @override - String get failedToRetrieveChatSummary => - 'চ্যাটের সারাংশ পুনরুদ্ধার করতে ব্যর্থ হয়েছে৷'; + String get failedToRetrieveChatSummary => 'চ্যাট সারাংশ পুনরুদ্ধারে ব্যর্থ'; @override String get chatSummaryCopiedToClipboard => - 'চ্যাটের সারাংশ ক্লিপবোর্ডে কপি করা হয়েছে'; + 'চ্যাট সংক্ষিপ্তসার ক্লিপবোর্ডে অনুলিপি করা হয়েছে'; + + @override + String get tryDoctorinaInTheMobileApp => + 'মোবাইল অ্যাপে Doctorina চেষ্টা করুন!'; + + @override + String get getAppStoreLogoLabel => 'এ ডাউনলোড করুন'; + + @override + String get getGooglePlayLogoLabel => 'এখানে উপলব্ধ'; + + @override + String get getAppStoreLogoTooltip => 'App Store থেকে ডাউনলোড করুন'; + + @override + String get getGooglePlayLogoTooltip => 'গুগল প্লে-এ পান'; + + @override + String get reportMessageDialogTitle => 'বার্তা রিপোর্ট করুন'; + + @override + String get reportMessageDialogSubtitle => + 'আপনি কেন এই বার্তাটি রিপোর্ট করছেন?'; + + @override + String get reportMessageDialogTextFieldHint => + 'ঐচ্ছিক: এই বার্তাটির সাথে কি সমস্যা তা বর্ণনা করুন...'; + + @override + String get reportMessageDialogWhyImportant => + 'এটি আমাদের AI প্রতিক্রিয়া উন্নত করতে সাহায্য করবে।'; + + @override + String get reportMessageDialogCancelButton => 'বাতিল'; + + @override + String get reportMessageDialogReportButton => 'রিপোর্ট'; + + @override + String get reportMessageSnackbarSuccess => + 'আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ! রিপোর্ট জমা দেওয়া হয়েছে।'; + + @override + String get reportMessageSnackbarFailed => 'রিপোর্ট জমা দিতে ব্যর্থ'; + + @override + String get copyMessageSnackbarSuccess => 'ক্লিপবোর্ডে কপি করা হয়েছে'; + + @override + String get copyMessageSnackbarFailed => 'বার্তা কপি করতে ব্যর্থ'; + + @override + String get chatContextMenuReportMessage => 'বার্তা রিপোর্ট করুন'; + + @override + String get chatDropZoneTitle => 'ডাক্তারিনার চ্যাটে আপলোড করুন'; + + @override + String get chatDropZoneSubtitle => + 'ফাইলগুলি এখানে ড্র্যাগ এবং ড্রপ করুন চ্যাটে যোগ করার জন্য'; + + @override + String get chatDropZoneText => + 'একটি বার্তায় সর্বাধিক 15টি ফাইল যোগ করতে পারেন'; + + @override + String get notificationBannerText => + 'আপনার স্বাস্থ্যের বিষয়ে কিছু গুরুত্বপূর্ণ হলে কি আপনাকে জানাতে চাইবো?'; + + @override + String get notificationBannerButtonEnable => 'হ্যাঁ, আমাকে জানাও'; + + @override + String get notificationBannerButtonDisable => 'পরে হয়তো'; + + @override + String get notificationBannerButtonClose => 'বন্ধ করুন'; + + @override + String get notificationAreBlockedSystem => + 'নোটিফিকেশনগুলি সিস্টেম স্তরে ব্লক করা হয়েছে। Doctorina-এর নোটিফিকেশন সক্রিয় করার আগে সিস্টেম সেটিংসে সেগুলি সক্ষম করুন।'; + + @override + String get notificationAreBlockedBrowser => + 'নোটিফিকেশনগুলি সিস্টেম স্তরে ব্লক করা হয়েছে। Doctorina-এর নোটিফিকেশন সক্রিয় করার আগে ব্রাউজারের সেটিংসে সেগুলি সক্ষম করুন।'; + + @override + String get notificationDialogTitle => 'আপনার পরামর্শ সম্পর্কে আপডেট থাকুন'; + + @override + String get notificationDialogDescription => + 'Doctorina আপনার স্বাস্থ্যের নতুন অন্তর্দৃষ্টি বা আপডেট উপলব্ধ হলে আপনাকে জানাতে পারে।'; + + @override + String get notificationDialogEnableButton => 'নোটিফিকেশন সক্রিয় করুন'; + + @override + String get notificationDialogLaterButton => 'পরে হয়তো'; + + @override + String get termsAndConditionBannerText => + 'চালিয়ে যাওয়ার মাধ্যমে আপনি ব্যক্তিগত তথ্য প্রক্রিয়াকরণ, cookies ব্যবহারের সাথে সম্মত হন, terms and conditions-এর সাথে সম্মত হন এবং

privacy policy

স্বীকার করেন। এছাড়াও, আপনি স্বীকার করেন যে আপনার পরামর্শ একটি AI দ্বারা প্রদান করা হচ্ছেন, লাইসেন্সপ্রাপ্ত চিকিৎসা পেশাদারের মাধ্যমে নয়'; + + @override + String get termsAndConditionBannerDismissTooltip => 'অবস্থান'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'এই চ্যাটটি আগে সংরক্ষণ করুন?'; + + @override + String get anonUserNewChatCreationWarningText => + 'নতুন একটি কনসালটেশন শুরু করার আগে এই কনসালটেশন সংরক্ষণের জন্য ফ্রিতে সাইন আপ করুন'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'সেভ না করে শুরু করুন'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'সাইন আপ করুন'; + + @override + String get inputBlockerContinueMessage => + 'আলাপ চালিয়ে যেতে, উপরে একটি বিকল্প নির্বাচন করুন'; + + @override + String get chatServerDialogCloseBtnTooltip => 'বন্ধ করুন'; + + @override + String get chatAttachmentRemoveTooltip => 'সংযুক্তি মুছুন'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'ড্রপ জোন থেকে ফাইল নির্বাচন করতে ব্যর্থ হয়েছে'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'একটি বার্তা লিখুন বা একটি ফাইল সংযুক্ত করুন'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'আপলোড সম্পন্ন হওয়া পর্যন্ত অপেক্ষা করুন'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'বার্তা প্রক্রিয়াকৃত হচ্ছে'; + + @override + String get chatAttachmentErrorMessageTooLong => 'বার্তা খুব দীর্ঘ'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'বার্তাটি বর্তমানে প্রক্রিয়াধীন।'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'সংযোগ স্থায়ীভাবে বন্ধ হয়ে গেছে'; + + @override + String get chatAttachmentErrorNoConnection => 'সার্ভারের সাথে সংযোগ নেই'; + + @override + String get chatAttachmentErrorPickFiles => 'ফাইল নির্বাচন করতে ব্যর্থ'; + + @override + String get chatAttachmentErrorPickImages => 'ছবি নির্বাচন করতে ব্যর্থ'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'ক্যামেরা থেকে ছবি ক্যাপচার করতে ব্যর্থ'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'আপনি একসাথে সর্বাধিক $countটি ফাইল সংযুক্ত করতে পারেন।'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'স্বীকৃত টেক্সট মুছুন'; + + @override + String get chatInputTooltipMessageTooLong => 'বার্তা খুব দীর্ঘ।'; + + @override + String get chatInputTooltipWaitForUploads => + 'আপলোড সম্পন্ন হওয়ার জন্য অপেক্ষা করুন।'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '$kind \"$name\" ইতিমধ্যে সংযুক্ত এবং আবার যোগ করা হয়নি।'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return '$kind \"$name\" $exist এর একটি অনুলিপি এবং এটি যোগ করা হয়নি।'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '$kind \"$name\" সর্বাধিক সংযুক্তির সংখ্যা অতিক্রম করার কারণে যোগ করা হয়নি।'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '\"$name\" ফাইলটি খালি।'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'ফাইলটি খালি।'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'ফাইল \"$name\" সর্বাধিক অনুমোদিত আকার অতিক্রম করেছে।'; + } + + @override + String get chatAttachmentErrorFileSize => + 'ফাইলটি সর্বাধিক অনুমোদিত আকার অতিক্রম করেছে।'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '\"$name\" ফাইলটি প্রক্রিয়া করার সময় একটি ত্রুটি ঘটেছে।'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'ফাইল প্রক্রিয়াকরণের সময় একটি ত্রুটি ঘটেছে।'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'ফাইল \"$name\" যোগ করা হয়নি কারণ সংযুক্তির সর্বাধিক সংখ্যা অতিক্রম করা হয়েছে।'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'অতিরিক্ত ফাইল যুক্ত করা হয়নি কারণ সংযুক্তির সর্বাধিক সংখ্যা অতিক্রম করা হয়েছে।'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'সংযুক্তির সর্বাধিক সংখ্যা অতিক্রম করার কারণে একটি ফাইল যোগ করা হয়নি।'; + + @override + String get chatAttachmentErrorFileMissingName => + 'নামের অভাবযুক্ত একটি ফাইল যোগ করার চেষ্টা করা হয়েছে।'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'সমর্থিত নয় এমন একটি এক্সটেনশন সহ একটি ফাইল যোগ করার চেষ্টা করা হয়েছে: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'সমর্থিত নয় এমন এক্সটেনশনের একটি ফাইল যোগ করার চেষ্টা করা হয়েছে।'; + + @override + String get chatAttachmentErrorFileNull => 'ফাইল যোগ করা সম্ভব নয়।'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return '\"$name\" ফাইলটি অবৈধ এবং এটি যোগ করা যাবে না।'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'একটি ফাইল অবৈধ এবং এটি যোগ করা যাবে না।'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'আইটেম \"$name\" একটি বৈধ ফাইল নয়।'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'একটি আইটেম বৈধ ফাইল নয়।'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'একটি আইটেম প্রক্রিয়া করার সময় একটি ত্রুটি ঘটেছে।'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'একটি (গুলি) আইটেম প্রক্রিয়া করার সময় একটি ত্রুটি ঘটেছে।'; + + @override + String get chatAttachmentErrorNoFiles => 'কোনো ফাইল যোগ করা হয়নি'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'কিছু ফাইল বিদ্যমান ফাইলের সাথে ডুপ্লিকেট হওয়ার কারণে বাদ দেওয়া হয়েছে।'; + + @override + String get chatAttachmentErrorUnknown => 'একটি অজানা ত্রুটি ঘটেছে।'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'ফাইল সংযুক্ত করার সময় নিম্নলিখিত ত্রুটিগুলি ঘটেছে:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'ফাইল শেয়ার করতে ব্যর্থ: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'বন্ধ করুন'; + + @override + String get chatAttachmentPreviewTooltipShare => 'শেয়ার'; + + @override + String get chatAttachmentPreviewLoading => 'ফাইল লোড হচ্ছে...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'ফাইল লোড করতে ব্যর্থ'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'অজানা ত্রুটি ঘটেছে'; + + @override + String get chatAttachmentPreviewButtonRetry => 'পুনরায় চেষ্টা করুন'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'সমর্থিত নয় এমন ফাইলের ধরন'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '$contentType প্রিভিউ করা যাবে না'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'ফাইল শেয়ার করুন'; + + @override + String get chatAttachmentPreviewErrorImage => 'ছবি প্রদর্শনে ব্যর্থ'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'জুম রিসেট করুন'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF লোড করতে ব্যর্থ'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'টেক্সট সামগ্রী ডিকোড করতে ব্যর্থ হয়েছে।'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'এবং $countটি আরও ত্রুটি রয়েছে।'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'ফাইলটি ভুলভাবে তৈরি হয়েছে'; + + @override + String get chatConsentRequiredTitle => 'অনুমতি প্রয়োজন'; + + @override + String get chatConsentRequiredText => + 'অগ্রসর হতে, আপনি আমাদের শর্তাবলী, গোপনীয়তা নীতি, এবং কুকিজের ব্যবহার এর সাথে একমত হন এবং নিশ্চিত করেন যে এই পরামর্শটি একটি লাইসেন্সপ্রাপ্ত চিকিৎসক নয়, AI দ্বারা প্রদান করা হচ্ছে।'; + + @override + String get chatConsentRequiredCloseTooltip => 'বন্ধ করুন'; + + @override + String get chatHistoryDelete => 'মুছে ফেলুন'; + + @override + String get chatDelete => 'চ্যাট মুছুন'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'চ্যাট “$title” সফলভাবে মুছে ফেলা হয়েছে।'; + } + + @override + String get chatDeleteConfirmationTitle => 'চ্যাট মুছে ফেলবেন?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'এই চ্যাটে আপনার উপসর্গ, নির্ণয়ের সারসংক্ষেপ এবং যেকোনো সুপারিশ মুছে ফেলা হবে।\nএই পদক্ষেপটি পূর্বাবস্থায় ফিরিয়ে আনা যাবে না।'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'জুম ইন'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'জুম আউট'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'জুম রিসেট'; + + @override + String get chatAttachmentPreviewShareTooltip => 'শেয়ার'; + + @override + String get dateToday => 'আজ'; + + @override + String get dateYesterday => 'গতকাল'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'শুধুমাত্র প্রথম পৃষ্ঠা। সম্পূর্ণ ফাইল ডাউনলোড করতে শেয়ার ব্যবহার করুন।'; } diff --git a/example/lib/src/generated/chat/chat_localization_ca.dart b/example/lib/src/generated/chat/chat_localization_ca.dart new file mode 100644 index 0000000..cf328ab --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_ca.dart @@ -0,0 +1,645 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Catalan Valencian (`ca`). +class ChatLocalizationCa extends ChatLocalization { + ChatLocalizationCa([String locale = 'ca']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Notificacions'; + + @override + String get drawerTooltipHelp => 'Ajuda'; + + @override + String get drawerTooltipClose => 'Tanca'; + + @override + String get drawerSectionTitleAccount => 'Compte'; + + @override + String get drawerSectionProfile => 'Perfil'; + + @override + String get drawerSectionAccountSettings => 'Configuració del compte'; + + @override + String get drawerSectionDonateToSupport => 'Dona per donar suport'; + + @override + String get drawerSectionSubscription => 'Subscripció'; + + @override + String get drawerSectionTitleChats => 'Xats'; + + @override + String get drawerSectionChatHistory => 'Històric de xats'; + + @override + String get drawerSectionAttachedDocuments => 'Documents Adjunts'; + + @override + String get drawerSectionTitleHowToUse => 'Com utilitzar'; + + @override + String get drawerSectionVideoTutorials => 'Vídeos tutorials'; + + @override + String get drawerSectionTitleLegal => 'Legal'; + + @override + String get drawerSectionContactUs => 'Contacta\'ns'; + + @override + String get drawerSectionBugReport => 'Informe de errors'; + + @override + String get drawerSectionTermsAndConditions => 'Termes i condicions'; + + @override + String get drawerSectionPrivacyPolicy => 'Política de privadesa'; + + @override + String get drawerSectionTitleFeedback => 'Comentaris'; + + @override + String get drawerSectionRateApp => 'Valora l\'App'; + + @override + String get drawerSectionShareWithFriends => 'Comparteix amb els Amics'; + + @override + String get drawerButtonLogOut => 'Tancar sessió'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Ajuda altres a rebre atenció mèdica'; + + @override + String get drawerPlaceholderUser => 'User'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Funcions Premium\namb Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Obteniu'; + + @override + String get drawerLabelJoinUs => 'Uneix-te a nosaltres'; + + @override + String get drawerTooltipVersion => 'Versió de l\'aplicació:'; + + @override + String get drawerSectionRecentChats => 'Xats Recents'; + + @override + String get drawerPlaceholderProfile => 'Perfil'; + + @override + String get drawerPlaceholderRecentChat => 'Xat recent'; + + @override + String get drawerSectionDownloadApps => 'Descarrega Apps'; + + @override + String get chatInputHintEnterMessage => 'Introdueix el missatge'; + + @override + String get chatInputTooltipAttachFile => 'Adjuntar fitxer'; + + @override + String get chatInputTooltipDictateMessage => 'Dictar'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Acaba i transcriu'; + + @override + String get chatInputTooltipSendMessage => 'Envia missatge'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'No s\'han pogut recuperar els missatges'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'No s\'han pogut recuperar els missatges. Si us plau, torna a provar.'; + + @override + String get chatListTooltipFetchMessages => 'Obtenir missatges'; + + @override + String get chatListLabelNoMessagesAvailable => + 'No hi ha missatges disponibles. Si us plau, envia un missatge per començar la conversa.'; + + @override + String get chatListHasConnection => 'Connectat'; + + @override + String get chatListNoConnection => 'Sense connexió'; + + @override + String get chatActionButtonTooltipSearch => 'Cerca'; + + @override + String get chatActionButtonTooltipFavorites => 'Favorits'; + + @override + String get chatActionButtonTooltipDownload => 'Descarregar'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Imprimeix PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'Comparteix amb els Amics'; + + @override + String get chatActionButtonTooltipNewChat => 'Nova xerrada'; + + @override + String get chatActionButtonNewChat => 'Xat'; + + @override + String get chatActionButtonTooltipChatList => 'Selecciona xat'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Mostra el calaix'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'No hi ha xats disponibles. Si us plau, actualitza o crea un nou xat.'; + + @override + String get chatButtonRefreshChats => 'Actualitza xats'; + + @override + String get chatButtonCreateNewChat => 'Crea un nou xat'; + + @override + String get chatContextMenuCopyMessage => 'Copia el text'; + + @override + String get chatStatusProcessingMessages => 'Escrivint'; + + @override + String get chatNoConnectionLabel => 'Actualitzant...'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'El missatge s\'està processant ara mateix.'; + + @override + String get chatErrorMessageTooLong => 'El missatge és massa llarg.'; + + @override + String get chatRemoveAttachmentTooltip => 'Eliminar l\'adjunt'; + + @override + String get chatStatusFailedMessage => 'No s\'ha pogut processar el missatge'; + + @override + String get chatActionButtonTooltipExportSummary => 'Exportar a PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Fotos'; + + @override + String get chatPickerCamera => 'Càmera'; + + @override + String get chatPickerFiles => 'Fitxers'; + + @override + String get chatPickerPhotosFiles => 'Fotos i Fitxers'; + + @override + String get chatRecommendationYIAG => + 'Espero que hagi ajudat! Va ser útil aquesta explicació per a tu?'; + + @override + String get chatRecommendationButtonDonate => 'Sí, tot està bé!'; + + @override + String get failedToRetrieveChatSummary => + 'No s\'ha pogut recuperar el resum del xat'; + + @override + String get chatSummaryCopiedToClipboard => + 'Resum del xat copiat al porta-retalls'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Prova Doctorina a l\'aplicació mòbil!'; + + @override + String get getAppStoreLogoLabel => 'Descarrega a la'; + + @override + String get getGooglePlayLogoLabel => 'OBTÉ ARA'; + + @override + String get getAppStoreLogoTooltip => 'Descarrega a l\'App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Obteniu-ho a Google Play'; + + @override + String get reportMessageDialogTitle => 'Informar missatge'; + + @override + String get reportMessageDialogSubtitle => 'Per què informes aquest missatge?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Opcional: Descriu què està malament amb aquest missatge...'; + + @override + String get reportMessageDialogWhyImportant => + 'Això ens ajudarà a millorar les nostres respostes d\'IA'; + + @override + String get reportMessageDialogCancelButton => 'Cancel·la'; + + @override + String get reportMessageDialogReportButton => 'Informar'; + + @override + String get reportMessageSnackbarSuccess => + 'Gràcies pel vostre comentari! El informe s\'ha enviat.'; + + @override + String get reportMessageSnackbarFailed => 'No s\'ha pogut enviar el informe'; + + @override + String get copyMessageSnackbarSuccess => 'Copiat al porta-retalls'; + + @override + String get copyMessageSnackbarFailed => 'No s\'ha pogut copiar el missatge'; + + @override + String get chatContextMenuReportMessage => 'Informar missatge'; + + @override + String get chatDropZoneTitle => 'Puja a la xat de Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Arrossega i deixa els fitxers aquí per afegir-los al xat'; + + @override + String get chatDropZoneText => 'Podeu afegir fins a 15 fitxers a un missatge'; + + @override + String get notificationBannerText => + 'Vols que t\'avisi si hi ha alguna cosa important sobre la teva salut?'; + + @override + String get notificationBannerButtonEnable => 'Sí, notifica\'m'; + + @override + String get notificationBannerButtonDisable => 'Potser més tard'; + + @override + String get notificationBannerButtonClose => 'Tancar'; + + @override + String get notificationAreBlockedSystem => + 'Les notificacions estan bloquejades a nivell del sistema. Habilita-les a la configuració del sistema abans d\'activar les notificacions de Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Les notificacions estan bloquejades a nivell del sistema. Habilita-les a la configuració del navegador abans d\'activar les notificacions de Doctorina.'; + + @override + String get notificationDialogTitle => + 'Mantingueu-vos actualitzat sobre la vostra consulta'; + + @override + String get notificationDialogDescription => + 'Doctorina et potrà notificar quan hi hagi noves informacions o actualitzacions sobre la teva salut'; + + @override + String get notificationDialogEnableButton => 'Activar notificacions'; + + @override + String get notificationDialogLaterButton => 'Potser més tard'; + + @override + String get termsAndConditionBannerText => + 'En continuar, vostè admet que accepta el tractament de dades personals, l\'ús de cookies, accepta els terms and conditions i reconeix la

privacy policy

. També admet que la seva consulta és amb una IA i no amb un professional mèdic autoritzat'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Descartar'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Desa aquest xat primer?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Registra\'t gratuïtament per desar aquesta consulta abans de començar-ne una de nova'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'Inicia sense desar'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Registrat'; + + @override + String get inputBlockerContinueMessage => + 'Per continuar la conversa, tria una opció a dalt'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Tanca'; + + @override + String get chatAttachmentRemoveTooltip => 'Eliminar adjunt'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'No s\'han pogut seleccionar fitxers de la zona de solta'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Si us plau, introdueix un missatge o adjunta un fitxer'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Si us plau, espere que les càrregues es completin'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'El missatge s\'està processant'; + + @override + String get chatAttachmentErrorMessageTooLong => 'El missatge és massa llarg'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'El missatge s\'està processant ara mateix.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'La connexió està tancada de manera permanent'; + + @override + String get chatAttachmentErrorNoConnection => + 'Sense connexió amb el servidor'; + + @override + String get chatAttachmentErrorPickFiles => + 'No s\'han pogut seleccionar fitxers'; + + @override + String get chatAttachmentErrorPickImages => + 'No s\'han pogut seleccionar imatges'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'No s\'ha pogut capturar la foto de la càmera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Podeu adjuntar fins a $count fitxers alhora.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Esborra el text reconegut'; + + @override + String get chatInputTooltipMessageTooLong => 'El missatge és massa llarg.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Si us plau, espere que les càrregues es completin'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'El $kind \"$name\" ja està adjunt i no s\'ha afegit de nou.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'El $kind \"$name\" és un duplicat de $exist i no s\'ha afegit.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'El $kind \"$name\" no s\'ha afegit perquè s\'ha superat el nombre màxim d\'adjunts.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'El fitxer \"$name\" està buit.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'El fitxer està buit.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'El fitxer \"$name\" supera la mida màxima permesa.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'El fitxer supera la mida màxima permesa.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'S\'ha produït un error en processar el fitxer \"$name\"'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'S\'ha produït un error en processar el fitxer.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'El fitxer \"$name\" no s\'ha afegit perquè s\'ha superat el nombre màxim d\'adjunts.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'A file(s) was not added because the maximum number of attachments has been exceeded.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'No s\'ha afegit un fitxer perquè s\'ha superat el nombre màxim d\'adjunts.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'S\'ha intentat afegir un fitxer sense nom'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'S\'ha intentat afegir un fitxer amb una extensió no compatible: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'S\'ha intentat afegir un fitxer amb una extensió no compatible'; + + @override + String get chatAttachmentErrorFileNull => 'Impossible d\'afegir un fitxer.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'El fitxer \"$name\" no és vàlid i no es pot afegir'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Un fitxer és invàlid i no es pot afegir.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'L\'element \"$name\" no és un fitxer vàlid.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Un element no és un fitxer vàlid.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'S\'ha produït un error en processar un element'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'S\'ha produït un error en processar un o més elements'; + + @override + String get chatAttachmentErrorNoFiles => 'No s\'han afegit fitxers.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Alguns fitxers s\'han omès a causa de duplicats amb fitxers existents.'; + + @override + String get chatAttachmentErrorUnknown => 'S\'ha produït un error desconegut.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'S\'han produït els següents errors en adjuntar fitxers:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'No s\'ha pogut compartir el fitxer: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Tanca'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Comparteix'; + + @override + String get chatAttachmentPreviewLoading => 'Carregant fitxer...'; + + @override + String get chatAttachmentPreviewErrorLoad => + 'No s\'ha pogut carregar el fitxer'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'S\'ha produït un error desconegut'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Torna a provar'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Tipus de fitxer no compatible'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'No es pot previsualitzar $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Comparteix fitxer'; + + @override + String get chatAttachmentPreviewErrorImage => + 'No s\'ha pogut mostrar la imatge'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Restableix zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'No s\'ha pogut carregar el PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'No s\'ha pogut desxifrar el contingut de text.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'I $count errors més.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'El fitxer està mal format'; + + @override + String get chatConsentRequiredTitle => 'Consentiment Requerit'; + + @override + String get chatConsentRequiredText => + 'En continuar, accepteu les nostres Condicions, Política de privacitat, i ús de galetes, i confirmeu que aquesta consulta és proporcionada per IA, no per un professional mèdic autoritzat.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Tanca'; + + @override + String get chatHistoryDelete => 'Esborrar'; + + @override + String get chatDelete => 'Esborra el xat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Xat “$title” eliminat amb èxit.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Esborrar el xat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Els teus símptomes, resum del diagnòstic i qualsevol recomanació d\'aquest xat seran eliminats.\nAquesta acció no es pot desfer.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Augmentar'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Reduir'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Restableix Zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Compartir'; + + @override + String get dateToday => 'Avui'; + + @override + String get dateYesterday => 'Ahir'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Aquesta vista prèvia pot mostrar només la primera pàgina. Descarrega el fitxer per veure el document complet.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_cs.dart b/example/lib/src/generated/chat/chat_localization_cs.dart new file mode 100644 index 0000000..c0a5ad2 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_cs.dart @@ -0,0 +1,637 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Czech (`cs`). +class ChatLocalizationCs extends ChatLocalization { + ChatLocalizationCs([String locale = 'cs']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Oznámení'; + + @override + String get drawerTooltipHelp => 'Nápověda'; + + @override + String get drawerTooltipClose => 'Zavřít'; + + @override + String get drawerSectionTitleAccount => 'Účet'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Nastavení účtu'; + + @override + String get drawerSectionDonateToSupport => 'Darujte na podporu'; + + @override + String get drawerSectionSubscription => 'Předplatné'; + + @override + String get drawerSectionTitleChats => 'Chaty'; + + @override + String get drawerSectionChatHistory => 'Historie chatu'; + + @override + String get drawerSectionAttachedDocuments => 'Připojené dokumenty'; + + @override + String get drawerSectionTitleHowToUse => 'Jak používat'; + + @override + String get drawerSectionVideoTutorials => 'Video tutoriály'; + + @override + String get drawerSectionTitleLegal => 'Právní'; + + @override + String get drawerSectionContactUs => 'Kontaktujte nás'; + + @override + String get drawerSectionBugReport => 'Hlášení chyb'; + + @override + String get drawerSectionTermsAndConditions => 'Podmínky a ujednání'; + + @override + String get drawerSectionPrivacyPolicy => 'Zásady ochrany osobních údajů'; + + @override + String get drawerSectionTitleFeedback => 'Zpětná vazba'; + + @override + String get drawerSectionRateApp => 'Ohodnoťte aplikaci'; + + @override + String get drawerSectionShareWithFriends => 'Sdílet s přáteli'; + + @override + String get drawerButtonLogOut => 'Odhlásit se'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Pomozte ostatním získat lékařskou péči'; + + @override + String get drawerPlaceholderUser => 'Uživatel'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Prémiové funkce\ns Doctorinou'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Získejte'; + + @override + String get drawerLabelJoinUs => 'Připojte se k nám'; + + @override + String get drawerTooltipVersion => 'Verze aplikace:'; + + @override + String get drawerSectionRecentChats => 'Nedávné chaty'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Nedávný chat'; + + @override + String get drawerSectionDownloadApps => 'Stáhnout aplikace'; + + @override + String get chatInputHintEnterMessage => 'Zadejte zprávu'; + + @override + String get chatInputTooltipAttachFile => 'Připojit soubor'; + + @override + String get chatInputTooltipDictateMessage => 'Diktovat'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Dokončit a přepsat'; + + @override + String get chatInputTooltipSendMessage => 'Odeslat zprávu'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Nepodařilo se načíst zprávy'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Nepodařilo se načíst zprávy. Zkuste to prosím znovu.'; + + @override + String get chatListTooltipFetchMessages => 'Načíst zprávy'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Žádné zprávy nejsou k dispozici. Prosím, pošlete zprávu, abyste zahájili konverzaci.'; + + @override + String get chatListHasConnection => 'Připojeno'; + + @override + String get chatListNoConnection => 'Žádné připojení'; + + @override + String get chatActionButtonTooltipSearch => 'Hledat'; + + @override + String get chatActionButtonTooltipFavorites => 'Oblíbené'; + + @override + String get chatActionButtonTooltipDownload => 'Stáhnout'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Tisknout PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Sdílet s přáteli'; + + @override + String get chatActionButtonTooltipNewChat => 'Nový chat'; + + @override + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Vyberte chat'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Zobrazit zásuvku'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Žádné chaty nejsou k dispozici. Prosím, obnovte stránku nebo vytvořte nový chat.'; + + @override + String get chatButtonRefreshChats => 'Obnovit chaty'; + + @override + String get chatButtonCreateNewChat => 'Vytvořit nový chat'; + + @override + String get chatContextMenuCopyMessage => 'Kopírovat text'; + + @override + String get chatStatusProcessingMessages => 'Píšu'; + + @override + String get chatNoConnectionLabel => + 'Aktualizuji...\nZkontrolujte prosím své internetové připojení'; + + @override + String get chatErrorMessageAlreadyProcessed => 'Zpráva se již zpracovává.'; + + @override + String get chatErrorMessageTooLong => 'Zpráva je příliš dlouhá.'; + + @override + String get chatRemoveAttachmentTooltip => 'Odstranit přílohu'; + + @override + String get chatStatusFailedMessage => 'Nepodařilo se zpracovat zprávu'; + + @override + String get chatActionButtonTooltipExportSummary => 'Exportovat do PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Fotografie'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Soubory'; + + @override + String get chatPickerPhotosFiles => 'Fotografie a soubory'; + + @override + String get chatRecommendationYIAG => + 'Doufám, že to pomohlo! Bylo toto vysvětlení užitečné pro vás?'; + + @override + String get chatRecommendationButtonDonate => 'Ano, je to všechno v pořádku!'; + + @override + String get failedToRetrieveChatSummary => + 'Nepodařilo se načíst shrnutí chatu'; + + @override + String get chatSummaryCopiedToClipboard => + 'Shrnutí chatu zkopírováno do schránky'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Vyzkoušejte Doctorina v mobilní aplikaci!'; + + @override + String get getAppStoreLogoLabel => 'Stáhnout na'; + + @override + String get getGooglePlayLogoLabel => 'STÁHNOUT'; + + @override + String get getAppStoreLogoTooltip => 'Stáhnout z App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Získejte to na Google Play'; + + @override + String get reportMessageDialogTitle => 'Nahlásit zprávu'; + + @override + String get reportMessageDialogSubtitle => 'Proč hlásíte tuto zprávu?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Volitelné: Popište, co je špatně s touto zprávou...'; + + @override + String get reportMessageDialogWhyImportant => + 'To nám pomůže zlepšit naše odpovědi AI.'; + + @override + String get reportMessageDialogCancelButton => 'Zrušit'; + + @override + String get reportMessageDialogReportButton => 'Nahlásit'; + + @override + String get reportMessageSnackbarSuccess => + 'Děkujeme za vaši zpětnou vazbu! Zpráva byla odeslána.'; + + @override + String get reportMessageSnackbarFailed => 'Odeslání zprávy se nezdařilo'; + + @override + String get copyMessageSnackbarSuccess => 'Zkopírováno do schránky'; + + @override + String get copyMessageSnackbarFailed => 'Kopírování zprávy se nezdařilo'; + + @override + String get chatContextMenuReportMessage => 'Nahlásit zprávu'; + + @override + String get chatDropZoneTitle => 'Nahrajte do chatu Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Přetáhněte sem soubory, které chcete přidat do chatu'; + + @override + String get chatDropZoneText => 'Můžete přidat až 15 souborů k jedné zprávě'; + + @override + String get notificationBannerText => + 'Chtěli byste, abych vás informoval, pokud se objeví něco důležitého ohledně vašeho zdraví?'; + + @override + String get notificationBannerButtonEnable => 'Ano, informujte mě'; + + @override + String get notificationBannerButtonDisable => 'Možná později'; + + @override + String get notificationBannerButtonClose => 'Zavřít'; + + @override + String get notificationAreBlockedSystem => + 'Oznámení jsou blokována na úrovni systému. Povolte je v systémových nastaveních před aktivací oznámení Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Oznámení jsou blokována na systémové úrovni. Povolte je v nastavení prohlížeče před aktivací oznámení Doctorina.'; + + @override + String get notificationDialogTitle => 'Buďte informováni o své konzultaci'; + + @override + String get notificationDialogDescription => + 'Doctorina vás může informovat, když budou k dispozici nové poznatky nebo aktualizace o vašem zdraví.'; + + @override + String get notificationDialogEnableButton => 'Povolit oznámení'; + + @override + String get notificationDialogLaterButton => 'Možná později'; + + @override + String get termsAndConditionBannerText => + 'Pokračováním vyjadřujete souhlas se zpracováním osobních údajů, používáním cookies, souhlasíte s podmínkami a potvrzujete

zásady ochrany osobních údajů

. Také potvrzujete, že vaše konzultace probíhá s AI a ne s licencovaným lékařským odborníkem'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Zavřít'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Nejprve uložit tuto konverzaci?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Zaregistrujte se zdarma a uložte si tuto konzultaci před zahájením nové'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'Spustit bez uložení'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Zaregistrovat se'; + + @override + String get inputBlockerContinueMessage => + 'Pro pokračování v konverzaci vyberte možnost výše'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Zavřít'; + + @override + String get chatAttachmentRemoveTooltip => 'Odstranit přílohu'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Nepodařilo se vybrat soubory z oblasti pro přetahování'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Prosím, zadejte zprávu nebo připojte soubor'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Čekejte na dokončení nahrávání'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Zpráva se zpracovává'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Zpráva je příliš dlouhá'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Zpráva se právě zpracovává.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Připojení je trvale uzavřeno'; + + @override + String get chatAttachmentErrorNoConnection => 'Žádné připojení k serveru'; + + @override + String get chatAttachmentErrorPickFiles => 'Nepodařilo se vybrat soubory'; + + @override + String get chatAttachmentErrorPickImages => 'Nepodařilo se vybrat obrázky'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Nepodařilo se zachytit fotografii z kamery'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Můžete připojit až $count souborů najednou.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Vymazat rozpoznaný text'; + + @override + String get chatInputTooltipMessageTooLong => 'Zpráva je příliš dlouhá.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Prosím, počkejte na dokončení nahrávání.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Soubor $kind \"$name\" je již připojen a nebyl znovu přidán.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Soubor $kind \"$name\" je duplicitou $exist a nebyl přidán.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Příloha \"$name\" typu $kind nebyla přidána, protože byl překročen maximální počet příloh.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Soubor \"$name\" je prázdný.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Soubor je prázdný.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Soubor \"$name\" překračuje maximální povolenou velikost.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Soubor překračuje maximální povolenou velikost.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Došlo k chybě při zpracování souboru \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Došlo k chybě při zpracování souboru.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Soubor \"$name\" nebyl přidán, protože byl překročen maximální počet příloh.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Soubor(y) nebyl(y) přidán(y), protože byl překročen maximální počet příloh.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Soubor nebyl přidán, protože byl překročen maximální počet příloh.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Byl pokus o přidání souboru bez názvu'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Byl pokus o přidání souboru s nepodporovanou příponou: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Byl pokus o přidání souboru s nepodporovanou příponou'; + + @override + String get chatAttachmentErrorFileNull => 'Nelze přidat soubor.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Soubor \"$name\" je neplatný a nelze ho přidat.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Soubor je neplatný a nelze jej přidat.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Položka \"$name\" není platný soubor.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'Položka není platný soubor'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Došlo k chybě při zpracování položky.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Došlo k chybě při zpracování položky/položek.'; + + @override + String get chatAttachmentErrorNoFiles => 'Nebyl přidán žádný soubor'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Některé soubory byly přeskočeny kvůli duplikátům s existujícími soubory.'; + + @override + String get chatAttachmentErrorUnknown => 'Došlo k neznámé chybě'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Při připojování souborů došlo k následujícím chybám:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Sdílení souboru se nezdařilo: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Zavřít'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Sdílet'; + + @override + String get chatAttachmentPreviewLoading => 'Načítání souboru...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Nepodařilo se načíst soubor'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Došlo k neznámé chybě'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Zkusit znovu'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Nepodporovaný typ souboru'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Nelze zobrazit $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Sdílet soubor'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Nepodařilo se zobrazit obrázek'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Resetovat přiblížení'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Nepodařilo se načíst PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Nepodařilo se dekódovat textový obsah'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'A $count dalších chyb.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Soubor je poškozený'; + + @override + String get chatConsentRequiredTitle => 'Souhlas vyžadován'; + + @override + String get chatConsentRequiredText => + 'Pokračováním souhlasíte s našimi Podmínkami, Zásadami ochrany osobních údajů a používáním cookies a potvrzujete, že tato konzultace je poskytována AI, nikoli licencovaným zdravotnickým pracovníkem.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Zavřít'; + + @override + String get chatHistoryDelete => 'Smazat'; + + @override + String get chatDelete => 'Smazat chat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat „$title“ byl úspěšně smazán.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Smazat chat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Vaše příznaky, shrnutí diagnózy a jakékoli doporučení v tomto chatu budou odstraněny.\nTuto akci nelze vrátit zpět.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Přiblížit'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Zmenšit'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Obnovit přiblížení'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Sdílet'; + + @override + String get dateToday => 'Dnes'; + + @override + String get dateYesterday => 'Včera'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Pouze první stránka. Použijte Sdílet pro stažení celého souboru.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_da.dart b/example/lib/src/generated/chat/chat_localization_da.dart new file mode 100644 index 0000000..60fa2aa --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_da.dart @@ -0,0 +1,637 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Danish (`da`). +class ChatLocalizationDa extends ChatLocalization { + ChatLocalizationDa([String locale = 'da']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Notifikationer'; + + @override + String get drawerTooltipHelp => 'Hjælp'; + + @override + String get drawerTooltipClose => 'Luk'; + + @override + String get drawerSectionTitleAccount => 'Konto'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Kontoindstillinger'; + + @override + String get drawerSectionDonateToSupport => 'Doner for at støtte'; + + @override + String get drawerSectionSubscription => 'Abonnement'; + + @override + String get drawerSectionTitleChats => 'Chats'; + + @override + String get drawerSectionChatHistory => 'Chat-historik'; + + @override + String get drawerSectionAttachedDocuments => 'Vedhæftede Dokumenter'; + + @override + String get drawerSectionTitleHowToUse => 'Sådan bruges'; + + @override + String get drawerSectionVideoTutorials => 'Video tutorials'; + + @override + String get drawerSectionTitleLegal => 'Juridisk'; + + @override + String get drawerSectionContactUs => 'Kontakt Os'; + + @override + String get drawerSectionBugReport => 'Fejlrapport'; + + @override + String get drawerSectionTermsAndConditions => 'Vilkår og betingelser'; + + @override + String get drawerSectionPrivacyPolicy => 'Privatlivspolitik'; + + @override + String get drawerSectionTitleFeedback => 'Feedback'; + + @override + String get drawerSectionRateApp => 'Vurder App'; + + @override + String get drawerSectionShareWithFriends => 'Del med Venner'; + + @override + String get drawerButtonLogOut => 'Log ud'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Hjælp andre med at modtage medicinsk behandling'; + + @override + String get drawerPlaceholderUser => 'User'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Premiumfunktioner\nmed Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Få'; + + @override + String get drawerLabelJoinUs => 'Deltag hos os'; + + @override + String get drawerTooltipVersion => 'App-version:'; + + @override + String get drawerSectionRecentChats => 'Seneste Chats'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Seneste chat'; + + @override + String get drawerSectionDownloadApps => 'Download Apps'; + + @override + String get chatInputHintEnterMessage => 'Indtast besked'; + + @override + String get chatInputTooltipAttachFile => 'Vedhæft fil'; + + @override + String get chatInputTooltipDictateMessage => 'Diktér'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Afslut & Transskriber'; + + @override + String get chatInputTooltipSendMessage => 'Send besked'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Kunne ikke hente beskeder'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Kunne ikke hente beskeder. Prøv venligst igen.'; + + @override + String get chatListTooltipFetchMessages => 'Hent beskeder'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Ingen beskeder tilgængelige. Send venligst en besked for at starte samtalen.'; + + @override + String get chatListHasConnection => 'Forbundet'; + + @override + String get chatListNoConnection => 'Ingen forbindelse'; + + @override + String get chatActionButtonTooltipSearch => 'Søg'; + + @override + String get chatActionButtonTooltipFavorites => 'Favoritter'; + + @override + String get chatActionButtonTooltipDownload => 'Download'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Print PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Del med Venner'; + + @override + String get chatActionButtonTooltipNewChat => 'Ny chat'; + + @override + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Vælg chat'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Vis skuffe'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Ingen chats tilgængelige. Venligst opdater eller opret en ny chat.'; + + @override + String get chatButtonRefreshChats => 'Opdater chats'; + + @override + String get chatButtonCreateNewChat => 'Opret ny chat'; + + @override + String get chatContextMenuCopyMessage => 'Kopier tekst'; + + @override + String get chatStatusProcessingMessages => 'Skriver'; + + @override + String get chatNoConnectionLabel => 'Opdaterer...'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Beskeden behandles allerede lige nu.'; + + @override + String get chatErrorMessageTooLong => 'Beskeden er for lang.'; + + @override + String get chatRemoveAttachmentTooltip => 'Fjern vedhæftning'; + + @override + String get chatStatusFailedMessage => 'Kunne ikke behandle besked'; + + @override + String get chatActionButtonTooltipExportSummary => 'Eksporter til PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Fotos'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Filer'; + + @override + String get chatPickerPhotosFiles => 'Fotos og Filer'; + + @override + String get chatRecommendationYIAG => + 'Jeg håber, det hjalp! Var denne forklaring nyttig for dig?'; + + @override + String get chatRecommendationButtonDonate => 'Ja, det er alt godt!'; + + @override + String get failedToRetrieveChatSummary => 'Kunne ikke hente chatoversigt'; + + @override + String get chatSummaryCopiedToClipboard => + 'Samtalesammendrag kopieret til udklipsholder'; + + @override + String get tryDoctorinaInTheMobileApp => 'Prøv Doctorina i mobilappen!'; + + @override + String get getAppStoreLogoLabel => 'Download på den'; + + @override + String get getGooglePlayLogoLabel => 'HENT DET PÅ'; + + @override + String get getAppStoreLogoTooltip => 'Download på App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Få det på Google Play'; + + @override + String get reportMessageDialogTitle => 'Rapporter besked'; + + @override + String get reportMessageDialogSubtitle => + 'Hvorfor rapporterer du denne besked?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Valgfrit: Beskriv hvad der er galt med denne besked...'; + + @override + String get reportMessageDialogWhyImportant => + 'Dette vil hjælpe os med at forbedre vores AI-svar'; + + @override + String get reportMessageDialogCancelButton => 'Annuller'; + + @override + String get reportMessageDialogReportButton => 'Rapportér'; + + @override + String get reportMessageSnackbarSuccess => + 'Tak for din feedback! Rapporten er blevet indsendt.'; + + @override + String get reportMessageSnackbarFailed => 'Fejl ved indsendelse af rapport'; + + @override + String get copyMessageSnackbarSuccess => 'Kopieret til udklipsholderen'; + + @override + String get copyMessageSnackbarFailed => 'Kunne ikke kopiere besked'; + + @override + String get chatContextMenuReportMessage => 'Rapporter besked'; + + @override + String get chatDropZoneTitle => 'Upload til Doctorina chat'; + + @override + String get chatDropZoneSubtitle => + 'Træk og slip filer her for at tilføje til chat'; + + @override + String get chatDropZoneText => 'Du kan tilføje op til 15 filer til én besked'; + + @override + String get notificationBannerText => + 'Vil du have, at jeg skal underrette dig, hvis der kommer noget vigtigt om dit helbred?'; + + @override + String get notificationBannerButtonEnable => 'Ja, giv mig besked'; + + @override + String get notificationBannerButtonDisable => 'Måske senere'; + + @override + String get notificationBannerButtonClose => 'Luk'; + + @override + String get notificationAreBlockedSystem => + 'Notifikationer er blokeret på systemniveau. Aktiver dem i systemindstillingerne, før du aktiverer Doctorinas notifikationer.'; + + @override + String get notificationAreBlockedBrowser => + 'Notifikationer er blokeret på systemniveau. Aktiver dem i browserindstillingerne, før du aktiverer Doctorinas notifikationer.'; + + @override + String get notificationDialogTitle => + 'Hold dig opdateret om din konsultation'; + + @override + String get notificationDialogDescription => + 'Doctorina kan underrette dig, når der er nye indsigter eller opdateringer om dit helbred'; + + @override + String get notificationDialogEnableButton => 'Aktivér meddelelser'; + + @override + String get notificationDialogLaterButton => 'Måske senere'; + + @override + String get termsAndConditionBannerText => + 'Ved at fortsætte accepterer du behandlingen af persondata, brugen af cookies, accepterer terms and conditions og anerkender

privacy policy

. Du anerkender også, at din konsultation er med en AI og ikke med en autoriseret læge'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Afvis'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Gem denne chat først?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Tilmeld dig gratis for at gemme denne konsultation, før du starter en ny'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'Start uden at gemme'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Tilmeld dig'; + + @override + String get inputBlockerContinueMessage => + 'For at fortsætte samtalen, vælg en mulighed ovenfor'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Luk'; + + @override + String get chatAttachmentRemoveTooltip => 'Fjern vedhæftning'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Kunne ikke vælge filer fra dropzone'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Indtast venligst en besked eller vedhæft en fil'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Vent venligst på, at uploads er færdige'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Besked bliver behandlet'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Beskeden er for lang'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Beskeden bliver allerede behandlet lige nu.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Forbindelsen er permanent lukket'; + + @override + String get chatAttachmentErrorNoConnection => + 'Ingen forbindelse til serveren'; + + @override + String get chatAttachmentErrorPickFiles => 'Kunne ikke vælge filer'; + + @override + String get chatAttachmentErrorPickImages => 'Kunne ikke vælge billeder'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Kunne ikke tage foto fra kameraet'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Du kan vedhæfte op til $count filer ad gangen.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Ryd genkendt tekst'; + + @override + String get chatInputTooltipMessageTooLong => 'Beskeden er for lang.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Vent venligst på, at uploads bliver færdige'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '$kind \"$name\" er allerede vedhæftet og blev ikke tilføjet igen.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Den $kind \"$name\" er en duplikat af $exist og blev ikke tilføjet.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Den $kind \"$name\" blev ikke tilføjet, fordi det maksimale antal vedhæftninger er overskredet.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Filen \"$name\" er tom.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Filen er tom.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Filen \"$name\" overskrider den maksimalt tilladte størrelse.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Filstørrelsen overskrider den maksimalt tilladte størrelse.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Der opstod en fejl under behandlingen af filen \"$name\"'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Der opstod en fejl under behandlingen af filen.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Filen \"$name\" blev ikke tilføjet, fordi det maksimale antal vedhæftede filer er overskredet.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'A file(s) was not added because the maximum number of attachments has been exceeded.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'En fil blev ikke tilføjet, fordi det maksimale antal vedhæftninger er overskredet.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'En fil uden navn blev forsøgt tilføjet'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Der blev forsøgt at tilføje en fil med en ikke-understøttet filtype: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'En fil med en ikke-understøttet filtype blev forsøgt tilføjet'; + + @override + String get chatAttachmentErrorFileNull => 'Umuligt at tilføje en fil.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Filen \"$name\" er ugyldig og kan ikke tilføjes'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'En fil er ugyldig og kan ikke tilføjes.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Elementet \"$name\" er ikke en gyldig fil.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Et element er ikke en gyldig fil.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Der opstod en fejl under behandlingen af et element'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Der opstod en fejl under behandling af et element(er)'; + + @override + String get chatAttachmentErrorNoFiles => 'Ingen filer blev tilføjet.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Nogle filer blev sprunget over på grund af duplikater med eksisterende filer.'; + + @override + String get chatAttachmentErrorUnknown => 'Der opstod en ukendt fejl.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Følgende fejl opstod under vedhæftning af filer:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Kunne ikke dele fil: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Luk'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Del'; + + @override + String get chatAttachmentPreviewLoading => 'Indlæser fil...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Kunne ikke indlæse filen'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Der opstod en ukendt fejl'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Prøv igen'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Ikke-understøttet filtype'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Kan ikke forhåndsvise $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Del fil'; + + @override + String get chatAttachmentPreviewErrorImage => 'Kunne ikke vise billede'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Nulstil zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Kunne ikke indlæse PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Kunne ikke dekode tekstindhold.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Og $count flere fejl.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Fil er malformateret'; + + @override + String get chatConsentRequiredTitle => 'Samtykke Påkrævet'; + + @override + String get chatConsentRequiredText => + 'Ved at fortsætte accepterer du vores Vilkår, Privatlivspolitik, og brug af cookies, og bekræfter, at denne konsultation leveres af AI, ikke en autoriseret sundhedsprofessionel.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Luk'; + + @override + String get chatHistoryDelete => 'Slet'; + + @override + String get chatDelete => 'Slet chat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat “$title” slettet med succes.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Slet chat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Dine symptomer, diagnoseoversigt og eventuelle anbefalinger i denne chat vil blive fjernet.\nDenne handling kan ikke fortrydes.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Zoom Ind'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Zoom Ud'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Nulstil Zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Del'; + + @override + String get dateToday => 'I dag'; + + @override + String get dateYesterday => 'I går'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Denne forhåndsvisning kan kun vise den første side. Download filen for at se det fulde dokument.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_de.dart b/example/lib/src/generated/chat/chat_localization_de.dart index 65e60bb..12e2b31 100644 --- a/example/lib/src/generated/chat/chat_localization_de.dart +++ b/example/lib/src/generated/chat/chat_localization_de.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'chat_localization.dart'; class ChatLocalizationDe extends ChatLocalization { ChatLocalizationDe([String locale = 'de']) : super(locale); - @override - String get title => 'Chat'; - @override String get drawerTooltipNotifications => 'Benachrichtigungen'; @@ -62,8 +59,7 @@ class ChatLocalizationDe extends ChatLocalization { String get drawerSectionBugReport => 'Fehlermeldung '; @override - String get drawerSectionTermsAndConditions => - 'Allgemeine Geschäftsbedingungen'; + String get drawerSectionTermsAndConditions => 'Geschäftsbedingungen'; @override String get drawerSectionPrivacyPolicy => 'Datenschutzrichtlinie'; @@ -100,6 +96,18 @@ class ChatLocalizationDe extends ChatLocalization { @override String get drawerTooltipVersion => 'Version:'; + @override + String get drawerSectionRecentChats => 'Kürzliche Chats'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Letzter Chat'; + + @override + String get drawerSectionDownloadApps => 'Apps herunterladen'; + @override String get chatInputHintEnterMessage => 'Nachricht eingeben'; @@ -107,7 +115,10 @@ class ChatLocalizationDe extends ChatLocalization { String get chatInputTooltipAttachFile => 'Datei anhängen'; @override - String get chatInputTooltipDictateMessage => 'Nachricht diktieren'; + String get chatInputTooltipDictateMessage => 'Diktieren'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Beenden & Transkribieren'; @override String get chatInputTooltipSendMessage => 'Nachricht senden'; @@ -151,6 +162,9 @@ class ChatLocalizationDe extends ChatLocalization { @override String get chatActionButtonTooltipNewChat => 'Neuer Chat'; + @override + String get chatActionButtonNewChat => 'Chat'; + @override String get chatActionButtonTooltipChatList => 'Chat auswählen'; @@ -171,11 +185,11 @@ class ChatLocalizationDe extends ChatLocalization { String get chatContextMenuCopyMessage => 'Text kopieren'; @override - String get chatStatusProcessingMessages => 'Schreibt...\nEinen Moment...'; + String get chatStatusProcessingMessages => 'Schreibt\nEinen Moment'; @override String get chatNoConnectionLabel => - 'Bitte überprüfen Sie Ihre Internetverbindung.'; + 'Aktualisiere...\nBitte überprüfen Sie Ihre Internetverbindung'; @override String get chatErrorMessageAlreadyProcessed => @@ -194,6 +208,9 @@ class ChatLocalizationDe extends ChatLocalization { @override String get chatActionButtonTooltipExportSummary => 'Als PDF exportieren'; + @override + String get chatActionExportToPdfTitle => 'PDF'; + @override String get chatPickerPhotos => 'Fotos'; @@ -204,14 +221,14 @@ class ChatLocalizationDe extends ChatLocalization { String get chatPickerFiles => 'Dateien'; @override - String get chatRecommendationYIAG => - 'Hoffe, das hat geholfen! War diese Erklärung für Sie hilfreich?'; + String get chatPickerPhotosFiles => 'Fotos und Dateien'; @override - String get chatRecommendationButtonDonate => 'Ja, alles gut!'; + String get chatRecommendationYIAG => + 'Ich hoffe, das hat geholfen! War diese Erklärung für dich hilfreich?'; @override - String get chatHistoryTitle => 'Chatverlauf'; + String get chatRecommendationButtonDonate => 'Ja, alles ist gut!'; @override String get failedToRetrieveChatSummary => @@ -220,4 +237,416 @@ class ChatLocalizationDe extends ChatLocalization { @override String get chatSummaryCopiedToClipboard => 'Chat-Zusammenfassung in die Zwischenablage kopiert'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Probieren Sie Doctorina in der mobilen App!'; + + @override + String get getAppStoreLogoLabel => 'Herunterladen im'; + + @override + String get getGooglePlayLogoLabel => 'ERHÄLTLICH BEI'; + + @override + String get getAppStoreLogoTooltip => 'Im App Store herunterladen'; + + @override + String get getGooglePlayLogoTooltip => 'Holen Sie es sich im Google Play'; + + @override + String get reportMessageDialogTitle => 'Nachricht melden'; + + @override + String get reportMessageDialogSubtitle => 'Warum melden Sie diese Nachricht?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Optional: Beschreiben Sie, was mit dieser Nachricht nicht stimmt...'; + + @override + String get reportMessageDialogWhyImportant => + 'Das wird uns helfen, unsere KI-Antworten zu verbessern.'; + + @override + String get reportMessageDialogCancelButton => 'Abbrechen'; + + @override + String get reportMessageDialogReportButton => 'Bericht'; + + @override + String get reportMessageSnackbarSuccess => + 'Danke für Ihr Feedback! Der Bericht wurde eingereicht.'; + + @override + String get reportMessageSnackbarFailed => + 'Bericht konnte nicht gesendet werden'; + + @override + String get copyMessageSnackbarSuccess => 'In die Zwischenablage kopiert'; + + @override + String get copyMessageSnackbarFailed => + 'Nachricht konnte nicht kopiert werden'; + + @override + String get chatContextMenuReportMessage => 'Nachricht melden'; + + @override + String get chatDropZoneTitle => 'Laden Sie in den Doctorina-Chat hoch'; + + @override + String get chatDropZoneSubtitle => + 'Ziehen Sie Dateien hierher, um sie zum Chat hinzuzufügen'; + + @override + String get chatDropZoneText => + 'Sie können bis zu 15 Dateien in eine Nachricht hinzufügen'; + + @override + String get notificationBannerText => + 'Möchten Sie, dass ich Sie benachrichtige, wenn etwas Wichtiges zu Ihrer Gesundheit aufkommt?'; + + @override + String get notificationBannerButtonEnable => 'Ja, benachrichtige mich'; + + @override + String get notificationBannerButtonDisable => 'Vielleicht später'; + + @override + String get notificationBannerButtonClose => 'Schließen'; + + @override + String get notificationAreBlockedSystem => + 'Benachrichtigungen sind auf Systemebene blockiert. Aktivieren Sie sie in den Systemeinstellungen, bevor Sie die Benachrichtigungen von Doctorina aktivieren.'; + + @override + String get notificationAreBlockedBrowser => + 'Benachrichtigungen sind auf Systemebene blockiert. Aktivieren Sie sie in den Browsereinstellungen, bevor Sie die Benachrichtigungen von Doctorina aktivieren.'; + + @override + String get notificationDialogTitle => + 'Bleiben Sie über Ihre Konsultation informiert'; + + @override + String get notificationDialogDescription => + 'Doctorina kann Sie benachrichtigen, wenn neue Erkenntnisse oder Updates zu Ihrer Gesundheit verfügbar sind.'; + + @override + String get notificationDialogEnableButton => 'Benachrichtigungen aktivieren'; + + @override + String get notificationDialogLaterButton => 'Vielleicht später'; + + @override + String get termsAndConditionBannerText => + 'Indem Sie fortfahren, stimmen Sie der Verarbeitung personenbezogener Daten, der Verwendung von Cookies zu, akzeptieren die Nutzungsbedingungen und bestätigen die

Datenschutzrichtlinie

. Außerdem bestätigen Sie, dass Ihre Beratung durch eine KI und nicht durch einen lizenzierten Mediziner erfolgt'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Schließen'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Chat zuerst speichern?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Melde dich kostenlos an, um diese Beratung zu speichern, bevor du eine neue beginnst'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Ohne Speichern starten'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Registrieren'; + + @override + String get inputBlockerContinueMessage => + 'Um das Gespräch fortzusetzen, wählen Sie eine Option oben'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Schließen'; + + @override + String get chatAttachmentRemoveTooltip => 'Anhang entfernen'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Fehler beim Auswählen von Dateien aus dem Ablagebereich'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Bitte geben Sie eine Nachricht ein oder fügen Sie eine Datei an'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Bitte warten Sie, bis die Uploads abgeschlossen sind'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'Nachricht wird verarbeitet'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Die Nachricht ist zu lang'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Die Nachricht wird gerade verarbeitet.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Die Verbindung ist dauerhaft geschlossen'; + + @override + String get chatAttachmentErrorNoConnection => 'Keine Verbindung zum Server'; + + @override + String get chatAttachmentErrorPickFiles => + 'Dateien konnten nicht ausgewählt werden'; + + @override + String get chatAttachmentErrorPickImages => + 'Bilder konnten nicht ausgewählt werden'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Fehler beim Aufnehmen eines Fotos mit der Kamera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Sie können bis zu $count Dateien gleichzeitig anhängen.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Erkannten Text löschen'; + + @override + String get chatInputTooltipMessageTooLong => 'Die Nachricht ist zu lang.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Bitte warten Sie, bis die Uploads abgeschlossen sind.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Der $kind \"$name\" ist bereits angehängt und wurde nicht erneut hinzugefügt.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Die $kind \"$name\" ist ein Duplikat von $exist und wurde nicht hinzugefügt.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Die $kind \"$name\" wurde nicht hinzugefügt, da die maximale Anzahl an Anhängen überschritten wurde.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Die Datei \"$name\" ist leer.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Die Datei ist leer.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Die Datei \"$name\" überschreitet die maximal erlaubte Größe.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Die Datei überschreitet die maximal erlaubte Größe.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Beim Verarbeiten der Datei \"$name\" ist ein Fehler aufgetreten.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Beim Verarbeiten der Datei ist ein Fehler aufgetreten.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Die Datei \"$name\" wurde nicht hinzugefügt, da die maximale Anzahl an Anhängen überschritten wurde.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Eine Datei(en) wurde nicht hinzugefügt, da die maximale Anzahl an Anhängen überschritten wurde.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Eine Datei wurde nicht hinzugefügt, da die maximale Anzahl an Anhängen überschritten wurde.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Es wurde versucht, eine Datei ohne Namen hinzuzufügen.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Eine Datei mit einer nicht unterstützten Erweiterung wurde versucht hinzuzufügen: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Eine Datei mit einer nicht unterstützten Erweiterung wurde versucht hinzuzufügen.'; + + @override + String get chatAttachmentErrorFileNull => + 'Es ist unmöglich, eine Datei hinzuzufügen.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Die Datei \"$name\" ist ungültig und kann nicht hinzugefügt werden.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Eine Datei ist ungültig und kann nicht hinzugefügt werden.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Der Artikel \"$name\" ist keine gültige Datei.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Ein Element ist keine gültige Datei'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Beim Verarbeiten eines Elements ist ein Fehler aufgetreten.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Beim Verarbeiten eines Artikels ist ein Fehler aufgetreten.'; + + @override + String get chatAttachmentErrorNoFiles => + 'Es wurden keine Dateien hinzugefügt.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Einige Dateien wurden aufgrund von Duplikaten mit vorhandenen Dateien übersprungen.'; + + @override + String get chatAttachmentErrorUnknown => + 'Ein unbekannter Fehler ist aufgetreten.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Die folgenden Fehler sind beim Anhängen von Dateien aufgetreten:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Datei konnte nicht geteilt werden: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Schließen'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Teilen'; + + @override + String get chatAttachmentPreviewLoading => 'Datei wird geladen...'; + + @override + String get chatAttachmentPreviewErrorLoad => + 'Datei konnte nicht geladen werden'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Unbekannter Fehler aufgetreten'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Wiederholen'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Nicht unterstützter Dateityp'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Kann $contentType nicht anzeigen'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Datei teilen'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Bild konnte nicht angezeigt werden'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Zoom zurücksetzen'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF konnte nicht geladen werden'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Fehler beim Dekodieren des Textinhalts.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Und $count weitere Fehler.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Datei ist fehlerhaft'; + + @override + String get chatConsentRequiredTitle => 'Zustimmung erforderlich'; + + @override + String get chatConsentRequiredText => + 'Indem Sie fortfahren, stimmen Sie unseren Nutzungsbedingungen, Datenschutzbestimmungen und der Verwendung von Cookies zu und bestätigen, dass diese Beratung von KI und nicht von einem lizenzierten medizinischen Fachmann bereitgestellt wird.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Schließen'; + + @override + String get chatHistoryDelete => 'Löschen'; + + @override + String get chatDelete => 'Chat löschen'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat „$title“ erfolgreich gelöscht.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Chat löschen?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Ihre Symptome, die Zusammenfassung der Diagnose und alle Empfehlungen in diesem Chat werden entfernt.\nDiese Aktion kann nicht rückgängig gemacht werden.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Vergrößern'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Verkleinern'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Zoom zurücksetzen'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Teilen'; + + @override + String get dateToday => 'Heute'; + + @override + String get dateYesterday => 'Gestern'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Nur erste Seite. Verwenden Sie Teilen, um die vollständige Datei herunterzuladen.'; } diff --git a/example/lib/src/generated/chat/chat_localization_el.dart b/example/lib/src/generated/chat/chat_localization_el.dart new file mode 100644 index 0000000..c5f64f7 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_el.dart @@ -0,0 +1,644 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Modern Greek (`el`). +class ChatLocalizationEl extends ChatLocalization { + ChatLocalizationEl([String locale = 'el']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Ειδοποιήσεις'; + + @override + String get drawerTooltipHelp => 'Βοήθεια'; + + @override + String get drawerTooltipClose => 'Κλείσιμο'; + + @override + String get drawerSectionTitleAccount => 'Λογαριασμός'; + + @override + String get drawerSectionProfile => 'Προφίλ'; + + @override + String get drawerSectionAccountSettings => 'Ρυθμίσεις Λογαριασμού'; + + @override + String get drawerSectionDonateToSupport => 'Δωρεά για υποστήριξη'; + + @override + String get drawerSectionSubscription => 'Συνδρομή'; + + @override + String get drawerSectionTitleChats => 'Συνομιλίες'; + + @override + String get drawerSectionChatHistory => 'Ιστορικό συνομιλιών'; + + @override + String get drawerSectionAttachedDocuments => 'Συνημμένα Έγγραφα'; + + @override + String get drawerSectionTitleHowToUse => 'Πώς να χρησιμοποιήσετε'; + + @override + String get drawerSectionVideoTutorials => 'Βίντεο Μαθήματα'; + + @override + String get drawerSectionTitleLegal => 'Νομικό'; + + @override + String get drawerSectionContactUs => 'Επικοινωνήστε μαζί μας'; + + @override + String get drawerSectionBugReport => 'Αναφορά σφάλματος'; + + @override + String get drawerSectionTermsAndConditions => 'Όροι και Προϋποθέσεις'; + + @override + String get drawerSectionPrivacyPolicy => 'Πολιτική Απορρήτου'; + + @override + String get drawerSectionTitleFeedback => 'Ανατροφοδότηση'; + + @override + String get drawerSectionRateApp => 'Βαθμολογήστε την εφαρμογή'; + + @override + String get drawerSectionShareWithFriends => 'Μοιραστείτε με φίλους'; + + @override + String get drawerButtonLogOut => 'Αποσύνδεση'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Βοηθήστε άλλους να λάβουν ιατρική φροντίδα'; + + @override + String get drawerPlaceholderUser => 'Χρήστης'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Προνομιακά Χαρακτηριστικά\nμε την Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Αποκτήστε'; + + @override + String get drawerLabelJoinUs => 'Ελάτε μαζί μας'; + + @override + String get drawerTooltipVersion => 'Έκδοση εφαρμογής:'; + + @override + String get drawerSectionRecentChats => 'Πρόσφατες Συνομιλίες'; + + @override + String get drawerPlaceholderProfile => 'Προφίλ'; + + @override + String get drawerPlaceholderRecentChat => 'Πρόσφατη συνομιλία'; + + @override + String get drawerSectionDownloadApps => 'Κατεβάστε εφαρμογές'; + + @override + String get chatInputHintEnterMessage => 'Εισάγετε μήνυμα'; + + @override + String get chatInputTooltipAttachFile => 'Επισυνάψτε αρχείο'; + + @override + String get chatInputTooltipDictateMessage => 'Δικτάτω'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Ολοκλήρωση & Μεταγραφή'; + + @override + String get chatInputTooltipSendMessage => 'Στείλτε μήνυμα'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Αποτυχία λήψης μηνυμάτων'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Αποτυχία λήψης μηνυμάτων. Παρακαλώ δοκιμάστε ξανά.'; + + @override + String get chatListTooltipFetchMessages => 'Ανακτήστε μηνύματα'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Δεν υπάρχουν διαθέσιμα μηνύματα\nΣτείλτε ένα μήνυμα για να ξεκινήσετε τη συνομιλία.'; + + @override + String get chatListHasConnection => 'Συνδεδεμένο'; + + @override + String get chatListNoConnection => 'Καμία σύνδεση'; + + @override + String get chatActionButtonTooltipSearch => 'Αναζήτηση'; + + @override + String get chatActionButtonTooltipFavorites => 'Αγαπημένα'; + + @override + String get chatActionButtonTooltipDownload => 'Λήψη'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Εκτύπωση PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Μοιραστείτε με φίλους'; + + @override + String get chatActionButtonTooltipNewChat => 'Νέα συνομιλία'; + + @override + String get chatActionButtonNewChat => 'Συνομιλία'; + + @override + String get chatActionButtonTooltipChatList => 'Επιλέξτε Συνομιλία'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Εμφάνιση συρταριού'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Δεν υπάρχουν διαθέσιμες συνομιλίες. Παρακαλώ ανανεώστε ή δημιουργήστε μια νέα συνομιλία.'; + + @override + String get chatButtonRefreshChats => 'Ανανέωση συνομιλιών'; + + @override + String get chatButtonCreateNewChat => 'Δημιουργία νέας συνομιλίας'; + + @override + String get chatContextMenuCopyMessage => 'Αντιγραφή κειμένου'; + + @override + String get chatStatusProcessingMessages => 'Πληκτρολογώντας'; + + @override + String get chatNoConnectionLabel => + 'Ενημέρωση...\nΕλέγξτε τη σύνδεση στο διαδίκτυο'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Το μήνυμα επεξεργάζεται ήδη αυτή τη στιγμή.'; + + @override + String get chatErrorMessageTooLong => 'Το μήνυμα είναι πολύ μεγάλο.'; + + @override + String get chatRemoveAttachmentTooltip => 'Αφαίρεση συνημμένου'; + + @override + String get chatStatusFailedMessage => 'Αποτυχία επεξεργασίας μηνύματος'; + + @override + String get chatActionButtonTooltipExportSummary => 'Εξαγωγή σε PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Φωτογραφίες'; + + @override + String get chatPickerCamera => 'Κάμερα'; + + @override + String get chatPickerFiles => 'Αρχεία'; + + @override + String get chatPickerPhotosFiles => 'Φωτογραφίες και Αρχεία'; + + @override + String get chatRecommendationYIAG => + 'Ελπίζω να βοήθησε! Ήταν αυτή η εξήγηση χρήσιμη για εσάς;'; + + @override + String get chatRecommendationButtonDonate => 'Ναι, όλα είναι καλά!'; + + @override + String get failedToRetrieveChatSummary => + 'Αποτυχία ανάκτησης περιλήψεως συνομιλίας'; + + @override + String get chatSummaryCopiedToClipboard => + 'Η περίληψη συνομιλίας αντιγράφηκε στο πρόχειρο'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Δοκιμάστε το Doctorina στην κινητή εφαρμογή!'; + + @override + String get getAppStoreLogoLabel => 'Κατεβάστε στο'; + + @override + String get getGooglePlayLogoLabel => 'Πάρτε το'; + + @override + String get getAppStoreLogoTooltip => 'Κατεβάστε από το App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Αποκτήστε το στο Google Play'; + + @override + String get reportMessageDialogTitle => 'Αναφορά Μηνύματος'; + + @override + String get reportMessageDialogSubtitle => 'Γιατί αναφέρετε αυτό το μήνυμα;'; + + @override + String get reportMessageDialogTextFieldHint => + 'Προαιρετικά: Περιγράψτε τι είναι λάθος με αυτό το μήνυμα...'; + + @override + String get reportMessageDialogWhyImportant => + 'Αυτό θα μας βοηθήσει να βελτιώσουμε τις απαντήσεις της AI μας.'; + + @override + String get reportMessageDialogCancelButton => 'Ακύρωση'; + + @override + String get reportMessageDialogReportButton => 'Αναφορά'; + + @override + String get reportMessageSnackbarSuccess => + 'Σας ευχαριστούμε για την ανατροφοδότηση! Η αναφορά έχει υποβληθεί.'; + + @override + String get reportMessageSnackbarFailed => 'Αποτυχία υποβολής αναφοράς'; + + @override + String get copyMessageSnackbarSuccess => 'Αντιγράφηκε στο πρόχειρο'; + + @override + String get copyMessageSnackbarFailed => 'Αποτυχία αντιγραφής μηνύματος'; + + @override + String get chatContextMenuReportMessage => 'Αναφορά Μηνύματος'; + + @override + String get chatDropZoneTitle => 'Ανεβάστε στο chat του Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Σύρετε και αποθέστε αρχεία εδώ για να προσθέσετε στη συνομιλία'; + + @override + String get chatDropZoneText => + 'Μπορείτε να προσθέσετε έως 15 αρχεία σε ένα μήνυμα'; + + @override + String get notificationBannerText => + 'Θα θέλατε να σας ενημερώσω αν προκύψει κάτι σημαντικό σχετικά με την υγεία σας;'; + + @override + String get notificationBannerButtonEnable => 'Ναι, ειδοποίησέ με'; + + @override + String get notificationBannerButtonDisable => 'Ίσως αργότερα'; + + @override + String get notificationBannerButtonClose => 'Κλείσιμο'; + + @override + String get notificationAreBlockedSystem => + 'Οι ειδοποιήσεις είναι αποκλεισμένες σε επίπεδο συστήματος. Ενεργοποιήστε τις στις ρυθμίσεις του συστήματος πριν ενεργοποιήσετε τις ειδοποιήσεις του Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Οι ειδοποιήσεις είναι αποκλεισμένες σε επίπεδο συστήματος. Ενεργοποιήστε τις στις ρυθμίσεις του προγράμματος περιήγησης πριν ενεργοποιήσετε τις ειδοποιήσεις του Doctorina.'; + + @override + String get notificationDialogTitle => + 'Μείνετε ενημερωμένοι για τη συμβουλή σας'; + + @override + String get notificationDialogDescription => + 'Η Doctorina μπορεί να σας ειδοποιήσει όταν είναι διαθέσιμες νέες πληροφορίες ή ενημερώσεις σχετικά με την υγεία σας.'; + + @override + String get notificationDialogEnableButton => 'Ενεργοποίηση ειδοποιήσεων'; + + @override + String get notificationDialogLaterButton => 'Ίσως αργότερα'; + + @override + String get termsAndConditionBannerText => + 'Συνεχίζοντας, συμφωνείτε με την επεξεργασία προσωπικών δεδομένων, τη χρήση των cookies, αποδέχεστε τους όρους και τις προϋποθέσεις και αναγνωρίζετε την

πολιτική απορρήτου

. Επίσης, αναγνωρίζετε πως η συμβουλευτική σας παρέχεται από AI και όχι από αδειοδοτημένο ιατρικό εμπειρογνώμονα'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Απόρριψη'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Αποθήκευση αυτής της συνομιλίας πρώτα;'; + + @override + String get anonUserNewChatCreationWarningText => + 'Εγγραφείτε δωρεάν για να αποθηκεύσετε αυτή τη διαβούλευση πριν ξεκινήσετε μια νέα'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Έναρξη χωρίς αποθήκευση'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Εγγραφή'; + + @override + String get inputBlockerContinueMessage => + 'Για να συνεχίσετε τη συνομιλία, επιλέξτε μια επιλογή παραπάνω'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Κλείσε'; + + @override + String get chatAttachmentRemoveTooltip => 'Αφαίρεση συνημμένου'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Αποτυχία επιλογής αρχείων από την περιοχή αποθέσεως'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Παρακαλώ εισάγετε ένα μήνυμα ή επισυνάψτε ένα αρχείο'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Παρακαλώ περιμένετε να ολοκληρωθούν οι μεταφορτώσεις'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Το μήνυμα επεξεργάζεται'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Το μήνυμα είναι πολύ μεγάλο'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Το μήνυμα επεξεργάζεται ήδη αυτή τη στιγμή.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Η σύνδεση έχει κλείσει μόνιμα'; + + @override + String get chatAttachmentErrorNoConnection => + 'Καμία σύνδεση με τον διακομιστή'; + + @override + String get chatAttachmentErrorPickFiles => 'Αποτυχία επιλογής αρχείων'; + + @override + String get chatAttachmentErrorPickImages => 'Αποτυχία επιλογής εικόνων'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Αποτυχία λήψης φωτογραφίας από την κάμερα'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Μπορείτε να επισυνάψετε έως $count αρχεία ταυτόχρονα.'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'Καθαρίστε το αναγνωρισμένο κείμενο'; + + @override + String get chatInputTooltipMessageTooLong => 'Το μήνυμα είναι πολύ μεγάλο.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Παρακαλώ περιμένετε να ολοκληρωθούν οι μεταφορτώσεις.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Το $kind \"$name\" είναι ήδη συνημμένο και δεν προστέθηκε ξανά.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Το $kind \"$name\" είναι αντίγραφο του $exist και δεν προστέθηκε.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Το $kind \"$name\" δεν προστέθηκε επειδή έχει ξεπεραστεί ο μέγιστος αριθμός συνημμένων.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Το αρχείο \"$name\" είναι κενό.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Το αρχείο είναι κενό'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Το αρχείο \"$name\" υπερβαίνει το μέγιστο επιτρεπόμενο μέγεθος.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Το αρχείο υπερβαίνει το μέγιστο επιτρεπόμενο μέγεθος.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Παρουσιάστηκε σφάλμα κατά την επεξεργασία του αρχείου \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Παρουσιάστηκε σφάλμα κατά την επεξεργασία του αρχείου.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Το αρχείο \"$name\" δεν προστέθηκε επειδή έχει ξεπεραστεί ο μέγιστος αριθμός συνημμένων.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Ένα αρχείο(α) δεν προστέθηκε επειδή έχει ξεπεραστεί ο μέγιστος αριθμός συνημμένων.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Ένα αρχείο δεν προστέθηκε επειδή έχει ξεπεραστεί ο μέγιστος αριθμός συνημμένων.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Ένα αρχείο χωρίς όνομα επιχειρήθηκε να προστεθεί.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Ένα αρχείο με μη υποστηριζόμενη επέκταση επιχειρήθηκε να προστεθεί: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Έγινε προσπάθεια προσθήκης αρχείου με μη υποστηριζόμενη επέκταση.'; + + @override + String get chatAttachmentErrorFileNull => 'Αδύνατη η προσθήκη αρχείου.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Το αρχείο \"$name\" είναι μη έγκυρο και δεν μπορεί να προστεθεί'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Ένα αρχείο είναι μη έγκυρο και δεν μπορεί να προστεθεί'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Το στοιχείο \"$name\" δεν είναι έγκυρο αρχείο'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Ένα στοιχείο δεν είναι έγκυρο αρχείο.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Παρουσιάστηκε σφάλμα κατά την επεξεργασία ενός στοιχείου.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Παρουσιάστηκε σφάλμα κατά την επεξεργασία ενός αντικειμένου(ων).'; + + @override + String get chatAttachmentErrorNoFiles => 'Δεν προστέθηκαν αρχεία.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Ορισμένα αρχεία παραλείφθηκαν λόγω διπλοτύπων με υπάρχοντα αρχεία.'; + + @override + String get chatAttachmentErrorUnknown => 'Παρουσιάστηκε ένα άγνωστο σφάλμα.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Τα παρακάτω σφάλματα προέκυψαν κατά την επισύναψη αρχείων:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Αποτυχία κοινής χρήσης αρχείου: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Κλείσιμο'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Μοιραστείτε'; + + @override + String get chatAttachmentPreviewLoading => 'Φόρτωση αρχείου...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Αποτυχία φόρτωσης αρχείου'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Συνέβη άγνωστο σφάλμα'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Δοκιμάστε ξανά'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Μη υποστηριζόμενος τύπος αρχείου'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Δεν μπορεί να γίνει προεπισκόπηση $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Κοινοποίηση αρχείου'; + + @override + String get chatAttachmentPreviewErrorImage => 'Αποτυχία εμφάνισης εικόνας'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Επαναφορά ζουμ'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Αποτυχία φόρτωσης PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Αποτυχία αποκωδικοποίησης περιεχομένου κειμένου'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Και $count περισσότερα σφάλματα.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => + 'Το αρχείο είναι κατεστραμμένο'; + + @override + String get chatConsentRequiredTitle => 'Απαιτείται συγκατάθεση'; + + @override + String get chatConsentRequiredText => + 'Συνεχίζοντας, συμφωνείτε με τους Όρους, την Πολιτική Απορρήτου και τη χρήση cookies μας, και επιβεβαιώνετε ότι αυτή η συμβουλή παρέχεται από AI, όχι από αδειοδοτημένο ιατρικό επαγγελματία.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Κλείσιμο'; + + @override + String get chatHistoryDelete => 'Διαγραφή'; + + @override + String get chatDelete => 'Διαγραφή συνομιλίας'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Η συνομιλία “$title” διαγράφηκε με επιτυχία.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Διαγραφή συνομιλίας;'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Τα συμπτώματά σας, η περίληψη διάγνωσης και οποιεσδήποτε συστάσεις σε αυτή τη συνομιλία θα διαγραφούν.\nΑυτή η ενέργεια δεν μπορεί να αναιρεθεί.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Μεγέθυνση'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Μείωση'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Επαναφορά Ζουμ'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Μοιραστείτε'; + + @override + String get dateToday => 'Σήμερα'; + + @override + String get dateYesterday => 'Χθες'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Μόνο η πρώτη σελίδα. Χρησιμοποιήστε το Share για να κατεβάσετε το πλήρες αρχείο.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_en.dart b/example/lib/src/generated/chat/chat_localization_en.dart index 10323ca..c2dfb75 100644 --- a/example/lib/src/generated/chat/chat_localization_en.dart +++ b/example/lib/src/generated/chat/chat_localization_en.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'chat_localization.dart'; class ChatLocalizationEn extends ChatLocalization { ChatLocalizationEn([String locale = 'en']) : super(locale); - @override - String get title => 'Chat'; - @override String get drawerTooltipNotifications => 'Notifications'; @@ -99,6 +96,18 @@ class ChatLocalizationEn extends ChatLocalization { @override String get drawerTooltipVersion => 'App version:'; + @override + String get drawerSectionRecentChats => 'Recent Chats'; + + @override + String get drawerPlaceholderProfile => 'Profile'; + + @override + String get drawerPlaceholderRecentChat => 'Recent chat'; + + @override + String get drawerSectionDownloadApps => 'Download Apps'; + @override String get chatInputHintEnterMessage => 'Enter message'; @@ -106,7 +115,10 @@ class ChatLocalizationEn extends ChatLocalization { String get chatInputTooltipAttachFile => 'Attach file'; @override - String get chatInputTooltipDictateMessage => 'Dictate message'; + String get chatInputTooltipDictateMessage => 'Dictate'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Finish & Transcribe'; @override String get chatInputTooltipSendMessage => 'Send message'; @@ -150,6 +162,9 @@ class ChatLocalizationEn extends ChatLocalization { @override String get chatActionButtonTooltipNewChat => 'New chat'; + @override + String get chatActionButtonNewChat => 'Chat'; + @override String get chatActionButtonTooltipChatList => 'Select Chat'; @@ -170,10 +185,11 @@ class ChatLocalizationEn extends ChatLocalization { String get chatContextMenuCopyMessage => 'Copy text'; @override - String get chatStatusProcessingMessages => 'Typing...\nJust a moment...'; + String get chatStatusProcessingMessages => 'Typing\nJust a moment'; @override - String get chatNoConnectionLabel => 'Please check your internet connection'; + String get chatNoConnectionLabel => + 'Updating...\nPlease check your internet connection'; @override String get chatErrorMessageAlreadyProcessed => @@ -191,6 +207,9 @@ class ChatLocalizationEn extends ChatLocalization { @override String get chatActionButtonTooltipExportSummary => 'Export to PDF'; + @override + String get chatActionExportToPdfTitle => 'PDF'; + @override String get chatPickerPhotos => 'Photos'; @@ -200,6 +219,9 @@ class ChatLocalizationEn extends ChatLocalization { @override String get chatPickerFiles => 'Files'; + @override + String get chatPickerPhotosFiles => 'Photos and Files'; + @override String get chatRecommendationYIAG => 'Hope that helped! Was this explanation useful to you?'; @@ -207,12 +229,406 @@ class ChatLocalizationEn extends ChatLocalization { @override String get chatRecommendationButtonDonate => 'Yes, it\'s all good!'; - @override - String get chatHistoryTitle => 'Chat History'; - @override String get failedToRetrieveChatSummary => 'Failed to retrieve chat summary'; @override String get chatSummaryCopiedToClipboard => 'Chat summary copied to clipboard'; + + @override + String get tryDoctorinaInTheMobileApp => 'Try Doctorina in the mobile app!'; + + @override + String get getAppStoreLogoLabel => 'Download on the'; + + @override + String get getGooglePlayLogoLabel => 'GET IT ON'; + + @override + String get getAppStoreLogoTooltip => 'Download on the App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Get it on Google Play'; + + @override + String get reportMessageDialogTitle => 'Report Message'; + + @override + String get reportMessageDialogSubtitle => + 'Why are you reporting this message?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Optional: Describe what\'s wrong with this message...'; + + @override + String get reportMessageDialogWhyImportant => + 'This will help us improve our AI responses.'; + + @override + String get reportMessageDialogCancelButton => 'Cancel'; + + @override + String get reportMessageDialogReportButton => 'Report'; + + @override + String get reportMessageSnackbarSuccess => + 'Thank you for your feedback! Report has been submitted.'; + + @override + String get reportMessageSnackbarFailed => 'Failed to submit report'; + + @override + String get copyMessageSnackbarSuccess => 'Copied to clipboard'; + + @override + String get copyMessageSnackbarFailed => 'Failed to copy message'; + + @override + String get chatContextMenuReportMessage => 'Report Message'; + + @override + String get chatDropZoneTitle => 'Upload to the Doctorina chat'; + + @override + String get chatDropZoneSubtitle => 'Drag and drop files here to add to chat'; + + @override + String get chatDropZoneText => 'You can add up to 15 files to one message'; + + @override + String get notificationBannerText => + 'Would you like me to notify you if something important comes up about your health?'; + + @override + String get notificationBannerButtonEnable => 'Yes, notify me'; + + @override + String get notificationBannerButtonDisable => 'Maybe later'; + + @override + String get notificationBannerButtonClose => 'Close'; + + @override + String get notificationAreBlockedSystem => + 'Notifications are blocked at the system level. Enable them in system settings before activating Doctorina’s notifications.'; + + @override + String get notificationAreBlockedBrowser => + 'Notifications are blocked at the system level. Enable them in browser settings before activating Doctorina’s notifications.'; + + @override + String get notificationDialogTitle => 'Stay updated about your consultation'; + + @override + String get notificationDialogDescription => + 'Doctorina can notify you when new insights or updates about your health are available.'; + + @override + String get notificationDialogEnableButton => 'Enable notifications'; + + @override + String get notificationDialogLaterButton => 'Maybe later'; + + @override + String get termsAndConditionBannerText => + 'By continuing you consenting to the processing of personal data, the use of cookies, agree to the terms and conditions, and acknowledge the

privacy policy

. Also you acknowledging that your consultation is with an AI and not a licensed medical professional'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Dismiss'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Save this chat first?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Sign up for free to save this consultation before starting a new one'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Start without saving'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Sign up'; + + @override + String get inputBlockerContinueMessage => + 'To continue the conversation, choose an option above'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Close'; + + @override + String get chatAttachmentRemoveTooltip => 'Remove attachment'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Failed to pick files from drop zone'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Please enter a message or attach a file'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Please wait for uploads to complete'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'Message is being processed'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Message is too long'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'The message is already being processed right now.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'The connection is permanently closed'; + + @override + String get chatAttachmentErrorNoConnection => 'No connection to server'; + + @override + String get chatAttachmentErrorPickFiles => 'Failed to pick files'; + + @override + String get chatAttachmentErrorPickImages => 'Failed to pick images'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Failed to capture photo from camera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'You can attach up to $count files at once.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Clear recognized text'; + + @override + String get chatInputTooltipMessageTooLong => 'Message is too long.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Please wait for uploads to complete.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'The $kind \"$name\" is already attached and was not added again.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" is a duplicate of $exist and was not added.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'The $kind \"$name\" was not added because the maximum number of attachments has been exceeded.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'The file \"$name\" is empty.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'The file is empty.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'The file \"$name\" exceeds the maximum allowed size.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'The file exceeds the maximum allowed size.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'An error occurred while processing the file \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'An error occurred while processing the file.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'The file \"$name\" was not added because the maximum number of attachments has been exceeded.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'A file(s) was not added because the maximum number of attachments has been exceeded.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'A file was not added because the maximum number of attachments has been exceeded.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'A file without a name was attempted to be added.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'A file with an unsupported extension was attempted to be added: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'A file with an unsupported extension was attempted to be added.'; + + @override + String get chatAttachmentErrorFileNull => 'Impossible to add a file.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'The file \"$name\" is invalid and cannot be added.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'A file is invalid and cannot be added.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'The item \"$name\" is not a valid file.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'An item is not a valid file.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'An error occurred while processing an item.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'An error occurred while processing an item(s).'; + + @override + String get chatAttachmentErrorNoFiles => 'No files were added.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Some files were skipped due to duplicates with existing files.'; + + @override + String get chatAttachmentErrorUnknown => 'An unknown error occurred.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'The following errors occurred while attaching files:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Failed to share file: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Close'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Share'; + + @override + String get chatAttachmentPreviewLoading => 'Loading file...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Failed to load file'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Unknown error occurred'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Retry'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'Unsupported file type'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Cannot preview $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Share File'; + + @override + String get chatAttachmentPreviewErrorImage => 'Failed to display image'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Reset zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Failed to load PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Failed to decode text content.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'And $count more errors.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'File is malformed'; + + @override + String get chatConsentRequiredTitle => 'Consent Required'; + + @override + String get chatConsentRequiredText => + 'By continuing, you agree to our Terms, Privacy Policy, and use of cookies, and confirm that this consultation is provided by AI, not a licensed medical professional.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Close'; + + @override + String get chatHistoryDelete => 'Delete'; + + @override + String get chatDelete => 'Delete chat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat “$title” deleted successfully.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Delete chat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Your symptoms, diagnosis summary, and any recommendations in this chat will be removed.\nThis action can\'t be undone.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Zoom In'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Zoom Out'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Reset Zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Share'; + + @override + String get dateToday => 'Today'; + + @override + String get dateYesterday => 'Yesterday'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'First page only. Use Share to download the full file.'; } diff --git a/example/lib/src/generated/chat/chat_localization_es.dart b/example/lib/src/generated/chat/chat_localization_es.dart index 8b6fae5..88d3420 100644 --- a/example/lib/src/generated/chat/chat_localization_es.dart +++ b/example/lib/src/generated/chat/chat_localization_es.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'chat_localization.dart'; class ChatLocalizationEs extends ChatLocalization { ChatLocalizationEs([String locale = 'es']) : super(locale); - @override - String get title => 'Chat'; - @override String get drawerTooltipNotifications => 'Notificaciones'; @@ -99,6 +96,18 @@ class ChatLocalizationEs extends ChatLocalization { @override String get drawerTooltipVersion => 'Versión:'; + @override + String get drawerSectionRecentChats => 'Chats recientes'; + + @override + String get drawerPlaceholderProfile => 'Perfil'; + + @override + String get drawerPlaceholderRecentChat => 'Chat reciente'; + + @override + String get drawerSectionDownloadApps => 'Descargar aplicaciones'; + @override String get chatInputHintEnterMessage => 'Escribir mensaje'; @@ -106,7 +115,10 @@ class ChatLocalizationEs extends ChatLocalization { String get chatInputTooltipAttachFile => 'Adjuntar archivo'; @override - String get chatInputTooltipDictateMessage => 'Dictar mensaje'; + String get chatInputTooltipDictateMessage => 'Dictar'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Finalizar y transcribir'; @override String get chatInputTooltipSendMessage => 'Enviar mensaje'; @@ -150,6 +162,9 @@ class ChatLocalizationEs extends ChatLocalization { @override String get chatActionButtonTooltipNewChat => 'Nuevo chat'; + @override + String get chatActionButtonNewChat => 'Chat'; + @override String get chatActionButtonTooltipChatList => 'Seleccionar chat'; @@ -170,11 +185,11 @@ class ChatLocalizationEs extends ChatLocalization { String get chatContextMenuCopyMessage => 'Copiar texto'; @override - String get chatStatusProcessingMessages => 'Escribiendo...\nUn momento...'; + String get chatStatusProcessingMessages => 'Escribiendo\nUn momento'; @override String get chatNoConnectionLabel => - 'Por favor, revisa tu conexión a internet.'; + 'Actualizando...\nPor favor, verifica tu conexión a internet'; @override String get chatErrorMessageAlreadyProcessed => @@ -192,6 +207,9 @@ class ChatLocalizationEs extends ChatLocalization { @override String get chatActionButtonTooltipExportSummary => 'Exportar a PDF'; + @override + String get chatActionExportToPdfTitle => 'PDF'; + @override String get chatPickerPhotos => 'Fotos'; @@ -202,14 +220,14 @@ class ChatLocalizationEs extends ChatLocalization { String get chatPickerFiles => 'Archivos'; @override - String get chatRecommendationYIAG => - '¡Espero que te haya servido! ¿Te resultó útil esta explicación?'; + String get chatPickerPhotosFiles => 'Fotos y Archivos'; @override - String get chatRecommendationButtonDonate => '¡Sí, está todo bien!'; + String get chatRecommendationYIAG => + '¡Espero que eso haya ayudado! ¿Te fue útil esta explicación?'; @override - String get chatHistoryTitle => 'Historial de chat'; + String get chatRecommendationButtonDonate => 'Sí, todo está bien!'; @override String get failedToRetrieveChatSummary => @@ -218,4 +236,410 @@ class ChatLocalizationEs extends ChatLocalization { @override String get chatSummaryCopiedToClipboard => 'Resumen del chat copiado al portapapeles'; + + @override + String get tryDoctorinaInTheMobileApp => + '¡Prueba Doctorina en la aplicación móvil!'; + + @override + String get getAppStoreLogoLabel => 'Descargar en'; + + @override + String get getGooglePlayLogoLabel => 'DISPONIBLE EN'; + + @override + String get getAppStoreLogoTooltip => 'Descargar en el App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Consíguelo en Google Play'; + + @override + String get reportMessageDialogTitle => 'Reportar mensaje'; + + @override + String get reportMessageDialogSubtitle => + '¿Por qué estás reportando este mensaje?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Opcional: Describe qué está mal con este mensaje...'; + + @override + String get reportMessageDialogWhyImportant => + 'Esto nos ayudará a mejorar nuestras respuestas de IA'; + + @override + String get reportMessageDialogCancelButton => 'Cancelar'; + + @override + String get reportMessageDialogReportButton => 'Reportar'; + + @override + String get reportMessageSnackbarSuccess => + '¡Gracias por su opinión! El informe ha sido enviado.'; + + @override + String get reportMessageSnackbarFailed => 'Error al enviar el informe'; + + @override + String get copyMessageSnackbarSuccess => 'Copiado al portapapeles'; + + @override + String get copyMessageSnackbarFailed => 'Error al copiar el mensaje'; + + @override + String get chatContextMenuReportMessage => 'Reportar mensaje'; + + @override + String get chatDropZoneTitle => 'Sube al chat de Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Arrastra y suelta archivos aquí para añadir al chat'; + + @override + String get chatDropZoneText => + 'Puedes agregar hasta 15 archivos a un mensaje'; + + @override + String get notificationBannerText => + '¿Te gustaría que te notificara si surge algo importante sobre tu salud?'; + + @override + String get notificationBannerButtonEnable => 'Sí, notifícame'; + + @override + String get notificationBannerButtonDisable => 'Quizás más tarde'; + + @override + String get notificationBannerButtonClose => 'Cerrar'; + + @override + String get notificationAreBlockedSystem => + 'Las notificaciones están bloqueadas a nivel del sistema. Actívelas en la configuración del sistema antes de activar las notificaciones de Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Las notificaciones están bloqueadas a nivel del sistema. Actívelas en la configuración del navegador antes de activar las notificaciones de Doctorina.'; + + @override + String get notificationDialogTitle => 'Mantente informado sobre tu consulta'; + + @override + String get notificationDialogDescription => + 'Doctorina puede notificarte cuando haya nuevas ideas o actualizaciones sobre tu salud.'; + + @override + String get notificationDialogEnableButton => 'Habilitar notificaciones'; + + @override + String get notificationDialogLaterButton => 'Quizás más tarde'; + + @override + String get termsAndConditionBannerText => + 'Al continuar, das tu consentimiento para el tratamiento de datos personales, el uso de cookies, aceptas los términos y condiciones y reconoces la

política de privacidad

. Además, reconoces que tu consulta es con una IA y no con un profesional médico con licencia'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Descartar'; + + @override + String get anonUserNewChatCreationWarningTitle => + '¿Guardar este chat primero?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Regístrate gratis para guardar esta consulta antes de iniciar una nueva'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'Iniciar sin guardar'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Regístrate'; + + @override + String get inputBlockerContinueMessage => + 'Para continuar la conversación, elige una opción arriba'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Cerrar'; + + @override + String get chatAttachmentRemoveTooltip => 'Eliminar adjunto'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Error al seleccionar archivos de la zona de arrastre'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Por favor, ingrese un mensaje o adjunte un archivo'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Por favor, espera a que se completen las cargas'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'El mensaje está siendo procesado'; + + @override + String get chatAttachmentErrorMessageTooLong => + 'El mensaje es demasiado largo'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'El mensaje ya se está procesando.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'La conexión está cerrada permanentemente'; + + @override + String get chatAttachmentErrorNoConnection => 'Sin conexión al servidor'; + + @override + String get chatAttachmentErrorPickFiles => + 'No se pudieron seleccionar archivos'; + + @override + String get chatAttachmentErrorPickImages => 'Error al seleccionar imágenes'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Error al capturar la foto desde la cámara'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Puedes adjuntar hasta $count archivos a la vez'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Borrar texto reconocido'; + + @override + String get chatInputTooltipMessageTooLong => 'El mensaje es demasiado largo.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Por favor, espere a que se completen las cargas'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'El $kind \"$name\" ya está adjunto y no se agregó de nuevo'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'El $kind \"$name\" es un duplicado de $exist y no se agregó.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'El $kind \"$name\" no se añadió porque se ha superado el número máximo de archivos adjuntos.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'El archivo \"$name\" está vacío.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'El archivo está vacío.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'El archivo \"$name\" excede el tamaño máximo permitido.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'El archivo excede el tamaño máximo permitido.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Ocurrió un error al procesar el archivo \"$name\"'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Ocurrió un error al procesar el archivo.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'El archivo \"$name\" no se agregó porque se ha superado el número máximo de archivos adjuntos.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'No se añadió(n) archivo(s) porque se ha superado el número máximo de archivos adjuntos.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'No se añadió un archivo porque se ha superado el número máximo de adjuntos.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Se intentó agregar un archivo sin nombre.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Se intentó agregar un archivo con una extensión no soportada: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Se intentó agregar un archivo con una extensión no soportada.'; + + @override + String get chatAttachmentErrorFileNull => 'Imposible añadir un archivo.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'El archivo \"$name\" es inválido y no se puede agregar'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Un archivo es inválido y no se puede agregar'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'El elemento \"$name\" no es un archivo válido.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Un elemento no es un archivo válido'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Ocurrió un error al procesar un elemento.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Ocurrió un error al procesar un elemento(s)'; + + @override + String get chatAttachmentErrorNoFiles => 'No se añadieron archivos'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Se omitieron algunos archivos debido a duplicados con archivos existentes'; + + @override + String get chatAttachmentErrorUnknown => 'Ocurrió un error desconocido.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Se produjeron los siguientes errores al adjuntar archivos:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Error al compartir el archivo: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Cerrar'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Compartir'; + + @override + String get chatAttachmentPreviewLoading => 'Cargando archivo...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Error al cargar el archivo'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Ocurrió un error desconocido'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Reintentar'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Tipo de archivo no soportado'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'No se puede previsualizar $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Compartir archivo'; + + @override + String get chatAttachmentPreviewErrorImage => 'No se pudo mostrar la imagen'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Restablecer zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Error al cargar el PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'No se pudo decodificar el contenido de texto'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Y $count errores más.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => + 'El archivo está mal formado'; + + @override + String get chatConsentRequiredTitle => 'Consentimiento requerido'; + + @override + String get chatConsentRequiredText => + 'Al continuar, aceptas nuestros Términos, Política de Privacidad y uso de cookies, y confirmas que esta consulta es proporcionada por IA, no por un profesional médico licenciado.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Cerrar'; + + @override + String get chatHistoryDelete => 'Eliminar'; + + @override + String get chatDelete => 'Eliminar chat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat “$title” eliminado con éxito.'; + } + + @override + String get chatDeleteConfirmationTitle => '¿Eliminar chat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Sus síntomas, resumen del diagnóstico y cualquier recomendación en este chat serán eliminados.\nEsta acción no se puede deshacer.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Acercar'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Alejar'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Restablecer zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Compartir'; + + @override + String get dateToday => 'Hoy'; + + @override + String get dateYesterday => 'Ayer'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Solo la primera página. Usa Compartir para descargar el archivo completo.'; } diff --git a/example/lib/src/generated/chat/chat_localization_fa.dart b/example/lib/src/generated/chat/chat_localization_fa.dart new file mode 100644 index 0000000..45e603a --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_fa.dart @@ -0,0 +1,640 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Persian (`fa`). +class ChatLocalizationFa extends ChatLocalization { + ChatLocalizationFa([String locale = 'fa']) : super(locale); + + @override + String get drawerTooltipNotifications => 'اعلانات'; + + @override + String get drawerTooltipHelp => 'راهنما'; + + @override + String get drawerTooltipClose => 'بستن'; + + @override + String get drawerSectionTitleAccount => 'حساب'; + + @override + String get drawerSectionProfile => 'پروفایل'; + + @override + String get drawerSectionAccountSettings => 'تنظیمات حساب'; + + @override + String get drawerSectionDonateToSupport => 'برای حمایت اهدا کنید'; + + @override + String get drawerSectionSubscription => 'اشتراک'; + + @override + String get drawerSectionTitleChats => 'گپ‌ها'; + + @override + String get drawerSectionChatHistory => 'تاریخچه چت'; + + @override + String get drawerSectionAttachedDocuments => 'اسناد پیوست'; + + @override + String get drawerSectionTitleHowToUse => 'نحوه استفاده'; + + @override + String get drawerSectionVideoTutorials => 'آموزش‌های ویدیویی'; + + @override + String get drawerSectionTitleLegal => 'حقوقی'; + + @override + String get drawerSectionContactUs => 'تماس با ما'; + + @override + String get drawerSectionBugReport => 'گزارش اشکال'; + + @override + String get drawerSectionTermsAndConditions => 'شرایط و ضوابط'; + + @override + String get drawerSectionPrivacyPolicy => 'سیاست حریم خصوصی'; + + @override + String get drawerSectionTitleFeedback => 'بازخورد'; + + @override + String get drawerSectionRateApp => 'برنامه را ارزیابی کنید'; + + @override + String get drawerSectionShareWithFriends => 'با دوستان به اشتراک بگذارید'; + + @override + String get drawerButtonLogOut => 'خروج'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'به دیگران کمک کنید تا به مراقبت‌های پزشکی دسترسی پیدا کنند'; + + @override + String get drawerPlaceholderUser => 'کاربر'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'امکانات ویژه\nبا Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'دریافت'; + + @override + String get drawerLabelJoinUs => 'به ما بپیوندید'; + + @override + String get drawerTooltipVersion => 'نسخه برنامه:'; + + @override + String get drawerSectionRecentChats => 'چت‌های اخیر'; + + @override + String get drawerPlaceholderProfile => 'پروفایل'; + + @override + String get drawerPlaceholderRecentChat => 'چت اخیر'; + + @override + String get drawerSectionDownloadApps => 'دانلود برنامه‌ها'; + + @override + String get chatInputHintEnterMessage => 'پیام را وارد کنید'; + + @override + String get chatInputTooltipAttachFile => 'افزودن فایل'; + + @override + String get chatInputTooltipDictateMessage => 'دیکته'; + + @override + String get chatInputTooltipDictateFinishMessage => 'پایان و رونویسی'; + + @override + String get chatInputTooltipSendMessage => 'ارسال پیام'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'دریافت پیام‌ها ناموفق بود'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'دریافت پیام‌ها ناموفق بود. لطفاً دوباره تلاش کنید.'; + + @override + String get chatListTooltipFetchMessages => 'دریافت پیام‌ها'; + + @override + String get chatListLabelNoMessagesAvailable => + 'پیامی موجود نیست.\nلطفاً برای شروع مکالمه یک پیام ارسال کنید.'; + + @override + String get chatListHasConnection => 'متصل'; + + @override + String get chatListNoConnection => 'اتصال ندارد'; + + @override + String get chatActionButtonTooltipSearch => 'جستجو'; + + @override + String get chatActionButtonTooltipFavorites => 'مورد علاقه‌ها'; + + @override + String get chatActionButtonTooltipDownload => 'دانلود'; + + @override + String get chatActionButtonTooltipPrintPdf => 'چاپ PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'با دوستان به اشتراک بگذار'; + + @override + String get chatActionButtonTooltipNewChat => 'چت جدید'; + + @override + String get chatActionButtonNewChat => 'چت'; + + @override + String get chatActionButtonTooltipChatList => 'انتخاب گفت‌وگو'; + + @override + String get chatActionButtonTooltipShowDrawer => 'نمایش کشو'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'چتی موجود نیست. لطفاً تازه‌سازی کنید یا یک چت جدید ایجاد کنید.'; + + @override + String get chatButtonRefreshChats => 'به‌روزرسانی چت‌ها'; + + @override + String get chatButtonCreateNewChat => 'ایجاد چت جدید'; + + @override + String get chatContextMenuCopyMessage => 'کپی متن'; + + @override + String get chatStatusProcessingMessages => 'در حال تایپ\nلحظه‌ای صبر کنید'; + + @override + String get chatNoConnectionLabel => + 'در حال به‌روزرسانی...\nلطفاً اتصال اینترنت خود را بررسی کنید'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'این پیام در حال حاضر در حال پردازش است.'; + + @override + String get chatErrorMessageTooLong => 'پیام بسیار طولانی است.'; + + @override + String get chatRemoveAttachmentTooltip => 'حذف پیوست'; + + @override + String get chatStatusFailedMessage => 'پردازش پیام ناموفق'; + + @override + String get chatActionButtonTooltipExportSummary => 'صادر کردن به PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'تصاویر'; + + @override + String get chatPickerCamera => 'دوربین'; + + @override + String get chatPickerFiles => 'فایل‌ها'; + + @override + String get chatPickerPhotosFiles => 'عکس‌ها و فایل‌ها'; + + @override + String get chatRecommendationYIAG => + 'امیدوارم که این کمک کرده باشد! آیا این توضیح برای شما مفید بود?'; + + @override + String get chatRecommendationButtonDonate => 'بله، همه چیز خوب است!'; + + @override + String get failedToRetrieveChatSummary => 'دریافت خلاصه چت ناموفق بود'; + + @override + String get chatSummaryCopiedToClipboard => 'خلاصۀ گفتگو به کلیپ بورد کپی شد'; + + @override + String get tryDoctorinaInTheMobileApp => + 'اپلیکیشن موبایل Doctorina را امتحان کنید!'; + + @override + String get getAppStoreLogoLabel => 'دانلود در'; + + @override + String get getGooglePlayLogoLabel => 'دریافت از'; + + @override + String get getAppStoreLogoTooltip => 'دانلود در App Store'; + + @override + String get getGooglePlayLogoTooltip => 'از Google Play دریافت کنید'; + + @override + String get reportMessageDialogTitle => 'گزارش پیام'; + + @override + String get reportMessageDialogSubtitle => 'چرا این پیام را گزارش می‌کنید؟'; + + @override + String get reportMessageDialogTextFieldHint => + 'اختیاری: توصیف کنید که چه مشکلی در این پیام وجود دارد...'; + + @override + String get reportMessageDialogWhyImportant => + 'این به ما کمک می‌کند تا پاسخ‌های هوش مصنوعی خود را بهبود بخشیم.'; + + @override + String get reportMessageDialogCancelButton => 'لغو'; + + @override + String get reportMessageDialogReportButton => 'گزارش'; + + @override + String get reportMessageSnackbarSuccess => + 'از بازخورد شما متشکریم! گزارش ارسال شده است.'; + + @override + String get reportMessageSnackbarFailed => 'ارسال گزارش ناموفق بود'; + + @override + String get copyMessageSnackbarSuccess => 'کپی شد به کلیپ بورد'; + + @override + String get copyMessageSnackbarFailed => 'کپی پیام ناموفق بود'; + + @override + String get chatContextMenuReportMessage => 'گزارش پیام'; + + @override + String get chatDropZoneTitle => 'بارگذاری به چت دکترینا'; + + @override + String get chatDropZoneSubtitle => + 'فایل‌ها را اینجا بکشید و رها کنید تا به چت اضافه شوند'; + + @override + String get chatDropZoneText => + 'شما می‌توانید تا ۱۵ فایل را به یک پیام اضافه کنید'; + + @override + String get notificationBannerText => + 'آیا می‌خواهید اگر چیزی مهم درباره سلامتی‌تان پیش آمد، به شما اطلاع دهم؟'; + + @override + String get notificationBannerButtonEnable => 'بله، به من اطلاع بده'; + + @override + String get notificationBannerButtonDisable => 'شاید بعداً'; + + @override + String get notificationBannerButtonClose => 'بستن'; + + @override + String get notificationAreBlockedSystem => + 'اطلاعیه‌ها در سطح سیستم مسدود شده‌اند. قبل از فعال‌سازی اطلاعیه‌های دکترینا، آن‌ها را در تنظیمات سیستم فعال کنید.'; + + @override + String get notificationAreBlockedBrowser => + 'اطلاعیه‌ها در سطح سیستم مسدود شده‌اند. آن‌ها را در تنظیمات مرورگر فعال کنید قبل از اینکه اعلان‌های دکترینا را فعال کنید.'; + + @override + String get notificationDialogTitle => 'در جریان مشاوره خود باشید'; + + @override + String get notificationDialogDescription => + 'داکترینا می‌تواند شما را زمانی که بینش‌ها یا به‌روزرسانی‌های جدیدی درباره سلامت شما در دسترس است، مطلع کند.'; + + @override + String get notificationDialogEnableButton => 'فعال‌سازی اعلان‌ها'; + + @override + String get notificationDialogLaterButton => 'شاید بعداً'; + + @override + String get termsAndConditionBannerText => + 'با ادامه، شما موافقت خود را با پردازش داده‌های شخصی، استفاده از cookies، قبول terms and conditions، و تأیید

privacy policy

اعلام می‌کنید. همچنین شما تأیید می‌کنید که مشاوره شما با یک هوش مصنوعی و نه با یک متخصص پزشکی مجاز صورت می‌گیرد'; + + @override + String get termsAndConditionBannerDismissTooltip => 'رد کردن'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'ابتدا این چت را ذخیره کنید?'; + + @override + String get anonUserNewChatCreationWarningText => + 'برای ذخیره این مشاوره قبل از شروع مشاوره جدید، به‌صورت رایگان ثبت‌نام کنید'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'بدون ذخیره شروع کنید'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'ثبت‌نام'; + + @override + String get inputBlockerContinueMessage => + 'برای ادامه گفتگو، گزینه‌ای را در بالا انتخاب کنید'; + + @override + String get chatServerDialogCloseBtnTooltip => 'بستن'; + + @override + String get chatAttachmentRemoveTooltip => 'ضمیمه را حذف کنید'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'انتخاب فایل‌ها از ناحیه درگ ناموفق بود'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'لطفاً یک پیام وارد کنید یا یک فایل پیوست کنید'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'لطفاً منتظر بمانید تا بارگذاری‌ها کامل شوند'; + + @override + String get chatAttachmentErrorMessageProcessing => 'پیام در حال پردازش است'; + + @override + String get chatAttachmentErrorMessageTooLong => 'پیام خیلی طولانی است'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'پیام در حال حاضر در حال پردازش است'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'اتصال به طور دائمی بسته شده است'; + + @override + String get chatAttachmentErrorNoConnection => 'هیچ اتصالی به سرور وجود ندارد'; + + @override + String get chatAttachmentErrorPickFiles => 'انتخاب فایل‌ها ناموفق بود'; + + @override + String get chatAttachmentErrorPickImages => 'انتخاب تصاویر ناموفق بود'; + + @override + String get chatAttachmentErrorCapturePhoto => 'خطا در گرفتن عکس از دوربین'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'شما می‌توانید تا $count فایل را به‌طور همزمان پیوست کنید'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'متن شناسایی شده را پاک کنید'; + + @override + String get chatInputTooltipMessageTooLong => 'پیام خیلی طولانی است.'; + + @override + String get chatInputTooltipWaitForUploads => + 'لطفاً منتظر بمانید تا بارگذاری‌ها کامل شوند'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'فایل $kind \"$name\" قبلاً پیوست شده و دوباره اضافه نشد.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'فایل $kind \"$name\" تکراری از $exist است و اضافه نشد.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'فایل $kind \"$name\" اضافه نشد زیرا حداکثر تعداد پیوست‌ها تجاوز شده است.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'فایل \"$name\" خالی است.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'فایل خالی است.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'فایل \"$name\" از حداکثر اندازه مجاز بیشتر است'; + } + + @override + String get chatAttachmentErrorFileSize => + 'فایل از حداکثر اندازه مجاز فراتر است.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'در حین پردازش فایل \"$name\" خطایی رخ داد.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'خطایی در پردازش فایل رخ داد.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'فایل \"$name\" اضافه نشد زیرا حداکثر تعداد پیوست‌ها تجاوز شده است.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'فایل(ها) اضافه نشد زیرا حداکثر تعداد پیوست‌ها تجاوز شده است.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'فایلی اضافه نشد زیرا حداکثر تعداد پیوست‌ها تجاوز شده است.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'فایلی بدون نام تلاش شده است که اضافه شود'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'فایلی با پسوند غیرمجاز تلاش شده است اضافه شود: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'فایلی با پسوند غیرمجاز سعی در اضافه شدن داشت'; + + @override + String get chatAttachmentErrorFileNull => 'امکان افزودن فایل وجود ندارد'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'فایل \"$name\" نامعتبر است و نمی‌تواند اضافه شود.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'فایل نامعتبر است و نمی‌تواند اضافه شود'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'آیتم \"$name\" فایل معتبری نیست'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'یک مورد فایل معتبر نیست'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'خطایی در پردازش یک مورد رخ داد.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'خطایی در پردازش یک یا چند مورد رخ داده است'; + + @override + String get chatAttachmentErrorNoFiles => 'هیچ فایلی اضافه نشده است'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'برخی فایل‌ها به دلیل تکراری بودن با فایل‌های موجود نادیده گرفته شدند'; + + @override + String get chatAttachmentErrorUnknown => 'یک خطای ناشناخته رخ داد.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'خطاهای زیر در حین پیوست فایل‌ها رخ داد:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'به اشتراک گذاری فایل ناموفق بود: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'بستن'; + + @override + String get chatAttachmentPreviewTooltipShare => 'به اشتراک گذاری'; + + @override + String get chatAttachmentPreviewLoading => 'در حال بارگذاری فایل...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'بارگذاری فایل ناموفق بود'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'خطای ناشناخته رخ داده است'; + + @override + String get chatAttachmentPreviewButtonRetry => 'تلاش دوباره'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'نوع فایل پشتیبانی نمی‌شود'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'نمی‌توان پیش‌نمایش $contentType را مشاهده کرد'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => + 'فایل را به اشتراک بگذارید'; + + @override + String get chatAttachmentPreviewErrorImage => 'نمایش تصویر ناموفق بود'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => + 'بزرگنمایی را بازنشانی کنید'; + + @override + String get chatAttachmentPreviewErrorPdf => 'بارگذاری PDF ناموفق بود'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'عدم توانایی در رمزگشایی محتوای متنی.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'و $count خطای دیگر.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'فایل خراب است'; + + @override + String get chatConsentRequiredTitle => 'نیاز به رضایت'; + + @override + String get chatConsentRequiredText => + 'با ادامه دادن، شما با شرایط، سیاست حفظ حریم خصوصی و استفاده از کوکی‌ها موافقت می‌کنید و تأیید می‌کنید که این مشاوره توسط هوش مصنوعی ارائه می‌شود، نه یک حرفه‌ای پزشکی دارای مجوز.'; + + @override + String get chatConsentRequiredCloseTooltip => 'بستن'; + + @override + String get chatHistoryDelete => 'حذف'; + + @override + String get chatDelete => 'حذف چت'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'چت “$title” با موفقیت حذف شد.'; + } + + @override + String get chatDeleteConfirmationTitle => 'چت را حذف کنید؟'; + + @override + String get chatDeleteConfirmationSubtitle => + 'علائم شما، خلاصه تشخیص و هرگونه توصیه در این چت حذف خواهد شد.\nاین عمل غیرقابل بازگشت است.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'بزرگنمایی'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'زوم خارج'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'تنظیم مجدد زوم'; + + @override + String get chatAttachmentPreviewShareTooltip => 'به اشتراک گذاری'; + + @override + String get dateToday => 'امروز'; + + @override + String get dateYesterday => 'دیروز'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'فقط صفحه اول. برای دانلود فایل کامل از اشتراک استفاده کنید.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_fr.dart b/example/lib/src/generated/chat/chat_localization_fr.dart index b0b256b..d9b9eb3 100644 --- a/example/lib/src/generated/chat/chat_localization_fr.dart +++ b/example/lib/src/generated/chat/chat_localization_fr.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'chat_localization.dart'; class ChatLocalizationFr extends ChatLocalization { ChatLocalizationFr([String locale = 'fr']) : super(locale); - @override - String get title => 'Chat'; - @override String get drawerTooltipNotifications => 'Notifications'; @@ -32,16 +29,16 @@ class ChatLocalizationFr extends ChatLocalization { String get drawerSectionAccountSettings => 'Paramètres du compte'; @override - String get drawerSectionDonateToSupport => 'Faites un don pour soutenir'; + String get drawerSectionDonateToSupport => 'Faire un don pour soutenir'; @override String get drawerSectionSubscription => 'Abonnement'; @override - String get drawerSectionTitleChats => 'Chats'; + String get drawerSectionTitleChats => 'Discussions'; @override - String get drawerSectionChatHistory => 'Historique des discussions'; + String get drawerSectionChatHistory => 'Historique des chats'; @override String get drawerSectionAttachedDocuments => 'Documents joints'; @@ -53,25 +50,25 @@ class ChatLocalizationFr extends ChatLocalization { String get drawerSectionVideoTutorials => 'Tutoriels vidéo'; @override - String get drawerSectionTitleLegal => 'Légal'; + String get drawerSectionTitleLegal => 'Juridique'; @override - String get drawerSectionContactUs => 'Contactez-nous'; + String get drawerSectionContactUs => 'Nous contacter'; @override - String get drawerSectionBugReport => 'Rapport de bogue'; + String get drawerSectionBugReport => 'Rapport de bug'; @override - String get drawerSectionTermsAndConditions => 'Conditions générales'; + String get drawerSectionTermsAndConditions => 'Termes et conditions'; @override - String get drawerSectionPrivacyPolicy => 'politique de confidentialité'; + String get drawerSectionPrivacyPolicy => 'Politique de confidentialité'; @override String get drawerSectionTitleFeedback => 'Retour'; @override - String get drawerSectionRateApp => 'Évaluer l\'application'; + String get drawerSectionRateApp => 'Noter l\'application'; @override String get drawerSectionShareWithFriends => 'Partager avec des amis'; @@ -81,7 +78,7 @@ class ChatLocalizationFr extends ChatLocalization { @override String get drawerBannerHelpOthersReceiveMedicalCare => - 'Aider les autres à recevoir des soins médicaux'; + 'Aidez les autres à recevoir des soins médicaux'; @override String get drawerPlaceholderUser => 'Utilisateur'; @@ -97,34 +94,49 @@ class ChatLocalizationFr extends ChatLocalization { String get drawerLabelJoinUs => 'Rejoignez-nous'; @override - String get drawerTooltipVersion => 'Version de l\'application :'; + String get drawerTooltipVersion => 'Version de l\'application:'; + + @override + String get drawerSectionRecentChats => 'Chats récents'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Chat récent'; @override - String get chatInputHintEnterMessage => 'Entrez un message'; + String get drawerSectionDownloadApps => 'Télécharger des applications'; + + @override + String get chatInputHintEnterMessage => 'Entrez le message'; @override String get chatInputTooltipAttachFile => 'Joindre un fichier'; @override - String get chatInputTooltipDictateMessage => 'Dicter un message'; + String get chatInputTooltipDictateMessage => 'Dicter'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Terminer et transcrire'; @override - String get chatInputTooltipSendMessage => 'Envoyer un message'; + String get chatInputTooltipSendMessage => 'Envoyer le message'; @override String get chatListSnackBarErrorFailedToFetchMessages => - 'Échec de la récupération des messages'; + 'Impossible de récupérer les messages'; @override String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => 'Échec de la récupération des messages. Veuillez réessayer.'; @override - String get chatListTooltipFetchMessages => 'Récupérer des messages'; + String get chatListTooltipFetchMessages => 'Récupérer les messages'; @override String get chatListLabelNoMessagesAvailable => - 'Aucun message disponible. Veuillez envoyer un message pour démarrer la conversation.'; + 'Aucun message disponible.\nVeuillez envoyer un message pour démarrer la conversation.'; @override String get chatListHasConnection => 'Connecté'; @@ -133,7 +145,7 @@ class ChatLocalizationFr extends ChatLocalization { String get chatListNoConnection => 'Aucune connexion'; @override - String get chatActionButtonTooltipSearch => 'Recherche'; + String get chatActionButtonTooltipSearch => 'Rechercher'; @override String get chatActionButtonTooltipFavorites => 'Favoris'; @@ -149,37 +161,40 @@ class ChatLocalizationFr extends ChatLocalization { 'Partager avec des amis'; @override - String get chatActionButtonTooltipNewChat => 'Nouveau chat'; + String get chatActionButtonTooltipNewChat => 'Nouvelle conversation'; @override - String get chatActionButtonTooltipChatList => 'Sélectionnez Chat'; + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Sélectionner la discussion'; @override String get chatActionButtonTooltipShowDrawer => 'Afficher le tiroir'; @override String get chatLabelNoChatAvailableRefresh => - 'Aucun chat disponible. Veuillez actualiser la page ou créer un nouveau chat.'; + 'Aucune conversation disponible. Veuillez actualiser ou créer une nouvelle conversation.'; @override - String get chatButtonRefreshChats => 'Actualiser les discussions'; + String get chatButtonRefreshChats => 'Rafraîchir les discussions'; @override - String get chatButtonCreateNewChat => 'Créer un nouveau chat'; + String get chatButtonCreateNewChat => 'Créer une nouvelle discussion'; @override String get chatContextMenuCopyMessage => 'Copier le texte'; @override - String get chatStatusProcessingMessages => 'Je tape...\nUn instant...'; + String get chatStatusProcessingMessages => 'En train d\'écrire\nUn instant'; @override String get chatNoConnectionLabel => - 'Veuillez vérifier votre connexion Internet'; + 'Mise à jour...\nVeuillez vérifier votre connexion Internet'; @override String get chatErrorMessageAlreadyProcessed => - 'Le message est déjà en cours de traitement.'; + 'Le message est déjà en cours de traitement en ce moment.'; @override String get chatErrorMessageTooLong => 'Le message est trop long.'; @@ -191,32 +206,441 @@ class ChatLocalizationFr extends ChatLocalization { String get chatStatusFailedMessage => 'Échec du traitement du message'; @override - String get chatActionButtonTooltipExportSummary => 'Exporter au format PDF'; + String get chatActionButtonTooltipExportSummary => 'Exporter en PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; @override String get chatPickerPhotos => 'Photos'; @override - String get chatPickerCamera => 'Caméra'; + String get chatPickerCamera => 'Appareil photo'; @override String get chatPickerFiles => 'Fichiers'; @override - String get chatRecommendationYIAG => - 'J\'espère que cela vous a aidé ! Cette explication vous a-t-elle été utile ?'; + String get chatPickerPhotosFiles => 'Photos et fichiers'; @override - String get chatRecommendationButtonDonate => 'Oui, tout va bien !'; + String get chatRecommendationYIAG => + 'J\'espère que cela a aidé ! Cette explication vous a-t-elle été utile?'; @override - String get chatHistoryTitle => 'Historique des discussions'; + String get chatRecommendationButtonDonate => 'Oui, tout va bien!'; @override String get failedToRetrieveChatSummary => - 'Échec de la récupération du résumé de la discussion'; + 'Échec de la récupération du résumé du chat'; @override String get chatSummaryCopiedToClipboard => 'Résumé de la discussion copié dans le presse-papiers'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Essayez Doctorina dans l\'application mobile!'; + + @override + String get getAppStoreLogoLabel => 'Téléchargez sur'; + + @override + String get getGooglePlayLogoLabel => 'DISPONIBLE SUR'; + + @override + String get getAppStoreLogoTooltip => 'Télécharger sur l’App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Obtenez-le sur Google Play'; + + @override + String get reportMessageDialogTitle => 'Signaler un message'; + + @override + String get reportMessageDialogSubtitle => + 'Pourquoi signalez-vous ce message ?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Optionnel : Décrivez ce qui ne va pas avec ce message...'; + + @override + String get reportMessageDialogWhyImportant => + 'Cela nous aidera à améliorer nos réponses IA'; + + @override + String get reportMessageDialogCancelButton => 'Annuler'; + + @override + String get reportMessageDialogReportButton => 'Signaler'; + + @override + String get reportMessageSnackbarSuccess => + 'Merci pour vos retours ! Le rapport a été soumis.'; + + @override + String get reportMessageSnackbarFailed => 'Échec de l\'envoi du rapport'; + + @override + String get copyMessageSnackbarSuccess => 'Copié dans le presse-papiers'; + + @override + String get copyMessageSnackbarFailed => 'Échec de la copie du message'; + + @override + String get chatContextMenuReportMessage => 'Signaler un message'; + + @override + String get chatDropZoneTitle => 'Téléchargez dans le chat Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Faites glisser et déposez des fichiers ici pour les ajouter au chat'; + + @override + String get chatDropZoneText => + 'Vous pouvez ajouter jusqu\'à 15 fichiers à un message'; + + @override + String get notificationBannerText => + 'Souhaitez-vous que je vous informe si quelque chose d\'important se produit concernant votre santé?'; + + @override + String get notificationBannerButtonEnable => 'Oui, prévenez-moi'; + + @override + String get notificationBannerButtonDisable => 'Peut-être plus tard'; + + @override + String get notificationBannerButtonClose => 'Fermer'; + + @override + String get notificationAreBlockedSystem => + 'Les notifications sont bloquées au niveau du système. Activez-les dans les paramètres système avant d\'activer les notifications de Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Les notifications sont bloquées au niveau du système. Activez-les dans les paramètres du navigateur avant d\'activer les notifications de Doctorina.'; + + @override + String get notificationDialogTitle => 'Restez informé de votre consultation'; + + @override + String get notificationDialogDescription => + 'Doctorina peut vous notifier lorsque de nouvelles informations ou mises à jour concernant votre santé sont disponibles.'; + + @override + String get notificationDialogEnableButton => 'Activer les notifications'; + + @override + String get notificationDialogLaterButton => 'Peut-être plus tard'; + + @override + String get termsAndConditionBannerText => + 'En continuant, vous consentez au traitement des données personnelles, à l\'utilisation des cookies, acceptez les termes and conditions, et reconnaissez la

politique de confidentialité

. Vous reconnaissez également que votre consultation se fait avec une IA et non avec un professionnel de santé agréé'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Ignorer'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Enregistrez d\'abord ce chat?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Inscrivez-vous gratuitement pour sauvegarder cette consultation avant d’en commencer une nouvelle'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Démarrer sans enregistrer'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'S\'inscrire'; + + @override + String get inputBlockerContinueMessage => + 'Pour continuer la conversation, choisissez une option ci-dessus'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Fermer'; + + @override + String get chatAttachmentRemoveTooltip => 'Supprimer la pièce jointe'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Échec de la sélection des fichiers depuis la zone de dépôt'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Veuillez entrer un message ou joindre un fichier'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Veuillez attendre la fin des téléchargements'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'Le message est en cours de traitement'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Le message est trop long'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Le message est déjà en cours de traitement.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'La connexion est définitivement fermée'; + + @override + String get chatAttachmentErrorNoConnection => 'Pas de connexion au serveur'; + + @override + String get chatAttachmentErrorPickFiles => + 'Échec de la sélection des fichiers'; + + @override + String get chatAttachmentErrorPickImages => 'Échec de la sélection d\'images'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Échec de la capture de la photo depuis la caméra'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Vous pouvez joindre jusqu\'à $count fichiers à la fois.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Effacer le texte reconnu'; + + @override + String get chatInputTooltipMessageTooLong => 'Le message est trop long.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Veuillez attendre la fin des téléchargements'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Le $kind \"$name\" est déjà attaché et n\'a pas été ajouté à nouveau.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Le $kind \"$name\" est un duplicata de $exist et n\'a pas été ajouté.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Le $kind \"$name\" n\'a pas été ajouté car le nombre maximum de pièces jointes a été dépassé.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Le fichier \"$name\" est vide.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Le fichier est vide.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Le fichier \"$name\" dépasse la taille maximale autorisée.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Le fichier dépasse la taille maximale autorisée.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Une erreur est survenue lors du traitement du fichier \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Une erreur est survenue lors du traitement du fichier'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Le fichier \"$name\" n\'a pas été ajouté car le nombre maximum de pièces jointes a été dépassé.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Un fichier n\'a pas été ajouté car le nombre maximum de pièces jointes a été dépassé.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Un fichier n\'a pas été ajouté car le nombre maximum de pièces jointes a été dépassé.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Un fichier sans nom a été tenté d\'être ajouté'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Un fichier avec une extension non prise en charge a été tenté d\'être ajouté : \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Un fichier avec une extension non prise en charge a été tenté d\'être ajouté'; + + @override + String get chatAttachmentErrorFileNull => 'Impossible d\'ajouter un fichier'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Le fichier \"$name\" est invalide et ne peut pas être ajouté.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Un fichier est invalide et ne peut pas être ajouté'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'L\'élément \"$name\" n\'est pas un fichier valide'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Un élément n\'est pas un fichier valide'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Une erreur est survenue lors du traitement d\'un élément'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Une erreur s\'est produite lors du traitement d\'un ou plusieurs éléments.'; + + @override + String get chatAttachmentErrorNoFiles => 'Aucun fichier n\'a été ajouté'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Certains fichiers ont été ignorés en raison de doublons avec des fichiers existants.'; + + @override + String get chatAttachmentErrorUnknown => 'Une erreur inconnue est survenue.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Les erreurs suivantes se sont produites lors de l\'attachement des fichiers:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Échec du partage du fichier : $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Fermer'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Partager'; + + @override + String get chatAttachmentPreviewLoading => 'Chargement du fichier...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Échec du chargement du fichier'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Une erreur inconnue est survenue'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Réessayer'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Type de fichier non pris en charge'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Impossible de prévisualiser $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Partager le fichier'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Échec de l\'affichage de l\'image'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Réinitialiser le zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Échec du chargement du PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Échec du décodage du contenu textuel.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Et $count autres erreurs.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Le fichier est malformé'; + + @override + String get chatConsentRequiredTitle => 'Consentement requis'; + + @override + String get chatConsentRequiredText => + 'En continuant, vous acceptez nos Conditions générales, Politique de confidentialité, et l\'utilisation des cookies, et confirmez que cette consultation est fournie par une IA, et non par un professionnel de santé agréé.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Fermer'; + + @override + String get chatHistoryDelete => 'Supprimer'; + + @override + String get chatDelete => 'Supprimer le chat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat « $title » supprimé avec succès.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Supprimer le chat ?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Vos symptômes, le résumé du diagnostic et toutes les recommandations de ce chat seront supprimés.\nCette action ne peut pas être annulée.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Zoomer'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Dézoomer'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Réinitialiser le zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Partager'; + + @override + String get dateToday => 'Aujourd\'hui'; + + @override + String get dateYesterday => 'Hier'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Première page seulement. Utilisez Partager pour télécharger le fichier complet.'; } diff --git a/example/lib/src/generated/chat/chat_localization_gu.dart b/example/lib/src/generated/chat/chat_localization_gu.dart new file mode 100644 index 0000000..cff49a9 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_gu.dart @@ -0,0 +1,639 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Gujarati (`gu`). +class ChatLocalizationGu extends ChatLocalization { + ChatLocalizationGu([String locale = 'gu']) : super(locale); + + @override + String get drawerTooltipNotifications => 'સૂચનાઓ'; + + @override + String get drawerTooltipHelp => 'મદદ'; + + @override + String get drawerTooltipClose => 'બંધ કરો'; + + @override + String get drawerSectionTitleAccount => 'એકાઉન્ટ'; + + @override + String get drawerSectionProfile => 'પ્રોફાઇલ'; + + @override + String get drawerSectionAccountSettings => 'એકાઉન્ટ સેટિંગ્સ'; + + @override + String get drawerSectionDonateToSupport => 'સહાય કરવા માટે દાન કરો'; + + @override + String get drawerSectionSubscription => 'સબ્સ્ક્રિપ્શન'; + + @override + String get drawerSectionTitleChats => 'ચેટ્સ'; + + @override + String get drawerSectionChatHistory => 'ચેટ ઇતિહાસ'; + + @override + String get drawerSectionAttachedDocuments => 'જોડાયેલા દસ્તાવેજો'; + + @override + String get drawerSectionTitleHowToUse => 'કેવી રીતે વાપરવું'; + + @override + String get drawerSectionVideoTutorials => 'વિડિઓ ટ્યુટોરીયલ્સ'; + + @override + String get drawerSectionTitleLegal => 'કાનૂની'; + + @override + String get drawerSectionContactUs => 'અમારો સંપર્ક કરો'; + + @override + String get drawerSectionBugReport => 'બગ રિપોર્ટ'; + + @override + String get drawerSectionTermsAndConditions => 'શરતો અને નિયમો'; + + @override + String get drawerSectionPrivacyPolicy => 'ગોપનીયતા નીતિ'; + + @override + String get drawerSectionTitleFeedback => 'પ્રતિસાદ'; + + @override + String get drawerSectionRateApp => 'એપ રેટ કરો'; + + @override + String get drawerSectionShareWithFriends => 'મિત્રો સાથે શેર કરો'; + + @override + String get drawerButtonLogOut => 'બહાર નીકળો'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'બીજાઓને તબીબી સારવાર પ્રાપ્ત કરવા મદદ કરો'; + + @override + String get drawerPlaceholderUser => 'વપરાશકર્તા'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'પ્રીમિયમ સુવિધાઓ\nસાથે Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'પ્રાપ્ત કરો'; + + @override + String get drawerLabelJoinUs => 'અમારી સાથે જોડાઓ'; + + @override + String get drawerTooltipVersion => 'એપ્લિકેશન આવૃત્તિ:'; + + @override + String get drawerSectionRecentChats => 'તાજેતરના ચેટ'; + + @override + String get drawerPlaceholderProfile => 'પ્રોફાઇલ'; + + @override + String get drawerPlaceholderRecentChat => 'તાજેતરના ચેટ'; + + @override + String get drawerSectionDownloadApps => 'એપ્સ ડાઉનલોડ કરો'; + + @override + String get chatInputHintEnterMessage => 'સંદેશ દાખલ કરો'; + + @override + String get chatInputTooltipAttachFile => 'ફાઇલ જોડો'; + + @override + String get chatInputTooltipDictateMessage => 'ડિક્ટેટ'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'સમાપ્ત કરો અને લખાણમાં રૂપાંતરિત કરો'; + + @override + String get chatInputTooltipSendMessage => 'સંદેશ મોકલો'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'સંદેશા મેળવવામાં નિષ્ફળ'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'સંદેશો મેળવવામાં નિષ્ફળ. કૃપા કરીને ફરીથી પ્રયાસ કરો.'; + + @override + String get chatListTooltipFetchMessages => 'સંદેશો મેળવો'; + + @override + String get chatListLabelNoMessagesAvailable => + 'કોઈ સંદેશો ઉપલબ્ધ નથી.\nસંવાદ શરૂ કરવા માટે કૃપા કરીને સંદેશ મોકલો.'; + + @override + String get chatListHasConnection => 'જોડાયેલ'; + + @override + String get chatListNoConnection => 'કોઈ કનેક્શન નથી'; + + @override + String get chatActionButtonTooltipSearch => 'શોધો'; + + @override + String get chatActionButtonTooltipFavorites => 'પસંદીદા'; + + @override + String get chatActionButtonTooltipDownload => 'ડાઉનલોડ'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF પ્રિન્ટ કરો'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'મિત્રો સાથે શેર કરો'; + + @override + String get chatActionButtonTooltipNewChat => 'નવું ચેટ'; + + @override + String get chatActionButtonNewChat => 'ચેટ'; + + @override + String get chatActionButtonTooltipChatList => 'ચેટ પસંદ કરો'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ડ્રોઅર બતાવો'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'કોઈ ચેટ ઉપલબ્ધ નથી. કૃપા કરીને રિફ્રેશ કરો અથવા નવી ચેટ બનાવો.'; + + @override + String get chatButtonRefreshChats => 'ચેટ્સ રિફ્રેશ કરો'; + + @override + String get chatButtonCreateNewChat => 'નવી ચેટ બનાવો'; + + @override + String get chatContextMenuCopyMessage => 'ટેક્સ્ટ નકલ કરો'; + + @override + String get chatStatusProcessingMessages => + 'ટાઇપ કરી રહ્યું છે\nકૃપા કરીને થોડી ક્ષણ રાહ જુઓ'; + + @override + String get chatNoConnectionLabel => + 'અપડેટ થઈ રહ્યું છે...\nકૃપા કરીને તમારી ઇન્ટરનેટ કનેક્શન તપાસો'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'સંદેશ હાલ જ પ્રોસેસ થઈ રહ્યો છે.'; + + @override + String get chatErrorMessageTooLong => 'સંદેશો બહુ લાંબો છે.'; + + @override + String get chatRemoveAttachmentTooltip => 'અટૅચમેન્ટ કાઢી નાખો'; + + @override + String get chatStatusFailedMessage => 'સંદેશ પ્રોસેસ કરવામાં નિષ્ફળ'; + + @override + String get chatActionButtonTooltipExportSummary => 'પીડીએફ માટે નિકાસ કરો'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'ફોટા'; + + @override + String get chatPickerCamera => 'કેમેરા'; + + @override + String get chatPickerFiles => 'ફાઈલો'; + + @override + String get chatPickerPhotosFiles => 'ફોટોઝ અને ફાઇલો'; + + @override + String get chatRecommendationYIAG => + 'આશા છે કે આ મદદરૂપ થયું! શું આ સમજાવટ તમને ઉપયોગી લાગી?'; + + @override + String get chatRecommendationButtonDonate => 'હાં, બધું સરખું છે!'; + + @override + String get failedToRetrieveChatSummary => 'ચેટ સારાંશ મેળવવામાં નિષ્ફળ'; + + @override + String get chatSummaryCopiedToClipboard => + 'ચેટ સારાંશ ક્લિપબોર્ડ પર નકલ કરવામાં આવ્યો'; + + @override + String get tryDoctorinaInTheMobileApp => 'મોબાઇલ એપમાં Doctorina અજમાવો!'; + + @override + String get getAppStoreLogoLabel => 'ડાઉનલોડ પર'; + + @override + String get getGooglePlayLogoLabel => 'મેળવો'; + + @override + String get getAppStoreLogoTooltip => 'એપ સ્ટોર પર ડાઉનલોડ કરો'; + + @override + String get getGooglePlayLogoTooltip => 'Google Play પર મેળવો'; + + @override + String get reportMessageDialogTitle => 'સંદેશો રિપોર્ટ કરો'; + + @override + String get reportMessageDialogSubtitle => + 'તમે આ સંદેશાને શા માટે રિપોર્ટ કરી રહ્યા છો?'; + + @override + String get reportMessageDialogTextFieldHint => + 'વૈકલ્પિક: આ સંદેશામાં શું ખોટું છે તે વર્ણવો...'; + + @override + String get reportMessageDialogWhyImportant => + 'આ અમને અમારા AI પ્રતિસાદોને સુધારવામાં મદદ કરશે.'; + + @override + String get reportMessageDialogCancelButton => 'રદ કરો'; + + @override + String get reportMessageDialogReportButton => 'રિપોર્ટ'; + + @override + String get reportMessageSnackbarSuccess => + 'તમારા પ્રતિસાદ માટે આભાર! રિપોર્ટ સબમિટ કરવામાં આવ્યો છે.'; + + @override + String get reportMessageSnackbarFailed => 'રિપોર્ટ સબમિટ કરવામાં નિષ્ફળ'; + + @override + String get copyMessageSnackbarSuccess => 'ક્લિપબોર્ડમાં નકલ કરી'; + + @override + String get copyMessageSnackbarFailed => 'સંદેશો નકલ કરવામાં નિષ્ફળ'; + + @override + String get chatContextMenuReportMessage => 'સંદેશો રિપોર્ટ કરો'; + + @override + String get chatDropZoneTitle => 'ડોક્ટરિના ચેટમાં અપલોડ કરો'; + + @override + String get chatDropZoneSubtitle => + 'ચેટમાં ઉમેરવા માટે ફાઇલો અહીં ખેંચો અને છોડો'; + + @override + String get chatDropZoneText => + 'તમે એક સંદેશામાં 15 ફાઇલો સુધી ઉમેરવા માટે કરી શકો છો'; + + @override + String get notificationBannerText => + 'શું તમે ઇચ્છો છો કે હું તમને તમારા આરોગ્ય વિશે કંઈ મહત્વપૂર્ણ આવે ત્યારે જાણું?'; + + @override + String get notificationBannerButtonEnable => 'હા, મને જાણ કરો'; + + @override + String get notificationBannerButtonDisable => 'થોડીવાર પછી'; + + @override + String get notificationBannerButtonClose => 'બંધ કરો'; + + @override + String get notificationAreBlockedSystem => + 'સૂચનાઓ સિસ્ટમ સ્તરે અવરોધિત છે. Doctorinaની સૂચનાઓ સક્રિય કરવા પહેલા તેને સિસ્ટમ સેટિંગ્સમાં સક્રિય કરો.'; + + @override + String get notificationAreBlockedBrowser => + 'સૂચનાઓ સિસ્ટમ સ્તરે અવરોધિત છે. Doctorinaની સૂચનાઓ સક્રિય કરવા પહેલાં બ્રાઉઝર સેટિંગ્સમાં તેને સક્રિય કરો.'; + + @override + String get notificationDialogTitle => 'તમારી પરામર્શ વિશે અપડેટ રહેવું'; + + @override + String get notificationDialogDescription => + 'Doctorina તમને જ્યારે તમારા આરોગ્ય વિશે નવી માહિતી અથવા અપડેટ ઉપલબ્ધ હોય ત્યારે સૂચિત કરી શકે છે'; + + @override + String get notificationDialogEnableButton => 'સૂચનાઓ સક્રિય કરો'; + + @override + String get notificationDialogLaterButton => 'થોડીવાર પછી'; + + @override + String get termsAndConditionBannerText => + 'આગળ વધવાથી તમે વ્યક્તિગત ડેટા પ્રોસેસિંગ, cookies ના ઉપયોગ, ટર્મ્સ એન્ડ કન્ડિશન્સ સાથે સંમત છો અને

પ્રાઈવસી પોલિસી

ને માન્યતા આપો છો. તેમજ તમે આ માન્ય કરો છો કે તમારી સલાહકાર સેવા એ એક AI સાથે છે અને લાઈસન્સ ધરાવતા ડોક્ટર સાથે નથી'; + + @override + String get termsAndConditionBannerDismissTooltip => 'બંધ કરો'; + + @override + String get anonUserNewChatCreationWarningTitle => 'પહેલાં આ ચેટને સાચવો?'; + + @override + String get anonUserNewChatCreationWarningText => + 'નવી સલાહ પહેલાં આ સલાહને સાચવવા માટે મફતમાં સાઇન અપ કરો'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'સેવ કર્યા વિના શરૂ કરો'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'સાઇન અપ કરો'; + + @override + String get inputBlockerContinueMessage => + 'સંવાદ ચાલુ રાખવા માટે, ઉપરનો વિકલ્પ પસંદ કરો'; + + @override + String get chatServerDialogCloseBtnTooltip => 'બંધ કરો'; + + @override + String get chatAttachmentRemoveTooltip => 'ફાઇલ જોડાણ દૂર કરો'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'ડ્રોપ ઝોનમાંથી ફાઇલો પસંદ કરવામાં નિષ્ફળ'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'કૃપા કરીને સંદેશા દાખલ કરો અથવા ફાઇલ જોડો'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'કૃપા કરીને અપલોડ પૂર્ણ થવા માટે રાહ જુઓ'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'સંદેશો પ્રક્રિયા કરવામાં આવી રહ્યો છે'; + + @override + String get chatAttachmentErrorMessageTooLong => 'સંદેશો ખૂબ લાંબો છે'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'સંદેશો હાલમાં પ્રક્રિયા કરવામાં આવી રહ્યો છે.'; + + @override + String get chatAttachmentErrorConnectionClosed => 'સંબંધ કાયમ માટે બંધ છે'; + + @override + String get chatAttachmentErrorNoConnection => 'સર્વર સાથે કનેક્શન નથી'; + + @override + String get chatAttachmentErrorPickFiles => 'ફાઇલો પસંદ કરવામાં નિષ્ફળ'; + + @override + String get chatAttachmentErrorPickImages => 'છબાઓ પસંદ કરવામાં નિષ્ફળ'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'કેમેરા પરથી ફોટો કેચ કરવામાં નિષ્ફળ'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'તમે એક સાથે $count ફાઇલો જોડાવી શકો છો'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'ચિહ્નિત લખાણ સાફ કરો'; + + @override + String get chatInputTooltipMessageTooLong => 'સંદેશો ખૂબ લાંબો છે.'; + + @override + String get chatInputTooltipWaitForUploads => + 'કૃપા કરીને અપલોડ પૂર્ણ થવા માટે રાહ જુઓ'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'The $kind \"$name\" is already attached and was not added again.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" is a duplicate of $exist and was not added.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'ફાઇલ $kind \"$name\" ઉમેરવામાં આવી નથી કારણ કે જોડાણોની મહત્તમ સંખ્યા પાર થઈ ગઈ છે'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'ફાઇલ \"$name\" ખાલી છે'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'ફાઇલ ખાલી છે'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'ફાઇલ \"$name\" મહત્તમ મંજૂર કદને પાર કરે છે'; + } + + @override + String get chatAttachmentErrorFileSize => + 'ફાઇલની મંજૂર કરેલી મહત્તમ કદથી વધુ છે.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'ફાઇલ \"$name\"ને પ્રક્રિયા કરતી વખતે ભૂલ આવી છે.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'ફાઇલને પ્રોસેસ કરતી વખતે ભૂલ આવી છે'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'ફાઇલ \"$name\" ઉમેરવામાં આવી નથી કારણ કે જોડાણોની મહત્તમ સંખ્યા પાર થઈ ગઈ છે.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ફાઇલ(ઓ) ઉમેરવામાં આવી નથી કારણ કે જોડાણોની મહત્તમ સંખ્યા પાર થઈ ગઈ છે.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'એક ફાઇલ ઉમેરવામાં આવી નથી કારણ કે જોડાણોની મહત્તમ સંખ્યા પાર થઈ ગઈ છે.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'એક નામ વગરની ફાઇલ ઉમેરવાનો પ્રયાસ કરવામાં આવ્યો હતો'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'એક ફાઇલને સમર્થન ન મળતા એક્સ્ટેન્શન સાથે ઉમેરવાનો પ્રયાસ કરવામાં આવ્યો: \"$name\"'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'અન્યાયી એક્સ્ટેંશનવાળા ફાઇલને ઉમેરવાનો પ્રયાસ કરવામાં આવ્યો હતો'; + + @override + String get chatAttachmentErrorFileNull => 'ફાઇલ ઉમેરવી શક્ય નથી'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'ફાઇલ \"$name\" અમાન્ય છે અને તેને ઉમેરવામાં આવી શકતી નથી'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'ફાઇલ અમાન્ય છે અને ઉમેરવામાં આવી શકતી નથી'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'આઇટમ \"$name\" માન્ય ફાઇલ નથી.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'એક આઇટમ માન્ય ફાઇલ નથી.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'આઇટમને પ્રક્રિયા કરતી વખતે ભૂલ આવી છે'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'આઇટમ(ઓ)ને પ્રક્રિયા કરતી વખતે ભૂલ આવી છે'; + + @override + String get chatAttachmentErrorNoFiles => 'કોઈ ફાઇલો ઉમેરવામાં આવી નથી.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'કેટલાક ફાઇલોને અસ્તિત્વમાં રહેલા ફાઇલો સાથેના નકલના કારણે છોડી દેવામાં આવ્યા.'; + + @override + String get chatAttachmentErrorUnknown => 'અજ્ઞાત ભૂલ થઈ છે'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'ફાઇલોને જોડતી વખતે નીચેના ભૂલો થઈ છે:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'ફાઇલ શેર કરવામાં નિષ્ફળ: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'બંધ કરો'; + + @override + String get chatAttachmentPreviewTooltipShare => 'શેર'; + + @override + String get chatAttachmentPreviewLoading => 'ફાઇલ લોડ થઈ રહી છે...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'ફાઇલ લોડ કરવામાં નિષ્ફળ'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'અજ્ઞાત ભૂલ થઈ છે'; + + @override + String get chatAttachmentPreviewButtonRetry => 'ફરીથી પ્રયાસ કરો'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'અસમર્થિત ફાઇલ પ્રકાર'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Cannot preview $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'ફાઇલ શેર કરો'; + + @override + String get chatAttachmentPreviewErrorImage => 'છબી દર્શાવવા માટે નિષ્ફળ'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'ઝૂમ ફરીથી સેટ કરો'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF લોડ કરવામાં નિષ્ફળ'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'ટેક્સ્ટ સામગ્રીને ડિકોડ કરવામાં નિષ્ફળ'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'અને $count વધુ ભૂલો છે.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => + 'ફાઇલ ખોટી રીતે બનાવવામાં આવી છે'; + + @override + String get chatConsentRequiredTitle => 'સંમતિ જરૂરી છે'; + + @override + String get chatConsentRequiredText => + 'આગળ વધતા, તમે અમારી શરતો, ગોપનીયતા નીતિ, અને કૂકીઝનો ઉપયોગ માટે સંમતિ આપો છો, અને ખાતરી કરો છો કે આ પરામર્શ AI દ્વારા આપવામાં આવે છે, લાઇસન્સ ધરાવતા તબીબ દ્વારા નહીં.'; + + @override + String get chatConsentRequiredCloseTooltip => 'બંધ કરો'; + + @override + String get chatHistoryDelete => 'મિટાવો'; + + @override + String get chatDelete => 'ચેટ કાઢી નાખો'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'ચેટ \"$title\" સફળતાપૂર્વક કાઢી નાખવામાં આવ્યો.'; + } + + @override + String get chatDeleteConfirmationTitle => 'ચેટ કાઢી નાખવો?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'તમારા લક્ષણો, નિદાનનો સારાંશ, અને આ ચેટમાં કોઈપણ ભલામણો દૂર કરવામાં આવશે.\nઆ ક્રિયા પાછી ખેંચી શકાતી નથી.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'ઝૂમ ઇન'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'ઝૂમ આઉટ'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'ઝૂમ ફરીથી સેટ કરો'; + + @override + String get chatAttachmentPreviewShareTooltip => 'શેર કરો'; + + @override + String get dateToday => 'આજે'; + + @override + String get dateYesterday => 'ગઈ કાલ'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'ફક્ત પ્રથમ પાનું. સંપૂર્ણ ફાઇલ ડાઉનલોડ કરવા માટે શેર કરો.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_he.dart b/example/lib/src/generated/chat/chat_localization_he.dart new file mode 100644 index 0000000..e3a61a6 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_he.dart @@ -0,0 +1,621 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hebrew (`he`). +class ChatLocalizationHe extends ChatLocalization { + ChatLocalizationHe([String locale = 'he']) : super(locale); + + @override + String get drawerTooltipNotifications => 'התראות'; + + @override + String get drawerTooltipHelp => 'עזרה'; + + @override + String get drawerTooltipClose => 'סגור'; + + @override + String get drawerSectionTitleAccount => 'חשבון'; + + @override + String get drawerSectionProfile => 'פרופיל'; + + @override + String get drawerSectionAccountSettings => 'הגדרות חשבון'; + + @override + String get drawerSectionDonateToSupport => 'תרום לתמיכה'; + + @override + String get drawerSectionSubscription => 'מנוי'; + + @override + String get drawerSectionTitleChats => 'צ\'אטים'; + + @override + String get drawerSectionChatHistory => 'היסטוריית צ\'אט'; + + @override + String get drawerSectionAttachedDocuments => 'מסמכים מצורפים'; + + @override + String get drawerSectionTitleHowToUse => 'כיצד להשתמש'; + + @override + String get drawerSectionVideoTutorials => 'מדריכי וידאו'; + + @override + String get drawerSectionTitleLegal => 'משפטי'; + + @override + String get drawerSectionContactUs => 'צור קשר'; + + @override + String get drawerSectionBugReport => 'דוח באג'; + + @override + String get drawerSectionTermsAndConditions => 'תנאים והתניות'; + + @override + String get drawerSectionPrivacyPolicy => 'מדיניות פרטיות'; + + @override + String get drawerSectionTitleFeedback => 'משוב'; + + @override + String get drawerSectionRateApp => 'דרג את האפליקציה'; + + @override + String get drawerSectionShareWithFriends => 'שתף עם חברים'; + + @override + String get drawerButtonLogOut => 'התנתק'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'עזור לאחרים לקבל טיפול רפואי'; + + @override + String get drawerPlaceholderUser => 'משתמש'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'תכונות פרימיום\nעם Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'קבל'; + + @override + String get drawerLabelJoinUs => 'הצטרפו אלינו'; + + @override + String get drawerTooltipVersion => 'גרסת האפליקציה:'; + + @override + String get drawerSectionRecentChats => 'שיחות אחרונות'; + + @override + String get drawerPlaceholderProfile => 'פרופיל'; + + @override + String get drawerPlaceholderRecentChat => 'שיחה אחרונה'; + + @override + String get drawerSectionDownloadApps => 'הורדת אפליקציות'; + + @override + String get chatInputHintEnterMessage => 'הכנס הודעה'; + + @override + String get chatInputTooltipAttachFile => 'צרף קובץ'; + + @override + String get chatInputTooltipDictateMessage => 'הכתבה'; + + @override + String get chatInputTooltipDictateFinishMessage => 'סיום ותמלול'; + + @override + String get chatInputTooltipSendMessage => 'שלח הודעה'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'טעינת ההודעות נכשלה'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'התרחשה שגיאה בטעינת ההודעות. אנא נסה שוב.'; + + @override + String get chatListTooltipFetchMessages => 'קבל הודעות'; + + @override + String get chatListLabelNoMessagesAvailable => + 'אין הודעות זמינות.\nאנא שלח הודעה כדי להתחיל את השיחה.'; + + @override + String get chatListHasConnection => 'מחובר'; + + @override + String get chatListNoConnection => 'אין חיבור'; + + @override + String get chatActionButtonTooltipSearch => 'חיפוש'; + + @override + String get chatActionButtonTooltipFavorites => 'מועדפים'; + + @override + String get chatActionButtonTooltipDownload => 'הורד'; + + @override + String get chatActionButtonTooltipPrintPdf => 'הדפס PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'שתף עם חברים'; + + @override + String get chatActionButtonTooltipNewChat => 'צ\'אט חדש'; + + @override + String get chatActionButtonNewChat => 'צ\'אט'; + + @override + String get chatActionButtonTooltipChatList => 'בחר צ\'אט'; + + @override + String get chatActionButtonTooltipShowDrawer => 'הצג מגירה'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'אין שיחות זמינות. אנא רענן או צור שיחה חדשה.'; + + @override + String get chatButtonRefreshChats => 'רענן שיחות'; + + @override + String get chatButtonCreateNewChat => 'צור צ\'אט חדש'; + + @override + String get chatContextMenuCopyMessage => 'העתק טקסט'; + + @override + String get chatStatusProcessingMessages => 'מקליד\nרגע אחד'; + + @override + String get chatNoConnectionLabel => + 'מתעדכן...\nאנא בדוק את חיבור האינטרנט שלך'; + + @override + String get chatErrorMessageAlreadyProcessed => 'ההודעה כבר מעובדת כרגע.'; + + @override + String get chatErrorMessageTooLong => 'ההודעה ארוכה מדי.'; + + @override + String get chatRemoveAttachmentTooltip => 'הסר קובץ מצורף'; + + @override + String get chatStatusFailedMessage => 'כישלון בעיבוד ההודעה'; + + @override + String get chatActionButtonTooltipExportSummary => 'ייצוא ל-PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'תמונות'; + + @override + String get chatPickerCamera => 'מצלמה'; + + @override + String get chatPickerFiles => 'קבצים'; + + @override + String get chatPickerPhotosFiles => 'תמונות וקבצים'; + + @override + String get chatRecommendationYIAG => + 'אני מקווה שזה עזר! האם ההסבר היה מועיל לך?'; + + @override + String get chatRecommendationButtonDonate => 'כן, הכל בסדר!'; + + @override + String get failedToRetrieveChatSummary => 'נכשל בשחזור סיכום השיחה'; + + @override + String get chatSummaryCopiedToClipboard => 'סיכום השיחה הועתק ללוח'; + + @override + String get tryDoctorinaInTheMobileApp => 'נסה את Doctorina באפליקציה לנייד!'; + + @override + String get getAppStoreLogoLabel => 'הורד ב'; + + @override + String get getGooglePlayLogoLabel => 'קבל אותו ב'; + + @override + String get getAppStoreLogoTooltip => 'הורד ב-App Store'; + + @override + String get getGooglePlayLogoTooltip => 'קבל ב-Google Play'; + + @override + String get reportMessageDialogTitle => 'דיווח על הודעה'; + + @override + String get reportMessageDialogSubtitle => 'למה אתה מדווח על ההודעה הזו?'; + + @override + String get reportMessageDialogTextFieldHint => + 'אופציונלי: תאר מה לא בסדר עם ההודעה הזו...'; + + @override + String get reportMessageDialogWhyImportant => + 'זה יעזור לנו לשפר את התגובות של הבינה המלאכותית שלנו.'; + + @override + String get reportMessageDialogCancelButton => 'ביטול'; + + @override + String get reportMessageDialogReportButton => 'דיווח'; + + @override + String get reportMessageSnackbarSuccess => 'תודה על המשוב שלך! הדו\"ח הוגש.'; + + @override + String get reportMessageSnackbarFailed => 'שליחת הדו\"ח נכשלה'; + + @override + String get copyMessageSnackbarSuccess => 'הועתק ללוח'; + + @override + String get copyMessageSnackbarFailed => 'העתקת ההודעה נכשלה'; + + @override + String get chatContextMenuReportMessage => 'דיווח על הודעה'; + + @override + String get chatDropZoneTitle => 'העלה לצ\'אט של דוקטורינה'; + + @override + String get chatDropZoneSubtitle => 'גרור ושחרר קבצים כאן כדי להוסיף לשיחה'; + + @override + String get chatDropZoneText => 'אתה יכול להוסיף עד 15 קבצים להודעה אחת'; + + @override + String get notificationBannerText => + 'האם תרצה שאודיע לך אם יקרה משהו חשוב לגבי הבריאות שלך?'; + + @override + String get notificationBannerButtonEnable => 'כן, הודע לי'; + + @override + String get notificationBannerButtonDisable => 'אולי מאוחר יותר'; + + @override + String get notificationBannerButtonClose => 'סגור'; + + @override + String get notificationAreBlockedSystem => + 'ההודעות חסומות ברמת המערכת. אפשר אותן בהגדרות המערכת לפני הפעלת ההודעות של דוקטורינה.'; + + @override + String get notificationAreBlockedBrowser => + 'ההודעות חסומות ברמת המערכת. אפשר אותן בהגדרות הדפדפן לפני הפעלת ההודעות של Doctorina.'; + + @override + String get notificationDialogTitle => 'הישאר מעודכן לגבי הייעוץ שלך'; + + @override + String get notificationDialogDescription => + 'דוקטורינה יכולה להודיע לך כאשר יש תובנות או עדכונים חדשים לגבי הבריאות שלך.'; + + @override + String get notificationDialogEnableButton => 'אפשר התראות'; + + @override + String get notificationDialogLaterButton => 'אולי מאוחר יותר'; + + @override + String get termsAndConditionBannerText => + 'על ידי המשך השימוש אתה מסכים לעיבוד הנתונים האישיים, לשימוש ב-עוגיות, ומסכים ל-תנאים and conditions, ומאשר את

privacy policy

. כמו כן, אתה מאשר כי הייעוץ נעשה על ידי AI ולא על ידי איש מקצוע רפואי מורשה'; + + @override + String get termsAndConditionBannerDismissTooltip => 'לְהַסִיר'; + + @override + String get anonUserNewChatCreationWarningTitle => 'שמור את הצ\'אט הזה קודם?'; + + @override + String get anonUserNewChatCreationWarningText => + 'הרשם בחינם כדי לשמור את הייעוץ הזה לפני שתתחיל חדש'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'התחל ללא שמירה'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => 'הירשם'; + + @override + String get inputBlockerContinueMessage => + 'כדי להמשיך בשיחה, בחר אפשרות למעלה'; + + @override + String get chatServerDialogCloseBtnTooltip => 'סגור'; + + @override + String get chatAttachmentRemoveTooltip => 'הסר קובץ מצורף'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'נכשל בבחירת קבצים מאזור ההנחה'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'אנא הזן הודעה או צרף קובץ'; + + @override + String get chatAttachmentErrorWaitForUploads => 'אנא המתן להשלמת ההעלאות'; + + @override + String get chatAttachmentErrorMessageProcessing => 'ההודעה מעובדת'; + + @override + String get chatAttachmentErrorMessageTooLong => 'ההודעה ארוכה מדי'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'ההודעה כבר מעובדת כרגע'; + + @override + String get chatAttachmentErrorConnectionClosed => 'החיבור נסגר לצמיתות'; + + @override + String get chatAttachmentErrorNoConnection => 'אין חיבור לשרת'; + + @override + String get chatAttachmentErrorPickFiles => 'נכשל picking קבצים'; + + @override + String get chatAttachmentErrorPickImages => 'נכשל picking תמונות'; + + @override + String get chatAttachmentErrorCapturePhoto => 'נכשל בלכידת תמונה מהמצלמה'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'אתה יכול לצרף עד $count קבצים בבת אחת'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'נקה טקסט מזוהה'; + + @override + String get chatInputTooltipMessageTooLong => 'ההודעה ארוכה מדי.'; + + @override + String get chatInputTooltipWaitForUploads => 'אנא המתן להשלמת ההעלאות'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '$kind \"$name\" כבר מצורף ולא נוסף שוב.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return '$kind \"$name\" הוא כפול של $exist ולא נוסף.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '$kind \"$name\" לא נוסף כי מספר הקבצים המצורפים המקסימלי הושג.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'הקובץ \"$name\" ריק.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'הקובץ ריק.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'הקובץ \"$name\" חורג מהגודל המקסימלי המותר'; + } + + @override + String get chatAttachmentErrorFileSize => 'הקובץ חורג מהגודל המותר המרבי.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'אירעה שגיאה בעת עיבוד הקובץ \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'אירעה שגיאה בעת עיבוד הקובץ.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'הקובץ \"$name\" לא נוסף כי מספר הקבצים המצורפים המקסימלי הושג.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'קובץ(ים) לא נוסף כי מספר הקבצים המצורפים המקסימלי הושג.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'קובץ לא נוסף כי מספר הקבצים המצורפים המקסימלי הושג.'; + + @override + String get chatAttachmentErrorFileMissingName => 'ניסו להוסיף קובץ ללא שם'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'ניסו להוסיף קובץ עם סיומת לא נתמכת: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'ניסו להוסיף קובץ עם סיומת לא נתמכת'; + + @override + String get chatAttachmentErrorFileNull => 'אי אפשר להוסיף קובץ'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'הקובץ \"$name\" אינו תקין ואינו יכול להתווסף.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'הקובץ אינו תקין ואינו יכול להתווסף'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'הפריט \"$name\" אינו קובץ תקף'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'פריט אינו קובץ תקף'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'אירעה שגיאה בעת עיבוד פריט.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'אירעה שגיאה בעת עיבוד פריט(ים)'; + + @override + String get chatAttachmentErrorNoFiles => 'לא נוספו קבצים.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'כמה קבצים הושמטו עקב כפילויות עם קבצים קיימים'; + + @override + String get chatAttachmentErrorUnknown => 'אירעה שגיאה לא ידועה.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'הטעויות הבאות התרחשו בעת attaching קבצים:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'שיתוף הקובץ נכשל: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'סגור'; + + @override + String get chatAttachmentPreviewTooltipShare => 'שתף'; + + @override + String get chatAttachmentPreviewLoading => 'טוען קובץ...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'טעינת קובץ נכשלה'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'אירעה שגיאה לא ידועה'; + + @override + String get chatAttachmentPreviewButtonRetry => 'ניסיון שוב'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'סוג קובץ לא נתמך'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'לא ניתן להציג תצוגה מקדימה של $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'שתף קובץ'; + + @override + String get chatAttachmentPreviewErrorImage => 'הצגת התמונה נכשלה'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'אפס זום'; + + @override + String get chatAttachmentPreviewErrorPdf => 'טעינת PDF נכשלה'; + + @override + String get chatAttachmentPreviewErrorDecodeText => 'נכשל בפענוח תוכן הטקסט.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'ועוד $count שגיאות.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'הקובץ פגום'; + + @override + String get chatConsentRequiredTitle => 'דרושה הסכמה'; + + @override + String get chatConsentRequiredText => + 'בהמשך, אתה מסכים לתנאים, למדיניות הפרטיות ולשימוש בעוגיות, ומאשר שהייעוץ הזה ניתן על ידי AI, ולא על ידי איש מקצוע רפואי מורשה.'; + + @override + String get chatConsentRequiredCloseTooltip => 'סגור'; + + @override + String get chatHistoryDelete => 'מחק'; + + @override + String get chatDelete => 'מחק צ\'אט'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'הצ\'אט “$title” נמחק בהצלחה.'; + } + + @override + String get chatDeleteConfirmationTitle => 'מחק צ\'אט?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'הסימפטומים שלך, סיכום האבחון וכל המלצה בצ\'אט זה יימחקו.\nפעולה זו אינה ניתנת לביטול.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'הגדל'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'הקטן'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'איפוס זום'; + + @override + String get chatAttachmentPreviewShareTooltip => 'שתף'; + + @override + String get dateToday => 'היום'; + + @override + String get dateYesterday => 'אתמול'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'רק עמוד ראשון. השתמש בשיתוף כדי להוריד את הקובץ המלא.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_hi.dart b/example/lib/src/generated/chat/chat_localization_hi.dart index cd3e9d3..4443be9 100644 --- a/example/lib/src/generated/chat/chat_localization_hi.dart +++ b/example/lib/src/generated/chat/chat_localization_hi.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,17 +10,14 @@ import 'chat_localization.dart'; class ChatLocalizationHi extends ChatLocalization { ChatLocalizationHi([String locale = 'hi']) : super(locale); - @override - String get title => 'बात करना'; - @override String get drawerTooltipNotifications => 'सूचनाएं'; @override - String get drawerTooltipHelp => 'मदद'; + String get drawerTooltipHelp => 'सहायता'; @override - String get drawerTooltipClose => 'बंद करना'; + String get drawerTooltipClose => 'बंद करें'; @override String get drawerSectionTitleAccount => 'खाता'; @@ -29,40 +26,40 @@ class ChatLocalizationHi extends ChatLocalization { String get drawerSectionProfile => 'प्रोफ़ाइल'; @override - String get drawerSectionAccountSettings => 'अकाउंट सेटिंग'; + String get drawerSectionAccountSettings => 'खाता सेटिंग्स'; @override - String get drawerSectionDonateToSupport => 'समर्थन के लिए दान करें'; + String get drawerSectionDonateToSupport => 'समर्थन हेतु दान करें'; @override String get drawerSectionSubscription => 'सदस्यता'; @override - String get drawerSectionTitleChats => 'चैट'; + String get drawerSectionTitleChats => 'चैट्स'; @override - String get drawerSectionChatHistory => 'चैट का इतिहास'; + String get drawerSectionChatHistory => 'चैट इतिहास'; @override String get drawerSectionAttachedDocuments => 'संलग्न दस्तावेज़'; @override - String get drawerSectionTitleHowToUse => 'का उपयोग कैसे करें'; + String get drawerSectionTitleHowToUse => 'कैसे उपयोग करें'; @override - String get drawerSectionVideoTutorials => 'वीडियो ट्यूटोरियल'; + String get drawerSectionVideoTutorials => 'वीडियो ट्यूटोरियल्स'; @override String get drawerSectionTitleLegal => 'कानूनी'; @override - String get drawerSectionContactUs => 'हमसे संपर्क करें'; + String get drawerSectionContactUs => 'संपर्क करें'; @override String get drawerSectionBugReport => 'बग रिपोर्ट'; @override - String get drawerSectionTermsAndConditions => 'नियम एवं शर्तें'; + String get drawerSectionTermsAndConditions => 'नियम और शर्तें'; @override String get drawerSectionPrivacyPolicy => 'गोपनीयता नीति'; @@ -71,45 +68,61 @@ class ChatLocalizationHi extends ChatLocalization { String get drawerSectionTitleFeedback => 'प्रतिक्रिया'; @override - String get drawerSectionRateApp => 'एप्प का मूल्यांकन'; + String get drawerSectionRateApp => 'ऐप रेट करें'; @override - String get drawerSectionShareWithFriends => 'दोस्तों के साथ बांटें'; + String get drawerSectionShareWithFriends => 'दोस्तों के साथ साझा करें'; @override String get drawerButtonLogOut => 'लॉग आउट'; @override String get drawerBannerHelpOthersReceiveMedicalCare => - 'दूसरों को चिकित्सा देखभाल प्राप्त करने में सहायता करें'; + 'दूसरों को चिकित्सा देखभाल प्राप्त करने में मदद करें'; @override String get drawerPlaceholderUser => 'उपयोगकर्ता'; @override String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => - 'प्रीमियम सुविधाएँ\nडॉक्टरिना के साथ'; + 'प्रीमियम सुविधाएँ\nडॉक्टोरिना के साथ'; @override - String get drawerSubscriptionButtonGetPremiumFeatures => 'पाना'; + String get drawerSubscriptionButtonGetPremiumFeatures => 'प्राप्त करें'; @override String get drawerLabelJoinUs => 'हमसे जुड़ें'; @override - String get drawerTooltipVersion => 'एप्लिकेशन वेरीज़न:'; + String get drawerTooltipVersion => 'ऐप संस्करण:'; + + @override + String get drawerSectionRecentChats => 'हाल के चैट'; + + @override + String get drawerPlaceholderProfile => 'प्रोफ़ाइल'; + + @override + String get drawerPlaceholderRecentChat => 'हालिया चैट'; + + @override + String get drawerSectionDownloadApps => 'ऐप डाउनलोड करें'; @override String get chatInputHintEnterMessage => 'संदेश दर्ज करें'; @override - String get chatInputTooltipAttachFile => 'फ़ाइल जोड़ें'; + String get chatInputTooltipAttachFile => 'फ़ाइल संलग्न करें'; + + @override + String get chatInputTooltipDictateMessage => 'डिक्टेट करें'; @override - String get chatInputTooltipDictateMessage => 'संदेश लिखवाएँ'; + String get chatInputTooltipDictateFinishMessage => + 'समाप्त करें और ट्रांसक्राइब करें'; @override - String get chatInputTooltipSendMessage => 'मेसेज भेजें'; + String get chatInputTooltipSendMessage => 'संदेश भेजें'; @override String get chatListSnackBarErrorFailedToFetchMessages => @@ -117,83 +130,90 @@ class ChatLocalizationHi extends ChatLocalization { @override String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => - 'संदेश प्राप्त करने में विफल. कृपया पुनः प्रयास करें.'; + 'संदेश प्राप्त करने में विफल। कृपया पुनः प्रयास करें।'; @override String get chatListTooltipFetchMessages => 'संदेश प्राप्त करें'; @override String get chatListLabelNoMessagesAvailable => - 'कोई संदेश उपलब्ध नहीं है।\nकृपया बातचीत शुरू करने के लिए एक संदेश भेजें।'; + 'कोई संदेश उपलब्ध नहीं है।\nबातचीत शुरू करने के लिए कृपया एक संदेश भेजें।'; @override - String get chatListHasConnection => 'जुड़े हुए'; + String get chatListHasConnection => 'कनेक्टेड'; @override - String get chatListNoConnection => 'कोई कनेक्शन नहीं'; + String get chatListNoConnection => 'कनेक्शन नहीं'; @override - String get chatActionButtonTooltipSearch => 'खोज'; + String get chatActionButtonTooltipSearch => 'खोजें'; @override String get chatActionButtonTooltipFavorites => 'पसंदीदा'; @override - String get chatActionButtonTooltipDownload => 'डाउनलोड करना'; + String get chatActionButtonTooltipDownload => 'डाउनलोड'; @override String get chatActionButtonTooltipPrintPdf => 'पीडीएफ प्रिंट करें'; @override - String get chatActionButtonTooltipShareWithFriends => 'दोस्तों के साथ बांटें'; + String get chatActionButtonTooltipShareWithFriends => + 'दोस्तों के साथ साझा करें'; @override String get chatActionButtonTooltipNewChat => 'नई चैट'; + @override + String get chatActionButtonNewChat => 'चैट'; + @override String get chatActionButtonTooltipChatList => 'चैट चुनें'; @override - String get chatActionButtonTooltipShowDrawer => 'दराज दिखाएँ'; + String get chatActionButtonTooltipShowDrawer => 'ड्रावर दिखाएं'; @override String get chatLabelNoChatAvailableRefresh => - 'कोई चैट उपलब्ध नहीं है। कृपया रीफ़्रेश करें या नई चैट बनाएँ।'; + 'कोई चैट उपलब्ध नहीं है। कृपया रिफ्रेश करें या नई चैट शुरू करें।'; @override String get chatButtonRefreshChats => 'चैट रीफ़्रेश करें'; @override - String get chatButtonCreateNewChat => 'नई चैट बनाएँ'; + String get chatButtonCreateNewChat => 'नई चैट बनाएं'; @override - String get chatContextMenuCopyMessage => 'पाठ की प्रतिलिपि बनाएँ'; + String get chatContextMenuCopyMessage => 'पाठ कॉपी करें'; @override - String get chatStatusProcessingMessages => - 'टाइप कर रहा हूँ...\nज़रा रुकिए...'; + String get chatStatusProcessingMessages => 'टाइपिंग\nएक पल रुकिए'; @override - String get chatNoConnectionLabel => 'कृपया अपने इंटरनेट कनेक्शन की जाँच करें'; + String get chatNoConnectionLabel => + 'अपडेट हो रहा है...\nकृपया अपनी इंटरनेट कनेक्शन की जांच करें'; @override String get chatErrorMessageAlreadyProcessed => - 'संदेश पर अभी कार्रवाई चल रही है।'; + 'संदेश अभी ही प्रक्रिया में है।'; @override String get chatErrorMessageTooLong => 'संदेश बहुत लंबा है.'; @override - String get chatRemoveAttachmentTooltip => 'अनुलग्नक हटाएँ'; + String get chatRemoveAttachmentTooltip => 'संलग्न हटाएं'; + + @override + String get chatStatusFailedMessage => 'संदेश संसाधित करने में असफल'; @override - String get chatStatusFailedMessage => 'संदेश संसाधित करने में विफल'; + String get chatActionButtonTooltipExportSummary => 'पीडीएफ में निर्यात'; @override - String get chatActionButtonTooltipExportSummary => 'PDF में निर्यात करें'; + String get chatActionExportToPdfTitle => 'PDF'; @override - String get chatPickerPhotos => 'तस्वीरें'; + String get chatPickerPhotos => 'फोटो'; @override String get chatPickerCamera => 'कैमरा'; @@ -202,19 +222,416 @@ class ChatLocalizationHi extends ChatLocalization { String get chatPickerFiles => 'फ़ाइलें'; @override - String get chatRecommendationYIAG => - 'उम्मीद है इससे मदद मिली होगी! क्या यह स्पष्टीकरण आपके लिए उपयोगी था?'; + String get chatPickerPhotosFiles => 'फोटो और फ़ाइलें'; @override - String get chatRecommendationButtonDonate => 'हाँ, सब ठीक है!'; + String get chatRecommendationYIAG => + 'आशा है कि इससे मदद मिली! क्या यह स्पष्टीकरण आपके लिए उपयोगी था?'; @override - String get chatHistoryTitle => 'चैट का इतिहास'; + String get chatRecommendationButtonDonate => 'हाँ, सब ठीक है!'; @override - String get failedToRetrieveChatSummary => 'चैट सारांश प्राप्त करने में विफल'; + String get failedToRetrieveChatSummary => 'चैट सारांश प्राप्त करने में असफल'; @override String get chatSummaryCopiedToClipboard => 'चैट सारांश क्लिपबोर्ड पर कॉपी किया गया'; + + @override + String get tryDoctorinaInTheMobileApp => 'मोबाइल ऐप में Doctorina आज़माएं!'; + + @override + String get getAppStoreLogoLabel => 'डाउनलोड पर'; + + @override + String get getGooglePlayLogoLabel => 'यहाँ उपलब्ध'; + + @override + String get getAppStoreLogoTooltip => 'App Store से डाउनलोड करें'; + + @override + String get getGooglePlayLogoTooltip => 'Google Play पर प्राप्त करें'; + + @override + String get reportMessageDialogTitle => 'संदेश रिपोर्ट करें'; + + @override + String get reportMessageDialogSubtitle => + 'आप इस संदेश की रिपोर्ट क्यों कर रहे हैं?'; + + @override + String get reportMessageDialogTextFieldHint => + 'वैकल्पिक: इस संदेश में क्या गलत है, इसका वर्णन करें...'; + + @override + String get reportMessageDialogWhyImportant => + 'यह हमें हमारी एआई प्रतिक्रियाओं में सुधार करने में मदद करेगा।'; + + @override + String get reportMessageDialogCancelButton => 'रद्द करें'; + + @override + String get reportMessageDialogReportButton => 'रिपोर्ट'; + + @override + String get reportMessageSnackbarSuccess => + 'आपकी प्रतिक्रिया के लिए धन्यवाद! रिपोर्ट जमा कर दी गई है।'; + + @override + String get reportMessageSnackbarFailed => 'रिपोर्ट सबमिट करने में विफल'; + + @override + String get copyMessageSnackbarSuccess => 'क्लिपबोर्ड में कॉपी किया गया'; + + @override + String get copyMessageSnackbarFailed => 'संदेश कॉपी करने में विफल'; + + @override + String get chatContextMenuReportMessage => 'संदेश रिपोर्ट करें'; + + @override + String get chatDropZoneTitle => 'डॉक्टरिना चैट में अपलोड करें'; + + @override + String get chatDropZoneSubtitle => 'फाइल्स को यहाँ खींचें और चैट में जोड़ें'; + + @override + String get chatDropZoneText => 'आप एक संदेश में 15 फ़ाइलें जोड़ सकते हैं'; + + @override + String get notificationBannerText => + 'क्या आप चाहेंगे कि मैं आपको सूचित करूं यदि आपकी सेहत के बारे में कुछ महत्वपूर्ण होता है?'; + + @override + String get notificationBannerButtonEnable => 'हाँ, मुझे सूचित करें'; + + @override + String get notificationBannerButtonDisable => 'शायद बाद में'; + + @override + String get notificationBannerButtonClose => 'बंद करें'; + + @override + String get notificationAreBlockedSystem => + 'सूचना प्रणाली स्तर पर अवरुद्ध हैं। डॉक्टरिना की सूचनाओं को सक्रिय करने से पहले उन्हें सिस्टम सेटिंग्स में सक्षम करें।'; + + @override + String get notificationAreBlockedBrowser => + 'सूचनाएँ सिस्टम स्तर पर अवरुद्ध हैं। डॉक्टरिना की सूचनाओं को सक्रिय करने से पहले उन्हें ब्राउज़र सेटिंग्स में सक्षम करें।'; + + @override + String get notificationDialogTitle => 'अपनी परामर्श के बारे में अपडेट रहें'; + + @override + String get notificationDialogDescription => + 'Doctorina आपको सूचित कर सकता है जब आपके स्वास्थ्य के बारे में नए अंतर्दृष्टि या अपडेट उपलब्ध हों।'; + + @override + String get notificationDialogEnableButton => 'सूचनाएँ सक्षम करें'; + + @override + String get notificationDialogLaterButton => 'शायद बाद में'; + + @override + String get termsAndConditionBannerText => + 'जारी रखने पर, आप व्यक्तिगत डेटा की प्रोसेसिंग, कुकीज़ के उपयोग के लिए सहमति प्रदान करते हैं, नियम एवं शर्तों को स्वीकार करते हैं, और

गोपनीयता नीति

को स्वीकार करते हैं। साथ ही, आप यह भी मानते हैं कि आपकी परामर्श प्रक्रिया एक एआई के साथ है, न कि किसी लाइसेंस प्राप्त चिकित्सा पेशेवर के साथ'; + + @override + String get termsAndConditionBannerDismissTooltip => 'अस्वीकृत करें'; + + @override + String get anonUserNewChatCreationWarningTitle => 'पहले इस चैट को सहेजें?'; + + @override + String get anonUserNewChatCreationWarningText => + 'नई कंसल्टेशन शुरू करने से पहले इस कंसल्टेशन को सहेजने के लिए मुफ्त में साइन अप करें'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'बिना सहेजे शुरू करें'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'साइन अप करें'; + + @override + String get inputBlockerContinueMessage => + 'बातचीत जारी रखने के लिए, ऊपर एक विकल्प चुनें'; + + @override + String get chatServerDialogCloseBtnTooltip => 'बंद करें'; + + @override + String get chatAttachmentRemoveTooltip => 'अटैचमेंट हटाएँ'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'ड्रॉप ज़ोन से फ़ाइलें चुनने में विफल'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'कृपया एक संदेश दर्ज करें या एक फ़ाइल संलग्न करें'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'कृपया अपलोड पूरा होने की प्रतीक्षा करें'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'संदेश संसाधित किया जा रहा है'; + + @override + String get chatAttachmentErrorMessageTooLong => 'संदेश बहुत लंबा है'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'संदेश अभी प्रक्रिया में है।'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'कनेक्शन स्थायी रूप से बंद है'; + + @override + String get chatAttachmentErrorNoConnection => 'सर्वर से कोई कनेक्शन नहीं'; + + @override + String get chatAttachmentErrorPickFiles => 'फाइलें चुनने में विफल'; + + @override + String get chatAttachmentErrorPickImages => 'छवियाँ चुनने में विफल'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'कैमरे से फोटो कैप्चर करने में विफल'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'आप एक बार में $count फ़ाइलें संलग्न कर सकते हैं।'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'पहचाने गए पाठ को साफ करें'; + + @override + String get chatInputTooltipMessageTooLong => 'संदेश बहुत लंबा है।'; + + @override + String get chatInputTooltipWaitForUploads => + 'कृपया अपलोड पूरा होने की प्रतीक्षा करें।'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'यह $kind \"$name\" पहले से ही संलग्न है और फिर से नहीं जोड़ा गया।'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'यह $kind \"$name\" $exist का डुप्लिकेट है और इसे नहीं जोड़ा गया।'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'अधिकतम अटैचमेंट की संख्या पार हो जाने के कारण $kind \"$name\" को नहीं जोड़ा गया।'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'फाइल \"$name\" खाली है।'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'फाइल खाली है।'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'फाइल \"$name\" अधिकतम अनुमत आकार से अधिक है।'; + } + + @override + String get chatAttachmentErrorFileSize => + 'फाइल अधिकतम अनुमत आकार से अधिक है।'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '\"$name\" फ़ाइल को संसाधित करते समय एक त्रुटि हुई।'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'फाइल को प्रोसेस करते समय एक त्रुटि हुई।'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'फाइल \"$name\" जोड़ी नहीं गई क्योंकि अटैचमेंट की अधिकतम संख्या पार हो गई है।'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'एक फ़ाइल(फ़ाइलें) जोड़ी नहीं गई क्योंकि अटैचमेंट की अधिकतम संख्या पार हो गई है।'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'एक फ़ाइल नहीं जोड़ी गई क्योंकि अटैचमेंट की अधिकतम संख्या पार हो गई है।'; + + @override + String get chatAttachmentErrorFileMissingName => + 'एक नाम के बिना फ़ाइल जोड़ने का प्रयास किया गया था।'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'एक फ़ाइल जिसमें असमर्थित एक्सटेंशन था, जोड़ा जाने का प्रयास किया गया: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'एक फ़ाइल को जोड़ा जाने का प्रयास किया गया था जिसमें असमर्थित एक्सटेंशन है।'; + + @override + String get chatAttachmentErrorFileNull => 'फाइल जोड़ना असंभव है।'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'फाइल \"$name\" अमान्य है और इसे जोड़ा नहीं जा सकता।'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'एक फ़ाइल अमान्य है और जोड़ी नहीं जा सकती।'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'आइटम \"$name\" एक मान्य फ़ाइल नहीं है।'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'एक आइटम मान्य फ़ाइल नहीं है'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'एक आइटम को संसाधित करते समय एक त्रुटि हुई।'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'एक या एक से अधिक आइटम को संसाधित करते समय एक त्रुटि हुई।'; + + @override + String get chatAttachmentErrorNoFiles => 'कोई फ़ाइलें नहीं जोड़ी गईं।'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'कुछ फ़ाइलें मौजूदा फ़ाइलों के साथ डुप्लिकेट के कारण छोड़ दी गईं।'; + + @override + String get chatAttachmentErrorUnknown => 'एक अज्ञात त्रुटि हुई।'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'फाइल संलग्न करते समय निम्नलिखित त्रुटियाँ हुईं:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'फाइल साझा करने में विफल: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'बंद करें'; + + @override + String get chatAttachmentPreviewTooltipShare => 'शेयर करें'; + + @override + String get chatAttachmentPreviewLoading => 'फाइल लोड हो रही है...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'फाइल लोड करने में विफल'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'अज्ञात त्रुटि हुई'; + + @override + String get chatAttachmentPreviewButtonRetry => 'फिर से प्रयास करें'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'असमर्थित फ़ाइल प्रकार'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '$contentType का पूर्वावलोकन नहीं कर सकते'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'फाइल साझा करें'; + + @override + String get chatAttachmentPreviewErrorImage => 'छवि प्रदर्शित करने में विफल'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'ज़ूम रीसेट करें'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF लोड करने में विफल'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'पाठ सामग्री को डिकोड करने में विफल।'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'और $count और त्रुटियाँ।'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'फाइल गलत है'; + + @override + String get chatConsentRequiredTitle => 'अनुमति आवश्यक'; + + @override + String get chatConsentRequiredText => + 'जारी रखते हुए, आप हमारी शर्तों, गोपनीयता नीति, और कुकीज़ के उपयोग से सहमत होते हैं, और पुष्टि करते हैं कि यह परामर्श एआई द्वारा प्रदान किया गया है, न कि एक लाइसेंस प्राप्त चिकित्सा पेशेवर द्वारा।'; + + @override + String get chatConsentRequiredCloseTooltip => 'बंद करें'; + + @override + String get chatHistoryDelete => 'हटाएँ'; + + @override + String get chatDelete => 'चैट हटाएँ'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'चैट \"$title\" सफलतापूर्वक हटाया गया।'; + } + + @override + String get chatDeleteConfirmationTitle => 'चैट हटाएँ?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'इस चैट में आपके लक्षण, निदान का सारांश और कोई भी सिफारिशें हटा दी जाएंगी।\nयह क्रिया पूर्ववत नहीं की जा सकती।'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'ज़ूम इन'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'ज़ूम आउट'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'ज़ूम रीसेट करें'; + + @override + String get chatAttachmentPreviewShareTooltip => 'शेयर करें'; + + @override + String get dateToday => 'आज'; + + @override + String get dateYesterday => 'कल'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'केवल पहली पृष्ठ। पूरी फ़ाइल डाउनलोड करने के लिए साझा करें।'; } diff --git a/example/lib/src/generated/chat/chat_localization_hu.dart b/example/lib/src/generated/chat/chat_localization_hu.dart new file mode 100644 index 0000000..d592c31 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_hu.dart @@ -0,0 +1,646 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hungarian (`hu`). +class ChatLocalizationHu extends ChatLocalization { + ChatLocalizationHu([String locale = 'hu']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Értesítések'; + + @override + String get drawerTooltipHelp => 'Segítség'; + + @override + String get drawerTooltipClose => 'Bezárás'; + + @override + String get drawerSectionTitleAccount => 'Fiók'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Fiókbeállítások'; + + @override + String get drawerSectionDonateToSupport => 'Adományozz a támogatásért'; + + @override + String get drawerSectionSubscription => 'Előfizetés'; + + @override + String get drawerSectionTitleChats => 'Beszélgetések'; + + @override + String get drawerSectionChatHistory => 'Csevegési előzmények'; + + @override + String get drawerSectionAttachedDocuments => 'Csatolt dokumentumok'; + + @override + String get drawerSectionTitleHowToUse => 'Használati útmutató'; + + @override + String get drawerSectionVideoTutorials => 'Videó oktatóanyagok'; + + @override + String get drawerSectionTitleLegal => 'Jogi'; + + @override + String get drawerSectionContactUs => 'Kapcsolat'; + + @override + String get drawerSectionBugReport => 'Hibajelentés'; + + @override + String get drawerSectionTermsAndConditions => + 'Általános Szerződési Feltételek'; + + @override + String get drawerSectionPrivacyPolicy => 'Adatvédelmi irányelv'; + + @override + String get drawerSectionTitleFeedback => 'Visszajelzés'; + + @override + String get drawerSectionRateApp => 'Értékelje az alkalmazást'; + + @override + String get drawerSectionShareWithFriends => 'Oszd meg a barátokkal'; + + @override + String get drawerButtonLogOut => 'Kijelentkezés'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Segíts másoknak orvosi ellátáshoz jutni'; + + @override + String get drawerPlaceholderUser => 'Felhasználó'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Prémium funkciók\nDoctorinával'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Szerezd meg'; + + @override + String get drawerLabelJoinUs => 'Csatlakozz hozzánk'; + + @override + String get drawerTooltipVersion => 'Alkalmazás verzió:'; + + @override + String get drawerSectionRecentChats => 'Legutóbbi csevegések'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Legutóbbi chat'; + + @override + String get drawerSectionDownloadApps => 'Alkalmazások letöltése'; + + @override + String get chatInputHintEnterMessage => 'Írj üzenetet'; + + @override + String get chatInputTooltipAttachFile => 'Fájl csatolása'; + + @override + String get chatInputTooltipDictateMessage => 'Diktálás'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'Befejezés és átkonvertálás'; + + @override + String get chatInputTooltipSendMessage => 'Üzenet küldése'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Üzenetek lekérése sikertelen'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Nem sikerült lekérni az üzeneteket. Kérjük, próbálja újra.'; + + @override + String get chatListTooltipFetchMessages => 'Üzenetek lekérése'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Nincsenek elérhető üzenetek. Kérjük, küldjön egy üzenetet a beszélgetés megkezdéséhez.'; + + @override + String get chatListHasConnection => 'Csatlakozva'; + + @override + String get chatListNoConnection => 'Nincs kapcsolat'; + + @override + String get chatActionButtonTooltipSearch => 'Keresés'; + + @override + String get chatActionButtonTooltipFavorites => 'Kedvencek'; + + @override + String get chatActionButtonTooltipDownload => 'Letöltés'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF nyomtatása'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'Oszd meg a barátaiddal'; + + @override + String get chatActionButtonTooltipNewChat => 'Új csevegés'; + + @override + String get chatActionButtonNewChat => 'Csevegés'; + + @override + String get chatActionButtonTooltipChatList => 'Válassza a csevegést'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Fiók megjelenítése'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Nincsenek elérhető csevegések. Kérjük, frissítse az oldalt, vagy hozzon létre egy új csevegést.'; + + @override + String get chatButtonRefreshChats => 'Csevegések frissítése'; + + @override + String get chatButtonCreateNewChat => 'Új chat létrehozása'; + + @override + String get chatContextMenuCopyMessage => 'Szöveg másolása'; + + @override + String get chatStatusProcessingMessages => 'Ír'; + + @override + String get chatNoConnectionLabel => + 'Frissítés...\nKérjük, ellenőrizze az internetkapcsolatát'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Az üzenet már folyamatban van.'; + + @override + String get chatErrorMessageTooLong => 'A üzenet túl hosszú.'; + + @override + String get chatRemoveAttachmentTooltip => 'Csatolmány eltávolítása'; + + @override + String get chatStatusFailedMessage => 'Üzenet feldolgozása sikertelen'; + + @override + String get chatActionButtonTooltipExportSummary => 'Exportálás PDF-be'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Fotók'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Fájlok'; + + @override + String get chatPickerPhotosFiles => 'Fotók és fájlok'; + + @override + String get chatRecommendationYIAG => + 'Remélem, segített! Hasznos volt ez a magyarázat számodra?'; + + @override + String get chatRecommendationButtonDonate => 'Igen, minden rendben van!'; + + @override + String get failedToRetrieveChatSummary => + 'Nem sikerült lekérni a csevegés összefoglalóját'; + + @override + String get chatSummaryCopiedToClipboard => + 'A csevegés összefoglalója a vágólapra másolva'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Próbáld ki a Doctorina mobilalkalmazást!'; + + @override + String get getAppStoreLogoLabel => 'Töltsd le az'; + + @override + String get getGooglePlayLogoLabel => 'TÖLTSD LE'; + + @override + String get getAppStoreLogoTooltip => 'Letöltés az App Store-ból'; + + @override + String get getGooglePlayLogoTooltip => 'Szerezd meg a Google Playen'; + + @override + String get reportMessageDialogTitle => 'Jelentés'; + + @override + String get reportMessageDialogSubtitle => 'Miért jelented ezt az üzenetet?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Opcionális: Írd le, mi a probléma ezzel az üzenettel...'; + + @override + String get reportMessageDialogWhyImportant => + 'Ez segít nekünk javítani az AI válaszainkat.'; + + @override + String get reportMessageDialogCancelButton => 'Mégse'; + + @override + String get reportMessageDialogReportButton => 'Jelentés'; + + @override + String get reportMessageSnackbarSuccess => + 'Köszönjük a visszajelzését! A jelentés elküldve.'; + + @override + String get reportMessageSnackbarFailed => + 'A jelentés benyújtása nem sikerült'; + + @override + String get copyMessageSnackbarSuccess => 'Másolva a vágólapra'; + + @override + String get copyMessageSnackbarFailed => 'A üzenet másolása nem sikerült'; + + @override + String get chatContextMenuReportMessage => 'Jelentés'; + + @override + String get chatDropZoneTitle => 'Töltsd fel a Doctorina csevegéshez'; + + @override + String get chatDropZoneSubtitle => + 'Húzza ide a fájlokat, hogy hozzáadja a csevegéshez'; + + @override + String get chatDropZoneText => + 'Legfeljebb 15 fájlt adhat hozzá egy üzenethez'; + + @override + String get notificationBannerText => + 'Szeretnéd, ha értesítenélek, ha valami fontos történik az egészségeddel kapcsolatban?'; + + @override + String get notificationBannerButtonEnable => 'Igen, értesítsen'; + + @override + String get notificationBannerButtonDisable => 'Később'; + + @override + String get notificationBannerButtonClose => 'Bezárás'; + + @override + String get notificationAreBlockedSystem => + 'A rendszer szintjén blokkolva vannak a értesítések. Engedélyezze őket a rendszerbeállításokban a Doctorina értesítéseinek aktiválása előtt.'; + + @override + String get notificationAreBlockedBrowser => + 'A rendszer szintjén blokkolva vannak a értesítések. Engedélyezze őket a böngésző beállításaiban, mielőtt aktiválná a Doctorina értesítéseit.'; + + @override + String get notificationDialogTitle => + 'Maradjon naprakész a konzultációjával kapcsolatban'; + + @override + String get notificationDialogDescription => + 'A Doctorina értesíthet, amikor új betekintések vagy frissítések állnak rendelkezésre az egészségeddel kapcsolatban.'; + + @override + String get notificationDialogEnableButton => 'Értesítések engedélyezése'; + + @override + String get notificationDialogLaterButton => 'Később'; + + @override + String get termsAndConditionBannerText => + 'Folytatva elfogadja a személyes adatok kezelését, a cookie-k használatát, elfogadja a feltételeket és kikötéseket és elismeri a

adatvédelmi szabályzatot

. Emellett elismeri, hogy a konzultáció nem egy engedéllyel rendelkező orvosi szakemberrel, hanem egy AI-val történik'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Elvetés'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Először mentsd el ezt a csevegést?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Iratkozz fel ingyenesen, hogy elmenthesd ezt a konzultációt mielőtt újba kezdenéd'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'Mentés nélkül indít'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Regisztráció'; + + @override + String get inputBlockerContinueMessage => + 'A beszélgetés folytatásához válasszon egy lehetőséget a fenti listából'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Bezár'; + + @override + String get chatAttachmentRemoveTooltip => 'Csatolmány eltávolítása'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'A fájlok kiválasztása a húzózónából nem sikerült'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Kérjük, írjon be egy üzenetet vagy csatoljon egy fájlt'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Kérjük, várjon a feltöltések befejezésére'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'Az üzenet feldolgozás alatt áll'; + + @override + String get chatAttachmentErrorMessageTooLong => 'A üzenet túl hosszú'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Az üzenet jelenleg feldolgozás alatt áll.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'A kapcsolat véglegesen megszűnt'; + + @override + String get chatAttachmentErrorNoConnection => 'Nincs kapcsolat a szerverrel'; + + @override + String get chatAttachmentErrorPickFiles => + 'A fájlok kiválasztása nem sikerült'; + + @override + String get chatAttachmentErrorPickImages => + 'A képek kiválasztása nem sikerült'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'A fénykép rögzítése a kamerából nem sikerült'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Egyszerre legfeljebb $count fájlt csatolhat.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Felismert szöveg törlése'; + + @override + String get chatInputTooltipMessageTooLong => 'A üzenet túl hosszú.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Kérjük, várjon a feltöltések befejezésére.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'A(z) $kind „$name” már csatolva van, és nem lett újra hozzáadva.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'A $kind „$name” duplikátuma a $exist és nem lett hozzáadva.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'A(z) $kind \"$name\" nem lett hozzáadva, mert a csatolmányok maximális száma túllépésre került.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'A \"$name\" fájl üres.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'A fájl üres.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'A(z) \"$name\" fájl meghaladja a megengedett maximális méretet.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'A fájl meghaladja a megengedett maximális méretet.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Hiba történt a \"$name\" fájl feldolgozása során.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Hiba történt a fájl feldolgozása során.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'A(z) \"$name\" fájl nem lett hozzáadva, mert a csatolmányok maximális száma túllépésre került.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'A fájl(ok) nem lett(ek) hozzáadva, mert a csatolmányok maximális száma túllépésre került.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Egy fájl nem lett hozzáadva, mert a csatolmányok maximális száma túllépésre került.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Egy név nélküli fájl hozzáadására tett kísérlet.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Egy, a rendszer által nem támogatott kiterjesztésű fájl hozzáadását próbálták meg: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Támogatott kiterjesztés nélküli fájl hozzáadását próbálták meg.'; + + @override + String get chatAttachmentErrorFileNull => 'Nem lehet fájlt hozzáadni.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'A(z) \"$name\" fájl érvénytelen, és nem adható hozzá.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'A fájl érvénytelen, és nem adható hozzá.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'A(z) \"$name\" elem nem érvényes fájl.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'A tétel nem érvényes fájl.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Hiba történt egy elem feldolgozása során.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Hiba történt egy elem(ek) feldolgozása során.'; + + @override + String get chatAttachmentErrorNoFiles => 'Nem adtak hozzá fájlokat.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Néhány fájl átugrásra került, mert meglévő fájlokkal duplikáltak.'; + + @override + String get chatAttachmentErrorUnknown => 'Ismeretlen hiba történt.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'A következő hibák léptek fel a fájlok csatolása során:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'A fájl megosztása nem sikerült: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Bezárás'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Megosztás'; + + @override + String get chatAttachmentPreviewLoading => 'Fájl betöltése...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'A fájl betöltése nem sikerült'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Ismeretlen hiba történt'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Újrapróbálás'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'Támogatott fájltípus'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Nem lehet előnézetet készíteni a(z) $contentType fájlról'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Fájl megosztása'; + + @override + String get chatAttachmentPreviewErrorImage => + 'A kép megjelenítése nem sikerült'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Nézet visszaállítása'; + + @override + String get chatAttachmentPreviewErrorPdf => 'A PDF betöltése nem sikerült'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'A szöveges tartalom dekódolása nem sikerült.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'És $count további hiba.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'A fájl hibás'; + + @override + String get chatConsentRequiredTitle => 'Hozzájárulás szükséges'; + + @override + String get chatConsentRequiredText => + 'A folytatással elfogadja Felhasználási feltételeinket, Adatvédelmi irányelveinket és a sütik használatát, és megerősíti, hogy ezt a konzultációt AI, nem pedig engedéllyel rendelkező egészségügyi szakember nyújtja.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Bezárás'; + + @override + String get chatHistoryDelete => 'Törlés'; + + @override + String get chatDelete => 'Beszélgetés törlése'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'A „$title” csevegés sikeresen törölve.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Csevegés törlése?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'A tüneteid, a diagnózis összefoglalója és bármilyen ajánlás ebben a csevegésben törlésre kerül.\nEz a művelet nem vonható vissza.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Nagyítás'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Kicsinyítés'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Nézet visszaállítása'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Megosztás'; + + @override + String get dateToday => 'Ma'; + + @override + String get dateYesterday => 'Tegnap'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Csak az első oldal. A teljes fájl letöltéséhez használja a Megosztás lehetőséget.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_id.dart b/example/lib/src/generated/chat/chat_localization_id.dart new file mode 100644 index 0000000..e5177e3 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_id.dart @@ -0,0 +1,640 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Indonesian (`id`). +class ChatLocalizationId extends ChatLocalization { + ChatLocalizationId([String locale = 'id']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Pemberitahuan'; + + @override + String get drawerTooltipHelp => 'Bantuan'; + + @override + String get drawerTooltipClose => 'Tutup'; + + @override + String get drawerSectionTitleAccount => 'Akun'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Pengaturan Akun'; + + @override + String get drawerSectionDonateToSupport => 'Donasi untuk Mendukung'; + + @override + String get drawerSectionSubscription => 'Langganan'; + + @override + String get drawerSectionTitleChats => 'Obrolan'; + + @override + String get drawerSectionChatHistory => 'Riwayat Obrolan'; + + @override + String get drawerSectionAttachedDocuments => 'Dokumen Terlampir'; + + @override + String get drawerSectionTitleHowToUse => 'Cara Menggunakan'; + + @override + String get drawerSectionVideoTutorials => 'Tutorial Video'; + + @override + String get drawerSectionTitleLegal => 'Hukum'; + + @override + String get drawerSectionContactUs => 'Hubungi Kami'; + + @override + String get drawerSectionBugReport => 'Laporan Bug'; + + @override + String get drawerSectionTermsAndConditions => 'Syarat & Ketentuan'; + + @override + String get drawerSectionPrivacyPolicy => 'Kebijakan Privasi'; + + @override + String get drawerSectionTitleFeedback => 'Umpan balik'; + + @override + String get drawerSectionRateApp => 'Nilai Aplikasi'; + + @override + String get drawerSectionShareWithFriends => 'Bagikan dengan Teman'; + + @override + String get drawerButtonLogOut => 'Keluar'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Bantu orang lain mendapatkan perawatan medis'; + + @override + String get drawerPlaceholderUser => 'Pengguna'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Fitur Premium\ndengan Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Dapatkan'; + + @override + String get drawerLabelJoinUs => 'Bergabunglah dengan kami'; + + @override + String get drawerTooltipVersion => 'Versi aplikasi:'; + + @override + String get drawerSectionRecentChats => 'Obrolan Terbaru'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Obrolan terbaru'; + + @override + String get drawerSectionDownloadApps => 'Unduh Aplikasi'; + + @override + String get chatInputHintEnterMessage => 'Masukkan pesan'; + + @override + String get chatInputTooltipAttachFile => 'Lampirkan file'; + + @override + String get chatInputTooltipDictateMessage => 'Mendikte'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Selesai & Transkripsi'; + + @override + String get chatInputTooltipSendMessage => 'Kirim pesan'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Gagal mengambil pesan'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Gagal mengambil pesan. Silakan coba lagi.'; + + @override + String get chatListTooltipFetchMessages => 'Ambil pesan'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Tidak ada pesan yang tersedia. Silakan kirim pesan untuk memulai percakapan.'; + + @override + String get chatListHasConnection => 'Tersambung'; + + @override + String get chatListNoConnection => 'Tidak ada koneksi'; + + @override + String get chatActionButtonTooltipSearch => 'Cari'; + + @override + String get chatActionButtonTooltipFavorites => 'Favorit'; + + @override + String get chatActionButtonTooltipDownload => 'Unduh'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Cetak PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Bagikan dengan Teman'; + + @override + String get chatActionButtonTooltipNewChat => 'Obrolan baru'; + + @override + String get chatActionButtonNewChat => 'Obrolan'; + + @override + String get chatActionButtonTooltipChatList => 'Pilih Chat'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Tampilkan Drawer'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Tidak ada chat yang tersedia. Silakan segarkan atau buat chat baru.'; + + @override + String get chatButtonRefreshChats => 'Segarkan obrolan'; + + @override + String get chatButtonCreateNewChat => 'Buat obrolan baru'; + + @override + String get chatContextMenuCopyMessage => 'Salin teks'; + + @override + String get chatStatusProcessingMessages => 'Mengetik\nSebentar'; + + @override + String get chatNoConnectionLabel => + 'Memperbarui...\nSilakan periksa koneksi internet Anda'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Pesan sedang diproses saat ini.'; + + @override + String get chatErrorMessageTooLong => 'Pesan terlalu panjang.'; + + @override + String get chatRemoveAttachmentTooltip => 'Hapus lampiran'; + + @override + String get chatStatusFailedMessage => 'Gagal memproses pesan'; + + @override + String get chatActionButtonTooltipExportSummary => 'Ekspor ke PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Foto'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Berkas'; + + @override + String get chatPickerPhotosFiles => 'Foto dan Berkas'; + + @override + String get chatRecommendationYIAG => + 'Semoga itu membantu! Apakah penjelasan ini berguna bagi Anda?'; + + @override + String get chatRecommendationButtonDonate => 'Ya, semuanya baik!'; + + @override + String get failedToRetrieveChatSummary => 'Gagal mengambil ringkasan obrolan'; + + @override + String get chatSummaryCopiedToClipboard => + 'Ringkasan obrolan disalin ke papan klip'; + + @override + String get tryDoctorinaInTheMobileApp => 'Coba Doctorina di aplikasi mobile!'; + + @override + String get getAppStoreLogoLabel => 'Unduh di'; + + @override + String get getGooglePlayLogoLabel => 'DAPATKAN DI'; + + @override + String get getAppStoreLogoTooltip => 'Unduh di App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Dapatkan di Google Play'; + + @override + String get reportMessageDialogTitle => 'Laporkan Pesan'; + + @override + String get reportMessageDialogSubtitle => + 'Mengapa Anda melaporkan pesan ini?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Opsional: Deskripsikan apa yang salah dengan pesan ini...'; + + @override + String get reportMessageDialogWhyImportant => + 'Ini akan membantu kami meningkatkan respons AI kami'; + + @override + String get reportMessageDialogCancelButton => 'Batal'; + + @override + String get reportMessageDialogReportButton => 'Laporkan'; + + @override + String get reportMessageSnackbarSuccess => + 'Terima kasih atas umpan balik Anda! Laporan telah dikirim.'; + + @override + String get reportMessageSnackbarFailed => 'Gagal mengirim laporan'; + + @override + String get copyMessageSnackbarSuccess => 'Disalin ke clipboard'; + + @override + String get copyMessageSnackbarFailed => 'Gagal menyalin pesan'; + + @override + String get chatContextMenuReportMessage => 'Laporkan Pesan'; + + @override + String get chatDropZoneTitle => 'Unggah ke obrolan Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Seret dan lepas file di sini untuk menambahkan ke obrolan'; + + @override + String get chatDropZoneText => + 'Anda dapat menambahkan hingga 15 file ke satu pesan'; + + @override + String get notificationBannerText => + 'Apakah Anda ingin saya memberi tahu Anda jika ada sesuatu yang penting tentang kesehatan Anda?'; + + @override + String get notificationBannerButtonEnable => 'Ya, beri tahu saya'; + + @override + String get notificationBannerButtonDisable => 'Mungkin nanti'; + + @override + String get notificationBannerButtonClose => 'Tutup'; + + @override + String get notificationAreBlockedSystem => + 'Notifikasi diblokir di tingkat sistem. Aktifkan di pengaturan sistem sebelum mengaktifkan notifikasi Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Notifikasi diblokir di tingkat sistem. Aktifkan di pengaturan browser sebelum mengaktifkan notifikasi Doctorina.'; + + @override + String get notificationDialogTitle => + 'Tetap terupdate tentang konsultasi Anda'; + + @override + String get notificationDialogDescription => + 'Doctorina dapat memberi tahu Anda ketika wawasan atau pembaruan baru tentang kesehatan Anda tersedia.'; + + @override + String get notificationDialogEnableButton => 'Aktifkan notifikasi'; + + @override + String get notificationDialogLaterButton => 'Mungkin nanti'; + + @override + String get termsAndConditionBannerText => + 'Dengan melanjutkan, Anda menyetujui pemrosesan data pribadi, penggunaan cookies, setuju dengan terms and conditions, dan mengakui

privacy policy

. Juga, Anda mengakui bahwa konsultasi Anda dilakukan oleh AI dan bukan oleh profesional medis berlisensi'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Tutup'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Simpan chat ini terlebih dahulu?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Daftar gratis untuk menyimpan konsultasi ini sebelum memulai yang baru'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Mulai tanpa menyimpan'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => 'Daftar'; + + @override + String get inputBlockerContinueMessage => + 'Untuk melanjutkan percakapan, pilih opsi di atas'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Tutup'; + + @override + String get chatAttachmentRemoveTooltip => 'Hapus lampiran'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Gagal mengambil file dari zona drop'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Silakan masukkan pesan atau lampirkan file'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Silakan tunggu hingga unggahan selesai'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Pesan sedang diproses'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Pesan terlalu panjang'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Pesan sedang diproses saat ini.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Koneksi ditutup secara permanen'; + + @override + String get chatAttachmentErrorNoConnection => 'Tidak ada koneksi ke server'; + + @override + String get chatAttachmentErrorPickFiles => 'Gagal memilih file'; + + @override + String get chatAttachmentErrorPickImages => 'Gagal memilih gambar'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Gagal menangkap foto dari kamera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Anda dapat melampirkan hingga $count file sekaligus.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Hapus teks yang dikenali'; + + @override + String get chatInputTooltipMessageTooLong => 'Pesan terlalu panjang.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Silakan tunggu hingga unggahan selesai.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'File $kind \"$name\" sudah terlampir dan tidak ditambahkan lagi.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" adalah duplikat dari $exist dan tidak ditambahkan.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'File $kind \"$name\" tidak ditambahkan karena jumlah maksimum lampiran telah terlampaui.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'File \"$name\" kosong.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'File kosong.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'File \"$name\" melebihi ukuran maksimum yang diizinkan.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'File melebihi ukuran maksimum yang diizinkan.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Terjadi kesalahan saat memproses file \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Terjadi kesalahan saat memproses file.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'File \"$name\" tidak ditambahkan karena jumlah maksimum lampiran telah terlampaui.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Sebuah file tidak ditambahkan karena jumlah maksimum lampiran telah terlampaui.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Sebuah file tidak ditambahkan karena jumlah maksimum lampiran telah terlampaui.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Sebuah file tanpa nama telah dicoba untuk ditambahkan.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Sebuah file dengan ekstensi yang tidak didukung telah dicoba untuk ditambahkan: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'File dengan ekstensi yang tidak didukung telah dicoba untuk ditambahkan.'; + + @override + String get chatAttachmentErrorFileNull => 'Tidak mungkin menambahkan file.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'File \"$name\" tidak valid dan tidak dapat ditambahkan.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Sebuah file tidak valid dan tidak dapat ditambahkan.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Item \"$name\" bukan file yang valid'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Sebuah item bukan file yang valid'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Terjadi kesalahan saat memproses item.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Terjadi kesalahan saat memproses item.'; + + @override + String get chatAttachmentErrorNoFiles => 'Tidak ada file yang ditambahkan.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Beberapa file dilewati karena duplikat dengan file yang ada.'; + + @override + String get chatAttachmentErrorUnknown => + 'Terjadi kesalahan yang tidak diketahui'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Kesalahan berikut terjadi saat melampirkan file:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Gagal membagikan file: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Tutup'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Bagikan'; + + @override + String get chatAttachmentPreviewLoading => 'Memuat file...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Gagal memuat file'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Kesalahan tidak diketahui terjadi'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Coba lagi'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'Tipe file tidak didukung'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Tidak dapat melihat pratayang $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Bagikan File'; + + @override + String get chatAttachmentPreviewErrorImage => 'Gagal menampilkan gambar'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Atur ulang zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Gagal memuat PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Gagal mendekode konten teks'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Dan $count kesalahan lagi.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'File tidak valid'; + + @override + String get chatConsentRequiredTitle => 'Persetujuan Diperlukan'; + + @override + String get chatConsentRequiredText => + 'Dengan melanjutkan, Anda setuju dengan Ketentuan, Kebijakan Privasi, dan penggunaan cookies, dan mengonfirmasi bahwa konsultasi ini disediakan oleh AI, bukan profesional medis berlisensi.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Tutup'; + + @override + String get chatHistoryDelete => 'Hapus'; + + @override + String get chatDelete => 'Hapus obrolan'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Obrolan “$title” berhasil dihapus.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Hapus obrolan?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Gejala, ringkasan diagnosis, dan rekomendasi apa pun dalam obrolan ini akan dihapus.\nTindakan ini tidak dapat dibatalkan.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Perbesar'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Perbesar'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Atur Ulang Zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Bagikan'; + + @override + String get dateToday => 'Hari ini'; + + @override + String get dateYesterday => 'Kemarin'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Hanya halaman pertama. Gunakan Bagikan untuk mengunduh file lengkap.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_it.dart b/example/lib/src/generated/chat/chat_localization_it.dart index e77ad11..1a27995 100644 --- a/example/lib/src/generated/chat/chat_localization_it.dart +++ b/example/lib/src/generated/chat/chat_localization_it.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'chat_localization.dart'; class ChatLocalizationIt extends ChatLocalization { ChatLocalizationIt([String locale = 'it']) : super(locale); - @override - String get title => 'Chiacchierata'; - @override String get drawerTooltipNotifications => 'Notifiche'; @@ -20,7 +17,7 @@ class ChatLocalizationIt extends ChatLocalization { String get drawerTooltipHelp => 'Aiuto'; @override - String get drawerTooltipClose => 'Vicino'; + String get drawerTooltipClose => 'Chiudi'; @override String get drawerSectionTitleAccount => 'Account'; @@ -29,13 +26,13 @@ class ChatLocalizationIt extends ChatLocalization { String get drawerSectionProfile => 'Profilo'; @override - String get drawerSectionAccountSettings => 'Impostazioni dell\'account'; + String get drawerSectionAccountSettings => 'Impostazioni account'; @override String get drawerSectionDonateToSupport => 'Dona per sostenere'; @override - String get drawerSectionSubscription => 'Sottoscrizione'; + String get drawerSectionSubscription => 'Abbonamento'; @override String get drawerSectionTitleChats => 'Chat'; @@ -50,10 +47,10 @@ class ChatLocalizationIt extends ChatLocalization { String get drawerSectionTitleHowToUse => 'Come usare'; @override - String get drawerSectionVideoTutorials => 'Video tutorial'; + String get drawerSectionVideoTutorials => 'Tutorial video'; @override - String get drawerSectionTitleLegal => 'Legal'; + String get drawerSectionTitleLegal => 'Legale'; @override String get drawerSectionContactUs => 'Contattaci'; @@ -65,7 +62,7 @@ class ChatLocalizationIt extends ChatLocalization { String get drawerSectionTermsAndConditions => 'Termini e condizioni'; @override - String get drawerSectionPrivacyPolicy => 'politica sulla riservatezza'; + String get drawerSectionPrivacyPolicy => 'Informativa sulla privacy'; @override String get drawerSectionTitleFeedback => 'Feedback'; @@ -77,7 +74,7 @@ class ChatLocalizationIt extends ChatLocalization { String get drawerSectionShareWithFriends => 'Condividi con gli amici'; @override - String get drawerButtonLogOut => 'Disconnetti'; + String get drawerButtonLogOut => 'Esci'; @override String get drawerBannerHelpOthersReceiveMedicalCare => @@ -91,7 +88,7 @@ class ChatLocalizationIt extends ChatLocalization { 'Funzionalità Premium\ncon Doctorina'; @override - String get drawerSubscriptionButtonGetPremiumFeatures => 'Ottenere'; + String get drawerSubscriptionButtonGetPremiumFeatures => 'Ottieni'; @override String get drawerLabelJoinUs => 'Unisciti a noi'; @@ -100,13 +97,28 @@ class ChatLocalizationIt extends ChatLocalization { String get drawerTooltipVersion => 'Versione dell\'app:'; @override - String get chatInputHintEnterMessage => 'Inserisci il messaggio'; + String get drawerSectionRecentChats => 'Chat recenti'; + + @override + String get drawerPlaceholderProfile => 'Profilo'; + + @override + String get drawerPlaceholderRecentChat => 'Chat recente'; + + @override + String get drawerSectionDownloadApps => 'Scarica app'; + + @override + String get chatInputHintEnterMessage => 'Inserisci messaggio'; @override String get chatInputTooltipAttachFile => 'Allega file'; @override - String get chatInputTooltipDictateMessage => 'Dettare il messaggio'; + String get chatInputTooltipDictateMessage => 'Dettare'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Termina e trascrivi'; @override String get chatInputTooltipSendMessage => 'Invia messaggio'; @@ -120,26 +132,26 @@ class ChatLocalizationIt extends ChatLocalization { 'Impossibile recuperare i messaggi. Riprova.'; @override - String get chatListTooltipFetchMessages => 'Recupera i messaggi'; + String get chatListTooltipFetchMessages => 'Recupera messaggi'; @override String get chatListLabelNoMessagesAvailable => 'Nessun messaggio disponibile.\nInvia un messaggio per iniziare la conversazione.'; @override - String get chatListHasConnection => 'Collegato'; + String get chatListHasConnection => 'Connesso'; @override String get chatListNoConnection => 'Nessuna connessione'; @override - String get chatActionButtonTooltipSearch => 'Ricerca'; + String get chatActionButtonTooltipSearch => 'Cerca'; @override - String get chatActionButtonTooltipFavorites => 'Preferiti'; + String get chatActionButtonTooltipFavorites => 'Favoriti'; @override - String get chatActionButtonTooltipDownload => 'Scaricamento'; + String get chatActionButtonTooltipDownload => 'Scarica'; @override String get chatActionButtonTooltipPrintPdf => 'Stampa PDF'; @@ -152,34 +164,37 @@ class ChatLocalizationIt extends ChatLocalization { String get chatActionButtonTooltipNewChat => 'Nuova chat'; @override - String get chatActionButtonTooltipChatList => 'Seleziona Chat'; + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Seleziona chat'; @override String get chatActionButtonTooltipShowDrawer => 'Mostra cassetto'; @override String get chatLabelNoChatAvailableRefresh => - 'Nessuna chat disponibile. Aggiorna la chat o creane una nuova.'; + 'Nessuna chat disponibile. Aggiorna o crea una nuova chat.'; @override - String get chatButtonRefreshChats => 'Aggiorna le chat'; + String get chatButtonRefreshChats => 'Aggiorna chat'; @override String get chatButtonCreateNewChat => 'Crea una nuova chat'; @override - String get chatContextMenuCopyMessage => 'Copia il testo'; + String get chatContextMenuCopyMessage => 'Copia testo'; @override - String get chatStatusProcessingMessages => 'Sto scrivendo...\nUn attimo...'; + String get chatStatusProcessingMessages => 'Digitando\nUn attimo'; @override String get chatNoConnectionLabel => - 'Si prega di controllare la connessione Internet'; + 'Aggiornamento...\nControlla la tua connessione a Internet'; @override String get chatErrorMessageAlreadyProcessed => - 'Il messaggio è già in fase di elaborazione.'; + 'Il messaggio è già in fase di elaborazione in questo momento.'; @override String get chatErrorMessageTooLong => 'Il messaggio è troppo lungo.'; @@ -193,24 +208,27 @@ class ChatLocalizationIt extends ChatLocalization { @override String get chatActionButtonTooltipExportSummary => 'Esporta in PDF'; + @override + String get chatActionExportToPdfTitle => 'PDF'; + @override String get chatPickerPhotos => 'Foto'; @override - String get chatPickerCamera => 'Telecamera'; + String get chatPickerCamera => 'Fotocamera'; @override String get chatPickerFiles => 'File'; @override - String get chatRecommendationYIAG => - 'Spero che ti sia stato utile! Questa spiegazione ti è stata utile?'; + String get chatPickerPhotosFiles => 'Foto e File'; @override - String get chatRecommendationButtonDonate => 'Sì, va tutto bene!'; + String get chatRecommendationYIAG => + 'Spero che sia stato d\'aiuto! Questa spiegazione ti è stata utile?'; @override - String get chatHistoryTitle => 'Cronologia chat'; + String get chatRecommendationButtonDonate => 'Sì, va tutto bene!'; @override String get failedToRetrieveChatSummary => @@ -218,5 +236,411 @@ class ChatLocalizationIt extends ChatLocalization { @override String get chatSummaryCopiedToClipboard => - 'Riepilogo della chat copiato negli appunti'; + 'Sommario della chat copiato negli appunti'; + + @override + String get tryDoctorinaInTheMobileApp => 'Prova Doctorina nell\'app mobile!'; + + @override + String get getAppStoreLogoLabel => 'Scarica su'; + + @override + String get getGooglePlayLogoLabel => 'DISPONIBILE SU'; + + @override + String get getAppStoreLogoTooltip => 'Scarica su App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Ottienilo su Google Play'; + + @override + String get reportMessageDialogTitle => 'Segnala messaggio'; + + @override + String get reportMessageDialogSubtitle => + 'Perché stai segnalando questo messaggio?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Facoltativo: Descrivi cosa c\'è di sbagliato in questo messaggio...'; + + @override + String get reportMessageDialogWhyImportant => + 'Questo ci aiuterà a migliorare le nostre risposte AI.'; + + @override + String get reportMessageDialogCancelButton => 'Annulla'; + + @override + String get reportMessageDialogReportButton => 'Segnala'; + + @override + String get reportMessageSnackbarSuccess => + 'Grazie per il tuo feedback! Il rapporto è stato inviato.'; + + @override + String get reportMessageSnackbarFailed => 'Invio del report non riuscito'; + + @override + String get copyMessageSnackbarSuccess => 'Copiato negli appunti'; + + @override + String get copyMessageSnackbarFailed => 'Impossibile copiare il messaggio'; + + @override + String get chatContextMenuReportMessage => 'Segnala messaggio'; + + @override + String get chatDropZoneTitle => 'Carica nella chat di Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Trascina e rilascia i file qui per aggiungerli alla chat'; + + @override + String get chatDropZoneText => + 'Puoi aggiungere fino a 15 file a un messaggio'; + + @override + String get notificationBannerText => + 'Vuoi che ti avvisi se succede qualcosa di importante riguardo alla tua salute?'; + + @override + String get notificationBannerButtonEnable => 'Sì, notificami'; + + @override + String get notificationBannerButtonDisable => 'Forse più tardi'; + + @override + String get notificationBannerButtonClose => 'Chiudi'; + + @override + String get notificationAreBlockedSystem => + 'Le notifiche sono bloccate a livello di sistema. Abilitalo nelle impostazioni di sistema prima di attivare le notifiche di Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Le notifiche sono bloccate a livello di sistema. Abilitalo nelle impostazioni del browser prima di attivare le notifiche di Doctorina.'; + + @override + String get notificationDialogTitle => + 'Rimani aggiornato sulla tua consulenza'; + + @override + String get notificationDialogDescription => + 'Doctorina può avvisarti quando sono disponibili nuove informazioni o aggiornamenti sulla tua salute.'; + + @override + String get notificationDialogEnableButton => 'Abilita notifiche'; + + @override + String get notificationDialogLaterButton => 'Forse più tardi'; + + @override + String get termsAndConditionBannerText => + 'Continuando, acconsenti al trattamento dei dati personali, all\'utilizzo di cookies, accetti i termini e condizioni e prendi atto dell\'

informativa sulla privacy

. Inoltre, riconosci che la tua consulenza avviene con un\'IA e non con un professionista medico autorizzato'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Chiudi'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Salva prima questa chat?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Iscriviti gratis per salvare questa consulenza prima di avviarne una nuova'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'Avvia senza salvare'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Iscriviti'; + + @override + String get inputBlockerContinueMessage => + 'Per continuare la conversazione, scegli un\'opzione sopra'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Chiudi'; + + @override + String get chatAttachmentRemoveTooltip => 'Rimuovi allegato'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Impossibile selezionare file dalla zona di rilascio'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Si prega di inserire un messaggio o allegare un file'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Attendere il completamento degli upload'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'Il messaggio è in fase di elaborazione'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Il messaggio è troppo lungo'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Il messaggio è già in fase di elaborazione.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'La connessione è permanentemente chiusa'; + + @override + String get chatAttachmentErrorNoConnection => 'Nessuna connessione al server'; + + @override + String get chatAttachmentErrorPickFiles => 'Impossibile selezionare i file'; + + @override + String get chatAttachmentErrorPickImages => + 'Impossibile selezionare le immagini'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Impossibile catturare foto dalla fotocamera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Puoi allegare fino a $count file alla volta.'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'Cancella testo riconosciuto'; + + @override + String get chatInputTooltipMessageTooLong => 'Il messaggio è troppo lungo.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Attendere il completamento degli upload.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Il $kind \"$name\" è già allegato e non è stato aggiunto di nuovo.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Il $kind \"$name\" è un duplicato di $exist e non è stato aggiunto.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Il $kind \"$name\" non è stato aggiunto perché è stato superato il numero massimo di allegati.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Il file \"$name\" è vuoto.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Il file è vuoto.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Il file \"$name\" supera la dimensione massima consentita.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Il file supera la dimensione massima consentita.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Si è verificato un errore durante l\'elaborazione del file \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Si è verificato un errore durante l\'elaborazione del file.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Il file \"$name\" non è stato aggiunto perché è stato superato il numero massimo di allegati.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Un file non è stato aggiunto perché è stato superato il numero massimo di allegati.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Un file non è stato aggiunto perché è stato superato il numero massimo di allegati.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'È stato tentato di aggiungere un file senza nome.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'È stato tentato di aggiungere un file con un\'estensione non supportata: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'È stato tentato di aggiungere un file con un\'estensione non supportata.'; + + @override + String get chatAttachmentErrorFileNull => 'Impossibile aggiungere un file.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Il file \"$name\" non è valido e non può essere aggiunto.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Un file è non valido e non può essere aggiunto.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'L\'elemento \"$name\" non è un file valido.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Un elemento non è un file valido'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Si è verificato un errore durante l\'elaborazione di un elemento.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Si è verificato un errore durante l\'elaborazione di un elemento.'; + + @override + String get chatAttachmentErrorNoFiles => 'Non sono stati aggiunti file.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Alcuni file sono stati saltati a causa di duplicati con file esistenti.'; + + @override + String get chatAttachmentErrorUnknown => + 'Si è verificato un errore sconosciuto.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Si sono verificati i seguenti errori durante l\'allegato di file:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Condivisione del file non riuscita: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Chiudi'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Condividi'; + + @override + String get chatAttachmentPreviewLoading => 'Caricamento file...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Impossibile caricare il file'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Si è verificato un errore sconosciuto'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Riprova'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Tipo di file non supportato'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Impossibile visualizzare $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Condividi file'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Impossibile visualizzare l\'immagine'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Ripristina zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Impossibile caricare il PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Impossibile decodificare il contenuto del testo.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'E $count altri errori.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Il file è malformato'; + + @override + String get chatConsentRequiredTitle => 'Consenso richiesto'; + + @override + String get chatConsentRequiredText => + 'Continuando, accetti i nostri Termini, Informativa sulla privacy e uso dei cookie, e confermi che questa consulenza è fornita da un\'IA, non da un professionista medico autorizzato.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Chiudi'; + + @override + String get chatHistoryDelete => 'Elimina'; + + @override + String get chatDelete => 'Elimina chat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat \"$title\" eliminato con successo.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Elimina chat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'I tuoi sintomi, il riepilogo della diagnosi e eventuali raccomandazioni in questa chat verranno rimossi.\nQuesta azione non può essere annullata.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Zoom In'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Zoom Out'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Reimposta zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Condividi'; + + @override + String get dateToday => 'Oggi'; + + @override + String get dateYesterday => 'Ieri'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Solo prima pagina. Usa Condividi per scaricare il file completo.'; } diff --git a/example/lib/src/generated/chat/chat_localization_ja.dart b/example/lib/src/generated/chat/chat_localization_ja.dart new file mode 100644 index 0000000..0006719 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_ja.dart @@ -0,0 +1,607 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Japanese (`ja`). +class ChatLocalizationJa extends ChatLocalization { + ChatLocalizationJa([String locale = 'ja']) : super(locale); + + @override + String get drawerTooltipNotifications => '通知'; + + @override + String get drawerTooltipHelp => 'ヘルプ'; + + @override + String get drawerTooltipClose => '閉じる'; + + @override + String get drawerSectionTitleAccount => 'アカウント'; + + @override + String get drawerSectionProfile => 'プロフィール'; + + @override + String get drawerSectionAccountSettings => 'アカウント設定'; + + @override + String get drawerSectionDonateToSupport => '支援に寄付する'; + + @override + String get drawerSectionSubscription => 'サブスクリプション'; + + @override + String get drawerSectionTitleChats => 'チャット'; + + @override + String get drawerSectionChatHistory => 'チャット履歴'; + + @override + String get drawerSectionAttachedDocuments => '添付書類'; + + @override + String get drawerSectionTitleHowToUse => '使用方法'; + + @override + String get drawerSectionVideoTutorials => 'ビデオチュートリアル'; + + @override + String get drawerSectionTitleLegal => '法務'; + + @override + String get drawerSectionContactUs => 'お問い合わせ'; + + @override + String get drawerSectionBugReport => 'バグ報告'; + + @override + String get drawerSectionTermsAndConditions => '利用規約'; + + @override + String get drawerSectionPrivacyPolicy => 'プライバシーポリシー'; + + @override + String get drawerSectionTitleFeedback => 'フィードバック'; + + @override + String get drawerSectionRateApp => 'アプリを評価'; + + @override + String get drawerSectionShareWithFriends => '友達と共有'; + + @override + String get drawerButtonLogOut => 'ログアウト'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => '他の人が医療を受けるのを助ける'; + + @override + String get drawerPlaceholderUser => 'ユーザー'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'プレミアム機能\nDoctorina付き'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => '入手'; + + @override + String get drawerLabelJoinUs => '参加する'; + + @override + String get drawerTooltipVersion => 'アプリのバージョン:'; + + @override + String get drawerSectionRecentChats => '最近のチャット'; + + @override + String get drawerPlaceholderProfile => 'プロフィール'; + + @override + String get drawerPlaceholderRecentChat => '最近のチャット'; + + @override + String get drawerSectionDownloadApps => 'アプリをダウンロード'; + + @override + String get chatInputHintEnterMessage => 'メッセージを入力'; + + @override + String get chatInputTooltipAttachFile => 'ファイルを添付'; + + @override + String get chatInputTooltipDictateMessage => '音声入力'; + + @override + String get chatInputTooltipDictateFinishMessage => '終了して文字起こし'; + + @override + String get chatInputTooltipSendMessage => 'メッセージを送信'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => 'メッセージの取得に失敗しました'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'メッセージの取得に失敗しました。もう一度お試しください。'; + + @override + String get chatListTooltipFetchMessages => 'メッセージを取得'; + + @override + String get chatListLabelNoMessagesAvailable => + 'メッセージがありません。会話を始めるにはメッセージを送ってください。'; + + @override + String get chatListHasConnection => '接続済み'; + + @override + String get chatListNoConnection => '接続なし'; + + @override + String get chatActionButtonTooltipSearch => '検索'; + + @override + String get chatActionButtonTooltipFavorites => 'お気に入り'; + + @override + String get chatActionButtonTooltipDownload => 'ダウンロード'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDFを印刷'; + + @override + String get chatActionButtonTooltipShareWithFriends => '友達と共有'; + + @override + String get chatActionButtonTooltipNewChat => '新しいチャット'; + + @override + String get chatActionButtonNewChat => 'チャット'; + + @override + String get chatActionButtonTooltipChatList => 'チャットを選択'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ドロワーを表示'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'チャットがありません。更新するか新しいチャットを作成してください。'; + + @override + String get chatButtonRefreshChats => 'チャットを更新'; + + @override + String get chatButtonCreateNewChat => '新しいチャットを作成'; + + @override + String get chatContextMenuCopyMessage => 'テキストをコピー'; + + @override + String get chatStatusProcessingMessages => '入力中\n少々お待ちください'; + + @override + String get chatNoConnectionLabel => '更新中...\nインターネット接続を確認してください'; + + @override + String get chatErrorMessageAlreadyProcessed => 'メッセージはただ今処理中です。'; + + @override + String get chatErrorMessageTooLong => 'メッセージが長すぎます.'; + + @override + String get chatRemoveAttachmentTooltip => '添付ファイルを削除'; + + @override + String get chatStatusFailedMessage => 'メッセージの処理に失敗しました'; + + @override + String get chatActionButtonTooltipExportSummary => 'PDFにエクスポート'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => '写真'; + + @override + String get chatPickerCamera => 'カメラ'; + + @override + String get chatPickerFiles => 'ファイル'; + + @override + String get chatPickerPhotosFiles => '写真とファイル'; + + @override + String get chatRecommendationYIAG => 'お役に立てたら幸いです!この説明は役に立ちましたか?'; + + @override + String get chatRecommendationButtonDonate => 'はい、すべて問題ありません!'; + + @override + String get failedToRetrieveChatSummary => 'チャットの概要を取得できませんでした'; + + @override + String get chatSummaryCopiedToClipboard => 'チャット概要をクリップボードにコピーしました'; + + @override + String get tryDoctorinaInTheMobileApp => 'モバイルアプリでDoctorinaを試してみて!'; + + @override + String get getAppStoreLogoLabel => 'Download on the'; + + @override + String get getGooglePlayLogoLabel => 'GET IT ON'; + + @override + String get getAppStoreLogoTooltip => 'App Storeでダウンロード'; + + @override + String get getGooglePlayLogoTooltip => 'Google Playで入手'; + + @override + String get reportMessageDialogTitle => 'メッセージを報告'; + + @override + String get reportMessageDialogSubtitle => 'なぜこのメッセージを報告していますか?'; + + @override + String get reportMessageDialogTextFieldHint => '任意: このメッセージの何が問題か説明してください...'; + + @override + String get reportMessageDialogWhyImportant => 'これにより、私たちのAIの応答を改善するのに役立ちます'; + + @override + String get reportMessageDialogCancelButton => 'キャンセル'; + + @override + String get reportMessageDialogReportButton => '報告'; + + @override + String get reportMessageSnackbarSuccess => 'フィードバックありがとうございます!報告が送信されました。'; + + @override + String get reportMessageSnackbarFailed => '報告の送信に失敗しました'; + + @override + String get copyMessageSnackbarSuccess => 'クリップボードにコピーしました'; + + @override + String get copyMessageSnackbarFailed => 'メッセージのコピーに失敗しました'; + + @override + String get chatContextMenuReportMessage => 'メッセージを報告'; + + @override + String get chatDropZoneTitle => 'Doctorinaチャットにアップロード'; + + @override + String get chatDropZoneSubtitle => 'ファイルをここにドラッグ&ドロップしてチャットに追加します'; + + @override + String get chatDropZoneText => '1つのメッセージに最大15ファイルを追加できます'; + + @override + String get notificationBannerText => '健康に関して重要なことがあればお知らせしましょうか?'; + + @override + String get notificationBannerButtonEnable => 'はい、通知してください'; + + @override + String get notificationBannerButtonDisable => '後で'; + + @override + String get notificationBannerButtonClose => '閉じる'; + + @override + String get notificationAreBlockedSystem => + '通知はシステムレベルでブロックされています。Doctorinaの通知を有効にする前に、システム設定でそれらを有効にしてください。'; + + @override + String get notificationAreBlockedBrowser => + '通知はシステムレベルでブロックされています。Doctorinaの通知を有効にする前に、ブラウザの設定でそれらを有効にしてください。'; + + @override + String get notificationDialogTitle => '相談について最新情報を受け取る'; + + @override + String get notificationDialogDescription => + 'Doctorinaは、あなたの健康に関する新しい洞察や更新が利用可能なときに通知できます。'; + + @override + String get notificationDialogEnableButton => '通知を有効にする'; + + @override + String get notificationDialogLaterButton => '後で'; + + @override + String get termsAndConditionBannerText => + '続行することで、あなたは個人データの処理およびcookiesの使用に同意し、terms and conditionsに同意し、

privacy policy

を確認したことになります。 また、あなたの相談はAIによるものであり、認可された医療専門家によるものではないことを認めます'; + + @override + String get termsAndConditionBannerDismissTooltip => '閉じる'; + + @override + String get anonUserNewChatCreationWarningTitle => 'まずこのチャットを保存しますか?'; + + @override + String get anonUserNewChatCreationWarningText => + '新しい相談を始める前に、この相談を保存するために無料でサインアップしてください'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => '保存せずに開始'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => '登録'; + + @override + String get inputBlockerContinueMessage => '会話を続けるには、上のオプションを選択してください'; + + @override + String get chatServerDialogCloseBtnTooltip => '閉じる'; + + @override + String get chatAttachmentRemoveTooltip => '添付ファイルを削除'; + + @override + String get chatAttachmentErrorPickFilesDropZone => 'ドロップゾーンからファイルを選択できませんでした'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'メッセージを入力するか、ファイルを添付してください'; + + @override + String get chatAttachmentErrorWaitForUploads => 'アップロードが完了するまでお待ちください'; + + @override + String get chatAttachmentErrorMessageProcessing => 'メッセージが処理中です'; + + @override + String get chatAttachmentErrorMessageTooLong => 'メッセージが長すぎます'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => 'メッセージは現在処理中です。'; + + @override + String get chatAttachmentErrorConnectionClosed => '接続は永久に閉じられています'; + + @override + String get chatAttachmentErrorNoConnection => 'サーバーへの接続がありません'; + + @override + String get chatAttachmentErrorPickFiles => 'ファイルの選択に失敗しました'; + + @override + String get chatAttachmentErrorPickImages => '画像の選択に失敗しました'; + + @override + String get chatAttachmentErrorCapturePhoto => 'カメラからの写真のキャプチャに失敗しました'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return '$count 個のファイルを一度に添付できます。'; + } + + @override + String get chatInputTooltipClearRecognizedText => '認識されたテキストをクリア'; + + @override + String get chatInputTooltipMessageTooLong => 'メッセージが長すぎます。'; + + @override + String get chatInputTooltipWaitForUploads => 'アップロードが完了するまでお待ちください。'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '$kind「$name」はすでに添付されており、再度追加されませんでした。'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" は $exist の重複であり、追加されませんでした。'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '$kind「$name」は、添付ファイルの最大数を超えたため追加されませんでした。'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '\"$name\"は空です。'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'ファイルが空です。'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'ファイル \"$name\" は許可されている最大サイズを超えています。'; + } + + @override + String get chatAttachmentErrorFileSize => 'ファイルが許可されている最大サイズを超えています。'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'ファイル \"$name\" の処理中にエラーが発生しました。'; + } + + @override + String get chatAttachmentErrorFileProcessing => 'ファイルの処理中にエラーが発生しました。'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'ファイル \"$name\" は、添付ファイルの最大数を超えたため、追加されませんでした。'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + '添付ファイルの最大数を超えたため、ファイルは追加されませんでした。'; + + @override + String get chatAttachmentErrorFileLimitSingle => + '添付ファイルの最大数を超えたため、ファイルは追加されませんでした。'; + + @override + String get chatAttachmentErrorFileMissingName => '名前のないファイルを追加しようとしました。'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'サポートされていない拡張子のファイルを追加しようとしました: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'サポートされていない拡張子のファイルを追加しようとしました。'; + + @override + String get chatAttachmentErrorFileNull => 'ファイルを追加することはできません。'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'ファイル \"$name\" は無効で、追加できません。'; + } + + @override + String get chatAttachmentErrorFileInvalid => 'ファイルが無効で、追加できません。'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'アイテム「$name」は有効なファイルではありません'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'アイテムは有効なファイルではありません'; + + @override + String get chatAttachmentErrorItemProcessingSingle => 'アイテムの処理中にエラーが発生しました。'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'アイテムを処理中にエラーが発生しました。'; + + @override + String get chatAttachmentErrorNoFiles => 'ファイルが追加されていません。'; + + @override + String get chatAttachmentErrorFileDuplicates => + '既存のファイルと重複しているため、いくつかのファイルがスキップされました。'; + + @override + String get chatAttachmentErrorUnknown => '不明なエラーが発生しました'; + + @override + String get chatAttachmentErrorSnackbarHeader => 'ファイルを添付中に次のエラーが発生しました:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'ファイルの共有に失敗しました: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => '閉じる'; + + @override + String get chatAttachmentPreviewTooltipShare => '共有'; + + @override + String get chatAttachmentPreviewLoading => 'ファイルを読み込んでいます...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'ファイルの読み込みに失敗しました'; + + @override + String get chatAttachmentPreviewErrorUnknown => '不明なエラーが発生しました'; + + @override + String get chatAttachmentPreviewButtonRetry => '再試行'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'サポートされていないファイルタイプ'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '$contentTypeのプレビューはできません'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'ファイルを共有'; + + @override + String get chatAttachmentPreviewErrorImage => '画像の表示に失敗しました'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'ズームをリセット'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDFの読み込みに失敗しました'; + + @override + String get chatAttachmentPreviewErrorDecodeText => 'テキストコンテンツのデコードに失敗しました'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'そして$count件のエラーがあります。'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'ファイルが不正です'; + + @override + String get chatConsentRequiredTitle => '同意が必要です'; + + @override + String get chatConsentRequiredText => + '続行することで、利用規約プライバシーポリシー、およびクッキーの使用に同意し、この相談がAIによって提供されていることを確認します。'; + + @override + String get chatConsentRequiredCloseTooltip => '閉じる'; + + @override + String get chatHistoryDelete => '削除'; + + @override + String get chatDelete => 'チャットを削除'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'チャット「$title」が正常に削除されました。'; + } + + @override + String get chatDeleteConfirmationTitle => 'チャットを削除しますか?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'このチャットの症状、診断の要約、および推奨事項は削除されます。\nこの操作は元に戻せません。'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'ズームイン'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'ズームアウト'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'ズームをリセット'; + + @override + String get chatAttachmentPreviewShareTooltip => '共有する'; + + @override + String get dateToday => '今日'; + + @override + String get dateYesterday => '昨日'; + + @override + String get chatAttachmentPreviewDocumentNotice => + '最初のページのみ。完全なファイルをダウンロードするには共有を使用してください。'; +} diff --git a/example/lib/src/generated/chat/chat_localization_kk.dart b/example/lib/src/generated/chat/chat_localization_kk.dart new file mode 100644 index 0000000..c588a06 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_kk.dart @@ -0,0 +1,641 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kazakh (`kk`). +class ChatLocalizationKk extends ChatLocalization { + ChatLocalizationKk([String locale = 'kk']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Хабарламалар'; + + @override + String get drawerTooltipHelp => 'Көмек'; + + @override + String get drawerTooltipClose => 'Жабу'; + + @override + String get drawerSectionTitleAccount => 'Есептік жазба'; + + @override + String get drawerSectionProfile => 'Профиль'; + + @override + String get drawerSectionAccountSettings => 'Есептік жазба параметрлері'; + + @override + String get drawerSectionDonateToSupport => + 'Қолдау көрсету үшін донат жасаңыз'; + + @override + String get drawerSectionSubscription => 'Жазылу'; + + @override + String get drawerSectionTitleChats => 'Чаттар'; + + @override + String get drawerSectionChatHistory => 'Чат тарихы'; + + @override + String get drawerSectionAttachedDocuments => 'Қосымша құжаттар'; + + @override + String get drawerSectionTitleHowToUse => 'Қалай пайдалану керек'; + + @override + String get drawerSectionVideoTutorials => 'Бейне оқулықтар'; + + @override + String get drawerSectionTitleLegal => 'Заңды'; + + @override + String get drawerSectionContactUs => 'Бізбен байланысыңыз'; + + @override + String get drawerSectionBugReport => 'Қате туралы есеп'; + + @override + String get drawerSectionTermsAndConditions => 'Шарттар мен жағдайлар'; + + @override + String get drawerSectionPrivacyPolicy => 'Жеке деректерді қорғау саясаты'; + + @override + String get drawerSectionTitleFeedback => 'Кері байланыс'; + + @override + String get drawerSectionRateApp => 'Қосымшаны бағалаңыз'; + + @override + String get drawerSectionShareWithFriends => 'Достармен бөлісу'; + + @override + String get drawerButtonLogOut => 'Шығу'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Басқаларға медициналық көмек алуға көмектесіңіз'; + + @override + String get drawerPlaceholderUser => 'Пайдаланушы'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Премиум мүмкіндіктер\nDoctorina-мен'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Алын'; + + @override + String get drawerLabelJoinUs => 'Бізге қосылыңыз'; + + @override + String get drawerTooltipVersion => 'Қосымша нұсқасы:'; + + @override + String get drawerSectionRecentChats => 'Соңғы әңгімелер'; + + @override + String get drawerPlaceholderProfile => 'Профиль'; + + @override + String get drawerPlaceholderRecentChat => 'Соңғы чат'; + + @override + String get drawerSectionDownloadApps => 'Қосымшаларды жүктеу'; + + @override + String get chatInputHintEnterMessage => 'Хабарлама енгізіңіз'; + + @override + String get chatInputTooltipAttachFile => 'Файлды тіркеу'; + + @override + String get chatInputTooltipDictateMessage => 'Диктовать'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Аяқтау & Транскрипция'; + + @override + String get chatInputTooltipSendMessage => 'Хабарлама жіберу'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Хабарламаларды алу сәтсіз аяқталды'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Хабарламаларды алу сәтсіз аяқталды. Қайтадан әрекет етіңіз.'; + + @override + String get chatListTooltipFetchMessages => 'Хабарламаларды алу'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Хабарламалар жоқ.\nСөйлесуді бастау үшін хабарлама жіберіңіз.'; + + @override + String get chatListHasConnection => 'Байланыс орнатылды'; + + @override + String get chatListNoConnection => 'Байланыс жоқ'; + + @override + String get chatActionButtonTooltipSearch => 'Іздеу'; + + @override + String get chatActionButtonTooltipFavorites => 'Таңдаулылар'; + + @override + String get chatActionButtonTooltipDownload => 'Жүктеу'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF басу'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Достармен бөлісу'; + + @override + String get chatActionButtonTooltipNewChat => 'Жаңа чат'; + + @override + String get chatActionButtonNewChat => 'Чат'; + + @override + String get chatActionButtonTooltipChatList => 'Чатты таңдаңыз'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Сөрткішті көрсету'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Чаттар жоқ. Жаңартыңыз немесе жаңа чат жасаңыз.'; + + @override + String get chatButtonRefreshChats => 'Чаттарды жаңарту'; + + @override + String get chatButtonCreateNewChat => 'Жаңа чат жасау'; + + @override + String get chatContextMenuCopyMessage => 'Мәтінді көшіру'; + + @override + String get chatStatusProcessingMessages => 'Жазып жатыр'; + + @override + String get chatNoConnectionLabel => + 'Жаңарту...\nИнтернет байланысыңызды тексеріңіз'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Хабарлама қазір өңделіп жатыр.'; + + @override + String get chatErrorMessageTooLong => 'Хабарлама тым ұзын.'; + + @override + String get chatRemoveAttachmentTooltip => 'Қосымшаны жою'; + + @override + String get chatStatusFailedMessage => 'Хабарламаны өңдеуде қате'; + + @override + String get chatActionButtonTooltipExportSummary => 'PDF форматына экспорттау'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Суреттер'; + + @override + String get chatPickerCamera => 'Камера'; + + @override + String get chatPickerFiles => 'Файлдар'; + + @override + String get chatPickerPhotosFiles => 'Суреттер мен файлдар'; + + @override + String get chatRecommendationYIAG => + 'Көмектесті деп үміттенем! Бұл түсініктеме сізге пайдалы болды ма?'; + + @override + String get chatRecommendationButtonDonate => 'Иә, бәрі жақсы!'; + + @override + String get failedToRetrieveChatSummary => + 'Чаттың қысқаша мазмұнын алу сәтсіз болды'; + + @override + String get chatSummaryCopiedToClipboard => + 'Чаттың қысқаша мазмұны буферге көшірілді'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Doctorina-ны мобильді қосымшада сынап көріңіз!'; + + @override + String get getAppStoreLogoLabel => 'App Store-да жүктеңіз'; + + @override + String get getGooglePlayLogoLabel => 'Алыңыз'; + + @override + String get getAppStoreLogoTooltip => 'App Store-дан жүктеп алыңыз'; + + @override + String get getGooglePlayLogoTooltip => 'Google Play-дан алыңыз'; + + @override + String get reportMessageDialogTitle => 'Хабарламаны хабарлау'; + + @override + String get reportMessageDialogSubtitle => + 'Сіз бұл хабарламаны неге хабарлап отырсыз?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Қосымша: Бұл хабарламамен не дұрыс емес екенін сипаттаңыз...'; + + @override + String get reportMessageDialogWhyImportant => + 'Бұл біздің AI жауаптарымызды жақсартуға көмектеседі.'; + + @override + String get reportMessageDialogCancelButton => 'Бас тарту'; + + @override + String get reportMessageDialogReportButton => 'Есеп беру'; + + @override + String get reportMessageSnackbarSuccess => + 'Сіздің пікіріңіз үшін рахмет! Есеп жіберілді.'; + + @override + String get reportMessageSnackbarFailed => 'Есепті жіберу сәтсіз аяқталды'; + + @override + String get copyMessageSnackbarSuccess => 'Буферге көшірілді'; + + @override + String get copyMessageSnackbarFailed => 'Хабарламаны көшіру сәтсіз аяқталды'; + + @override + String get chatContextMenuReportMessage => 'Хабарламаны хабарлау'; + + @override + String get chatDropZoneTitle => 'Doctorina чатына жүктеңіз'; + + @override + String get chatDropZoneSubtitle => + 'Чатқа қосу үшін файлдарды мұнда сүйреп апарыңыз'; + + @override + String get chatDropZoneText => + 'Сіз бір хабарламаға 15 файлға дейін қоса аласыз'; + + @override + String get notificationBannerText => + 'Сізге денсаулығыңыз туралы маңызды нәрсе пайда болса, хабарлауға рұқсат етесіз бе?'; + + @override + String get notificationBannerButtonEnable => 'Иә, хабарлаңыз'; + + @override + String get notificationBannerButtonDisable => 'Кейінірек'; + + @override + String get notificationBannerButtonClose => 'Жабу'; + + @override + String get notificationAreBlockedSystem => + 'Хабарламалар жүйе деңгейінде блокталған. Докторина хабарламаларын қосу үшін жүйе параметрлерінде оларды қосыңыз.'; + + @override + String get notificationAreBlockedBrowser => + 'Хабарламалар жүйе деңгейінде блокталған. Докторина хабарламаларын қосу үшін оларды браузер параметрлерінде қосыңыз.'; + + @override + String get notificationDialogTitle => + 'Консультацияңыз туралы хабардар болыңыз'; + + @override + String get notificationDialogDescription => + 'Doctorina сіздің денсаулығыңыз туралы жаңа түсініктер немесе жаңартулар қолжетімді болғанда хабарлай алады.'; + + @override + String get notificationDialogEnableButton => 'Хабарландыруларды қосу'; + + @override + String get notificationDialogLaterButton => 'Кейінірек'; + + @override + String get termsAndConditionBannerText => + 'Орын жалғастыру арқылы сіз жеке деректерді өңдеуге, cookies қолдануға, шарттар мен ережелерді қабылдауға және

құпиялылық саясатын

мойындауға келісесіз. Сондай-ақ, сіздің консультацияңыз лицензиялы медициналық маманнан емес, AI арқылы жүргізілетінін мойындап отырсыз'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Жою'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Алдымен осы чатты сақтаңыз ба?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Жаңа кеңес беру басталғанға дейін осы кеңес беруді сақтау үшін тегін жазылыңыз'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'Сақтамай бастау'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Тіркелу'; + + @override + String get inputBlockerContinueMessage => + 'Сөйлесуді жалғастыру үшін жоғарыдағы опцияны таңдаңыз'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Жабу'; + + @override + String get chatAttachmentRemoveTooltip => 'Қосымшаны жою'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Файлдарды түсіру аймағынан таңдау сәтсіз болды'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Хабарлама енгізіңіз немесе файл тіркеңіз'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Жүктеулердің аяқталуын күтіңіз'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Хабарлама өңделуде'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Хабарлама тым ұзын'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Хабарлама қазір өңделіп жатыр.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Байланыс тұрақты түрде жабылды'; + + @override + String get chatAttachmentErrorNoConnection => 'Серверге қосылу мүмкін емес'; + + @override + String get chatAttachmentErrorPickFiles => 'Файлдарды таңдау сәтсіз аяқталды'; + + @override + String get chatAttachmentErrorPickImages => 'Суреттерді таңдау сәтсіз болды'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Камерадан сурет түсіру сәтсіз аяқталды'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Сіз бір уақытта $count файлды тіркей аласыз.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Танылған мәтінді тазалау'; + + @override + String get chatInputTooltipMessageTooLong => 'Хабарлама тым ұзын.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Жүктеулердің аяқталуын күтіңіз.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '«$name» $kind бұрыннан тіркелген және қайтадан қосылмады.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return '«$name» $kind $exist бар файлмен дубликат болып табылады және қосылмады.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Максималды тіркемелер саны асқандықтан, $kind \"$name\" қосылмады.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '\"$name\" файлы бос.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Файл бос.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return '\"$name\" файлы рұқсат етілген максималды өлшемнен асып кетті.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Файл рұқсат етілген максималды өлшемнен асып кетті.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '\"$name\" файлын өңдеу кезінде қате пайда болды.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Файлды өңдеу кезінде қате пайда болды.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return '«$name» файлы қосылмады, себебі тіркемелердің максималды саны асып кетті.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Файл(дар) қосылмады, себебі тіркемелердің максималды саны асып кетті.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Файл қосылмады, себебі тіркелген файлдардың максималды саны асып кетті.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Аты жоқ файл қосылуға тырысты.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Қосылуға тырысқан файлдың қолдамайтын кеңейтілуі: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Қолданылмайтын кеңейтуі бар файл қосуға тырысты.'; + + @override + String get chatAttachmentErrorFileNull => 'Файлды қосу мүмкін емес.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return '«$name» файлы жарамсыз және қосылмайды.'; + } + + @override + String get chatAttachmentErrorFileInvalid => 'Файл жарамсыз және қосылмайды.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return '«$name» файлы жарамды емес.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'Элемент жарамды файл емес.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Элементті өңдеу кезінде қате пайда болды.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Элемент(тер)ді өңдеу кезінде қате пайда болды.'; + + @override + String get chatAttachmentErrorNoFiles => 'Файлдар қосылған жоқ.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Кейбір файлдар бар файлдармен дубликаттар болғандықтан өткізіліп кетті.'; + + @override + String get chatAttachmentErrorUnknown => 'Белгісіз қате орын алды.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Файлдарды тіркеу кезінде келесі қателіктер орын алды:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Файлды бөлісу сәтсіз аяқталды: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Жабу'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Бөлісу'; + + @override + String get chatAttachmentPreviewLoading => 'Файл жүктелуде...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Файлды жүктеу сәтсіз болды'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Белгісіз қате орын алды'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Қайтадан'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'Қолдамайтын файл түрі'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '$contentType алдын ала қарау мүмкін емес'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Файлды бөлісу'; + + @override + String get chatAttachmentPreviewErrorImage => 'Суретті көрсету сәтсіз болды'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => + 'Масштабты қалпына келтіру'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF жүктелмеді'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Мәтін мазмұнын декодтау сәтсіз аяқталды.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Және $count қосымша қателіктер.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Файл бұзылған'; + + @override + String get chatConsentRequiredTitle => 'Келісім қажет'; + + @override + String get chatConsentRequiredText => + 'Жалғастыра отырып, сіз біздің Шарттарымызға, Жекелік саясатымызға және печеньелерді қолдануға келісесіз және бұл консультацияның лицензияланған медициналық маман емес, AI тарапынан берілетінін растайсыз.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Жабу'; + + @override + String get chatHistoryDelete => 'Жою'; + + @override + String get chatDelete => 'Чатты жою'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return '«$title» чаты сәтті жойылды.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Чатты жою?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Сіздің симптомдарыңыз, диагнозыңыздың қысқаша мазмұны және осы чаттағы кез келген ұсыныстар жойылады.\nБұл әрекетті қайтару мүмкін емес.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Үлкейту'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Кішірейту'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => + 'Масштабты қалпына келтіру'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Бөлісу'; + + @override + String get dateToday => 'Бүгін'; + + @override + String get dateYesterday => 'Кеше'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Тек бірінші бет. Толық файлды жүктеу үшін Share пайдаланыңыз.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_km.dart b/example/lib/src/generated/chat/chat_localization_km.dart new file mode 100644 index 0000000..022c213 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_km.dart @@ -0,0 +1,639 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Khmer Central Khmer (`km`). +class ChatLocalizationKm extends ChatLocalization { + ChatLocalizationKm([String locale = 'km']) : super(locale); + + @override + String get drawerTooltipNotifications => 'ការជូនដំណឹង'; + + @override + String get drawerTooltipHelp => 'ជំនួយ'; + + @override + String get drawerTooltipClose => 'បិទ'; + + @override + String get drawerSectionTitleAccount => 'គណនី'; + + @override + String get drawerSectionProfile => 'ប្រវត្តិ'; + + @override + String get drawerSectionAccountSettings => 'ការកំណត់គណនី'; + + @override + String get drawerSectionDonateToSupport => 'Donate to Support'; + + @override + String get drawerSectionSubscription => 'ការជាវ'; + + @override + String get drawerSectionTitleChats => 'ការសន្ទនា'; + + @override + String get drawerSectionChatHistory => 'ប្រវត្តិការជជែក'; + + @override + String get drawerSectionAttachedDocuments => 'ឯកសារដែលភ្ជាប់'; + + @override + String get drawerSectionTitleHowToUse => 'របៀបប្រើ'; + + @override + String get drawerSectionVideoTutorials => 'វីដេអូបង្រៀន'; + + @override + String get drawerSectionTitleLegal => 'ច្បាប់'; + + @override + String get drawerSectionContactUs => 'ទំនាក់ទំនង'; + + @override + String get drawerSectionBugReport => 'របាយការណ៍កំហុស'; + + @override + String get drawerSectionTermsAndConditions => 'កិច្ចព្រមព្រៀង និងល័ក្ខខ័ណ្ឌ'; + + @override + String get drawerSectionPrivacyPolicy => 'គោលការណ៍ភាពឯកជន'; + + @override + String get drawerSectionTitleFeedback => 'មតិយោបល់'; + + @override + String get drawerSectionRateApp => 'អត្រាកម្មវិធី'; + + @override + String get drawerSectionShareWithFriends => 'ចែករំលែកជាមួយមិត្តភក្តិ'; + + @override + String get drawerButtonLogOut => 'ចេញ'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'ជួយអ្នកដទៃទទួលបានការថែទាំសុខភាព'; + + @override + String get drawerPlaceholderUser => 'អ្នកប្រើប្រាស់'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'លក្ខណៈពិសេសព្រីម្យូម
ជាមួយ Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'ទទួលបាន'; + + @override + String get drawerLabelJoinUs => 'ចូលរួមជាមួយយើង'; + + @override + String get drawerTooltipVersion => 'កំណែកម្មវិធី:'; + + @override + String get drawerSectionRecentChats => 'ការសន្ទនាថ្មី'; + + @override + String get drawerPlaceholderProfile => 'ប្រវត្តិ'; + + @override + String get drawerPlaceholderRecentChat => 'ការសន្ទនាថ្មី'; + + @override + String get drawerSectionDownloadApps => 'ទាញយកកម្មវិធី'; + + @override + String get chatInputHintEnterMessage => 'បញ្ចូលសារ'; + + @override + String get chatInputTooltipAttachFile => 'ភ្ជាប់ឯកសារ'; + + @override + String get chatInputTooltipDictateMessage => 'បញ្ជូនសារដោយសំឡេង'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Finish & Transcribe'; + + @override + String get chatInputTooltipSendMessage => 'ផ្ញើសារ'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'មិនអាចទាញយកសារបានទេ'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'មិនអាចទាញយកសារបានទេ។ សូមព្យាយាមម្តងទៀត។'; + + @override + String get chatListTooltipFetchMessages => 'ទាញយកសារនៅ'; + + @override + String get chatListLabelNoMessagesAvailable => + 'មិនមានសារទេ។ សូមផ្ញើសារដើម្បីចាប់ផ្តើមការពិភាក្សា។'; + + @override + String get chatListHasConnection => 'បានភ្ជាប់'; + + @override + String get chatListNoConnection => 'គ្មានការតភ្ជាប់'; + + @override + String get chatActionButtonTooltipSearch => 'ស្វែងរក'; + + @override + String get chatActionButtonTooltipFavorites => 'ចំណូលចិត្ត'; + + @override + String get chatActionButtonTooltipDownload => 'ទាញយក'; + + @override + String get chatActionButtonTooltipPrintPdf => 'បោះពុម្ព PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'ចែករំលែកជាមួយមិត្តភក្តិ'; + + @override + String get chatActionButtonTooltipNewChat => 'សន្ទនាថ្មី'; + + @override + String get chatActionButtonNewChat => 'សន្ទនា'; + + @override + String get chatActionButtonTooltipChatList => 'ជ្រើសរើសសន្ទនា'; + + @override + String get chatActionButtonTooltipShowDrawer => 'បង្ហាញកាបូប'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'មិនមានការសន្ទនាឡើយ។ សូមធ្វើការកែសម្រួលឬបង្កើតការសន្ទនាថ្មី។'; + + @override + String get chatButtonRefreshChats => 'ធ្វើឱ្យជួបជុំឡើងវិញ'; + + @override + String get chatButtonCreateNewChat => 'បង្កើតការសន្ទនាថ្មី'; + + @override + String get chatContextMenuCopyMessage => 'ចម្លងអត្ថបទ'; + + @override + String get chatStatusProcessingMessages => 'កំពុងវាយ'; + + @override + String get chatNoConnectionLabel => + 'កំពុងអាប់ដេត...\nសូមពិនិត្យការតភ្ជាប់អ៊ីនធឺណិតរបស់អ្នក'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'សារនេះកំពុងត្រូវបានដំណើរការហើយ។'; + + @override + String get chatErrorMessageTooLong => 'សារមានប្រវែងលើស។'; + + @override + String get chatRemoveAttachmentTooltip => 'លុបភ្ជាប់'; + + @override + String get chatStatusFailedMessage => 'មិនអាចដំណើរការប្រយោគបាន'; + + @override + String get chatActionButtonTooltipExportSummary => 'នាំចេញទៅ PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'រូបភាព'; + + @override + String get chatPickerCamera => 'កាមេរ៉ា'; + + @override + String get chatPickerFiles => 'ឯកសារ'; + + @override + String get chatPickerPhotosFiles => 'រូបថត និងឯកសារ'; + + @override + String get chatRecommendationYIAG => + 'សង្ឃឹមថាវានឹងជួយ! ការពន្យល់នេះមានប្រយោជន៍សម្រាប់អ្នកទេ?'; + + @override + String get chatRecommendationButtonDonate => 'បាទ វាហើយ គ្រប់យ៉ាងល្អ!'; + + @override + String get failedToRetrieveChatSummary => + 'មិនអាចទាញយកសេចក្តីសង្ខេបនៃការសន្ទនាបានទេ'; + + @override + String get chatSummaryCopiedToClipboard => + 'សេចក្តីសង្ខេបនៃការសន្ទនាត្រូវបានចម្លងទៅកាន់ក្តារចុច'; + + @override + String get tryDoctorinaInTheMobileApp => + 'សូមព្យាយាម Doctorina នៅក្នុងកម្មវិធីចល័ត!'; + + @override + String get getAppStoreLogoLabel => 'ទាញយកនៅលើ'; + + @override + String get getGooglePlayLogoLabel => 'ទាញយក'; + + @override + String get getAppStoreLogoTooltip => 'ទាញយកនៅលើ App Store'; + + @override + String get getGooglePlayLogoTooltip => 'ទទួលបាននៅលើ Google Play'; + + @override + String get reportMessageDialogTitle => 'រាយការណ៍សារនេះ'; + + @override + String get reportMessageDialogSubtitle => 'អ្នកកំពុងរាយការណ៍សារនេះហេតុអ្វី?'; + + @override + String get reportMessageDialogTextFieldHint => + 'ជ្រើសរើស: ពិពណ៌នាអំពីអ្វីដែលមិនត្រឹមត្រូវជាមួយសារនេះ...'; + + @override + String get reportMessageDialogWhyImportant => + 'នេះនឹងជួយឱ្យយើងកែលម្អការឆ្លើយតបAI របស់យើង។'; + + @override + String get reportMessageDialogCancelButton => 'បោះបង់'; + + @override + String get reportMessageDialogReportButton => 'រាយការណ៍'; + + @override + String get reportMessageSnackbarSuccess => + 'សូមអរគុណសម្រាប់មតិយោបល់របស់អ្នក! របាយការណ៍ត្រូវបានដាក់ស្នើ។'; + + @override + String get reportMessageSnackbarFailed => 'មិនអាចដាក់របាយការណ៍បានទេ'; + + @override + String get copyMessageSnackbarSuccess => 'បានចម្លងទៅកាន់ប៊ូហ្វ័រ'; + + @override + String get copyMessageSnackbarFailed => 'សារដែលបានចម្លងមិនបានជោគជ័យ'; + + @override + String get chatContextMenuReportMessage => 'រាយការណ៍សារនេះ'; + + @override + String get chatDropZoneTitle => 'បញ្ចូលទៅក្នុងការជជែក Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'ទាញនិងទុកឯកសារនៅទីនេះដើម្បីបន្ថែមទៅក្នុងការសន្ទនា'; + + @override + String get chatDropZoneText => + 'អ្នកអាចបន្ថែមឯកសារទៅក្នុងសារមួយបានដល់ 15 ឯកសារ'; + + @override + String get notificationBannerText => + 'ប្រសិនបើមានអ្វីសំខាន់កើតឡើងអំពីសុខភាពរបស់អ្នក តើអ្នកចង់ឲ្យខ្ញុំជូនដំណឹងដែរឬទេ?'; + + @override + String get notificationBannerButtonEnable => 'បាទ, សូមជូនដំណឹងខ្ញុំ'; + + @override + String get notificationBannerButtonDisable => 'ពេលក្រោយ'; + + @override + String get notificationBannerButtonClose => 'បិទ'; + + @override + String get notificationAreBlockedSystem => + 'ការជូនដំណឹងត្រូវបានបិទនៅកម្រិតប្រព័ន្ធ។ សូមបើកវានៅក្នុងការកំណត់ប្រព័ន្ធមុនពេលបើកការជូនដំណឹងរបស់ Doctorina។'; + + @override + String get notificationAreBlockedBrowser => + 'ការជូនដំណឹងត្រូវបានបិទនៅកម្រិតប្រព័ន្ធ។ សូមបើកវានៅក្នុងការកំណត់របស់កម្មវិធីមុនពេលបើកការជូនដំណឹងរបស់ Doctorina។'; + + @override + String get notificationDialogTitle => + 'នៅតែទាន់សម័យអំពីការពិគ្រោះយោបល់របស់អ្នក'; + + @override + String get notificationDialogDescription => + 'Doctorina អាចជូនដំណឹងអ្នកពេលមានការបញ្ចេញព័ត៌មានថ្មីៗ ឬកំណែប្រែអំពីសុខភាពរបស់អ្នក។'; + + @override + String get notificationDialogEnableButton => 'បើកការជូនដំណឹង'; + + @override + String get notificationDialogLaterButton => 'ពេលក្រោយ'; + + @override + String get termsAndConditionBannerText => + 'ដោយបន្ត អ្នកកំពុងយល់ព្រមការប្រើប្រាស់ទិន្នន័យផ្ទាល់ខ្លួន, ការប្រើប្រាស់ cookies, យល់ព្រមលើ លក្ខខណ្ឌ និងលក្ខប័ន និងទទួលស្គាល់

គោលការណ៍ភាពឯកជន

. ក៏ដូចជាអ្នកទទួលស្គាល់ថាការប្រឹក្សារបស់អ្នកគឺជាមួយ AI មិនមែនជាមួយជំនាញវេជ្ជសាស្រ្តដែលមានអាជ្ញាបណ្ណ'; + + @override + String get termsAndConditionBannerDismissTooltip => 'បោះបង់'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'រក្សាទុកជជែកទូរស័ព្ទនេះជាមុន?'; + + @override + String get anonUserNewChatCreationWarningText => + 'ចុះឈ្មោះឥតគិតថ្លៃដើម្បីរក្សាទុកការពិគ្រោះព្រមនេះ មុនពេលចាប់ផ្តើមការពិគ្រោះថ្មី'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'ចាប់ផ្តើមដោយមិនរក្សាទុក'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'ចុះឈ្មោះ'; + + @override + String get inputBlockerContinueMessage => + 'ដើម្បីបន្តការពិភាក្សា សូមជ្រើសរើសជម្រើសខាងលើ'; + + @override + String get chatServerDialogCloseBtnTooltip => 'បិទ'; + + @override + String get chatAttachmentRemoveTooltip => 'លុបភ្ជាប់'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'មិនអាចជ្រើសឯកសារពីតំបន់ទាញបាន'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'សូមបញ្ចូលសារឬភ្ជាប់ឯកសារ'; + + @override + String get chatAttachmentErrorWaitForUploads => 'សូមរង់ចាំឱ្យការបញ្ចូលបញ្ចប់'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'សារនេះកំពុងត្រូវបានដំណើរការ'; + + @override + String get chatAttachmentErrorMessageTooLong => 'សារមានប្រវែងលើស'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'សារនេះកំពុងត្រូវបានដំណើរការ។'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'ការតភ្ជាប់ត្រូវបានបិទយ៉ាងស្ថាពរ'; + + @override + String get chatAttachmentErrorNoConnection => 'មិនមានការតភ្ជាប់ទៅម៉ាស៊ីនមេ'; + + @override + String get chatAttachmentErrorPickFiles => 'មិនអាចជ្រើសឯកសារបាន'; + + @override + String get chatAttachmentErrorPickImages => 'មិនអាចជ្រើសរូបភាពបាន'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'មិនអាចចាប់រូបភាពពីកាមេរ៉ាបានទេ'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'អ្នកអាចភ្ជាប់ឯកសារបានរហូតដល់ $count ឯកសារក្នុងមួយពេល។'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'សម្អាតអត្ថបទដែលបានស្គាល់'; + + @override + String get chatInputTooltipMessageTooLong => 'សារមានប្រវែងលើស។'; + + @override + String get chatInputTooltipWaitForUploads => 'សូមរង់ចាំឱ្យការបញ្ចូលបញ្ចប់។'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'ឯកសារ $kind \"$name\" ត្រូវបានភ្ជាប់រួចហើយ ហើយមិនត្រូវបានបន្ថែមឡើងវិញទេ'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'ឯកសារ $kind \"$name\" គឺជាការបំភ្លឺនៃ $exist ហើយមិនត្រូវបានបន្ថែមទេ'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'ឯកសារ $kind \"$name\" មិនត្រូវបានបន្ថែមទេ ពីព្រោះចំនួនអត្ថបទភ្ជាប់អតិបរិមាដែលបានលើសកំណត់។'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'ឯកសារ \"$name\" គឺទទេ។'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'ឯកសារមិនមានអ្វីទេ'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'ឯកសារ \"$name\" ធ្វើឲ្យមានទំហំលើសកំណត់។'; + } + + @override + String get chatAttachmentErrorFileSize => + 'ឯកសារនេះលើសទំហំអតិបរិមាដែលអនុញ្ញាត។'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'មានកំហុសកើតឡើងក្នុងការប្រតិបត្តិឯកសារ \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'មានកំហុសកើតឡើងក្នុងការប្រតិបត្តិឯកសារ។'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'ឯកសារ \"$name\" មិនត្រូវបានបន្ថែមទេ ពីព្រោះចំនួនអត្ថបទអភិវឌ្ឍន៍អតិបរិមាដែលបានលើសកំណត់។'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ឯកសារមួយ(ៗ) មិនត្រូវបានបន្ថែមព្រោះចំនួនអត្ថបទអភិវឌ្ឍន៍បានលើសកំណត់។'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'មិនអាចបន្ថែមឯកសារមួយបានទេ ពីព្រោះចំនួនភ្ជាប់អតិបរិមាបានឆ្លងកាត់។'; + + @override + String get chatAttachmentErrorFileMissingName => + 'ឯកសារមួយដែលគ្មានឈ្មោះត្រូវបានព្យាយាមបន្ថែម។'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'ឯកសារដែលមានបន្ថែមមិនគាំទ្រត្រូវបានព្យាយាមបន្ថែម: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'ឯកសារដែលមានបន្ថែមមិនគាំទ្រត្រូវបានព្យាយាមបន្ថែម។'; + + @override + String get chatAttachmentErrorFileNull => 'មិនអាចបន្ថែមឯកសារបានទេ។'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'ឯកសារ \"$name\" មិនត្រឹមត្រូវ ហើយមិនអាចបន្ថែមបានទេ'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'ឯកសារមិនត្រឹមត្រូវ ហើយមិនអាចបន្ថែមបានទេ'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'អត្ថបទ \"$name\" មិនមែនជាឯកសារដែលមានសុពលភាពទេ'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'មួយធាតុមិនមែនជាឯកសារពិតទេ'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'មានកំហុសកើតឡើងក្នុងការប្រតិបត្តិធាតុមួយ។'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'មានកំហុសកើតឡើងក្នុងការប្រតិបត្តិធាតុ(ៗ)។'; + + @override + String get chatAttachmentErrorNoFiles => 'មិនមានឯកសារណាមួយបានបន្ថែមទេ'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'ឯកសារខ្លះត្រូវបានរំលងដោយសារតែមានឯកសារដែលមានស្រាប់។'; + + @override + String get chatAttachmentErrorUnknown => 'មានកំហុសមិនស្គាល់។'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'កំហុសដូចខាងក្រោមបានកើតឡើងនៅពេលភ្ជាប់ឯកសារ:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'បរាជ័យក្នុងការចែករំលែកឯកសារ: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'បិទ'; + + @override + String get chatAttachmentPreviewTooltipShare => 'ចែករំលែក'; + + @override + String get chatAttachmentPreviewLoading => 'កំពុងផ្ទុកឯកសារ...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'បរាជ័យក្នុងការផ្ទុកឯកសារ'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'កំហុសមិនស្គាល់កើតឡើង'; + + @override + String get chatAttachmentPreviewButtonRetry => 'ម្តងទៀត'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'ប្រភេទឯកសារមិនគាំទ្រ'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'មិនអាចមើលមុន $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'ចែករំលែកឯកសារ'; + + @override + String get chatAttachmentPreviewErrorImage => 'បរាជ័យក្នុងការបង្ហាញរូបភាព'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'កំណត់មើលឡើងវិញ'; + + @override + String get chatAttachmentPreviewErrorPdf => 'បរាជ័យក្នុងការផ្ទុក PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'មិនអាចបកស្រាយមាតិកាអត្ថបទបានទេ'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'និង $count កំហុសបន្ថែមទៀត។'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'ឯកសារមិនត្រឹមត្រូវ'; + + @override + String get chatConsentRequiredTitle => 'ត្រូវការព្រមព្រៀង'; + + @override + String get chatConsentRequiredText => + 'ដោយបន្ត អ្នកយល់ព្រមទៅនឹង ល័ក្ខខ័ណ្ឌ របស់យើង គោលការណ៍ឯកជនភាព និង ការប្រើប្រាស់គុយគី ហើយបញ្ជាក់ថាការពិគ្រោះយោបល់នេះត្រូវបានផ្តល់ដោយ AI មិនមែនជាអ្នកជំនាញវេជ្ជសាស្ត្រដែលមានអាជ្ញាប័ណ្ណ។'; + + @override + String get chatConsentRequiredCloseTooltip => 'បិទ'; + + @override + String get chatHistoryDelete => 'លុប'; + + @override + String get chatDelete => 'លុបសន្ទនា'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'ការជជែក “$title” ត្រូវបានលុបចោលដោយជោគជ័យ។'; + } + + @override + String get chatDeleteConfirmationTitle => 'លុបសន្ទនាដែរឬ?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'រោគសញ្ញា សង្ខេបវិនិច្ឆ័យ និងណែនាំណាមួយក្នុងការជជែកនេះនឹងត្រូវលុបចេញ។\nសកម្មភាពនេះមិនអាចត្រឡប់មកវិញបានទេ។'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'ពង្រីក'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'ចុះក្រោម'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'កំណត់ឡើងវិញការពង្រីក'; + + @override + String get chatAttachmentPreviewShareTooltip => 'ចែករំលែក'; + + @override + String get dateToday => 'ថ្ងៃនេះ'; + + @override + String get dateYesterday => 'ម្សិលមិញ'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'ទំព័រដំបូងប៉ុណ្ណោះ។ ប្រើ Share ដើម្បីទាញយកឯកសារពេញលេញ។'; +} diff --git a/example/lib/src/generated/chat/chat_localization_kn.dart b/example/lib/src/generated/chat/chat_localization_kn.dart new file mode 100644 index 0000000..d997891 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_kn.dart @@ -0,0 +1,642 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kannada (`kn`). +class ChatLocalizationKn extends ChatLocalization { + ChatLocalizationKn([String locale = 'kn']) : super(locale); + + @override + String get drawerTooltipNotifications => 'ಅಧಿಸೂಚನೆಗಳು'; + + @override + String get drawerTooltipHelp => 'ಸಹಾಯ'; + + @override + String get drawerTooltipClose => 'ಮುಚ್ಚು'; + + @override + String get drawerSectionTitleAccount => 'ಖಾತೆ'; + + @override + String get drawerSectionProfile => 'Profile'; + + @override + String get drawerSectionAccountSettings => 'ಖಾತೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು'; + + @override + String get drawerSectionDonateToSupport => 'ಸಹಾಯ ಮಾಡಲು ದಾನ ಮಾಡಿ'; + + @override + String get drawerSectionSubscription => 'Subscription'; + + @override + String get drawerSectionTitleChats => 'ಚಾಟ್‌ಗಳು'; + + @override + String get drawerSectionChatHistory => 'ಚಾಟ್ ಇತಿಹಾಸ'; + + @override + String get drawerSectionAttachedDocuments => 'ಜೋಡಣೆ ದಾಖಲೆಗಳು'; + + @override + String get drawerSectionTitleHowToUse => 'ಹೆಚ್ಚು ಬಳಸುವುದು'; + + @override + String get drawerSectionVideoTutorials => 'ವಿಡಿಯೋ ಟ್ಯುಟೋರಿಯಲ್ಸ್'; + + @override + String get drawerSectionTitleLegal => 'ಕಾನೂನು'; + + @override + String get drawerSectionContactUs => 'ನಮ್ಮನ್ನು ಸಂಪರ್ಕಿಸಿ'; + + @override + String get drawerSectionBugReport => 'ಬಗ್ ವರದಿ'; + + @override + String get drawerSectionTermsAndConditions => 'ನಿಯಮಗಳು ಮತ್ತು ಶರತ್ತುಗಳು'; + + @override + String get drawerSectionPrivacyPolicy => 'ಗೋಪ್ಯತಾ ನೀತಿ'; + + @override + String get drawerSectionTitleFeedback => 'ಪ್ರತಿಕ್ರಿಯೆ'; + + @override + String get drawerSectionRateApp => 'ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಂಕಿತ ಮಾಡಿ'; + + @override + String get drawerSectionShareWithFriends => 'ಮಿತ್ರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಿ'; + + @override + String get drawerButtonLogOut => 'ಲಾಗ್ ಔಟ್'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'ಇತರರಿಗೆ ವೈದ್ಯಕೀಯ ಆರೈಕೆ ಪಡೆಯಲು ಸಹಾಯ ಮಾಡಿ'; + + @override + String get drawerPlaceholderUser => 'ಬಳಕೆದಾರ'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'ಪ್ರಿಮಿಯಂ ವೈಶಿಷ್ಟ್ಯಗಳು\nಡಾಕ್ಟರಿನಾ ಜೊತೆ'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'ಪಡೆಯಿರಿ'; + + @override + String get drawerLabelJoinUs => 'ನಮ್ಮೊಂದಿಗೆ ಸೇರಿ'; + + @override + String get drawerTooltipVersion => 'ಆಪ್ಲಿಕೇಶನ್ ಆವೃತ್ತಿ:'; + + @override + String get drawerSectionRecentChats => 'ಇತ್ತೀಚಿನ ಚಾಟ್‌ಗಳು'; + + @override + String get drawerPlaceholderProfile => 'ಪ್ರೊಫೈಲ್'; + + @override + String get drawerPlaceholderRecentChat => 'ಇತ್ತೀಚಿನ ಚಾಟ್'; + + @override + String get drawerSectionDownloadApps => 'ಆಪ್ಸ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ'; + + @override + String get chatInputHintEnterMessage => 'ಸಂದೇಶವನ್ನು ನಮೂದಿಸಿ'; + + @override + String get chatInputTooltipAttachFile => 'ಫೈಲ್ ಅಟಾಚ್ ಮಾಡಿ'; + + @override + String get chatInputTooltipDictateMessage => 'ಉಲ್ಲೇಖಿಸಿ'; + + @override + String get chatInputTooltipDictateFinishMessage => 'ಮುಗಿಯಿಸಿ & ಪಠ್ಯಗೊಳಿಸಿ'; + + @override + String get chatInputTooltipSendMessage => 'ಸಂದೇಶ ಕಳುಹಿಸಿ'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'ಸಂದೇಶಗಳನ್ನು ಪಡೆಯಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'ಸಂದೇಶಗಳನ್ನು ಪಡೆಯಲು ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.'; + + @override + String get chatListTooltipFetchMessages => 'ಸಂದೇಶಗಳನ್ನು ಪಡೆಯಿರಿ'; + + @override + String get chatListLabelNoMessagesAvailable => + 'ಸಂದೇಶಗಳಿಲ್ಲ. ದಯವಿಟ್ಟು ಸಂಭಾಷಣೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿ.'; + + @override + String get chatListHasConnection => 'ಸಂಪರ್ಕಿತ'; + + @override + String get chatListNoConnection => 'ಹೋಗಿಲ್ಲ'; + + @override + String get chatActionButtonTooltipSearch => 'ಹುಡುಕು'; + + @override + String get chatActionButtonTooltipFavorites => 'ಆಕರ್ಷಣೆಗಳು'; + + @override + String get chatActionButtonTooltipDownload => 'ಡೌನ್‌ಲೋಡ್'; + + @override + String get chatActionButtonTooltipPrintPdf => 'ಪಿಡಿಎಫ್ ಮುದ್ರಿಸಿ'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'ಮಿತ್ರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಿ'; + + @override + String get chatActionButtonTooltipNewChat => 'ಹೊಸ ಚಾಟ್'; + + @override + String get chatActionButtonNewChat => 'ಚಾಟ್'; + + @override + String get chatActionButtonTooltipChatList => 'ಚಾಟ್ ಆಯ್ಕೆ ಮಾಡಿ'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ಡ್ರಾಯರ್ ತೋರಿಸಿ'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'ಚಾಟ್ ಲಭ್ಯವಿಲ್ಲ. ದಯವಿಟ್ಟು ಪುನಃ ತಾಜಾ ಅಥವಾ ಹೊಸ ಚಾಟ್ ರಚಿಸಿ.'; + + @override + String get chatButtonRefreshChats => 'ಚಾಟ್ ನವೀಕರಿಸಿ'; + + @override + String get chatButtonCreateNewChat => 'ಹೊಸ ಚಾಟ್ ರಚಿಸಿ'; + + @override + String get chatContextMenuCopyMessage => 'ಪಠ್ಯವನ್ನು ನಕಲಿಸಿ'; + + @override + String get chatStatusProcessingMessages => 'ಟೈಪಿಂಗ್ ಕ್ಷಣಕಾಲ'; + + @override + String get chatNoConnectionLabel => + 'ಅಪ್ಡೇಟಿಂಗ್...\nದಯವಿಟ್ಟು ನಿಮ್ಮ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'ಸಂದೇಶವನ್ನು ಈಗಾಗಲೇ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ.'; + + @override + String get chatErrorMessageTooLong => 'ಸಂದೇಶವು ಹೆಚ್ಚು ಉದ್ದವಾಗಿದೆ.'; + + @override + String get chatRemoveAttachmentTooltip => 'ಅಟ್ಯಾಚ್‌ಮೆಂಟ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ'; + + @override + String get chatStatusFailedMessage => + 'ಸಂದೇಶವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get chatActionButtonTooltipExportSummary => 'ಪಿಡಿಎಫ್ ಗೆ ರಫ್ತು ಮಾಡಿ'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'ಫೋಟೋಗಳು'; + + @override + String get chatPickerCamera => 'ಕ್ಯಾಮೆರಾ'; + + @override + String get chatPickerFiles => 'Files'; + + @override + String get chatPickerPhotosFiles => 'ಫೋಟೋಗಳು ಮತ್ತು ಫೈಲ್‌ಗಳು'; + + @override + String get chatRecommendationYIAG => + 'ನೀವು ಸಹಾಯವಾಗಿದೆಯೆಂದು ಭಾವಿಸುತ್ತೇನೆ! ಈ ವಿವರಣೆ ನಿಮಗೆ ಉಪಯುಕ್ತವಾಗಿದೆಯೆ?'; + + @override + String get chatRecommendationButtonDonate => 'ಹೌದು, ಎಲ್ಲವೂ ಚೆನ್ನಾಗಿದೆ!'; + + @override + String get failedToRetrieveChatSummary => + 'ಚಾಟ್ ಸಾರಾಂಶವನ್ನು ಪಡೆಯಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get chatSummaryCopiedToClipboard => + 'ಚಾಟ್ ಸಾರಾಂಶ ಕ್ಲಿಪ್‌ಬೋರ್ಡ್‌ಗೆ ನಕಲಿಸಲಾಗಿದೆ'; + + @override + String get tryDoctorinaInTheMobileApp => + 'ಡಾಕ್ಟರಿನಾ ಮೊಬೈಲ್ ಆಪ್‌ನಲ್ಲಿ ಪ್ರಯತ್ನಿಸಿ!'; + + @override + String get getAppStoreLogoLabel => 'ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ'; + + @override + String get getGooglePlayLogoLabel => 'ಗೇಟ್ನಲ್ಲಿ'; + + @override + String get getAppStoreLogoTooltip => 'Download on the App Store'; + + @override + String get getGooglePlayLogoTooltip => 'ಗೂಗಲ್ ಪ್ಲೇನಲ್ಲಿ ಪಡೆಯಿರಿ'; + + @override + String get reportMessageDialogTitle => 'ಸಂದೇಶ ವರದಿ ಮಾಡಿ'; + + @override + String get reportMessageDialogSubtitle => + 'ನೀವು ಈ ಸಂದೇಶವನ್ನು ಏಕೆ ವರದಿ ಮಾಡುತ್ತಿದ್ದೀರಿ?'; + + @override + String get reportMessageDialogTextFieldHint => + 'ಐಚ್ಛಿಕ: ಈ ಸಂದೇಶದಲ್ಲಿ ಏನು ತಪ್ಪಾಗಿದೆ ಎಂಬುದನ್ನು ವಿವರಿಸಿ...'; + + @override + String get reportMessageDialogWhyImportant => + 'ಇದು ನಮ್ಮ AI ಪ್ರತಿಸ್ಪಂದನೆಗಳನ್ನು ಸುಧಾರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.'; + + @override + String get reportMessageDialogCancelButton => 'ರದ್ದು ಮಾಡಿ'; + + @override + String get reportMessageDialogReportButton => 'ರಿಪೋರ್ಟ್'; + + @override + String get reportMessageSnackbarSuccess => + 'ನಿಮ್ಮ ಪ್ರತಿಕ್ರಿಯೆಗೆ ಧನ್ಯವಾದಗಳು! ವರದಿ ಸಲ್ಲಿಸಲಾಗಿದೆ.'; + + @override + String get reportMessageSnackbarFailed => 'ರಿಪೋರ್ಟ್ ಸಲ್ಲಿಸಲು ವಿಫಲ'; + + @override + String get copyMessageSnackbarSuccess => 'ಕ್ಲಿಪ್‌ಬೋರ್ಡ್‌ಗೆ ನಕಲಿಸಲಾಗಿದೆ'; + + @override + String get copyMessageSnackbarFailed => 'ಸಂದೇಶವನ್ನು ನಕಲಿಸಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get chatContextMenuReportMessage => 'ಸಂದೇಶ ವರದಿ ಮಾಡಿ'; + + @override + String get chatDropZoneTitle => 'ಡಾಕ್ಟರಿನಾ ಚಾಟ್‌ಗೆ ಅಪ್ಲೋಡ್ ಮಾಡಿ'; + + @override + String get chatDropZoneSubtitle => + 'ಚಾಟ್‌ಗೆ ಸೇರಿಸಲು ಫೈಲ್‌ಗಳನ್ನು ಇಲ್ಲಿ ಎಳೆಯಿರಿ ಮತ್ತು ಬಿಡಿ'; + + @override + String get chatDropZoneText => + 'ನೀವು ಒಂದು ಸಂದೇಶಕ್ಕೆ 15 ಫೈಲ್‌ಗಳನ್ನು ಸೇರಿಸಬಹುದು'; + + @override + String get notificationBannerText => + 'ನಿಮ್ಮ ಆರೋಗ್ಯದ ಬಗ್ಗೆ ಏನಾದರೂ ಪ್ರಮುಖವಾಗಿದ್ದರೆ ನಾನು ನಿಮಗೆ ತಿಳಿಸಲು ಬಯಸುತ್ತೀರಾ?'; + + @override + String get notificationBannerButtonEnable => 'ಹೌದು, ನನಗೆ ತಿಳಿಸಿ'; + + @override + String get notificationBannerButtonDisable => 'ಮರುಕಳಿಸಲು'; + + @override + String get notificationBannerButtonClose => 'ಮುಚ್ಚಿ'; + + @override + String get notificationAreBlockedSystem => + 'ಅಧಿಕಾರಗಳ ಮಟ್ಟದಲ್ಲಿ ಸೂಚನೆಗಳನ್ನು ತಡೆಹಿಡಿಯಲಾಗಿದೆ. ಡಾಕ್ಟೊರಿನಾ ಸೂಚನೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ಮೊದಲು ಅವುಗಳನ್ನು ವ್ಯವಸ್ಥೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಸಕ್ರಿಯಗೊಳಿಸಿ.'; + + @override + String get notificationAreBlockedBrowser => + 'ಅಧಿಕಾರಗಳಲ್ಲಿ ಬ್ರೌಸರ್‌ಗಾಗಿ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. ಡಾಕ್ಟೊರಿನಾ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ಮೊದಲು ಬ್ರೌಸರ್ ಸೆಟಿಂಗ್‌ಗಳಲ್ಲಿ ಅವುಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.'; + + @override + String get notificationDialogTitle => 'ನಿಮ್ಮ ಸಲಹೆ ಬಗ್ಗೆ ನವೀಕರಿತವಾಗಿರಿ'; + + @override + String get notificationDialogDescription => + 'Doctorina ನಿಮ್ಮ ಆರೋಗ್ಯದ ಬಗ್ಗೆ ಹೊಸ ಮಾಹಿತಿಗಳು ಅಥವಾ ನವೀಕರಣಗಳು ಲಭ್ಯವಾಗುವಾಗ ನಿಮಗೆ ತಿಳಿಸಬಹುದು'; + + @override + String get notificationDialogEnableButton => + 'ಅಧಿಕೃತ ಸೂಚನೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ'; + + @override + String get notificationDialogLaterButton => 'ಮರುಕಳಿಸಲು'; + + @override + String get termsAndConditionBannerText => + 'ಮುಂದುವರಿಸುವುದರಿಂದ, ನೀವು ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯ ಸಂಸ್ಕರಣೆ, cookies ಬಳಕೆ, terms and conditions ಕುರಿತು ಒಪ್ಪಿಗೆಯೊಂದಿಗೆ, ಮತ್ತು

privacy policy

ಅನ್ನು ಅಂಗೀಕರಿಸುತ್ತೀರಿ. ಜೊತೆಗೆ, ನಿಮ್ಮ ಸಲಹೆ AI ಮೂಲಕವಾಗಿದ್ದು, ಪರವಾನಗಿ ಪಡೆದ ವೈದ್ಯಕೀಯ ವೃತ್ತಿಪರವಲ್ಲ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತೀರಿ'; + + @override + String get termsAndConditionBannerDismissTooltip => 'ಅಳಿಸಿ'; + + @override + String get anonUserNewChatCreationWarningTitle => 'ಮೊದಲು ಈ ಚಾಟ್ ಅನ್ನು ಉಳಿಸಿ?'; + + @override + String get anonUserNewChatCreationWarningText => + 'ಹೊಸ ಪರಾಮರ್ಶೆಯನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಈ ಪರಾಮರ್ಶೆಯನ್ನು ಉಳಿಸಲು ಉಚಿತವಾಗಿ ಸೈನ್ ಅಪ್ ಮಾಡಿ'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'ಉಳಿಸುವುದಿಲ್ಲದೆ ಆರಂಭಿಸಿ'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'ಸೈನ್ ಅಪ್ ಮಾಡಿ'; + + @override + String get inputBlockerContinueMessage => + 'ಸಂವಾದವನ್ನು ಮುಂದುವರಿಸಲು, ಮೇಲಿನ ಆಯ್ಕೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿ'; + + @override + String get chatServerDialogCloseBtnTooltip => 'ಮುಚ್ಚು'; + + @override + String get chatAttachmentRemoveTooltip => 'ಜೋಡಣೆ ತೆಗೆದು ಹಾಕಿ'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'ಡ್ರಾಪ್ ಜೋನ್‌ನಿಂದ ಫೈಲ್‌ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ವಿಫಲ'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'ದಯವಿಟ್ಟು ಸಂದೇಶವನ್ನು ನಮೂದಿಸಿ ಅಥವಾ ಫೈಲ್ ಅನ್ನು ಅಟ್ಯಾಚ್ ಮಾಡಿ'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'ದಯವಿಟ್ಟು ಅಪ್ಲೋಡ್‌ಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಕಾಯಿರಿ'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'ಸಂದೇಶವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ'; + + @override + String get chatAttachmentErrorMessageTooLong => 'ಸಂದೇಶವು ತುಂಬಾ ದೀರ್ಘವಾಗಿದೆ'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'ಸಂದೇಶವು ಈಗಾಗಲೇ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'ಸಂಪರ್ಕ ಶಾಶ್ವತವಾಗಿ ಮುಚ್ಚಲಾಗಿದೆ'; + + @override + String get chatAttachmentErrorNoConnection => 'ಸರ್ವರ್ ಗೆ ಸಂಪರ್ಕ ಇಲ್ಲ'; + + @override + String get chatAttachmentErrorPickFiles => 'ಫೈಲ್ ಆಯ್ಕೆ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get chatAttachmentErrorPickImages => 'ಚಿತ್ರಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ವಿಫಲ'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'ಕ್ಯಾಮೆರಾದಿಂದ ಫೋಟೋ ಹಿಡಿಯಲು ವಿಫಲ'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'ನೀವು ಒಂದೇ ಬಾರಿಗೆ $count ಫೈಲ್‌ಗಳನ್ನು ಜೋಡಿಸಬಹುದು'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'ಅನುಮೋದಿತ ಪಠ್ಯವನ್ನು ಅಳಿಸಿ'; + + @override + String get chatInputTooltipMessageTooLong => 'ಸಂದೇಶವು ತುಂಬಾ ದೀರ್ಘವಾಗಿದೆ.'; + + @override + String get chatInputTooltipWaitForUploads => + 'ದಯವಿಟ್ಟು ಅಪ್ಲೋಡ್‌ಗಳನ್ನು ಪೂರ್ಣಗೊಳ್ಳಲು ಕಾಯಿರಿ'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'The $kind \"$name\" is already attached and was not added again.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" is a duplicate of $exist and was not added.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '$kind \"$name\" ಅನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ ಏಕೆಂದರೆ ಅಟ್ಯಾಚ್ಮೆಂಟ್‌ಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯನ್ನು ಮೀರಿಸಲಾಗಿದೆ.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '\"$name\" ಫೈಲ್ ಖಾಲಿ ಇದೆ'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'ಫೈಲ್ ಖಾಲಿ ಇದೆ'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return '\"$name\" ಫೈಲ್ ಗರಿಷ್ಠ ಅನುಮತಿತ ಗಾತ್ರವನ್ನು ಮೀರಿಸುತ್ತದೆ'; + } + + @override + String get chatAttachmentErrorFileSize => + 'ಫೈಲ್ ಗರಿಷ್ಠ ಅನುಮತಿತ ಗಾತ್ರವನ್ನು ಮೀರಿಸುತ್ತದೆ.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '\"$name\" ಫೈಲ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ದೋಷ ಉಂಟಾಯಿತು.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'ಫೈಲ್ ಪ್ರಕ್ರಿಯೆ ಮಾಡುವಾಗ ದೋಷ ಉಂಟಾಯಿತು'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return '\"$name\" ಫೈಲ್ ಸೇರಿಸಲಾಗಿಲ್ಲ ಏಕೆಂದರೆ ಅಟ್ಯಾಚ್ಮೆಂಟ್‌ಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯನ್ನು ಮೀರಿಸಲಾಗಿದೆ.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ಫೈಲ್(ಗಳು) ಸೇರಿಸಲಾಗಿಲ್ಲ ಏಕೆಂದರೆ ಅಟ್ಯಾಚ್ಮೆಂಟ್‌ಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯನ್ನು ಮೀರಿಸಲಾಗಿದೆ.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'ಒಂದು ಫೈಲ್ ಸೇರಿಸಲಾಗಿಲ್ಲ ಏಕೆಂದರೆ ಅಟ್ಯಾಚ್ಮೆಂಟ್‌ಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯನ್ನು ಮೀರಿಸಲಾಗಿದೆ.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'ಹೆಸರು ಇಲ್ಲದ ಫೈಲ್ ಸೇರಿಸಲು ಪ್ರಯತ್ನಿಸಲಾಗಿದೆ'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'ಅನುದಾನಿತ ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಫೈಲ್ ಸೇರಿಸಲು ಪ್ರಯತ್ನಿಸಲಾಗಿದೆ: \"$name\"'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'ಅನ್ವಯಿತ ವಿಸ್ತರಣೆ ಹೊಂದಿರುವ ಫೈಲ್ ಸೇರಿಸಲು ಪ್ರಯತ್ನಿಸಲಾಗಿದೆ'; + + @override + String get chatAttachmentErrorFileNull => 'ಫೈಲ್ ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'ಫೈಲ್ \"$name\" ಅಮಾನ್ಯವಾಗಿದೆ ಮತ್ತು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'ಫೈಲ್ ಅಮಾನ್ಯವಾಗಿದೆ ಮತ್ತು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return '\"$name\" ಐಟಮ್ ಮಾನ್ಯ ಫೈಲ್ ಅಲ್ಲ.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'ಒಂದು ಐಟಮ್ ಮಾನ್ಯ ಫೈಲ್ ಅಲ್ಲ.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'ಐಟಂ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ದೋಷ ಉಂಟಾಯಿತು'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'ಐಟಮ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ದೋಷ ಉಂಟಾಯಿತು'; + + @override + String get chatAttachmentErrorNoFiles => 'ಯಾವುದೇ ಫೈಲ್‌ಗಳನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'ಕೆಲವು ಫೈಲ್‌ಗಳನ್ನು ಇತ್ತೀಚಿನ ಫೈಲ್‌ಗಳೊಂದಿಗೆ ನಕಲಾಗಿ ಬಿಟ್ಟುಹೋಗಿವೆ.'; + + @override + String get chatAttachmentErrorUnknown => 'ಅಜ್ಞಾತ ದೋಷ ಸಂಭವಿಸಿದೆ'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'ಫೈಲ್‌ಗಳನ್ನು ಜೋಡಿಸುವಾಗ ಈ ಕೆಳಗಿನ ದೋಷಗಳು ಸಂಭವಿಸಿದವು:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'ಫೈಲ್ ಹಂಚಲು ವಿಫಲವಾಗಿದೆ: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'ಮುಚ್ಚಿ'; + + @override + String get chatAttachmentPreviewTooltipShare => 'ಹಂಚಿಕೊಳ್ಳಿ'; + + @override + String get chatAttachmentPreviewLoading => 'ಫೈಲ್ ಲೋಡ್ ಆಗುತ್ತಿದೆ...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'ಫೈಲ್ ಲೋಡ್ ಮಾಡಲು ವಿಫಲ'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'ಅಜ್ಞಾತ ದೋಷ ಸಂಭವಿಸಿದೆ'; + + @override + String get chatAttachmentPreviewButtonRetry => 'ಮರು ಪ್ರಯತ್ನಿಸಿ'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'ಅಸಮರ್ಥಿತ ಫೈಲ್ ಪ್ರಕಾರ'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Cannot preview $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'ಫೈಲ್ ಹಂಚಿಕೊಳ್ಳಿ'; + + @override + String get chatAttachmentPreviewErrorImage => 'ಚಿತ್ರವನ್ನು ತೋರಿಸಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'ಜೂಮ್ ಪುನಃ ಸೆಟ್ ಮಾಡಿ'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'ಪಠ್ಯ ವಿಷಯವನ್ನು ಡಿಕೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'ಮತ್ತು $count ಹೆಚ್ಚು ದೋಷಗಳಿವೆ.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'ಫೈಲ್ ತಪ್ಪಾಗಿದೆ'; + + @override + String get chatConsentRequiredTitle => 'ಅನುಮತಿ ಅಗತ್ಯವಿದೆ'; + + @override + String get chatConsentRequiredText => + 'ಮುಂದುವರಿಯಲು, ನೀವು ನಮ್ಮ ನಿಯಮಗಳು, ಗೋಪ್ಯತಾ ನೀತಿ, ಮತ್ತು ಕೂಕೀಸ್ ಬಳಕೆ ಗೆ ಒಪ್ಪುತ್ತೀರಿ ಮತ್ತು ಈ ಸಲಹೆ AI ಮೂಲಕ ನೀಡಲಾಗುತ್ತದೆ, ಲೈಸೆನ್ಸ್ ಹೊಂದಿರುವ ವೈದ್ಯರ ಮೂಲಕ ಅಲ್ಲ ಎಂದು ದೃಢೀಕರಿಸುತ್ತೀರಿ.'; + + @override + String get chatConsentRequiredCloseTooltip => 'ಮುಚ್ಚಿ'; + + @override + String get chatHistoryDelete => 'ಅಳಿಸಿ'; + + @override + String get chatDelete => 'ಚಾಟ್ ಅಳಿಸಿ'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'ಚಾಟ್ \"$title\" ಯಶಸ್ವಿಯಾಗಿ ಅಳಿಸಲಾಗಿದೆ.'; + } + + @override + String get chatDeleteConfirmationTitle => 'ಚಾಟ್ ಅಳಿಸಲು?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'ನಿಮ್ಮ ಲಕ್ಷಣಗಳು, ನಿರ್ಣಯ ಸಾರಾಂಶ ಮತ್ತು ಈ ಚಾಟ್‌ನಲ್ಲಿ ಯಾವುದೇ ಶಿಫಾರಸುಗಳನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ.\nಈ ಕ್ರಿಯೆಯನ್ನು ಹಿಂದಿರುಗಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'ಊರ್ತ್'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'ಊರ ಕಡಿಮೆ ಮಾಡಿ'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'ಜೂಮ್ ಪುನಃ ಸೆಟ್ ಮಾಡಿ'; + + @override + String get chatAttachmentPreviewShareTooltip => 'ಹಂಚಿಕೊಳ್ಳಿ'; + + @override + String get dateToday => 'ಇಂದು'; + + @override + String get dateYesterday => 'ನಿನ್ನೆ'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'ಮಾತ್ರ ಮೊದಲ ಪುಟ. ಸಂಪೂರ್ಣ ಫೈಲ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಹಂಚಿಕೊಳ್ಳಿ.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_ko.dart b/example/lib/src/generated/chat/chat_localization_ko.dart index fc03e39..1a68a2e 100644 --- a/example/lib/src/generated/chat/chat_localization_ko.dart +++ b/example/lib/src/generated/chat/chat_localization_ko.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,32 +10,29 @@ import 'chat_localization.dart'; class ChatLocalizationKo extends ChatLocalization { ChatLocalizationKo([String locale = 'ko']) : super(locale); - @override - String get title => '채팅'; - @override String get drawerTooltipNotifications => '알림'; @override - String get drawerTooltipHelp => '돕다'; + String get drawerTooltipHelp => '도움말'; @override - String get drawerTooltipClose => '닫다'; + String get drawerTooltipClose => '닫기'; @override String get drawerSectionTitleAccount => '계정'; @override - String get drawerSectionProfile => '윤곽'; + String get drawerSectionProfile => '프로필'; @override String get drawerSectionAccountSettings => '계정 설정'; @override - String get drawerSectionDonateToSupport => '지원에 기부하세요'; + String get drawerSectionDonateToSupport => '지원하기 위해 기부'; @override - String get drawerSectionSubscription => '신청'; + String get drawerSectionSubscription => '구독'; @override String get drawerSectionTitleChats => '채팅'; @@ -53,35 +50,35 @@ class ChatLocalizationKo extends ChatLocalization { String get drawerSectionVideoTutorials => '비디오 튜토리얼'; @override - String get drawerSectionTitleLegal => '합법적인'; + String get drawerSectionTitleLegal => '법률'; @override String get drawerSectionContactUs => '문의하기'; @override - String get drawerSectionBugReport => '버그 리포트'; + String get drawerSectionBugReport => '버그 신고'; @override - String get drawerSectionTermsAndConditions => '이용 약관'; + String get drawerSectionTermsAndConditions => '약관'; @override - String get drawerSectionPrivacyPolicy => '개인정보 보호정책'; + String get drawerSectionPrivacyPolicy => '개인정보 처리방침'; @override String get drawerSectionTitleFeedback => '피드백'; @override - String get drawerSectionRateApp => '앱 평가'; + String get drawerSectionRateApp => '앱 평가하기'; @override - String get drawerSectionShareWithFriends => '친구들과 공유하세요'; + String get drawerSectionShareWithFriends => '친구와 공유하기'; @override String get drawerButtonLogOut => '로그아웃'; @override String get drawerBannerHelpOthersReceiveMedicalCare => - '다른 사람들이 의료 서비스를 받을 수 있도록 도와주세요'; + '다른 사람이 의료 서비스를 받을 수 있도록 도와주세요'; @override String get drawerPlaceholderUser => '사용자'; @@ -91,14 +88,26 @@ class ChatLocalizationKo extends ChatLocalization { '프리미엄 기능\nDoctorina와 함께'; @override - String get drawerSubscriptionButtonGetPremiumFeatures => '얻다'; + String get drawerSubscriptionButtonGetPremiumFeatures => '받기'; @override - String get drawerLabelJoinUs => '우리와 함께하세요'; + String get drawerLabelJoinUs => '가입하기'; @override String get drawerTooltipVersion => '앱 버전:'; + @override + String get drawerSectionRecentChats => '최근 채팅'; + + @override + String get drawerPlaceholderProfile => '프로필'; + + @override + String get drawerPlaceholderRecentChat => '최근 채팅'; + + @override + String get drawerSectionDownloadApps => '앱 다운로드'; + @override String get chatInputHintEnterMessage => '메시지 입력'; @@ -106,24 +115,27 @@ class ChatLocalizationKo extends ChatLocalization { String get chatInputTooltipAttachFile => '파일 첨부'; @override - String get chatInputTooltipDictateMessage => '메시지 받아쓰기'; + String get chatInputTooltipDictateMessage => '받아쓰기'; + + @override + String get chatInputTooltipDictateFinishMessage => '종료 및 전사'; @override String get chatInputTooltipSendMessage => '메시지 보내기'; @override - String get chatListSnackBarErrorFailedToFetchMessages => '메시지를 가져오지 못했습니다'; + String get chatListSnackBarErrorFailedToFetchMessages => '메시지 가져오기 실패'; @override String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => - '메시지를 가져오지 못했습니다. 다시 시도해 주세요.'; + '메시지를 가져오지 못했습니다. 다시 시도하십시오.'; @override - String get chatListTooltipFetchMessages => '메시지 가져오기'; + String get chatListTooltipFetchMessages => '메시지 불러오기'; @override String get chatListLabelNoMessagesAvailable => - '사용 가능한 메시지가 없습니다.\n대화를 시작하려면 메시지를 보내주세요.'; + '메시지가 없습니다.\n대화를 시작하려면 메시지를 보내주세요.'; @override String get chatListHasConnection => '연결됨'; @@ -132,7 +144,7 @@ class ChatLocalizationKo extends ChatLocalization { String get chatListNoConnection => '연결 없음'; @override - String get chatActionButtonTooltipSearch => '찾다'; + String get chatActionButtonTooltipSearch => '검색'; @override String get chatActionButtonTooltipFavorites => '즐겨찾기'; @@ -144,10 +156,13 @@ class ChatLocalizationKo extends ChatLocalization { String get chatActionButtonTooltipPrintPdf => 'PDF 인쇄'; @override - String get chatActionButtonTooltipShareWithFriends => '친구들과 공유하세요'; + String get chatActionButtonTooltipShareWithFriends => '친구와 공유하기'; @override - String get chatActionButtonTooltipNewChat => '새로운 채팅'; + String get chatActionButtonTooltipNewChat => '새 채팅'; + + @override + String get chatActionButtonNewChat => '채팅'; @override String get chatActionButtonTooltipChatList => '채팅 선택'; @@ -157,38 +172,41 @@ class ChatLocalizationKo extends ChatLocalization { @override String get chatLabelNoChatAvailableRefresh => - '채팅이 없습니다. 새로고침하거나 새 채팅을 만들어 주세요.'; + '채팅이 없습니다. 새로 고침하거나 새 채팅을 시작하세요.'; @override String get chatButtonRefreshChats => '채팅 새로고침'; @override - String get chatButtonCreateNewChat => '새로운 채팅 만들기'; + String get chatButtonCreateNewChat => '새 채팅 만들기'; @override String get chatContextMenuCopyMessage => '텍스트 복사'; @override - String get chatStatusProcessingMessages => '타이핑 중...\n잠깐만요...'; + String get chatStatusProcessingMessages => '입력 중\n잠시만요'; @override - String get chatNoConnectionLabel => '인터넷 연결을 확인해 주세요'; + String get chatNoConnectionLabel => '업데이트 중...\n인터넷 연결을 확인하세요'; @override - String get chatErrorMessageAlreadyProcessed => '해당 메시지는 현재 처리 중입니다.'; + String get chatErrorMessageAlreadyProcessed => '메시지가 이미 처리 중입니다.'; @override String get chatErrorMessageTooLong => '메시지가 너무 깁니다.'; @override - String get chatRemoveAttachmentTooltip => '첨부 파일 제거'; + String get chatRemoveAttachmentTooltip => '첨부 제거'; @override - String get chatStatusFailedMessage => '메시지 처리에 실패했습니다'; + String get chatStatusFailedMessage => '메시지 처리 실패'; @override String get chatActionButtonTooltipExportSummary => 'PDF로 내보내기'; + @override + String get chatActionExportToPdfTitle => 'PDF'; + @override String get chatPickerPhotos => '사진'; @@ -199,17 +217,392 @@ class ChatLocalizationKo extends ChatLocalization { String get chatPickerFiles => '파일'; @override - String get chatRecommendationYIAG => '도움이 되었기를 바랍니다! 이 설명이 도움이 되셨나요?'; + String get chatPickerPhotosFiles => '사진 및 파일'; + + @override + String get chatRecommendationYIAG => '도움이 되었기를 바랍니다! 이 설명이 도움이 되었나요?'; @override String get chatRecommendationButtonDonate => '네, 다 괜찮아요!'; @override - String get chatHistoryTitle => '채팅 기록'; + String get failedToRetrieveChatSummary => '채팅 요약을 가져오지 못했습니다'; + + @override + String get chatSummaryCopiedToClipboard => '채팅 요약이 클립보드에 복사됨'; + + @override + String get tryDoctorinaInTheMobileApp => '모바일 앱에서 Doctorina를 사용해보세요!'; + + @override + String get getAppStoreLogoLabel => '에서 다운로드'; + + @override + String get getGooglePlayLogoLabel => '구글 플레이에서'; + + @override + String get getAppStoreLogoTooltip => 'App Store에서 다운로드'; + + @override + String get getGooglePlayLogoTooltip => '구글 플레이에서 받기'; + + @override + String get reportMessageDialogTitle => '신고 메시지'; + + @override + String get reportMessageDialogSubtitle => '이 메시지를 신고하는 이유는 무엇인가요?'; + + @override + String get reportMessageDialogTextFieldHint => + '선택 사항: 이 메시지에 대한 문제를 설명하세요...'; + + @override + String get reportMessageDialogWhyImportant => + '이것은 우리의 AI 응답을 개선하는 데 도움이 됩니다.'; + + @override + String get reportMessageDialogCancelButton => '취소'; + + @override + String get reportMessageDialogReportButton => '신고'; + + @override + String get reportMessageSnackbarSuccess => '피드백 감사합니다! 보고서가 제출되었습니다.'; + + @override + String get reportMessageSnackbarFailed => '보고서를 제출하지 못했습니다'; + + @override + String get copyMessageSnackbarSuccess => '클립보드에 복사됨'; + + @override + String get copyMessageSnackbarFailed => '메시지 복사에 실패했습니다'; + + @override + String get chatContextMenuReportMessage => '신고 메시지'; + + @override + String get chatDropZoneTitle => '의사와의 채팅에 업로드'; + + @override + String get chatDropZoneSubtitle => '파일을 여기에 드래그 앤 드롭하여 채팅에 추가하세요'; + + @override + String get chatDropZoneText => '하나의 메시지에 최대 15개의 파일을 추가할 수 있습니다'; + + @override + String get notificationBannerText => '건강에 중요한 일이 생기면 알려드릴까요?'; + + @override + String get notificationBannerButtonEnable => '네, 알림을 받겠습니다'; + + @override + String get notificationBannerButtonDisable => '나중에'; + + @override + String get notificationBannerButtonClose => '닫기'; + + @override + String get notificationAreBlockedSystem => + '알림이 시스템 수준에서 차단되었습니다. Doctorina의 알림을 활성화하기 전에 시스템 설정에서 이를 활성화하세요.'; + + @override + String get notificationAreBlockedBrowser => + '알림이 시스템 수준에서 차단되었습니다. Doctorina의 알림을 활성화하기 전에 브라우저 설정에서 이를 활성화하세요.'; + + @override + String get notificationDialogTitle => '상담에 대한 최신 정보를 받아보세요'; + + @override + String get notificationDialogDescription => + 'Doctorina는 귀하의 건강에 대한 새로운 통찰력이나 업데이트가 있을 때 알림을 보낼 수 있습니다.'; + + @override + String get notificationDialogEnableButton => '알림 활성화'; + + @override + String get notificationDialogLaterButton => '나중에'; + + @override + String get termsAndConditionBannerText => + '계속하면 개인정보 처리, cookies 사용에 동의하고 terms and conditions에 동의하며

privacy policy

를 확인하는 것으로 간주됩니다. 또한 귀하는 상담이 AI와 진행되며 면허가 있는 의료 전문가가 아니라는 것을 인정합니다'; + + @override + String get termsAndConditionBannerDismissTooltip => '닫기'; + + @override + String get anonUserNewChatCreationWarningTitle => '먼저 이 채팅을 저장하시겠습니까?'; + + @override + String get anonUserNewChatCreationWarningText => + '새 상담을 시작하기 전에 이 상담 내용을 저장하려면 무료로 가입하세요'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => '저장하지 않고 시작'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => '가입하기'; + + @override + String get inputBlockerContinueMessage => '대화를 계속하려면 위에서 옵션을 선택하세요'; + + @override + String get chatServerDialogCloseBtnTooltip => '닫기'; + + @override + String get chatAttachmentRemoveTooltip => '첨부파일 제거'; + + @override + String get chatAttachmentErrorPickFilesDropZone => '드롭존에서 파일 선택에 실패했습니다'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => '메시지를 입력하거나 파일을 첨부하세요'; + + @override + String get chatAttachmentErrorWaitForUploads => '업로드가 완료될 때까지 기다려 주세요'; + + @override + String get chatAttachmentErrorMessageProcessing => '메시지가 처리 중입니다'; + + @override + String get chatAttachmentErrorMessageTooLong => '메시지가 너무 깁니다'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => '메시지가 현재 처리 중입니다.'; + + @override + String get chatAttachmentErrorConnectionClosed => '연결이 영구적으로 닫혔습니다'; + + @override + String get chatAttachmentErrorNoConnection => '서버에 연결할 수 없습니다'; + + @override + String get chatAttachmentErrorPickFiles => '파일 선택에 실패했습니다'; + + @override + String get chatAttachmentErrorPickImages => '이미지를 선택하지 못했습니다'; + + @override + String get chatAttachmentErrorCapturePhoto => '카메라에서 사진을 캡처하지 못했습니다'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return '한 번에 최대 $count개의 파일을 첨부할 수 있습니다.'; + } + + @override + String get chatInputTooltipClearRecognizedText => '인식된 텍스트 지우기'; + + @override + String get chatInputTooltipMessageTooLong => '메시지가 너무 깁니다.'; + + @override + String get chatInputTooltipWaitForUploads => '업로드가 완료될 때까지 기다려 주세요.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '이미 첨부된 $kind \"$name\"가 있어 다시 추가되지 않았습니다.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return '해당 $kind \"$name\"는 $exist의 중복이며 추가되지 않았습니다.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '최대 첨부 파일 수를 초과하여 $kind \"$name\"가 추가되지 않았습니다.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '파일 \"$name\"이(가) 비어 있습니다.'; + } + + @override + String get chatAttachmentErrorFileEmpty => '파일이 비어 있습니다.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return '파일 \"$name\"이(가) 허용된 최대 크기를 초과했습니다.'; + } + + @override + String get chatAttachmentErrorFileSize => '파일이 허용된 최대 크기를 초과합니다.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '파일 \"$name\"을(를) 처리하는 중 오류가 발생했습니다.'; + } + + @override + String get chatAttachmentErrorFileProcessing => '파일을 처리하는 동안 오류가 발생했습니다.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return '파일 \"$name\"이(가) 추가되지 않았습니다. 첨부파일 최대 수를 초과했습니다.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + '첨부 파일 수가 초과되어 파일이 추가되지 않았습니다.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + '첨부 파일 수가 초과되어 파일이 추가되지 않았습니다.'; + + @override + String get chatAttachmentErrorFileMissingName => '이름이 없는 파일을 추가하려고 했습니다.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return '지원되지 않는 확장자를 가진 파일을 추가하려고 했습니다: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => '지원되지 않는 확장자의 파일을 추가하려고 했습니다.'; + + @override + String get chatAttachmentErrorFileNull => '파일을 추가할 수 없습니다.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return '파일 \"$name\"이(가) 유효하지 않으며 추가할 수 없습니다.'; + } + + @override + String get chatAttachmentErrorFileInvalid => '파일이 유효하지 않으며 추가할 수 없습니다.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return '항목 \"$name\"은(는) 유효한 파일이 아닙니다.'; + } + + @override + String get chatAttachmentErrorItemNotFile => '항목이 유효한 파일이 아닙니다.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + '항목을 처리하는 동안 오류가 발생했습니다.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + '항목을 처리하는 동안 오류가 발생했습니다.'; + + @override + String get chatAttachmentErrorNoFiles => '파일이 추가되지 않았습니다'; + + @override + String get chatAttachmentErrorFileDuplicates => '일부 파일은 기존 파일과 중복되어 건너뛰었습니다.'; + + @override + String get chatAttachmentErrorUnknown => '알 수 없는 오류가 발생했습니다.'; + + @override + String get chatAttachmentErrorSnackbarHeader => '파일 첨부 중 다음 오류가 발생했습니다:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return '파일 공유에 실패했습니다: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => '닫기'; + + @override + String get chatAttachmentPreviewTooltipShare => '공유'; + + @override + String get chatAttachmentPreviewLoading => '파일 로딩 중...'; + + @override + String get chatAttachmentPreviewErrorLoad => '파일을 불러오는 데 실패했습니다'; + + @override + String get chatAttachmentPreviewErrorUnknown => '알 수 없는 오류가 발생했습니다'; + + @override + String get chatAttachmentPreviewButtonRetry => '재시도'; + + @override + String get chatAttachmentPreviewUnsupportedType => '지원되지 않는 파일 형식'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '미리보기 $contentType를 볼 수 없습니다'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => '파일 공유'; + + @override + String get chatAttachmentPreviewErrorImage => '이미지를 표시하지 못했습니다'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => '줌 초기화'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF를 불러오는 데 실패했습니다'; + + @override + String get chatAttachmentPreviewErrorDecodeText => '텍스트 내용을 디코딩하지 못했습니다.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return '그리고 $count개의 오류가 더 있습니다.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => '파일이 잘못되었습니다'; + + @override + String get chatConsentRequiredTitle => '동의 필요'; + + @override + String get chatConsentRequiredText => + '계속하면, 귀하는 당사의 약관, 개인정보 처리방침, 및 쿠키 사용에 동의하며, 이 상담이 면허가 있는 의료 전문가가 아닌 AI에 의해 제공됨을 확인합니다.'; + + @override + String get chatConsentRequiredCloseTooltip => '닫기'; + + @override + String get chatHistoryDelete => '삭제'; + + @override + String get chatDelete => '채팅 삭제'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return '채팅 “$title”이(가) 성공적으로 삭제되었습니다.'; + } + + @override + String get chatDeleteConfirmationTitle => '채팅 삭제?'; + + @override + String get chatDeleteConfirmationSubtitle => + '이 채팅에서 증상, 진단 요약 및 권장 사항이 삭제됩니다.\n이 작업은 취소할 수 없습니다.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => '확대'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => '축소'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => '줌 초기화'; + + @override + String get chatAttachmentPreviewShareTooltip => '공유'; + + @override + String get dateToday => '오늘'; @override - String get failedToRetrieveChatSummary => '채팅 요약을 검색하지 못했습니다.'; + String get dateYesterday => '어제'; @override - String get chatSummaryCopiedToClipboard => '채팅 요약이 클립보드에 복사되었습니다.'; + String get chatAttachmentPreviewDocumentNotice => + '첫 페이지만 표시됩니다. 전체 파일을 다운로드하려면 공유를 사용하세요.'; } diff --git a/example/lib/src/generated/chat/chat_localization_lo.dart b/example/lib/src/generated/chat/chat_localization_lo.dart new file mode 100644 index 0000000..48cf0d5 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_lo.dart @@ -0,0 +1,630 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Lao (`lo`). +class ChatLocalizationLo extends ChatLocalization { + ChatLocalizationLo([String locale = 'lo']) : super(locale); + + @override + String get drawerTooltipNotifications => 'ການແຈ້ງເຕືອນ'; + + @override + String get drawerTooltipHelp => 'ຊ່ວຍ'; + + @override + String get drawerTooltipClose => 'ປິດ'; + + @override + String get drawerSectionTitleAccount => 'ບັດຊິນ'; + + @override + String get drawerSectionProfile => 'Профил'; + + @override + String get drawerSectionAccountSettings => 'ການຕັ້ງຄ່າບັດຊິບ'; + + @override + String get drawerSectionDonateToSupport => 'Donate to Support'; + + @override + String get drawerSectionSubscription => 'Abonament'; + + @override + String get drawerSectionTitleChats => 'ສົນທະນາ'; + + @override + String get drawerSectionChatHistory => 'ປະຫວັດການສົນທະນາ'; + + @override + String get drawerSectionAttachedDocuments => 'Dokumente angehängt'; + + @override + String get drawerSectionTitleHowToUse => 'ວິທີໃຊ້'; + + @override + String get drawerSectionVideoTutorials => 'Video Tutorials'; + + @override + String get drawerSectionTitleLegal => 'Закон'; + + @override + String get drawerSectionContactUs => 'ຕິດຕໍ່ພວກເຮົາ'; + + @override + String get drawerSectionBugReport => 'ລາຍງານບັກ'; + + @override + String get drawerSectionTermsAndConditions => 'Termini & Condizioni'; + + @override + String get drawerSectionPrivacyPolicy => 'ນະແບບຄວາມລັບ'; + + @override + String get drawerSectionTitleFeedback => 'Feedback'; + + @override + String get drawerSectionRateApp => 'Rate App'; + + @override + String get drawerSectionShareWithFriends => 'ບ່ອນແບ່ງກັບເພື່ອນ'; + + @override + String get drawerButtonLogOut => 'Log Out'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'ຊ່ວຍຄົນອື່ນໃຫ້ໄດ້ຮັບການແພດ'; + + @override + String get drawerPlaceholderUser => 'User'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Premium Features\nwith Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Get'; + + @override + String get drawerLabelJoinUs => 'ມາຮ່ວມກັນ'; + + @override + String get drawerTooltipVersion => 'App version:'; + + @override + String get drawerSectionRecentChats => 'ສົນທະນາລ່າສຸດ'; + + @override + String get drawerPlaceholderProfile => 'ບັນທຶກ'; + + @override + String get drawerPlaceholderRecentChat => 'ສົນທະນາລ່າສຸດ'; + + @override + String get drawerSectionDownloadApps => 'ດາວ໌ໂຫລດແອບ'; + + @override + String get chatInputHintEnterMessage => 'ໃສ່ຂໍ້ຄວາມ'; + + @override + String get chatInputTooltipAttachFile => 'ແນບເອກສາ'; + + @override + String get chatInputTooltipDictateMessage => 'ສຽງດິກທີ່ຈະສົ່ງ'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Finish & Transcribe'; + + @override + String get chatInputTooltipSendMessage => 'ສົ່ງຂໍ້ຄວາມ'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'ບໍ່ສາມາດເອົາຂໍໍ່າສຽງ'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'ບໍ່ສາມາດເອົາຂໍໍ່າສົ່ງ. ກະລຸນາລອງໃໝ່.'; + + @override + String get chatListTooltipFetchMessages => 'Fetch messages'; + + @override + String get chatListLabelNoMessagesAvailable => 'ບໍ່ມີຂໍໍ່ສົ່ງ.'; + + @override + String get chatListHasConnection => 'Conectado'; + + @override + String get chatListNoConnection => 'ບໍ່ມີການເຊື່ອມຕໍ່'; + + @override + String get chatActionButtonTooltipSearch => 'ຄົ້ນຫາ'; + + @override + String get chatActionButtonTooltipFavorites => 'ລາຍການທີ່ຮັກ'; + + @override + String get chatActionButtonTooltipDownload => 'ດາວໂລດ'; + + @override + String get chatActionButtonTooltipPrintPdf => 'ປິ່ນ PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'ບ່ອນແບ່ງກັບແຟນ'; + + @override + String get chatActionButtonTooltipNewChat => 'ໃສ່ສົນທະນາໃໝ່'; + + @override + String get chatActionButtonNewChat => 'ສົນທະນາ'; + + @override + String get chatActionButtonTooltipChatList => 'ເລືອກສົນທະນາ'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ສະແດງສະຖານທີ່'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'ບໍ່ມີການສົນທະນາ. ກະລຸນາປ່ອນໃໝ່ຫຼືສ້າງການສົນທະນາໃໝ່.'; + + @override + String get chatButtonRefreshChats => 'ປ່ອນສົກສົດ'; + + @override + String get chatButtonCreateNewChat => 'Создать новый чат'; + + @override + String get chatContextMenuCopyMessage => 'ຄັອບ ຂໍໍ່ອນ'; + + @override + String get chatStatusProcessingMessages => 'Typing Just a moment'; + + @override + String get chatNoConnectionLabel => + 'ກຳລັງອັບເດດ...\nກະລຸນາກວດເບິ່ງການເຊື່ອມຕໍ່ອິນເຕີເນດຂອງທ່ານ'; + + @override + String get chatErrorMessageAlreadyProcessed => 'ຂໍໍ່ສະຖານທີ່ກຳລັງຖືກປະຕິບັດ.'; + + @override + String get chatErrorMessageTooLong => 'ຂໍໍ່ສະຖານທີ່ຍາວເກີນໄປ.'; + + @override + String get chatRemoveAttachmentTooltip => 'ລົບແນບແບບ'; + + @override + String get chatStatusFailedMessage => 'ບໍ່ສາມາດປະຕິບັດຂໍ້ຄວາມ'; + + @override + String get chatActionButtonTooltipExportSummary => 'Export to PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Photos'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Fajlovi'; + + @override + String get chatPickerPhotosFiles => 'ຮູບ໖ອງແລະໄຟລ໌'; + + @override + String get chatRecommendationYIAG => + 'Hope that helped! Was this explanation useful to you?'; + + @override + String get chatRecommendationButtonDonate => 'ແມ່ນ, ທຸກຢ່າງດີ!'; + + @override + String get failedToRetrieveChatSummary => 'ບໍ່ສາມາດເພີ່ມສະຖານທີ່ສົນທະນາ'; + + @override + String get chatSummaryCopiedToClipboard => 'Chat summary copied to clipboard'; + + @override + String get tryDoctorinaInTheMobileApp => 'Try Doctorina in the mobile app!'; + + @override + String get getAppStoreLogoLabel => 'Download on the'; + + @override + String get getGooglePlayLogoLabel => 'ຮັບໃຊ້ໃນ'; + + @override + String get getAppStoreLogoTooltip => 'Download on the App Store'; + + @override + String get getGooglePlayLogoTooltip => 'ຮັບໃນ Google Play'; + + @override + String get reportMessageDialogTitle => 'ລາຍງານຂໍແຈ້ງ'; + + @override + String get reportMessageDialogSubtitle => 'ເທົ່າໃດທ່ານຈະລາຍງານຂໍ້ຄວາມນີ້?'; + + @override + String get reportMessageDialogTextFieldHint => + 'ເລືອກ: ອະທິບາຍວ່າມີອະໄພອະໄພອັນໃດກັບຂໍໍ່ນີ້...'; + + @override + String get reportMessageDialogWhyImportant => + 'ນີ້ຈະຊ່ວຍໃຫ້ເຮົາປັບປຸງການຕອບສະຖານທີ່ AI ຂອງເຮົາ'; + + @override + String get reportMessageDialogCancelButton => 'ຍົກເລີກ'; + + @override + String get reportMessageDialogReportButton => 'ລາຍງານ'; + + @override + String get reportMessageSnackbarSuccess => + 'ຂອບໃຈສໍາລັບຄວາມເພີ່ມເຕີມ! ລາຍງານໄດ້ຖືກສົ່ງແລ້ວ.'; + + @override + String get reportMessageSnackbarFailed => 'ລົ້ມເລີຍໃນການສົ່ງລາຍງານ'; + + @override + String get copyMessageSnackbarSuccess => 'ສຳເລັດໃນການຄັອບແບບ'; + + @override + String get copyMessageSnackbarFailed => + 'ລົ້ມເລີຍໃນການຄັອບຂໍ້ມູນເຊິ່ງສະຖານທີ່'; + + @override + String get chatContextMenuReportMessage => 'ລາຍງານຂໍແຈ້ງ'; + + @override + String get chatDropZoneTitle => 'ອັບໂຫລດເຂົ້າໃນບັນທຶກສົນທະນາກັບຄູ່ສຽງ'; + + @override + String get chatDropZoneSubtitle => 'ດິນແລະດອບໄຟລ໌ທີ່ນີ້ເພື່ອເພີ່ມໃນສົນທະນາ'; + + @override + String get chatDropZoneText => + 'ທ່ານສາมາດເພີ່ມໄຟລໄດ້ສູງສຸດ 15 ໄຟລເຂົ້າໃນສຽງໃດໜຶ່ງ'; + + @override + String get notificationBannerText => + 'ທ່ານຕ້ອງການໃຫ້ຂ້ອຍແຈ້ງເຕືອນທ່ານ ຫາກເກີດເຫດການສຳຄັນໃນສຸຂະພາບຂອງທ່ານ?'; + + @override + String get notificationBannerButtonEnable => 'ແມ່ນ, ບອກຂໍແລ້ວ'; + + @override + String get notificationBannerButtonDisable => 'ອາດຈະພາຍຫຼັງ'; + + @override + String get notificationBannerButtonClose => 'ປິດ'; + + @override + String get notificationAreBlockedSystem => + 'ການແຈ້ງເຕືອນຖືກບລອກທີ່ລະບົບ. ກະລຸນາເປີດໃນການຕັ້ງຄ່າລະບົບກ່ຽວກັບການແຈ້ງເຕືອນຂອງ Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'ການແຈ້ງເຕືອນຖືກບລອກທີ່ລະບົບ. ກະລຸນາເປິດໃນການຕັ້ງຄ່າໃນເວບໄຊກ່ຽວກັບການແຈ້ງເຕືອນຂອງ Doctorina.'; + + @override + String get notificationDialogTitle => 'ອັບເດດກ່ຽວກັບການປຶກສາຂອງທ່ານ'; + + @override + String get notificationDialogDescription => + 'Doctorina ສາມາດແຈ້ງເຕືອນທ່ານເມື່ອມີຂໍໍ່ມູນໃໝ່ ຫຼື ອັບເດດເກີນກ່ຽວກັບສຸຂະພາບຂອງທ່ານ.'; + + @override + String get notificationDialogEnableButton => 'ເປີດການແຈ້ງເຕືອນ'; + + @override + String get notificationDialogLaterButton => 'ອາດຈະພາຍຫຼັງ'; + + @override + String get termsAndConditionBannerText => + 'ການຕໍ່ໄປ, ທ່ານຍອມຮັບການດໍາເນີນການຂໍ້ມູນສ່ວນຕົວ, ການໃຊ້ cookies, ຍອມຮັບ terms and conditions, ແລະຮັບຮູ້

privacy policy

. ນອກຈາກນັ້ນ, ທ່ານຮັບຮູ້ວ່າການປຶກສາຂອງທ່ານເຮັດໂດຍ AI ແລະບໍ່ເປັນນັກພັດທະນາແພດ'; + + @override + String get termsAndConditionBannerDismissTooltip => 'ປິດ'; + + @override + String get anonUserNewChatCreationWarningTitle => 'ບັນທຶກຫນ້າສົນທະນານີ້ກ່ອນ?'; + + @override + String get anonUserNewChatCreationWarningText => + 'ລົງທະບຽນຟຣີເພື່ອບັນທຶກການປຶກສານີ້ກ່ອນເລີ່ມຕົ້ນການປຶກສາໃໝ່'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'ເລີ່ມໂດຍບໍ່ບັນທຶກ'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'ລົງທະບຽນ'; + + @override + String get inputBlockerContinueMessage => + 'ເພື່ອດຳເນີນສົນທະນາ ໃຫ້ເລືອກເລືອກສິ່ງທີ່ຢູ່ເທິງ'; + + @override + String get chatServerDialogCloseBtnTooltip => 'ປິດ'; + + @override + String get chatAttachmentRemoveTooltip => 'ລົບເນື້ອໃນອະທິບາຍ'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'ບໍ່ສາມາດເລືອກໄຟລ໌ຈາກສະຖານທີ່ດອດ'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'ກະລຸນາໃສ່ຂໍ້ຄວາมຫຼືແນບໄຟລ໌'; + + @override + String get chatAttachmentErrorWaitForUploads => 'ກະລຸນາລໍຖ້າການນຳເສີມສົມບູນ'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'ຂໍໍາລຽງຂໍ້ມູນກຳລັງຖືກປ່ອນອອກ'; + + @override + String get chatAttachmentErrorMessageTooLong => 'ຂໍໍ່ອຍແມ່ນຍາວເກີນໄປ'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'ຂໍໍາລະບຽບຂອງຂໍໍາລະບຽບກໍ່ກັບສະຖານທີ່.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'ການເຊື່ອມຕໍ່ຖືກປິດຢ່າງສະຖານທີ່'; + + @override + String get chatAttachmentErrorNoConnection => 'ບໍ່ມີການເຊື່ອມຕໍ່ກັບເຊິ່ອນ'; + + @override + String get chatAttachmentErrorPickFiles => 'ບໍ່ສາมາດເລືອກໄຟລ໌'; + + @override + String get chatAttachmentErrorPickImages => 'ບໍ່ສາມາດເລືອກຮູບພາບ'; + + @override + String get chatAttachmentErrorCapturePhoto => 'ບໍ່ສາມາດບັນທຶກຮູບຈາກກໍ່ມື'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'ທ່ານສາมາດແນບເອກະສານໄດ້ສູງສຸດ $count ລາຍການ.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'ລົບຂໍໍ່ທີ່ຖືກລະບົບ'; + + @override + String get chatInputTooltipMessageTooLong => 'ຂໍໍ່ສະຖານທີ່ຍາວເກີນໄປ.'; + + @override + String get chatInputTooltipWaitForUploads => 'ກະລຸນາລໍຖ້າໃຫ້ການນຳເສີມສົມບູນ.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'ສະຖານທີ່ $kind \"$name\" ແມ່ນແລ້ວຖືກແບບແລ້ວ ແລະບໍ່ໄດ້ເພີ່ມເຂົ້າໄປ.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'ໄຟล์ $kind \"$name\" ແມ່ນສິ່ງທີ່ຊໍາຊ່ອນກັບ $exist ແລະບໍ່ໄດ້ເພີ່ມເຂົ້າ.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'ບັນທຶກ \"$name\" ປະເພດ $kind ບໍ່ໄດ້ເພີ່ມເຂົ້າໄປເພາະຈຳນວນສູງສຸດຂອງບັນທຶກໄດ້ຖືກປ່ອນ.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'ຟາຍ \"$name\" ແມ່ນປ່າ.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'ແຟ້ມປ່າຍ.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Файл \"$name\" превышает максимальный допустимый размер.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'ຟາຍບັນທຶກເກີນຂະບວນການອະນຸຍາດສູງສຸດ.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'ມີບັດສະບັດໃນການປະຕິບັດໃສ່ແຟ້ມ \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'ມີບັດສະບັດໃນການປະຕິເສດໃສ່ໄຟລ໌.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'ຟາຍ \"$name\" ບໍ່ໄດ້ເພີ່ມເຂົ້າໄປເພາະຈຳນວນສູງສຸດຂອງແນບໄດ້ຖືກປ່ອນ.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ຟາຍ(ບໍ່) ບໍ່ໄດ້ເພີ່ມເຂົ້າໄປເພາະຈຳນວນສູງສຸດຂອງໄຟລ໌ປ່ອນບັດຖືກປະກອບ.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'ບັນທຶກບໍ່ໄດ້ເພີ່ມເພາະຈຳນວນສູງສຸດຂອງໄຟລ໌ທີ່ແນບໄວ້ໄດ້ຖືກເກີນ.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'ມີການພະຍາຍາມເພີ່ມເອກະສານທີ່ບໍ່ມີຊື່'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'ມີການພະຍາຍາມເພີ່ມໄຟລ໌ທີ່ມີສິດສະຖານບໍ່ສະດວກ: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'ມີການ versບັດສະຖານທີ່ບໍ່ສາມາດໃສ່ໄຟລເຊີນທີ່ບໍ່ສະຖານທີ່ບໍ່ສາມາດໃສ່'; + + @override + String get chatAttachmentErrorFileNull => 'ບໍ່ສາມາດເພີ່ມໄຟລ໌ໄດ້.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'ຟາຍ \"$name\" ບໍ່ແມ່ນບັນທຶກ ແລະບໍ່ສາມາດເພີ່ມໄດ້.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'ຟາຍເປັນບໍ່ຖືກແລະບໍ່ສາມາດເພີ່ມໄດ້.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'ລາຍການ \"$name\" ບໍ່ແມ່ນໄຟລ໌ທີ່ຖືກຕ້ອງ.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'ລາຍການບໍ່ແມ່ນໄຟລ໌ທີ່ຖືກຕ້ອງ'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'ມີຄວາມຜິດພາດໃນການປະຕິເສດລາຍການ.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'ມີບັດສະກິດໃນການປະຕິບັດລາຍການ.'; + + @override + String get chatAttachmentErrorNoFiles => 'ບໍ່ມີໄຟລ໌ໃດເທົ່ານັ້ນ'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'ໄຟລ໌ບາງໄຟລ໌ຖືກຂ້າມໄປເນື່ອງຈາກຊໍ້າກັນກັບໄຟລ໌ທີ່ມີຢູ່ແລ້ວ.'; + + @override + String get chatAttachmentErrorUnknown => 'ມີບັດທິດທີ່ບໍ່ຮູ້'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'ມີບັດສະກິດຕ່າງໆໃນການເພີ່ມໄຟລ໌:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'ບໍ່ສາມາດແບ່ງປັນໄຟລ໌: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'ປິດ'; + + @override + String get chatAttachmentPreviewTooltipShare => 'ແບ່ງປັນ'; + + @override + String get chatAttachmentPreviewLoading => 'ກຳລັງໂອນໄຟລ໌...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'ບໍ່ສາມາດໂອນໄຟລ໌'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'ເກິດບັດທິດທີ່ບໍ່ຮູ້'; + + @override + String get chatAttachmentPreviewButtonRetry => 'ລອງໃໝ່'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'ປະເພດໄຟລ໌ທີ່ບໍ່ເຮັດວຽກ'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'ບໍ່ສາມາດເບິ່ງ $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'ແບ່ງປັນໄຟລ໌'; + + @override + String get chatAttachmentPreviewErrorImage => 'ບໍ່ສາມາດເປີດຮູບພາບ'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'ກັບໄປສູ່ຄວາມເພີ່ມຂະບວນ'; + + @override + String get chatAttachmentPreviewErrorPdf => 'ບໍ່ສາມາດເຂົ້າໃຈ PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'ບໍ່ສາມາດເປັນສິ່ງທີ່ສະຖິດໃນຂໍ້ມູນຂອງຂໍ້ມູນ'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'ແລະ $count ຄວາມຜິດພາດອື່ນ.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'ຟາຍແມ່ນບໍ່ຖືກຕ້ອງ'; + + @override + String get chatConsentRequiredTitle => 'ຕ໭ອບຮັບສະຖານທີ່ຕ້ອງການ'; + + @override + String get chatConsentRequiredText => + 'By continuing, you agree to our Terms, Privacy Policy, and use of cookies, and confirm that this consultation is provided by AI, not a licensed medical professional.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Close'; + + @override + String get chatHistoryDelete => 'ລົບ'; + + @override + String get chatDelete => 'ລົບສົນທະນາ'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat “$title” ຖືກລົບແລ້ວ.'; + } + + @override + String get chatDeleteConfirmationTitle => 'ລົບບົດສົນທະນາບໍ?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'ອາການ, ສະຖານທີ່ປ່ອນລະບົບ, ແລະຄໍາແນະນຳໃນສົກສົດນີ້ຈະຖອນອອກ.\nການດຳເນີນການນີ້ບໍ່ສາມາດກັບຄືນ.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'ເພີ່ມເຂດ'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'ລົດຂະບວນ'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => + 'ກັບໄປສູ່ຂະບວນການບັນທຶກສະຖານທີ່'; + + @override + String get chatAttachmentPreviewShareTooltip => 'ແບ່ງປັນ'; + + @override + String get dateToday => 'ມື້ນີ້'; + + @override + String get dateYesterday => 'ວັນທີ່ຜ່ານມາ'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'ສໍາລັບສໍາລັບສ່ວນທີ່ສອງ. ໃຊ້ແບ່ງປັນເພື່ອດາວໂຫລດໄຟລເຕັມ.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_ml.dart b/example/lib/src/generated/chat/chat_localization_ml.dart new file mode 100644 index 0000000..98fba29 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_ml.dart @@ -0,0 +1,650 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malayalam (`ml`). +class ChatLocalizationMl extends ChatLocalization { + ChatLocalizationMl([String locale = 'ml']) : super(locale); + + @override + String get drawerTooltipNotifications => 'അറിയിപ്പുകൾ'; + + @override + String get drawerTooltipHelp => 'സഹായം'; + + @override + String get drawerTooltipClose => 'അടയ്ക്കുക'; + + @override + String get drawerSectionTitleAccount => 'Account'; + + @override + String get drawerSectionProfile => 'Profile'; + + @override + String get drawerSectionAccountSettings => 'അക്കൗണ്ട് ക്രമീകരണങ്ങൾ'; + + @override + String get drawerSectionDonateToSupport => 'സഹായിക്കാൻ സംഭാവന ചെയ്യുക'; + + @override + String get drawerSectionSubscription => 'Subscription'; + + @override + String get drawerSectionTitleChats => 'ചാറ്റുകൾ'; + + @override + String get drawerSectionChatHistory => 'ചാറ്റ് ചരിത്രം'; + + @override + String get drawerSectionAttachedDocuments => 'ചേർത്ത രേഖകൾ'; + + @override + String get drawerSectionTitleHowToUse => 'എങ്ങനെ ഉപയോഗിക്കാം'; + + @override + String get drawerSectionVideoTutorials => 'വീഡിയോ ട്യൂട്ടോറിയലുകൾ'; + + @override + String get drawerSectionTitleLegal => 'Legal'; + + @override + String get drawerSectionContactUs => 'ഞങ്ങളെ ബന്ധപ്പെടുക'; + + @override + String get drawerSectionBugReport => 'ബഗ് റിപ്പോർട്ട്'; + + @override + String get drawerSectionTermsAndConditions => 'നിബന്ധനകളും വ്യവസ്ഥകളും'; + + @override + String get drawerSectionPrivacyPolicy => 'ഗോപ്പനീയത നയം'; + + @override + String get drawerSectionTitleFeedback => 'അഭിപ്രായം'; + + @override + String get drawerSectionRateApp => 'ആപ്പ് റേറ്റ് ചെയ്യുക'; + + @override + String get drawerSectionShareWithFriends => 'സുഹൃത്തുക്കളുമായി പങ്കിടുക'; + + @override + String get drawerButtonLogOut => 'ലോഗ് ഔട്ട്'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'മറ്റുള്ളവരെ മെഡിക്കൽ പരിചരണം ലഭിക്കാൻ സഹായിക്കുക'; + + @override + String get drawerPlaceholderUser => 'User'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'പ്രീമിയം ഫീച്ചറുകൾ
ഡോക്ടറിനയുമായി'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'എടുക്കുക'; + + @override + String get drawerLabelJoinUs => 'ഞങ്ങളോടൊപ്പം ചേരൂ'; + + @override + String get drawerTooltipVersion => 'ആപ്പ് പതിപ്പ്:'; + + @override + String get drawerSectionRecentChats => 'സമീപകാല ചാറ്റുകൾ'; + + @override + String get drawerPlaceholderProfile => 'Profile'; + + @override + String get drawerPlaceholderRecentChat => 'സമീപകാല ചാറ്റ്'; + + @override + String get drawerSectionDownloadApps => 'ആപ്പുകൾ ഡൗൺലോഡ് ചെയ്യുക'; + + @override + String get chatInputHintEnterMessage => 'സന്ദേശം നൽകുക'; + + @override + String get chatInputTooltipAttachFile => 'ഫയൽ ചേർക്കുക'; + + @override + String get chatInputTooltipDictateMessage => 'ഉച്ചരിക്കുക'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'അവസാനിപ്പിക്കുക & എഴുത്താക്കുക'; + + @override + String get chatInputTooltipSendMessage => 'സന്ദേശം അയക്കുക'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'സന്ദേശങ്ങൾ നേടാൻ പരാജയപ്പെട്ടു'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'സന്ദേശങ്ങൾ നേടാൻ പരാജയപ്പെട്ടു. ദയവായി വീണ്ടും ശ്രമിക്കുക.'; + + @override + String get chatListTooltipFetchMessages => 'സന്ദേശങ്ങൾ എടുക്കുക'; + + @override + String get chatListLabelNoMessagesAvailable => + 'സന്ദേശങ്ങൾ ലഭ്യമല്ല. സംഭാഷണം ആരംഭിക്കാൻ ദയവായി ഒരു സന്ദേശം അയക്കുക.'; + + @override + String get chatListHasConnection => 'കണക്റ്റ് ചെയ്തിരിക്കുന്നു'; + + @override + String get chatListNoConnection => 'കണക്ഷൻ ഇല്ല'; + + @override + String get chatActionButtonTooltipSearch => 'തിരയുക'; + + @override + String get chatActionButtonTooltipFavorites => 'പ്രിയപ്പെട്ടവ'; + + @override + String get chatActionButtonTooltipDownload => 'ഡൗൺലോഡ്'; + + @override + String get chatActionButtonTooltipPrintPdf => 'പി.ഡി.എഫ്. പ്രിന്റ് ചെയ്യുക'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'സുഹൃത്തുക്കളുമായി പങ്കിടുക'; + + @override + String get chatActionButtonTooltipNewChat => 'പുതിയ ചാറ്റ്'; + + @override + String get chatActionButtonNewChat => 'ചാറ്റ്'; + + @override + String get chatActionButtonTooltipChatList => 'ചാറ്റ് തിരഞ്ഞെടുക്കുക'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ഡ്രോയർ കാണിക്കുക'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'ചാറ്റുകൾ ലഭ്യമല്ല. ദയവായി പുതുക്കുക അല്ലെങ്കിൽ പുതിയ ചാറ്റ് സൃഷ്ടിക്കുക.'; + + @override + String get chatButtonRefreshChats => 'ചാറ്റുകൾ പുതുക്കുക'; + + @override + String get chatButtonCreateNewChat => 'പുതിയ ചാറ്റ് സൃഷ്ടിക്കുക'; + + @override + String get chatContextMenuCopyMessage => 'വാചകം പകർന്നു'; + + @override + String get chatStatusProcessingMessages => 'എഴുതുന്നു'; + + @override + String get chatNoConnectionLabel => + 'അപ്ഡേറ്റുചെയ്യുന്നു...\nനിങ്ങളുടെ ഇന്റർനെറ്റ് കണക്ഷൻ പരിശോധിക്കുക'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'സന്ദേശം ഇപ്പോൾ പ്രോസസ്സ് ചെയ്യപ്പെടുന്നു.'; + + @override + String get chatErrorMessageTooLong => 'സന്ദേശം വളരെ നീണ്ടതാണ്.'; + + @override + String get chatRemoveAttachmentTooltip => 'അറ്റാച്ച്മെന്റ് നീക്കം ചെയ്യുക'; + + @override + String get chatStatusFailedMessage => 'സന്ദേശം പ്രോസസ് ചെയ്യാൻ പരാജയപ്പെട്ടു'; + + @override + String get chatActionButtonTooltipExportSummary => + 'PDF-ലേക്ക് എക്സ്പോർട്ട് ചെയ്യുക'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'ഫോട്ടോകൾ'; + + @override + String get chatPickerCamera => 'കാമറ'; + + @override + String get chatPickerFiles => 'ഫയലുകൾ'; + + @override + String get chatPickerPhotosFiles => 'ഫോട്ടോകളും ഫയലുകളും'; + + @override + String get chatRecommendationYIAG => + 'ഇത് സഹായിച്ചുവെന്ന് പ്രതീക്ഷിക്കുന്നു! ഈ വിശദീകരണം നിങ്ങള്ക്ക് ഉപകാരപ്രദമായതാണോ?'; + + @override + String get chatRecommendationButtonDonate => 'അതെ, എല്ലാം നല്ലതാണ്!'; + + @override + String get failedToRetrieveChatSummary => + 'ചാറ്റ് സംഗ്രഹം ലഭ്യമാക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String get chatSummaryCopiedToClipboard => + 'ചാറ്റ് സംഗ്രഹം ക്ലിപ്പ്ബോർഡിലേക്ക് കോപ്പി ചെയ്തു'; + + @override + String get tryDoctorinaInTheMobileApp => + 'മൊബൈൽ ആപ്പിൽ ഡോക്ടറിനയെ പരീക്ഷിക്കുക!'; + + @override + String get getAppStoreLogoLabel => 'ഡൗൺലോഡ് ചെയ്യുക'; + + @override + String get getGooglePlayLogoLabel => 'എടുക്കുക'; + + @override + String get getAppStoreLogoTooltip => 'ആപ്പ് സ്റ്റോറിൽ ഡൗൺലോഡ് ചെയ്യുക'; + + @override + String get getGooglePlayLogoTooltip => 'ഗൂഗിൾ പ്ലെയിൽ ഇത് നേടുക'; + + @override + String get reportMessageDialogTitle => 'സൂചന റിപ്പോർട്ട് ചെയ്യുക'; + + @override + String get reportMessageDialogSubtitle => + 'നിങ്ങൾ ഈ സന്ദേശം റിപ്പോർട്ട് ചെയ്യുന്നത് എന്തുകൊണ്ടാണ്?'; + + @override + String get reportMessageDialogTextFieldHint => + 'ഐച്ഛികം: ഈ സന്ദേശത്തിൽ എന്താണ് തെറ്റെന്ന് വിവരിക്കുക...'; + + @override + String get reportMessageDialogWhyImportant => + 'ഇത് ഞങ്ങളുടെ AI പ്രതികരണങ്ങൾ മെച്ചപ്പെടുത്താൻ സഹായിക്കും'; + + @override + String get reportMessageDialogCancelButton => 'റദ്ദാക്കുക'; + + @override + String get reportMessageDialogReportButton => 'റിപ്പോർട്ട്'; + + @override + String get reportMessageSnackbarSuccess => + 'നിങ്ങളുടെ പ്രതികരണത്തിന് നന്ദി! റിപ്പോർട്ട് സമർപ്പിച്ചു.'; + + @override + String get reportMessageSnackbarFailed => + 'റിപ്പോർട്ട് സമർപ്പിക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String get copyMessageSnackbarSuccess => 'ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തി'; + + @override + String get copyMessageSnackbarFailed => + 'സ്നാക്ക്ബാർ സന്ദേശം പകർപ്പിക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String get chatContextMenuReportMessage => 'സൂചന റിപ്പോർട്ട് ചെയ്യുക'; + + @override + String get chatDropZoneTitle => 'ഡോക്ടറിന ചാറ്റിലേക്ക് അപ്‌ലോഡ് ചെയ്യുക'; + + @override + String get chatDropZoneSubtitle => + 'ചാറ്റിലേക്ക് ചേർക്കാൻ ഇവിടെ ഫയലുകൾ വലിച്ചുവിടുക'; + + @override + String get chatDropZoneText => + 'നിങ്ങൾ ഒരു സന്ദേശത്തിൽ 15 ഫയലുകൾ വരെ ചേർക്കാൻ കഴിയും'; + + @override + String get notificationBannerText => + 'നിങ്ങളുടെ ആരോഗ്യത്തെക്കുറിച്ച് എന്തെങ്കിലും പ്രധാനമായുണ്ടായാൽ ഞാൻ നിങ്ങളെ അറിയിക്കണമോ?'; + + @override + String get notificationBannerButtonEnable => 'അതെ, എനിക്ക് അറിയിക്കൂ'; + + @override + String get notificationBannerButtonDisable => 'ശायद പിന്നീട്'; + + @override + String get notificationBannerButtonClose => 'അടയ്ക്കുക'; + + @override + String get notificationAreBlockedSystem => + 'സിസ്റ്റം തലത്തിൽ അറിയിപ്പുകൾ തടഞ്ഞിരിക്കുന്നു. ഡോക്ടറിനയുടെ അറിയിപ്പുകൾ സജീവമാക്കുന്നതിന് മുമ്പ് അവയെ സിസ്റ്റം ക്രമീകരണങ്ങളിൽ സജീവമാക്കുക.'; + + @override + String get notificationAreBlockedBrowser => + 'സിസ്റ്റം തലത്തിൽ അറിയിപ്പുകൾ തടഞ്ഞിരിക്കുന്നു. ഡോക്ടറിനയുടെ അറിയിപ്പുകൾ സജീവമാക്കുന്നതിന് മുമ്പ് ബ്രൗസർ ക്രമീകരണങ്ങളിൽ അവയെ സജീവമാക്കുക.'; + + @override + String get notificationDialogTitle => + 'നിങ്ങളുടെ ഉപദേശത്തെക്കുറിച്ച് അപ്ഡേറ്റായിരിക്കുക'; + + @override + String get notificationDialogDescription => + 'ഡോക്ടറിന നിങ്ങൾക്ക് നിങ്ങളുടെ ആരോഗ്യത്തെക്കുറിച്ചുള്ള പുതിയ അറിവുകൾ അല്ലെങ്കിൽ അപ്ഡേറ്റുകൾ ലഭ്യമായപ്പോൾ അറിയിക്കാം.'; + + @override + String get notificationDialogEnableButton => 'അറിയിപ്പുകൾ സജീവമാക്കുക'; + + @override + String get notificationDialogLaterButton => 'ശायद പിന്നീട്'; + + @override + String get termsAndConditionBannerText => + 'തുടരുന്നതിലൂടെ, വ്യക്തിഗത വിവരങ്ങളുടെ പ്രോസസ്സിംഗിന്, cookies ഉപയോഗം, terms and conditions അംഗീകരിക്കാനും

privacy policy

അംഗീകരിക്കാനും നിങ്ങൾ സമ്മതിക്കുന്നു. കൂടാതെ, നിങ്ങളുടെ കൗൺസിലിംഗ് ഒരു AI ആണ്, ലൈസൻസ് നേടിയ മെഡിക്കൽ പ്രൊഫഷണലുമായല്ലെന്ന് നിങ്ങൾ അംഗീകരിക്കുന്നു'; + + @override + String get termsAndConditionBannerDismissTooltip => 'മുടക്കുക'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'ആദ്യമായി ഈ ചാറ്റ് സേവ് ചെയ്യണോ?'; + + @override + String get anonUserNewChatCreationWarningText => + 'ഒരു പുതിയ കൗൺസിലിംഗ് തുടങ്ങുന്നതിന് മുമ്പ് ഈ കൗൺസിലിംഗ് സംരക്ഷിക്കാൻ സൗജന്യമായി സൈൻ അപ് ചെയ്യൂ'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'സേവ് ചെയ്യാതെ തുടങ്ങുക'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'സൈന് അപ്പ് ചെയ്യുക'; + + @override + String get inputBlockerContinueMessage => + 'സംവാദം തുടരാൻ, മുകളിൽ ഒരു ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക'; + + @override + String get chatServerDialogCloseBtnTooltip => 'മൂടുക'; + + @override + String get chatAttachmentRemoveTooltip => 'അറ്റാച്ച്മെന്റ് നീക്കം ചെയ്യുക'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'ഡ്രോപ്പ് സോൺ നിന്ന് ഫയലുകൾ തിരഞ്ഞെടുക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'ദയവായി ഒരു സന്ദേശം നൽകുക അല്ലെങ്കിൽ ഒരു ഫയൽ അറ്റാച്ച് ചെയ്യുക'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'അപ്ലോഡുകൾ പൂർത്തിയാകാൻ കാത്തിരിക്കുക'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'സന്ദേശം പ്രോസസ്സ് ചെയ്യുന്നു'; + + @override + String get chatAttachmentErrorMessageTooLong => 'സന്ദേശം വളരെ നീണ്ടതാണ്'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'സന്ദേശം ഇപ്പോൾ പ്രോസസ്സ് ചെയ്യപ്പെടുന്നു.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'കണക്ഷൻ സ്ഥിരമായി അടച്ചിരിക്കുന്നു'; + + @override + String get chatAttachmentErrorNoConnection => 'സർവറിലേക്ക് കണക്ഷൻ ഇല്ല'; + + @override + String get chatAttachmentErrorPickFiles => + 'ഫയലുകൾ തിരഞ്ഞെടുക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String get chatAttachmentErrorPickImages => + 'ചിത്രങ്ങൾ തിരഞ്ഞെടുക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'കാമറയിൽ നിന്ന് ഫോട്ടോ പിടിക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'നിങ്ങൾ ഒരേസമയം $count ഫയലുകൾ അറ്റാച്ച് ചെയ്യാൻ കഴിയും.'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'അറിയപ്പെട്ട എഴുത്ത് നീക്കം ചെയ്യുക'; + + @override + String get chatInputTooltipMessageTooLong => 'സന്ദേശം വളരെ നീണ്ടതാണ്.'; + + @override + String get chatInputTooltipWaitForUploads => + 'അപ്ലോഡുകൾ പൂർത്തിയാകാൻ കാത്തിരിക്കുക.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '$kind \"$name\" ഇതിനകം ബന്ധിപ്പിച്ചിരിക്കുന്നു, വീണ്ടും ചേർക്കപ്പെട്ടില്ല.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return '$kind \"$name\" $exist ന്റെ പുനരാവൃത്തി ആണ്, കൂടാതെ ചേർക്കപ്പെട്ടില്ല.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'ആവശ്യമായ $kind \"$name\" ചേർക്കാൻ കഴിയുന്ന പരമാവധി അറ്റാച്ച്മെന്റുകൾ കടന്നുപോയതിനാൽ ചേർക്കാൻ കഴിയുന്നില്ല.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '\"$name\" എന്ന ഫയൽ ശൂന്യമാണ്.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'ഫയൽ ശൂന്യമാണ്.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return '\"$name\" ഫയൽ അനുവദനീയമായ പരമാവധി വലുപ്പം കടന്നു.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'ഫയൽ പരമാവധി അനുവദനീയമായ വലുപ്പം കടന്നുപോയി.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '\"$name\" ഫയൽ പ്രോസസ്സ് ചെയ്യുമ്പോൾ ഒരു പിശക് സംഭവിച്ചു.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'ഫയൽ പ്രോസസ്സ് ചെയ്യുമ്പോൾ ഒരു പിശക് സംഭവിച്ചു.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'ഫയൽ \"$name\" ചേർക്കാൻ കഴിയുന്നില്ല, കാരണം പരമാവധി അറ്റാച്ച്മെന്റുകളുടെ എണ്ണം കടന്നു പോയി.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ഒരു ഫയൽ(കൾ) ചേർക്കാൻ കഴിയുന്നില്ല, കാരണം പരമാവധി അറ്റാച്ച്മെന്റുകളുടെ എണ്ണം കടന്നു പോയി.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'ഒരു ഫയൽ ചേർക്കാൻ കഴിയുന്നില്ല, കാരണം അറ്റാച്ച്മെന്റുകളുടെ പരമാവധി എണ്ണം കടന്നു പോയി.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'ഒരു പേരില്ലാത്ത ഫയൽ ചേർക്കാൻ ശ്രമിച്ചു.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'ഒരു പിന്തുണയില്ലാത്ത വിപുലീകരണമുള്ള ഫയൽ ചേർക്കാൻ ശ്രമിച്ചു: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'ഒരു പിന്തുണയില്ലാത്ത വിപുലീകരണമുള്ള ഫയൽ ചേർക്കാൻ ശ്രമിച്ചു.'; + + @override + String get chatAttachmentErrorFileNull => 'ഫയൽ ചേർക്കാൻ സാധ്യമല്ല.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return '\"$name\" എന്ന ഫയൽ അസാധുവാണ്, ഇത് ചേർക്കാൻ കഴിയില്ല.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'ഒരു ഫയൽ അസാധുവാണ്, അത് ചേർക്കാൻ കഴിയില്ല.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'ആയിട്ടുള്ളത് \"$name\" ഒരു സാധുവായ ഫയൽ അല്ല.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'ഒരു ഇനം സാധുവായ ഫയൽ അല്ല.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'ഒരു ഐറ്റം പ്രോസസ്സ് ചെയ്യുമ്പോൾ ഒരു പിശക് സംഭവിച്ചു.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'ഒരു ഐറ്റം(കൾ) പ്രോസസ്സ് ചെയ്യുമ്പോൾ പിശക് സംഭവിച്ചു.'; + + @override + String get chatAttachmentErrorNoFiles => 'ഫയലുകൾ ചേർക്കപ്പെട്ടില്ല.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'ചില ഫയലുകൾ നിലവിലുള്ള ഫയലുകളുമായി ഡ്യൂപ്ലിക്കേറ്റുകൾ ആയതിനാൽ ഒഴിവാക്കപ്പെട്ടു.'; + + @override + String get chatAttachmentErrorUnknown => 'ഒരു അറിയപ്പെടാത്ത പിശക് സംഭവിച്ചു.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'ഫയലുകൾ അറ്റാച്ച് ചെയ്യുമ്പോൾ താഴെപ്പറയുന്ന പിശകുകൾ സംഭവിച്ചു:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'ഫയൽ പങ്കിടാൻ പരാജയപ്പെട്ടു: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'അടയ്ക്കുക'; + + @override + String get chatAttachmentPreviewTooltipShare => 'പങ്കിടുക'; + + @override + String get chatAttachmentPreviewLoading => 'ഫയൽ ലോഡ് ചെയ്യുന്നു...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'ഫയൽ ലോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'അജ്ഞാത പിശക് സംഭവിച്ചു'; + + @override + String get chatAttachmentPreviewButtonRetry => 'മറുപടി നൽകുക'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'അംഗീകരിക്കാത്ത ഫയൽ തരം'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Cannot preview $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'ഫയൽ പങ്കിടുക'; + + @override + String get chatAttachmentPreviewErrorImage => + 'ചിത്രം പ്രദർശിപ്പിക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'ਜ਼ੂਮ പുനഃസജ്ജമാക്കുക'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF ലോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'ടെക്സ്റ്റ് ഉള്ളടക്കം ഡികോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'മറ്റു $count പിശകുകൾ.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'ഫയൽ തെറ്റായതാണ്'; + + @override + String get chatConsentRequiredTitle => 'അനുമതി ആവശ്യമാണ്'; + + @override + String get chatConsentRequiredText => + 'തുടരുന്നതിലൂടെ, നിങ്ങൾ ഞങ്ങളുടെ നിബന്ധനകൾ, ഗോപ്പ്യനയം, കൂടാതെ കുക്കികൾ ഉപയോഗം അംഗീകരിക്കുന്നു, കൂടാതെ ഈ ഉപദേശം എഐയാൽ നൽകപ്പെടുന്നതായി സ്ഥിരീകരിക്കുന്നു, ലൈസൻസുള്ള മെഡിക്കൽ പ്രൊഫഷണലല്ല.'; + + @override + String get chatConsentRequiredCloseTooltip => 'അടയ്ക്കുക'; + + @override + String get chatHistoryDelete => 'മാറ്റി'; + + @override + String get chatDelete => 'ചാറ്റ് ഇല്ലാതാക്കുക'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'ചാറ്റ് “$title” വിജയകരമായി നീക്കം ചെയ്തു.'; + } + + @override + String get chatDeleteConfirmationTitle => 'ചാറ്റ് ഇല്ലാതാക്കുമോ?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'നിങ്ങളുടെ ലക്ഷണങ്ങൾ, നിദാനത്തിന്റെ സംഗ്രഹം, ഈ ചാറ്റിൽ ഉള്ള ഏതെങ്കിലും ശുപാർശകൾ നീക്കം ചെയ്യപ്പെടും.\nഈ നടപടി തിരികെ എടുക്കാൻ കഴിയില്ല.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'സൂം ഇൻ'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'സൂം ഔട്ട്'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'ਜ਼ੂਮ പുനഃസജ്ജമാക്കുക'; + + @override + String get chatAttachmentPreviewShareTooltip => 'പങ്കിടുക'; + + @override + String get dateToday => 'ഇന്ന്'; + + @override + String get dateYesterday => 'ഇന്നലെ'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'മുതൽ പേജ് മാത്രം. മുഴുവൻ ഫയൽ ഡൗൺലോഡ് ചെയ്യാൻ പങ്കിടുക.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_mr.dart b/example/lib/src/generated/chat/chat_localization_mr.dart new file mode 100644 index 0000000..f1c3a32 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_mr.dart @@ -0,0 +1,638 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Marathi (`mr`). +class ChatLocalizationMr extends ChatLocalization { + ChatLocalizationMr([String locale = 'mr']) : super(locale); + + @override + String get drawerTooltipNotifications => 'सूचना'; + + @override + String get drawerTooltipHelp => 'मदत'; + + @override + String get drawerTooltipClose => 'बंद करा'; + + @override + String get drawerSectionTitleAccount => 'खाते'; + + @override + String get drawerSectionProfile => 'प्रोफाइल'; + + @override + String get drawerSectionAccountSettings => 'खाते सेटिंग्ज'; + + @override + String get drawerSectionDonateToSupport => 'समर्थनासाठी देणगी द्या'; + + @override + String get drawerSectionSubscription => 'सदस्यता'; + + @override + String get drawerSectionTitleChats => 'चॅट्स'; + + @override + String get drawerSectionChatHistory => 'चॅट इतिहास'; + + @override + String get drawerSectionAttachedDocuments => 'संलग्न दस्तऐवज'; + + @override + String get drawerSectionTitleHowToUse => 'कसे वापरावे'; + + @override + String get drawerSectionVideoTutorials => 'व्हिडिओ ट्यूटोरियल्स'; + + @override + String get drawerSectionTitleLegal => 'कायदेशीर'; + + @override + String get drawerSectionContactUs => 'आमच्याशी संपर्क करा'; + + @override + String get drawerSectionBugReport => 'बग अहवाल'; + + @override + String get drawerSectionTermsAndConditions => 'अटी आणि शर्ती'; + + @override + String get drawerSectionPrivacyPolicy => 'गोपनीयता धोरण'; + + @override + String get drawerSectionTitleFeedback => 'अभिप्राय'; + + @override + String get drawerSectionRateApp => 'अॅप रेट करा'; + + @override + String get drawerSectionShareWithFriends => 'मित्रांसोबत शेअर करा'; + + @override + String get drawerButtonLogOut => 'लॉग आउट'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'इतरांना वैद्यकीय सेवा मिळविण्यास मदत करा'; + + @override + String get drawerPlaceholderUser => 'वापरकर्ता'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'प्रिमियम वैशिष्ट्ये\nडॉक्टोरिना सोबत'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'प्राप्त करा'; + + @override + String get drawerLabelJoinUs => 'सामील व्हा'; + + @override + String get drawerTooltipVersion => 'अ‍ॅप आवृत्ती:'; + + @override + String get drawerSectionRecentChats => 'अलीकडील चॅट्स'; + + @override + String get drawerPlaceholderProfile => 'प्रोफाइल'; + + @override + String get drawerPlaceholderRecentChat => 'अलीकडील चॅट'; + + @override + String get drawerSectionDownloadApps => 'अॅप्स डाउनलोड करा'; + + @override + String get chatInputHintEnterMessage => 'संदेश प्रविष्ट करा'; + + @override + String get chatInputTooltipAttachFile => 'फाइल जोडा'; + + @override + String get chatInputTooltipDictateMessage => 'डिक्टेट करा'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'समाप्त करा & लिप्यंतरित करा'; + + @override + String get chatInputTooltipSendMessage => 'संदेश पाठवा'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'संदेश प्राप्त करण्यात अयशस्वी'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'संदेश प्राप्त करण्यात अयशस्वी. कृपया पुन्हा प्रयत्न करा.'; + + @override + String get chatListTooltipFetchMessages => 'संदेश मिळवा'; + + @override + String get chatListLabelNoMessagesAvailable => + 'कोणतेही संदेश उपलब्ध नाहीत. संभाषण सुरू करण्यासाठी कृपया एक संदेश पाठवा.'; + + @override + String get chatListHasConnection => 'जोडलेले'; + + @override + String get chatListNoConnection => 'कनेक्शन नाही'; + + @override + String get chatActionButtonTooltipSearch => 'शोधा'; + + @override + String get chatActionButtonTooltipFavorites => 'आवडते'; + + @override + String get chatActionButtonTooltipDownload => 'डाउनलोड'; + + @override + String get chatActionButtonTooltipPrintPdf => 'पीडीएफ मुद्रित करा'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'मित्रांसह शेअर करा'; + + @override + String get chatActionButtonTooltipNewChat => 'नवीन चॅट'; + + @override + String get chatActionButtonNewChat => 'चॅट'; + + @override + String get chatActionButtonTooltipChatList => 'चॅट निवडा'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ड्रॉवर दाखवा'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'चॅट उपलब्ध नाहीत. कृपया रिफ्रेश करा किंवा नवीन चॅट सुरू करा.'; + + @override + String get chatButtonRefreshChats => 'चॅट रीफ्रेश करा'; + + @override + String get chatButtonCreateNewChat => 'नवीन चॅट तयार करा'; + + @override + String get chatContextMenuCopyMessage => 'मजकूर कॉपी करा'; + + @override + String get chatStatusProcessingMessages => 'टाइप होत आहे\nफक्त थोडा वेळ'; + + @override + String get chatNoConnectionLabel => + 'अपडेट करत आहे...\nकृपया तुमचा इंटरनेट कनेक्शन तपासा'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'संदेश सध्या प्रक्रिया केली जात आहे.'; + + @override + String get chatErrorMessageTooLong => 'संदेश खूप लांब आहे.'; + + @override + String get chatRemoveAttachmentTooltip => 'संलग्नक काढा'; + + @override + String get chatStatusFailedMessage => 'संदेश प्रक्रिया करण्यात अयशस्वी'; + + @override + String get chatActionButtonTooltipExportSummary => 'पीडीएफमध्ये निर्यात करा'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'फोटो'; + + @override + String get chatPickerCamera => 'कॅमेरा'; + + @override + String get chatPickerFiles => 'फाइल्स'; + + @override + String get chatPickerPhotosFiles => 'फोटो आणि फायली'; + + @override + String get chatRecommendationYIAG => + 'आशा आहे की यामुळे मदत झाली! हे स्पष्टीकरण तुम्हाला उपयुक्त ठरले का?'; + + @override + String get chatRecommendationButtonDonate => 'हो, सर्व काही ठीक आहे!'; + + @override + String get failedToRetrieveChatSummary => 'चॅट सारांश मिळवण्यात अयशस्वी'; + + @override + String get chatSummaryCopiedToClipboard => + 'चॅट सारांश क्लिपबोर्डवर कॉपी केला आहे'; + + @override + String get tryDoctorinaInTheMobileApp => + 'मोबाइल अ‍ॅपमध्ये Doctorina वापरून पाहा!'; + + @override + String get getAppStoreLogoLabel => 'वर डाउनलोड करा'; + + @override + String get getGooglePlayLogoLabel => 'हे मिळवा'; + + @override + String get getAppStoreLogoTooltip => 'App Store वरून डाउनलोड करा'; + + @override + String get getGooglePlayLogoTooltip => 'Google Play वरून मिळवा'; + + @override + String get reportMessageDialogTitle => 'संदेशाची तक्रार करा'; + + @override + String get reportMessageDialogSubtitle => + 'तुम्ही हा संदेश का रिपोर्ट करत आहात?'; + + @override + String get reportMessageDialogTextFieldHint => + 'ऐच्छिक: या संदेशामध्ये काय चुकीचे आहे ते वर्णन करा...'; + + @override + String get reportMessageDialogWhyImportant => + 'हे आमच्या AI प्रतिसादांना सुधारण्यात मदत करेल.'; + + @override + String get reportMessageDialogCancelButton => 'रद्द करा'; + + @override + String get reportMessageDialogReportButton => 'अहवाल'; + + @override + String get reportMessageSnackbarSuccess => + 'आपल्या अभिप्रायाबद्दल धन्यवाद! रिपोर्ट सादर केला गेला आहे.'; + + @override + String get reportMessageSnackbarFailed => 'अहवाल सादर करण्यात अयशस्वी'; + + @override + String get copyMessageSnackbarSuccess => 'क्लिपबोर्डवर कॉपी केले'; + + @override + String get copyMessageSnackbarFailed => 'संदेश कॉपी करण्यात अयशस्वी'; + + @override + String get chatContextMenuReportMessage => 'संदेशाची तक्रार करा'; + + @override + String get chatDropZoneTitle => 'डॉक्टरिना चॅटमध्ये अपलोड करा'; + + @override + String get chatDropZoneSubtitle => + 'चॅटमध्ये जोडण्यासाठी येथे फायली ड्रॅग आणि ड्रॉप करा'; + + @override + String get chatDropZoneText => 'तुम्ही एका संदेशात 15 फाइलपर्यंत जोडू शकता'; + + @override + String get notificationBannerText => + 'तुम्हाला तुमच्या आरोग्याबद्दल काही महत्त्वाचे घडले तर तुम्हाला सूचित करावे का?'; + + @override + String get notificationBannerButtonEnable => 'होय, मला सूचित करा'; + + @override + String get notificationBannerButtonDisable => 'कदाचित नंतर'; + + @override + String get notificationBannerButtonClose => 'बंद करा'; + + @override + String get notificationAreBlockedSystem => + 'सूचना प्रणाली स्तरावर अवरोधित आहेत. Doctorina च्या सूचनांना सक्रिय करण्यापूर्वी प्रणाली सेटिंग्जमध्ये त्यांना सक्षम करा.'; + + @override + String get notificationAreBlockedBrowser => + 'सूचना प्रणाली स्तरावर अवरोधित आहेत. Doctorina च्या सूचनांना सक्रिय करण्यापूर्वी ब्राउझर सेटिंग्जमध्ये त्यांना सक्षम करा.'; + + @override + String get notificationDialogTitle => 'तुमच्या सल्ल्याबद्दल अद्ययावत रहा'; + + @override + String get notificationDialogDescription => + 'डॉक्टरिना तुम्हाला तुमच्या आरोग्याबद्दल नवीन अंतर्दृष्टी किंवा अद्यतने उपलब्ध असताना सूचित करू शकते'; + + @override + String get notificationDialogEnableButton => 'सूचनाएँ सक्षम करा'; + + @override + String get notificationDialogLaterButton => 'कदाचित नंतर'; + + @override + String get termsAndConditionBannerText => + 'सुरू ठेवून आपण वैयक्तिक डेटाच्या प्रक्रियेची, cookies चा वापर, terms and conditions ची स्वीकृती आणि

privacy policy

ची मान्यता देता. तसेच आपण हे मान्य करतो की आपला सल्ला AI कडून दिला जात आहे आणि परवानाधारक वैद्यकीय व्यावसायिकाकडून दिलेला नाही'; + + @override + String get termsAndConditionBannerDismissTooltip => 'अस्वीकृती'; + + @override + String get anonUserNewChatCreationWarningTitle => 'पहिले ह्या चॅटला जतन करा?'; + + @override + String get anonUserNewChatCreationWarningText => + 'नवीन सल्लागार सुरू करण्यापूर्वी ही सल्ला जतन करण्यासाठी मुक्तपणे साइन अप करा'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'सेव्ह न करता सुरू करा'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'साइन अप करा'; + + @override + String get inputBlockerContinueMessage => + 'संवाद सुरू ठेवण्यासाठी, वरील पर्याय निवडा'; + + @override + String get chatServerDialogCloseBtnTooltip => 'बंद करा'; + + @override + String get chatAttachmentRemoveTooltip => 'संलग्नक काढा'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'फाइल्स ड्रॉप झोनमधून निवडण्यात अयशस्वी'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'कृपया एक संदेश प्रविष्ट करा किंवा एक फाइल संलग्न करा'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'कृपया अपलोड पूर्ण होईपर्यंत थांबा'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'संदेश प्रक्रिया केली जात आहे'; + + @override + String get chatAttachmentErrorMessageTooLong => 'संदेश खूप लांब आहे'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'संदेश सध्या प्रक्रिया करण्यात आहे.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'संपर्क कायम ठेवला जात नाही'; + + @override + String get chatAttachmentErrorNoConnection => 'सर्व्हरशी कनेक्शन नाही'; + + @override + String get chatAttachmentErrorPickFiles => 'फाइल्स निवडण्यात अयशस्वी'; + + @override + String get chatAttachmentErrorPickImages => 'प्रतिमा निवडण्यात अयशस्वी'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'कॅमेरातून फोटो काढण्यात अयशस्वी'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'तुम्ही एकाच वेळी $count फाइल्स संलग्न करू शकता.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'ओळखलेला मजकूर साफ करा'; + + @override + String get chatInputTooltipMessageTooLong => 'संदेश खूप लांब आहे.'; + + @override + String get chatInputTooltipWaitForUploads => + 'कृपया अपलोड पूर्ण होईपर्यंत थांबा'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'तो $kind \"$name\" आधीच जोडलेली आहे आणि पुन्हा जोडली गेली नाही'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'तो $kind \"$name\" हा $exist चा डुप्लिकेट आहे आणि तो जोडला गेला नाही'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'अधिकतम संलग्नकांची संख्या ओलांडल्यामुळे $kind \"$name\" जोडले गेले नाही.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'फाइल \"$name\" रिक्त आहे.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'फाइल रिकामी आहे'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'फाइल \"$name\" अधिकतम अनुमत आकार ओलांडते.'; + } + + @override + String get chatAttachmentErrorFileSize => 'फाइल अधिकतम अनुमत आकार ओलांडते.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'फाइल \"$name\" प्रक्रिया करताना एक त्रुटी आली.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'फाइल प्रक्रिया करताना एक त्रुटी आली.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'फाइल \"$name\" जोडली गेली नाही कारण संलग्नकांची कमाल संख्या ओलांडली गेली आहे.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'एक किंवा अधिक फाइल जोडल्या गेल्या नाहीत कारण संलग्नकांची कमाल संख्या ओलांडली गेली आहे.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'एक फाइल जोडली गेली नाही कारण संलग्नकांची कमाल संख्या ओलांडली गेली आहे.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'नाव नसलेला एक फाइल जोडण्याचा प्रयत्न केला गेला.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'असमर्थित विस्तार असलेल्या फाइलला जोडण्याचा प्रयत्न केला गेला: \"$name\"'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'असमर्थित विस्तार असलेल्या फाइलला जोडण्याचा प्रयत्न केला गेला.'; + + @override + String get chatAttachmentErrorFileNull => 'फाइल जोडणे अशक्य आहे'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'फाइल \"$name\" अमान्य आहे आणि जोडली जाऊ शकत नाही.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'एक फाइल अमान्य आहे आणि जोडली जाऊ शकत नाही.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'आयटम \"$name\" वैध फाइल नाही.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'आयटम वैध फाइल नाही.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'आयटम प्रक्रिया करताना एक त्रुटी झाली.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'आयटम (आयटम) प्रक्रिया करताना त्रुटी झाली.'; + + @override + String get chatAttachmentErrorNoFiles => 'कोणतीही फाइल जोडली गेली नाही.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'काही फाइल्स विद्यमान फाइल्ससह डुप्लिकेट असल्याने वगळण्यात आल्या.'; + + @override + String get chatAttachmentErrorUnknown => 'अज्ञात त्रुटी झाली'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'फाइल्स संलग्न करताना खालील त्रुटी झाल्या:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'फाइल शेअर करण्यात अयशस्वी: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'बंद करा'; + + @override + String get chatAttachmentPreviewTooltipShare => 'शेयर करा'; + + @override + String get chatAttachmentPreviewLoading => 'फाइल लोड होत आहे...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'फाइल लोड करण्यात अयशस्वी'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'अज्ञात त्रुटी झाली'; + + @override + String get chatAttachmentPreviewButtonRetry => 'पुन्हा प्रयत्न करा'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'असमर्थित फाइल प्रकार'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'सामग्री प्रकार $contentType ची पूर्वावलोकन करता येत नाही'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'फाइल शेअर करा'; + + @override + String get chatAttachmentPreviewErrorImage => + 'प्रतिमा प्रदर्शित करण्यात अयशस्वी'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'झूम रीसेट करा'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF लोड करण्यात अयशस्वी'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'पाठ सामग्री डिकोड करण्यात अयशस्वी'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'आणि $count अधिक त्रुटी.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'फाइल बिघडलेली आहे'; + + @override + String get chatConsentRequiredTitle => 'संमती आवश्यक आहे'; + + @override + String get chatConsentRequiredText => + 'सुरू ठेवण्यासाठी, तुम्ही आमच्या अटी, गोपनीयता धोरण, आणि कुकीजचा वापर मान्य करता, आणि तुम्ही पुष्टी करता की ही सल्ला AI द्वारे दिला जातो, वैद्यकीय व्यावसायिकाने नाही.'; + + @override + String get chatConsentRequiredCloseTooltip => 'बंद करा'; + + @override + String get chatHistoryDelete => 'हटवा'; + + @override + String get chatDelete => 'चॅट हटवा'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'चॅट “$title” यशस्वीरित्या हटवले.'; + } + + @override + String get chatDeleteConfirmationTitle => 'चॅट हटवा?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'या चॅटमधील तुमच्या लक्षणे, निदान सारांश आणि कोणतीही शिफारस हटवली जाईल.\nहा क्रियाकलाप पूर्ववत केला जाऊ शकत नाही.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'झूम इन'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'झाकणे'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'झूम रीसेट करा'; + + @override + String get chatAttachmentPreviewShareTooltip => 'सामायिक करा'; + + @override + String get dateToday => 'आज'; + + @override + String get dateYesterday => 'काल'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'फक्त पहिली पृष्ठ. संपूर्ण फाइल डाउनलोड करण्यासाठी शेअर वापरा.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_ms.dart b/example/lib/src/generated/chat/chat_localization_ms.dart new file mode 100644 index 0000000..5dc75dc --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_ms.dart @@ -0,0 +1,642 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malay (`ms`). +class ChatLocalizationMs extends ChatLocalization { + ChatLocalizationMs([String locale = 'ms']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Pemberitahuan'; + + @override + String get drawerTooltipHelp => 'Bantuan'; + + @override + String get drawerTooltipClose => 'Tutup'; + + @override + String get drawerSectionTitleAccount => 'Akaun'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Tetapan Akaun'; + + @override + String get drawerSectionDonateToSupport => 'Derma untuk Sokongan'; + + @override + String get drawerSectionSubscription => 'Langganan'; + + @override + String get drawerSectionTitleChats => 'Perbualan'; + + @override + String get drawerSectionChatHistory => 'Sejarah Sembang'; + + @override + String get drawerSectionAttachedDocuments => 'Dokumen Terlampir'; + + @override + String get drawerSectionTitleHowToUse => 'Cara Menggunakan'; + + @override + String get drawerSectionVideoTutorials => 'Tutorial Video'; + + @override + String get drawerSectionTitleLegal => 'Undang-undang'; + + @override + String get drawerSectionContactUs => 'Hubungi Kami'; + + @override + String get drawerSectionBugReport => 'Laporan Bug'; + + @override + String get drawerSectionTermsAndConditions => 'Terma & Syarat'; + + @override + String get drawerSectionPrivacyPolicy => 'Dasar Privasi'; + + @override + String get drawerSectionTitleFeedback => 'Maklum Balas'; + + @override + String get drawerSectionRateApp => 'Taksir Aplikasi'; + + @override + String get drawerSectionShareWithFriends => 'Kongsi dengan Rakan'; + + @override + String get drawerButtonLogOut => 'Log Keluar'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Bantu orang lain menerima rawatan perubatan'; + + @override + String get drawerPlaceholderUser => 'User'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Ciri Premium'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Dapatkan'; + + @override + String get drawerLabelJoinUs => 'Sertai Kami'; + + @override + String get drawerTooltipVersion => 'Versi aplikasi:'; + + @override + String get drawerSectionRecentChats => 'Perbualan Terkini'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Perbualan terkini'; + + @override + String get drawerSectionDownloadApps => 'Muat Turun Aplikasi'; + + @override + String get chatInputHintEnterMessage => 'Masukkan mesej'; + + @override + String get chatInputTooltipAttachFile => 'Lampirkan fail'; + + @override + String get chatInputTooltipDictateMessage => 'Dikte'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Tamat & Transkrip'; + + @override + String get chatInputTooltipSendMessage => 'Hantar mesej'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Gagal untuk mengambil mesej'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Gagal untuk mengambil mesej. Sila cuba lagi.'; + + @override + String get chatListTooltipFetchMessages => 'Ambil mesej'; + + @override + String get chatListLabelNoMessagesAvailable => 'Tiada mesej tersedia.'; + + @override + String get chatListHasConnection => 'Sambung'; + + @override + String get chatListNoConnection => 'Tiada sambungan'; + + @override + String get chatActionButtonTooltipSearch => 'Cari'; + + @override + String get chatActionButtonTooltipFavorites => 'Kegemaran'; + + @override + String get chatActionButtonTooltipDownload => 'Muat turun'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Cetak PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Kongsi dengan Rakan'; + + @override + String get chatActionButtonTooltipNewChat => 'Sembang baru'; + + @override + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Pilih Sembang'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Tunjuk laci'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Tiada perbualan tersedia. Sila segar semula atau buat perbualan baru.'; + + @override + String get chatButtonRefreshChats => 'Segarkan sembang'; + + @override + String get chatButtonCreateNewChat => 'Buat sembang baru'; + + @override + String get chatContextMenuCopyMessage => 'Salin teks'; + + @override + String get chatStatusProcessingMessages => 'Sedang menaip'; + + @override + String get chatNoConnectionLabel => + 'Mengemas kini...\nSila semak sambungan internet anda'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Mesej ini sedang diproses sekarang.'; + + @override + String get chatErrorMessageTooLong => 'Mesej terlalu panjang.'; + + @override + String get chatRemoveAttachmentTooltip => 'Buang lampiran'; + + @override + String get chatStatusFailedMessage => 'Gagal memproses mesej'; + + @override + String get chatActionButtonTooltipExportSummary => 'Eksport ke PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Gambar'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Fail'; + + @override + String get chatPickerPhotosFiles => 'Gambar dan Fail'; + + @override + String get chatRecommendationYIAG => + 'Harap ia membantu! Adakah penjelasan ini berguna untuk anda?'; + + @override + String get chatRecommendationButtonDonate => 'Ya, semuanya baik!'; + + @override + String get failedToRetrieveChatSummary => + 'Gagal untuk mendapatkan ringkasan perbualan'; + + @override + String get chatSummaryCopiedToClipboard => + 'Ringkasan sembang disalin ke papan klip'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Cuba Doctorina dalam aplikasi mudah alih!'; + + @override + String get getAppStoreLogoLabel => 'Download on the'; + + @override + String get getGooglePlayLogoLabel => 'DAPATKAN'; + + @override + String get getAppStoreLogoTooltip => 'Download on the App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Dapatkan di Google Play'; + + @override + String get reportMessageDialogTitle => 'Laporkan Mesej'; + + @override + String get reportMessageDialogSubtitle => + 'Mengapa anda melaporkan mesej ini?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Pilihan: Huraikan apa yang salah dengan mesej ini...'; + + @override + String get reportMessageDialogWhyImportant => + 'Ini akan membantu kami memperbaiki respons AI kami'; + + @override + String get reportMessageDialogCancelButton => 'Batal'; + + @override + String get reportMessageDialogReportButton => 'Laporkan'; + + @override + String get reportMessageSnackbarSuccess => + 'Terima kasih atas maklum balas anda! Laporan telah dihantar.'; + + @override + String get reportMessageSnackbarFailed => 'Gagal menghantar laporan'; + + @override + String get copyMessageSnackbarSuccess => 'Disalin ke papan klip'; + + @override + String get copyMessageSnackbarFailed => 'Gagal menyalin mesej'; + + @override + String get chatContextMenuReportMessage => 'Laporkan Mesej'; + + @override + String get chatDropZoneTitle => 'Muat naik ke chat Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Seret dan lepas fail di sini untuk ditambah ke dalam chat'; + + @override + String get chatDropZoneText => + 'Anda boleh menambah sehingga 15 fail ke satu mesej'; + + @override + String get notificationBannerText => + 'Adakah anda ingin saya memberitahu anda jika ada sesuatu yang penting mengenai kesihatan anda?'; + + @override + String get notificationBannerButtonEnable => 'Ya, beritahu saya'; + + @override + String get notificationBannerButtonDisable => 'Mungkin nanti'; + + @override + String get notificationBannerButtonClose => 'Tutup'; + + @override + String get notificationAreBlockedSystem => + 'Pemberitahuan disekat di peringkat sistem. Aktifkan dalam tetapan sistem sebelum mengaktifkan pemberitahuan Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Pemberitahuan disekat di peringkat sistem. Aktifkan dalam tetapan pelayar sebelum mengaktifkan pemberitahuan Doctorina.'; + + @override + String get notificationDialogTitle => + 'Kekal dikemas kini tentang konsultasi anda'; + + @override + String get notificationDialogDescription => + 'Doctorina boleh memberitahu anda apabila terdapat wawasan atau kemas kini baru tentang kesihatan anda.'; + + @override + String get notificationDialogEnableButton => 'Aktifkan pemberitahuan'; + + @override + String get notificationDialogLaterButton => 'Mungkin nanti'; + + @override + String get termsAndConditionBannerText => + 'Dengan meneruskan, anda bersetuju dengan pemprosesan data peribadi, penggunaan cookies, menerima terma dan syarat, dan mengakui

dasar privasi

. Juga, anda mengakui bahawa konsultasi anda adalah dengan AI dan bukan dengan profesional perubatan berlesen'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Tutup'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Simpan chat ini dahulu?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Daftar secara percuma untuk menyimpan konsultasi ini sebelum memulakan yang baru'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Mula tanpa menyimpan'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => 'Daftar'; + + @override + String get inputBlockerContinueMessage => + 'Untuk meneruskan perbualan, pilih pilihan di atas'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Tutup'; + + @override + String get chatAttachmentRemoveTooltip => 'Buang lampiran'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Gagal untuk memilih fail dari zon penurunan'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Sila masukkan mesej atau lampirkan fail'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Sila tunggu sehingga muat naik selesai'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Mesej sedang diproses'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Mesej terlalu panjang'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Mesej sedang diproses sekarang.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Sambungan ditutup secara kekal'; + + @override + String get chatAttachmentErrorNoConnection => 'Tiada sambungan ke pelayan'; + + @override + String get chatAttachmentErrorPickFiles => 'Gagal untuk memilih fail'; + + @override + String get chatAttachmentErrorPickImages => 'Gagal untuk memilih imej'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Gagal menangkap foto dari kamera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Anda boleh melampirkan sehingga $count fail sekaligus.'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'Bersihkan teks yang dikenali'; + + @override + String get chatInputTooltipMessageTooLong => 'Mesej terlalu panjang.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Sila tunggu sehingga muat naik selesai.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'The $kind \"$name\" sudah dilampirkan dan tidak ditambahkan lagi.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" is a duplicate of $exist and was not added.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '$kind \"$name\" tidak ditambahkan kerana jumlah maksimum lampiran telah melebihi.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Fail \"$name\" kosong.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Fail itu kosong.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Fail \"$name\" melebihi saiz maksimum yang dibenarkan.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Fail melebihi saiz maksimum yang dibenarkan.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Ralat berlaku semasa memproses fail \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Ralat berlaku semasa memproses fail.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Fail \"$name\" tidak ditambahkan kerana jumlah maksimum lampiran telah melebihi.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Satu atau lebih fail tidak ditambah kerana jumlah maksimum lampiran telah melebihi.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Sebuah fail tidak ditambah kerana jumlah maksimum lampiran telah melebihi.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Sebuah fail tanpa nama telah cuba ditambahkan.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Sebuah fail dengan sambungan yang tidak disokong telah cuba ditambahkan: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Fail dengan sambungan yang tidak disokong telah cuba ditambahkan.'; + + @override + String get chatAttachmentErrorFileNull => 'Tidak dapat menambah fail.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Fail \"$name\" tidak sah dan tidak dapat ditambahkan.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Sebuah fail tidak sah dan tidak dapat ditambahkan.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Item \"$name\" bukan fail yang sah.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Sebuah item bukan fail yang sah.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Ralat berlaku semasa memproses item.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Ralat berlaku semasa memproses item.'; + + @override + String get chatAttachmentErrorNoFiles => 'Tiada fail yang ditambahkan.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Beberapa fail telah dilepaskan kerana duplikasi dengan fail yang sedia ada.'; + + @override + String get chatAttachmentErrorUnknown => + 'Ralat yang tidak diketahui telah berlaku.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Kesalahan berikut berlaku semasa melampirkan fail:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Gagal untuk berkongsi fail: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Tutup'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Kongsi'; + + @override + String get chatAttachmentPreviewLoading => 'Memuat fail...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Gagal memuat fail'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Ralat tidak diketahui berlaku'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Cuba lagi'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Jenis fail tidak disokong'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Tidak dapat melihat pratonton $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Kongsi Fail'; + + @override + String get chatAttachmentPreviewErrorImage => 'Gagal untuk memaparkan imej'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Reset zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Gagal memuat PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Gagal untuk mendekod teks kandungan.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Dan $count lagi ralat.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Fail tidak sah'; + + @override + String get chatConsentRequiredTitle => 'Persetujuan Diperlukan'; + + @override + String get chatConsentRequiredText => + 'Dengan meneruskan, anda bersetuju dengan Terma, Dasar Privasi, dan penggunaan kuki, dan mengesahkan bahawa konsultasi ini disediakan oleh AI, bukan profesional perubatan berlesen.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Tutup'; + + @override + String get chatHistoryDelete => 'Padam'; + + @override + String get chatDelete => 'Padam sembang'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat \"$title\" telah berjaya dipadam.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Padam chat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Gejala, ringkasan diagnosis, dan sebarang cadangan dalam sembang ini akan dipadamkan.\nTindakan ini tidak boleh dibatalkan.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Zoom In'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Zum Keluar'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Reset Zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Kongsi'; + + @override + String get dateToday => 'Hari ini'; + + @override + String get dateYesterday => 'Semalam'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Halaman pertama sahaja. Gunakan Kongsi untuk memuat turun fail penuh.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_my.dart b/example/lib/src/generated/chat/chat_localization_my.dart new file mode 100644 index 0000000..8581501 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_my.dart @@ -0,0 +1,646 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Burmese (`my`). +class ChatLocalizationMy extends ChatLocalization { + ChatLocalizationMy([String locale = 'my']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Notifikasi'; + + @override + String get drawerTooltipHelp => 'Bantuan'; + + @override + String get drawerTooltipClose => 'Tutup'; + + @override + String get drawerSectionTitleAccount => 'Akaun'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Tetapan Akaun'; + + @override + String get drawerSectionDonateToSupport => 'Derma untuk Sokongan'; + + @override + String get drawerSectionSubscription => 'Langganan'; + + @override + String get drawerSectionTitleChats => 'Sembang'; + + @override + String get drawerSectionChatHistory => 'Sejarah Sembang'; + + @override + String get drawerSectionAttachedDocuments => 'Dokumen Terlampir'; + + @override + String get drawerSectionTitleHowToUse => 'Cara Menggunakan'; + + @override + String get drawerSectionVideoTutorials => 'Tutorial Video'; + + @override + String get drawerSectionTitleLegal => 'Undang-undang'; + + @override + String get drawerSectionContactUs => 'Hubungi Kami'; + + @override + String get drawerSectionBugReport => 'Laporan Bug'; + + @override + String get drawerSectionTermsAndConditions => 'Terma & Syarat'; + + @override + String get drawerSectionPrivacyPolicy => 'Dasar Privasi'; + + @override + String get drawerSectionTitleFeedback => 'Maklum Balas'; + + @override + String get drawerSectionRateApp => 'Taksir Aplikasi'; + + @override + String get drawerSectionShareWithFriends => 'Kongsi dengan Rakan'; + + @override + String get drawerButtonLogOut => 'Log Keluar'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Bantu orang lain menerima rawatan perubatan'; + + @override + String get drawerPlaceholderUser => 'Pengguna'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Ciri Premium\nbersama Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Dapatkan'; + + @override + String get drawerLabelJoinUs => 'Sertai Kami'; + + @override + String get drawerTooltipVersion => 'Versi aplikasi:'; + + @override + String get drawerSectionRecentChats => 'နောက်ဆုံးသော စကားပြောများ'; + + @override + String get drawerPlaceholderProfile => 'ပရိုဖိုင်း'; + + @override + String get drawerPlaceholderRecentChat => 'နောက်ဆုံးစကားပြော'; + + @override + String get drawerSectionDownloadApps => 'အက်ပလီကေးများကိုဒေါင်းလုပ်လုပ်ပါ'; + + @override + String get chatInputHintEnterMessage => 'Masukkan mesej'; + + @override + String get chatInputTooltipAttachFile => 'Lampir fail'; + + @override + String get chatInputTooltipDictateMessage => 'Dikte'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Selesai & Transkripsi'; + + @override + String get chatInputTooltipSendMessage => 'Hantar mesej'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Gagal untuk mengambil mesej'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Gagal untuk mengambil mesej. Sila cuba lagi.'; + + @override + String get chatListTooltipFetchMessages => 'Ambil mesej'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Tiada mesej tersedia. Sila hantar mesej untuk memulakan perbualan.'; + + @override + String get chatListHasConnection => 'Sambung'; + + @override + String get chatListNoConnection => 'Tiada sambungan'; + + @override + String get chatActionButtonTooltipSearch => 'Cari'; + + @override + String get chatActionButtonTooltipFavorites => 'Kegemaran'; + + @override + String get chatActionButtonTooltipDownload => 'Muat turun'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Cetak PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Kongsi dengan Rakan'; + + @override + String get chatActionButtonTooltipNewChat => 'Sembang baru'; + + @override + String get chatActionButtonNewChat => 'ချစ်'; + + @override + String get chatActionButtonTooltipChatList => 'Pilih Sembang'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Tunjukkan laci'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Tiada sembang tersedia. Sila segarkan atau buat sembang baru.'; + + @override + String get chatButtonRefreshChats => 'Segarkan sembang'; + + @override + String get chatButtonCreateNewChat => 'Buat sembang baru'; + + @override + String get chatContextMenuCopyMessage => 'Salin teks'; + + @override + String get chatStatusProcessingMessages => 'Sedang menaip'; + + @override + String get chatNoConnectionLabel => + 'Mengemas...\nSila semak sambungan internet anda'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Mesej sedang diproses sekarang.'; + + @override + String get chatErrorMessageTooLong => 'Mesej terlalu panjang.'; + + @override + String get chatRemoveAttachmentTooltip => 'Buang lampiran'; + + @override + String get chatStatusFailedMessage => 'Gagal memproses mesej'; + + @override + String get chatActionButtonTooltipExportSummary => 'Eksport ke PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Foto'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Fail'; + + @override + String get chatPickerPhotosFiles => 'Gambar dan Fail'; + + @override + String get chatRecommendationYIAG => + 'Harap ini membantu! Adakah penjelasan ini berguna untuk anda?'; + + @override + String get chatRecommendationButtonDonate => 'Ya, semuanya baik-baik saja!'; + + @override + String get failedToRetrieveChatSummary => + 'Gagal untuk mendapatkan ringkasan perbualan'; + + @override + String get chatSummaryCopiedToClipboard => + 'Ringkasan sembang disalin ke papan klip'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Cuba Doctorina dalam aplikasi mudah alih!'; + + @override + String get getAppStoreLogoLabel => 'Muat Turun di'; + + @override + String get getGooglePlayLogoLabel => 'DAPATKAN DI'; + + @override + String get getAppStoreLogoTooltip => 'Muat turun di App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Dapatkan di Google Play'; + + @override + String get reportMessageDialogTitle => 'သတင်းအချက်အလက်ကို အစီရင်ခံပါ'; + + @override + String get reportMessageDialogSubtitle => + 'သင်ဤသတင်းစကားကိုဘာကြောင့်အစီရင်ခံပါသလဲ?'; + + @override + String get reportMessageDialogTextFieldHint => + 'အခွင့်အလမ်း: ဤသတင်းစကားတွင် အမှားရှိသည်ကို ဖော်ပြပါ...'; + + @override + String get reportMessageDialogWhyImportant => + 'This will help us improve our AI responses.'; + + @override + String get reportMessageDialogCancelButton => 'မရပ်တန့်ပါ'; + + @override + String get reportMessageDialogReportButton => 'အစီရင်ခံစာ'; + + @override + String get reportMessageSnackbarSuccess => + 'Terima kasih atas maklum balas anda! Laporan telah dihantar.'; + + @override + String get reportMessageSnackbarFailed => + 'အစီရင်ခံစာတင်ရန်အောင်မြင်မှုမရှိပါ'; + + @override + String get copyMessageSnackbarSuccess => 'Copied to clipboard'; + + @override + String get copyMessageSnackbarFailed => 'မက်ဆေ့ခ်ျကူးယူရန်အောင်မြင်မှုမရှိပါ'; + + @override + String get chatContextMenuReportMessage => 'သတင်းအချက်အလက်ကို အစီရင်ခံပါ'; + + @override + String get chatDropZoneTitle => 'ဒေါက်တာရိုနာချတ်ထဲသို့အပ်လုတ်ပါ'; + + @override + String get chatDropZoneSubtitle => + 'ချိတ်ဆက်ရန် ဖိုင်များကို ဤနေရာတွင် ဆွဲချပါ'; + + @override + String get chatDropZoneText => + 'သင်သည် သတင်းစကားတစ်ခုတွင် ဖိုင် 15 ခုအထိ ထည့်နိုင်သည်'; + + @override + String get notificationBannerText => + 'ကျန်းမာရေးနှင့်ပတ်သက်၍ အရေးကြီးအရာတစ်ခုဖြစ်လာပါက သင့်အား သတိပေးရန် ငါ့ကို လိုလားပါသလား?'; + + @override + String get notificationBannerButtonEnable => 'ဟုတ်ကဲ့၊ ငါ့ကိုသတိပေးပါ'; + + @override + String get notificationBannerButtonDisable => 'မကြာခဏ'; + + @override + String get notificationBannerButtonClose => 'ပိတ်ပါ'; + + @override + String get notificationAreBlockedSystem => + 'Pemberitahuan disekat di peringkat sistem. Aktifkan dalam tetapan sistem sebelum mengaktifkan pemberitahuan Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Pemberitahuan disekat di peringkat sistem. Aktifkan dalam tetapan pelayar sebelum mengaktifkan pemberitahuan Doctorina.'; + + @override + String get notificationDialogTitle => + 'သင်၏ အကြံပြုချက်အကြောင်း အချက်အလက်များကို အမြဲတမ်း သိရှိပါ'; + + @override + String get notificationDialogDescription => + 'Doctorina သည် သင့်ကျန်းမာရေးနှင့် ပတ်သက်သော အသစ်သော အကြောင်းအရာများ သို့မဟုတ် အပ်ဒိတ်များ ရရှိပါက သင့်အား သတိပေးနိုင်သည်။'; + + @override + String get notificationDialogEnableButton => 'အသိပေးချက်များကိုဖွင့်ပါ'; + + @override + String get notificationDialogLaterButton => 'မကြာခဏ'; + + @override + String get termsAndConditionBannerText => + 'ဆက်လက်လုပ်ဆောင်ခြင်းဖြင့် သင်သည် ပုဂ္ဂိုလ်ရေးဒေတာ လုပ်ငန်းစဉ်၊ cookies အသုံးပြုမှု၊ terms and conditions သဘောတူမှုနှင့်

privacy policy

သဘောတူမှုတို့ကို လက်ခံသည်။ ထို့အပြင် သင်၏ အကြံပေးမှုမှာ AI နှင့်ဖြစ်ပြီး လိုင်စင်ရရှိထားသော ဆေးဘက်ဆိုင်ရာ ကျွမ်းကျင်သူနှင့်မဟုတ်ကြောင်း သင် အသိအမှတ်ပြုသည်'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Tutup'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'ဤစကားပြောချက်ကို အရင်တင်သိမ်းမလား?'; + + @override + String get anonUserNewChatCreationWarningText => + 'နယူးတစ်ခုစတင်မတိုင်မီ ဤအကြံပေးချက်ကို သိမ်းဆည်းရန် အခမဲ့ စာရင်းသွင်းပါ'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'သိမ်းဆည်းမထားဘဲစတင်ပါ'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'စာရင်းသွင်းပါ'; + + @override + String get inputBlockerContinueMessage => + 'Untuk meneruskan perbualan, pilih pilihan di atas'; + + @override + String get chatServerDialogCloseBtnTooltip => 'ပိတ်ပါ'; + + @override + String get chatAttachmentRemoveTooltip => 'Buang lampiran'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Gagal memilih fail dari zon drop'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Sila masukkan mesej atau lampirkan fail'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Sila tunggu sehingga muat naik selesai'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Mesej sedang diproses'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Mesej terlalu panjang'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Mesej sedang diproses sekarang.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Sambungan ditutup secara kekal'; + + @override + String get chatAttachmentErrorNoConnection => 'Tiada sambungan ke pelayan'; + + @override + String get chatAttachmentErrorPickFiles => 'Gagal untuk memilih fail'; + + @override + String get chatAttachmentErrorPickImages => 'Gagal untuk memilih imej'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Gagal menangkap foto dari kamera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Anda boleh melampirkan sehingga $count fail sekaligus.'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'Kosongkan teks yang dikenali'; + + @override + String get chatInputTooltipMessageTooLong => 'Mesej terlalu panjang.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Sila tunggu untuk muat naik selesai'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'The $kind \"$name\" is already attached and was not added again.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" adalah duplikat $exist dan tidak ditambahkan.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'The $kind \"$name\" was not added because the maximum number of attachments has been exceeded.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Fail \"$name\" kosong.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Fail ini kosong'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Fail \"$name\" melebihi saiz maksimum yang dibenarkan.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Fail melebihi saiz maksimum yang dibenarkan.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Ralat berlaku semasa memproses fail \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Ralat berlaku semasa memproses fail.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Fail \"$name\" tidak ditambahkan kerana jumlah maksimum lampiran telah melebihi.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Satu atau lebih fail tidak ditambahkan kerana jumlah maksimum lampiran telah melebihi.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Satu fail tidak ditambahkan kerana bilangan maksimum lampiran telah melebihi.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Satu fail tanpa nama telah cuba ditambahkan.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Satu fail dengan sambungan yang tidak disokong telah cuba ditambahkan: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Satu fail dengan sambungan yang tidak disokong telah cuba ditambahkan.'; + + @override + String get chatAttachmentErrorFileNull => 'Tidak dapat menambah fail.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Fail \"$name\" tidak sah dan tidak boleh ditambah.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Sebuah fail tidak sah dan tidak boleh ditambah.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Item \"$name\" bukan fail yang sah.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Item tidak adalah fail yang sah.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Ralat berlaku semasa memproses item.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Ralat berlaku semasa memproses item.'; + + @override + String get chatAttachmentErrorNoFiles => 'Tiada fail yang ditambahkan'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Beberapa fail telah dilewati kerana duplikasi dengan fail yang sedia ada.'; + + @override + String get chatAttachmentErrorUnknown => + 'Ralat yang tidak diketahui berlaku.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Kesalahan berikut berlaku semasa melampirkan fail:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Gagal untuk berkongsi fail: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Tutup'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Kongsi'; + + @override + String get chatAttachmentPreviewLoading => 'Memuat fail...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Gagal memuat fail'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Ralat tidak diketahui berlaku'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Cuba'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Jenis fail tidak disokong'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Tidak dapat melihat $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Kongsi Fail'; + + @override + String get chatAttachmentPreviewErrorImage => 'Gagal memaparkan imej'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Tetapkan semula zum'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Gagal memuat PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Gagal untuk mendekode kandungan teks.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'နှစ်ခုထပ် $count အမှားများ.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Fail adalah tidak betul'; + + @override + String get chatConsentRequiredTitle => 'Persetujuan Diperlukan'; + + @override + String get chatConsentRequiredText => + 'Dengan meneruskan, anda bersetuju dengan Terma, Dasar Privasi, dan penggunaan kuki, dan mengesahkan bahawa konsultasi ini disediakan oleh AI, bukan profesional perubatan berlesen.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Tutup'; + + @override + String get chatHistoryDelete => 'ဖျက်မည်'; + + @override + String get chatDelete => 'စကားပြောချက်ကို ဖျက်ပါ'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'စကားဝိုင်း “$title” ကိုအောင်မြင်စွာဖျက်လိုက်ပါပြီ။'; + } + + @override + String get chatDeleteConfirmationTitle => 'ချစ်စရာကို ဖျက်မလား?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'သင်၏ရောဂါလက္ခဏာများ၊ ရောဂါခန့်မှန်းချက်အကျဉ်းချုပ်နှင့် ဤချတ်တွင်ရှိသော အကြံပြုချက်များကို ဖျက်ပစ်မည်ဖြစ်သည်။\nဤလုပ်ဆောင်မှုကို ပြန်လည်လုပ်ဆောင်၍မရပါ။'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'အထက်သို့ကြည့်ရန်'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'အနက်ချုပ်'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'ဇုန်ကိုပြန်လည်သတ်မှတ်ပါ'; + + @override + String get chatAttachmentPreviewShareTooltip => 'မျှဝေပါ'; + + @override + String get dateToday => 'ယနေ့'; + + @override + String get dateYesterday => 'မနေ့က'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'ပထမစာမျက်နှာသာ။ အပြည့်အစုံဖိုင်ကိုဒေါင်းလုပ်ရန် Share ကိုအသုံးပြုပါ။'; +} diff --git a/example/lib/src/generated/chat/chat_localization_ne.dart b/example/lib/src/generated/chat/chat_localization_ne.dart new file mode 100644 index 0000000..4dd7eb5 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_ne.dart @@ -0,0 +1,640 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Nepali (`ne`). +class ChatLocalizationNe extends ChatLocalization { + ChatLocalizationNe([String locale = 'ne']) : super(locale); + + @override + String get drawerTooltipNotifications => 'सूचनाहरू'; + + @override + String get drawerTooltipHelp => 'सहायता'; + + @override + String get drawerTooltipClose => 'बन्द गर्नुहोस्'; + + @override + String get drawerSectionTitleAccount => 'खाता'; + + @override + String get drawerSectionProfile => 'प्रोफाइल'; + + @override + String get drawerSectionAccountSettings => 'खाता सेटिंग्स'; + + @override + String get drawerSectionDonateToSupport => 'समर्थनको लागि दान गर्नुहोस्'; + + @override + String get drawerSectionSubscription => 'सदस्यता'; + + @override + String get drawerSectionTitleChats => 'च्याटहरू'; + + @override + String get drawerSectionChatHistory => 'च्याट इतिहास'; + + @override + String get drawerSectionAttachedDocuments => 'संलग्न कागजात'; + + @override + String get drawerSectionTitleHowToUse => 'कसरी प्रयोग गर्ने'; + + @override + String get drawerSectionVideoTutorials => 'भिडियो ट्यूटोरियलहरू'; + + @override + String get drawerSectionTitleLegal => 'कानूनी'; + + @override + String get drawerSectionContactUs => 'हामीलाई सम्पर्क गर्नुहोस्'; + + @override + String get drawerSectionBugReport => 'बग रिपोर्ट'; + + @override + String get drawerSectionTermsAndConditions => 'शर्तहरू र अवस्था'; + + @override + String get drawerSectionPrivacyPolicy => 'गोपनीयता नीति'; + + @override + String get drawerSectionTitleFeedback => 'फिडब्याक'; + + @override + String get drawerSectionRateApp => 'एपलाई रेट गर्नुहोस्'; + + @override + String get drawerSectionShareWithFriends => 'साथीहरूसँग साझा गर्नुहोस्'; + + @override + String get drawerButtonLogOut => 'लगआउट'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'अरूलाई चिकित्सा सेवा प्राप्त गर्न मद्दत गर्नुहोस्'; + + @override + String get drawerPlaceholderUser => 'User'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'प्रीमियम सुविधाहरू\nडोक्टरिनासँग'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'पाउनुहोस्'; + + @override + String get drawerLabelJoinUs => 'हाम्रोमा सामेल हुनुहोस्'; + + @override + String get drawerTooltipVersion => 'ऐप संस्करण:'; + + @override + String get drawerSectionRecentChats => 'हालका च्याटहरू'; + + @override + String get drawerPlaceholderProfile => 'प्रोफाइल'; + + @override + String get drawerPlaceholderRecentChat => 'हालको च्याट'; + + @override + String get drawerSectionDownloadApps => 'एप्लिकेसनहरू डाउनलोड गर्नुहोस्'; + + @override + String get chatInputHintEnterMessage => 'सन्देश लेख्नुहोस्'; + + @override + String get chatInputTooltipAttachFile => 'फाइल संलग्न गर्नुहोस्'; + + @override + String get chatInputTooltipDictateMessage => 'उच्चारण गर्नुहोस्'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'समाप्त गर्नुहोस् र लिप्यन्तरण गर्नुहोस्'; + + @override + String get chatInputTooltipSendMessage => 'सन्देश पठाउनुहोस्'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'सन्देशहरू ल्याउन असफल'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'सन्देशहरू ल्याउन असफल। कृपया पुनः प्रयास गर्नुहोस्।'; + + @override + String get chatListTooltipFetchMessages => 'सन्देशहरू ल्याउनुहोस्'; + + @override + String get chatListLabelNoMessagesAvailable => + 'सन्देश उपलब्ध छैन। संवाद सुरु गर्न कृपया सन्देश पठाउनुहोस्।'; + + @override + String get chatListHasConnection => 'जुडेका'; + + @override + String get chatListNoConnection => 'कुनै जडान छैन'; + + @override + String get chatActionButtonTooltipSearch => 'खोज्नुहोस्'; + + @override + String get chatActionButtonTooltipFavorites => 'मनपर्ने'; + + @override + String get chatActionButtonTooltipDownload => 'डाउनलोड'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF प्रिन्ट गर्नुहोस्'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'साथीहरूसँग साझा गर्नुहोस्'; + + @override + String get chatActionButtonTooltipNewChat => 'नयाँ च्याट'; + + @override + String get chatActionButtonNewChat => 'च्याट'; + + @override + String get chatActionButtonTooltipChatList => 'च्याट चयन गर्नुहोस्'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ड्रावर देखाउनुहोस्'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'च्याट उपलब्ध छैन। कृपया रिफ्रेश गर्नुहोस् वा नयाँ च्याट सिर्जना गर्नुहोस्।'; + + @override + String get chatButtonRefreshChats => 'च्याटहरू ताजा गर्नुहोस्'; + + @override + String get chatButtonCreateNewChat => 'नयाँ च्याट सिर्जना गर्नुहोस्'; + + @override + String get chatContextMenuCopyMessage => 'पाठ प्रतिलिपि गर्नुहोस्'; + + @override + String get chatStatusProcessingMessages => 'टाइप गर्दै'; + + @override + String get chatNoConnectionLabel => + 'अपडेट गर्दै...\nकृपया आफ्नो इन्टरनेट जडान जाँच गर्नुहोस्'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'सन्देश अहिले नै प्रक्रिया भइरहेको छ।'; + + @override + String get chatErrorMessageTooLong => 'सन्देश धेरै लामो छ।'; + + @override + String get chatRemoveAttachmentTooltip => 'संलग्नक हटाउनुहोस्'; + + @override + String get chatStatusFailedMessage => 'सन्देश प्रक्रिया गर्न असफल'; + + @override + String get chatActionButtonTooltipExportSummary => 'PDF मा निर्यात गर्नुहोस्'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'फोटोहरू'; + + @override + String get chatPickerCamera => 'क्यामेरा'; + + @override + String get chatPickerFiles => 'फाइलहरू'; + + @override + String get chatPickerPhotosFiles => 'तस्बिर र फाइलहरू'; + + @override + String get chatRecommendationYIAG => + 'आशा छ कि यसले मद्दत गर्यो! के यो व्याख्या तपाईंलाई उपयोगी लाग्यो?'; + + @override + String get chatRecommendationButtonDonate => 'हो, सबै ठीक छ!'; + + @override + String get failedToRetrieveChatSummary => 'च्याट संक्षेप प्राप्त गर्न असफल'; + + @override + String get chatSummaryCopiedToClipboard => + 'च्याटको संक्षेप क्लिपबोर्डमा प्रतिलिपि गरियो'; + + @override + String get tryDoctorinaInTheMobileApp => + 'मोबाइल एपमा Doctorina प्रयास गर्नुहोस्!'; + + @override + String get getAppStoreLogoLabel => 'डाउनलोड गर्नुहोस्'; + + @override + String get getGooglePlayLogoLabel => 'गेट इट अन'; + + @override + String get getAppStoreLogoTooltip => 'App Store मा डाउनलोड गर्नुहोस्'; + + @override + String get getGooglePlayLogoTooltip => 'गूगल प्लेमा प्राप्त गर्नुहोस्'; + + @override + String get reportMessageDialogTitle => 'सन्देश रिपोर्ट गर्नुहोस्'; + + @override + String get reportMessageDialogSubtitle => + 'तपाईं यो सन्देश किन रिपोर्ट गर्दै हुनुहुन्छ?'; + + @override + String get reportMessageDialogTextFieldHint => + 'वैकल्पिक: यस सन्देशसँग के गलत छ भनेर वर्णन गर्नुहोस्...'; + + @override + String get reportMessageDialogWhyImportant => + 'यसले हामीलाई हाम्रो एआई प्रतिक्रियाहरू सुधार्न मद्दत गर्नेछ'; + + @override + String get reportMessageDialogCancelButton => 'रद्द गर्नुहोस्'; + + @override + String get reportMessageDialogReportButton => 'रिपोर्ट गर्नुहोस्'; + + @override + String get reportMessageSnackbarSuccess => + 'तपाईंको फिडब्याकको लागि धन्यवाद! रिपोर्ट पेश गरिएको छ।'; + + @override + String get reportMessageSnackbarFailed => 'रिपोर्ट पेश गर्न असफल'; + + @override + String get copyMessageSnackbarSuccess => 'क्लिपबोर्डमा प्रतिलिपि गरियो'; + + @override + String get copyMessageSnackbarFailed => 'सन्देशको प्रतिलिपि गर्न असफल'; + + @override + String get chatContextMenuReportMessage => 'सन्देश रिपोर्ट गर्नुहोस्'; + + @override + String get chatDropZoneTitle => 'डॉक्टरिना च्याटमा अपलोड गर्नुहोस्'; + + @override + String get chatDropZoneSubtitle => + 'फाइलहरू यहाँ तान्नुहोस् र च्याटमा थप्नका लागि छोड्नुहोस्'; + + @override + String get chatDropZoneText => 'तपाईं एक सन्देशमा १५ फाइलहरू थप्न सक्नुहुन्छ'; + + @override + String get notificationBannerText => + 'के तपाईंलाई म तपाईंको स्वास्थ्यको बारेमा केही महत्त्वपूर्ण कुरा आउँदा सूचित गर्न सक्छु?'; + + @override + String get notificationBannerButtonEnable => 'हो, मलाई सूचित गर्नुहोस्'; + + @override + String get notificationBannerButtonDisable => 'शायद पछि'; + + @override + String get notificationBannerButtonClose => 'बन्द गर्नुहोस्'; + + @override + String get notificationAreBlockedSystem => + 'सूचनाहरू प्रणाली स्तरमा अवरुद्ध छन्। Doctorina का सूचनाहरू सक्रिय गर्नुअघि तिनीहरूलाई प्रणाली सेटिङहरूमा सक्षम गर्नुहोस्।'; + + @override + String get notificationAreBlockedBrowser => + 'सूचनाहरू प्रणाली स्तरमा अवरुद्ध छन्। Doctorina का सूचनाहरू सक्रिय गर्नुअघि तिनीहरूलाई ब्राउजर सेटिङहरूमा सक्षम गर्नुहोस्।'; + + @override + String get notificationDialogTitle => + 'तपाईंको परामर्शको बारेमा अपडेट रहनुहोस्'; + + @override + String get notificationDialogDescription => + 'Doctorina ले तपाईंको स्वास्थ्यको बारेमा नयाँ जानकारी वा अपडेटहरू उपलब्ध हुँदा तपाईंलाई सूचित गर्न सक्छ।'; + + @override + String get notificationDialogEnableButton => 'सूचनाहरू सक्षम गर्नुहोस्'; + + @override + String get notificationDialogLaterButton => 'शायद पछि'; + + @override + String get termsAndConditionBannerText => + 'अगाडि बढ्दा तपाईंले व्यक्तिगत डाटाको प्रक्रिया, cookies को प्रयोग, नियम र सर्तहरू संग सहमत हुनुहुन्छ र

गोपनीयता नीति

स्वीकार गर्नुहुन्छ। साथै, तपाईंले स्वीकार गर्नुहुन्छ कि तपाईंको परामर्श AI सँग छ र प्रमाणित चिकित्सा पेशेवरसँग होइन'; + + @override + String get termsAndConditionBannerDismissTooltip => 'हटाउनुहोस्'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'पहिले यो च्याट सुरक्षित गर्नुहोस्?'; + + @override + String get anonUserNewChatCreationWarningText => + 'नयाँ परामर्श सुरु गर्नु अघि यो परामर्श बचत गर्नका लागि निःशुल्क दर्ता गर्नुहोस्'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'बचत नगरी सुरु गर्नुहोस्'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'साइन अप गर्नुहोस्'; + + @override + String get inputBlockerContinueMessage => + 'वार्तालाप जारी राख्नका लागि माथि विकल्प छान्नुहोस्'; + + @override + String get chatServerDialogCloseBtnTooltip => 'बन्द'; + + @override + String get chatAttachmentRemoveTooltip => 'संलग्नक हटाउनुहोस्'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'ड्रॉप जोनबाट फाइलहरू चयन गर्न असफल'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'कृपया एक सन्देश प्रविष्ट गर्नुहोस् वा एक फाइल संलग्न गर्नुहोस्'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'कृपया अपलोड पूरा हुन पर्खनुहोस्'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'सन्देश प्रक्रिया भइरहेको छ'; + + @override + String get chatAttachmentErrorMessageTooLong => 'सन्देश धेरै लामो छ'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'सन्देश अहिले प्रक्रिया भइरहेको छ।'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'जडान स्थायी रूपमा बन्द गरिएको छ'; + + @override + String get chatAttachmentErrorNoConnection => 'सर्भरमा जडान छैन'; + + @override + String get chatAttachmentErrorPickFiles => 'फाइलहरू चयन गर्न असफल'; + + @override + String get chatAttachmentErrorPickImages => 'तस्बिरहरू चयन गर्न असफल'; + + @override + String get chatAttachmentErrorCapturePhoto => 'क्यामेराबाट फोटो खिच्न असफल'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'तपाईं एकै समयमा $count फाइलहरू संलग्न गर्न सक्नुहुन्छ।'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'पहिचान गरिएको पाठ मेटाउनुहोस्'; + + @override + String get chatInputTooltipMessageTooLong => 'सन्देश धेरै लामो छ।'; + + @override + String get chatInputTooltipWaitForUploads => + 'कृपया अपलोड पूरा हुन पर्खनुहोस्।'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'The $kind \"$name\" पहिले नै संलग्न गरिएको छ र फेरि थपिएको छैन.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" is a duplicate of $exist and was not added.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '$kind \"$name\" थप गरिएको छैन किनभने संलग्नकहरूको अधिकतम संख्या पार गरिसकेको छ.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'फाइल \"$name\" खाली छ।'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'फाइल खाली छ।'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'फाइल \"$name\" अधिकतम अनुमति प्राप्त आकार भन्दा बढी छ।'; + } + + @override + String get chatAttachmentErrorFileSize => + 'फाइल अधिकतम अनुमति प्राप्त आकार भन्दा बढी छ।'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'फाइल \"$name\" प्रक्रिया गर्दा त्रुटि भयो।'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'फाइल प्रक्रिया गर्दा त्रुटि भयो।'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'फाइल \"$name\" थपिएको छैन किनभने संलग्नकहरूको अधिकतम संख्या पार गरिसकेको छ.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'फाइल(हरू) थपिएनन् किनभने संलग्नकहरूको अधिकतम संख्या पार गरियो।'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'एक फाइल थपिएको छैन किनभने संलग्नकहरूको अधिकतम संख्या पार गरिसकेको छ।'; + + @override + String get chatAttachmentErrorFileMissingName => + 'नाम बिना एक फाइल थप्न प्रयास गरियो।'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'एक असमर्थित एक्सटेंशन भएको फाइल थप्न प्रयास गरियो: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'समर्थित विस्तारको साथको फाइल थप्न प्रयास गरियो।'; + + @override + String get chatAttachmentErrorFileNull => 'फाइल थप्न सकिएन।'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'फाइल \"$name\" अमान्य छ र थप्न सकिदैन।'; + } + + @override + String get chatAttachmentErrorFileInvalid => 'फाइल अमान्य छ र थप्न सकिदैन।'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'वस्तु \"$name\" मान्य फाइल होइन।'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'एक वस्तु मान्य फाइल होइन।'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'एक वस्तु प्रक्रिया गर्दा त्रुटि भयो.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'एक वस्तु(हरू)लाई प्रशोधन गर्दा त्रुटि भयो।'; + + @override + String get chatAttachmentErrorNoFiles => 'कुनै फाइलहरू थपिएका छैनन्।'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'केही फाइलहरू विद्यमान फाइलहरूसँगको डुप्लिकेटको कारण छोडिएका छन्।'; + + @override + String get chatAttachmentErrorUnknown => 'अज्ञात त्रुटि उत्पन्न भयो।'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'फाइलहरू संलग्न गर्दा निम्न त्रुटिहरू भएको छ:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'फाइल साझा गर्न असफल: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'बन्द गर्नुहोस्'; + + @override + String get chatAttachmentPreviewTooltipShare => 'साझा गर्नुहोस्'; + + @override + String get chatAttachmentPreviewLoading => 'फाइल लोड गर्दै...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'फाइल लोड गर्न असफल'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'अज्ञात त्रुटि उत्पन्न भयो'; + + @override + String get chatAttachmentPreviewButtonRetry => 'पुनः प्रयास गर्नुहोस्'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'समर्थित फाइल प्रकार छैन'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'प्रीव्यू गर्न सकिँदैन $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'फाइल साझा गर्नुहोस्'; + + @override + String get chatAttachmentPreviewErrorImage => 'छवि प्रदर्शन गर्न असफल'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Reset zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF लोड गर्न असफल'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'पाठ सामग्रीको डिकोड गर्न असफल भयो।'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'र $count थप त्रुटिहरू छन्।'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'फाइल गलत छ'; + + @override + String get chatConsentRequiredTitle => 'अनुमति आवश्यक'; + + @override + String get chatConsentRequiredText => + 'जारी राखेर, तपाईं हाम्रो शर्तहरू, गोपनीयता नीति, र कुकीहरूको प्रयोगमा सहमत हुनुहुन्छ, र यो परामर्श AI द्वारा प्रदान गरिएको हो, लाइसेन्स प्राप्त चिकित्सा पेशेवरद्वारा होइन।'; + + @override + String get chatConsentRequiredCloseTooltip => 'बन्द गर्नुहोस्'; + + @override + String get chatHistoryDelete => 'हटाउनुहोस्'; + + @override + String get chatDelete => 'च्याट मेटाउनुहोस्'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'च्याट \"$title\" सफलतापूर्वक मेटाइयो।'; + } + + @override + String get chatDeleteConfirmationTitle => 'च्याट मेट्ने हो?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'तपाईंका लक्षण, निदानको संक्षेप, र यस च्याटमा रहेका कुनै पनि सिफारिसहरू हटाइनेछन्।\nयो क्रिया पूर्ववत गर्न सकिँदैन।'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'जुम इन'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'जूम आउट'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'जूम रिसेट गर्नुहोस्'; + + @override + String get chatAttachmentPreviewShareTooltip => 'साझा गर्नुहोस्'; + + @override + String get dateToday => 'आज'; + + @override + String get dateYesterday => 'हिजो'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'पहिलो पृष्ठ मात्र। पूरा फाइल डाउनलोड गर्न शेयर गर्नुहोस्।'; +} diff --git a/example/lib/src/generated/chat/chat_localization_nl.dart b/example/lib/src/generated/chat/chat_localization_nl.dart new file mode 100644 index 0000000..ddeb054 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_nl.dart @@ -0,0 +1,644 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Dutch Flemish (`nl`). +class ChatLocalizationNl extends ChatLocalization { + ChatLocalizationNl([String locale = 'nl']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Meldingen'; + + @override + String get drawerTooltipHelp => 'Help'; + + @override + String get drawerTooltipClose => 'Sluiten'; + + @override + String get drawerSectionTitleAccount => 'Account'; + + @override + String get drawerSectionProfile => 'Profiel'; + + @override + String get drawerSectionAccountSettings => 'Accountinstellingen'; + + @override + String get drawerSectionDonateToSupport => 'Doneer ter ondersteuning'; + + @override + String get drawerSectionSubscription => 'Abonnement'; + + @override + String get drawerSectionTitleChats => 'Chats'; + + @override + String get drawerSectionChatHistory => 'Chatgeschiedenis'; + + @override + String get drawerSectionAttachedDocuments => 'Bijgevoegde Documenten'; + + @override + String get drawerSectionTitleHowToUse => 'Hoe te Gebruiken'; + + @override + String get drawerSectionVideoTutorials => 'Video Tutorials'; + + @override + String get drawerSectionTitleLegal => 'Juridisch'; + + @override + String get drawerSectionContactUs => 'Neem Contact Op'; + + @override + String get drawerSectionBugReport => 'Foutmelding'; + + @override + String get drawerSectionTermsAndConditions => 'Voorwaarden'; + + @override + String get drawerSectionPrivacyPolicy => 'Privacybeleid'; + + @override + String get drawerSectionTitleFeedback => 'Feedback'; + + @override + String get drawerSectionRateApp => 'Beoordeel app'; + + @override + String get drawerSectionShareWithFriends => 'Deel met Vrienden'; + + @override + String get drawerButtonLogOut => 'Uitloggen'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Help anderen medische zorg te ontvangen'; + + @override + String get drawerPlaceholderUser => 'Gebruiker'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Premium Kenmerken\nmet Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Krijg'; + + @override + String get drawerLabelJoinUs => 'Doe met ons mee'; + + @override + String get drawerTooltipVersion => 'App-versie:'; + + @override + String get drawerSectionRecentChats => 'Recente chats'; + + @override + String get drawerPlaceholderProfile => 'Profiel'; + + @override + String get drawerPlaceholderRecentChat => 'Recent chat'; + + @override + String get drawerSectionDownloadApps => 'Apps downloaden'; + + @override + String get chatInputHintEnterMessage => 'Voer bericht in'; + + @override + String get chatInputTooltipAttachFile => 'Bestand bijvoegen'; + + @override + String get chatInputTooltipDictateMessage => 'Dicteer'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'Afsluiten & Transcriberen'; + + @override + String get chatInputTooltipSendMessage => 'Bericht verzenden'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Berichten ophalen is mislukt'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Bericht kon niet worden opgehaald. Probeer het opnieuw.'; + + @override + String get chatListTooltipFetchMessages => 'Berichten ophalen'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Geen berichten beschikbaar. Stuur een bericht om het gesprek te starten.'; + + @override + String get chatListHasConnection => 'Verbonden'; + + @override + String get chatListNoConnection => 'Geen verbinding'; + + @override + String get chatActionButtonTooltipSearch => 'Zoeken'; + + @override + String get chatActionButtonTooltipFavorites => 'Favorieten'; + + @override + String get chatActionButtonTooltipDownload => 'Downloaden'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF afdrukken'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Deel met vrienden'; + + @override + String get chatActionButtonTooltipNewChat => 'Nieuwe chat'; + + @override + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Selecteer chat'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Toon lade'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Geen chats beschikbaar. Gelieve te verversen of een nieuwe chat te starten.'; + + @override + String get chatButtonRefreshChats => 'Chats vernieuwen'; + + @override + String get chatButtonCreateNewChat => 'Nieuwe chat starten'; + + @override + String get chatContextMenuCopyMessage => 'Kopieer tekst'; + + @override + String get chatStatusProcessingMessages => 'Typen'; + + @override + String get chatNoConnectionLabel => + 'Bijwerken...\nControleer uw internetverbinding'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Het bericht wordt op dit moment al verwerkt.'; + + @override + String get chatErrorMessageTooLong => 'Bericht is te lang.'; + + @override + String get chatRemoveAttachmentTooltip => 'Verwijder bijlage'; + + @override + String get chatStatusFailedMessage => 'Bericht kon niet worden verwerkt'; + + @override + String get chatActionButtonTooltipExportSummary => 'Exporteren naar PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Foto\'s'; + + @override + String get chatPickerCamera => 'Camera'; + + @override + String get chatPickerFiles => 'Bestanden'; + + @override + String get chatPickerPhotosFiles => 'Foto\'s en bestanden'; + + @override + String get chatRecommendationYIAG => + 'Hopelijk heeft dit geholpen! Was deze uitleg nuttig voor jou?'; + + @override + String get chatRecommendationButtonDonate => 'Ja, alles is goed!'; + + @override + String get failedToRetrieveChatSummary => + 'Kon samenvatting van chat niet ophalen'; + + @override + String get chatSummaryCopiedToClipboard => + 'Chat samenvatting gekopieerd naar klembord'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Probeer Doctorina in de mobiele app!'; + + @override + String get getAppStoreLogoLabel => 'Download op de'; + + @override + String get getGooglePlayLogoLabel => 'KRIJG HET OP'; + + @override + String get getAppStoreLogoTooltip => 'Download in de App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Krijg het op Google Play'; + + @override + String get reportMessageDialogTitle => 'Rapporteer bericht'; + + @override + String get reportMessageDialogSubtitle => 'Waarom rapporteert u dit bericht?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Optioneel: Beschrijf wat er mis is met dit bericht...'; + + @override + String get reportMessageDialogWhyImportant => + 'Dit zal ons helpen onze AI-antwoorden te verbeteren'; + + @override + String get reportMessageDialogCancelButton => 'Annuleren'; + + @override + String get reportMessageDialogReportButton => 'Rapporteren'; + + @override + String get reportMessageSnackbarSuccess => + 'Bedankt voor uw feedback! Rapport is ingediend.'; + + @override + String get reportMessageSnackbarFailed => 'Indienen van rapport mislukt'; + + @override + String get copyMessageSnackbarSuccess => 'Gekopieerd naar klembord'; + + @override + String get copyMessageSnackbarFailed => 'Bericht kopiëren mislukt'; + + @override + String get chatContextMenuReportMessage => 'Rapporteer bericht'; + + @override + String get chatDropZoneTitle => 'Upload naar de Doctorina-chat'; + + @override + String get chatDropZoneSubtitle => + 'Sleep bestanden hierheen om aan de chat toe te voegen'; + + @override + String get chatDropZoneText => + 'U kunt tot 15 bestanden aan één bericht toevoegen'; + + @override + String get notificationBannerText => + 'Wilt u dat ik u notify als er iets belangrijks over uw gezondheid opkomt?'; + + @override + String get notificationBannerButtonEnable => 'Ja, houd me op de hoogte'; + + @override + String get notificationBannerButtonDisable => 'Misschien later'; + + @override + String get notificationBannerButtonClose => 'Sluiten'; + + @override + String get notificationAreBlockedSystem => + 'Meldingen zijn op systeemniveau geblokkeerd. Schakel ze in de systeeminstellingen in voordat u de meldingen van Doctorina activeert.'; + + @override + String get notificationAreBlockedBrowser => + 'Meldingen zijn op systeemniveau geblokkeerd. Schakel ze in de browserinstellingen in voordat u de meldingen van Doctorina activeert.'; + + @override + String get notificationDialogTitle => 'Blijf op de hoogte van uw consult'; + + @override + String get notificationDialogDescription => + 'Doctorina kan u notificeren wanneer er nieuwe inzichten of updates over uw gezondheid beschikbaar zijn.'; + + @override + String get notificationDialogEnableButton => 'Meldingen inschakelen'; + + @override + String get notificationDialogLaterButton => 'Misschien later'; + + @override + String get termsAndConditionBannerText => + 'Door verder te gaan stemt u in met de verwerking van persoonsgegevens, het gebruik van cookies, gaat u akkoord met de voorwaarden, en erkent u het

privacybeleid

. Tevens erkent u dat uw consultatie met een AI verloopt en niet met een erkend medisch professional'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Afwijzen'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Sla deze chat eerst op?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Meld je gratis aan om deze consultatie op te slaan voordat je een nieuwe start'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Start zonder op te slaan'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Registreren'; + + @override + String get inputBlockerContinueMessage => + 'Om het gesprek voort te zetten, kies een optie hierboven'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Sluiten'; + + @override + String get chatAttachmentRemoveTooltip => 'Verwijder bijlage'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Mislukt om bestanden uit het dropgebied te kiezen'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Voer een bericht in of voeg een bestand toe'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Gelieve te wachten tot de uploads zijn voltooid'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Bericht wordt verwerkt'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Bericht is te lang'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Het bericht wordt op dit moment al verwerkt.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'De verbinding is permanent gesloten'; + + @override + String get chatAttachmentErrorNoConnection => 'Geen verbinding met server'; + + @override + String get chatAttachmentErrorPickFiles => 'Bestanden kiezen mislukt'; + + @override + String get chatAttachmentErrorPickImages => + 'Kon afbeeldingen niet selecteren'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Mislukt om foto van camera vast te leggen'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'U kunt tot $count bestanden tegelijk bijvoegen.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Herkennde tekst wissen'; + + @override + String get chatInputTooltipMessageTooLong => 'Bericht is te lang.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Gelieve te wachten tot de uploads zijn voltooid'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'The $kind \"$name\" is already attached and was not added again.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'De $kind \"$name\" is een duplicaat van $exist en is niet toegevoegd.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'De $kind \"$name\" is niet toegevoegd omdat het maximum aantal bijlagen is overschreden.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Het bestand \"$name\" is leeg.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Het bestand is leeg.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Het bestand \"$name\" overschrijdt de maximaal toegestane grootte.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Het bestand overschrijdt de maximaal toegestane grootte.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Er is een fout opgetreden bij het verwerken van het bestand \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Er is een fout opgetreden bij het verwerken van het bestand.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Het bestand \"$name\" is niet toegevoegd omdat het maximum aantal bijlagen is overschreden.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Een bestand(en) is niet toegevoegd omdat het maximum aantal bijlagen is overschreden.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Een bestand is niet toegevoegd omdat het maximum aantal bijlagen is overschreden.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Er is geprobeerd een bestand zonder naam toe te voegen.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Een bestand met een niet-ondersteunde extensie is geprobeerd toe te voegen: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Er is geprobeerd een bestand met een niet-ondersteunde extensie toe te voegen.'; + + @override + String get chatAttachmentErrorFileNull => + 'Het is onmogelijk om een bestand toe te voegen.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Het bestand \"$name\" is ongeldig en kan niet worden toegevoegd.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Een bestand is ongeldig en kan niet worden toegevoegd.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Het item \"$name\" is geen geldig bestand.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Een item is geen geldig bestand.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Er is een fout opgetreden bij het verwerken van een item.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Er is een fout opgetreden bij het verwerken van een item(s).'; + + @override + String get chatAttachmentErrorNoFiles => 'Er zijn geen bestanden toegevoegd'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Sommige bestanden zijn overgeslagen vanwege duplicaten met bestaande bestanden.'; + + @override + String get chatAttachmentErrorUnknown => + 'Er is een onbekende fout opgetreden.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'De volgende fouten zijn opgetreden bij het bijvoegen van bestanden:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Bestand delen mislukt: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Sluiten'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Delen'; + + @override + String get chatAttachmentPreviewLoading => 'Bestand laden...'; + + @override + String get chatAttachmentPreviewErrorLoad => + 'Bestand kon niet worden geladen'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Onbekende fout opgetreden'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Opnieuw proberen'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Onondersteund bestandstype'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Kan $contentType niet bekijken'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Bestand Delen'; + + @override + String get chatAttachmentPreviewErrorImage => 'Afbeelding weergeven mislukt'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Zoom resetten'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF kon niet worden geladen'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Kon de tekstinhoud niet decoderen.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'En $count meer fouten.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Bestand is ongeldig'; + + @override + String get chatConsentRequiredTitle => 'Toestemming Vereist'; + + @override + String get chatConsentRequiredText => + 'Door door te gaan, gaat u akkoord met onze Voorwaarden, Privacybeleid, en gebruik van cookies, en bevestigt u dat deze consultatie wordt aangeboden door AI, niet door een erkende medische professional.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Sluiten'; + + @override + String get chatHistoryDelete => 'Verwijderen'; + + @override + String get chatDelete => 'Verwijder chat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat “$title” succesvol verwijderd.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Chat verwijderen?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Uw symptomen, diagnose-samenvatting en eventuele aanbevelingen in deze chat worden verwijderd.\nDeze actie kan niet ongedaan worden gemaakt.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Inzoomen'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Inzoomen'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Zoom resetten'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Delen'; + + @override + String get dateToday => 'Vandaag'; + + @override + String get dateYesterday => 'Gisteren'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Eerste pagina alleen. Gebruik Delen om het volledige bestand te downloaden.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_pa.dart b/example/lib/src/generated/chat/chat_localization_pa.dart new file mode 100644 index 0000000..3cc1af2 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_pa.dart @@ -0,0 +1,1270 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Panjabi Punjabi (`pa`). +class ChatLocalizationPa extends ChatLocalization { + ChatLocalizationPa([String locale = 'pa']) : super(locale); + + @override + String get drawerTooltipNotifications => 'ਸੂਚਨਾਵਾਂ'; + + @override + String get drawerTooltipHelp => 'ਮਦਦ'; + + @override + String get drawerTooltipClose => 'ਬੰਦ ਕਰੋ'; + + @override + String get drawerSectionTitleAccount => 'Account'; + + @override + String get drawerSectionProfile => 'Profile'; + + @override + String get drawerSectionAccountSettings => 'ਖਾਤਾ ਸੈਟਿੰਗਜ਼'; + + @override + String get drawerSectionDonateToSupport => 'ਦਾਨ ਕਰੋ ਤਾਂ ਜੋ ਸਹਾਇਤਾ ਕਰ ਸਕੀਏ'; + + @override + String get drawerSectionSubscription => 'Subscription'; + + @override + String get drawerSectionTitleChats => 'ਗੱਲਾਂ'; + + @override + String get drawerSectionChatHistory => 'ਚੈਟ ਇਤਿਹਾਸ'; + + @override + String get drawerSectionAttachedDocuments => 'ਜੁੜੇ ਹੋਏ ਦਸਤਾਵੇਜ਼'; + + @override + String get drawerSectionTitleHowToUse => 'ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ'; + + @override + String get drawerSectionVideoTutorials => 'ਵੀਡੀਓ ਟਿਊਟੋਰੀਅਲ'; + + @override + String get drawerSectionTitleLegal => 'Legal'; + + @override + String get drawerSectionContactUs => 'ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ'; + + @override + String get drawerSectionBugReport => 'ਬੱਗ ਰਿਪੋਰਟ'; + + @override + String get drawerSectionTermsAndConditions => 'ਸ਼ਰਤਾਂ ਅਤੇ ਨਿਯਮ'; + + @override + String get drawerSectionPrivacyPolicy => 'ਗੋਪਨੀਯਤਾ ਨੀਤੀ'; + + @override + String get drawerSectionTitleFeedback => 'ਫੀਡਬੈਕ'; + + @override + String get drawerSectionRateApp => 'ਐਪ ਦੀ ਦਰ'; + + @override + String get drawerSectionShareWithFriends => 'ਦੋਸਤਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰੋ'; + + @override + String get drawerButtonLogOut => 'ਲੌਗ ਆਉਟ'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'ਦੂਜਿਆਂ ਨੂੰ ਮੈਡੀਕਲ ਕੇਅਰ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰੋ'; + + @override + String get drawerPlaceholderUser => 'User'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'ਪ੍ਰੀਮੀਅਮ ਫੀਚਰ
ਡਾਕਟਰਿਨਾ ਨਾਲ'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'ਲੈਣਾ'; + + @override + String get drawerLabelJoinUs => 'ਸਾਡੇ ਨਾਲ ਸ਼ਾਮਲ ਹੋਵੋ'; + + @override + String get drawerTooltipVersion => 'ਐਪ ਦਾ ਸੰਸਕਰਣ:'; + + @override + String get drawerSectionRecentChats => 'ਹਾਲੀਆ ਗੱਲਬਾਤਾਂ'; + + @override + String get drawerPlaceholderProfile => 'Profile'; + + @override + String get drawerPlaceholderRecentChat => 'ਹਾਲੀਆ ਗੱਲਬਾਤ'; + + @override + String get drawerSectionDownloadApps => 'ਐਪ ਡਾਊਨਲੋਡ ਕਰੋ'; + + @override + String get chatInputHintEnterMessage => 'ਸੁਨੇਹਾ ਦਰਜ ਕਰੋ'; + + @override + String get chatInputTooltipAttachFile => 'ਫਾਇਲ ਜੁੜੋ'; + + @override + String get chatInputTooltipDictateMessage => 'ਗੱਲਬਾਤ ਕਰੋ'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'ਖਤਮ ਕਰੋ ਅਤੇ ਟ੍ਰਾਂਸਕ੍ਰਾਈਬ ਕਰੋ'; + + @override + String get chatInputTooltipSendMessage => 'ਸਨੇਹਾ ਭੇਜੋ'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'ਸੁਨੇਹੇ ਲੈਣ ਵਿੱਚ ਅਸਫਲ. ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.'; + + @override + String get chatListTooltipFetchMessages => 'ਸੁਨੇਹੇ ਲਓ'; + + @override + String get chatListLabelNoMessagesAvailable => + 'ਕੋਈ ਸੁਨੇਹਾ ਉਪਲਬਧ ਨਹੀਂ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਗੱਲਬਾਤ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸੁਨੇਹਾ ਭੇਜੋ.'; + + @override + String get chatListHasConnection => 'ਜੁੜਿਆ ਹੋਇਆ'; + + @override + String get chatListNoConnection => 'ਕੋਈ ਕਨੈਕਸ਼ਨ ਨਹੀਂ'; + + @override + String get chatActionButtonTooltipSearch => 'ਖੋਜੋ'; + + @override + String get chatActionButtonTooltipFavorites => 'ਪਸੰਦ'; + + @override + String get chatActionButtonTooltipDownload => 'ਡਾਊਨਲੋਡ'; + + @override + String get chatActionButtonTooltipPrintPdf => 'ਪੀਡੀਐਫ਼ ਪ੍ਰਿੰਟ ਕਰੋ'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'ਦੋਸਤਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰੋ'; + + @override + String get chatActionButtonTooltipNewChat => 'ਨਵਾਂ ਚੈਟ'; + + @override + String get chatActionButtonNewChat => 'ਚੈਟ'; + + @override + String get chatActionButtonTooltipChatList => 'ਚੈਟ ਚੁਣੋ'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ਡ੍ਰਾਇਵਰ ਦਿਖਾਓ'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'ਕੋਈ ਚੈਟ ਉਪਲਬਧ ਨਹੀਂ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਰੀਫ੍ਰੈਸ਼ ਕਰੋ ਜਾਂ ਨਵੀਂ ਚੈਟ ਬਣਾਓ।'; + + @override + String get chatButtonRefreshChats => 'ਚੈਟਾਂ ਨੂੰ ਰੀਫ੍ਰੈਸ਼ ਕਰੋ'; + + @override + String get chatButtonCreateNewChat => 'ਨਵਾਂ ਚੈਟ ਬਣਾਓ'; + + @override + String get chatContextMenuCopyMessage => 'ਪਾਠ ਕਾਪੀ ਕਰੋ'; + + @override + String get chatStatusProcessingMessages => 'ਲਿਖ ਰਹੇ ਹਾਂ'; + + @override + String get chatNoConnectionLabel => + 'ਅਪਡੇਟ ਹੋ ਰਿਹਾ ਹੈ...\nਕਿਰਪਾ ਕਰਕੇ ਆਪਣੀ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'ਸੁਨੇਹਾ ਹੁਣ ਹੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਹੈ.'; + + @override + String get chatErrorMessageTooLong => 'ਸੁਨੇਹਾ ਬਹੁਤ ਲੰਮਾ ਹੈ.'; + + @override + String get chatRemoveAttachmentTooltip => 'ਅਟੈਚਮੈਂਟ ਹਟਾਓ'; + + @override + String get chatStatusFailedMessage => 'ਸੁਨੇਹਾ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get chatActionButtonTooltipExportSummary => 'ਪੀਡੀਐਫ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'ਫੋਟੋਜ਼'; + + @override + String get chatPickerCamera => 'ਕੈਮਰਾ'; + + @override + String get chatPickerFiles => 'ਫਾਈਲਾਂ'; + + @override + String get chatPickerPhotosFiles => 'ਫੋਟੋਆਂ ਅਤੇ ਫਾਈਲਾਂ'; + + @override + String get chatRecommendationYIAG => + 'ਉਮੀਦ ਹੈ ਕਿ ਇਹ ਮਦਦਗਾਰ ਸਾਬਤ ਹੋਇਆ! ਕੀ ਇਹ ਵਿਆਖਿਆ ਤੁਹਾਡੇ ਲਈ ਲਾਭਦਾਇਕ ਸੀ?'; + + @override + String get chatRecommendationButtonDonate => 'ਹਾਂ, ਸਭ ਕੁਝ ਠੀਕ ਹੈ!'; + + @override + String get failedToRetrieveChatSummary => 'ਚੈਟ ਸਾਰਾਂਸ਼ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get chatSummaryCopiedToClipboard => + 'ਚੈਟ ਦਾ ਸਾਰ ਸੰਕਲਪ ਵਿੱਚ ਕਾਪੀ ਕੀਤਾ ਗਿਆ'; + + @override + String get tryDoctorinaInTheMobileApp => + 'ਡਾਕਟਰਿਨਾ ਨੂੰ ਮੋਬਾਈਲ ਐਪ ਵਿੱਚ ਕੋਸ਼ਿਸ਼ ਕਰੋ!'; + + @override + String get getAppStoreLogoLabel => 'ਡਾਊਨਲੋਡ ਕਰੋ ਤੇ'; + + @override + String get getGooglePlayLogoLabel => 'ਇਸਨੂੰ ਲਓ'; + + @override + String get getAppStoreLogoTooltip => 'ਐਪ ਸਟੋਰ \'ਤੇ ਡਾਊਨਲੋਡ ਕਰੋ'; + + @override + String get getGooglePlayLogoTooltip => 'ਇਸਨੂੰ Google Play \'ਤੇ ਪ੍ਰਾਪਤ ਕਰੋ'; + + @override + String get reportMessageDialogTitle => 'ਸੂਚਨਾ ਰਿਪੋਰਟ ਕਰੋ'; + + @override + String get reportMessageDialogSubtitle => + 'ਤੁਸੀਂ ਇਸ ਸੁਨੇਹੇ ਦੀ ਰਿਪੋਰਟ ਕਿਉਂ ਕਰ ਰਹੇ ਹੋ?'; + + @override + String get reportMessageDialogTextFieldHint => + 'ਵਿਕਲਪਿਕ: ਇਸ ਸੁਨੇਹੇ ਵਿੱਚ ਕੀ ਗਲਤ ਹੈ, ਵੇਰਵਾ ਦਿਓ...'; + + @override + String get reportMessageDialogWhyImportant => + 'ਇਹ ਸਾਡੇ AI ਜਵਾਬਾਂ ਨੂੰ ਸੁਧਾਰਨ ਵਿੱਚ ਮਦਦ ਕਰੇਗਾ'; + + @override + String get reportMessageDialogCancelButton => 'ਰੱਦ ਕਰੋ'; + + @override + String get reportMessageDialogReportButton => 'ਰਿਪੋਰਟ'; + + @override + String get reportMessageSnackbarSuccess => + 'ਤੁਹਾਡੇ ਫੀਡਬੈਕ ਲਈ ਧੰਨਵਾਦ! ਰਿਪੋਰਟ ਜਮ੍ਹਾਂ ਕਰ ਦਿੱਤੀ ਗਈ ਹੈ.'; + + @override + String get reportMessageSnackbarFailed => 'ਰਿਪੋਰਟ ਭੇਜਣ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get copyMessageSnackbarSuccess => 'ਕਲਿੱਪਬੋਰਡ \'ਤੇ ਨਕਲ ਕੀਤਾ'; + + @override + String get copyMessageSnackbarFailed => 'ਸਨੇਕਬਾਰ ਸੁਨੇਹਾ ਕਾਪੀ ਕਰਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get chatContextMenuReportMessage => 'ਸੂਚਨਾ ਰਿਪੋਰਟ ਕਰੋ'; + + @override + String get chatDropZoneTitle => 'ਡਾਕਟਰਿਨਾ ਚੈਟ ਵਿੱਚ ਅਪਲੋਡ ਕਰੋ'; + + @override + String get chatDropZoneSubtitle => 'ਇੱਥੇ ਫਾਈਲਾਂ ਖਿੱਚੋ ਅਤੇ ਚੈਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ'; + + @override + String get chatDropZoneText => + 'ਤੁਸੀਂ ਇੱਕ ਸੁਨੇਹੇ ਵਿੱਚ 15 ਫਾਈਲਾਂ ਤੱਕ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ'; + + @override + String get notificationBannerText => + 'ਕੀ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਜੇ ਤੁਹਾਡੇ ਸਿਹਤ ਬਾਰੇ ਕੁਝ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ ਤਾਂ ਮੈਂ ਤੁਹਾਨੂੰ ਸੂਚਿਤ ਕਰਾਂ?'; + + @override + String get notificationBannerButtonEnable => 'ਹਾਂ, ਮੈਨੂੰ ਸੂਚਿਤ ਕਰੋ'; + + @override + String get notificationBannerButtonDisable => 'ਸ਼ਾਇਦ ਬਾਅਦ ਵਿੱਚ'; + + @override + String get notificationBannerButtonClose => 'ਬੰਦ ਕਰੋ'; + + @override + String get notificationAreBlockedSystem => + 'ਸਿਸਟਮ ਪੱਧਰ \'ਤੇ ਸੂਚਨਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ। ਡਾਕਟਰਿਨਾ ਦੀਆਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਸਰਗਰਮ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਿਸਟਮ ਸੈਟਿੰਗਜ਼ ਵਿੱਚ ਉਨ੍ਹਾਂ ਨੂੰ ਯੋਗ ਕਰੋ.'; + + @override + String get notificationAreBlockedBrowser => + 'ਸਿਸਟਮ ਪੱਧਰ \'ਤੇ ਸੂਚਨਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ। ਡਾਕਟਰਿਨਾ ਦੀਆਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਸਰਗਰਮ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਬ੍ਰਾਊਜ਼ਰ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਉਨ੍ਹਾਂ ਨੂੰ ਯੋਗ ਕਰੋ.'; + + @override + String get notificationDialogTitle => 'ਆਪਣੀ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਬਾਰੇ ਅਪਡੇਟ ਰਹੋ'; + + @override + String get notificationDialogDescription => + 'ਡਾਕਟਰਿਨਾ ਤੁਹਾਨੂੰ ਦੱਸ ਸਕਦੀ ਹੈ ਜਦੋਂ ਤੁਹਾਡੇ ਸਿਹਤ ਬਾਰੇ ਨਵੇਂ ਅਨੁਭਵ ਜਾਂ ਅੱਪਡੇਟ ਉਪਲਬਧ ਹਨ.'; + + @override + String get notificationDialogEnableButton => 'ਨੋਟੀਫਿਕੇਸ਼ਨ ਚਾਲੂ ਕਰੋ'; + + @override + String get notificationDialogLaterButton => 'ਸ਼ਾਇਦ ਬਾਅਦ ਵਿੱਚ'; + + @override + String get termsAndConditionBannerText => + 'ਜਾਰੀ ਰੱਖਣ ਨਾਲ, ਤੁਸੀਂ ਨਿੱਜੀ ਡਾਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ, cookies ਦੀ ਵਰਤੋਂ, terms and conditions ਨਾਲ ਸਹਿਮਤ ਹੋ ਰਹੇ ਹੋ ਅਤੇ

privacy policy

ਨੂੰ ਮੰਨਦੇ ਹੋ। ਇਸਦੇ ਨਾਲ, ਤੁਸੀਂ ਇਹ ਵੀ ਮੰਨ ਰਹੇ ਹੋ ਕਿ ਤੁਹਾਡੀ ਸਲਾਹ-ਮਸ਼ਵਰਾ ਇੱਕ AI ਨਾਲ ਹੈ ਅਤੇ ਕਿਸੇ ਲਾਇਸੰਸ ਪ੍ਰਾਪਤ ਚਿਕਿਤਸਕ ਨਾਲ ਨਹੀਂ'; + + @override + String get termsAndConditionBannerDismissTooltip => 'ਬੰਦ ਕਰੋ'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'ਪਹਿਲਾਂ ਇਸ ਚੈਟ ਨੂੰ ਸੇਵ ਕਰੋ?'; + + @override + String get anonUserNewChatCreationWarningText => + 'ਨਵੀਂ ਸਲਾਹ-ਮਸ਼ਵਰਾ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਸਲਾਹ ਨੂੰ ਸੇਵ ਕਰਨ ਲਈ ਮੁਫ਼ਤ ਸਾਈਨ ਅਪ ਕਰੋ'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'ਬਿਨਾਂ ਸੇਵ ਕੀਤੇ ਸ਼ੁਰੂ ਕਰੋ'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'ਸਾਈਨ ਅੱਪ ਕਰੋ'; + + @override + String get inputBlockerContinueMessage => + 'ਗੱਲਬਾਤ ਜਾਰੀ ਰੱਖਣ ਲਈ, ਉੱਪਰ ਦਿੱਤੀ ਗਈ ਕਿਸੇ ਇਕ ਵਿਕਲਪ ਨੂੰ ਚੁਣੋ'; + + @override + String get chatServerDialogCloseBtnTooltip => 'ਬੰਦ ਕਰੋ'; + + @override + String get chatAttachmentRemoveTooltip => 'ਅਟੈਚਮੈਂਟ ਹਟਾਓ'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'ਫਾਈਲਾਂ ਨੂੰ ਡ੍ਰੌਪ ਜ਼ੋਨ ਤੋਂ ਚੁਣਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਸੁਨੇਹਾ ਦਾਖਲ ਕਰੋ ਜਾਂ ਇੱਕ ਫਾਈਲ ਜੁੜੋ'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'ਕਿਰਪਾ ਕਰਕੇ ਅਪਲੋਡ ਪੂਰੇ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰੋ'; + + @override + String get chatAttachmentErrorMessageProcessing => 'ਸੁਨੇਹਾ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਹੈ'; + + @override + String get chatAttachmentErrorMessageTooLong => 'ਸੁਨੇਹਾ ਬਹੁਤ ਲੰਮਾ ਹੈ'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'ਸੁਨੇਹਾ ਹੁਣੇ ਹੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਹੈ.'; + + @override + String get chatAttachmentErrorConnectionClosed => 'ਕਨੈਕਸ਼ਨ ਸਦਾ ਲਈ ਬੰਦ ਹੈ'; + + @override + String get chatAttachmentErrorNoConnection => 'ਸਰਵਰ ਨਾਲ ਕੋਈ ਕਨੈਕਸ਼ਨ ਨਹੀਂ'; + + @override + String get chatAttachmentErrorPickFiles => 'ਫਾਈਲਾਂ ਚੁਣਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get chatAttachmentErrorPickImages => 'ਤਸਵੀਰਾਂ ਚੁਣਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'ਕੈਮਰੇ ਤੋਂ ਫੋਟੋ ਕੈਪਚਰ ਕਰਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'ਤੁਸੀਂ ਇੱਕ ਵਾਰੀ ਵਿੱਚ $count ਫਾਈਲਾਂ ਜੋੜ ਸਕਦੇ ਹੋ.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'ਪਛਾਣਿਆ ਟੈਕਸਟ ਸਾਫ ਕਰੋ'; + + @override + String get chatInputTooltipMessageTooLong => 'ਸੁਨੇਹਾ ਬਹੁਤ ਲੰਮਾ ਹੈ।'; + + @override + String get chatInputTooltipWaitForUploads => + 'ਕਿਰਪਾ ਕਰਕੇ ਅਪਲੋਡ ਪੂਰੇ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰੋ.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'ਗੱਲਬਾਤ $kind \"$name\" ਪਹਿਲਾਂ ਹੀ ਜੁੜੀ ਹੋਈ ਹੈ ਅਤੇ ਦੁਬਾਰਾ ਨਹੀਂ ਜੋੜੀ ਗਈ।'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'ਗੱਲਬਾਤ $kind \"$name\" ਮੌਜੂਦ $exist ਦਾ ਨਕਲ ਹੈ ਅਤੇ ਜੋੜਿਆ ਨਹੀਂ ਗਿਆ।'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'ਗਲਤੀ: $kind \"$name\" ਨੂੰ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਕਿਉਂਕਿ ਲਗਾਤਾਰ ਫਾਈਲਾਂ ਦੀ ਸੰਖਿਆ ਵੱਧ ਗਈ ਹੈ.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'ਫਾਈਲ \"$name\" ਖਾਲੀ ਹੈ.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'ਫਾਈਲ ਖਾਲੀ ਹੈ.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'ਫਾਈਲ \"$name\" ਦੀ ਆਗਿਆਤ ਮਿਆਰੀ ਆਕਾਰ ਤੋਂ ਵੱਧ ਹੈ.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'ਫਾਈਲ ਅਧਿਕਤਮ ਆਗਿਆਤ ਆਕਾਰ ਤੋਂ ਵੱਧ ਹੈ.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'ਫਾਈਲ \"$name\" ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਗਲਤੀ ਹੋਈ ਹੈ.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'ਫਾਈਲ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਗਲਤੀ ਹੋਈ।'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'ਫਾਈਲ \"$name\" ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੀ ਗਈ ਕਿਉਂਕਿ ਲਗਾਤਾਰ ਜੋੜਨ ਦੀ ਸੰਖਿਆ ਪਾਰ ਹੋ ਗਈ ਹੈ.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ਇੱਕ ਫਾਈਲ(ਆਂ) ਨੂੰ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਕਿਉਂਕਿ ਲਗਾਤਾਰ ਫਾਈਲਾਂ ਦੀ ਸੰਖਿਆ ਵੱਧ ਗਈ ਹੈ.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'ਇੱਕ ਫਾਈਲ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੀ ਗਈ ਕਿਉਂਕਿ ਲਗਾਤਾਰ ਜੁੜੇ ਹੋਏ ਫਾਈਲਾਂ ਦੀ ਸੰਖਿਆ ਵੱਧ ਗਈ ਹੈ।'; + + @override + String get chatAttachmentErrorFileMissingName => + 'ਇੱਕ ਨਾਮ ਰਹਿਤ ਫਾਈਲ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਗਈ ਸੀ.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'ਇੱਕ ਫਾਈਲ ਜਿਸਦਾ ਸਹਾਇਕ ਐਕਸਟੈਂਸ਼ਨ ਨਹੀਂ ਹੈ, ਜੋੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਗਈ: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'ਇੱਕ ਫਾਈਲ ਜਿਸਦਾ ਐਕਸਟੈਂਸ਼ਨ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ, ਜੋੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਗਈ ਸੀ.'; + + @override + String get chatAttachmentErrorFileNull => 'ਫਾਈਲ ਸ਼ਾਮਲ ਕਰਨਾ ਸੰਭਵ ਨਹੀਂ ਹੈ।'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'ਫਾਈਲ \"$name\" ਗਲਤ ਹੈ ਅਤੇ ਇਸਨੂੰ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'ਇੱਕ ਫਾਈਲ ਗਲਤ ਹੈ ਅਤੇ ਜੋੜੀ ਨਹੀਂ ਜਾ ਸਕਦੀ.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'ਇਹ ਆਈਟਮ \"$name\" ਇੱਕ ਵੈਧ ਫਾਈਲ ਨਹੀਂ ਹੈ.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'ਇੱਕ ਆਈਟਮ ਇੱਕ ਵੈਧ ਫਾਈਲ ਨਹੀਂ ਹੈ.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'ਇੱਕ ਆਈਟਮ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਗਲਤੀ ਹੋਈ।'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'ਇੱਕ ਆਈਟਮ(ਆਂ) ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਦੇ ਸਮੇਂ ਗਲਤੀ ਹੋਈ।'; + + @override + String get chatAttachmentErrorNoFiles => 'ਕੋਈ ਫਾਈਲ ਨਹੀਂ ਜੋੜੀ ਗਈ।'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'ਕੁਝ ਫਾਈਲਾਂ ਮੌਜੂਦ ਫਾਈਲਾਂ ਨਾਲ ਡੁਪਲੀਕੇਟ ਹੋਣ ਕਾਰਨ ਛੱਡ ਦਿੱਤੀਆਂ ਗਈਆਂ।'; + + @override + String get chatAttachmentErrorUnknown => 'ਇੱਕ ਅਣਜਾਣ ਗਲਤੀ ਹੋਈ ਹੈ.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'ਫਾਈਲਾਂ ਜੋੜਦੇ ਸਮੇਂ ਹੇਠ ਲਿਖੇ ਗਲਤੀਆਂ ਹੋਈਆਂ:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'ਫਾਈਲ ਸਾਂਝਾ ਕਰਨ ਵਿੱਚ ਅਸਫਲ: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'ਬੰਦ ਕਰੋ'; + + @override + String get chatAttachmentPreviewTooltipShare => 'ਸਾਂਝਾ ਕਰੋ'; + + @override + String get chatAttachmentPreviewLoading => 'ਫਾਈਲ ਲੋਡ ਹੋ ਰਹੀ ਹੈ...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'ਫਾਈਲ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'ਅਣਜਾਣ ਗਲਤੀ ਹੋਈ'; + + @override + String get chatAttachmentPreviewButtonRetry => 'ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'ਸਹਾਇਕ ਫਾਈਲ ਕਿਸਮ ਨਹੀਂ'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Cannot preview $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'ਫਾਈਲ ਸਾਂਝੀ ਕਰੋ'; + + @override + String get chatAttachmentPreviewErrorImage => 'ਚਿੱਤਰ ਦਿਖਾਉਣ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'ਜ਼ੂਮ ਰੀਸੈਟ ਕਰੋ'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'ਟੈਕਸਟ ਸਮੱਗਰੀ ਨੂੰ ਡੀਕੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'ਅਤੇ $count ਹੋਰ ਗਲਤੀਆਂ.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'ਫਾਈਲ ਖਰਾਬ ਹੈ'; + + @override + String get chatConsentRequiredTitle => 'ਸਹਿਮਤੀ ਦੀ ਲੋੜ ਹੈ'; + + @override + String get chatConsentRequiredText => + 'ਜਾਰੀ ਰੱਖਣ ਨਾਲ, ਤੁਸੀਂ ਸਾਡੇ ਨਿਯਮ, ਗੋਪਨੀਯਤਾ ਨੀਤੀ, ਅਤੇ ਕੁਕੀਜ਼ ਦੀ ਵਰਤੋਂ ਨਾਲ ਸਹਿਮਤ ਹੋ ਜਾਂਦੇ ਹੋ, ਅਤੇ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹੋ ਕਿ ਇਹ ਸਲਾਹ ਏ.ਆਈ. ਦੁਆਰਾ ਦਿੱਤੀ ਜਾ ਰਹੀ ਹੈ, ਨਾ ਕਿ ਕਿਸੇ ਲਾਇਸੈਂਸ ਪ੍ਰਾਪਤ ਮੈਡੀਕਲ ਪੇਸ਼ੇਵਰ ਦੁਆਰਾ.'; + + @override + String get chatConsentRequiredCloseTooltip => 'ਬੰਦ ਕਰੋ'; + + @override + String get chatHistoryDelete => 'ਹਟਾਓ'; + + @override + String get chatDelete => 'ਚੈਟ ਮਿਟਾਓ'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'ਚੈਟ “$title” ਸਫਲਤਾਪੂਰਵਕ ਹਟਾਈ ਗਈ ਹੈ.'; + } + + @override + String get chatDeleteConfirmationTitle => 'ਚੈਟ ਮਿਟਾਉਣਾ?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'ਤੁਹਾਡੇ ਲੱਛਣ, ਨਿਧਾਨ ਸਾਰਾਂਸ਼, ਅਤੇ ਇਸ ਚੈਟ ਵਿੱਚ ਕੋਈ ਵੀ ਸੁਝਾਅ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ।\nਇਹ ਕਾਰਵਾਈ ਵਾਪਸ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'ਜ਼ੂਮ ਇਨ'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'ਜ਼ੂਮ ਆਉਟ'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'ਜ਼ੂਮ ਰੀਸੈਟ ਕਰੋ'; + + @override + String get chatAttachmentPreviewShareTooltip => 'ਸਾਂਝਾ ਕਰੋ'; + + @override + String get dateToday => 'ਅੱਜ'; + + @override + String get dateYesterday => 'ਕੱਲ੍ਹ'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'ਸਿਰਫ ਪਹਿਲਾ ਪੰਨਾ। ਪੂਰੇ ਫਾਈਲ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਸਾਂਝਾ ਕਰੋ.'; +} + +/// The translations for Panjabi Punjabi, as used in Pakistan (`pa_PK`). +class ChatLocalizationPaPk extends ChatLocalizationPa { + ChatLocalizationPaPk() : super('pa_PK'); + + @override + String get drawerTooltipNotifications => 'اطلاعات'; + + @override + String get drawerTooltipHelp => 'مدد'; + + @override + String get drawerTooltipClose => 'بند کرو'; + + @override + String get drawerSectionTitleAccount => 'کھاتہ'; + + @override + String get drawerSectionProfile => 'پروفائل'; + + @override + String get drawerSectionAccountSettings => 'اکاؤنٹ ترتیبات'; + + @override + String get drawerSectionDonateToSupport => 'سپورٹ کے لیے عطیہ کریں'; + + @override + String get drawerSectionSubscription => 'رکنیت'; + + @override + String get drawerSectionTitleChats => 'چیٹس'; + + @override + String get drawerSectionChatHistory => 'چیٹ کی تاریخ'; + + @override + String get drawerSectionAttachedDocuments => 'منسلک دستاویزات'; + + @override + String get drawerSectionTitleHowToUse => 'استعمال کرنے کا طریقہ'; + + @override + String get drawerSectionVideoTutorials => 'ویڈیو ٹیوٹوریلز'; + + @override + String get drawerSectionTitleLegal => 'قانونی'; + + @override + String get drawerSectionContactUs => 'سانوں رابطہ کرو'; + + @override + String get drawerSectionBugReport => 'بگ رپورٹ'; + + @override + String get drawerSectionTermsAndConditions => 'شرائط تے ضوابط'; + + @override + String get drawerSectionPrivacyPolicy => 'رازداری کی پالیسی'; + + @override + String get drawerSectionTitleFeedback => 'فیڈبیک'; + + @override + String get drawerSectionRateApp => 'ایپ کو ریٹ کرو'; + + @override + String get drawerSectionShareWithFriends => 'دوستاں نال شیئر کرو'; + + @override + String get drawerButtonLogOut => 'لاگ آؤٹ'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'دوسروں کو طبی دیکھ بھال حاصل کرنے میں مدد کریں'; + + @override + String get drawerPlaceholderUser => 'صارف'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'پریمیم خصوصیات\nڈاکٹرینا کے ساتھ'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'حاصل کریں'; + + @override + String get drawerLabelJoinUs => 'سانوں شامل ہو'; + + @override + String get drawerTooltipVersion => 'ایپ ورژن:'; + + @override + String get drawerSectionRecentChats => 'حالیہ چیٹس'; + + @override + String get drawerPlaceholderProfile => 'پروفائل'; + + @override + String get drawerPlaceholderRecentChat => 'حال ہی کی گفتگو'; + + @override + String get drawerSectionDownloadApps => 'ایپس ڈاؤن لوڈ کریں'; + + @override + String get chatInputHintEnterMessage => 'پیغام درج کریں'; + + @override + String get chatInputTooltipAttachFile => 'فائل منسلک کریں'; + + @override + String get chatInputTooltipDictateMessage => 'بول کے لکھو'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'ختم کریں اور ٹرانسکرائب کریں'; + + @override + String get chatInputTooltipSendMessage => 'پیغام بھیجو'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'پیغامات حاصل کرنے میں ناکام'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'پیغامات حاصل کرنے میں ناکام. براہ مہربانی دوبارہ کوشش کریں.'; + + @override + String get chatListTooltipFetchMessages => 'پیغامات حاصل کریں'; + + @override + String get chatListLabelNoMessagesAvailable => + 'کوئی پیغام دستیاب نہیں. گفتگو شروع کرنے کے لیے براہ کرم ایک پیغام بھیجیں.'; + + @override + String get chatListHasConnection => 'جڑیا'; + + @override + String get chatListNoConnection => 'کنکشن نہیں'; + + @override + String get chatActionButtonTooltipSearch => 'تلاش'; + + @override + String get chatActionButtonTooltipFavorites => 'پسندیدہ'; + + @override + String get chatActionButtonTooltipDownload => 'ڈاؤن لوڈ'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF پرنٹ کریں'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'دوستوں کے ساتھ شئیر کریں'; + + @override + String get chatActionButtonTooltipNewChat => 'نویں چیٹ'; + + @override + String get chatActionButtonNewChat => 'گفتگو'; + + @override + String get chatActionButtonTooltipChatList => 'چیٹ منتخب کریں'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ڈراور دکھاؤ'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'کوئی چیٹ دستیاب نہیں۔ براہ مہربانی ریفریش کریں یا نیا چیٹ بنائیں.'; + + @override + String get chatButtonRefreshChats => 'چیٹاں تازہ کرو'; + + @override + String get chatButtonCreateNewChat => 'نئی چیٹ بنائیں'; + + @override + String get chatContextMenuCopyMessage => 'متن کو کاپی کریں'; + + @override + String get chatStatusProcessingMessages => 'ٹائپنگ\nصرف ایک لمحہ'; + + @override + String get chatNoConnectionLabel => + 'اپ ڈیٹ ہو رہا ہے...\nبراہ کرم اپنے انٹرنیٹ کنکشن کی جانچ کریں'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'پیغام پہلے ہی ابھی پروسیس کیا جا رہا ہے.'; + + @override + String get chatErrorMessageTooLong => 'پیغام بہت لمبا ہے.'; + + @override + String get chatRemoveAttachmentTooltip => 'منسلک ہٹائیں'; + + @override + String get chatStatusFailedMessage => 'پیغام پراسیس کرنے میں ناکام'; + + @override + String get chatActionButtonTooltipExportSummary => 'پی ڈی ایف میں برآمد کریں'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'تصاویر'; + + @override + String get chatPickerCamera => 'کیمرہ'; + + @override + String get chatPickerFiles => 'فائلیں'; + + @override + String get chatPickerPhotosFiles => 'تصاویر اور فائلیں'; + + @override + String get chatRecommendationYIAG => + 'امید ہے کہ اس سے مدد ملی! کیا یہ وضاحت آپ کے لیے مفید رہی؟'; + + @override + String get chatRecommendationButtonDonate => 'ہاں، سب ٹھیک ہے!'; + + @override + String get failedToRetrieveChatSummary => 'چیٹ کا خلاصہ حاصل کرنے میں ناکام'; + + @override + String get chatSummaryCopiedToClipboard => + 'چیٹ سمری کلپ بورڈ تے کاپی کیتی گئی'; + + @override + String get tryDoctorinaInTheMobileApp => 'موبائل ایپ وچ Doctorina آزماو!'; + + @override + String get getAppStoreLogoLabel => 'ڈاؤن لوڈ'; + + @override + String get getGooglePlayLogoLabel => 'GET IT ON'; + + @override + String get getAppStoreLogoTooltip => 'ایپ اسٹور سے ڈاؤن لوڈ کریں'; + + @override + String get getGooglePlayLogoTooltip => 'Google Play تے حاصل کرو'; + + @override + String get reportMessageDialogTitle => 'پیغام کی رپورٹ کریں'; + + @override + String get reportMessageDialogSubtitle => + 'تُسی ایہہ پیغام کیوں رپورٹ کر رہے ہو؟'; + + @override + String get reportMessageDialogTextFieldHint => + 'اختیاری: اس پیغام میں کیا غلط ہے بیان کریں...'; + + @override + String get reportMessageDialogWhyImportant => + 'ایہ ساڈے AI جواباں نوں بہتر بنانے وچ مدد کرے گا'; + + @override + String get reportMessageDialogCancelButton => 'کینسل'; + + @override + String get reportMessageDialogReportButton => 'رپورٹ کریں'; + + @override + String get reportMessageSnackbarSuccess => + 'تُہاڈی رائے دا شکریہ! رپورٹ جمع کر دی گئی ہے.'; + + @override + String get reportMessageSnackbarFailed => 'رپورٹ جمع کرانے میں ناکامی'; + + @override + String get copyMessageSnackbarSuccess => 'کاپی کر لیا گیا'; + + @override + String get copyMessageSnackbarFailed => 'پیغام کاپی کرنے میں ناکامی'; + + @override + String get chatContextMenuReportMessage => 'پیغام کی رپورٹ کریں'; + + @override + String get chatDropZoneTitle => 'ڈاکٹرینا چیٹ میں اپ لوڈ کریں'; + + @override + String get chatDropZoneSubtitle => + 'فائلیں یہاں کھینچیں اور چیٹ میں شامل کریں'; + + @override + String get chatDropZoneText => 'تُسی اک پیغام وچ 15 فائلز تک شامل کر سکتے ہو'; + + @override + String get notificationBannerText => + 'کیا آپ چاہیں گے کہ میں آپ کو آپ کی صحت کے بارے میں کچھ اہم ہونے پر مطلع کروں؟'; + + @override + String get notificationBannerButtonEnable => 'جی ہاں، مجھے مطلع کریں'; + + @override + String get notificationBannerButtonDisable => 'شاید بعد میں'; + + @override + String get notificationBannerButtonClose => 'بند کرو'; + + @override + String get notificationAreBlockedSystem => + 'نوٹیفیکیشنز سسٹم کی سطح پر بلاک کر دی گئی ہیں۔ ڈاکٹرینا کی نوٹیفیکیشنز کو فعال کرنے سے پہلے انہیں سسٹم کی سیٹنگز میں فعال کریں.'; + + @override + String get notificationAreBlockedBrowser => + 'نوٹیفیکیشنز سسٹم کی سطح پر بلاک کر دی گئی ہیں۔ ڈاکٹرینا کی نوٹیفیکیشنز کو فعال کرنے سے پہلے انہیں براؤزر کی سیٹنگز میں فعال کریں.'; + + @override + String get notificationDialogTitle => 'اپنی مشاورت کے بارے میں باخبر رہیں'; + + @override + String get notificationDialogDescription => + 'ڈاکٹرینا آپ کو آپ کی صحت کے بارے میں نئے بصیرت یا اپ ڈیٹس دستیاب ہونے پر مطلع کر سکتا ہے.'; + + @override + String get notificationDialogEnableButton => 'نوٹیفکیشنز فعال کریں'; + + @override + String get notificationDialogLaterButton => 'شاید بعد میں'; + + @override + String get termsAndConditionBannerText => + 'جاری رکھنے سے آپ ذاتی ڈیٹا کے عملدرآمد، cookies کے استعمال، شرائط و ضوابط کو قبول کرتے ہیں اور

پرائیویسی پالیسی

کا اعتراف کرتے ہیں۔ نیز، آپ اقرار کرتے ہیں کہ آپ کی مشاورت ایک AI کے ساتھ ہے اور کسی لائسنس یافتہ طبی پیشہ ور کے ساتھ نہیں'; + + @override + String get termsAndConditionBannerDismissTooltip => 'ختم کریں'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'سب سے پہلے اس چیٹ کو محفوظ کریں؟'; + + @override + String get anonUserNewChatCreationWarningText => + 'نئی مشاورت شروع کرنے سے پہلے اس مشاورت کو محفوظ کرنے کے لیے مفت میں سائن اپ کریں'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'بغیر محفوظ کیے شروع کریں'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'سائن اپ کریں'; + + @override + String get inputBlockerContinueMessage => + 'گفتگو جاری رکھنے کے لیے اوپر سے ایک آپشن منتخب کریں'; + + @override + String get chatServerDialogCloseBtnTooltip => 'بند کرو'; + + @override + String get chatAttachmentRemoveTooltip => 'منسلکات ہٹا دیں'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'ڈراپ زون سے فائلیں منتخب کرنے میں ناکامی'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'براہ کرم ایک پیغام درج کریں یا ایک فائل منسلک کریں'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'اپ لوڈ مکمل ہونے کا انتظار کریں'; + + @override + String get chatAttachmentErrorMessageProcessing => 'پیغام پروسیس ہو رہا ہے'; + + @override + String get chatAttachmentErrorMessageTooLong => 'پیغام بہت لمبا ہے'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'پیغام اس وقت پروسیس ہو رہا ہے.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'کنکشن مستقل طور پر بند کر دیا گیا'; + + @override + String get chatAttachmentErrorNoConnection => 'سرور سے کوئی کنکشن نہیں'; + + @override + String get chatAttachmentErrorPickFiles => 'فائلیں منتخب کرنے میں ناکامی'; + + @override + String get chatAttachmentErrorPickImages => + 'تصاویر منتخب کرنے میں ناکامی ہوئی'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'کیمرا سے تصویر لینے میں ناکامی ہوئی'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'تُسی اک واری $count فائلز نوں جڑ سکدے او.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'پہچانی گئی تحریر صاف کریں'; + + @override + String get chatInputTooltipMessageTooLong => 'پیغام بہت لمبا ہے۔'; + + @override + String get chatInputTooltipWaitForUploads => + 'اپ لوڈ مکمل ہونے کا انتظار کریں۔'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'The $kind \"$name\" is already attached and was not added again.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" is a duplicate of $exist and was not added.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'The $kind \"$name\" was not added because the maximum number of attachments has been exceeded.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'فائل \"$name\" خالی ہے.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'فائل خالی ہے۔'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'ਫਾਈਲ \"$name\" ਦੀ ਆਗਿਆਤ ਮਕਸਦ ਤੋਂ ਵੱਧ ਹੈ.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'فائل زیادہ سے زیادہ اجازت شدہ سائز سے تجاوز کر گئی ہے.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'فائل \"$name\" کو پروسیس کرتے وقت ایک خرابی پیش آئی۔'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'فائل پروسیسنگ کے دوران ایک خرابی پیش آئی۔'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'ਫਾਈਲ \"$name\" ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੀ ਗਈ ਕਿਉਂਕਿ ਜੁੜਨ ਵਾਲੀਆਂ ਫਾਈਲਾਂ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਗਿਣਤੀ ਪਾਰ ਹੋ ਗਈ ਹੈ.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ایک یا زیادہ فائلیں شامل نہیں کی گئیں کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'ایک فائل شامل نہیں کی گئی کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'ایک نام کے بغیر فائل شامل کرنے کی کوشش کی گئی.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'ایک غیر معاونت یافتہ توسیع کے ساتھ فائل شامل کرنے کی کوشش کی گئی: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'ایک غیر معاونت یافتہ توسیع کے ساتھ فائل شامل کرنے کی کوشش کی گئی.'; + + @override + String get chatAttachmentErrorFileNull => 'فائل شامل کرنا ناممکن ہے۔'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'ਫਾਈਲ \"$name\" ਗਲਤ ਹੈ ਅਤੇ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'ایک فائل غلط ہے اور شامل نہیں کی جا سکتی.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'آئٹم \"$name\" درست فائل نہیں ہے.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'ایک آئٹم درست فائل نہیں ہے.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'ایک آئٹم کو پروسیس کرتے وقت ایک خرابی پیش آئی'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'آئٹم(ز) کو پروسیس کرتے وقت ایک خرابی پیش آئی۔'; + + @override + String get chatAttachmentErrorNoFiles => 'کوئی فائلیں شامل نہیں کی گئیں۔'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'ਕੁਝ ਫਾਈਲਾਂ ਮੌਜੂਦ ਫਾਈਲਾਂ ਨਾਲ ਡੁਪਲੀਕੇਟ ਹੋਣ ਕਾਰਨ ਛੱਡ ਦਿੱਤੀਆਂ ਗਈਆਂ ਹਨ.'; + + @override + String get chatAttachmentErrorUnknown => 'ایک نامعلوم خرابی پیش آئی۔'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'فائلیں منسلک کرتے وقت درج ذیل غلطیاں پیش آئیں:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'فائل شیئر کرنے میں ناکامی: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'بند کرو'; + + @override + String get chatAttachmentPreviewTooltipShare => 'شیئر'; + + @override + String get chatAttachmentPreviewLoading => 'فائل لوڈ ہو رہی ہے...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'فائل لوڈ کرنے میں ناکامی'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'نامعلوم خرابی پیش آئی'; + + @override + String get chatAttachmentPreviewButtonRetry => 'دوبارہ کوشش کریں'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'غیر معاونت یافتہ فائل کی قسم'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '$contentType کا پیش نظارہ نہیں کر سکتے'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'فائل شیئر کریں'; + + @override + String get chatAttachmentPreviewErrorImage => 'تصویر دکھانے میں ناکامی'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'زوم ری سیٹ کریں'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF لوڈ کرنے میں ناکامی'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'متن کے مواد کو ڈی کوڈ کرنے میں ناکامی ہوئی۔'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'تے $count ہور غلطیاں.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'فائل خراب ہے'; + + @override + String get chatConsentRequiredTitle => 'اجازت درکار ہے'; + + @override + String get chatConsentRequiredText => + 'جاری رکھنے سے، آپ ہماری شرائط، رازداری کی پالیسی، اور کوکیز کے استعمال سے اتفاق کرتے ہیں، اور تصدیق کرتے ہیں کہ یہ مشاورت AI کی طرف سے فراہم کی گئی ہے، کسی لائسنس یافتہ طبی پیشہ ور کی طرف سے نہیں۔'; + + @override + String get chatConsentRequiredCloseTooltip => 'بند کریں'; + + @override + String get chatHistoryDelete => 'ਹਟਾਓ'; + + @override + String get chatDelete => 'چیٹ حذف کریں'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'چٹ “$title” کامیابی سے حذف کر دیا گیا.'; + } + + @override + String get chatDeleteConfirmationTitle => 'چت کو حذف کرنا ہے؟'; + + @override + String get chatDeleteConfirmationSubtitle => + 'آپ کے علامات، تشخیص کا خلاصہ، اور اس چیٹ میں کوئی بھی سفارشات ہٹا دی جائیں گی۔\nیہ عمل واپس نہیں لیا جا سکتا۔'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'زوم ان'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'زوم آؤٹ'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'زوم ری سیٹ کریں'; + + @override + String get chatAttachmentPreviewShareTooltip => 'شیئر'; + + @override + String get dateToday => 'آج'; + + @override + String get dateYesterday => 'کل'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'صرف پہلی صفحہ۔ مکمل فائل ڈاؤن لوڈ کرنے کے لیے شیئر کا استعمال کریں۔'; +} diff --git a/example/lib/src/generated/chat/chat_localization_pl.dart b/example/lib/src/generated/chat/chat_localization_pl.dart new file mode 100644 index 0000000..5b7d750 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_pl.dart @@ -0,0 +1,643 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Polish (`pl`). +class ChatLocalizationPl extends ChatLocalization { + ChatLocalizationPl([String locale = 'pl']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Powiadomienia'; + + @override + String get drawerTooltipHelp => 'Pomoc'; + + @override + String get drawerTooltipClose => 'Zamknij'; + + @override + String get drawerSectionTitleAccount => 'Konto'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Ustawienia konta'; + + @override + String get drawerSectionDonateToSupport => 'Wspieraj darowiznami'; + + @override + String get drawerSectionSubscription => 'Subskrypcja'; + + @override + String get drawerSectionTitleChats => 'Czaty'; + + @override + String get drawerSectionChatHistory => 'Historia czatów'; + + @override + String get drawerSectionAttachedDocuments => 'Załączone dokumenty'; + + @override + String get drawerSectionTitleHowToUse => 'Jak używać'; + + @override + String get drawerSectionVideoTutorials => 'Samouczki wideo'; + + @override + String get drawerSectionTitleLegal => 'Prawny'; + + @override + String get drawerSectionContactUs => 'Skontaktuj się z nami'; + + @override + String get drawerSectionBugReport => 'Zgłoszenie błędu'; + + @override + String get drawerSectionTermsAndConditions => 'Warunki korzystania'; + + @override + String get drawerSectionPrivacyPolicy => 'Polityka prywatności'; + + @override + String get drawerSectionTitleFeedback => 'Opinie'; + + @override + String get drawerSectionRateApp => 'Oceń aplikację'; + + @override + String get drawerSectionShareWithFriends => 'Podziel się z przyjaciółmi'; + + @override + String get drawerButtonLogOut => 'Wyloguj się'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Pomóż innym otrzymać opiekę medyczną'; + + @override + String get drawerPlaceholderUser => 'Użytkownik'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Funkcje premium\nz Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Zdobądź'; + + @override + String get drawerLabelJoinUs => 'Dołącz do nas'; + + @override + String get drawerTooltipVersion => 'Wersja aplikacji:'; + + @override + String get drawerSectionRecentChats => 'Ostatnie czaty'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Ostatni czat'; + + @override + String get drawerSectionDownloadApps => 'Pobierz aplikacje'; + + @override + String get chatInputHintEnterMessage => 'Wpisz wiadomość'; + + @override + String get chatInputTooltipAttachFile => 'Dołącz plik'; + + @override + String get chatInputTooltipDictateMessage => 'Dyktuj'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'Zakończ i przetranskrybuj'; + + @override + String get chatInputTooltipSendMessage => 'Wyślij wiadomość'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Nie udało się pobrać wiadomości'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Nie udało się pobrać wiadomości. Spróbuj ponownie.'; + + @override + String get chatListTooltipFetchMessages => 'Pobierz wiadomości'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Brak dostępnych wiadomości. Wyślij wiadomość, aby rozpocząć rozmowę.'; + + @override + String get chatListHasConnection => 'Połączono'; + + @override + String get chatListNoConnection => 'Brak połączenia'; + + @override + String get chatActionButtonTooltipSearch => 'Szukaj'; + + @override + String get chatActionButtonTooltipFavorites => 'Ulubione'; + + @override + String get chatActionButtonTooltipDownload => 'Pobierz'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Drukuj PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'Podziel się z przyjaciółmi'; + + @override + String get chatActionButtonTooltipNewChat => 'Nowa rozmowa'; + + @override + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Wybierz czat'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Pokaż szufladę'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Brak dostępnych czatów. Proszę odświeżyć lub utworzyć nowy czat.'; + + @override + String get chatButtonRefreshChats => 'Odśwież czaty'; + + @override + String get chatButtonCreateNewChat => 'Utwórz nową rozmowę'; + + @override + String get chatContextMenuCopyMessage => 'Kopiuj tekst'; + + @override + String get chatStatusProcessingMessages => 'Pisanie\nChwileczkę'; + + @override + String get chatNoConnectionLabel => + 'Aktualizuję...\nProszę sprawdzić połączenie z internetem'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Wiadomość jest już przetwarzana.'; + + @override + String get chatErrorMessageTooLong => 'Wiadomość jest za długa'; + + @override + String get chatRemoveAttachmentTooltip => 'Usuń załącznik'; + + @override + String get chatStatusFailedMessage => 'Nie udało się przetworzyć wiadomości'; + + @override + String get chatActionButtonTooltipExportSummary => 'Eksportuj do PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Zdjęcia'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Pliki'; + + @override + String get chatPickerPhotosFiles => 'Zdjęcia i pliki'; + + @override + String get chatRecommendationYIAG => + 'Mam nadzieję, że to pomogło! Czy to wyjaśnienie było dla Ciebie przydatne?'; + + @override + String get chatRecommendationButtonDonate => 'Tak, wszystko w porządku!'; + + @override + String get failedToRetrieveChatSummary => + 'Nie udało się pobrać podsumowania czatu'; + + @override + String get chatSummaryCopiedToClipboard => + 'Podsumowanie czatu skopiowane do schowka'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Wypróbuj Doctorina w aplikacji mobilnej!'; + + @override + String get getAppStoreLogoLabel => 'Pobierz w'; + + @override + String get getGooglePlayLogoLabel => 'Pobierz'; + + @override + String get getAppStoreLogoTooltip => 'Pobierz w App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Pobierz z Google Play'; + + @override + String get reportMessageDialogTitle => 'Zgłoś wiadomość'; + + @override + String get reportMessageDialogSubtitle => 'Dlaczego zgłaszasz tę wiadomość?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Opcjonalnie: Opisz, co jest nie tak z tą wiadomością...'; + + @override + String get reportMessageDialogWhyImportant => + 'To pomoże nam poprawić nasze odpowiedzi AI'; + + @override + String get reportMessageDialogCancelButton => 'Anuluj'; + + @override + String get reportMessageDialogReportButton => 'Zgłoś'; + + @override + String get reportMessageSnackbarSuccess => + 'Dziękujemy za opinię! Zgłoszenie zostało wysłane.'; + + @override + String get reportMessageSnackbarFailed => 'Nie udało się wysłać zgłoszenia'; + + @override + String get copyMessageSnackbarSuccess => 'Skopiowano do schowka'; + + @override + String get copyMessageSnackbarFailed => 'Nie udało się skopiować wiadomości'; + + @override + String get chatContextMenuReportMessage => 'Zgłoś wiadomość'; + + @override + String get chatDropZoneTitle => 'Prześlij do czatu Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Przeciągnij i upuść pliki tutaj, aby dodać do czatu'; + + @override + String get chatDropZoneText => + 'Możesz dodać do 15 plików do jednej wiadomości'; + + @override + String get notificationBannerText => + 'Czy chciałbyś, abym powiadomił cię, jeśli pojawi się coś ważnego dotyczącego twojego zdrowia?'; + + @override + String get notificationBannerButtonEnable => 'Tak, powiadom mnie'; + + @override + String get notificationBannerButtonDisable => 'Może później'; + + @override + String get notificationBannerButtonClose => 'Zamknij'; + + @override + String get notificationAreBlockedSystem => + 'Powiadomienia są zablokowane na poziomie systemu. Włącz je w ustawieniach systemowych przed aktywowaniem powiadomień Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Powiadomienia są zablokowane na poziomie systemu. Włącz je w ustawieniach przeglądarki przed aktywowaniem powiadomień Doctorina.'; + + @override + String get notificationDialogTitle => + 'Bądź na bieżąco w sprawie swojej konsultacji'; + + @override + String get notificationDialogDescription => + 'Doctorina może powiadomić cię, gdy będą dostępne nowe informacje lub aktualizacje dotyczące twojego zdrowia.'; + + @override + String get notificationDialogEnableButton => 'Włącz powiadomienia'; + + @override + String get notificationDialogLaterButton => 'Może później'; + + @override + String get termsAndConditionBannerText => + 'Kontynuując, wyrażasz zgodę na przetwarzanie danych osobowych, korzystanie z cookies, akceptujesz terms and conditions oraz potwierdzasz

privacy policy

. Dodatkowo potwierdzasz, że Twoja konsultacja odbywa się z AI, a nie z licencjonowanym pracownikiem medycznym'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Zamknij'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Najpierw zapisz ten czat?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Zarejestruj się za darmo, aby zapisać tę konsultację przed rozpoczęciem nowej'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Uruchom bez zapisywania'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Zarejestruj się'; + + @override + String get inputBlockerContinueMessage => + 'Aby kontynuować rozmowę, wybierz jedną z opcji powyżej'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Zamknij'; + + @override + String get chatAttachmentRemoveTooltip => 'Usuń załącznik'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Nie udało się wybrać plików z obszaru przeciągania plików'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Proszę wpisać wiadomość lub dołączyć plik'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Proszę czekać na zakończenie przesyłania'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'Wiadomość jest przetwarzana'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Wiadomość jest za długa'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Wiadomość jest już teraz przetwarzana.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Połączenie jest trwale zamknięte'; + + @override + String get chatAttachmentErrorNoConnection => 'Brak połączenia z serwerem'; + + @override + String get chatAttachmentErrorPickFiles => 'Nie udało się wybrać plików'; + + @override + String get chatAttachmentErrorPickImages => 'Nie udało się wybrać obrazów'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Nie udało się uchwycić zdjęcia z kamery'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Możesz załączyć do $count plików jednocześnie.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Wyczyść rozpoznany tekst'; + + @override + String get chatInputTooltipMessageTooLong => 'Wiadomość jest za długa.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Proszę czekać na zakończenie przesyłania.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Typ \"$kind\" \"$name\" jest już dołączony i nie został dodany ponownie.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Typ \"$kind\" \"$name\" jest duplikatem istniejącego \"$exist\" i nie został dodany.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Załącznik typu $kind \"$name\" nie został dodany, ponieważ przekroczono maksymalną liczbę załączników.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Plik \"$name\" jest pusty.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Plik jest pusty.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Plik \"$name\" przekracza maksymalny dozwolony rozmiar.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Plik przekracza maksymalny dozwolony rozmiar.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Wystąpił błąd podczas przetwarzania pliku \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Wystąpił błąd podczas przetwarzania pliku.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Plik \"$name\" nie został dodany, ponieważ przekroczono maksymalną liczbę załączników.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Plik(i) nie zostały dodane, ponieważ maksymalna liczba załączników została przekroczona.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Plik nie został dodany, ponieważ przekroczono maksymalną liczbę załączników.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Próba dodania pliku bez nazwy.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Próba dodania pliku z nieobsługiwaną rozszerzeniem: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Próba dodania pliku z nieobsługiwanym rozszerzeniem.'; + + @override + String get chatAttachmentErrorFileNull => 'Nie można dodać pliku.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Plik \"$name\" jest nieprawidłowy i nie może zostać dodany.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Plik jest nieprawidłowy i nie może zostać dodany.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Element \"$name\" nie jest prawidłowym plikiem.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Element nie jest prawidłowym plikiem'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Wystąpił błąd podczas przetwarzania pozycji.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Wystąpił błąd podczas przetwarzania pozycji.'; + + @override + String get chatAttachmentErrorNoFiles => 'Nie dodano żadnych plików'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Niektóre pliki zostały pominięte z powodu duplikatów z istniejącymi plikami.'; + + @override + String get chatAttachmentErrorUnknown => 'Wystąpił nieznany błąd'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Podczas dołączania plików wystąpiły następujące błędy:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Nie udało się udostępnić pliku: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Zamknij'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Udostępnij'; + + @override + String get chatAttachmentPreviewLoading => 'Ładowanie pliku...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Nie udało się załadować pliku'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Wystąpił nieznany błąd'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Spróbuj ponownie'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'Nieobsługiwany typ pliku'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Nie można podglądać $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Udostępnij plik'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Nie udało się wyświetlić obrazu'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Resetuj powiększenie'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Nie udało się załadować PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Nie udało się zdekodować treści tekstowej.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'I $count więcej błędów.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Plik jest uszkodzony'; + + @override + String get chatConsentRequiredTitle => 'Wymagana zgoda'; + + @override + String get chatConsentRequiredText => + 'Kontynuując, zgadzasz się na nasze Warunki, Politykę prywatności oraz użycie plików cookie i potwierdzasz, że ta konsultacja jest świadczona przez AI, a nie licencjonowanego specjalistę medycznego.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Zamknij'; + + @override + String get chatHistoryDelete => 'Usuń'; + + @override + String get chatDelete => 'Usuń czat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Czat „$title” został pomyślnie usunięty.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Usunąć czat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Twoje objawy, podsumowanie diagnozy i wszelkie zalecenia w tym czacie zostaną usunięte.\nTej akcji nie można cofnąć.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Powiększ'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Oddalić'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Resetuj powiększenie'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Udostępnij'; + + @override + String get dateToday => 'Dziś'; + + @override + String get dateYesterday => 'Wczoraj'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Ten podgląd może pokazywać tylko pierwszą stronę. Pobierz plik, aby zobaczyć cały dokument.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_ps.dart b/example/lib/src/generated/chat/chat_localization_ps.dart new file mode 100644 index 0000000..d6a6425 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_ps.dart @@ -0,0 +1,636 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Pushto Pashto (`ps`). +class ChatLocalizationPs extends ChatLocalization { + ChatLocalizationPs([String locale = 'ps']) : super(locale); + + @override + String get drawerTooltipNotifications => 'خبرتیاوې'; + + @override + String get drawerTooltipHelp => 'مرسته'; + + @override + String get drawerTooltipClose => 'بندول'; + + @override + String get drawerSectionTitleAccount => 'حساب'; + + @override + String get drawerSectionProfile => 'پروفایل'; + + @override + String get drawerSectionAccountSettings => 'د حساب ترتیبات'; + + @override + String get drawerSectionDonateToSupport => 'مرسته وکړئ'; + + @override + String get drawerSectionSubscription => 'د ګډون'; + + @override + String get drawerSectionTitleChats => 'چټکې'; + + @override + String get drawerSectionChatHistory => 'د خبرو تاریخ'; + + @override + String get drawerSectionAttachedDocuments => 'ضمیمه اسناد'; + + @override + String get drawerSectionTitleHowToUse => 'څنګه وکاروئ'; + + @override + String get drawerSectionVideoTutorials => 'ویډیو ټیوټوریلونه'; + + @override + String get drawerSectionTitleLegal => 'قانوني'; + + @override + String get drawerSectionContactUs => 'موږ سره اړیکه ونیسئ'; + + @override + String get drawerSectionBugReport => 'د تېروتنې راپور'; + + @override + String get drawerSectionTermsAndConditions => 'شرایط و ضوابط'; + + @override + String get drawerSectionPrivacyPolicy => 'د پټتیا پالیسي'; + + @override + String get drawerSectionTitleFeedback => 'فیډبیک'; + + @override + String get drawerSectionRateApp => 'اپلیکیشن نرخ کړئ'; + + @override + String get drawerSectionShareWithFriends => 'د ملګرو سره شریک کړئ'; + + @override + String get drawerButtonLogOut => 'بیرون لاړ شئ'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'د نورو لپاره طبي پاملرنه ترلاسه کولو کې مرسته وکړئ'; + + @override + String get drawerPlaceholderUser => 'کاربر'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'پریمیئم ځانګړتیاوې\nد Doctorina سره'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'ترلاسه کړئ'; + + @override + String get drawerLabelJoinUs => 'زموږ سره یوځای شئ'; + + @override + String get drawerTooltipVersion => 'د غوښتنلیک نسخه:'; + + @override + String get drawerSectionRecentChats => 'تازه خبرې'; + + @override + String get drawerPlaceholderProfile => 'پروفایل'; + + @override + String get drawerPlaceholderRecentChat => 'تازه خبرې'; + + @override + String get drawerSectionDownloadApps => 'اپلیکیشنونه ډاونلوډ کړئ'; + + @override + String get chatInputHintEnterMessage => 'پیغام داخل کړئ'; + + @override + String get chatInputTooltipAttachFile => 'فایل ضمیمه کړئ'; + + @override + String get chatInputTooltipDictateMessage => 'دیکته'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'پایان او د متن په توګه ثبتول'; + + @override + String get chatInputTooltipSendMessage => 'پیغام واستول'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'پیغامونه ترلاسه کولو کې ناکامي'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'پیغامونه ترلاسه کولو کې ناکامي. مهرباني وکړئ بیا هڅه وکړئ.'; + + @override + String get chatListTooltipFetchMessages => 'پیغامونه راټول کړئ'; + + @override + String get chatListLabelNoMessagesAvailable => + 'هیڅ پیغامونه شتون نلري\nمهرباني وکړئ د خبرو اترو پیل کولو لپاره پیغام واستوئ.'; + + @override + String get chatListHasConnection => 'وصل شو'; + + @override + String get chatListNoConnection => 'هیڅ اړیکه نشته'; + + @override + String get chatActionButtonTooltipSearch => 'لټون'; + + @override + String get chatActionButtonTooltipFavorites => 'مخفی'; + + @override + String get chatActionButtonTooltipDownload => 'ډاونلوډ'; + + @override + String get chatActionButtonTooltipPrintPdf => 'پی‌دی‌اف چاپ کړئ'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'د ملګرو سره شریک کړئ'; + + @override + String get chatActionButtonTooltipNewChat => 'نوې خبرې'; + + @override + String get chatActionButtonNewChat => 'چت'; + + @override + String get chatActionButtonTooltipChatList => 'چت انتخاب کړئ'; + + @override + String get chatActionButtonTooltipShowDrawer => 'دراور وښایاست'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'هیڅ چټونه شتون نلري. مهرباني وکړئ تازه کړئ یا نوې چټ جوړ کړئ.'; + + @override + String get chatButtonRefreshChats => 'چټکۍ تازه کړئ'; + + @override + String get chatButtonCreateNewChat => 'نوې خبرې اترې جوړ کړئ'; + + @override + String get chatContextMenuCopyMessage => 'متن کاپی کریں'; + + @override + String get chatStatusProcessingMessages => 'لیکوالۍ'; + + @override + String get chatNoConnectionLabel => + 'د تازه کولو په حال کې...\nمهرباني وکړئ د خپل انټرنیټ اړیکه چیک کړئ'; + + @override + String get chatErrorMessageAlreadyProcessed => 'پیغام همدا اوس پروسس کیږي.'; + + @override + String get chatErrorMessageTooLong => 'پیغام ډیر اوږد دی.'; + + @override + String get chatRemoveAttachmentTooltip => 'ضمیمه لیرې کړئ'; + + @override + String get chatStatusFailedMessage => 'پیغام پروسس کولو کې ناکامي'; + + @override + String get chatActionButtonTooltipExportSummary => 'PDF ته صادر کړئ'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'عکسونه'; + + @override + String get chatPickerCamera => 'کامره'; + + @override + String get chatPickerFiles => 'فایلونه'; + + @override + String get chatPickerPhotosFiles => 'عکسونه او فایلونه'; + + @override + String get chatRecommendationYIAG => + 'هیله لرم چې مرسته وکړه! آیا دا تشریح تاسو ته ګټوره وه؟'; + + @override + String get chatRecommendationButtonDonate => 'هو، هر څه ښه دي!'; + + @override + String get failedToRetrieveChatSummary => + 'د چټ بحث لنډیز ترلاسه کولو کې ناکامي'; + + @override + String get chatSummaryCopiedToClipboard => + 'د چټ خبرې لنډیز د کلیپ بورډ ته کاپي شو'; + + @override + String get tryDoctorinaInTheMobileApp => + 'د موبایل اپلیکیشن کې Doctorina وازمویئ!'; + + @override + String get getAppStoreLogoLabel => 'د اپ سټور په'; + + @override + String get getGooglePlayLogoLabel => 'دا ترلاسه کړئ'; + + @override + String get getAppStoreLogoTooltip => 'د اپ سټور څخه ډاونلوډ کړئ'; + + @override + String get getGooglePlayLogoTooltip => 'دا په Google Play کې ترلاسه کړئ'; + + @override + String get reportMessageDialogTitle => 'پیغام راپور کړئ'; + + @override + String get reportMessageDialogSubtitle => 'تاسو ولې دا پیغام راپور کوئ؟'; + + @override + String get reportMessageDialogTextFieldHint => + 'اختیاری: د دې پیغام سره څه غلط دی تشریح کړئ...'; + + @override + String get reportMessageDialogWhyImportant => + 'دا به موږ سره مرسته وکړي چې زموږ د AI ځوابونه ښه کړو.'; + + @override + String get reportMessageDialogCancelButton => 'لغو'; + + @override + String get reportMessageDialogReportButton => 'رپوټ'; + + @override + String get reportMessageSnackbarSuccess => + 'ستاسو د نظریې لپاره مننه! راپور وړاندې شوی دی.'; + + @override + String get reportMessageSnackbarFailed => 'د راپور وړاندې کولو کې ناکامي'; + + @override + String get copyMessageSnackbarSuccess => 'په کلیپ بورډ کې کاپي شو'; + + @override + String get copyMessageSnackbarFailed => 'پیغام کا کاپی کرنا ناکام ہوگیا'; + + @override + String get chatContextMenuReportMessage => 'پیغام راپور کړئ'; + + @override + String get chatDropZoneTitle => 'ډاکټرینا چټ ته پورته کړئ'; + + @override + String get chatDropZoneSubtitle => + 'فایلونه دلته راکش کړئ ترڅو چټ ته اضافه شي'; + + @override + String get chatDropZoneText => + 'تاسو کولی شئ په یوه پیغام کې تر ۱۵ فایلونو پورې اضافه کړئ'; + + @override + String get notificationBannerText => + 'آیا غواړی چې زه تاسو ته خبر درکړم که ستاسو د صحت په اړه څه مهمه خبره راشي؟'; + + @override + String get notificationBannerButtonEnable => 'هو، ما ته خبر راکړه'; + + @override + String get notificationBannerButtonDisable => 'شاید وروسته'; + + @override + String get notificationBannerButtonClose => 'بندول'; + + @override + String get notificationAreBlockedSystem => + 'خبرتیاوې په سیسټم کچه بندې دي. د Doctorina خبرتیاوې فعالولو دمخه یې په سیسټم تنظیماتو کې فعال کړئ.'; + + @override + String get notificationAreBlockedBrowser => + 'خبرتیاوې په سیسټم کچه بندې دي. د Doctorina خبرتیاوې فعالولو دمخه یې په براوزر تنظیماتو کې فعال کړئ.'; + + @override + String get notificationDialogTitle => + 'د خپل مشورې په اړه تازه معلومات ترلاسه کړئ'; + + @override + String get notificationDialogDescription => + 'Doctorina کولی شي تاسو ته خبر درکړي کله چې ستاسو د روغتیا په اړه نوي بصیرتونه یا تازه معلومات شتون ولري.'; + + @override + String get notificationDialogEnableButton => 'خبرتیاوې فعال کړئ'; + + @override + String get notificationDialogLaterButton => 'شاید وروسته'; + + @override + String get termsAndConditionBannerText => + 'په دوام سره تاسې د شخصي معلوماتو د پروسس، د cookies کارولو، د شرایطو او قوانینو منلو او د

پرايويسي پالیسي

په پیژندلو موافقه کوئ. همدارنګه، تاسې پیژنې چې ستاسو مشوره له AI سره ده او نه له یو جواز لرونکي طبي متخصص سره'; + + @override + String get termsAndConditionBannerDismissTooltip => 'رد'; + + @override + String get anonUserNewChatCreationWarningTitle => 'لومړی دا چیټ خوندي کړئ؟'; + + @override + String get anonUserNewChatCreationWarningText => + 'د نوې مشورې پیل کولو دمخه دې مشورې د خوندي کولو لپاره وړیا ثبت نام وکړئ'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'بې له خوندي کولو پیل کړئ'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'راجسټر شئ'; + + @override + String get inputBlockerContinueMessage => + 'د خبرو اترو د دوام لپاره، پورته یوه انتخاب وټاکئ'; + + @override + String get chatServerDialogCloseBtnTooltip => 'بند کړئ'; + + @override + String get chatAttachmentRemoveTooltip => 'لرې کړئ ضمیمه'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'د ډراپ زون نه فایلونه انتخابول ناکام شول'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'مهرباني وکړئ يو پيغام داخل کړئ يا يو فایل ضميمه کړئ'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'مهرباني وکړئ د پورته کولو بشپړیدو ته انتظار وکړئ'; + + @override + String get chatAttachmentErrorMessageProcessing => 'پیغام په پروسس کې دی'; + + @override + String get chatAttachmentErrorMessageTooLong => 'پیغام ډیر اوږد دی'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'پیغام همدا اوس پروسس کیږي.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'اړیکه په پای کې بنده شوې ده'; + + @override + String get chatAttachmentErrorNoConnection => 'هیڅ سرور سره اړیکه نشته'; + + @override + String get chatAttachmentErrorPickFiles => 'د فایلونو انتخاب کې ناکامي'; + + @override + String get chatAttachmentErrorPickImages => 'د انځورونو انتخاب کې ناکامي'; + + @override + String get chatAttachmentErrorCapturePhoto => 'د کمره نه عکس نیول ناکام شو'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'تاسې کولی شئ په یوه وخت کې تر $count فایلونه ضمیمه کړئ.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'پاک کړئ پیژندل شوی متن'; + + @override + String get chatInputTooltipMessageTooLong => 'پیغام ډیر اوږد دی.'; + + @override + String get chatInputTooltipWaitForUploads => + 'مهرباني وکړئ د پورته کولو بشپړیدو ته انتظار وکړئ.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'د $kind \"$name\" لا دمج شوی دی او بیا نه دی اضافه شوی.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'د $kind \"$name\" د $exist سره تکراري دی او نه دی اضافه شوی.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'د $kind \"$name\" اضافه نه شو ځکه چې د ضمیمو اعظمي شمیر زیات شوی دی.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'فایل \"$name\" خالی است.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'فایل خالی است'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'فایل \"$name\" د اعظمي اجازه شوي اندازه نه زیات دی.'; + } + + @override + String get chatAttachmentErrorFileSize => 'فایل اندازه مجاز را رد می‌کند.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'یو تېروتنه د فایل \"$name\" پروسس کولو پر مهال رامنځته شوه.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'یو تېروتنه د فایل پروسس کولو پر مهال رامنځته شوه.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'فایل \"$name\" اضافه نشد زیرا حداکثر تعداد پیوست‌ها تجاوز شده است.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'یو فایل(ونه) اضافه نشو ځکه چې د ضمیمو اعظمي شمیر زیات شوی دی.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'یو فایل اضافه نشد ځکه چې د ضمیمو اعظمي شمیر تجاوز شوی دی.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'یو فایل چې نوم نلري هڅه وشوه چې اضافه شي.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'یو فایل چې د ملاتړ نه لرونکي توکی سره هڅه وشوه: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'یو فایل چې د ملاتړ نه لرونکي توکی سره دی، د زیاتولو هڅه وشوه.'; + + @override + String get chatAttachmentErrorFileNull => 'نمی‌توان فایل را اضافه کرد.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'فایل \"$name\" نامعتبر است و نمی‌تواند اضافه شود'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'یو فایل ناسم دی او نشي اضافه کیدی'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'شيء \"$name\" فایل معتبر نه دی'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'یو شی معتبر فایل نه دی.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'یو تېروتنه د یوې توکي پروسس کولو پر مهال رامنځته شوه.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'یو تېروتنه د یو شی(انو) پروسس کولو پر مهال رامنځته شوه.'; + + @override + String get chatAttachmentErrorNoFiles => 'هیڅ فایلونه نه دي اضافه شوي.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'ځینې فایلونه د موجوده فایلونو سره د تکرار له امله پریښودل شوي.'; + + @override + String get chatAttachmentErrorUnknown => 'یو نامعلوم خطا رامنځته شو.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'لاندې تېروتنې د فایلونو ضمیمه کولو پر مهال رامنځته شوې:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'د فایل شریکولو کې ناکامي: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'بندول'; + + @override + String get chatAttachmentPreviewTooltipShare => 'شریک کړئ'; + + @override + String get chatAttachmentPreviewLoading => 'فایل در حال بارگذاری...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'د فایل بار کولو کې ناکامي'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'نامعلوم خطا واقع شو'; + + @override + String get chatAttachmentPreviewButtonRetry => 'بیا هڅه وکړئ'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'د فایل ډول ملاتړ نه لري'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'نمی‌توان پیش‌نمایش $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'د فایل شریکول'; + + @override + String get chatAttachmentPreviewErrorImage => 'د انځور ښودلو کې ناکامي'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'د زوم بیا تنظیمول'; + + @override + String get chatAttachmentPreviewErrorPdf => 'د PDF بارول ناکام شو'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'د متن محتوا د تشریح کولو کې ناکامي'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'او $count نورې تېروتنې.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'فایل نادرست است'; + + @override + String get chatConsentRequiredTitle => 'اجازه درکار دی'; + + @override + String get chatConsentRequiredText => + 'د دوام ورکولو سره، تاسو زموږ شرایط، د محرمیت پالیسي او د کوکیو کارول سره موافق یاست، او تایید کوئ چې دا مشوره د AI لخوا چمتو کیږي، نه د جواز لرونکي طبي مسلکي لخوا.'; + + @override + String get chatConsentRequiredCloseTooltip => 'بندول'; + + @override + String get chatHistoryDelete => 'لرې کول'; + + @override + String get chatDelete => 'چت حذف کړئ'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'چت “$title” په بریالیتوب سره حذف شو.'; + } + + @override + String get chatDeleteConfirmationTitle => 'چت حذف کړئ؟'; + + @override + String get chatDeleteConfirmationSubtitle => + 'ستاسو نښې، تشخیص لنډیز، او په دې چټ کې کومې سپارښتنې له منځه ځي.\nدا عمل نه شي بیرته راوستلی.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'زیاتول'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'زوی کمول'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'د زوم بیا تنظیمول'; + + @override + String get chatAttachmentPreviewShareTooltip => 'شریک کړئ'; + + @override + String get dateToday => 'نن'; + + @override + String get dateYesterday => 'تیره ورځ'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'یوازې لومړۍ پاڼه. د بشپړ فایل د ډاونلوډ لپاره Share وکاروئ.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_pt.dart b/example/lib/src/generated/chat/chat_localization_pt.dart index 6c11e0d..ad59c19 100644 --- a/example/lib/src/generated/chat/chat_localization_pt.dart +++ b/example/lib/src/generated/chat/chat_localization_pt.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'chat_localization.dart'; class ChatLocalizationPt extends ChatLocalization { ChatLocalizationPt([String locale = 'pt']) : super(locale); - @override - String get title => 'Bater papo'; - @override String get drawerTooltipNotifications => 'Notificações'; @@ -29,19 +26,19 @@ class ChatLocalizationPt extends ChatLocalization { String get drawerSectionProfile => 'Perfil'; @override - String get drawerSectionAccountSettings => 'Configurações de Conta'; + String get drawerSectionAccountSettings => 'Configurações da Conta'; @override String get drawerSectionDonateToSupport => 'Doe para apoiar'; @override - String get drawerSectionSubscription => 'Subscrição'; + String get drawerSectionSubscription => 'Assinatura'; @override - String get drawerSectionTitleChats => 'Bate-papos'; + String get drawerSectionTitleChats => 'Conversas'; @override - String get drawerSectionChatHistory => 'Histórico de bate-papo'; + String get drawerSectionChatHistory => 'Histórico de Chats'; @override String get drawerSectionAttachedDocuments => 'Documentos anexados'; @@ -56,7 +53,7 @@ class ChatLocalizationPt extends ChatLocalization { String get drawerSectionTitleLegal => 'Jurídico'; @override - String get drawerSectionContactUs => 'Contate-nos'; + String get drawerSectionContactUs => 'Fale Conosco'; @override String get drawerSectionBugReport => 'Relatório de bug'; @@ -65,23 +62,23 @@ class ChatLocalizationPt extends ChatLocalization { String get drawerSectionTermsAndConditions => 'Termos e Condições'; @override - String get drawerSectionPrivacyPolicy => 'política de Privacidade'; + String get drawerSectionPrivacyPolicy => 'Política de Privacidade'; @override - String get drawerSectionTitleFeedback => 'Opinião'; + String get drawerSectionTitleFeedback => 'Feedback'; @override - String get drawerSectionRateApp => 'Avalie o aplicativo'; + String get drawerSectionRateApp => 'Avalie o app'; @override - String get drawerSectionShareWithFriends => 'Compartilhe com amigos'; + String get drawerSectionShareWithFriends => 'Compartilhar com amigos'; @override String get drawerButtonLogOut => 'Sair'; @override String get drawerBannerHelpOthersReceiveMedicalCare => - 'Ajude outras pessoas a receber cuidados médicos'; + 'Ajude outros a receber atendimento médico'; @override String get drawerPlaceholderUser => 'Usuário'; @@ -91,7 +88,7 @@ class ChatLocalizationPt extends ChatLocalization { 'Recursos Premium\ncom Doctorina'; @override - String get drawerSubscriptionButtonGetPremiumFeatures => 'Pegar'; + String get drawerSubscriptionButtonGetPremiumFeatures => 'Obter'; @override String get drawerLabelJoinUs => 'Junte-se a nós'; @@ -99,6 +96,18 @@ class ChatLocalizationPt extends ChatLocalization { @override String get drawerTooltipVersion => 'Versão do aplicativo:'; + @override + String get drawerSectionRecentChats => 'Chats recentes'; + + @override + String get drawerPlaceholderProfile => 'Perfil'; + + @override + String get drawerPlaceholderRecentChat => 'Chat recente'; + + @override + String get drawerSectionDownloadApps => 'Baixar aplicativos'; + @override String get chatInputHintEnterMessage => 'Digite a mensagem'; @@ -106,7 +115,10 @@ class ChatLocalizationPt extends ChatLocalization { String get chatInputTooltipAttachFile => 'Anexar arquivo'; @override - String get chatInputTooltipDictateMessage => 'Ditar mensagem'; + String get chatInputTooltipDictateMessage => 'Ditado'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Finalizar e transcrever'; @override String get chatInputTooltipSendMessage => 'Enviar mensagem'; @@ -117,7 +129,7 @@ class ChatLocalizationPt extends ChatLocalization { @override String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => - 'Falha ao buscar mensagens. Tente novamente.'; + 'Falha ao buscar mensagens. Por favor, tente novamente.'; @override String get chatListTooltipFetchMessages => 'Buscar mensagens'; @@ -133,53 +145,56 @@ class ChatLocalizationPt extends ChatLocalization { String get chatListNoConnection => 'Sem conexão'; @override - String get chatActionButtonTooltipSearch => 'Procurar'; + String get chatActionButtonTooltipSearch => 'Pesquisar'; @override String get chatActionButtonTooltipFavorites => 'Favoritos'; @override - String get chatActionButtonTooltipDownload => 'Download'; + String get chatActionButtonTooltipDownload => 'Baixar'; @override String get chatActionButtonTooltipPrintPdf => 'Imprimir PDF'; @override String get chatActionButtonTooltipShareWithFriends => - 'Compartilhe com amigos'; + 'Compartilhar com amigos'; @override - String get chatActionButtonTooltipNewChat => 'Novo bate-papo'; + String get chatActionButtonTooltipNewChat => 'Nova conversa'; @override - String get chatActionButtonTooltipChatList => 'Selecione Bate-papo'; + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Selecionar bate-papo'; @override String get chatActionButtonTooltipShowDrawer => 'Mostrar gaveta'; @override String get chatLabelNoChatAvailableRefresh => - 'Nenhum chat disponível. Atualize ou crie um novo chat.'; + 'Nenhum chat disponível. Por favor, atualize ou crie um novo chat.'; @override - String get chatButtonRefreshChats => 'Atualizar chats'; + String get chatButtonRefreshChats => 'Atualizar conversas'; @override - String get chatButtonCreateNewChat => 'Criar novo chat'; + String get chatButtonCreateNewChat => 'Criar nova conversa'; @override String get chatContextMenuCopyMessage => 'Copiar texto'; @override - String get chatStatusProcessingMessages => 'Digitando...\nSó um momento...'; + String get chatStatusProcessingMessages => 'Digitando\nUm momento'; @override String get chatNoConnectionLabel => - 'Por favor, verifique sua conexão com a internet'; + 'Atualizando...\nPor favor, verifique sua conexão com a internet'; @override String get chatErrorMessageAlreadyProcessed => - 'A mensagem já está sendo processada neste momento.'; + 'A mensagem já está sendo processada agora mesmo.'; @override String get chatErrorMessageTooLong => 'A mensagem é muito longa.'; @@ -193,6 +208,9 @@ class ChatLocalizationPt extends ChatLocalization { @override String get chatActionButtonTooltipExportSummary => 'Exportar para PDF'; + @override + String get chatActionExportToPdfTitle => 'PDF'; + @override String get chatPickerPhotos => 'Fotos'; @@ -203,31 +221,431 @@ class ChatLocalizationPt extends ChatLocalization { String get chatPickerFiles => 'Arquivos'; @override - String get chatRecommendationYIAG => - 'Espero ter ajudado! Esta explicação foi útil para você?'; + String get chatPickerPhotosFiles => 'Fotos e Arquivos'; @override - String get chatRecommendationButtonDonate => 'Sim, está tudo bem!'; + String get chatRecommendationYIAG => + 'Espero que isso tenha ajudado! Essa explicação foi útil para você?'; @override - String get chatHistoryTitle => 'Histórico de bate-papo'; + String get chatRecommendationButtonDonate => 'Sim, está tudo bem!'; @override String get failedToRetrieveChatSummary => - 'Falha ao recuperar o resumo do bate-papo'; + 'Falha ao recuperar o resumo do chat'; @override String get chatSummaryCopiedToClipboard => - 'Resumo do bate-papo copiado para a área de transferência'; + 'Resumo do chat copiado para a área de transferência'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Experimente o Doctorina no aplicativo mobile!'; + + @override + String get getAppStoreLogoLabel => 'Baixe na'; + + @override + String get getGooglePlayLogoLabel => 'DISPONÍVEL NO'; + + @override + String get getAppStoreLogoTooltip => 'Baixar na App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Disponível no Google Play'; + + @override + String get reportMessageDialogTitle => 'Reportar Mensagem'; + + @override + String get reportMessageDialogSubtitle => + 'Por que você está relatando esta mensagem?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Opcional: Descreva o que há de errado com esta mensagem...'; + + @override + String get reportMessageDialogWhyImportant => + 'Isso nos ajudará a melhorar nossas respostas de IA'; + + @override + String get reportMessageDialogCancelButton => 'Cancelar'; + + @override + String get reportMessageDialogReportButton => 'Reportar'; + + @override + String get reportMessageSnackbarSuccess => + 'Obrigado pelo seu feedback! O relatório foi enviado.'; + + @override + String get reportMessageSnackbarFailed => 'Falha ao enviar o relatório'; + + @override + String get copyMessageSnackbarSuccess => + 'Copiado para a área de transferência'; + + @override + String get copyMessageSnackbarFailed => 'Falha ao copiar a mensagem'; + + @override + String get chatContextMenuReportMessage => 'Reportar Mensagem'; + + @override + String get chatDropZoneTitle => 'Envie para o chat Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Arraste e solte arquivos aqui para adicionar ao chat'; + + @override + String get chatDropZoneText => + 'Você pode adicionar até 15 arquivos a uma mensagem'; + + @override + String get notificationBannerText => + 'Você gostaria que eu o notificasse se algo importante surgir sobre sua saúde?'; + + @override + String get notificationBannerButtonEnable => 'Sim, me notifique'; + + @override + String get notificationBannerButtonDisable => 'Talvez mais tarde'; + + @override + String get notificationBannerButtonClose => 'Fechar'; + + @override + String get notificationAreBlockedSystem => + 'As notificações estão bloqueadas no nível do sistema. Ative-as nas configurações do sistema antes de ativar as notificações do Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'As notificações estão bloqueadas no nível do sistema. Ative-as nas configurações do navegador antes de ativar as notificações do Doctorina.'; + + @override + String get notificationDialogTitle => 'Fique atualizado sobre sua consulta'; + + @override + String get notificationDialogDescription => + 'Doctorina pode notificá-lo quando novas informações ou atualizações sobre sua saúde estiverem disponíveis.'; + + @override + String get notificationDialogEnableButton => 'Ativar notificações'; + + @override + String get notificationDialogLaterButton => 'Talvez mais tarde'; + + @override + String get termsAndConditionBannerText => + 'Ao continuar, você consente com o processamento de dados pessoais, com o uso de cookies, concorda com os terms and conditions e reconhece a

privacy policy

. Você também reconhece que sua consulta é realizada com uma IA e não com um profissional de saúde licenciado'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Dispensar'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Salve este chat primeiro?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Cadastre-se gratuitamente para salvar esta consulta antes de iniciar uma nova'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'Iniciar sem salvar'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Inscreva-se'; + + @override + String get inputBlockerContinueMessage => + 'Para continuar a conversa, escolha uma opção acima'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Fechar'; + + @override + String get chatAttachmentRemoveTooltip => 'Remover anexo'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Falha ao selecionar arquivos da área de arrastar e soltar'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Por favor, insira uma mensagem ou anexe um arquivo'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Por favor, aguarde a conclusão dos uploads'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'A mensagem está sendo processada'; + + @override + String get chatAttachmentErrorMessageTooLong => 'A mensagem é muito longa'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'A mensagem já está sendo processada.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'A conexão está permanentemente fechada'; + + @override + String get chatAttachmentErrorNoConnection => 'Sem conexão com o servidor'; + + @override + String get chatAttachmentErrorPickFiles => 'Falha ao selecionar arquivos'; + + @override + String get chatAttachmentErrorPickImages => 'Falha ao selecionar imagens'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Falha ao capturar foto da câmera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Você pode anexar até $count arquivos de uma vez.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Limpar texto reconhecido'; + + @override + String get chatInputTooltipMessageTooLong => 'A mensagem é muito longa.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Por favor, aguarde a conclusão dos uploads'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'O $kind \"$name\" já está anexado e não foi adicionado novamente.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'O $kind \"$name\" é um duplicado de $exist e não foi adicionado.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'O $kind \"$name\" não foi adicionado porque o número máximo de anexos foi excedido.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'O arquivo \"$name\" está vazio.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'O arquivo está vazio.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'O arquivo \"$name\" excede o tamanho máximo permitido.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'O arquivo excede o tamanho máximo permitido.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Ocorreu um erro ao processar o arquivo \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Ocorreu um erro ao processar o arquivo'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'O arquivo \"$name\" não foi adicionado porque o número máximo de anexos foi excedido.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Um(s) arquivo(s) não foi(ram) adicionado(s) porque o número máximo de anexos foi excedido.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Um arquivo não foi adicionado porque o número máximo de anexos foi excedido.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Um arquivo sem nome foi tentado ser adicionado'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Um arquivo com uma extensão não suportada foi tentado ser adicionado: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Um arquivo com uma extensão não suportada foi tentado ser adicionado'; + + @override + String get chatAttachmentErrorFileNull => 'Impossível adicionar um arquivo'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'O arquivo \"$name\" é inválido e não pode ser adicionado.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Um arquivo é inválido e não pode ser adicionado'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'O item \"$name\" não é um arquivo válido'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Um item não é um arquivo válido'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Ocorreu um erro ao processar um item'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Ocorreu um erro ao processar um ou mais itens.'; + + @override + String get chatAttachmentErrorNoFiles => 'Nenhum arquivo foi adicionado'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Alguns arquivos foram ignorados devido a duplicatas com arquivos existentes.'; + + @override + String get chatAttachmentErrorUnknown => 'Ocorreu um erro desconhecido.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Os seguintes erros ocorreram ao anexar arquivos:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Falha ao compartilhar o arquivo: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Fechar'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Compartilhar'; + + @override + String get chatAttachmentPreviewLoading => 'Carregando arquivo...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Falha ao carregar o arquivo'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Ocorreu um erro desconhecido'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Tentar novamente'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Tipo de arquivo não suportado'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Não é possível visualizar $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Compartilhar arquivo'; + + @override + String get chatAttachmentPreviewErrorImage => 'Falha ao exibir a imagem'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Redefinir zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Falha ao carregar o PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Falha ao decodificar o conteúdo de texto.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'E $count mais erros.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'O arquivo está malformado'; + + @override + String get chatConsentRequiredTitle => 'Consentimento necessário'; + + @override + String get chatConsentRequiredText => + 'Ao continuar, você concorda com nossos Termos, Política de Privacidade, e uso de cookies, e confirma que esta consulta é fornecida por IA, não por um profissional médico licenciado.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Fechar'; + + @override + String get chatHistoryDelete => 'Excluir'; + + @override + String get chatDelete => 'Excluir chat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat \"$title\" excluído com sucesso.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Excluir o chat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Seus sintomas, resumo do diagnóstico e quaisquer recomendações neste chat serão removidos.\nEsta ação não pode ser desfeita.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Ampliar'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Reduzir zoom'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Redefinir zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Compartilhar'; + + @override + String get dateToday => 'Hoje'; + + @override + String get dateYesterday => 'Ontem'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Apenas a primeira página. Use Compartilhar para baixar o arquivo completo.'; } /// The translations for Portuguese, as used in Brazil (`pt_BR`). class ChatLocalizationPtBr extends ChatLocalizationPt { ChatLocalizationPtBr() : super('pt_BR'); - @override - String get title => 'Bater papo'; - @override String get drawerTooltipNotifications => 'Notificações'; @@ -244,19 +662,19 @@ class ChatLocalizationPtBr extends ChatLocalizationPt { String get drawerSectionProfile => 'Perfil'; @override - String get drawerSectionAccountSettings => 'Configurações de Conta'; + String get drawerSectionAccountSettings => 'Configurações da Conta'; @override String get drawerSectionDonateToSupport => 'Doe para apoiar'; @override - String get drawerSectionSubscription => 'Subscrição'; + String get drawerSectionSubscription => 'Assinatura'; @override - String get drawerSectionTitleChats => 'Bate-papos'; + String get drawerSectionTitleChats => 'Conversas'; @override - String get drawerSectionChatHistory => 'Histórico de bate-papo'; + String get drawerSectionChatHistory => 'Histórico de Chats'; @override String get drawerSectionAttachedDocuments => 'Documentos anexados'; @@ -271,7 +689,7 @@ class ChatLocalizationPtBr extends ChatLocalizationPt { String get drawerSectionTitleLegal => 'Jurídico'; @override - String get drawerSectionContactUs => 'Contate-nos'; + String get drawerSectionContactUs => 'Fale Conosco'; @override String get drawerSectionBugReport => 'Relatório de bug'; @@ -280,23 +698,23 @@ class ChatLocalizationPtBr extends ChatLocalizationPt { String get drawerSectionTermsAndConditions => 'Termos e Condições'; @override - String get drawerSectionPrivacyPolicy => 'política de Privacidade'; + String get drawerSectionPrivacyPolicy => 'Política de Privacidade'; @override - String get drawerSectionTitleFeedback => 'Opinião'; + String get drawerSectionTitleFeedback => 'Feedback'; @override - String get drawerSectionRateApp => 'Avalie o aplicativo'; + String get drawerSectionRateApp => 'Avalie o app'; @override - String get drawerSectionShareWithFriends => 'Compartilhe com amigos'; + String get drawerSectionShareWithFriends => 'Compartilhar com amigos'; @override String get drawerButtonLogOut => 'Sair'; @override String get drawerBannerHelpOthersReceiveMedicalCare => - 'Ajude outras pessoas a receber cuidados médicos'; + 'Ajude outros a receber atendimento médico'; @override String get drawerPlaceholderUser => 'Usuário'; @@ -306,7 +724,7 @@ class ChatLocalizationPtBr extends ChatLocalizationPt { 'Recursos Premium\ncom Doctorina'; @override - String get drawerSubscriptionButtonGetPremiumFeatures => 'Pegar'; + String get drawerSubscriptionButtonGetPremiumFeatures => 'Obter'; @override String get drawerLabelJoinUs => 'Junte-se a nós'; @@ -314,6 +732,18 @@ class ChatLocalizationPtBr extends ChatLocalizationPt { @override String get drawerTooltipVersion => 'Versão do aplicativo:'; + @override + String get drawerSectionRecentChats => 'Chats recentes'; + + @override + String get drawerPlaceholderProfile => 'Perfil'; + + @override + String get drawerPlaceholderRecentChat => 'Chat recente'; + + @override + String get drawerSectionDownloadApps => 'Baixar aplicativos'; + @override String get chatInputHintEnterMessage => 'Digite a mensagem'; @@ -321,7 +751,10 @@ class ChatLocalizationPtBr extends ChatLocalizationPt { String get chatInputTooltipAttachFile => 'Anexar arquivo'; @override - String get chatInputTooltipDictateMessage => 'Ditar mensagem'; + String get chatInputTooltipDictateMessage => 'Ditado'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Finalizar e transcrever'; @override String get chatInputTooltipSendMessage => 'Enviar mensagem'; @@ -332,7 +765,7 @@ class ChatLocalizationPtBr extends ChatLocalizationPt { @override String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => - 'Falha ao buscar mensagens. Tente novamente.'; + 'Falha ao buscar mensagens. Por favor, tente novamente.'; @override String get chatListTooltipFetchMessages => 'Buscar mensagens'; @@ -348,53 +781,56 @@ class ChatLocalizationPtBr extends ChatLocalizationPt { String get chatListNoConnection => 'Sem conexão'; @override - String get chatActionButtonTooltipSearch => 'Procurar'; + String get chatActionButtonTooltipSearch => 'Pesquisar'; @override String get chatActionButtonTooltipFavorites => 'Favoritos'; @override - String get chatActionButtonTooltipDownload => 'Download'; + String get chatActionButtonTooltipDownload => 'Baixar'; @override String get chatActionButtonTooltipPrintPdf => 'Imprimir PDF'; @override String get chatActionButtonTooltipShareWithFriends => - 'Compartilhe com amigos'; + 'Compartilhar com amigos'; @override - String get chatActionButtonTooltipNewChat => 'Novo bate-papo'; + String get chatActionButtonTooltipNewChat => 'Nova conversa'; @override - String get chatActionButtonTooltipChatList => 'Selecione Bate-papo'; + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Selecionar bate-papo'; @override String get chatActionButtonTooltipShowDrawer => 'Mostrar gaveta'; @override String get chatLabelNoChatAvailableRefresh => - 'Nenhum chat disponível. Atualize ou crie um novo chat.'; + 'Nenhum chat disponível. Por favor, atualize ou crie um novo chat.'; @override - String get chatButtonRefreshChats => 'Atualizar chats'; + String get chatButtonRefreshChats => 'Atualizar conversas'; @override - String get chatButtonCreateNewChat => 'Criar novo chat'; + String get chatButtonCreateNewChat => 'Criar nova conversa'; @override String get chatContextMenuCopyMessage => 'Copiar texto'; @override - String get chatStatusProcessingMessages => 'Digitando...\nSó um momento...'; + String get chatStatusProcessingMessages => 'Digitando\nUm momento'; @override String get chatNoConnectionLabel => - 'Por favor, verifique sua conexão com a internet'; + 'Atualizando...\nPor favor, verifique sua conexão com a internet'; @override String get chatErrorMessageAlreadyProcessed => - 'A mensagem já está sendo processada neste momento.'; + 'A mensagem já está sendo processada agora mesmo.'; @override String get chatErrorMessageTooLong => 'A mensagem é muito longa.'; @@ -408,6 +844,9 @@ class ChatLocalizationPtBr extends ChatLocalizationPt { @override String get chatActionButtonTooltipExportSummary => 'Exportar para PDF'; + @override + String get chatActionExportToPdfTitle => 'PDF'; + @override String get chatPickerPhotos => 'Fotos'; @@ -418,20 +857,423 @@ class ChatLocalizationPtBr extends ChatLocalizationPt { String get chatPickerFiles => 'Arquivos'; @override - String get chatRecommendationYIAG => - 'Espero ter ajudado! Esta explicação foi útil para você?'; + String get chatPickerPhotosFiles => 'Fotos e Arquivos'; @override - String get chatRecommendationButtonDonate => 'Sim, está tudo bem!'; + String get chatRecommendationYIAG => + 'Espero que isso tenha ajudado! Essa explicação foi útil para você?'; @override - String get chatHistoryTitle => 'Histórico de bate-papo'; + String get chatRecommendationButtonDonate => 'Sim, está tudo bem!'; @override String get failedToRetrieveChatSummary => - 'Falha ao recuperar o resumo do bate-papo'; + 'Falha ao recuperar o resumo do chat'; @override String get chatSummaryCopiedToClipboard => - 'Resumo do bate-papo copiado para a área de transferência'; + 'Resumo do chat copiado para a área de transferência'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Experimente o Doctorina no aplicativo mobile!'; + + @override + String get getAppStoreLogoLabel => 'Baixe na'; + + @override + String get getGooglePlayLogoLabel => 'DISPONÍVEL NO'; + + @override + String get getAppStoreLogoTooltip => 'Baixar na App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Disponível no Google Play'; + + @override + String get reportMessageDialogTitle => 'Reportar Mensagem'; + + @override + String get reportMessageDialogSubtitle => + 'Por que você está relatando esta mensagem?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Opcional: Descreva o que há de errado com esta mensagem...'; + + @override + String get reportMessageDialogWhyImportant => + 'Isso nos ajudará a melhorar nossas respostas de IA'; + + @override + String get reportMessageDialogCancelButton => 'Cancelar'; + + @override + String get reportMessageDialogReportButton => 'Reportar'; + + @override + String get reportMessageSnackbarSuccess => + 'Obrigado pelo seu feedback! O relatório foi enviado.'; + + @override + String get reportMessageSnackbarFailed => 'Falha ao enviar o relatório'; + + @override + String get copyMessageSnackbarSuccess => + 'Copiado para a área de transferência'; + + @override + String get copyMessageSnackbarFailed => 'Falha ao copiar a mensagem'; + + @override + String get chatContextMenuReportMessage => 'Reportar Mensagem'; + + @override + String get chatDropZoneTitle => 'Envie para o chat Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Arraste e solte arquivos aqui para adicionar ao chat'; + + @override + String get chatDropZoneText => + 'Você pode adicionar até 15 arquivos a uma mensagem'; + + @override + String get notificationBannerText => + 'Você gostaria que eu o notificasse se algo importante surgir sobre sua saúde?'; + + @override + String get notificationBannerButtonEnable => 'Sim, me notifique'; + + @override + String get notificationBannerButtonDisable => 'Talvez mais tarde'; + + @override + String get notificationBannerButtonClose => 'Fechar'; + + @override + String get notificationAreBlockedSystem => + 'As notificações estão bloqueadas no nível do sistema. Ative-as nas configurações do sistema antes de ativar as notificações do Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'As notificações estão bloqueadas no nível do sistema. Ative-as nas configurações do navegador antes de ativar as notificações do Doctorina.'; + + @override + String get notificationDialogTitle => 'Fique atualizado sobre sua consulta'; + + @override + String get notificationDialogDescription => + 'Doctorina pode notificá-lo quando novas informações ou atualizações sobre sua saúde estiverem disponíveis.'; + + @override + String get notificationDialogEnableButton => 'Ativar notificações'; + + @override + String get notificationDialogLaterButton => 'Talvez mais tarde'; + + @override + String get termsAndConditionBannerText => + 'Ao continuar, você consente com o processamento de dados pessoais, com o uso de cookies, concorda com os terms and conditions e reconhece a

privacy policy

. Você também reconhece que sua consulta é realizada com uma IA e não com um profissional de saúde licenciado'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Dispensar'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Salve este chat primeiro?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Cadastre-se gratuitamente para salvar esta consulta antes de iniciar uma nova'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'Iniciar sem salvar'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Inscreva-se'; + + @override + String get inputBlockerContinueMessage => + 'Para continuar a conversa, escolha uma opção acima'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Fechar'; + + @override + String get chatAttachmentRemoveTooltip => 'Remover anexo'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Falha ao selecionar arquivos da área de arrastar e soltar'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Por favor, insira uma mensagem ou anexe um arquivo'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Por favor, aguarde a conclusão dos uploads'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'A mensagem está sendo processada'; + + @override + String get chatAttachmentErrorMessageTooLong => 'A mensagem é muito longa'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'A mensagem já está sendo processada.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'A conexão está permanentemente fechada'; + + @override + String get chatAttachmentErrorNoConnection => 'Sem conexão com o servidor'; + + @override + String get chatAttachmentErrorPickFiles => 'Falha ao selecionar arquivos'; + + @override + String get chatAttachmentErrorPickImages => 'Falha ao selecionar imagens'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Falha ao capturar foto da câmera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Você pode anexar até $count arquivos de uma vez.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Limpar texto reconhecido'; + + @override + String get chatInputTooltipMessageTooLong => 'A mensagem é muito longa.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Por favor, aguarde a conclusão dos uploads'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'O $kind \"$name\" já está anexado e não foi adicionado novamente.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'O $kind \"$name\" é um duplicado de $exist e não foi adicionado.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'O $kind \"$name\" não foi adicionado porque o número máximo de anexos foi excedido.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'O arquivo \"$name\" está vazio.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'O arquivo está vazio.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'O arquivo \"$name\" excede o tamanho máximo permitido.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'O arquivo excede o tamanho máximo permitido.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Ocorreu um erro ao processar o arquivo \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Ocorreu um erro ao processar o arquivo'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'O arquivo \"$name\" não foi adicionado porque o número máximo de anexos foi excedido.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Um(s) arquivo(s) não foi(ram) adicionado(s) porque o número máximo de anexos foi excedido.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Um arquivo não foi adicionado porque o número máximo de anexos foi excedido.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Um arquivo sem nome foi tentado ser adicionado'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Um arquivo com uma extensão não suportada foi tentado ser adicionado: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Um arquivo com uma extensão não suportada foi tentado ser adicionado'; + + @override + String get chatAttachmentErrorFileNull => 'Impossível adicionar um arquivo'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'O arquivo \"$name\" é inválido e não pode ser adicionado.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Um arquivo é inválido e não pode ser adicionado'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'O item \"$name\" não é um arquivo válido'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Um item não é um arquivo válido'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Ocorreu um erro ao processar um item'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Ocorreu um erro ao processar um ou mais itens.'; + + @override + String get chatAttachmentErrorNoFiles => 'Nenhum arquivo foi adicionado'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Alguns arquivos foram ignorados devido a duplicatas com arquivos existentes.'; + + @override + String get chatAttachmentErrorUnknown => 'Ocorreu um erro desconhecido.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Os seguintes erros ocorreram ao anexar arquivos:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Falha ao compartilhar o arquivo: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Fechar'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Compartilhar'; + + @override + String get chatAttachmentPreviewLoading => 'Carregando arquivo...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Falha ao carregar o arquivo'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Ocorreu um erro desconhecido'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Tentar novamente'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Tipo de arquivo não suportado'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Não é possível visualizar $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Compartilhar arquivo'; + + @override + String get chatAttachmentPreviewErrorImage => 'Falha ao exibir a imagem'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Redefinir zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Falha ao carregar o PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Falha ao decodificar o conteúdo de texto.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'E $count mais erros.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'O arquivo está malformado'; + + @override + String get chatConsentRequiredTitle => 'Consentimento necessário'; + + @override + String get chatConsentRequiredText => + 'Ao continuar, você concorda com nossos Termos, Política de Privacidade, e uso de cookies, e confirma que esta consulta é fornecida por IA, não por um profissional médico licenciado.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Fechar'; + + @override + String get chatHistoryDelete => 'Excluir'; + + @override + String get chatDelete => 'Excluir chat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat \"$title\" excluído com sucesso.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Excluir o chat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Seus sintomas, resumo do diagnóstico e quaisquer recomendações neste chat serão removidos.\nEsta ação não pode ser desfeita.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Ampliar'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Reduzir zoom'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Redefinir zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Compartilhar'; + + @override + String get dateToday => 'Hoje'; + + @override + String get dateYesterday => 'Ontem'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Apenas a primeira página. Use Compartilhar para baixar o arquivo completo.'; } diff --git a/example/lib/src/generated/chat/chat_localization_ro.dart b/example/lib/src/generated/chat/chat_localization_ro.dart new file mode 100644 index 0000000..ac4511a --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_ro.dart @@ -0,0 +1,642 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Romanian Moldavian Moldovan (`ro`). +class ChatLocalizationRo extends ChatLocalization { + ChatLocalizationRo([String locale = 'ro']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Notificări'; + + @override + String get drawerTooltipHelp => 'Ajutor'; + + @override + String get drawerTooltipClose => 'Închide'; + + @override + String get drawerSectionTitleAccount => 'Cont'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Setări cont'; + + @override + String get drawerSectionDonateToSupport => 'Donează pentru a susține'; + + @override + String get drawerSectionSubscription => 'Abonament'; + + @override + String get drawerSectionTitleChats => 'Conversații'; + + @override + String get drawerSectionChatHistory => 'Istoricul chat-urilor'; + + @override + String get drawerSectionAttachedDocuments => 'Documente atașate'; + + @override + String get drawerSectionTitleHowToUse => 'Cum să folosești'; + + @override + String get drawerSectionVideoTutorials => 'Tutoriale video'; + + @override + String get drawerSectionTitleLegal => 'Legal'; + + @override + String get drawerSectionContactUs => 'Contactați-ne'; + + @override + String get drawerSectionBugReport => 'Raport de eroare'; + + @override + String get drawerSectionTermsAndConditions => 'Termeni și condiții'; + + @override + String get drawerSectionPrivacyPolicy => 'Politica de confidențialitate'; + + @override + String get drawerSectionTitleFeedback => 'Feedback'; + + @override + String get drawerSectionRateApp => 'Evaluează aplicația'; + + @override + String get drawerSectionShareWithFriends => 'Împărtășește cu prietenii'; + + @override + String get drawerButtonLogOut => 'Deconectare'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Ajutați-i pe alții să primească îngrijiri medicale'; + + @override + String get drawerPlaceholderUser => 'User'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Funcții premium\ncu Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Obțineți'; + + @override + String get drawerLabelJoinUs => 'Alătură-te nouă'; + + @override + String get drawerTooltipVersion => 'Versiunea aplicației:'; + + @override + String get drawerSectionRecentChats => 'Chat-uri recente'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Chat recent'; + + @override + String get drawerSectionDownloadApps => 'Descarcă aplicații'; + + @override + String get chatInputHintEnterMessage => 'Introduceți mesajul'; + + @override + String get chatInputTooltipAttachFile => 'Atașați fișier'; + + @override + String get chatInputTooltipDictateMessage => 'Dictează'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Terminare și transcriere'; + + @override + String get chatInputTooltipSendMessage => 'Trimite mesaj'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Nu s-au putut prelua mesajele'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Nu s-au putut prelua mesajele. Vă rugăm să încercați din nou.'; + + @override + String get chatListTooltipFetchMessages => 'Recuperați mesajele'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Nu sunt disponibile mesaje. Vă rugăm să trimiteți un mesaj pentru a începe conversația.'; + + @override + String get chatListHasConnection => 'Conectat'; + + @override + String get chatListNoConnection => 'Fără conexiune'; + + @override + String get chatActionButtonTooltipSearch => 'Caută'; + + @override + String get chatActionButtonTooltipFavorites => 'Preferate'; + + @override + String get chatActionButtonTooltipDownload => 'Descarcă'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Tipăriți PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'Împărtășește cu prietenii'; + + @override + String get chatActionButtonTooltipNewChat => 'Chat nou'; + + @override + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Selectați chatul'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Arată sertarul'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Nu sunt disponibile chat-uri. Vă rugăm să reîmprospătați sau să creați un chat nou.'; + + @override + String get chatButtonRefreshChats => 'Reîmprospătează conversațiile'; + + @override + String get chatButtonCreateNewChat => 'Creează un chat nou'; + + @override + String get chatContextMenuCopyMessage => 'Copiați textul'; + + @override + String get chatStatusProcessingMessages => 'Se scrie'; + + @override + String get chatNoConnectionLabel => + 'Se actualizează...\nVă rugăm să verificați conexiunea la internet'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Mesajul este deja în curs de procesare.'; + + @override + String get chatErrorMessageTooLong => 'Mesajul este prea lung.'; + + @override + String get chatRemoveAttachmentTooltip => 'Elimină atașamentul'; + + @override + String get chatStatusFailedMessage => 'Eșec la procesarea mesajului'; + + @override + String get chatActionButtonTooltipExportSummary => 'Exportați în PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Fotografii'; + + @override + String get chatPickerCamera => 'Cameră'; + + @override + String get chatPickerFiles => 'Fișiere'; + + @override + String get chatPickerPhotosFiles => 'Fotografii și Fișiere'; + + @override + String get chatRecommendationYIAG => + 'Sper că a ajutat! A fost această explicație utilă pentru tine?'; + + @override + String get chatRecommendationButtonDonate => 'Da, totul este bine!'; + + @override + String get failedToRetrieveChatSummary => + 'Nu s-a reușit recuperarea rezumatului chat-ului'; + + @override + String get chatSummaryCopiedToClipboard => + 'Rezumatul chat-ului a fost copiat în clipboard'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Încearcă Doctorina în aplicația mobilă!'; + + @override + String get getAppStoreLogoLabel => 'Descarcă pe'; + + @override + String get getGooglePlayLogoLabel => 'IA PE'; + + @override + String get getAppStoreLogoTooltip => 'Descarcă din App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Obțineți-l pe Google Play'; + + @override + String get reportMessageDialogTitle => 'Raportează mesajul'; + + @override + String get reportMessageDialogSubtitle => 'De ce raportați acest mesaj?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Opțional: Descrieți ce este în neregulă cu acest mesaj...'; + + @override + String get reportMessageDialogWhyImportant => + 'Acest lucru ne va ajuta să ne îmbunătățim răspunsurile AI.'; + + @override + String get reportMessageDialogCancelButton => 'Anulează'; + + @override + String get reportMessageDialogReportButton => 'Raportează'; + + @override + String get reportMessageSnackbarSuccess => + 'Vă mulțumim pentru feedback! Raportul a fost trimis.'; + + @override + String get reportMessageSnackbarFailed => 'A eșuat trimiterea raportului'; + + @override + String get copyMessageSnackbarSuccess => 'Copiat în clipboard'; + + @override + String get copyMessageSnackbarFailed => 'A eșuat copierea mesajului'; + + @override + String get chatContextMenuReportMessage => 'Raportează mesajul'; + + @override + String get chatDropZoneTitle => 'Încărcați în chatul Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Trageți și lăsați fișierele aici pentru a le adăuga la chat'; + + @override + String get chatDropZoneText => + 'Puteți adăuga până la 15 fișiere într-un mesaj'; + + @override + String get notificationBannerText => + 'Doriți să vă notific dacă apare ceva important legat de sănătatea dumneavoastră?'; + + @override + String get notificationBannerButtonEnable => 'Da, notifică-mă'; + + @override + String get notificationBannerButtonDisable => 'Poate mai târziu'; + + @override + String get notificationBannerButtonClose => 'Închide'; + + @override + String get notificationAreBlockedSystem => + 'Notificările sunt blocate la nivel de sistem. Activați-le în setările sistemului înainte de a activa notificările Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Notificările sunt blocate la nivel de sistem. Activați-le în setările browserului înainte de a activa notificările Doctorina.'; + + @override + String get notificationDialogTitle => 'Rămâi la curent cu consultația ta'; + + @override + String get notificationDialogDescription => + 'Doctorina te poate anunța când sunt disponibile noi informații sau actualizări despre sănătatea ta.'; + + @override + String get notificationDialogEnableButton => 'Activare notificări'; + + @override + String get notificationDialogLaterButton => 'Poate mai târziu'; + + @override + String get termsAndConditionBannerText => + 'Continuând, consimți la prelucrarea datelor cu caracter personal, la utilizarea cookies, accepți termenii și condițiile și recunoști

politica de confidențialitate

. De asemenea, recunoști că consultația ta se face cu un AI și nu cu un profesionist medical autorizat'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Renunță'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Salvează acest chat mai întâi?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Înscrie-te gratuit pentru a salva această consultație înainte de a începe una nouă'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Pornește fără salvare'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Înregistrează-te'; + + @override + String get inputBlockerContinueMessage => + 'Pentru a continua conversația, alege o opțiune de mai sus'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Închide'; + + @override + String get chatAttachmentRemoveTooltip => 'Elimină atașamentul'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Nu s-au putut selecta fișiere din zona de drop'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Vă rugăm să introduceți un mesaj sau să atașați un fișier'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Vă rugăm să așteptați finalizarea încărcărilor'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'Mesajul este în curs de procesare'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Mesajul este prea lung'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Mesajul este deja în curs de procesare.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Conexiunea este închisă permanent.'; + + @override + String get chatAttachmentErrorNoConnection => 'Nicio conexiune la server'; + + @override + String get chatAttachmentErrorPickFiles => 'Nu s-au putut selecta fișierele'; + + @override + String get chatAttachmentErrorPickImages => 'Nu s-au putut selecta imagini'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Capturarea fotografiei de la cameră a eșuat'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Puteți atașa până la $count fișiere odată.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Șterge textul recunoscut'; + + @override + String get chatInputTooltipMessageTooLong => 'Mesajul este prea lung.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Vă rugăm să așteptați finalizarea încărcărilor.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Tipul $kind \"$name\" este deja atașat și nu a fost adăugat din nou.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" este un duplicat al $exist și nu a fost adăugat.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Fișierul $kind \"$name\" nu a fost adăugat deoarece numărul maxim de atașamente a fost depășit.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Fișierul \"$name\" este gol.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Fișierul este gol.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Fișierul \"$name\" depășește dimensiunea maximă permisă.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Fișierul depășește dimensiunea maximă permisă.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'A apărut o eroare în timpul procesării fișierului \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'A apărut o eroare în timpul procesării fișierului.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Fișierul \"$name\" nu a fost adăugat deoarece numărul maxim de atașamente a fost depășit.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Un fișier(e) nu a fost adăugat(ă) deoarece numărul maxim de atașamente a fost depășit.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Un fișier nu a fost adăugat deoarece numărul maxim de atașamente a fost depășit.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'A fost încercată adăugarea unui fișier fără nume'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'A fost încercată adăugarea unui fișier cu o extensie nesuportată: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'A fost încercată adăugarea unui fișier cu o extensie nesuportată.'; + + @override + String get chatAttachmentErrorFileNull => 'Imposibil de a adăuga un fișier.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Fișierul \"$name\" este invalid și nu poate fi adăugat.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Un fișier este invalid și nu poate fi adăugat.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Elementul \"$name\" nu este un fișier valid.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Un element nu este un fișier valid.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'A apărut o eroare în procesarea unui element.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'A apărut o eroare în procesarea unui element(e).'; + + @override + String get chatAttachmentErrorNoFiles => 'Nu au fost adăugate fișiere.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Unele fișiere au fost omise din cauza duplicatelor cu fișierele existente.'; + + @override + String get chatAttachmentErrorUnknown => 'A apărut o eroare necunoscută.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Următoarele erori au apărut în timpul atașării fișierelor:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'A împărtășit fișierul: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Închide'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Împărtășește'; + + @override + String get chatAttachmentPreviewLoading => 'Se încarcă fișierul...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Eșec la încărcarea fișierului'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'A apărut o eroare necunoscută'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Reîncercați'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'Tip de fișier nesuportat'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Nu se poate previzualiza $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Partajează fișierul'; + + @override + String get chatAttachmentPreviewErrorImage => 'A afișa imaginea a eșuat'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Resetează zoomul'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Încărcarea PDF-ului a eșuat'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Nu s-a reușit decodarea conținutului textului'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Și $count erori în plus.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Fișierul este defect'; + + @override + String get chatConsentRequiredTitle => 'Consimțământ necesar'; + + @override + String get chatConsentRequiredText => + 'Continuând, ești de acord cu Termenii, Politica de confidențialitate și utilizarea cookie-urilor și confirmi că această consultație este oferită de AI, nu de un profesionist medical autorizat.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Închide'; + + @override + String get chatHistoryDelete => 'Șterge'; + + @override + String get chatDelete => 'Ștergeți chatul'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat „$title” șters cu succes.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Șterge chat-ul?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Simptomele, rezumatul diagnostic și orice recomandări din acest chat vor fi șterse.\nAceastă acțiune nu poate fi anulată.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Zoomați'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Zoom Out'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Resetare zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Împărtășește'; + + @override + String get dateToday => 'Astăzi'; + + @override + String get dateYesterday => 'Ieri'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Doar prima pagină. Folosește Share pentru a descărca fișierul complet.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_ru.dart b/example/lib/src/generated/chat/chat_localization_ru.dart index b608995..31a03d5 100644 --- a/example/lib/src/generated/chat/chat_localization_ru.dart +++ b/example/lib/src/generated/chat/chat_localization_ru.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'chat_localization.dart'; class ChatLocalizationRu extends ChatLocalization { ChatLocalizationRu([String locale = 'ru']) : super(locale); - @override - String get title => 'Чат'; - @override String get drawerTooltipNotifications => 'Уведомления'; @@ -23,7 +20,7 @@ class ChatLocalizationRu extends ChatLocalization { String get drawerTooltipClose => 'Закрыть'; @override - String get drawerSectionTitleAccount => 'Аккаунт'; + String get drawerSectionTitleAccount => 'Учётная запись'; @override String get drawerSectionProfile => 'Профиль'; @@ -32,7 +29,7 @@ class ChatLocalizationRu extends ChatLocalization { String get drawerSectionAccountSettings => 'Настройки аккаунта'; @override - String get drawerSectionDonateToSupport => 'Поддержать проект'; + String get drawerSectionDonateToSupport => 'Пожертвовать на поддержку'; @override String get drawerSectionSubscription => 'Подписка'; @@ -44,34 +41,34 @@ class ChatLocalizationRu extends ChatLocalization { String get drawerSectionChatHistory => 'История чатов'; @override - String get drawerSectionAttachedDocuments => 'Прикреплённые файлы'; + String get drawerSectionAttachedDocuments => 'Прикрепленные документы'; @override - String get drawerSectionTitleHowToUse => 'Как пользоваться'; + String get drawerSectionTitleHowToUse => 'Как использовать'; @override - String get drawerSectionVideoTutorials => 'Видеоинструкция'; + String get drawerSectionVideoTutorials => 'Видеоуроки'; @override - String get drawerSectionTitleLegal => 'Правовая информация'; + String get drawerSectionTitleLegal => 'Юридическая'; @override String get drawerSectionContactUs => 'Связаться с нами'; @override - String get drawerSectionBugReport => 'Отчёт об ошибке'; + String get drawerSectionBugReport => 'Сообщить об ошибке'; @override - String get drawerSectionTermsAndConditions => 'Правила и условия'; + String get drawerSectionTermsAndConditions => 'Условия и положения'; @override - String get drawerSectionPrivacyPolicy => 'О конфиденциальности'; + String get drawerSectionPrivacyPolicy => 'Политика конфиденциальности'; @override String get drawerSectionTitleFeedback => 'Обратная связь'; @override - String get drawerSectionRateApp => 'Оцените нас'; + String get drawerSectionRateApp => 'Оценить приложение'; @override String get drawerSectionShareWithFriends => 'Поделиться с друзьями'; @@ -84,21 +81,33 @@ class ChatLocalizationRu extends ChatLocalization { 'Помогите другим получить медицинскую помощь'; @override - String get drawerPlaceholderUser => 'Пользователь '; + String get drawerPlaceholderUser => 'Пользователь'; @override String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => - 'Премиум-функции с Doctorina'; + 'Премиум возможности\nс Doctorina'; @override String get drawerSubscriptionButtonGetPremiumFeatures => 'Получить'; @override - String get drawerLabelJoinUs => 'Присоединяйтесь к нам'; + String get drawerLabelJoinUs => 'Присоединяйтесь'; @override String get drawerTooltipVersion => 'Версия приложения:'; + @override + String get drawerSectionRecentChats => 'Недавние чаты'; + + @override + String get drawerPlaceholderProfile => 'Профиль'; + + @override + String get drawerPlaceholderRecentChat => 'Недавний чат'; + + @override + String get drawerSectionDownloadApps => 'Скачать приложения'; + @override String get chatInputHintEnterMessage => 'Введите сообщение'; @@ -106,7 +115,10 @@ class ChatLocalizationRu extends ChatLocalization { String get chatInputTooltipAttachFile => 'Прикрепить файл'; @override - String get chatInputTooltipDictateMessage => 'Надиктовать сообщение'; + String get chatInputTooltipDictateMessage => 'Надиктовать'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Завершить и распознать'; @override String get chatInputTooltipSendMessage => 'Отправить сообщение'; @@ -117,14 +129,14 @@ class ChatLocalizationRu extends ChatLocalization { @override String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => - 'Не удалось получить сообщения. Пожалуйста, попробуйте ещё раз.'; + 'Не удалось загрузить сообщения. Пожалуйста, попробуйте ещё раз.'; @override String get chatListTooltipFetchMessages => 'Получить сообщения'; @override String get chatListLabelNoMessagesAvailable => - 'No messages available.\nPlease send a message to start the conversation.'; + 'Нет сообщений. Пожалуйста, отправьте сообщение, чтобы начать разговор.'; @override String get chatListHasConnection => 'Подключено'; @@ -150,50 +162,56 @@ class ChatLocalizationRu extends ChatLocalization { @override String get chatActionButtonTooltipNewChat => 'Новый чат'; + @override + String get chatActionButtonNewChat => 'Чат'; + @override String get chatActionButtonTooltipChatList => 'Выбрать чат'; @override - String get chatActionButtonTooltipShowDrawer => 'Открыть панель меню'; + String get chatActionButtonTooltipShowDrawer => 'Показать панель'; @override String get chatLabelNoChatAvailableRefresh => - 'Чаты отсутствуют. Обновите или создайте новый чат.'; + 'Нет доступных чатов. Пожалуйста, обновите или создайте новый чат.'; @override - String get chatButtonRefreshChats => 'Refresh chats'; + String get chatButtonRefreshChats => 'Обновить чаты'; @override - String get chatButtonCreateNewChat => 'Обновить чаты'; + String get chatButtonCreateNewChat => 'Создать новый чат'; @override String get chatContextMenuCopyMessage => 'Скопировать текст'; @override - String get chatStatusProcessingMessages => 'Печатает...\nЕще момент...'; + String get chatStatusProcessingMessages => 'Печатает\nПодождите немного'; @override String get chatNoConnectionLabel => - 'Пожалуйста, проверьте свое интернет-соединение.'; + 'Обновление...\nПожалуйста, проверьте ваше интернет-соединение'; @override String get chatErrorMessageAlreadyProcessed => - 'Сообщение уже обрабатывается.'; + 'Сообщение уже обрабатывается прямо сейчас.'; @override String get chatErrorMessageTooLong => 'Сообщение слишком длинное.'; @override - String get chatRemoveAttachmentTooltip => 'Удалить вложение.'; + String get chatRemoveAttachmentTooltip => 'Удалить вложение'; @override - String get chatStatusFailedMessage => 'Не удалось обработать сообщение.'; + String get chatStatusFailedMessage => 'Не удалось обработать сообщение'; @override - String get chatActionButtonTooltipExportSummary => 'Экспортировать в PDF'; + String get chatActionButtonTooltipExportSummary => 'Экспорт в PDF'; @override - String get chatPickerPhotos => 'Фотографии'; + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Фото'; @override String get chatPickerCamera => 'Камера'; @@ -202,14 +220,14 @@ class ChatLocalizationRu extends ChatLocalization { String get chatPickerFiles => 'Файлы'; @override - String get chatRecommendationYIAG => - 'Надеюсь, это помогло! Было ли это объяснение вам полезным?'; + String get chatPickerPhotosFiles => 'Фотографии и файлы'; @override - String get chatRecommendationButtonDonate => 'Да, все хорошо!'; + String get chatRecommendationYIAG => + 'Надеюсь, это помогло! Было ли это объяснение полезным для вас?'; @override - String get chatHistoryTitle => 'История чата'; + String get chatRecommendationButtonDonate => 'Да, всё в порядке!'; @override String get failedToRetrieveChatSummary => 'Не удалось получить сводку чата'; @@ -217,4 +235,409 @@ class ChatLocalizationRu extends ChatLocalization { @override String get chatSummaryCopiedToClipboard => 'Сводка чата скопирована в буфер обмена'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Попробуйте Doctorina в мобильном приложении!'; + + @override + String get getAppStoreLogoLabel => 'Скачать в'; + + @override + String get getGooglePlayLogoLabel => 'ДОСТУПНО В'; + + @override + String get getAppStoreLogoTooltip => 'Скачать в App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Получить в Google Play'; + + @override + String get reportMessageDialogTitle => 'Сообщить о сообщении'; + + @override + String get reportMessageDialogSubtitle => + 'Почему вы сообщаете об этом сообщении?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Необязательно: Опишите, что не так с этим сообщением...'; + + @override + String get reportMessageDialogWhyImportant => + 'Это поможет нам улучшить наши ответы ИИ'; + + @override + String get reportMessageDialogCancelButton => 'Отмена'; + + @override + String get reportMessageDialogReportButton => 'Сообщить'; + + @override + String get reportMessageSnackbarSuccess => + 'Спасибо за ваш отзыв! Жалоба была отправлена.'; + + @override + String get reportMessageSnackbarFailed => 'Не удалось отправить отчет'; + + @override + String get copyMessageSnackbarSuccess => 'Скопировано в буфер обмена'; + + @override + String get copyMessageSnackbarFailed => 'Не удалось скопировать сообщение'; + + @override + String get chatContextMenuReportMessage => 'Сообщить о сообщении'; + + @override + String get chatDropZoneTitle => 'Загрузите в чат Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Перетащите файлы сюда, чтобы добавить в чат'; + + @override + String get chatDropZoneText => + 'Вы можете добавить до 15 файлов в одно сообщение'; + + @override + String get notificationBannerText => + 'Хотите, чтобы я уведомил вас, если появится что-то важное о вашем здоровье?'; + + @override + String get notificationBannerButtonEnable => 'Да, уведомляйте меня'; + + @override + String get notificationBannerButtonDisable => 'Может быть позже'; + + @override + String get notificationBannerButtonClose => 'Закрыть'; + + @override + String get notificationAreBlockedSystem => + 'Уведомления отключены на уровне системы. Включите их в настройках системы перед активацией уведомлений Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Уведомления заблокированы на уровне системы. Включите их в настройках браузера перед активацией уведомлений Doctorina.'; + + @override + String get notificationDialogTitle => 'Будьте в курсе вашей консультации'; + + @override + String get notificationDialogDescription => + 'Докторина может уведомлять вас, когда доступны новые сведения или обновления о вашем здоровье.'; + + @override + String get notificationDialogEnableButton => 'Включить уведомления'; + + @override + String get notificationDialogLaterButton => 'Может быть позже'; + + @override + String get termsAndConditionBannerText => + 'Продолжая, вы даете согласие на обработку персональных данных, использование cookies, принимаете условия использования и подтверждаете ознакомление с

политикой конфиденциальности

. Также вы подтверждаете, что ваша консультация осуществляется с помощью ИИ, а не лицензированного медицинского специалиста'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Закрыть'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Сначала сохраните этот чат?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Зарегистрируйтесь бесплатно, чтобы сохранить эту консультацию перед началом новой'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Начать без сохранения'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Зарегистрироваться'; + + @override + String get inputBlockerContinueMessage => + 'Чтобы продолжить разговор, выберите вариант выше'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Закрыть'; + + @override + String get chatAttachmentRemoveTooltip => 'Удалить вложение'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Не удалось выбрать файлы из зоны перетаскивания'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Пожалуйста, введите сообщение или прикрепите файл'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Пожалуйста, подождите, пока загрузки завершатся'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Сообщение обрабатывается'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Сообщение слишком длинное'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Сообщение уже обрабатывается.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Соединение закрыто навсегда'; + + @override + String get chatAttachmentErrorNoConnection => 'Нет соединения с сервером'; + + @override + String get chatAttachmentErrorPickFiles => 'Не удалось выбрать файлы'; + + @override + String get chatAttachmentErrorPickImages => 'Не удалось выбрать изображения'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Не удалось сделать снимок с камеры'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Вы можете прикрепить до $count файлов одновременно'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'Очистить распознанный текст'; + + @override + String get chatInputTooltipMessageTooLong => 'Сообщение слишком длинное.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Пожалуйста, подождите, пока загрузки не завершатся'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Файл $kind \"$name\" уже прикреплён и не был добавлен снова'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Элемент $kind \"$name\" является дубликатом $exist и не был добавлен.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Файл $kind \"$name\" не был добавлен, так как превышен максимальный лимит вложений.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Файл \"$name\" пуст.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Файл пуст.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Файл \"$name\" превышает максимально допустимый размер.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Файл превышает максимально допустимый размер.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Произошла ошибка при обработке файла \"$name\"'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Произошла ошибка при обработке файла.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Файл \"$name\" не был добавлен, так как превышено максимальное количество вложений.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Файл(ы) не были добавлены, так как превышен максимальный лимит вложений.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Файл не был добавлен, так как превышено максимальное количество вложений.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Попытка добавить файл без имени.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Попытка добавить файл с неподдерживаемым расширением: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Попытка добавить файл с неподдерживаемым расширением.'; + + @override + String get chatAttachmentErrorFileNull => 'Невозможно добавить файл.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Файл \"$name\" недействителен и не может быть добавлен'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Файл недействителен и не может быть добавлен'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Элемент \"$name\" не является допустимым файлом.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Элемент не является допустимым файлом'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Произошла ошибка при обработке элемента.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Произошла ошибка при обработке элемента(ов)'; + + @override + String get chatAttachmentErrorNoFiles => 'Файлы не были добавлены'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Некоторые файлы были пропущены из-за дубликатов с существующими файлами'; + + @override + String get chatAttachmentErrorUnknown => 'Произошла неизвестная ошибка.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Произошли следующие ошибки при прикреплении файлов:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Не удалось поделиться файлом: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Закрыть'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Поделиться'; + + @override + String get chatAttachmentPreviewLoading => 'Загрузка файла...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Не удалось загрузить файл'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Произошла неизвестная ошибка'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Повторить'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Неподдерживаемый тип файла'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Невозможно просмотреть $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Поделиться файлом'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Не удалось отобразить изображение'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Сбросить масштаб'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Не удалось загрузить PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Не удалось декодировать текстовое содержимое'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'И еще $count ошибок.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Файл поврежден'; + + @override + String get chatConsentRequiredTitle => 'Требуется согласие'; + + @override + String get chatConsentRequiredText => + 'Продолжая, вы соглашаетесь с нашими Условиями, Политикой конфиденциальности и использованием файлов cookie и подтверждаете, что эта консультация предоставляется ИИ, а не лицензированным медицинским специалистом.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Закрыть'; + + @override + String get chatHistoryDelete => 'Удалить'; + + @override + String get chatDelete => 'Удалить чат'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Чат «$title» успешно удалён.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Удалить чат?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Ваши симптомы, резюме диагноза и любые рекомендации в этом чате будут удалены.\nЭто действие нельзя отменить.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Увеличить'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Уменьшить'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Сбросить масштаб'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Поделиться'; + + @override + String get dateToday => 'Сегодня'; + + @override + String get dateYesterday => 'Вчера'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Только первая страница. Используйте «Поделиться», чтобы скачать полный файл.'; } diff --git a/example/lib/src/generated/chat/chat_localization_si.dart b/example/lib/src/generated/chat/chat_localization_si.dart new file mode 100644 index 0000000..9d862ec --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_si.dart @@ -0,0 +1,639 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Sinhala Sinhalese (`si`). +class ChatLocalizationSi extends ChatLocalization { + ChatLocalizationSi([String locale = 'si']) : super(locale); + + @override + String get drawerTooltipNotifications => 'ඇතුල් කිරීම්'; + + @override + String get drawerTooltipHelp => 'ආධාරය'; + + @override + String get drawerTooltipClose => 'අවසන් කරන්න'; + + @override + String get drawerSectionTitleAccount => 'ගිණුම'; + + @override + String get drawerSectionProfile => 'පැතිකඩ'; + + @override + String get drawerSectionAccountSettings => 'ගිණුම් සැකසුම්'; + + @override + String get drawerSectionDonateToSupport => 'සහාය වීමට දායක වන්න'; + + @override + String get drawerSectionSubscription => 'අභිප්‍රාය'; + + @override + String get drawerSectionTitleChats => 'කතාබහ'; + + @override + String get drawerSectionChatHistory => 'චැට් ඉතිහාසය'; + + @override + String get drawerSectionAttachedDocuments => 'අමුණා ඇති ලේඛන'; + + @override + String get drawerSectionTitleHowToUse => 'කෙසේ භාවිතා කරන්න'; + + @override + String get drawerSectionVideoTutorials => 'වීඩියෝ උපදෙස්'; + + @override + String get drawerSectionTitleLegal => 'නීති'; + + @override + String get drawerSectionContactUs => 'අපට සම්බන්ධ වන්න'; + + @override + String get drawerSectionBugReport => 'බග් වාර්තාව'; + + @override + String get drawerSectionTermsAndConditions => 'නියමයන් සහ කොන්දේසි'; + + @override + String get drawerSectionPrivacyPolicy => 'රහස්‍යතා ප්‍රතිපත්ති'; + + @override + String get drawerSectionTitleFeedback => 'ප්‍රතිචාරය'; + + @override + String get drawerSectionRateApp => 'අයදුම්පත අගය කරන්න'; + + @override + String get drawerSectionShareWithFriends => 'මිතුරන්ට බෙදා ගන්න'; + + @override + String get drawerButtonLogOut => 'ලොග් ආවුට්'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'අනෙක් අයෙකුට වෛද්‍ය සේවාවක් ලබා ගැනීමට උදව් කරන්න'; + + @override + String get drawerPlaceholderUser => 'User'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'පෙරළි විශේෂාංග\nඩොක්ටරිනාව සමඟ'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'ලබන්න'; + + @override + String get drawerLabelJoinUs => 'අප හා එකතු වන්න'; + + @override + String get drawerTooltipVersion => 'ඇප් සංස්කරණය:'; + + @override + String get drawerSectionRecentChats => 'අලුත්ම කතාබහ'; + + @override + String get drawerPlaceholderProfile => 'පැතිකඩ'; + + @override + String get drawerPlaceholderRecentChat => 'අලුත්ම කතාබහ'; + + @override + String get drawerSectionDownloadApps => 'අයදුම්පත් බාගත කරන්න'; + + @override + String get chatInputHintEnterMessage => 'පණිවිඩය ඇතුළත් කරන්න'; + + @override + String get chatInputTooltipAttachFile => 'ගොනුවක් අමුණන්න'; + + @override + String get chatInputTooltipDictateMessage => 'ඉදිරිපත් කරන්න'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'අවසන් කරන්න සහ පරිවර්තනය කරන්න'; + + @override + String get chatInputTooltipSendMessage => 'පණිවිඩය යවන්න'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'පණිවිඩ ලබා ගැනීමට අසමත්'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'පණිවිඩ ලබා ගැනීමට අසමත් විය. කරුණාකර නැවත උත්සාහ කරන්න.'; + + @override + String get chatListTooltipFetchMessages => 'පණිවිඩ ලබා ගන්න'; + + @override + String get chatListLabelNoMessagesAvailable => + 'පණිවිඩ නොමැත. සංවාදය ආරම්භ කිරීමට පණිවිඩයක් යවන්න.'; + + @override + String get chatListHasConnection => 'සම්බන්ධයි'; + + @override + String get chatListNoConnection => 'සම්බන්ධතාවයක් නැත'; + + @override + String get chatActionButtonTooltipSearch => 'සොයන්න'; + + @override + String get chatActionButtonTooltipFavorites => 'ප්‍රියතම'; + + @override + String get chatActionButtonTooltipDownload => 'බාගත කරන්න'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF මුද්‍රණය කරන්න'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'මිතුරන්ට බෙදා ගන්න'; + + @override + String get chatActionButtonTooltipNewChat => 'නව කතාබස්'; + + @override + String get chatActionButtonNewChat => 'චැට්'; + + @override + String get chatActionButtonTooltipChatList => 'චැට් තෝරන්න'; + + @override + String get chatActionButtonTooltipShowDrawer => 'දැක්මක් කරන්න'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'චැට් ලබා ගත නොහැක. කරුණාකර යාවත්කාලීන කරන්න හෝ නව චැට් එකක් සාදන්න.'; + + @override + String get chatButtonRefreshChats => 'සංවාද යාවත්කාලීන කරන්න'; + + @override + String get chatButtonCreateNewChat => 'නව කතාබස් සාදන්න'; + + @override + String get chatContextMenuCopyMessage => 'පණිවිඩය පිටපත් කරන්න'; + + @override + String get chatStatusProcessingMessages => 'ටයිප් කරමින්'; + + @override + String get chatNoConnectionLabel => + 'අලුත් කරමින්...\nකරුණාකර ඔබේ අන්තර්ජාල සම්බන්ධතාවය පරීක්ෂා කරන්න'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'පණිවිඩය දැන්ම සැකසෙමින් පවතී.'; + + @override + String get chatErrorMessageTooLong => 'පණිවුඩය දිගු වේ.'; + + @override + String get chatRemoveAttachmentTooltip => 'අමුණුව ඉවත් කරන්න'; + + @override + String get chatStatusFailedMessage => 'පණිවිඩය සැකසීමට අසාර්ථකයි'; + + @override + String get chatActionButtonTooltipExportSummary => 'PDF වෙත අපනයනය කරන්න'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'පින්තූර'; + + @override + String get chatPickerCamera => 'කැමරාව'; + + @override + String get chatPickerFiles => 'ගොනු'; + + @override + String get chatPickerPhotosFiles => 'Fotografije i Datoteke'; + + @override + String get chatRecommendationYIAG => + 'ආශා කරමි, එය උපකාරී විය! මෙම විස්තරය ඔබට ප්‍රයෝජනවත්ද?'; + + @override + String get chatRecommendationButtonDonate => 'ඔව්, සියල්ල හොඳයි!'; + + @override + String get failedToRetrieveChatSummary => 'චැට් සාරාංශය ලබා ගැනීමට අසාර්ථකයි'; + + @override + String get chatSummaryCopiedToClipboard => + 'චැට් සාරාංශය ක්ලිප්බෝඩ්ට පිටපත් කරන ලදි'; + + @override + String get tryDoctorinaInTheMobileApp => + 'මොබයිල් යෙදුමෙන් Doctorina උත්සාහ කරන්න!'; + + @override + String get getAppStoreLogoLabel => 'ඇතුළත් කරන්න'; + + @override + String get getGooglePlayLogoLabel => 'ගෙට් ඉට් ඔන්'; + + @override + String get getAppStoreLogoTooltip => 'App Store හි බාගත කරන්න'; + + @override + String get getGooglePlayLogoTooltip => 'ගූගල් ප්ලේ හි ලබා ගන්න'; + + @override + String get reportMessageDialogTitle => 'පණිවිඩය වාර්තා කරන්න'; + + @override + String get reportMessageDialogSubtitle => 'ඔබ මෙම පණිවිඩය ඇසුරු කරන්නේ ඇයි?'; + + @override + String get reportMessageDialogTextFieldHint => + 'අවශ්‍ය: මෙම පණිවිඩය ගැන කුමක් වැරදිද කියන්න...'; + + @override + String get reportMessageDialogWhyImportant => + 'මෙය අපට අපගේ AI ප්‍රතිචාර වර්ධනය කිරීමට උපකාරී වේ.'; + + @override + String get reportMessageDialogCancelButton => 'අවලංගු කරන්න'; + + @override + String get reportMessageDialogReportButton => 'වාර්තා කරන්න'; + + @override + String get reportMessageSnackbarSuccess => + 'ඔබගේ ප්‍රතිචාරය සඳහා ස්තූතියි! වාර්තාව ඉදිරිපත් කර ඇත.'; + + @override + String get reportMessageSnackbarFailed => 'වාර්තා ඉදිරිපත් කිරීමට අසාර්ථකයි'; + + @override + String get copyMessageSnackbarSuccess => 'පිටපත් කරනු ලැබීය'; + + @override + String get copyMessageSnackbarFailed => 'පණිවුඩය පිටපත් කිරීමට අසාර්ථකයි'; + + @override + String get chatContextMenuReportMessage => 'පණිවිඩය වාර්තා කරන්න'; + + @override + String get chatDropZoneTitle => 'ඩොක්ටර්නාවට චැට් එකට උඩුගත කරන්න'; + + @override + String get chatDropZoneSubtitle => 'මෙහි ගොනු ඇදීමෙන් කතාබහට එක් කරන්න'; + + @override + String get chatDropZoneText => + 'ඔබට පණිවිඩයක් සඳහා ගොනු 15ක් දක්වා එකතු කළ හැක'; + + @override + String get notificationBannerText => + 'ඔබගේ සෞඛ්‍යය පිළිබඳ වැදගත් දෙයක් සිදුවන විට මට ඔබට දැනුම් දිය යුතුද?'; + + @override + String get notificationBannerButtonEnable => 'ඔව්, මට දැනුම් දෙන්න'; + + @override + String get notificationBannerButtonDisable => 'පසුව'; + + @override + String get notificationBannerButtonClose => 'අවසන් කරන්න'; + + @override + String get notificationAreBlockedSystem => + 'Obvestila so blokirana na ravni sistema. Omogočite jih v sistemskih nastavitvah, preden aktivirate obvestila Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Obvestila so blokirana na sistemski ravni. Omogočite jih v nastavitvah brskalnika, preden aktivirate obvestila Doctorina.'; + + @override + String get notificationDialogTitle => 'ඔබේ උපදේශනය පිළිබඳ යාවත්කාලීන වන්න'; + + @override + String get notificationDialogDescription => + 'Doctorina ඔබට ඔබේ සෞඛ්‍යය පිළිබඳ නව දැනුම් සහ යාවත්කාලීන කිරීම් ලබා දිය හැකි වේ.'; + + @override + String get notificationDialogEnableButton => 'සන්නිවේදන සක්‍රීය කරන්න'; + + @override + String get notificationDialogLaterButton => 'පසුව'; + + @override + String get termsAndConditionBannerText => + 'ඉදිරියට පියවර ගන්නේ ඔබට පුද්ගල දත්ත සැකසීම, cookies භාවිතය, නියම හා කොන්දේසි පිළිබඳ එකඟතාවය සහ

පෞද්ගලිකත්ව ප්‍රතිපත්තිය

අනුමත කිරීමයි. එසේම, ඔබගේ උපදෙස් AI සමඟ වන අතර බලය ලත් වෛද්‍ය විශේෂඥයකු සමඟ නොවන බවත් පිළිගැනීමයි'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Zanemariti'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'පළමුව මෙම චැට් සුරක්ෂිත කරන්න?'; + + @override + String get anonUserNewChatCreationWarningText => + 'නව කන්සල්ටේෂන් ආරම්භ කිරීමට පෙර මෙම කන්සල්ටේෂන් සුරක්ෂිත කිරීමට නොමිලේ ලියාපදිංචි වන්න'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'සුරැකුම් නොකර ආරම්භ කරන්න'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'ලියාපදිංචි කරන්න'; + + @override + String get inputBlockerContinueMessage => + 'Da bi nastavili razgovor, odaberite opciju iznad'; + + @override + String get chatServerDialogCloseBtnTooltip => 'වසන්න'; + + @override + String get chatAttachmentRemoveTooltip => 'Odstrani priponko'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Fail to pick files from drop zone'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'කරුණාකර පණිවිඩයක් ඇතුළත් කරන්න හෝ ගොනුවක් අමුණන්න'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'ඉදිරිපත් කිරීම් සම්පූර්ණ වීමට කුමාරාත්මක වන්න'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Sporočilo se obdeluje'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Sporočilo je predolgo'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Sporazum se već obrađuje.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Povezava je trajno zaprta.'; + + @override + String get chatAttachmentErrorNoConnection => 'Nema veze sa serverom'; + + @override + String get chatAttachmentErrorPickFiles => 'Fail to pick files'; + + @override + String get chatAttachmentErrorPickImages => 'පින්තූර තෝරා ගැනීමට අසමත් විය'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Kameradan fotografi çekme başarısız oldu'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Lahko pripnete do $count datotek hkrati.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Clear recognized text'; + + @override + String get chatInputTooltipMessageTooLong => 'Sporazum je predug.'; + + @override + String get chatInputTooltipWaitForUploads => + 'ඉදිරියට යාමට පෙර උඩුගත කිරීම් සම්පූර්ණ වීමට බලා සිටින්න.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Tip $kind \"$name\" je već priložen i nije ponovo dodan.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" is a duplicate of $exist and was not added.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'The $kind \"$name\" was not added because the maximum number of attachments has been exceeded.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Datoteka \"$name\" je prazna.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Datoteka je prazna.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Datoteka \"$name\" premašuje maksimalno dopuštenu veličinu.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'ගොනුව උපරිම ඉඩ ප්‍රමාණය ඉක්මවා ගියෙයි.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Pri obdelavi datoteke \"$name\" je prišlo do napake.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Datoteka se nije mogla obraditi.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Datoteka \"$name\" nije dodana jer je prekoračen maksimalni broj privitaka.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Fail(e) nije dodan(a) jer je prekoračen maksimalni broj privitaka.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Datoteka nije dodana jer je prekoračen maksimalni broj privitaka.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'A file without a name was attempted to be added.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Poskušali ste dodati datoteko z nepodprto pripono: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'A file with an unsupported extension was attempted to be added.'; + + @override + String get chatAttachmentErrorFileNull => 'Impossible to add a file.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Datoteka \"$name\" je nevalidna i ne može biti dodana.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Faili එකක් වලංගු නොවේ සහ එකතු කළ නොහැක.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Predmet \"$name\" nije važeća datoteka.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'Predmet nije važeća datoteka.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'An error occurred while processing an item.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Prihvatili smo grešku prilikom obrade stavke(a).'; + + @override + String get chatAttachmentErrorNoFiles => 'ගොනු එකතු කර නැත.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Nekateri datoteki so bile preskočene zaradi podvajanja z obstoječimi datotekami.'; + + @override + String get chatAttachmentErrorUnknown => 'අනියම් දෝෂයක් සිදුවිය.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Užfiksuota klaidų, kai bandėte pridėti failus:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Datoteka nije mogla biti deljena: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Zapri'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Deli'; + + @override + String get chatAttachmentPreviewLoading => 'ගොනුව පූර්ණ කරමින්...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Datoteka nije učitana'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Nepoznata greška se dogodila'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Ponovno pokušajte'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'අනුමත නොකෙරෙන ගොනුවේ වර්ගය'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Cannot preview $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Deli datoteku'; + + @override + String get chatAttachmentPreviewErrorImage => 'පින්තූරය පෙන්වීම අසාර්ථක විය'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Ponovno postavi zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF එක ආරම්භ කිරීමට අසමත් විය'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Tekst sadržaj nije moguće dešifrovati'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'හා $count තවත් දෝෂ.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Datoteka je neispravna'; + + @override + String get chatConsentRequiredTitle => 'Potrebna suglasnost'; + + @override + String get chatConsentRequiredText => + 'S nadaljevanjem se strinjate z našimi pogoji, politiko o zasebnosti in uporabo piškotkov ter potrjujete, da to svetovanje zagotavlja AI, ne licencirani zdravstveni delavec.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Zapri'; + + @override + String get chatHistoryDelete => 'මකන්න'; + + @override + String get chatDelete => 'කතාබහ මකන්න'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'චැට් “$title” සාර්ථකව මකන ලදී.'; + } + + @override + String get chatDeleteConfirmationTitle => 'චැට් මකන්නද?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'ඔබගේ ලක්ෂණ, රෝග විශේෂණය සාරාංශය සහ මෙම කතාබස්යේ යෝජනා කිසිවක් මකා දැමිය හැක.\nමෙම ක්‍රියාව නැවත කිරීමට නොහැක.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'ඉහලට විශාල කරන්න'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Zoom Out'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'සැකසුම් නැවත සකසන්න'; + + @override + String get chatAttachmentPreviewShareTooltip => 'බෙදා ගන්න'; + + @override + String get dateToday => 'අද'; + + @override + String get dateYesterday => 'ඊයේ'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'පළමු පිටුව පමණි. සම්පූර්ණ ගොනුව බාගත කිරීමට Share භාවිතා කරන්න.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_sk.dart b/example/lib/src/generated/chat/chat_localization_sk.dart new file mode 100644 index 0000000..bdb6ed4 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_sk.dart @@ -0,0 +1,636 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Slovak (`sk`). +class ChatLocalizationSk extends ChatLocalization { + ChatLocalizationSk([String locale = 'sk']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Notifikácie'; + + @override + String get drawerTooltipHelp => 'Pomoc'; + + @override + String get drawerTooltipClose => 'Zavrieť'; + + @override + String get drawerSectionTitleAccount => 'Účet'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Nastavenia účtu'; + + @override + String get drawerSectionDonateToSupport => 'Darujte na podporu'; + + @override + String get drawerSectionSubscription => 'Predplatné'; + + @override + String get drawerSectionTitleChats => 'Chaty'; + + @override + String get drawerSectionChatHistory => 'História chatov'; + + @override + String get drawerSectionAttachedDocuments => 'Pripojené dokumenty'; + + @override + String get drawerSectionTitleHowToUse => 'Ako používať'; + + @override + String get drawerSectionVideoTutorials => 'Video návody'; + + @override + String get drawerSectionTitleLegal => 'Právne'; + + @override + String get drawerSectionContactUs => 'Kontaktujte nás'; + + @override + String get drawerSectionBugReport => 'Hlášenie chýb'; + + @override + String get drawerSectionTermsAndConditions => 'Podmienky a ustanovenia'; + + @override + String get drawerSectionPrivacyPolicy => 'Súkromie'; + + @override + String get drawerSectionTitleFeedback => 'Spätná väzba'; + + @override + String get drawerSectionRateApp => 'Ohodnoťte aplikáciu'; + + @override + String get drawerSectionShareWithFriends => 'Zdieľať s priateľmi'; + + @override + String get drawerButtonLogOut => 'Odhlásiť sa'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Pomôžte iným získať lekársku starostlivosť'; + + @override + String get drawerPlaceholderUser => 'Používateľ'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Prémiové funkcie\ns Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Získať'; + + @override + String get drawerLabelJoinUs => 'Pridajte sa k nám'; + + @override + String get drawerTooltipVersion => 'Verzia aplikácie:'; + + @override + String get drawerSectionRecentChats => 'Nedávne chaty'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Nedávny chat'; + + @override + String get drawerSectionDownloadApps => 'Stiahnuť aplikácie'; + + @override + String get chatInputHintEnterMessage => 'Zadajte správu'; + + @override + String get chatInputTooltipAttachFile => 'Pripojiť súbor'; + + @override + String get chatInputTooltipDictateMessage => 'Nadiktovať'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Dokončiť a prepisovať'; + + @override + String get chatInputTooltipSendMessage => 'Odoslať správu'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Nepodarilo sa načítať správy'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Nepodarilo sa načítať správy. Skúste to prosím znova.'; + + @override + String get chatListTooltipFetchMessages => 'Načítať správy'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Nie sú k dispozícii žiadne správy. Pošlite správu, aby ste začali konverzáciu.'; + + @override + String get chatListHasConnection => 'Pripojené'; + + @override + String get chatListNoConnection => 'Žiadne pripojenie'; + + @override + String get chatActionButtonTooltipSearch => 'Hľadať'; + + @override + String get chatActionButtonTooltipFavorites => 'Obľúbené'; + + @override + String get chatActionButtonTooltipDownload => 'Stiahnuť'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Tlačiť PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Zdieľať s priateľmi'; + + @override + String get chatActionButtonTooltipNewChat => 'Nový chat'; + + @override + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Vybrať chat'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Zobraziť zásuvku'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Nie sú k dispozícii žiadne chaty. Prosím, obnovte alebo vytvorte nový chat.'; + + @override + String get chatButtonRefreshChats => 'Obnoviť chaty'; + + @override + String get chatButtonCreateNewChat => 'Vytvoriť nový chat'; + + @override + String get chatContextMenuCopyMessage => 'Kopírovať text'; + + @override + String get chatStatusProcessingMessages => 'Píšem Počkajte chvíľu'; + + @override + String get chatNoConnectionLabel => + 'Aktualizujem...\nProsím, skontrolujte svoje internetové pripojenie'; + + @override + String get chatErrorMessageAlreadyProcessed => 'Správa sa už spracováva.'; + + @override + String get chatErrorMessageTooLong => 'Správa je príliš dlhá'; + + @override + String get chatRemoveAttachmentTooltip => 'Odstrániť prílohu'; + + @override + String get chatStatusFailedMessage => 'Nepodarilo sa spracovať správu'; + + @override + String get chatActionButtonTooltipExportSummary => 'Exportovať do PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Fotografie'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Súbory'; + + @override + String get chatPickerPhotosFiles => 'Fotografie a súbory'; + + @override + String get chatRecommendationYIAG => + 'Dúfam, že to pomohlo! Bola táto odpoveď pre vás užitočná?'; + + @override + String get chatRecommendationButtonDonate => 'Áno, všetko je v poriadku!'; + + @override + String get failedToRetrieveChatSummary => 'Nepodarilo sa získať súhrn chatu'; + + @override + String get chatSummaryCopiedToClipboard => + 'Zhrnutie chatu skopírované do schránky'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Vyskúšajte Doctorina v mobilnej aplikácii!'; + + @override + String get getAppStoreLogoLabel => 'Stiahnuť na'; + + @override + String get getGooglePlayLogoLabel => 'STIAHNITE SI'; + + @override + String get getAppStoreLogoTooltip => 'Stiahnuť z App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Získajte to na Google Play'; + + @override + String get reportMessageDialogTitle => 'Nahlásiť správu'; + + @override + String get reportMessageDialogSubtitle => 'Prečo hlásite túto správu?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Voliteľné: Opíšte, čo je z touto správou zlé...'; + + @override + String get reportMessageDialogWhyImportant => + 'Toto nám pomôže zlepšiť naše odpovede AI'; + + @override + String get reportMessageDialogCancelButton => 'Zrušiť'; + + @override + String get reportMessageDialogReportButton => 'Nahlásiť'; + + @override + String get reportMessageSnackbarSuccess => + 'Ďakujeme za vašu spätnú väzbu! Správa bola odoslaná.'; + + @override + String get reportMessageSnackbarFailed => 'Nepodarilo sa odoslať správu'; + + @override + String get copyMessageSnackbarSuccess => 'Skopírované do schránky'; + + @override + String get copyMessageSnackbarFailed => 'Nepodarilo sa skopírovať správu'; + + @override + String get chatContextMenuReportMessage => 'Nahlásiť správu'; + + @override + String get chatDropZoneTitle => 'Nahrajte do chatu Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Pretiahnite a pustite súbory sem, aby ste ich pridali do chatu'; + + @override + String get chatDropZoneText => 'Môžete pridať až 15 súborov do jednej správy'; + + @override + String get notificationBannerText => + 'Chcete, aby som vás informoval, ak sa objaví niečo dôležité o vašom zdraví?'; + + @override + String get notificationBannerButtonEnable => 'Áno, informujte ma'; + + @override + String get notificationBannerButtonDisable => 'Možno neskôr'; + + @override + String get notificationBannerButtonClose => 'Zavrieť'; + + @override + String get notificationAreBlockedSystem => + 'Oznámenia sú na úrovni systému zablokované. Povoľte ich v systémových nastaveniach pred aktivovaním oznámení Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Oznámenia sú blokované na systémovej úrovni. Povoľte ich v nastaveniach prehliadača pred aktivovaním oznámení Doctorina.'; + + @override + String get notificationDialogTitle => + 'Buďte informovaní o svojej konzultácii'; + + @override + String get notificationDialogDescription => + 'Doctorina vás môže informovať, keď budú k dispozícii nové poznatky alebo aktualizácie o vašom zdraví.'; + + @override + String get notificationDialogEnableButton => 'Povoliť notifikácie'; + + @override + String get notificationDialogLaterButton => 'Možno neskôr'; + + @override + String get termsAndConditionBannerText => + 'Pokračovaním vyhlasujete súhlas s spracovaním osobných údajov, používaním cookies, súhlasíte s terms and conditions a potvrďujete

privacy policy

. Taktiež beriete na vedomie, že vaša konzultácia prebieha s AI a nie s licencovaným lekárom'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Zavrieť'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Najprv uložte tento chat?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Zaregistrujte sa zadarmo, aby ste si uložili túto konzultáciu pred začiatkom novej'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Spustiť bez uloženia'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Zaregistrujte sa'; + + @override + String get inputBlockerContinueMessage => + 'Aby ste mohli pokračovať v konverzácii, vyberte si možnosť vyššie'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Zavrieť'; + + @override + String get chatAttachmentRemoveTooltip => 'Odstrániť prílohu'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Nepodarilo sa vybrať súbory z oblasti na presúvanie súborov'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Zadajte správu alebo priložte súbor'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Čakajte, kým sa nahrávanie dokončí'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Správa sa spracováva'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Správa je príliš dlhá'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Správa sa práve spracováva.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Spojenie je trvalo uzavreté'; + + @override + String get chatAttachmentErrorNoConnection => 'Žiadne pripojenie k serveru'; + + @override + String get chatAttachmentErrorPickFiles => 'Nepodarilo sa vybrať súbory'; + + @override + String get chatAttachmentErrorPickImages => 'Nepodarilo sa vybrať obrázky'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Nepodarilo sa zachytiť fotografiu z kamery'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Môžete priložiť až $count súborov naraz.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Vymazať rozpoznaný text'; + + @override + String get chatInputTooltipMessageTooLong => 'Správa je príliš dlhá.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Čakajte, kým sa nahrávanie dokončí.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Typ \"$kind\" \"$name\" je už pripojený a nebol pridaný znova.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Typ \"$kind\" \"$name\" je duplicitou existujúceho \"$exist\" a nebol pridaný.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Príloha typu $kind \"$name\" nebola pridaná, pretože bol prekročený maximálny počet príloh.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Súbor \"$name\" je prázdny.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Súbor je prázdny.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Súbor \"$name\" presahuje maximálnu povolenú veľkosť.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Súbor presahuje maximálnu povolenú veľkosť.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Pri spracovaní súboru \"$name\" došlo k chybe.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Pri spracovaní súboru došlo k chybe.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Súbor \"$name\" nebol pridaný, pretože bol prekročený maximálny počet príloh.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Súbor(y) neboli pridané, pretože bol prekročený maximálny počet príloh.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Súbor nebol pridaný, pretože bol prekročený maximálny počet príloh.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Bol pridaný súbor bez názvu.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Bol pokus o pripojenie súboru s nepodporovanou príponou: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Bol pridaný súbor s nepodporovanou príponou.'; + + @override + String get chatAttachmentErrorFileNull => 'Nie je možné pridať súbor.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Súbor \"$name\" je neplatný a nemôže byť pridaný.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Súbor je neplatný a nemožno ho pridať.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Položka \"$name\" nie je platný súbor.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'Položka nie je platný súbor'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Pri spracovaní položky došlo k chybe.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Pri spracovaní položky došlo k chybe.'; + + @override + String get chatAttachmentErrorNoFiles => 'Neboli pridané žiadne súbory'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Niektoré súbory boli preskočené kvôli duplicitám s existujúcimi súbormi.'; + + @override + String get chatAttachmentErrorUnknown => 'Vyskytla sa neznáma chyba'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Pri pripojovaní súborov došlo k nasledujúcim chybám:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Zdieľanie súboru zlyhalo: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Zavrieť'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Zdieľať'; + + @override + String get chatAttachmentPreviewLoading => 'Načítanie súboru...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Nepodarilo sa načítať súbor'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Nastala neznáma chyba'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Skúsiť znova'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'Nepodporovaný typ súboru'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Nie je možné zobraziť $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Zdieľať súbor'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Nepodarilo sa zobraziť obrázok'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Obnoviť priblíženie'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Nepodarilo sa načítať PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Nepodarilo sa dekódovať textový obsah.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'A $count ďalších chýb.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Súbor je poškodený'; + + @override + String get chatConsentRequiredTitle => 'Súhlas je potrebný'; + + @override + String get chatConsentRequiredText => + 'Pokračovaním súhlasíte s našimi Podmienkami, Zásadami ochrany osobných údajov a používaním súborov cookie a potvrdzujete, že táto konzultácia je poskytovaná AI, nie licencovaným zdravotníckym pracovníkom.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Zavrieť'; + + @override + String get chatHistoryDelete => 'Zmazať'; + + @override + String get chatDelete => 'Zmazať chat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat „$title“ bol úspešne odstránený.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Zmazať chat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Vaše príznaky, zhrnutie diagnózy a akékoľvek odporúčania v tomto chate budú odstránené.\nTúto akciu nie je možné zvrátiť.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Priblížiť'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Priblížiť'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Obnoviť priblíženie'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Zdieľať'; + + @override + String get dateToday => 'Dnes'; + + @override + String get dateYesterday => 'Včera'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Tento náhľad môže zobraziť iba prvú stránku. Stiahnite si súbor, aby ste si mohli pozrieť celý dokument.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_sw.dart b/example/lib/src/generated/chat/chat_localization_sw.dart new file mode 100644 index 0000000..fe2716e --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_sw.dart @@ -0,0 +1,638 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Swahili (`sw`). +class ChatLocalizationSw extends ChatLocalization { + ChatLocalizationSw([String locale = 'sw']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Taarifa'; + + @override + String get drawerTooltipHelp => 'Msaada'; + + @override + String get drawerTooltipClose => 'Funga'; + + @override + String get drawerSectionTitleAccount => 'Akaunti'; + + @override + String get drawerSectionProfile => 'Wasifu'; + + @override + String get drawerSectionAccountSettings => 'Mipangilio ya Akaunti'; + + @override + String get drawerSectionDonateToSupport => 'Changia kusaidia'; + + @override + String get drawerSectionSubscription => 'Usajili'; + + @override + String get drawerSectionTitleChats => 'Mazungumzo'; + + @override + String get drawerSectionChatHistory => 'Historia ya mazungumzo'; + + @override + String get drawerSectionAttachedDocuments => 'Nyaraka Zilizowekwa'; + + @override + String get drawerSectionTitleHowToUse => 'Jinsi ya kutumia'; + + @override + String get drawerSectionVideoTutorials => 'Mafunzo ya Video'; + + @override + String get drawerSectionTitleLegal => 'Sheria'; + + @override + String get drawerSectionContactUs => 'Wasiliana Nasi'; + + @override + String get drawerSectionBugReport => 'Ripoti ya hitilafu'; + + @override + String get drawerSectionTermsAndConditions => 'Masharti na Vigezo'; + + @override + String get drawerSectionPrivacyPolicy => 'Sera ya Faragha'; + + @override + String get drawerSectionTitleFeedback => 'Maoni'; + + @override + String get drawerSectionRateApp => 'Pima App'; + + @override + String get drawerSectionShareWithFriends => 'Shiriki na Marafiki'; + + @override + String get drawerButtonLogOut => 'Toka'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Saidia wengine kupokea huduma ya matibabu'; + + @override + String get drawerPlaceholderUser => 'Mtumiaji'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Vipengele vya Premium\nna Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Pata'; + + @override + String get drawerLabelJoinUs => 'Jiunge nasi'; + + @override + String get drawerTooltipVersion => 'Toleo la programu:'; + + @override + String get drawerSectionRecentChats => 'Mazungumzo ya Karibuni'; + + @override + String get drawerPlaceholderProfile => 'Profaili'; + + @override + String get drawerPlaceholderRecentChat => 'Mazungumzo ya hivi karibuni'; + + @override + String get drawerSectionDownloadApps => 'Pakua Programu'; + + @override + String get chatInputHintEnterMessage => 'Andika ujumbe'; + + @override + String get chatInputTooltipAttachFile => 'Ambatanisha faili'; + + @override + String get chatInputTooltipDictateMessage => 'Andika kwa sauti'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Maliza & Andika'; + + @override + String get chatInputTooltipSendMessage => 'Tuma ujumbe'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Imeshindwa kupata ujumbe'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Haikuweza kupata ujumbe. Tafadhali jaribu tena.'; + + @override + String get chatListTooltipFetchMessages => 'Pata ujumbe'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Hakuna ujumbe uliopo. Tafadhali tuma ujumbe kuanzisha mazungumzo.'; + + @override + String get chatListHasConnection => 'Umeunganishwa'; + + @override + String get chatListNoConnection => 'Hakuna muunganisho'; + + @override + String get chatActionButtonTooltipSearch => 'Tafuta'; + + @override + String get chatActionButtonTooltipFavorites => 'Vipendwa'; + + @override + String get chatActionButtonTooltipDownload => 'Pakua'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Chapisha PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Shiriki na marafiki'; + + @override + String get chatActionButtonTooltipNewChat => 'Mazungumzo mapya'; + + @override + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Chagua Mazungumzo'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Onyesha droo'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Hakuna mazungumzo. Tafadhali sasisha au unda gumzo jipya.'; + + @override + String get chatButtonRefreshChats => 'Sasisha mazungumzo'; + + @override + String get chatButtonCreateNewChat => 'Tengeneza gumzo jipya'; + + @override + String get chatContextMenuCopyMessage => 'Nakili maandishi'; + + @override + String get chatStatusProcessingMessages => + 'Anaandika\nTafadhali subiri kidogo'; + + @override + String get chatNoConnectionLabel => + 'Inasasasisha...\nTafadhali angalia muunganisho wako wa intaneti'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Ujumbe unashughulikiwa tayari sasa hivi.'; + + @override + String get chatErrorMessageTooLong => 'Ujumbe ni mrefu sana.'; + + @override + String get chatRemoveAttachmentTooltip => 'Ondoa kiambatisho'; + + @override + String get chatStatusFailedMessage => 'Imeshindwa kuchakata ujumbe'; + + @override + String get chatActionButtonTooltipExportSummary => 'Hamisha kwenda PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Picha'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Faili'; + + @override + String get chatPickerPhotosFiles => 'Picha na Faili'; + + @override + String get chatRecommendationYIAG => + 'Natumai hilo lilikusaidia! Je, maelezo haya yalikuwa ya manufaa kwako?'; + + @override + String get chatRecommendationButtonDonate => 'Ndio, kila kitu kiko sawa!'; + + @override + String get failedToRetrieveChatSummary => + 'Imeshindwa kupata muhtasari wa mazungumzo'; + + @override + String get chatSummaryCopiedToClipboard => + 'Muhtasari wa mazungumzo umewekwa kwenye clipboard'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Jaribu Doctorina kwenye programu ya simu!'; + + @override + String get getAppStoreLogoLabel => 'Pakua'; + + @override + String get getGooglePlayLogoLabel => 'GET IT ON'; + + @override + String get getAppStoreLogoTooltip => 'Pakua kutoka App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Pata kwenye Google Play'; + + @override + String get reportMessageDialogTitle => 'Ripoti Ujumbe'; + + @override + String get reportMessageDialogSubtitle => 'Kwa nini unaripoti ujumbe huu?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Hiari: Eleza kilicho kibaya kuhusu ujumbe huu...'; + + @override + String get reportMessageDialogWhyImportant => + 'Hii itatusaidia kuboresha majibu yetu ya AI'; + + @override + String get reportMessageDialogCancelButton => 'Ghaira'; + + @override + String get reportMessageDialogReportButton => 'Ripoti'; + + @override + String get reportMessageSnackbarSuccess => + 'Asante kwa maoni yako! Ripoti imewasilishwa.'; + + @override + String get reportMessageSnackbarFailed => 'Imeshindwa kuwasilisha ripoti'; + + @override + String get copyMessageSnackbarSuccess => 'Imepakiwa kwenye clipboard'; + + @override + String get copyMessageSnackbarFailed => 'Imepoteza nakala ya ujumbe'; + + @override + String get chatContextMenuReportMessage => 'Ripoti Ujumbe'; + + @override + String get chatDropZoneTitle => 'Pakia kwenye gumzo la Doctorina'; + + @override + String get chatDropZoneSubtitle => 'Drag and drop files here to add to chat'; + + @override + String get chatDropZoneText => 'Unaweza kuongeza faili 15 kwa ujumbe mmoja'; + + @override + String get notificationBannerText => + 'Je, ungependa niwajulishe ikiwa kuna jambo muhimu kuhusu afya yako?'; + + @override + String get notificationBannerButtonEnable => 'Ndio, nijulishe'; + + @override + String get notificationBannerButtonDisable => 'Pengine baadaye'; + + @override + String get notificationBannerButtonClose => 'Funga'; + + @override + String get notificationAreBlockedSystem => + 'Arifa zimezuiliwa katika kiwango cha mfumo. Zizifanye kazi katika mipangilio ya mfumo kabla ya kuanzisha arifa za Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Arifa zimezuiliwa katika ngazi ya mfumo. Wazi katika mipangilio ya kivinjari kabla ya kuanzisha arifa za Doctorina.'; + + @override + String get notificationDialogTitle => 'Kaa updated kuhusu ushauri wako'; + + @override + String get notificationDialogDescription => + 'Doctorina inaweza kukujulisha unapokuwa na maarifa mapya au masasisho kuhusu afya yako.'; + + @override + String get notificationDialogEnableButton => 'Washa arifa'; + + @override + String get notificationDialogLaterButton => 'Pengine baadaye'; + + @override + String get termsAndConditionBannerText => + 'Kwa kuendelea unakubali usindikaji wa data binafsi, matumizi ya cookies, unakubali masharti na kanuni na unakiri

sera ya faragha

. Pia unakiri kwamba ushauri wako ni na AI na sio mtaalamu wa tiba aliye na leseni'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Ondoa'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Hifadhi mazungumzo haya kwanza?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Jisajili kwa bure ili kuhifadhi ushauri huu kabla ya kuanza mpya'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'Anza bila kuhifadhi'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Jisajili'; + + @override + String get inputBlockerContinueMessage => + 'Ili kuendelea na mazungumzo, chagua chaguo lililo juu'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Funga'; + + @override + String get chatAttachmentRemoveTooltip => 'Ondoa kiambatisho'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Imeshindwa kuchukua faili kutoka eneo la kuangusha'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Tafadhali ingiza ujumbe au ambatisha faili'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Tafadhali subiri uploads kukamilika'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Ujumbe unachakatwa'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Ujumbe ni mrefu sana'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Ujumbe unashughulikiwa sasa hivi.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Anschlusset är permanent stängt'; + + @override + String get chatAttachmentErrorNoConnection => 'Hakuna muunganisho na seva'; + + @override + String get chatAttachmentErrorPickFiles => 'Imeshindwa kuchagua faili'; + + @override + String get chatAttachmentErrorPickImages => 'Kushindwa kuchagua picha'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Imeshindwa kuchukua picha kutoka kwa kamera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Du kan bifoga upp till $count filer åt gången.'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'Futa maandiko yaliyotambuliwa'; + + @override + String get chatInputTooltipMessageTooLong => 'Ujumbe ni mrefu sana.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Tafadhali subiri uploads kukamilika.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Aina ya $kind \"$name\" tayari imeunganishwa na haijaanzishwa tena.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" ni nakala ya $exist na haikuongezwa.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'The $kind \"$name\" haikuongezwa kwa sababu ya kufikia kiwango cha juu cha viambatisho.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Faili \"$name\" ni tupu.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Fileni ni tupu.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Faili \"$name\" inazidi ukubwa linaloruhusiwa.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Faili linazidi saizi inayoruhusiwa.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Kulikoni kutokea wakati wa kuchakata faili \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Kulikoni kutokea wakati wa kuchakata faili.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Faili \"$name\" haikuongezwa kwa sababu idadi ya viambatisho imezidi.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Ente faili(s) haikuja kwa sababu idadi ya viambatisho imezidi.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Faili haikuja kwa sababu idadi ya viambatisho imezidi.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Kijarida bila jina ilijaribu kuongezwa.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'En fil med en ogiltig filändelse försökte läggas till: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Faili lenye kiambatisho kisichoungwa mkono kilijaribu kuongezwa.'; + + @override + String get chatAttachmentErrorFileNull => 'Haiwezekani kuongeza faili.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Faili \"$name\" si halali na haiwezi kuongezwa.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Faili si batili na haiwezi kuongezwa.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Kipande cha \"$name\" si faili halali'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'Eka kipande si faili halali.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Kulikoni kutokea wakati wa kuchakata kipengee.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Kulikoni kutokea wakati wa kuchakata kipengee(kipengee).'; + + @override + String get chatAttachmentErrorNoFiles => 'Inakosekana faili.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Baadhi ya faili zilikataliwa kwa sababu ya nakala zilizopo.'; + + @override + String get chatAttachmentErrorUnknown => 'Kosa isiyojulikana imetokea.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Makosa yafuatayo yamejitokeza wakati wa kuambatisha faili:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Missed kushiriki faili: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Funga'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Shiriki'; + + @override + String get chatAttachmentPreviewLoading => 'Inapakia faili...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Kushindwa kupakia faili'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Kosa isiyojulikana imetokea'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Jaribu tena'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Aina ya faili isiyoungwa mkono'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Haiwezi kuangalia $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Shiriki Faili'; + + @override + String get chatAttachmentPreviewErrorImage => 'Imeshindwa kuonyesha picha'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Rekebisha zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Imeshindwa kupakia PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Imeshindwa kufungua maudhui ya maandiko.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Na $count zaidi ya makosa.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Faili limeharibika'; + + @override + String get chatConsentRequiredTitle => 'Idhini Inahitajika'; + + @override + String get chatConsentRequiredText => + 'Genom att fortsätta godkänner du våra Villkor, Integritetspolicy och användning av cookies, och bekräftar att denna konsultation tillhandahålls av AI, inte en licensierad medicinsk professionell.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Stäng'; + + @override + String get chatHistoryDelete => 'Futa'; + + @override + String get chatDelete => 'Futa mazungumzo'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat “$title” imefutwa kwa mafanikio.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Futa mazungumzo?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Dalili zako, muhtasari wa uchunguzi, na mapendekezo yoyote katika mazungumzo haya yataondolewa.\nKitendo hiki hakiwezi kubadilishwa.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Panua'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Punguza'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Rekebisha Kuongeza'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Shiriki'; + + @override + String get dateToday => 'Leo'; + + @override + String get dateYesterday => 'Jana'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Ukurasa wa kwanza tu. Tumia Shiriki kupakua faili kamili.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_ta.dart b/example/lib/src/generated/chat/chat_localization_ta.dart new file mode 100644 index 0000000..5067d04 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_ta.dart @@ -0,0 +1,647 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tamil (`ta`). +class ChatLocalizationTa extends ChatLocalization { + ChatLocalizationTa([String locale = 'ta']) : super(locale); + + @override + String get drawerTooltipNotifications => 'அறிவிப்புகள்'; + + @override + String get drawerTooltipHelp => 'உதவி'; + + @override + String get drawerTooltipClose => 'மூடு'; + + @override + String get drawerSectionTitleAccount => 'கணக்கு'; + + @override + String get drawerSectionProfile => 'சுயவிவரம்'; + + @override + String get drawerSectionAccountSettings => 'கணக்கு அமைப்புகள்'; + + @override + String get drawerSectionDonateToSupport => 'ஆதரவை ஆதரிக்க நன்கொடை செய்யவும்'; + + @override + String get drawerSectionSubscription => 'சந்தா'; + + @override + String get drawerSectionTitleChats => 'உரையாடல்கள்'; + + @override + String get drawerSectionChatHistory => 'சாட் வரலாறு'; + + @override + String get drawerSectionAttachedDocuments => 'இணைக்கப்பட்ட ஆவணங்கள்'; + + @override + String get drawerSectionTitleHowToUse => 'எப்படி பயன்படுத்துவது'; + + @override + String get drawerSectionVideoTutorials => 'வீடியோ பயிற்சிகள்'; + + @override + String get drawerSectionTitleLegal => 'சட்டம்'; + + @override + String get drawerSectionContactUs => 'தொடர்பு கொள்ளவும்'; + + @override + String get drawerSectionBugReport => 'பிழை அறிக்கை'; + + @override + String get drawerSectionTermsAndConditions => 'விதிமுறைகள்'; + + @override + String get drawerSectionPrivacyPolicy => 'தனியுரிமைக் கொள்கை'; + + @override + String get drawerSectionTitleFeedback => 'பின்னூட்டம்'; + + @override + String get drawerSectionRateApp => 'அப் மதிப்பிடு'; + + @override + String get drawerSectionShareWithFriends => 'தோழர்களுடன் பகிரவும்'; + + @override + String get drawerButtonLogOut => 'வெளியேறு'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'மற்றவர்கள் மருத்துவ சேவையை பெற உதவுங்கள்'; + + @override + String get drawerPlaceholderUser => 'பயனர்'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'பிரிமியம் அம்சங்கள்\nடாக்டரீனா உடன்'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'பெறு'; + + @override + String get drawerLabelJoinUs => 'எங்களுடன் சேருங்கள்'; + + @override + String get drawerTooltipVersion => 'ஆப் பதிப்பு:'; + + @override + String get drawerSectionRecentChats => 'சமீபத்திய உரையாடல்கள்'; + + @override + String get drawerPlaceholderProfile => 'சுயவிவரம்'; + + @override + String get drawerPlaceholderRecentChat => 'சமீபத்திய உரை'; + + @override + String get drawerSectionDownloadApps => 'பயன்பாடுகளை பதிவிறக்கம் செய்க'; + + @override + String get chatInputHintEnterMessage => 'செய்தியை உள்ளிடவும்'; + + @override + String get chatInputTooltipAttachFile => 'கோப்பை இணைக்கவும்'; + + @override + String get chatInputTooltipDictateMessage => 'பேசவும்'; + + @override + String get chatInputTooltipDictateFinishMessage => 'முடி & உரையாக்கு'; + + @override + String get chatInputTooltipSendMessage => 'செய்தியை அனுப்பு'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'செய்திகளை பெற முடியவில்லை'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'செய்திகளை பெறவில்லை. தயவுசெய்து மீண்டும் முயற்சி செய்யவும்.'; + + @override + String get chatListTooltipFetchMessages => 'செய்திகளை பெறுக'; + + @override + String get chatListLabelNoMessagesAvailable => + 'செய்திகள் கிடைக்கவில்லை. உரையாடலை தொடங்க தயவுசெய்து ஒரு செய்தி அனுப்பவும்.'; + + @override + String get chatListHasConnection => 'இணைக்கப்பட்டுள்ளது'; + + @override + String get chatListNoConnection => 'இணைப்பு இல்லை'; + + @override + String get chatActionButtonTooltipSearch => 'தேடு'; + + @override + String get chatActionButtonTooltipFavorites => 'பிடித்தவை'; + + @override + String get chatActionButtonTooltipDownload => 'பதிவிறக்கம்'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF அச்சிடு'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'நண்பர்களுடன் பகிரவும்'; + + @override + String get chatActionButtonTooltipNewChat => 'புதிய உரையாடல்'; + + @override + String get chatActionButtonNewChat => 'சாட்'; + + @override + String get chatActionButtonTooltipChatList => 'உரையாடலைத் தேர்ந்தெடு'; + + @override + String get chatActionButtonTooltipShowDrawer => 'டிராயரை காட்டு'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'உரையாடல்கள் கிடைக்கவில்லை. தயவுசெய்து புதுப்பிக்கவும் அல்லது புதிய உரையாடலை உருவாக்கவும்.'; + + @override + String get chatButtonRefreshChats => 'உரையாடல்களை புதுப்பிக்கவும்'; + + @override + String get chatButtonCreateNewChat => 'புதிய அரட்டை உருவாக்கு'; + + @override + String get chatContextMenuCopyMessage => 'உரை நகலெடுக்கவும்'; + + @override + String get chatStatusProcessingMessages => 'எழுதுகிறது\nஒரு நிமிடம்'; + + @override + String get chatNoConnectionLabel => + 'புதுப்பிக்கிறது...\nஉங்கள் இணைய இணைப்பை சரிபார்க்கவும்'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'செய்தி இப்போது ஏற்கனவே செயலாக்கப்படுகிறது.'; + + @override + String get chatErrorMessageTooLong => 'செய்தி மிக நீளமாக உள்ளது.'; + + @override + String get chatRemoveAttachmentTooltip => 'இணைப்பைக் அகற்று'; + + @override + String get chatStatusFailedMessage => 'செய்தியை செயலாக்க முடியவில்லை'; + + @override + String get chatActionButtonTooltipExportSummary => 'PDFக்கு ஏற்றுமதி'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'புகைப்படங்கள்'; + + @override + String get chatPickerCamera => 'கேமரா'; + + @override + String get chatPickerFiles => 'கோப்புகள்'; + + @override + String get chatPickerPhotosFiles => 'புகைப்படங்கள் மற்றும் கோப்புகள்'; + + @override + String get chatRecommendationYIAG => + 'அது உதவியளித்ததாக நம்புகிறேன்! இந்த விளக்கம் உங்களுக்கு பயனுள்ளதாக இருந்ததா?'; + + @override + String get chatRecommendationButtonDonate => 'ஆமாம், எல்லாம் நன்றாக உள்ளது!'; + + @override + String get failedToRetrieveChatSummary => + 'உரையாடல் சுருக்கத்தை பெற முடியவில்லை'; + + @override + String get chatSummaryCopiedToClipboard => + 'சாட் சுருக்கம் கிளிப்போர்டில் நகலெடுக்கப்பட்டது'; + + @override + String get tryDoctorinaInTheMobileApp => + 'டாக்டரினாவை மொபைல் செயலியில் முயற்சி செய்!'; + + @override + String get getAppStoreLogoLabel => 'பதிவேற்று'; + + @override + String get getGooglePlayLogoLabel => 'GET IT ON'; + + @override + String get getAppStoreLogoTooltip => 'அப் ஸ்டோரிலிருந்து பதிவிறக்குக'; + + @override + String get getGooglePlayLogoTooltip => 'Google Play இல் பெறுக'; + + @override + String get reportMessageDialogTitle => 'செய்தியைப் புகாரளிக்கவும்'; + + @override + String get reportMessageDialogSubtitle => + 'நீங்கள் இந்த செய்தியை ஏன் புகாரளிக்கிறீர்கள்?'; + + @override + String get reportMessageDialogTextFieldHint => + 'விருப்பம்: இந்த செய்தியில் என்ன தவறு என்பதை விவரிக்கவும்...'; + + @override + String get reportMessageDialogWhyImportant => + 'இது எங்கள் AI பதில்களை மேம்படுத்த உதவும்'; + + @override + String get reportMessageDialogCancelButton => 'ரத்து'; + + @override + String get reportMessageDialogReportButton => 'அறிக்கையிடு'; + + @override + String get reportMessageSnackbarSuccess => + 'உங்கள் கருத்துக்கு நன்றி! புகாரை சமர்ப்பிக்கப்பட்டது.'; + + @override + String get reportMessageSnackbarFailed => 'அறிக்கையை சமர்ப்பிக்க முடியவில்லை'; + + @override + String get copyMessageSnackbarSuccess => 'கிளிப்போர்டுக்கு நகலெடுக்கப்பட்டது'; + + @override + String get copyMessageSnackbarFailed => 'செய்தியை நகலெடுக்க முடியவில்லை'; + + @override + String get chatContextMenuReportMessage => 'செய்தியைப் புகாரளிக்கவும்'; + + @override + String get chatDropZoneTitle => 'டாக்டரினா உரையாடலுக்கு பதிவேற்றவும்'; + + @override + String get chatDropZoneSubtitle => + 'சேவையில் சேர்க்க கோப்புகளை இங்கே இழுக்கவும்'; + + @override + String get chatDropZoneText => 'ஒரு செய்திக்கு 15 கோப்புகள் சேர்க்கலாம்'; + + @override + String get notificationBannerText => + 'உங்கள் ஆரோக்கியம் குறித்து முக்கியமானது வந்தால், நான் உங்களை அறிவிக்க வேண்டுமா?'; + + @override + String get notificationBannerButtonEnable => 'ஆம், எனக்கு அறிவிக்கவும்'; + + @override + String get notificationBannerButtonDisable => 'பின்னர் இருக்கலாம்'; + + @override + String get notificationBannerButtonClose => 'மூடு'; + + @override + String get notificationAreBlockedSystem => + 'அறிவிப்புகள் அமைப்பு மட்டத்தில் முடக்கப்பட்டுள்ளது. Doctorina-இன் அறிவிப்புகளை செயல்படுத்துவதற்கு முன், அவற்றை அமைப்பு அமைப்புகளில் இயக்கவும்.'; + + @override + String get notificationAreBlockedBrowser => + 'அறிவிப்புகள் அமைப்பு மட்டத்தில் முடக்கப்பட்டுள்ளது. Doctorina-இன் அறிவிப்புகளை செயல்படுத்துவதற்கு முன், உலாவி அமைப்புகளில் அவற்றைப் செயல்படுத்தவும்.'; + + @override + String get notificationDialogTitle => 'உங்கள் ஆலோசனை பற்றி புதுப்பிக்கவும்'; + + @override + String get notificationDialogDescription => + 'Doctorina உங்களுக்கான புதிய தகவல்கள் அல்லது உங்கள் ஆரோக்கியம் பற்றிய புதுப்பிப்புகள் கிடைக்கும்போது உங்களை அறிவிக்கலாம்.'; + + @override + String get notificationDialogEnableButton => 'அறிவிப்புகளை இயக்கவும்'; + + @override + String get notificationDialogLaterButton => 'பின்னர் இருக்கலாம்'; + + @override + String get termsAndConditionBannerText => + 'தொடர்வதன் மூலம், நீங்கள் cookies பயன்பாடு, தனிப்பட்ட தரவுகளின் செயலாக்கம், விதிமுறைகள் மற்றும் நிபந்தனைகள் உடன் ஒப்புக்கொள்கிறீர்கள் மற்றும்

தனியுரிமை கொள்கையை

ஒப்புக்கொள்கிறீர்கள். மேலும், உங்கள் ஆலோசனை ஒரு AI உடன் நடைபெறுவதாகவும், அனுமதிப்பட்ட மருத்துவ நிபுணருடன் அல்லவெனவும் நீங்கள் ஒப்புக்கொள்கிறீர்கள்'; + + @override + String get termsAndConditionBannerDismissTooltip => 'அழிக்கவும்'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'முதலில் இந்த அரட்டை சேமிக்கவும்?'; + + @override + String get anonUserNewChatCreationWarningText => + 'ஒரு புதிய ஆலோசனையை தொடங்குவதற்கு முன் இந்த ஆலோசனையை சேமிக்க இலவசமாக பதிவு கொள்ளவும்'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'சேமிக்காமல் தொடங்கவும்'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'சைன் அப் செய்க'; + + @override + String get inputBlockerContinueMessage => + 'சந்திப்பை தொடர, மேலே உள்ள விருப்பத்தை தேர்ந்தெடு'; + + @override + String get chatServerDialogCloseBtnTooltip => 'மூடு'; + + @override + String get chatAttachmentRemoveTooltip => 'இணைப்பை அகற்று'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'கோப்புகளை இறக்குமதி செய்ய முடியவில்லை'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'தயவுசெய்து ஒரு செய்தியை உள்ளிடவும் அல்லது ஒரு கோப்பை இணைக்கவும்'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'அனுப்புவதற்கு முன் பதிவேற்றங்கள் முடிவடைய காத்திருங்கள்'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'செய்தி செயலாக்கப்படுகிறது'; + + @override + String get chatAttachmentErrorMessageTooLong => + 'செய்தி மிகவும் நீளமாக உள்ளது'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'செய்தி தற்போது செயலாக்கமாக உள்ளது.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'இணைப்பு நிரந்தரமாக மூடப்பட்டுள்ளது'; + + @override + String get chatAttachmentErrorNoConnection => 'சேவையுடன் இணைப்பு இல்லை'; + + @override + String get chatAttachmentErrorPickFiles => + 'கோப்புகளை தேர்வு செய்ய முடியவில்லை'; + + @override + String get chatAttachmentErrorPickImages => + 'படங்களை தேர்வு செய்ய முடியவில்லை'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'கேமராவிலிருந்து புகைப்படம் பிடிக்க முடியவில்லை'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return '$count கோப்புகளை ஒரே நேரத்தில் இணைக்கலாம்.'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'அறியப்பட்ட உரையை அழிக்கவும்'; + + @override + String get chatInputTooltipMessageTooLong => 'செய்தி மிகவும் நீளமாக உள்ளது.'; + + @override + String get chatInputTooltipWaitForUploads => + 'அனுப்புதல்களை முடிக்க காத்திருங்கள்.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '$kind \"$name\" ஏற்கனவே இணைக்கப்பட்டுள்ளது மற்றும் மீண்டும் சேர்க்கப்படவில்லை.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" என்பது $exist இன் நகல் மற்றும் சேர்க்கப்படவில்லை.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'The $kind \"$name\" சேர்க்கப்படவில்லை ஏனெனில் இணைப்புகளின் அதிகபட்ச எண்ணிக்கை மீறப்பட்டுள்ளது.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '\"$name\" என்ற கோப்பு காலியாக உள்ளது.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'கோப்பு காலியாக உள்ளது.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'கோப்பு \"$name\" அதிகபட்சமாக அனுமதிக்கப்பட்ட அளவை மீறுகிறது.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'கோப்பு அனுமதிக்கப்பட்ட அதிகபட்ச அளவை மீறுகிறது.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '\"$name\" என்ற கோப்பை செயலாக்கும் போது பிழை ஏற்பட்டது.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'கோப்பைப் செயலாக்கும் போது ஒரு பிழை ஏற்பட்டது.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'கோப்பு \"$name\" சேர்க்கப்படவில்லை, ஏனெனில் இணைப்புகளின் அதிகபட்ச எண்ணிக்கை மீறப்பட்டுள்ளது.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ஒரு அல்லது பல கோப்புகள் சேர்க்கப்படவில்லை, ஏனெனில் இணைப்புகளின் அதிகபட்ச எண்ணிக்கை மீறப்பட்டுள்ளது.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'ஒரு கோப்பு சேர்க்கப்படவில்லை, ஏனெனில் இணைப்புகளின் அதிகபட்ச எண்ணிக்கை மீறப்பட்டுள்ளது.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'பெயர் இல்லாத ஒரு கோப்பு சேர்க்க முயற்சிக்கப்பட்டது.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'ஒரு ஆதரிக்கப்படாத நீட்டிப்புடன் கூடிய கோப்பு சேர்க்க முயற்சிக்கப்பட்டது: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'ஆதாரமாக்கப்படாத நீட்டிப்பு கொண்ட கோப்பு சேர்க்க முயற்சிக்கப்பட்டது.'; + + @override + String get chatAttachmentErrorFileNull => 'கோப்பை சேர்க்க முடியவில்லை.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return '\"$name\" என்ற கோப்பு செல்லுபடியாகவில்லை மற்றும் சேர்க்க முடியாது.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'ஒரு கோப்பு தவறானது மற்றும் சேர்க்க முடியாது.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return '\"$name\" என்ற உருப்படியானது செல்லுபடியாகும் கோப்பாக இல்லை.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'ஒரு உருப்படி செல்லுபடியாகும் கோப்பு அல்ல.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'ஒரு உருப்படியை செயலாக்கும் போது பிழை ஏற்பட்டது.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'ஒரு பொருளை(பொருட்களை) செயலாக்கும் போது பிழை ஏற்பட்டது.'; + + @override + String get chatAttachmentErrorNoFiles => + 'எந்த கோப்புகளும் சேர்க்கப்படவில்லை.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'சில கோப்புகள் உள்ள கோப்புகளுடன் ஒத்துப்போகும் காரணமாக தவிர்க்கப்பட்டன.'; + + @override + String get chatAttachmentErrorUnknown => 'அறியப்படாத பிழை ஏற்பட்டது.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'கோப்புகளை இணைக்கும் போது ஏற்பட்ட பின்வரும் பிழைகள்:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'கோப்பை பகிர்வதில் தோல்வி: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'மூடு'; + + @override + String get chatAttachmentPreviewTooltipShare => 'பகிர்'; + + @override + String get chatAttachmentPreviewLoading => 'கோப்பை ஏற்றுகிறது...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'கோப்பை ஏற்றுவதில் தோல்வி'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'அறியப்படாத பிழை ஏற்பட்டது'; + + @override + String get chatAttachmentPreviewButtonRetry => 'மீண்டும் முயற்சி செய்'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'ஆதரிக்கப்படாத கோப்பு வகை'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '$contentType ஐ முன்னோட்டம் செய்ய முடியாது'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'கோப்பை பகிர்'; + + @override + String get chatAttachmentPreviewErrorImage => 'படத்தை காட்டு முடியவில்லை'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => + 'பெரிதாக்கத்தை மீட்டமைக்கவும்'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDFஐ ஏற்ற முடியவில்லை'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'உள்ளடக்கத்தை குறியாக்குவதில் தோல்வி.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return '$count மேலும் பிழைகள்.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'கோப்பு தவறாக உள்ளது'; + + @override + String get chatConsentRequiredTitle => 'அனுமதி தேவை'; + + @override + String get chatConsentRequiredText => + 'தொடர்ந்து செல்லுவதன் மூலம், நீங்கள் எங்கள் விதிமுறைகள், தனியுரிமை கொள்கை மற்றும் குக்கீக்களின் பயன்பாடுக்கு ஒப்புக்கொள்கிறீர்கள், மேலும் இந்த ஆலோசனை AI மூலம் வழங்கப்படுகிறது, உரிமம் பெற்ற மருத்துவ நிபுணரால் அல்ல.'; + + @override + String get chatConsentRequiredCloseTooltip => 'மூடு'; + + @override + String get chatHistoryDelete => 'அழி'; + + @override + String get chatDelete => 'சாட் நீக்கு'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'சாட் “$title” வெற்றிகரமாக நீக்கப்பட்டது.'; + } + + @override + String get chatDeleteConfirmationTitle => 'சந்திப்பை நீக்கவா?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'உங்கள் அறிகுறிகள், நோயின் சுருக்கம் மற்றும் இந்த உரையாடலில் உள்ள எந்த பரிந்துரைகளும் நீக்கப்படும்.\nஇந்த நடவடிக்கை திரும்ப முடியாது.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'பெரிதாக்கு'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'சிறிது குறைக்கவும்'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => + 'பெரிதாக்கத்தை மீட்டமைக்கவும்'; + + @override + String get chatAttachmentPreviewShareTooltip => 'பகிர்'; + + @override + String get dateToday => 'இன்று'; + + @override + String get dateYesterday => 'நேற்று'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'முதல் பக்கம் மட்டும். முழு கோப்பைப் பதிவிறக்க பகிர் என்பதைப் பயன்படுத்தவும்.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_te.dart b/example/lib/src/generated/chat/chat_localization_te.dart new file mode 100644 index 0000000..de95d5d --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_te.dart @@ -0,0 +1,642 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Telugu (`te`). +class ChatLocalizationTe extends ChatLocalization { + ChatLocalizationTe([String locale = 'te']) : super(locale); + + @override + String get drawerTooltipNotifications => 'నోటిఫికేషన్లు'; + + @override + String get drawerTooltipHelp => 'సహాయం'; + + @override + String get drawerTooltipClose => 'మూసు'; + + @override + String get drawerSectionTitleAccount => 'ఖాతా'; + + @override + String get drawerSectionProfile => 'ప్రొఫైల్'; + + @override + String get drawerSectionAccountSettings => 'ఖాతా అమరికలు'; + + @override + String get drawerSectionDonateToSupport => 'మద్దతు కోసం దానం చేయండి'; + + @override + String get drawerSectionSubscription => 'సబ్స్క్రిప్షన్'; + + @override + String get drawerSectionTitleChats => 'చాట్‌లు'; + + @override + String get drawerSectionChatHistory => 'చాట్ చరిత్ర'; + + @override + String get drawerSectionAttachedDocuments => 'జోడించిన పత్రాలు'; + + @override + String get drawerSectionTitleHowToUse => 'ఎలా ఉపయోగించాలి'; + + @override + String get drawerSectionVideoTutorials => 'వీഡിയോ ట్యుటోరియల్స్'; + + @override + String get drawerSectionTitleLegal => 'చట్టపరమైన'; + + @override + String get drawerSectionContactUs => 'మమ్మల్ని సంప్రదించండి'; + + @override + String get drawerSectionBugReport => 'బగ్ నివేదిక'; + + @override + String get drawerSectionTermsAndConditions => 'నిబంధనలు & షరతులు'; + + @override + String get drawerSectionPrivacyPolicy => 'గోప్యతా విధానం'; + + @override + String get drawerSectionTitleFeedback => 'అభిప్రాయం'; + + @override + String get drawerSectionRateApp => 'అప్ రేట్ చేయండి'; + + @override + String get drawerSectionShareWithFriends => 'స్నేహితులతో పంచుకోండి'; + + @override + String get drawerButtonLogOut => 'లాగ్ అవుట్'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'ఇతరులు వైద్య సేవలు పొందడానికి సహాయం చేయండి'; + + @override + String get drawerPlaceholderUser => 'యూజర్'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'ప్రీమియం ఫీచర్లు\nడాక్టరినా‌తో'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'పొందండి'; + + @override + String get drawerLabelJoinUs => 'మనతో చేరండి'; + + @override + String get drawerTooltipVersion => 'యాప్ వెర్షన్:'; + + @override + String get drawerSectionRecentChats => 'ఇటీవల చాట్లు'; + + @override + String get drawerPlaceholderProfile => 'ప్రొఫైల్'; + + @override + String get drawerPlaceholderRecentChat => 'ఇటీవల చాట్'; + + @override + String get drawerSectionDownloadApps => 'అప్లికేషన్లు డౌన్‌లోడ్ చేయండి'; + + @override + String get chatInputHintEnterMessage => 'సందేశాన్ని నమోదు చేయండి'; + + @override + String get chatInputTooltipAttachFile => 'ఫైల్ జోడించండి'; + + @override + String get chatInputTooltipDictateMessage => 'డిక్ట్ చేయండి'; + + @override + String get chatInputTooltipDictateFinishMessage => 'ముగించు & లిప్యంతరించు'; + + @override + String get chatInputTooltipSendMessage => 'సందేశం పంపండి'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'సందేశాలను పొందడంలో విఫలమైంది'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'సందేశాలను పొందడంలో విఫలమయ్యాం. దయచేసి మళ్ళీ ప్రయత్నించండి.'; + + @override + String get chatListTooltipFetchMessages => 'సందేశాలను తీసుకోండి'; + + @override + String get chatListLabelNoMessagesAvailable => + 'సందేశాలు అందుబాటులో లేవు. సంభాషణను ప్రారంభించడానికి ఒక సందేశం పంపండి.'; + + @override + String get chatListHasConnection => 'కనెక్టైనది'; + + @override + String get chatListNoConnection => 'కనెక్షన్ లేదు'; + + @override + String get chatActionButtonTooltipSearch => 'శోధించు'; + + @override + String get chatActionButtonTooltipFavorites => 'ఇష్టమైనవి'; + + @override + String get chatActionButtonTooltipDownload => 'డౌన్లోడ్'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF ముద్రించండి'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'మిత్రులతో పంచుకోండి'; + + @override + String get chatActionButtonTooltipNewChat => 'కొత్త చాట్'; + + @override + String get chatActionButtonNewChat => 'చాట్'; + + @override + String get chatActionButtonTooltipChatList => 'చాట్ ఎంచుకోండి'; + + @override + String get chatActionButtonTooltipShowDrawer => 'డ్రాయర్ చూపించు'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'చాట్‌లు అందుబాటులో లేవు. దయచేసి రిఫ్రెష్ చేయండి లేదా కొత్త చాట్ సృష్టించండి.'; + + @override + String get chatButtonRefreshChats => 'చాట్‌లను రిఫ్రెష్ చేయండి'; + + @override + String get chatButtonCreateNewChat => 'కొత్త చాట్ సృష్టించు'; + + @override + String get chatContextMenuCopyMessage => 'పాఠ్యం కాపీ చేయి'; + + @override + String get chatStatusProcessingMessages => 'టైపింగ్\nకొద్ది క్షణం'; + + @override + String get chatNoConnectionLabel => + 'అప్‌డేటింగ్...\nమీ ఇంటర్నెట్ కనెక్షన్‌ను తనిఖీ చేయండి'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'సందేశం ఇప్పటికే ఈ క్షణమే ప్రాసెస్ చేయబడుతోంది.'; + + @override + String get chatErrorMessageTooLong => 'సందేశం చాలా పొడవుగా ఉంది.'; + + @override + String get chatRemoveAttachmentTooltip => 'అటాచ్‌మెంట్ తొలగించు'; + + @override + String get chatStatusFailedMessage => 'సందేశాన్ని ప్రాసెస్ చేయడంలో విఫలమైంది'; + + @override + String get chatActionButtonTooltipExportSummary => 'PDFకి ఎగుమతి చేయండి'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'ఫోటోలు'; + + @override + String get chatPickerCamera => 'కెమెరా'; + + @override + String get chatPickerFiles => 'ఫైళ్ళు'; + + @override + String get chatPickerPhotosFiles => 'ఫోటోలు మరియు ఫైల్స్'; + + @override + String get chatRecommendationYIAG => + 'ఆశిస్తున్నాము, ఇది సహాయపడింది! ఈ వివరణ మీకు ఉపయోగపడుతుందా?'; + + @override + String get chatRecommendationButtonDonate => 'అవును, అన్నీ బాగానే ఉన్నాయి!'; + + @override + String get failedToRetrieveChatSummary => + 'చాట్ సారాంశం సేకరించడంలో విఫలమైంది'; + + @override + String get chatSummaryCopiedToClipboard => + 'చాట్ సారాంశం క్లిప్‌బోర్డ్కు కాపీ చేయబడింది'; + + @override + String get tryDoctorinaInTheMobileApp => + 'మొబైల్ యాప్‌లో Doctorina ని ప్రయత్నించండి!'; + + @override + String get getAppStoreLogoLabel => 'లో డౌన్లోడ్'; + + @override + String get getGooglePlayLogoLabel => 'ఇప్పుడే పొందండి'; + + @override + String get getAppStoreLogoTooltip => 'App Store నుండి డౌన్లోడ్ చేయండి'; + + @override + String get getGooglePlayLogoTooltip => 'గూగుల్ ప్లే నుండి పొందండి'; + + @override + String get reportMessageDialogTitle => 'సందేశం నివేదిక'; + + @override + String get reportMessageDialogSubtitle => + 'మీరు ఈ సందేశాన్ని ఎందుకు నివేదిస్తున్నారు?'; + + @override + String get reportMessageDialogTextFieldHint => + 'ఐచికంగా: ఈ సందేశంలో ఏమి తప్పు ఉందో వివరించండి...'; + + @override + String get reportMessageDialogWhyImportant => + 'ఇది మా AI ప్రతిస్పందనలను మెరుగుపరచడంలో సహాయపడుతుంది.'; + + @override + String get reportMessageDialogCancelButton => 'రద్దు'; + + @override + String get reportMessageDialogReportButton => 'రిపోర్ట్'; + + @override + String get reportMessageSnackbarSuccess => + 'మీ అభిప్రాయానికి ధన్యవాదాలు! నివేదిక సమర్పించబడింది.'; + + @override + String get reportMessageSnackbarFailed => 'రిపోర్ట్ సమర్పించడంలో విఫలమైంది'; + + @override + String get copyMessageSnackbarSuccess => 'క్లిప్‌బోర్డుకు కాపీ చేయబడింది'; + + @override + String get copyMessageSnackbarFailed => 'సందేశాన్ని కాపీ చేయడం విఫలమైంది'; + + @override + String get chatContextMenuReportMessage => 'సందేశం నివేదిక'; + + @override + String get chatDropZoneTitle => 'డాక్టర్ చాట్‌కు అప్‌లోడ్ చేయండి'; + + @override + String get chatDropZoneSubtitle => + 'చాట్‌లో చేర్చడానికి ఇక్కడ ఫైళ్లను డ్రాగ్ చేసి వదిలేయండి'; + + @override + String get chatDropZoneText => 'మీరు ఒక సందేశానికి 15 ఫైళ్లను జోడించవచ్చు'; + + @override + String get notificationBannerText => + 'మీ ఆరోగ్యం గురించి ముఖ్యమైనది వస్తే మీకు తెలియజేయాలా?'; + + @override + String get notificationBannerButtonEnable => 'అవును, నాకు తెలియజేయండి'; + + @override + String get notificationBannerButtonDisable => 'తర్వాత కావచ్చు'; + + @override + String get notificationBannerButtonClose => 'మూసివేయి'; + + @override + String get notificationAreBlockedSystem => + 'సిస్టమ్ స్థాయిలో నోటిఫికేషన్లు అడ్డుకోబడ్డాయి. డాక్టోరినా యొక్క నోటిఫికేషన్లను ప్రారంభించడానికి ముందు వాటిని సిస్టమ్ సెట్టింగ్స్‌లో ప్రారంభించండి.'; + + @override + String get notificationAreBlockedBrowser => + 'సిస్టమ్ స్థాయిలో నోటిఫికేషన్లు అడ్డుకోబడ్డాయి. డాక్టోరినా యొక్క నోటిఫికేషన్లను ప్రారంభించడానికి ముందు బ్రౌజర్ సెట్టింగ్స్‌లో వాటిని ప్రారంభించండి.'; + + @override + String get notificationDialogTitle => + 'మీ సంప్రదింపుల గురించి అప్డేట్‌లో ఉండండి'; + + @override + String get notificationDialogDescription => + 'డాక్టర్‌నా మీ ఆరోగ్యం గురించి కొత్త సమాచారం లేదా నవీకరణలు అందుబాటులో ఉన్నప్పుడు మీకు తెలియజేయవచ్చు.'; + + @override + String get notificationDialogEnableButton => 'నోటిఫికేషన్లు ప్రారంభించండి'; + + @override + String get notificationDialogLaterButton => 'తర్వాత కావచ్చు'; + + @override + String get termsAndConditionBannerText => + 'ముందుకు సాగడం ద్వారా మీరు వ్యక్తిగత డేటా ప్రక్రియ, cookies వినియోగం, నిబంధనలు మరియు షరతులు అంగీకరించి,

గోప్యతా విధానం

ని ధృవీకరిస్తున్నారు. అదనంగా, మీ కన్సల్టేషన్ అనేది లైసెన్స్ పొందిన వైద్య నిపుణుడి కాదని మీరు అంగీకరిస్తున్నారు'; + + @override + String get termsAndConditionBannerDismissTooltip => 'తిరస్కరించు'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'ముందుగా ఈ చాట్‌ను సేవ్ చేయండి?'; + + @override + String get anonUserNewChatCreationWarningText => + 'కొత్త సలహా ప్రారంభించే ముందు ఈ సలహాను సేవ్ చేసుకోవడానికి ఉచితంగా సైన్ అప్ చేయండి'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'సేవ్ చేయకుండానే ప్రారంభించు'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'సైన్ అప్ చేయండి'; + + @override + String get inputBlockerContinueMessage => + 'సంభాషణను కొనసాగించడానికి, పై నుండి ఒక ఎంపికను ఎంచుకోండి'; + + @override + String get chatServerDialogCloseBtnTooltip => 'మూసివేయి'; + + @override + String get chatAttachmentRemoveTooltip => 'అటాచ్‌మెంట్‌ను తొలగించండి'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'డ్రాప్ జోన్ నుండి ఫైళ్లను ఎంచుకోవడంలో విఫలమైంది'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'దయచేసి సందేశాన్ని నమోదు చేయండి లేదా ఫైల్‌ను జోడించండి'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'అప్‌లోడ్లు పూర్తయ్యే వరకు వేచి ఉండండి'; + + @override + String get chatAttachmentErrorMessageProcessing => 'సందేశం ప్రాసెస్ అవుతోంది'; + + @override + String get chatAttachmentErrorMessageTooLong => 'సందేశం చాలా పొడవుగా ఉంది'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'సందేశం ప్రస్తుతం ప్రాసెస్ అవుతోంది.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'కనెక్షన్ శాశ్వతంగా మూసివేయబడింది'; + + @override + String get chatAttachmentErrorNoConnection => 'సర్వర్‌కు కనెక్షన్ లేదు'; + + @override + String get chatAttachmentErrorPickFiles => 'ఫైళ్ళను ఎంచుకోవడంలో విఫలమయ్యింది'; + + @override + String get chatAttachmentErrorPickImages => 'చిత్రాలను ఎంచుకోవడంలో విఫలమైంది'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'కామరా నుండి ఫోటోను పట్టుకోవడంలో విఫలమైంది'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'మీరు ఒకేసారి $count ఫైల్స్ జోడించవచ్చు.'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'గుర్తించిన పాఠాన్ని క్లియర్ చేయండి'; + + @override + String get chatInputTooltipMessageTooLong => 'సందేశం చాలా పొడవుగా ఉంది.'; + + @override + String get chatInputTooltipWaitForUploads => + 'అప్లోడ్లు పూర్తయ్యే వరకు వేచి ఉండండి.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'The $kind \"$name\" is already attached and was not added again.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" is a duplicate of $exist and was not added.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'The $kind \"$name\" was not added because the maximum number of attachments has been exceeded.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'ఫైల్ \"$name\" ఖాళీగా ఉంది.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'ఫైల్ ఖాళీగా ఉంది.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'ఫైల్ \"$name\" అనుమతించిన గరిష్ట పరిమాణాన్ని మించిపోయింది.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'ఫైల్ అనుమతించబడిన గరిష్ట పరిమాణాన్ని మించిపోయింది.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'ఫైల్ \"$name\" ప్రాసెస్ చేయడంలో లోపం జరిగింది.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'ఫైల్ ప్రాసెస్ చేయడంలో లోపం జరిగింది.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'ఫైల్ \"$name\" జోడించబడలేదు ఎందుకంటే జోడింపుల గరిష్ట సంఖ్య మించిపోయింది.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ఒకటి లేదా ఎక్కువ ఫైళ్లు జోడించబడలేదు, ఎందుకంటే అనుబంధాల గరిష్ట సంఖ్య మించిపోయింది.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'ఒక ఫైల్ జోడించబడలేదు ఎందుకంటే జోడింపుల గరిష్ట సంఖ్య మించిపోయింది.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'ఒక పేరుతో లేని ఫైల్ జోడించడానికి ప్రయత్నించబడింది.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'అనుమతించని విస్తరణతో కూడిన ఫైల్ జోడించడానికి ప్రయత్నించబడింది: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'అనుమతించని విస్తరణతో కూడిన ఫైల్ జోడించడానికి ప్రయత్నించబడింది.'; + + @override + String get chatAttachmentErrorFileNull => 'ఫైల్‌ను జోడించడం సాధ్యం కాదు.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'ఫైల్ \"$name\" చెల్లదు మరియు జోడించబడదు.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'ఒక ఫైల్ చెల్లదు మరియు జోడించబడదు.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'ఐటమ్ \"$name\" చెల్లుబాటు అయ్యే ఫైల్ కాదు.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'ఒక అంశం చెల్లుబాటు అయ్యే ఫైల్ కాదు.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'ఒక అంశాన్ని ప్రాసెస్ చేయడంలో లోపం జరిగింది'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'ఒకటి(లు)ని ప్రాసెస్ చేయడంలో లోపం జరిగింది.'; + + @override + String get chatAttachmentErrorNoFiles => 'ఫైళ్ళు జోడించబడలేదు.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'కొన్ని ఫైళ్లు ఇప్పటికే ఉన్న ఫైళ్లతో డూప్లికేట్ల కారణంగా దాటవేయబడ్డాయి.'; + + @override + String get chatAttachmentErrorUnknown => 'ఒక తెలియని లోపం జరిగింది.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'ఫైళ్ళను జోడించేటప్పుడు ఈ క్రింది లోపాలు జరిగాయి:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'ఫైల్‌ను పంచడం విఫలమైంది: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'మూసివేయి'; + + @override + String get chatAttachmentPreviewTooltipShare => 'షేర్'; + + @override + String get chatAttachmentPreviewLoading => 'ఫైల్ లోడ్ అవుతోంది...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'ఫైల్ లోడ్ చేయడంలో విఫలమైంది'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'అజ్ఞాత లోపం జరిగింది'; + + @override + String get chatAttachmentPreviewButtonRetry => 'మళ్లీ ప్రయత్నించండి'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'మద్దతు లేని ఫైల్ రకం'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '$contentType ను ప్రివ్యూ చేయలేరు'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'ఫైల్ పంచుకోండి'; + + @override + String get chatAttachmentPreviewErrorImage => + 'చిత్రాన్ని ప్రదర్శించడంలో విఫలమైంది'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'జూమ్ రీసెట్ చేయండి'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF లోడ్ చేయడంలో విఫలమైంది'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'పాఠ్య విషయాన్ని డీకోడ్ చేయడంలో విఫలమైంది.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'మరియు $count మరిన్ని లోపాలు.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'ఫైల్ తప్పుగా ఉంది'; + + @override + String get chatConsentRequiredTitle => 'అనుమతి అవసరం'; + + @override + String get chatConsentRequiredText => + 'కొనసాగడం ద్వారా, మీరు మా నిబంధనలు, గోప్యతా విధానం, మరియు కుకీలు ఉపయోగం కు అంగీకరిస్తున్నారు మరియు ఈ సలహా AI ద్వారా అందించబడుతుందని, లైసెన్స్ పొందిన వైద్య నిపుణుడి ద్వారా కాదు అని నిర్ధారిస్తున్నారు.'; + + @override + String get chatConsentRequiredCloseTooltip => 'మూసివేయి'; + + @override + String get chatHistoryDelete => 'తొలగించు'; + + @override + String get chatDelete => 'చాట్ తొలగించు'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'చాట్ “$title” విజయవంతంగా తొలగించబడింది.'; + } + + @override + String get chatDeleteConfirmationTitle => 'చాట్‌ను తొలగించాలా?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'మీ లక్షణాలు, నిర్ధారణ సారాంశం మరియు ఈ చాట్‌లోని సిఫార్సులు తొలగించబడతాయి.\nఈ చర్యను తిరిగి తీసుకోలేరు.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'జూమ్ ఇన్'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'జూమ్ అవుట్'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'జూమ్ రీసెట్ చేయండి'; + + @override + String get chatAttachmentPreviewShareTooltip => 'షేర్'; + + @override + String get dateToday => 'ఈ రోజు'; + + @override + String get dateYesterday => 'నిన్న'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'మొదటి పేజీ మాత్రమే. పూర్తి ఫైల్ డౌన్‌లోడ్ చేయడానికి షేర్‌ను ఉపయోగించండి.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_th.dart b/example/lib/src/generated/chat/chat_localization_th.dart new file mode 100644 index 0000000..bfeaccb --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_th.dart @@ -0,0 +1,631 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Thai (`th`). +class ChatLocalizationTh extends ChatLocalization { + ChatLocalizationTh([String locale = 'th']) : super(locale); + + @override + String get drawerTooltipNotifications => 'การแจ้งเตือน'; + + @override + String get drawerTooltipHelp => 'ช่วย'; + + @override + String get drawerTooltipClose => 'ปิด'; + + @override + String get drawerSectionTitleAccount => 'บัญชี'; + + @override + String get drawerSectionProfile => 'โปรไฟล์'; + + @override + String get drawerSectionAccountSettings => 'การตั้งค่าบัญชี'; + + @override + String get drawerSectionDonateToSupport => 'บริจาคเพื่อสนับสนุน'; + + @override + String get drawerSectionSubscription => 'สมัครสมาชิก'; + + @override + String get drawerSectionTitleChats => 'แชท'; + + @override + String get drawerSectionChatHistory => 'ประวัติการสนทนา'; + + @override + String get drawerSectionAttachedDocuments => 'เอกสารที่แนบมา'; + + @override + String get drawerSectionTitleHowToUse => 'วิธีใช้งาน'; + + @override + String get drawerSectionVideoTutorials => 'วิดีโอสอน'; + + @override + String get drawerSectionTitleLegal => 'กฎหมาย'; + + @override + String get drawerSectionContactUs => 'ติดต่อเรา'; + + @override + String get drawerSectionBugReport => 'รายงานข้อผิดพลาด'; + + @override + String get drawerSectionTermsAndConditions => 'ข้อกำหนดและเงื่อนไข'; + + @override + String get drawerSectionPrivacyPolicy => 'นโยบายความเป็นส่วนตัว'; + + @override + String get drawerSectionTitleFeedback => 'ข้อเสนอแนะ'; + + @override + String get drawerSectionRateApp => 'ให้คะแนนแอป'; + + @override + String get drawerSectionShareWithFriends => 'แชร์กับเพื่อน'; + + @override + String get drawerButtonLogOut => 'ออกจากระบบ'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'ช่วยให้คนอื่นได้รับการดูแลทางการแพทย์'; + + @override + String get drawerPlaceholderUser => 'ผู้ใช้'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'ฟีเจอร์พรีเมียม\nกับ Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'รับ'; + + @override + String get drawerLabelJoinUs => 'เข้าร่วมกับเรา'; + + @override + String get drawerTooltipVersion => 'เวอร์ชันแอป:'; + + @override + String get drawerSectionRecentChats => 'การสนทนาล่าสุด'; + + @override + String get drawerPlaceholderProfile => 'โปรไฟล์'; + + @override + String get drawerPlaceholderRecentChat => 'การสนทนาล่าสุด'; + + @override + String get drawerSectionDownloadApps => 'ดาวน์โหลดแอป'; + + @override + String get chatInputHintEnterMessage => 'พิมพ์ข้อความ'; + + @override + String get chatInputTooltipAttachFile => 'แนบไฟล์'; + + @override + String get chatInputTooltipDictateMessage => 'พิมพ์ด้วยเสียง'; + + @override + String get chatInputTooltipDictateFinishMessage => 'เสร็จ & ถอดข้อความ'; + + @override + String get chatInputTooltipSendMessage => 'ส่งข้อความ'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'ไม่สามารถดึงข้อความได้'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'ไม่สามารถดึงข้อความได้ กรุณาลองใหม่อีกครั้ง.'; + + @override + String get chatListTooltipFetchMessages => 'ดึงข้อความ'; + + @override + String get chatListLabelNoMessagesAvailable => + 'ไม่มีข้อความ. กรุณาส่งข้อความเพื่อเริ่มการสนทนา'; + + @override + String get chatListHasConnection => 'เชื่อมต่อแล้ว'; + + @override + String get chatListNoConnection => 'ไม่มีการเชื่อมต่อ'; + + @override + String get chatActionButtonTooltipSearch => 'ค้นหา'; + + @override + String get chatActionButtonTooltipFavorites => 'รายการโปรด'; + + @override + String get chatActionButtonTooltipDownload => 'ดาวน์โหลด'; + + @override + String get chatActionButtonTooltipPrintPdf => 'พิมพ์ PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'แบ่งปันกับเพื่อน'; + + @override + String get chatActionButtonTooltipNewChat => 'แชทใหม่'; + + @override + String get chatActionButtonNewChat => 'แชท'; + + @override + String get chatActionButtonTooltipChatList => 'เลือกแชท'; + + @override + String get chatActionButtonTooltipShowDrawer => 'แสดงแผงเลื่อน'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'ไม่มีแชท กรุณารีเฟรชหรือสร้างแชทใหม่.'; + + @override + String get chatButtonRefreshChats => 'รีเฟรชแชท'; + + @override + String get chatButtonCreateNewChat => 'สร้างการสนทนาใหม่'; + + @override + String get chatContextMenuCopyMessage => 'คัดลอกข้อความ'; + + @override + String get chatStatusProcessingMessages => 'กำลังพิมพ์\nโปรดรอซักครู่'; + + @override + String get chatNoConnectionLabel => + 'กำลังอัปเดต...\nกรุณาตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'ข้อความกำลังถูกดำเนินการอยู่แล้วในขณะนี้.'; + + @override + String get chatErrorMessageTooLong => 'ข้อความยาวเกินไป.'; + + @override + String get chatRemoveAttachmentTooltip => 'ลบไฟล์แนบ'; + + @override + String get chatStatusFailedMessage => 'ไม่สามารถประมวลผลข้อความได้'; + + @override + String get chatActionButtonTooltipExportSummary => 'ส่งออกเป็น PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'รูปภาพ'; + + @override + String get chatPickerCamera => 'กล้องถ่ายรูป'; + + @override + String get chatPickerFiles => 'ไฟล์'; + + @override + String get chatPickerPhotosFiles => 'รูปภาพและไฟล์'; + + @override + String get chatRecommendationYIAG => + 'หวังว่านี่จะช่วยได้! คำอธิบายนี้เป็นประโยชน์สำหรับคุณหรือไม่?'; + + @override + String get chatRecommendationButtonDonate => 'ใช่, ทุกอย่างเรียบร้อย!'; + + @override + String get failedToRetrieveChatSummary => 'ไม่สามารถดึงสรุปบทสนทนาได้'; + + @override + String get chatSummaryCopiedToClipboard => + 'สรุปการสนทนาถูกคัดลอกไปที่คลิปบอร์ด'; + + @override + String get tryDoctorinaInTheMobileApp => 'ลองใช้ Doctorina ในแอปมือถือ!'; + + @override + String get getAppStoreLogoLabel => 'ดาวน์โหลดบน'; + + @override + String get getGooglePlayLogoLabel => 'ดาวน์โหลดได้ที่'; + + @override + String get getAppStoreLogoTooltip => 'ดาวน์โหลดบน App Store'; + + @override + String get getGooglePlayLogoTooltip => 'รับที่ Google Play'; + + @override + String get reportMessageDialogTitle => 'รายงานข้อความ'; + + @override + String get reportMessageDialogSubtitle => 'ทำไมคุณถึงรายงานข้อความนี้?'; + + @override + String get reportMessageDialogTextFieldHint => + 'เลือกได้: อธิบายว่ามีอะไรผิดปกติกับข้อความนี้...'; + + @override + String get reportMessageDialogWhyImportant => + 'สิ่งนี้จะช่วยให้เราปรับปรุงการตอบสนองของ AI ของเรา'; + + @override + String get reportMessageDialogCancelButton => 'ยกเลิก'; + + @override + String get reportMessageDialogReportButton => 'รายงาน'; + + @override + String get reportMessageSnackbarSuccess => + 'ขอบคุณสำหรับข้อเสนอแนะของคุณ! รายงานได้ถูกส่งแล้ว'; + + @override + String get reportMessageSnackbarFailed => 'ไม่สามารถส่งรายงานได้'; + + @override + String get copyMessageSnackbarSuccess => 'คัดลอกไปยังคลิปบอร์ด'; + + @override + String get copyMessageSnackbarFailed => 'ไม่สามารถคัดลอกข้อความได้'; + + @override + String get chatContextMenuReportMessage => 'รายงานข้อความ'; + + @override + String get chatDropZoneTitle => 'อัปโหลดไปยังแชทของ Doctorina'; + + @override + String get chatDropZoneSubtitle => 'ลากและวางไฟล์ที่นี่เพื่อเพิ่มในแชท'; + + @override + String get chatDropZoneText => + 'คุณสามารถเพิ่มไฟล์ได้สูงสุด 15 ไฟล์ในข้อความเดียว'; + + @override + String get notificationBannerText => + 'คุณต้องการให้ฉันแจ้งเตือนคุณหากมีสิ่งสำคัญเกี่ยวกับสุขภาพของคุณหรือไม่?'; + + @override + String get notificationBannerButtonEnable => 'ใช่ แจ้งเตือนฉัน'; + + @override + String get notificationBannerButtonDisable => 'ทีหลัง'; + + @override + String get notificationBannerButtonClose => 'ปิด'; + + @override + String get notificationAreBlockedSystem => + 'การแจ้งเตือนถูกบล็อกที่ระดับระบบ เปิดใช้งานในการตั้งค่าระบบก่อนที่จะเปิดใช้งานการแจ้งเตือนของ Doctorina'; + + @override + String get notificationAreBlockedBrowser => + 'การแจ้งเตือนถูกบล็อกที่ระดับระบบ เปิดใช้งานในการตั้งค่าเบราว์เซอร์ก่อนเปิดใช้งานการแจ้งเตือนของ Doctorina'; + + @override + String get notificationDialogTitle => 'ติดตามข้อมูลเกี่ยวกับการปรึกษาของคุณ'; + + @override + String get notificationDialogDescription => + 'Doctorina สามารถแจ้งเตือนคุณเมื่อมีข้อมูลเชิงลึกหรือการอัปเดตเกี่ยวกับสุขภาพของคุณ'; + + @override + String get notificationDialogEnableButton => 'เปิดการแจ้งเตือน'; + + @override + String get notificationDialogLaterButton => 'ทีหลัง'; + + @override + String get termsAndConditionBannerText => + 'การดำเนินการต่อหมายความว่าคุณยินยอมให้มีการประมวลผลข้อมูลส่วนบุคคล การใช้ cookies ยินยอมต่อ ข้อกำหนดและเงื่อนไข และยืนยัน

นโยบายความเป็นส่วนตัว

นอกจากนี้คุณยืนยันว่าการปรึกษาของคุณเป็นการปรึกษากับ AI ไม่ใช่ผู้เชี่ยวชาญทางการแพทย์ที่มีใบอนุญาต'; + + @override + String get termsAndConditionBannerDismissTooltip => 'ปิด'; + + @override + String get anonUserNewChatCreationWarningTitle => 'บันทึกแชทนี้ก่อนไหม?'; + + @override + String get anonUserNewChatCreationWarningText => + 'สมัครสมาชิกฟรีเพื่อบันทึกการปรึกษานี้ก่อนเริ่มการปรึกษาใหม่'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'เริ่มโดยไม่บันทึก'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'สมัครสมาชิก'; + + @override + String get inputBlockerContinueMessage => + 'เพื่อดำเนินการสนทนาต่อ กรุณาเลือกตัวเลือกด้านบน'; + + @override + String get chatServerDialogCloseBtnTooltip => 'ปิด'; + + @override + String get chatAttachmentRemoveTooltip => 'ลบไฟล์แนบ'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'ไม่สามารถเลือกไฟล์จากโซนวางได้'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'กรุณาใส่ข้อความหรือแนบไฟล์'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'กรุณารอให้การอัปโหลดเสร็จสิ้น'; + + @override + String get chatAttachmentErrorMessageProcessing => 'กำลังประมวลผลข้อความ'; + + @override + String get chatAttachmentErrorMessageTooLong => 'ข้อความยาวเกินไป'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'ข้อความกำลังถูกประมวลผลอยู่ในขณะนี้'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'การเชื่อมต่อถูกปิดอย่างถาวร'; + + @override + String get chatAttachmentErrorNoConnection => + 'ไม่มีการเชื่อมต่อกับเซิร์ฟเวอร์'; + + @override + String get chatAttachmentErrorPickFiles => 'ไม่สามารถเลือกไฟล์ได้'; + + @override + String get chatAttachmentErrorPickImages => 'ไม่สามารถเลือกภาพได้'; + + @override + String get chatAttachmentErrorCapturePhoto => 'ไม่สามารถถ่ายภาพจากกล้องได้'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'คุณสามารถแนบไฟล์ได้สูงสุด $count ไฟล์ในครั้งเดียว'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'ลบข้อความที่รู้จัก'; + + @override + String get chatInputTooltipMessageTooLong => 'ข้อความยาวเกินไป'; + + @override + String get chatInputTooltipWaitForUploads => 'กรุณารอให้การอัปโหลดเสร็จสิ้น'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'ไฟล์ $kind \"$name\" ถูกแนบไว้แล้วและไม่ได้ถูกเพิ่มอีกครั้ง'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'ไฟล์ $kind \"$name\" เป็นไฟล์ซ้ำกับ $exist และไม่ได้ถูกเพิ่ม.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'ไฟล์ $kind \"$name\" ไม่ถูกเพิ่มเพราะจำนวนไฟล์แนบสูงสุดถูกเกินแล้ว'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'ไฟล์ \"$name\" ว่างเปล่า'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'ไฟล์ว่าง'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'ไฟล์ \"$name\" เกินขนาดสูงสุดที่อนุญาต'; + } + + @override + String get chatAttachmentErrorFileSize => 'ไฟล์เกินขนาดสูงสุดที่อนุญาต'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'เกิดข้อผิดพลาดขณะประมวลผลไฟล์ \"$name\"'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'เกิดข้อผิดพลาดขณะประมวลผลไฟล์'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'ไฟล์ \"$name\" ไม่ถูกเพิ่มเพราะจำนวนไฟล์แนบสูงสุดถูกเกินแล้ว'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ไฟล์ไม่ได้ถูกเพิ่มเพราะจำนวนไฟล์แนบสูงสุดถูกเกินแล้ว'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'ไม่สามารถเพิ่มไฟล์ได้เนื่องจากจำนวนไฟล์แนบสูงสุดถูกเกิน'; + + @override + String get chatAttachmentErrorFileMissingName => + 'มีการพยายามเพิ่มไฟล์ที่ไม่มีชื่อ'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'มีการพยายามเพิ่มไฟล์ที่มีนามสกุลที่ไม่รองรับ: \"$name\"'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'มีการพยายามเพิ่มไฟล์ที่มีนามสกุลที่ไม่รองรับ'; + + @override + String get chatAttachmentErrorFileNull => 'ไม่สามารถเพิ่มไฟล์ได้'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'ไฟล์ \"$name\" ไม่ถูกต้องและไม่สามารถเพิ่มได้'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'ไฟล์ไม่ถูกต้องและไม่สามารถเพิ่มได้'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'รายการ \"$name\" ไม่ใช่ไฟล์ที่ถูกต้อง'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'รายการไม่ใช่ไฟล์ที่ถูกต้อง'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'เกิดข้อผิดพลาดขณะประมวลผลรายการ'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'เกิดข้อผิดพลาดขณะประมวลผลรายการ'; + + @override + String get chatAttachmentErrorNoFiles => 'ไม่มีไฟล์ถูกเพิ่ม.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'บางไฟล์ถูกข้ามเนื่องจากซ้ำกับไฟล์ที่มีอยู่แล้ว'; + + @override + String get chatAttachmentErrorUnknown => 'เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'เกิดข้อผิดพลาดดังต่อไปนี้ขณะแนบไฟล์:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'ไม่สามารถแชร์ไฟล์: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'ปิด'; + + @override + String get chatAttachmentPreviewTooltipShare => 'แชร์'; + + @override + String get chatAttachmentPreviewLoading => 'กำลังโหลดไฟล์...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'ไม่สามารถโหลดไฟล์'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'เกิดข้อผิดพลาดที่ไม่รู้จัก'; + + @override + String get chatAttachmentPreviewButtonRetry => 'ลองอีกครั้ง'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'ประเภทไฟล์ที่ไม่รองรับ'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'ไม่สามารถแสดงตัวอย่าง $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'แชร์ไฟล์'; + + @override + String get chatAttachmentPreviewErrorImage => 'ไม่สามารถแสดงภาพได้'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'รีเซ็ตการซูม'; + + @override + String get chatAttachmentPreviewErrorPdf => 'ไม่สามารถโหลด PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'ไม่สามารถถอดรหัสเนื้อหาข้อความได้'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'และมีข้อผิดพลาดอีก $count รายการ.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'ไฟล์มีรูปแบบไม่ถูกต้อง'; + + @override + String get chatConsentRequiredTitle => 'ต้องการความยินยอม'; + + @override + String get chatConsentRequiredText => + 'โดยการดำเนินการต่อ คุณยอมรับ ข้อกำหนด นโยบายความเป็นส่วนตัว และ การใช้คุกกี้ และยืนยันว่าการปรึกษานี้จัดทำโดย AI ไม่ใช่ผู้เชี่ยวชาญทางการแพทย์ที่มีใบอนุญาต'; + + @override + String get chatConsentRequiredCloseTooltip => 'ปิด'; + + @override + String get chatHistoryDelete => 'ลบ'; + + @override + String get chatDelete => 'ลบแชท'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'แชท \"$title\" ถูกลบเรียบร้อยแล้ว'; + } + + @override + String get chatDeleteConfirmationTitle => 'ลบแชท?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'อาการของคุณ, สรุปการวินิจฉัย, และคำแนะนำใดๆ ในการสนทนานี้จะถูกลบออก\nการกระทำนี้ไม่สามารถย้อนกลับได้'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'ขยาย'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'ซูมออก'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'รีเซ็ตการซูม'; + + @override + String get chatAttachmentPreviewShareTooltip => 'แชร์'; + + @override + String get dateToday => 'วันนี้'; + + @override + String get dateYesterday => 'เมื่อวาน'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'หน้าแรกเท่านั้น ใช้แชร์เพื่อดาวน์โหลดไฟล์ทั้งหมด'; +} diff --git a/example/lib/src/generated/chat/chat_localization_tl.dart b/example/lib/src/generated/chat/chat_localization_tl.dart new file mode 100644 index 0000000..876ed44 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_tl.dart @@ -0,0 +1,647 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tagalog (`tl`). +class ChatLocalizationTl extends ChatLocalization { + ChatLocalizationTl([String locale = 'tl']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Mga Abiso'; + + @override + String get drawerTooltipHelp => 'Tulong'; + + @override + String get drawerTooltipClose => 'Isara'; + + @override + String get drawerSectionTitleAccount => 'Account'; + + @override + String get drawerSectionProfile => 'Profile'; + + @override + String get drawerSectionAccountSettings => 'Mga Setting ng Account'; + + @override + String get drawerSectionDonateToSupport => 'Mag-donate upang Suportahan'; + + @override + String get drawerSectionSubscription => 'Subscription'; + + @override + String get drawerSectionTitleChats => 'Mga Usapan'; + + @override + String get drawerSectionChatHistory => 'Kasaysayan ng Chat'; + + @override + String get drawerSectionAttachedDocuments => 'Mga Nakalakip na Dokumento'; + + @override + String get drawerSectionTitleHowToUse => 'Paano Gamitin'; + + @override + String get drawerSectionVideoTutorials => 'Mga Tutorial na Video'; + + @override + String get drawerSectionTitleLegal => 'Legal'; + + @override + String get drawerSectionContactUs => 'Makipag-ugnayan sa Amin'; + + @override + String get drawerSectionBugReport => 'Ulat ng Bug'; + + @override + String get drawerSectionTermsAndConditions => 'Mga Tuntunin at Kundisyon'; + + @override + String get drawerSectionPrivacyPolicy => 'Patakaran sa Privacy'; + + @override + String get drawerSectionTitleFeedback => 'Feedback'; + + @override + String get drawerSectionRateApp => 'I-rate ang App'; + + @override + String get drawerSectionShareWithFriends => 'Ibahagi sa mga Kaibigan'; + + @override + String get drawerButtonLogOut => 'Mag-Log Out'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Tulungan ang iba na makatanggap ng pangangalagang medikal'; + + @override + String get drawerPlaceholderUser => 'User'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Mga Premium na Tampok
kasama si Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Kumuha'; + + @override + String get drawerLabelJoinUs => 'Sumali sa Amin'; + + @override + String get drawerTooltipVersion => 'Bersyon ng app:'; + + @override + String get drawerSectionRecentChats => 'Mga Kamakailang Usapan'; + + @override + String get drawerPlaceholderProfile => 'Profile'; + + @override + String get drawerPlaceholderRecentChat => 'Kamakailang chat'; + + @override + String get drawerSectionDownloadApps => 'I-download ang mga App'; + + @override + String get chatInputHintEnterMessage => 'Ilagay ang mensahe'; + + @override + String get chatInputTooltipAttachFile => 'Mag-attach ng file'; + + @override + String get chatInputTooltipDictateMessage => 'Magdikta'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Tapusin at Isalin'; + + @override + String get chatInputTooltipSendMessage => 'Magpadala ng mensahe'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Nabigong kunin ang mga mensahe'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Nabigong kunin ang mga mensahe. Pakisubukang muli.'; + + @override + String get chatListTooltipFetchMessages => 'Kunin ang mga mensahe'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Walang magagamit na mensahe. Mangyaring magpadala ng mensahe upang simulan ang pag-uusap.'; + + @override + String get chatListHasConnection => 'Konektado'; + + @override + String get chatListNoConnection => 'Walang koneksyon'; + + @override + String get chatActionButtonTooltipSearch => 'Maghanap'; + + @override + String get chatActionButtonTooltipFavorites => 'Paborito'; + + @override + String get chatActionButtonTooltipDownload => 'I-download'; + + @override + String get chatActionButtonTooltipPrintPdf => 'I-print ang PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'Ibahagi sa Mga Kaibigan'; + + @override + String get chatActionButtonTooltipNewChat => 'Bagong chat'; + + @override + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Pumili ng Chat'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Ipakita ang drawer'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Walang magagamit na chat. Mangyaring i-refresh o lumikha ng bagong chat.'; + + @override + String get chatButtonRefreshChats => 'I-refresh ang mga chat'; + + @override + String get chatButtonCreateNewChat => 'Lumikha ng bagong chat'; + + @override + String get chatContextMenuCopyMessage => 'Kopyahin ang teksto'; + + @override + String get chatStatusProcessingMessages => 'Nagsusulat'; + + @override + String get chatNoConnectionLabel => + 'Nag-uupdate...\nPakisuri ang iyong koneksyon sa internet'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Ang mensahe ay kasalukuyang pinoproseso.'; + + @override + String get chatErrorMessageTooLong => 'Masyadong mahaba ang mensahe.'; + + @override + String get chatRemoveAttachmentTooltip => 'Tanggalin ang attachment'; + + @override + String get chatStatusFailedMessage => 'Nabigong iproseso ang mensahe'; + + @override + String get chatActionButtonTooltipExportSummary => 'I-export sa PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Mga Larawan'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Mga File'; + + @override + String get chatPickerPhotosFiles => 'Mga Larawan at Mga File'; + + @override + String get chatRecommendationYIAG => + 'Sana makatulong ito! Nakatulong ba sa iyo ang paliwanag na ito?'; + + @override + String get chatRecommendationButtonDonate => 'Oo, ayos lang!'; + + @override + String get failedToRetrieveChatSummary => 'Nabigong kunin ang buod ng chat'; + + @override + String get chatSummaryCopiedToClipboard => + 'Naka-kopya ang buod ng chat sa clipboard'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Subukan ang Doctorina sa mobile app!'; + + @override + String get getAppStoreLogoLabel => 'I-download sa'; + + @override + String get getGooglePlayLogoLabel => 'KUNIN MO SA'; + + @override + String get getAppStoreLogoTooltip => 'I-download sa App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Kunin ito sa Google Play'; + + @override + String get reportMessageDialogTitle => 'Iulat ang Mensahe'; + + @override + String get reportMessageDialogSubtitle => + 'Bakit mo ini-ulat ang mensaheng ito?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Opsyonal: Ilarawan kung ano ang mali sa mensaheng ito...'; + + @override + String get reportMessageDialogWhyImportant => + 'Makakatulong ito sa amin na mapabuti ang aming mga sagot ng AI.'; + + @override + String get reportMessageDialogCancelButton => 'Kanselahin'; + + @override + String get reportMessageDialogReportButton => 'Ulatin'; + + @override + String get reportMessageSnackbarSuccess => + 'Salamat sa iyong feedback! Naipasa na ang ulat.'; + + @override + String get reportMessageSnackbarFailed => 'Nabigong isumite ang ulat'; + + @override + String get copyMessageSnackbarSuccess => 'Nakopya sa clipboard'; + + @override + String get copyMessageSnackbarFailed => 'Nabigong kopyahin ang mensahe'; + + @override + String get chatContextMenuReportMessage => 'Iulat ang Mensahe'; + + @override + String get chatDropZoneTitle => 'I-upload sa Doctorina chat'; + + @override + String get chatDropZoneSubtitle => + 'I-drag at i-drop ang mga file dito upang idagdag sa chat'; + + @override + String get chatDropZoneText => + 'Maaari kang magdagdag ng hanggang 15 na mga file sa isang mensahe'; + + @override + String get notificationBannerText => + 'Gusto mo bang ipaalam ko sa iyo kung may mahalagang mangyari tungkol sa iyong kalusugan?'; + + @override + String get notificationBannerButtonEnable => 'Oo, ipaalam mo sa akin'; + + @override + String get notificationBannerButtonDisable => 'Baka mamaya'; + + @override + String get notificationBannerButtonClose => 'Isara'; + + @override + String get notificationAreBlockedSystem => + 'Naka-block ang mga notification sa antas ng sistema. I-enable ang mga ito sa mga setting ng sistema bago i-activate ang mga notification ng Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Naka-block ang mga notification sa antas ng sistema. I-enable ang mga ito sa mga setting ng browser bago i-activate ang mga notification ng Doctorina.'; + + @override + String get notificationDialogTitle => + 'Manatiling updated tungkol sa iyong konsultasyon'; + + @override + String get notificationDialogDescription => + 'Maaaring ipaalam sa iyo ng Doctorina kapag may mga bagong pananaw o update tungkol sa iyong kalusugan.'; + + @override + String get notificationDialogEnableButton => 'I-enable ang mga notification'; + + @override + String get notificationDialogLaterButton => 'Baka mamaya'; + + @override + String get termsAndConditionBannerText => + 'Sa pagpapatuloy, sumasang-ayon ka sa pagproseso ng personal na data, paggamit ng cookies, pagsang-ayon sa terms and conditions, at pagtanggap sa

privacy policy

. Gayundin, kinikilala mo na ang iyong konsultasyon ay sa isang AI at hindi sa isang lisensyadong medikal na propesyonal'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Isara'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'I-save muna ang chat na ito?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Mag-sign up nang libre upang i-save ang konsultasyong ito bago magsimula ng bago'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Simulan nang hindi sine-save'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Mag-sign up'; + + @override + String get inputBlockerContinueMessage => + 'Upang ipagpatuloy ang pag-uusap, pumili ng isang opsyon sa itaas'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Isara'; + + @override + String get chatAttachmentRemoveTooltip => 'Tanggalin ang attachment'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Nabigo ang pumili ng mga file mula sa drop zone'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Mangyaring mag-enter ng mensahe o mag-attach ng file'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Mangyaring maghintay na makumpleto ang mga pag-upload'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'Ang mensahe ay pinoproseso'; + + @override + String get chatAttachmentErrorMessageTooLong => + 'Masyadong mahaba ang mensahe'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Ang mensahe ay kasalukuyang pinoproseso.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Ang koneksyon ay permanenteng sarado'; + + @override + String get chatAttachmentErrorNoConnection => 'Walang koneksyon sa server'; + + @override + String get chatAttachmentErrorPickFiles => 'Nabigong pumili ng mga file'; + + @override + String get chatAttachmentErrorPickImages => 'Nabigong pumili ng mga larawan'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Nabigong kunin ang larawan mula sa kamera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Maaari kang mag-attach ng hanggang $count na mga file nang sabay.'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'I-clear ang kinikilalang teksto'; + + @override + String get chatInputTooltipMessageTooLong => 'Masyadong mahaba ang mensahe.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Mangyaring maghintay para sa mga pag-upload na makumpleto.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Ang $kind \"$name\" ay nakakabit na at hindi naidagdag muli.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Ang $kind \"$name\" ay duplicate ng $exist at hindi naidagdag.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Ang $kind \"$name\" ay hindi naidagdag dahil lumagpas na sa maximum na bilang ng mga attachment.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Ang file na \"$name\" ay walang laman.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Walang laman ang file.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Ang file na \"$name\" ay lumampas sa pinapayagang maximum na laki.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Ang file ay lumampas sa pinapayagang maximum na laki.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Nagkaroon ng error habang pinoproseso ang file na \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Nagkaroon ng error habang pinoproseso ang file.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Ang file na \"$name\" ay hindi naidagdag dahil lumampas na sa maximum na bilang ng mga attachment.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Isang file(s) ang hindi naidagdag dahil lumagpas na sa maximum na bilang ng mga attachment.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Isang file ang hindi naidagdag dahil lumagpas na sa maximum na bilang ng mga attachment.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Isang file na walang pangalan ang sinubukang idagdag.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Isang file na may hindi suportadong extension ang sinubukang idagdag: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Isang file na may hindi suportadong extension ang sinubukang idagdag.'; + + @override + String get chatAttachmentErrorFileNull => 'Imposibleng magdagdag ng file.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Ang file na \"$name\" ay hindi wasto at hindi maidaragdag.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Hindi ang isang file at hindi maidaragdag.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Ang item na \"$name\" ay hindi isang wastong file.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Ang item ay hindi isang wastong file.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Nagkaroon ng error habang pinoproseso ang isang item.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Nagkaroon ng error habang pinoproseso ang item(s).'; + + @override + String get chatAttachmentErrorNoFiles => 'Walang mga file na idinagdag.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Ilang mga file ang hindi isinama dahil sa mga duplicate sa mga umiiral na file.'; + + @override + String get chatAttachmentErrorUnknown => + 'Isang hindi kilalang error ang nangyari.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Ang mga sumusunod na error ay nangyari habang nag-aattach ng mga file:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Nabigong ibahagi ang file: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Isara'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Ibahagi'; + + @override + String get chatAttachmentPreviewLoading => 'Naglo-load ng file...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Nabigong i-load ang file'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Hindi hindi error na naganap'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Subukan muli'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Hindi na suportadong uri ng file'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Hindi hindi $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Ibahagi ang File'; + + @override + String get chatAttachmentPreviewErrorImage => 'Nabigong ipakita ang larawan'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'I-reset ang zoom'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Nabigong i-load ang PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Nabigong i-decode ang nilalaman ng teksto.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'At $count pang ibang mga error.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Ang file ay may depekto'; + + @override + String get chatConsentRequiredTitle => 'Kailangan ng Pahintulot'; + + @override + String get chatConsentRequiredText => + 'Sa pagpapatuloy, sumasang-ayon ka sa aming Mga Tuntunin, Patakaran sa Privacy, at paggamit ng cookies, at kinukumpirma na ang konsultasyong ito ay ibinibigay ng AI, hindi ng isang lisensyadong propesyonal sa medisina.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Isara'; + + @override + String get chatHistoryDelete => 'Tanggalin'; + + @override + String get chatDelete => 'Tanggalin ang chat'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Chat “$title” ay matagumpay na na-delete.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Tanggalin ang chat?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Ang iyong mga sintomas, buod ng diagnosis, at anumang rekomendasyon sa chat na ito ay aalisin.\nAng aksyong ito ay hindi maibabalik.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Palakihin'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Mag-zoom out'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'I-reset ang Zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Ibahagi'; + + @override + String get dateToday => 'Ngayon'; + + @override + String get dateYesterday => 'Kahapon'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Unang pahina lamang. Gamitin ang Ibahagi upang i-download ang buong file.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_tr.dart b/example/lib/src/generated/chat/chat_localization_tr.dart new file mode 100644 index 0000000..ede5956 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_tr.dart @@ -0,0 +1,635 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Turkish (`tr`). +class ChatLocalizationTr extends ChatLocalization { + ChatLocalizationTr([String locale = 'tr']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Bildirimler'; + + @override + String get drawerTooltipHelp => 'Yardım'; + + @override + String get drawerTooltipClose => 'Kapat'; + + @override + String get drawerSectionTitleAccount => 'Hesap'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Hesap Ayarları'; + + @override + String get drawerSectionDonateToSupport => 'Destek için bağış yap'; + + @override + String get drawerSectionSubscription => 'Abonelik'; + + @override + String get drawerSectionTitleChats => 'Sohbetler'; + + @override + String get drawerSectionChatHistory => 'Sohbet Geçmişi'; + + @override + String get drawerSectionAttachedDocuments => 'Ekli Belgeler'; + + @override + String get drawerSectionTitleHowToUse => 'Nasıl Kullanılır'; + + @override + String get drawerSectionVideoTutorials => 'Video Eğitimleri'; + + @override + String get drawerSectionTitleLegal => 'Hukuki'; + + @override + String get drawerSectionContactUs => 'Bize Ulaşın'; + + @override + String get drawerSectionBugReport => 'Hata Bildirimi'; + + @override + String get drawerSectionTermsAndConditions => 'Şartlar ve Koşullar'; + + @override + String get drawerSectionPrivacyPolicy => 'Gizlilik Politikası'; + + @override + String get drawerSectionTitleFeedback => 'Geri bildirim'; + + @override + String get drawerSectionRateApp => 'Uygulamayı Değerlendir'; + + @override + String get drawerSectionShareWithFriends => 'Arkadaşlarınla paylaş'; + + @override + String get drawerButtonLogOut => 'Oturumu Kapat'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Başkalarının tıbbi bakım almasına yardımcı olun'; + + @override + String get drawerPlaceholderUser => 'Kullanıcı'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Premium Özellikler\nDoctorina ile'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Al'; + + @override + String get drawerLabelJoinUs => 'Bize katıl'; + + @override + String get drawerTooltipVersion => 'Uygulama sürümü:'; + + @override + String get drawerSectionRecentChats => 'Son Sohbetler'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'Son sohbet'; + + @override + String get drawerSectionDownloadApps => 'Uygulamaları İndir'; + + @override + String get chatInputHintEnterMessage => 'Mesaj girin'; + + @override + String get chatInputTooltipAttachFile => 'Dosya ekle'; + + @override + String get chatInputTooltipDictateMessage => 'Dikte'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Bitir & Yazıya Dök'; + + @override + String get chatInputTooltipSendMessage => 'Mesaj gönder'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => 'Mesajlar alınamadı'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Mesajlar alınamadı. Lütfen tekrar deneyin.'; + + @override + String get chatListTooltipFetchMessages => 'Mesajları getir'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Mesaj yok. Sohbete başlamak için lütfen bir mesaj gönderin.'; + + @override + String get chatListHasConnection => 'Bağlandı'; + + @override + String get chatListNoConnection => 'Bağlantı yok'; + + @override + String get chatActionButtonTooltipSearch => 'Ara'; + + @override + String get chatActionButtonTooltipFavorites => 'Favoriler'; + + @override + String get chatActionButtonTooltipDownload => 'İndir'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF Yazdır'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Arkadaşlarla Paylaş'; + + @override + String get chatActionButtonTooltipNewChat => 'Yeni sohbet'; + + @override + String get chatActionButtonNewChat => 'Sohbet'; + + @override + String get chatActionButtonTooltipChatList => 'Sohbeti Seç'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Çekmeceyi göster'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Sohbet mevcut değil. Lütfen yenileyin veya yeni bir sohbet oluşturun.'; + + @override + String get chatButtonRefreshChats => 'Sohbetleri yenile'; + + @override + String get chatButtonCreateNewChat => 'Yeni sohbet oluştur'; + + @override + String get chatContextMenuCopyMessage => 'Metni kopyala'; + + @override + String get chatStatusProcessingMessages => 'Yazıyor\nBiraz bekleyin'; + + @override + String get chatNoConnectionLabel => + 'Güncelleniyor...\nLütfen internet bağlantınızı kontrol edin'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Mesaj şu anda zaten işleniyor.'; + + @override + String get chatErrorMessageTooLong => 'Mesaj çok uzun.'; + + @override + String get chatRemoveAttachmentTooltip => 'Eki kaldır'; + + @override + String get chatStatusFailedMessage => 'Mesaj işlenemedi'; + + @override + String get chatActionButtonTooltipExportSummary => 'PDF\'e Aktar'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Fotoğraflar'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Dosyalar'; + + @override + String get chatPickerPhotosFiles => 'Fotoğraflar ve Dosyalar'; + + @override + String get chatRecommendationYIAG => + 'Umarım yardımcı olmuştur! Bu açıklama faydalı oldu mu?'; + + @override + String get chatRecommendationButtonDonate => 'Evet, her şey yolunda!'; + + @override + String get failedToRetrieveChatSummary => 'Sohbet özetini alınamadı'; + + @override + String get chatSummaryCopiedToClipboard => 'Sohbet özeti panoya kopyalandı'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Mobil uygulamada Doctorina\'yı deneyin!'; + + @override + String get getAppStoreLogoLabel => 'İndir'; + + @override + String get getGooglePlayLogoLabel => 'GET IT ON'; + + @override + String get getAppStoreLogoTooltip => 'App Store\'dan indir'; + + @override + String get getGooglePlayLogoTooltip => 'Google Play\'den Al'; + + @override + String get reportMessageDialogTitle => 'Mesaj Raporu'; + + @override + String get reportMessageDialogSubtitle => 'Bu mesajı neden bildiriyorsunuz?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Opsiyonel: Bu mesajda neyin yanlış olduğunu tanımlayın...'; + + @override + String get reportMessageDialogWhyImportant => + 'Bu, AI yanıtlarımızı geliştirmemize yardımcı olacak.'; + + @override + String get reportMessageDialogCancelButton => 'İptal'; + + @override + String get reportMessageDialogReportButton => 'Rapor'; + + @override + String get reportMessageSnackbarSuccess => + 'Geri bildiriminiz için teşekkürler! Rapor gönderildi.'; + + @override + String get reportMessageSnackbarFailed => 'Rapor gönderimi başarısız oldu'; + + @override + String get copyMessageSnackbarSuccess => 'Pano\'ya kopyalandı'; + + @override + String get copyMessageSnackbarFailed => 'Mesaj kopyalanamadı'; + + @override + String get chatContextMenuReportMessage => 'Mesaj Raporu'; + + @override + String get chatDropZoneTitle => 'Doktorina sohbetine yükle'; + + @override + String get chatDropZoneSubtitle => + 'Sohbete eklemek için dosyaları buraya sürükleyip bırakın'; + + @override + String get chatDropZoneText => + 'Bir mesaja en fazla 15 dosya ekleyebilirsiniz'; + + @override + String get notificationBannerText => + 'Sağlığınızla ilgili önemli bir şey olursa sizi bilgilendirmemi ister misiniz?'; + + @override + String get notificationBannerButtonEnable => 'Evet, bana bildirin'; + + @override + String get notificationBannerButtonDisable => 'Belki daha sonra'; + + @override + String get notificationBannerButtonClose => 'Kapat'; + + @override + String get notificationAreBlockedSystem => + 'Bildirimler sistem düzeyinde engellendi. Doctorina\'nın bildirimlerini etkinleştirmeden önce sistem ayarlarında bunları etkinleştirin.'; + + @override + String get notificationAreBlockedBrowser => + 'Bildirimler sistem düzeyinde engellendi. Doctorina\'nın bildirimlerini etkinleştirmeden önce tarayıcı ayarlarında bunları etkinleştirin.'; + + @override + String get notificationDialogTitle => 'Danışmanlığınız hakkında güncel kalın'; + + @override + String get notificationDialogDescription => + 'Doctorina, sağlığınızla ilgili yeni bilgiler veya güncellemeler mevcut olduğunda sizi bilgilendirebilir.'; + + @override + String get notificationDialogEnableButton => 'Bildirimleri etkinleştir'; + + @override + String get notificationDialogLaterButton => 'Belki daha sonra'; + + @override + String get termsAndConditionBannerText => + 'Devam ederek, kişisel verilerinizin işlenmesine, cookies kullanımına, şartlar ve koşullar\'a onay verdiğinizi ve

gizlilik politikasını

kabul ettiğinizi, ayrıca danışmanlığınızın lisanslı bir tıbbi profesyonelden ziyade bir AI ile yapıldığını kabul ediyorsunuz'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Kapat'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Önce bu sohbeti kaydet?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Yeni bir görüşmeye başlamadan önce bu görüşmeyi kaydetmek için ücretsiz kaydolun'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => 'Kaydetmeden başla'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => 'Kaydol'; + + @override + String get inputBlockerContinueMessage => + 'Sohbeti devam ettirmek için yukarıdan bir seçenek seçin'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Kapat'; + + @override + String get chatAttachmentRemoveTooltip => 'Eki kaldır'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Bırakma alanından dosyaları seçerken hata oluştu'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Lütfen bir mesaj girin veya bir dosya ekleyin'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Yüklemelerin tamamlanmasını bekleyin'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Mesaj işleniyor'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Mesaj çok uzun'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Mesaj şu anda işleniyor.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Bağlantı kalıcı olarak kapatıldı'; + + @override + String get chatAttachmentErrorNoConnection => 'Sunucuya bağlantı yok'; + + @override + String get chatAttachmentErrorPickFiles => 'Dosyaları seçmede başarısız oldu'; + + @override + String get chatAttachmentErrorPickImages => + 'Görüntüleri seçme işlemi başarısız oldu'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Kameradan fotoğraf çekme başarısız oldu'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Bir seferde en fazla $count dosya ekleyebilirsiniz.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Tanımlanan metni temizle'; + + @override + String get chatInputTooltipMessageTooLong => 'Mesaj çok uzun.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Yüklemelerin tamamlanmasını bekleyin.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'The $kind \"$name\" is already attached and was not added again.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" is a duplicate of $exist and was not added.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'The $kind \"$name\" was not added because the maximum number of attachments has been exceeded.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '\"$name\" dosyası boş.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Dosya boş.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return '\"$name\" dosyası izin verilen maksimum boyutu aşıyor.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Dosya izin verilen maksimum boyutu aşıyor.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '\"$name\" dosyasını işlerken bir hata oluştu.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Dosya işlenirken bir hata oluştu.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return '\"$name\" dosyası, eklerin maksimum sayısının aşıldığı için eklenmedi.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Bir veya daha fazla dosya eklenmedi çünkü eklerin maksimum sayısı aşıldı.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Bir dosya eklenmedi çünkü eklerin maksimum sayısı aşıldı.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'İsmi olmayan bir dosya eklenmeye çalışıldı.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Desteklenmeyen bir uzantıya sahip bir dosya eklenmeye çalışıldı: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Desteklenmeyen bir uzantıya sahip bir dosya eklenmeye çalışıldı.'; + + @override + String get chatAttachmentErrorFileNull => 'Bir dosya eklemek mümkün değil.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return '\"$name\" dosyası geçersiz ve eklenemez.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Bir dosya geçersiz ve eklenemez.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Öğe \"$name\" geçerli bir dosya değil.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Bir öğe geçerli bir dosya değil.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Bir öğeyi işlerken bir hata oluştu'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Bir öğeyi(leri) işlerken bir hata oluştu.'; + + @override + String get chatAttachmentErrorNoFiles => 'Hiç dosya eklenmedi.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Bazı dosyalar mevcut dosyalarla çakıştığı için atlandı.'; + + @override + String get chatAttachmentErrorUnknown => 'Bilinmeyen bir hata oluştu.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Dosyalar eklenirken aşağıdaki hatalar oluştu:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Dosya paylaşımı başarısız oldu: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Kapat'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Paylaş'; + + @override + String get chatAttachmentPreviewLoading => 'Dosya yükleniyor...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Dosya yüklenemedi'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Bilinmeyen bir hata oluştu'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Tekrar dene'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Desteklenmeyen dosya türü'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '$contentType önizlenemiyor'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Dosyayı Paylaş'; + + @override + String get chatAttachmentPreviewErrorImage => 'Resim görüntülenemedi'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Zoom\'u sıfırla'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF yüklenemedi'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Metin içeriğini çözümlemede başarısız oldu.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Ve $count daha fazla hata.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Dosya bozuk'; + + @override + String get chatConsentRequiredTitle => 'Onay Gerekli'; + + @override + String get chatConsentRequiredText => + 'Devam ederek, Şartlarımız, Gizlilik Politikasını ve çerez kullanımını kabul ediyorsunuz ve bu danışmanlığın bir AI tarafından, lisanslı bir tıp uzmanı tarafından değil, sağlandığını onaylıyorsunuz.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Kapat'; + + @override + String get chatHistoryDelete => 'Sil'; + + @override + String get chatDelete => 'Sohbeti sil'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return '“$title” sohbet başarıyla silindi.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Sohbeti silmek istiyor musunuz?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Bu sohbetteki semptomlarınız, tanı özetiniz ve önerileriniz silinecek.\nBu işlem geri alınamaz.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Yakınlaştır'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Uzaklaştır'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Zoom\'u Sıfırla'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Paylaş'; + + @override + String get dateToday => 'Bugün'; + + @override + String get dateYesterday => 'Dün'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Sadece ilk sayfa. Tam dosyayı indirmek için Paylaş\'ı kullanın.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_uk.dart b/example/lib/src/generated/chat/chat_localization_uk.dart new file mode 100644 index 0000000..fab18fd --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_uk.dart @@ -0,0 +1,644 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Ukrainian (`uk`). +class ChatLocalizationUk extends ChatLocalization { + ChatLocalizationUk([String locale = 'uk']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Сповіщення'; + + @override + String get drawerTooltipHelp => 'Допомога'; + + @override + String get drawerTooltipClose => 'Закрити'; + + @override + String get drawerSectionTitleAccount => 'Обліковий запис'; + + @override + String get drawerSectionProfile => 'Профіль'; + + @override + String get drawerSectionAccountSettings => 'Налаштування акаунта'; + + @override + String get drawerSectionDonateToSupport => 'Пожертвуйте на підтримку'; + + @override + String get drawerSectionSubscription => 'Підписка'; + + @override + String get drawerSectionTitleChats => 'Чати'; + + @override + String get drawerSectionChatHistory => 'Історія чатів'; + + @override + String get drawerSectionAttachedDocuments => 'Прикріплені документи'; + + @override + String get drawerSectionTitleHowToUse => 'Як користуватися'; + + @override + String get drawerSectionVideoTutorials => 'Відеоуроки'; + + @override + String get drawerSectionTitleLegal => 'Правова'; + + @override + String get drawerSectionContactUs => 'Зв’язатися з нами'; + + @override + String get drawerSectionBugReport => 'Звіт про помилку'; + + @override + String get drawerSectionTermsAndConditions => 'Умови та положення'; + + @override + String get drawerSectionPrivacyPolicy => 'Політика конфіденційності'; + + @override + String get drawerSectionTitleFeedback => 'Зворотній зв\'язок'; + + @override + String get drawerSectionRateApp => 'Оцінити додаток'; + + @override + String get drawerSectionShareWithFriends => 'Поділитися з друзями'; + + @override + String get drawerButtonLogOut => 'Вийти'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Допоможіть іншим отримати медичну допомогу'; + + @override + String get drawerPlaceholderUser => 'Користувач'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Преміум функції\nз Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Отримати'; + + @override + String get drawerLabelJoinUs => 'Приєднуйтесь до нас'; + + @override + String get drawerTooltipVersion => 'Версія програми:'; + + @override + String get drawerSectionRecentChats => 'Недавні чати'; + + @override + String get drawerPlaceholderProfile => 'Профіль'; + + @override + String get drawerPlaceholderRecentChat => 'Останній чат'; + + @override + String get drawerSectionDownloadApps => 'Завантажити додатки'; + + @override + String get chatInputHintEnterMessage => 'Введіть повідомлення'; + + @override + String get chatInputTooltipAttachFile => 'Прикріпити файл'; + + @override + String get chatInputTooltipDictateMessage => 'Диктувати'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'Завершити та транскрибувати'; + + @override + String get chatInputTooltipSendMessage => 'Надіслати повідомлення'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Не вдалося отримати повідомлення'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Не вдалося отримати повідомлення. Будь ласка, спробуйте ще раз.'; + + @override + String get chatListTooltipFetchMessages => 'Отримати повідомлення'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Немає доступних повідомлень. Будь ласка, надішліть повідомлення, щоб розпочати розмову.'; + + @override + String get chatListHasConnection => 'Підключено'; + + @override + String get chatListNoConnection => 'Немає з\'єднання'; + + @override + String get chatActionButtonTooltipSearch => 'Пошук'; + + @override + String get chatActionButtonTooltipFavorites => 'Обране'; + + @override + String get chatActionButtonTooltipDownload => 'Завантажити'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Друк PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Поділитися з друзями'; + + @override + String get chatActionButtonTooltipNewChat => 'Новий чат'; + + @override + String get chatActionButtonNewChat => 'Чат'; + + @override + String get chatActionButtonTooltipChatList => 'Вибрати чат'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Показати панель'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Немає доступних чатів. Будь ласка, оновіть або створіть новий чат.'; + + @override + String get chatButtonRefreshChats => 'Оновити чати'; + + @override + String get chatButtonCreateNewChat => 'Створити новий чат'; + + @override + String get chatContextMenuCopyMessage => 'Копіювати текст'; + + @override + String get chatStatusProcessingMessages => 'Набираю'; + + @override + String get chatNoConnectionLabel => + 'Оновлення...\nБудь ласка, перевірте ваше інтернет-з\'єднання'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Повідомлення вже обробляється зараз.'; + + @override + String get chatErrorMessageTooLong => 'Повідомлення занадто довге.'; + + @override + String get chatRemoveAttachmentTooltip => 'Видалити вкладення'; + + @override + String get chatStatusFailedMessage => 'Не вдалося обробити повідомлення'; + + @override + String get chatActionButtonTooltipExportSummary => 'Експорт в PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Фотографії'; + + @override + String get chatPickerCamera => 'Камера'; + + @override + String get chatPickerFiles => 'Файли'; + + @override + String get chatPickerPhotosFiles => 'Фотографії та файли'; + + @override + String get chatRecommendationYIAG => + 'Сподіваюся, це допомогло! Чи було це пояснення для вас корисним?'; + + @override + String get chatRecommendationButtonDonate => 'Так, все добре!'; + + @override + String get failedToRetrieveChatSummary => 'Не вдалося отримати підсумок чату'; + + @override + String get chatSummaryCopiedToClipboard => + 'Зведення чату скопійовано до буферу обміну'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Спробуйте Doctorina в мобільному додатку!'; + + @override + String get getAppStoreLogoLabel => 'Завантажити на'; + + @override + String get getGooglePlayLogoLabel => 'ОТРИМАТИ НА'; + + @override + String get getAppStoreLogoTooltip => 'Завантажити в App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Отримати в Google Play'; + + @override + String get reportMessageDialogTitle => 'Повідомити про повідомлення'; + + @override + String get reportMessageDialogSubtitle => + 'Чому ви повідомляєте про це повідомлення?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Необов\'язково: Опишіть, що не так з цим повідомленням...'; + + @override + String get reportMessageDialogWhyImportant => + 'Це допоможе нам покращити наші відповіді ШІ'; + + @override + String get reportMessageDialogCancelButton => 'Скасувати'; + + @override + String get reportMessageDialogReportButton => 'Повідомити'; + + @override + String get reportMessageSnackbarSuccess => + 'Дякуємо за ваш відгук! Звіт надіслано.'; + + @override + String get reportMessageSnackbarFailed => 'Не вдалося надіслати звіт'; + + @override + String get copyMessageSnackbarSuccess => 'Скопійовано в буфер обміну'; + + @override + String get copyMessageSnackbarFailed => 'Не вдалося скопіювати повідомлення'; + + @override + String get chatContextMenuReportMessage => 'Повідомити про повідомлення'; + + @override + String get chatDropZoneTitle => 'Завантажте до чату Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Перетягніть файли сюди, щоб додати до чату'; + + @override + String get chatDropZoneText => + 'Ви можете додати до 15 файлів до одного повідомлення'; + + @override + String get notificationBannerText => + 'Чи хочете, щоб я сповіщав вас, якщо з\'явиться щось важливе про ваше здоров\'я?'; + + @override + String get notificationBannerButtonEnable => 'Так, сповіщайте мене'; + + @override + String get notificationBannerButtonDisable => 'Можливо пізніше'; + + @override + String get notificationBannerButtonClose => 'Закрити'; + + @override + String get notificationAreBlockedSystem => + 'Сповіщення заблоковані на системному рівні. Увімкніть їх у системних налаштуваннях перед активацією сповіщень Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Сповіщення заблоковані на системному рівні. Увімкніть їх у налаштуваннях браузера перед активацією сповіщень Doctorina.'; + + @override + String get notificationDialogTitle => 'Будьте в курсі вашої консультації'; + + @override + String get notificationDialogDescription => + 'Doctorina може сповістити вас, коли з\'являться нові відомості або оновлення про ваше здоров\'я.'; + + @override + String get notificationDialogEnableButton => 'Увімкнути сповіщення'; + + @override + String get notificationDialogLaterButton => 'Можливо пізніше'; + + @override + String get termsAndConditionBannerText => + 'Продовжуючи, ви погоджуєтесь на обробку персональних даних, використання cookies, прийняття terms and conditions та підтверджуєте ознайомлення з

privacy policy

. Також ви визнаєте, що ваша консультація проводиться за участю AI, а не ліцензованого медичного фахівця'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Скасувати'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Спочатку збережіть цей чат?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Зареєструйтесь безкоштовно, щоб зберегти цю консультацію перед початком нової'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Почати без збереження'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Зареєструватися'; + + @override + String get inputBlockerContinueMessage => + 'Щоб продовжити розмову, виберіть варіант вище'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Закрити'; + + @override + String get chatAttachmentRemoveTooltip => 'Видалити вкладення'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Не вдалося вибрати файли з зони скидання'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Будь ласка, введіть повідомлення або прикріпіть файл'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Будь ласка, зачекайте, поки завантаження завершиться'; + + @override + String get chatAttachmentErrorMessageProcessing => + 'Повідомлення обробляється'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Повідомлення занадто довге'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Повідомлення вже обробляється.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'З\'єднання закрито назавжди'; + + @override + String get chatAttachmentErrorNoConnection => 'Немає з\'єднання з сервером'; + + @override + String get chatAttachmentErrorPickFiles => 'Не вдалося вибрати файли'; + + @override + String get chatAttachmentErrorPickImages => 'Не вдалося вибрати зображення'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Не вдалося захопити фото з камери'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Ви можете прикріпити до $count файлів одночасно'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'Очистити розпізнаний текст'; + + @override + String get chatInputTooltipMessageTooLong => 'Повідомлення занадто довге.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Будь ласка, зачекайте, поки завантаження завершаться'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'Файл $kind \"$name\" вже прикріплено і не було додано знову.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Файл $kind \"$name\" є дублікатом $exist і не був доданий'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'Файл $kind \"$name\" не було додано, оскільки перевищено максимальну кількість вкладень.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Файл \"$name\" порожній.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Файл порожній'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Файл \"$name\" перевищує максимально допустимий розмір.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Файл перевищує максимально допустимий розмір.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Сталася помилка під час обробки файлу \"$name\"'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Сталася помилка під час обробки файлу'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Файл \"$name\" не було додано, оскільки перевищено максимальну кількість вкладень.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Файл(и) не було додано, оскільки перевищено максимальну кількість вкладень'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Файл не було додано, оскільки перевищено максимальну кількість вкладень'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Спробували додати файл без імені.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Спробували додати файл з непідтримуваним розширенням: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Спробували додати файл з непідтримуваним розширенням'; + + @override + String get chatAttachmentErrorFileNull => 'Неможливо додати файл'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Файл \"$name\" недійсний і не може бути доданий.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Файл недійсний і не може бути доданий'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Елемент \"$name\" не є дійсним файлом'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'Елемент не є дійсним файлом'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Сталася помилка під час обробки елемента'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Сталася помилка під час обробки елемента(ів).'; + + @override + String get chatAttachmentErrorNoFiles => 'Файли не були додані'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Деякі файли були пропущені через дублікатів з існуючими файлами'; + + @override + String get chatAttachmentErrorUnknown => 'Сталася невідома помилка.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Під час прикріплення файлів виникли такі помилки:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Не вдалося поділитися файлом: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Закрити'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Поділитися'; + + @override + String get chatAttachmentPreviewLoading => 'Завантаження файлу...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Не вдалося завантажити файл'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Сталася невідома помилка'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Спробувати знову'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Непідтримуваний тип файлу'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Не можна переглянути $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Поділитися файлом'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Не вдалося відобразити зображення'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Скинути масштаб'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Не вдалося завантажити PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Не вдалося декодувати текстовий вміст'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'І ще $count помилок.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => + 'Файл має неправильний формат'; + + @override + String get chatConsentRequiredTitle => 'Необхідна згода'; + + @override + String get chatConsentRequiredText => + 'Продовжуючи, ви погоджуєтеся з нашими Умовами, Політикою конфіденційності та використанням файлів cookie і підтверджуєте, що ця консультація надається штучним інтелектом, а не ліцензованим медичним працівником.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Закрити'; + + @override + String get chatHistoryDelete => 'Видалити'; + + @override + String get chatDelete => 'Видалити чат'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Чат “$title” успішно видалено.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Видалити чат?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Ваші симптоми, підсумок діагнозу та будь-які рекомендації в цьому чаті будуть видалені.\nЦю дію не можна скасувати.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Збільшити'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Зменшити'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Скинути масштаб'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Поділитися'; + + @override + String get dateToday => 'Сьогодні'; + + @override + String get dateYesterday => 'Вчора'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Тільки перша сторінка. Використовуйте Share, щоб завантажити повний файл.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_ur.dart b/example/lib/src/generated/chat/chat_localization_ur.dart new file mode 100644 index 0000000..4bf6ab8 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_ur.dart @@ -0,0 +1,640 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Urdu (`ur`). +class ChatLocalizationUr extends ChatLocalization { + ChatLocalizationUr([String locale = 'ur']) : super(locale); + + @override + String get drawerTooltipNotifications => 'اطلاعات'; + + @override + String get drawerTooltipHelp => 'مدد'; + + @override + String get drawerTooltipClose => 'بند کریں'; + + @override + String get drawerSectionTitleAccount => 'اکاؤنٹ'; + + @override + String get drawerSectionProfile => 'پروفائل'; + + @override + String get drawerSectionAccountSettings => 'اکاؤنٹ کی ترتیبات'; + + @override + String get drawerSectionDonateToSupport => 'حمایت کے لیے عطیہ کریں'; + + @override + String get drawerSectionSubscription => 'رکنیت'; + + @override + String get drawerSectionTitleChats => 'چیٹس'; + + @override + String get drawerSectionChatHistory => 'چیٹ کی تاریخ'; + + @override + String get drawerSectionAttachedDocuments => 'منسلک دستاویزات'; + + @override + String get drawerSectionTitleHowToUse => 'استعمال کا طریقہ'; + + @override + String get drawerSectionVideoTutorials => 'ویڈیو ٹیوٹوریلز'; + + @override + String get drawerSectionTitleLegal => 'قانونی'; + + @override + String get drawerSectionContactUs => 'ہم سے رابطہ کریں'; + + @override + String get drawerSectionBugReport => 'بگ رپورٹ'; + + @override + String get drawerSectionTermsAndConditions => 'شرائط و ضوابط'; + + @override + String get drawerSectionPrivacyPolicy => 'رازداری کی پالیسی'; + + @override + String get drawerSectionTitleFeedback => 'رائے'; + + @override + String get drawerSectionRateApp => 'ایپ کو ریٹ کریں'; + + @override + String get drawerSectionShareWithFriends => 'دوستوں کے ساتھ شیئر کریں'; + + @override + String get drawerButtonLogOut => 'لاگ آؤٹ'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'دوسروں کو طبی دیکھ بھال حاصل کرنے میں مدد کریں'; + + @override + String get drawerPlaceholderUser => 'صارف'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'پریمیم خصوصیات\nڈاکٹرینا کے ساتھ'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'حاصل کریں'; + + @override + String get drawerLabelJoinUs => 'ہم سے شامل ہوں'; + + @override + String get drawerTooltipVersion => 'ایپ ورژن:'; + + @override + String get drawerSectionRecentChats => 'حالیہ چیٹس'; + + @override + String get drawerPlaceholderProfile => 'پروفائل'; + + @override + String get drawerPlaceholderRecentChat => 'حال ہی کی گفتگو'; + + @override + String get drawerSectionDownloadApps => 'ایپلیکیشنز ڈاؤن لوڈ کریں'; + + @override + String get chatInputHintEnterMessage => 'پیغام درج کریں'; + + @override + String get chatInputTooltipAttachFile => 'فائل منسلک کریں'; + + @override + String get chatInputTooltipDictateMessage => 'بول کر لکھیں'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'ختم کریں اور ٹرانسکرائب کریں'; + + @override + String get chatInputTooltipSendMessage => 'پیغام بھیجیں'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'پیغامات حاصل کرنے میں ناکام'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'پیغامات حاصل کرنے میں ناکام. براہ کرم دوبارہ کوشش کریں.'; + + @override + String get chatListTooltipFetchMessages => 'پیغامات حاصل کریں'; + + @override + String get chatListLabelNoMessagesAvailable => + 'کوئی پیغام دستیاب نہیں۔ گفتگو شروع کرنے کے لیے براہ مہربانی پیغام بھیجیں۔'; + + @override + String get chatListHasConnection => 'متصل'; + + @override + String get chatListNoConnection => 'کوئی کنکشن نہیں'; + + @override + String get chatActionButtonTooltipSearch => 'تلاش'; + + @override + String get chatActionButtonTooltipFavorites => 'پسندیدہ'; + + @override + String get chatActionButtonTooltipDownload => 'ڈاؤن لوڈ'; + + @override + String get chatActionButtonTooltipPrintPdf => 'پی ڈی ایف پرنٹ'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'دوستوں کے ساتھ شیئر کریں'; + + @override + String get chatActionButtonTooltipNewChat => 'نئی چیٹ'; + + @override + String get chatActionButtonNewChat => 'چیٹ'; + + @override + String get chatActionButtonTooltipChatList => 'چیٹ منتخب کریں'; + + @override + String get chatActionButtonTooltipShowDrawer => 'ڈراؤر دکھائیں'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'کسی چیٹ دستیاب نہیں ہے۔ براہ کرم ریفریش کریں یا نئی چیٹ بنائیں۔'; + + @override + String get chatButtonRefreshChats => 'چیٹس تازہ کریں'; + + @override + String get chatButtonCreateNewChat => 'نئی گفتگو بنائیں'; + + @override + String get chatContextMenuCopyMessage => 'متن کاپی کریں'; + + @override + String get chatStatusProcessingMessages => 'ٹائپنگ\nصرف ایک لمحہ'; + + @override + String get chatNoConnectionLabel => + 'اپ ڈیٹ ہو رہا ہے...\nبراہ کرم اپنے انٹرنیٹ کنکشن کی جانچ کریں'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'پیغام پہلے ہی ابھی پراسیس کیا جا رہا ہے.'; + + @override + String get chatErrorMessageTooLong => 'پیغام بہت طویل ہے.'; + + @override + String get chatRemoveAttachmentTooltip => 'منسلکہ ہٹائیں'; + + @override + String get chatStatusFailedMessage => 'پیغام کی پروسیسنگ ناکام رہی'; + + @override + String get chatActionButtonTooltipExportSummary => 'PDF میں برآمد کریں'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'تصاویر'; + + @override + String get chatPickerCamera => 'کیمرہ'; + + @override + String get chatPickerFiles => 'فائلیں'; + + @override + String get chatPickerPhotosFiles => 'تصاویر اور فائلیں'; + + @override + String get chatRecommendationYIAG => + 'امید ہے کہ اس سے مدد ملی! کیا یہ وضاحت آپ کے لیے مفید رہی؟'; + + @override + String get chatRecommendationButtonDonate => 'ہاں، سب ٹھیک ہے!'; + + @override + String get failedToRetrieveChatSummary => + 'چیٹ کا خلاصہ بازیافت کرنے میں ناکام'; + + @override + String get chatSummaryCopiedToClipboard => + 'چیٹ کا خلاصہ کلپ بورڈ پر کاپی کر دیا گیا'; + + @override + String get tryDoctorinaInTheMobileApp => 'موبائل ایپ میں Doctorina آزمائیں!'; + + @override + String get getAppStoreLogoLabel => 'ڈاؤن لوڈ پر'; + + @override + String get getGooglePlayLogoLabel => 'حاصل کریں'; + + @override + String get getAppStoreLogoTooltip => 'ایپ اسٹور سے ڈاؤن لوڈ کریں'; + + @override + String get getGooglePlayLogoTooltip => 'Google Play پر حاصل کریں'; + + @override + String get reportMessageDialogTitle => 'پیغام کی رپورٹ کریں'; + + @override + String get reportMessageDialogSubtitle => + 'آپ اس پیغام کی رپورٹ کیوں کر رہے ہیں؟'; + + @override + String get reportMessageDialogTextFieldHint => + 'اختیاری: اس پیغام میں کیا غلط ہے بیان کریں...'; + + @override + String get reportMessageDialogWhyImportant => + 'یہ ہمیں اپنی AI جوابات کو بہتر بنانے میں مدد دے گا'; + + @override + String get reportMessageDialogCancelButton => 'کینسل'; + + @override + String get reportMessageDialogReportButton => 'رپورٹ کریں'; + + @override + String get reportMessageSnackbarSuccess => + 'آپ کی رائے کا شکریہ! رپورٹ جمع کر دی گئی ہے.'; + + @override + String get reportMessageSnackbarFailed => 'رپورٹ جمع کرنے میں ناکامی'; + + @override + String get copyMessageSnackbarSuccess => 'کاپی کیا گیا'; + + @override + String get copyMessageSnackbarFailed => 'پیغام کاپی کرنے میں ناکامی'; + + @override + String get chatContextMenuReportMessage => 'پیغام کی رپورٹ کریں'; + + @override + String get chatDropZoneTitle => 'ڈاکٹرینا چیٹ میں اپ لوڈ کریں'; + + @override + String get chatDropZoneSubtitle => + 'فائلیں یہاں ڈریگ اور ڈراپ کریں تاکہ چیٹ میں شامل کی جا سکیں'; + + @override + String get chatDropZoneText => 'آپ ایک پیغام میں 15 فائلیں شامل کر سکتے ہیں'; + + @override + String get notificationBannerText => + 'کیا آپ چاہیں گے کہ میں آپ کو مطلع کروں اگر آپ کی صحت کے بارے میں کچھ اہم ہو؟'; + + @override + String get notificationBannerButtonEnable => 'جی ہاں، مجھے مطلع کریں'; + + @override + String get notificationBannerButtonDisable => 'شاید بعداً'; + + @override + String get notificationBannerButtonClose => 'بند کریں'; + + @override + String get notificationAreBlockedSystem => + 'نوٹیفیکیشن سسٹم کی سطح پر بلاک ہیں۔ ڈاکٹرینا کی نوٹیفیکیشنز کو فعال کرنے سے پہلے انہیں سسٹم کی سیٹنگز میں فعال کریں۔'; + + @override + String get notificationAreBlockedBrowser => + 'نوٹیفیکیشن سسٹم کی سطح پر بلاک ہیں۔ ڈاکٹرینا کی نوٹیفیکیشنز کو فعال کرنے سے پہلے انہیں براؤزر کی ترتیبات میں فعال کریں۔'; + + @override + String get notificationDialogTitle => 'اپنی مشاورت کے بارے میں باخبر رہیں'; + + @override + String get notificationDialogDescription => + 'ڈاکٹرینا آپ کو مطلع کر سکتی ہے جب آپ کی صحت کے بارے میں نئے بصیرت یا اپ ڈیٹس دستیاب ہوں.'; + + @override + String get notificationDialogEnableButton => 'نوٹیفکیشن فعال کریں'; + + @override + String get notificationDialogLaterButton => 'شاید بعداً'; + + @override + String get termsAndConditionBannerText => + 'اس عمل کو جاری رکھنے سے آپ ذاتی ڈیٹا کی پراسیسنگ، cookies کے استعمال، terms and conditions سے اتفاق کرتے ہیں، اور

privacy policy

کو تسلیم کرتے ہیں۔ نیز آپ اس بات کا اعتراف کرتے ہیں کہ آپ کی مشاورت ایک AI کے ذریعے کی جا رہی ہے نہ کہ کسی لائسنس یافتہ طبی پیشہ ور کے ذریعے'; + + @override + String get termsAndConditionBannerDismissTooltip => 'ختم کریں'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'سب سے پہلے اس چیٹ کو محفوظ کریں؟'; + + @override + String get anonUserNewChatCreationWarningText => + 'ایک نئی مشاورت شروع کرنے سے پہلے اس مشاورت کو محفوظ کرنے کے لیے مفت میں سائن اپ کریں'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'بغیر محفوظ کیے شروع کریں'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'سائن اپ کریں'; + + @override + String get inputBlockerContinueMessage => + 'بات چیت جاری رکھنے کے لیے، اوپر سے ایک آپشن منتخب کریں'; + + @override + String get chatServerDialogCloseBtnTooltip => 'بند کریں'; + + @override + String get chatAttachmentRemoveTooltip => 'ضمیمہ ہٹا دیں'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'ڈراپ زون سے فائلیں منتخب کرنے میں ناکامی'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'براہ کرم ایک پیغام درج کریں یا فائل منسلک کریں'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'براہ کرم اپ لوڈ مکمل ہونے کا انتظار کریں'; + + @override + String get chatAttachmentErrorMessageProcessing => 'پیغام پروسیس ہو رہا ہے'; + + @override + String get chatAttachmentErrorMessageTooLong => 'پیغام بہت لمبا ہے'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'پیغام اس وقت پروسیس ہو رہا ہے.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'کنکشن مستقل طور پر بند ہو گیا ہے'; + + @override + String get chatAttachmentErrorNoConnection => 'سرور سے کوئی کنکشن نہیں'; + + @override + String get chatAttachmentErrorPickFiles => 'فائل منتخب کرنے میں ناکامی'; + + @override + String get chatAttachmentErrorPickImages => 'تصاویر منتخب کرنے میں ناکامی'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'کیمرے سے تصویر لینے میں ناکامی'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'آپ ایک ساتھ $count فائلیں منسلک کر سکتے ہیں۔'; + } + + @override + String get chatInputTooltipClearRecognizedText => + 'پہچانے گئے متن کو صاف کریں'; + + @override + String get chatInputTooltipMessageTooLong => 'پیغام بہت لمبا ہے۔'; + + @override + String get chatInputTooltipWaitForUploads => + 'براہ کرم اپ لوڈ مکمل ہونے کا انتظار کریں۔'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'فائل $kind \"$name\" پہلے ہی منسلک ہے اور دوبارہ شامل نہیں کی گئی.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" ایک نقل ہے $exist کا اور شامل نہیں کیا گیا.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'فائل $kind \"$name\" شامل نہیں کی گئی کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'فائل \"$name\" خالی ہے.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'فائل خالی ہے۔'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'فائل \"$name\" زیادہ سے زیادہ اجازت شدہ سائز سے تجاوز کر گئی ہے.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'فائل زیادہ سے زیادہ اجازت شدہ سائز سے تجاوز کر گئی ہے۔'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'فائل \"$name\" کو پروسیس کرتے وقت ایک خرابی پیش آئی۔'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'فائل پروسیسنگ کے دوران ایک غلطی پیش آئی۔'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'فائل \"$name\" شامل نہیں کی گئی کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے۔'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'ایک فائل شامل نہیں کی گئی کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے۔'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'ایک فائل شامل نہیں کی گئی کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے۔'; + + @override + String get chatAttachmentErrorFileMissingName => + 'ایک نام کے بغیر فائل شامل کرنے کی کوشش کی گئی۔'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'ایک فائل جس میں غیر معاونت یافتہ توسیع ہے، شامل کرنے کی کوشش کی گئی: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'ایک فائل جس کی توسیع کی حمایت نہیں کی گئی تھی، شامل کرنے کی کوشش کی گئی۔'; + + @override + String get chatAttachmentErrorFileNull => 'فائل شامل کرنا ناممکن ہے۔'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'فائل \"$name\" درست نہیں ہے اور اسے شامل نہیں کیا جا سکتا.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'ایک فائل درست نہیں ہے اور اسے شامل نہیں کیا جا سکتا۔'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'آئٹم \"$name\" ایک درست فائل نہیں ہے'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'ایک آئٹم درست فائل نہیں ہے'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'آئٹم کو پروسیس کرتے وقت ایک غلطی پیش آئی۔'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'آئٹمز کو پروسیس کرتے وقت ایک غلطی پیش آئی۔'; + + @override + String get chatAttachmentErrorNoFiles => 'کوئی فائلیں شامل نہیں کی گئیں۔'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'کچھ فائلیں موجودہ فائلوں کے ساتھ نقل ہونے کی وجہ سے چھوڑ دی گئیں۔'; + + @override + String get chatAttachmentErrorUnknown => 'ایک نامعلوم خرابی پیش آئی'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'فائلیں منسلک کرتے وقت درج ذیل غلطیاں پیش آئیں:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'فائل شیئر کرنے میں ناکامی: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'بند کریں'; + + @override + String get chatAttachmentPreviewTooltipShare => 'شیئر کریں'; + + @override + String get chatAttachmentPreviewLoading => 'فائل لوڈ ہو رہی ہے...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'فائل لوڈ کرنے میں ناکامی'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'نامعلوم خرابی پیش آیا'; + + @override + String get chatAttachmentPreviewButtonRetry => 'دوبارہ کوشش کریں'; + + @override + String get chatAttachmentPreviewUnsupportedType => 'غیر معاونت فائل کی قسم'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'پیش نظارہ $contentType نہیں کر سکتے'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'فائل شیئر کریں'; + + @override + String get chatAttachmentPreviewErrorImage => 'تصویر دکھانے میں ناکامی'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'زوم ری سیٹ کریں'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF لوڈ کرنے میں ناکامی'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'متن مواد کو ڈی کوڈ کرنے میں ناکامی'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'اور $count مزید غلطیاں.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'فائل درست نہیں ہے'; + + @override + String get chatConsentRequiredTitle => 'اجازت درکار ہے'; + + @override + String get chatConsentRequiredText => + 'جاری رکھنے پر، آپ ہماری شرائط، رازداری کی پالیسی، اور کوکیز کے استعمال سے اتفاق کرتے ہیں، اور تصدیق کرتے ہیں کہ یہ مشاورت AI کی طرف سے فراہم کی گئی ہے، نہ کہ کسی لائسنس یافتہ طبی پیشہ ور کی طرف سے.'; + + @override + String get chatConsentRequiredCloseTooltip => 'بند کریں'; + + @override + String get chatHistoryDelete => 'حذف کریں'; + + @override + String get chatDelete => 'چیٹ حذف کریں'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'چیٹ “$title” کامیابی سے حذف کر دی گئی.'; + } + + @override + String get chatDeleteConfirmationTitle => 'چیٹ حذف کریں؟'; + + @override + String get chatDeleteConfirmationSubtitle => + 'آپ کے علامات، تشخیص کا خلاصہ، اور اس چیٹ میں کوئی بھی سفارشات حذف کر دی جائیں گی۔\nیہ عمل واپس نہیں لیا جا سکتا۔'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'زوم ان'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'زوم آؤٹ'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'زوم ری سیٹ کریں'; + + @override + String get chatAttachmentPreviewShareTooltip => 'شیئر کریں'; + + @override + String get dateToday => 'آج'; + + @override + String get dateYesterday => 'کل'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'صرف پہلی صفحہ۔ مکمل فائل ڈاؤن لوڈ کرنے کے لیے شیئر کا استعمال کریں۔'; +} diff --git a/example/lib/src/generated/chat/chat_localization_uz.dart b/example/lib/src/generated/chat/chat_localization_uz.dart new file mode 100644 index 0000000..ad996db --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_uz.dart @@ -0,0 +1,644 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Uzbek (`uz`). +class ChatLocalizationUz extends ChatLocalization { + ChatLocalizationUz([String locale = 'uz']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Bildirishnomalar'; + + @override + String get drawerTooltipHelp => 'Yordam'; + + @override + String get drawerTooltipClose => 'Yopish'; + + @override + String get drawerSectionTitleAccount => 'Hisob'; + + @override + String get drawerSectionProfile => 'Profil'; + + @override + String get drawerSectionAccountSettings => 'Hisob sozlamalari'; + + @override + String get drawerSectionDonateToSupport => + 'Qo\'llab-quvvatlash uchun xayriya qiling'; + + @override + String get drawerSectionSubscription => 'Obuna'; + + @override + String get drawerSectionTitleChats => 'Chatlar'; + + @override + String get drawerSectionChatHistory => 'Chat tarixi'; + + @override + String get drawerSectionAttachedDocuments => 'Ilova qilingan hujjatlar'; + + @override + String get drawerSectionTitleHowToUse => 'Qanday foydalanish'; + + @override + String get drawerSectionVideoTutorials => 'Video qo\'llanmalar'; + + @override + String get drawerSectionTitleLegal => 'Huquqiy'; + + @override + String get drawerSectionContactUs => 'Biz bilan bog\'laning'; + + @override + String get drawerSectionBugReport => 'Xato hisobot'; + + @override + String get drawerSectionTermsAndConditions => 'Shartlar va Qoidalar'; + + @override + String get drawerSectionPrivacyPolicy => 'Maxfiylik siyosati'; + + @override + String get drawerSectionTitleFeedback => 'Fikr-mulohaza'; + + @override + String get drawerSectionRateApp => 'Ilovani baholang'; + + @override + String get drawerSectionShareWithFriends => 'Do\'stlar bilan ulashing'; + + @override + String get drawerButtonLogOut => 'Chiqish'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Boshqalarga tibbiy yordam olishga yordam bering'; + + @override + String get drawerPlaceholderUser => 'Foydalanuvchi'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Premium xususiyatlar\nDoctorina bilan'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Olish'; + + @override + String get drawerLabelJoinUs => 'Bizga qo\'shiling'; + + @override + String get drawerTooltipVersion => 'Ilova versiyasi:'; + + @override + String get drawerSectionRecentChats => 'So\'nggi suhbatlar'; + + @override + String get drawerPlaceholderProfile => 'Profil'; + + @override + String get drawerPlaceholderRecentChat => 'So\'nggi suhbat'; + + @override + String get drawerSectionDownloadApps => 'Ilovalarni yuklab oling'; + + @override + String get chatInputHintEnterMessage => 'Xabar kiriting'; + + @override + String get chatInputTooltipAttachFile => 'Faylni ilova qiling'; + + @override + String get chatInputTooltipDictateMessage => 'Dikta qilish'; + + @override + String get chatInputTooltipDictateFinishMessage => + 'Tugatish va matnga o\'tkazish'; + + @override + String get chatInputTooltipSendMessage => 'Xabar yuborish'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Xabarlarni olish muvaffaqiyatsiz'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Xabarlarni olishda xato. Iltimos, qayta urinib ko\'ring.'; + + @override + String get chatListTooltipFetchMessages => 'Xabarlarni olish'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Xabarlar mavjud emas.\nSuhbatni boshlash uchun xabar yuboring.'; + + @override + String get chatListHasConnection => 'Ulangan'; + + @override + String get chatListNoConnection => 'Ulanish yo‘q'; + + @override + String get chatActionButtonTooltipSearch => 'Qidirish'; + + @override + String get chatActionButtonTooltipFavorites => 'Sevimlilar'; + + @override + String get chatActionButtonTooltipDownload => 'Yuklab olish'; + + @override + String get chatActionButtonTooltipPrintPdf => 'PDF chop etish'; + + @override + String get chatActionButtonTooltipShareWithFriends => + 'Do\'stlar bilan bo\'lishish'; + + @override + String get chatActionButtonTooltipNewChat => 'Yangi chat'; + + @override + String get chatActionButtonNewChat => 'Chat'; + + @override + String get chatActionButtonTooltipChatList => 'Suhbatni tanlang'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Drawer-ni ko\'rsatish'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Suhbatlar mavjud emas. Iltimos, yangilang yoki yangi suhbat yarating.'; + + @override + String get chatButtonRefreshChats => 'Suhbatlarni yangilash'; + + @override + String get chatButtonCreateNewChat => 'Yangi chat yaratish'; + + @override + String get chatContextMenuCopyMessage => 'Matnni nusxalash'; + + @override + String get chatStatusProcessingMessages => 'Yozilmoqda\nBir oz kuting'; + + @override + String get chatNoConnectionLabel => + 'Yangilanish...\nIltimos, internet ulanishingizni tekshiring'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Xabar hozirda allaqachon qayta ishlanmoqda.'; + + @override + String get chatErrorMessageTooLong => 'Xabar juda uzun.'; + + @override + String get chatRemoveAttachmentTooltip => 'Ilovani olib tashlash'; + + @override + String get chatStatusFailedMessage => 'Xabarni qayta ishlash muvaffaqiyatsiz'; + + @override + String get chatActionButtonTooltipExportSummary => 'PDF ga eksport qilish'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Rasmlar'; + + @override + String get chatPickerCamera => 'Kamera'; + + @override + String get chatPickerFiles => 'Fayllar'; + + @override + String get chatPickerPhotosFiles => 'Fotosuratlar va fayllar'; + + @override + String get chatRecommendationYIAG => + 'Umid qilamanki, bu yordam berdi! Ushbu tushuntirish sizga foydali bo‘ldimi?'; + + @override + String get chatRecommendationButtonDonate => 'Ha, hammasi yaxshi!'; + + @override + String get failedToRetrieveChatSummary => + 'Suhbat xulosasini olish muvaffaqiyatsiz'; + + @override + String get chatSummaryCopiedToClipboard => + 'Suhbat xulosasi klipbordga nusxalandi'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Doctorina mobil ilovada sinab ko\'ring!'; + + @override + String get getAppStoreLogoLabel => 'Yuklab oling'; + + @override + String get getGooglePlayLogoLabel => 'OLING'; + + @override + String get getAppStoreLogoTooltip => 'App Store\'dan yuklab oling'; + + @override + String get getGooglePlayLogoTooltip => 'Google Play orqali oling'; + + @override + String get reportMessageDialogTitle => 'Xabarni hisobot qilish'; + + @override + String get reportMessageDialogSubtitle => + 'Nima uchun ushbu xabarni xabar qilmoqdasiz?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Ixtiyoriy: Ushbu xabarda nima noto\'g\'ri ekanligini tasvirlang...'; + + @override + String get reportMessageDialogWhyImportant => + 'Bu bizga sun\'iy intellekt javoblarimizni yaxshilashga yordam beradi.'; + + @override + String get reportMessageDialogCancelButton => 'Bekor qilish'; + + @override + String get reportMessageDialogReportButton => 'Hisobot'; + + @override + String get reportMessageSnackbarSuccess => + 'Fikr-mulohazangiz uchun rahmat! Hisobot yuborildi.'; + + @override + String get reportMessageSnackbarFailed => + 'Hisobotni yuborish muvaffaqiyatsiz bo\'ldi'; + + @override + String get copyMessageSnackbarSuccess => 'Clipboard\'ga nusxalandi'; + + @override + String get copyMessageSnackbarFailed => 'Xabarni nusxalashda xato'; + + @override + String get chatContextMenuReportMessage => 'Xabarni hisobot qilish'; + + @override + String get chatDropZoneTitle => 'Doktorina chatiga yuklash'; + + @override + String get chatDropZoneSubtitle => + 'Fayllarni bu yerga torting va chatga qo\'shing'; + + @override + String get chatDropZoneText => + 'Siz bir xabarga 15 ta fayl qo\'shishingiz mumkin'; + + @override + String get notificationBannerText => + 'Sizga salomatligingiz haqida muhim biror narsa bo\'lsa, xabar berishimni xohlaysizmi?'; + + @override + String get notificationBannerButtonEnable => 'Ha, menga xabar ber'; + + @override + String get notificationBannerButtonDisable => 'Keyinroq'; + + @override + String get notificationBannerButtonClose => 'Yopish'; + + @override + String get notificationAreBlockedSystem => + 'Bildirishnomalar tizim darajasida bloklangan. Daktorinaning bildirishnomalarini faollashtirishdan oldin ularni tizim sozlamalarida yoqing.'; + + @override + String get notificationAreBlockedBrowser => + 'Bildirishnomalar tizim darajasida bloklangan. Ularni brauzer sozlamalarida yoqishdan oldin Doctorina bildirishnomalarini faollashtiring.'; + + @override + String get notificationDialogTitle => + 'Konsultatsiyangiz haqida xabardor bo\'ling'; + + @override + String get notificationDialogDescription => + 'Doctorina sizni salomatligingiz haqidagi yangi ma\'lumotlar yoki yangilanishlar mavjud bo\'lganda xabardor qilishi mumkin.'; + + @override + String get notificationDialogEnableButton => 'Bildirishnomalarni yoqish'; + + @override + String get notificationDialogLaterButton => 'Keyinroq'; + + @override + String get termsAndConditionBannerText => + 'Davom etish bilan siz shaxsiy ma\'lumotlarni qayta ishlashga, cookiesdan foydalanishga, terms and conditionsga rozi ekanligingizni va

privacy policy

ni tasdiqlaysiz. Shuningdek, siz konsultatsiya sun\'iy intellekt bilan amalga oshirilayotganligini va litsenziyali tibbiyot mutaxassisi emasligini tasdiqlaysiz'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Rad etish'; + + @override + String get anonUserNewChatCreationWarningTitle => 'Avval bu chatni saqlang?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Yangi maslahatni boshlashdan oldin, ushbu maslahatni saqlash uchun bepul ro\'yhatdan o\'ting'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Saqlamasdan boshlash'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Ro\'yhatdan o\'tish'; + + @override + String get inputBlockerContinueMessage => + 'Suhbatni davom ettirish uchun yuqoridagi variantlardan birini tanlang'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Yopish'; + + @override + String get chatAttachmentRemoveTooltip => 'ilovani olib tashlang'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Fayllarni tashlash zonasidan tanlashda xato'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Iltimos, xabar kiriting yoki fayl qo\'shing'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Iltimos, yuklashlar tugashini kuting'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Xabar qayta ishlanmoqda'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Xabar juda uzun'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Xabar hozirda qayta ishlanmoqda'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Ulanish doimiy ravishda yopilgan'; + + @override + String get chatAttachmentErrorNoConnection => 'Serverga ulanish yo\'q'; + + @override + String get chatAttachmentErrorPickFiles => 'Fayllarni tanlashda xato'; + + @override + String get chatAttachmentErrorPickImages => 'Rasmlarni tanlashda xato'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Kameradan foto surat olishda xato'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Siz bir vaqtning o\'zida $count ta faylni qo\'shishingiz mumkin'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Tanlangan matnni tozalang'; + + @override + String get chatInputTooltipMessageTooLong => 'Xabar juda uzun.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Iltimos, yuklashlar tugashini kuting'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '$kind \"$name\" allaqachon ilova qilingan va yana qo\'shilmagan.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return '$kind \"$name\" $exist ga takroriy va qo\'shilmagan.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '$kind \"$name\" qo\'shilmagan, chunki ilovalar soni maksimal chegaradan oshib ketdi.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Fayl \"$name\" bo\'sh.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Fayl bo\'sh.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return '«$name» fayli ruxsat etilgan maksimal o\'lchamdan oshadi'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Fayl ruxsat etilgan maksimal o\'lchamdan oshadi.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '\"$name\" faylini qayta ishlashda xato yuz berdi.'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Faylni qayta ishlashda xato yuz berdi.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return '\"$name\" fayli qo\'shilmagan, chunki ilovalar soni maksimal chegaradan oshib ketdi.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Fayl(lar) qo\'shilmagan, chunki ilovalar soni maksimal chegaradan oshib ketdi.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Fayl qo\'shilmagan, chunki ilovalar soni maksimal chegaradan oshib ketdi.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Nomsiz fayl qo\'shilishga urinish qilingan'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Qo\'llab-quvvatlanmaydigan kengaytma bilan fayl qo\'shishga urinish qilingan: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Qo\'llab-quvvatlanmaydigan kengaytma bilan fayl qo\'shishga urinish qilingan'; + + @override + String get chatAttachmentErrorFileNull => 'Fayl qo\'shish imkoni yo\'q'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return '«$name» fayli noto\'g\'ri va qo\'shilmaydi.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Fayl noto\'g\'ri va qo\'shilmaydi'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return '«$name» elementi haqiqiy fayl emas.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'Bir element haqiqiy fayl emas'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Bir narsani qayta ishlashda xato yuz berdi.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Bir yoki bir nechta elementlarni qayta ishlashda xato yuz berdi'; + + @override + String get chatAttachmentErrorNoFiles => 'Hech qanday fayl qo\'shilmagan.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Ba\'zi fayllar mavjud fayllar bilan takrorlanishi sababli o‘tkazib yuborildi'; + + @override + String get chatAttachmentErrorUnknown => 'Noma\'lum xato yuz berdi.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Fayllarni ulashda quyidagi xatolar yuz berdi:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Faylni ulashishda xato: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Yopish'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Ulashish'; + + @override + String get chatAttachmentPreviewLoading => 'Fayl yuklanmoqda...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Faylni yuklashda xato'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Noma\'lum xato yuz berdi'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Qayta urinib ko\'rish'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Qo\'llab-quvvatlanmaydigan fayl turi'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '$contentType ni oldindan ko‘rish mumkin emas'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Faylni ulashing'; + + @override + String get chatAttachmentPreviewErrorImage => 'Rasmni ko\'rsatishda xato'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Zoomni tiklash'; + + @override + String get chatAttachmentPreviewErrorPdf => 'PDF yuklashda xato'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Matn mazmunini dekodlashda xato.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Va $count ta boshqa xato.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Fayl noto\'g\'ri'; + + @override + String get chatConsentRequiredTitle => 'Ruxsat kerak'; + + @override + String get chatConsentRequiredText => + 'Davom etish orqali siz Shartlar, Maxfiylik siyosati va cookie-lardan foydalanish bilan rozi bo\'lasiz va ushbu maslahat sun\'iy intellekt tomonidan, litsenziyaga ega tibbiyot mutaxassisi emas, taqdim etilganligini tasdiqlaysiz.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Yopish'; + + @override + String get chatHistoryDelete => 'O\'chirish'; + + @override + String get chatDelete => 'Suhbatni o\'chirish'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return '“$title” suhbat muvaffaqiyatli o\'chirildi.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Suhbatni o\'chirishmi?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Sizning simptomlaringiz, tashxis xulosangiz va ushbu chatdagi har qanday tavsiyalar o\'chiriladi.\nUshbu harakatni qaytarib bo\'lmaydi.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Katta qilish'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Kichraytish'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Zoomni tiklash'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Ulashish'; + + @override + String get dateToday => 'Bugun'; + + @override + String get dateYesterday => 'Kecha'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Faqat birinchi sahifa. To\'liq faylni yuklab olish uchun Ulashdan foydalaning.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_vi.dart b/example/lib/src/generated/chat/chat_localization_vi.dart new file mode 100644 index 0000000..0233a05 --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_vi.dart @@ -0,0 +1,639 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Vietnamese (`vi`). +class ChatLocalizationVi extends ChatLocalization { + ChatLocalizationVi([String locale = 'vi']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Thông báo'; + + @override + String get drawerTooltipHelp => 'Trợ giúp'; + + @override + String get drawerTooltipClose => 'Đóng'; + + @override + String get drawerSectionTitleAccount => 'Tài khoản'; + + @override + String get drawerSectionProfile => 'Hồ sơ'; + + @override + String get drawerSectionAccountSettings => 'Cài đặt Tài khoản'; + + @override + String get drawerSectionDonateToSupport => 'Quyên góp để hỗ trợ'; + + @override + String get drawerSectionSubscription => 'Đăng ký'; + + @override + String get drawerSectionTitleChats => 'Trò chuyện'; + + @override + String get drawerSectionChatHistory => 'Lịch sử trò chuyện'; + + @override + String get drawerSectionAttachedDocuments => 'Tài liệu đính kèm'; + + @override + String get drawerSectionTitleHowToUse => 'Cách sử dụng'; + + @override + String get drawerSectionVideoTutorials => 'Hướng dẫn video'; + + @override + String get drawerSectionTitleLegal => 'Pháp lý'; + + @override + String get drawerSectionContactUs => 'Liên hệ'; + + @override + String get drawerSectionBugReport => 'Báo cáo lỗi'; + + @override + String get drawerSectionTermsAndConditions => 'Điều khoản và Điều kiện'; + + @override + String get drawerSectionPrivacyPolicy => 'Chính sách bảo mật'; + + @override + String get drawerSectionTitleFeedback => 'Phản hồi'; + + @override + String get drawerSectionRateApp => 'Đánh giá ứng dụng'; + + @override + String get drawerSectionShareWithFriends => 'Chia sẻ với bạn bè'; + + @override + String get drawerButtonLogOut => 'Đăng xuất'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Giúp người khác được chăm sóc y tế'; + + @override + String get drawerPlaceholderUser => 'Người dùng'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Tính năng cao cấp\nvới Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Nhận'; + + @override + String get drawerLabelJoinUs => 'Tham gia với chúng tôi'; + + @override + String get drawerTooltipVersion => 'Phiên bản ứng dụng:'; + + @override + String get drawerSectionRecentChats => 'Trò chuyện gần đây'; + + @override + String get drawerPlaceholderProfile => 'Hồ sơ'; + + @override + String get drawerPlaceholderRecentChat => 'Trò chuyện gần đây'; + + @override + String get drawerSectionDownloadApps => 'Tải ứng dụng'; + + @override + String get chatInputHintEnterMessage => 'Nhập tin nhắn'; + + @override + String get chatInputTooltipAttachFile => 'Đính kèm tệp'; + + @override + String get chatInputTooltipDictateMessage => 'Nói'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Hoàn tất & Phiên âm'; + + @override + String get chatInputTooltipSendMessage => 'Gửi tin nhắn'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Không tải được tin nhắn'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Không lấy được tin nhắn. Vui lòng thử lại.'; + + @override + String get chatListTooltipFetchMessages => 'Lấy tin nhắn'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Không có tin nhắn nào. Hãy gửi một tin nhắn để bắt đầu cuộc trò chuyện.'; + + @override + String get chatListHasConnection => 'Đã kết nối'; + + @override + String get chatListNoConnection => 'Không có kết nối'; + + @override + String get chatActionButtonTooltipSearch => 'Tìm kiếm'; + + @override + String get chatActionButtonTooltipFavorites => 'Yêu thích'; + + @override + String get chatActionButtonTooltipDownload => 'Tải xuống'; + + @override + String get chatActionButtonTooltipPrintPdf => 'In PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Chia sẻ với bạn bè'; + + @override + String get chatActionButtonTooltipNewChat => 'Trò chuyện mới'; + + @override + String get chatActionButtonNewChat => 'Trò chuyện'; + + @override + String get chatActionButtonTooltipChatList => 'Chọn trò chuyện'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Hiển thị ngăn'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Không có cuộc trò chuyện nào. Vui lòng làm mới hoặc tạo cuộc trò chuyện mới.'; + + @override + String get chatButtonRefreshChats => 'Làm mới trò chuyện'; + + @override + String get chatButtonCreateNewChat => 'Tạo cuộc trò chuyện mới'; + + @override + String get chatContextMenuCopyMessage => 'Sao chép văn bản'; + + @override + String get chatStatusProcessingMessages => 'Đang gõ\nChờ một chút'; + + @override + String get chatNoConnectionLabel => + 'Đang cập nhật...\nVui lòng kiểm tra kết nối internet của bạn'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Tin nhắn đang được xử lý ngay bây giờ.'; + + @override + String get chatErrorMessageTooLong => 'Tin nhắn quá dài.'; + + @override + String get chatRemoveAttachmentTooltip => 'Xóa tệp đính kèm'; + + @override + String get chatStatusFailedMessage => 'Xử lý tin nhắn thất bại'; + + @override + String get chatActionButtonTooltipExportSummary => 'Xuất sang PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Ảnh'; + + @override + String get chatPickerCamera => 'Máy ảnh'; + + @override + String get chatPickerFiles => 'Tệp tin'; + + @override + String get chatPickerPhotosFiles => 'Ảnh và Tệp'; + + @override + String get chatRecommendationYIAG => + 'Hy vọng điều đó đã giúp ích! Giải thích này có hữu ích với bạn không?'; + + @override + String get chatRecommendationButtonDonate => 'Vâng, mọi thứ đều ổn!'; + + @override + String get failedToRetrieveChatSummary => 'Không lấy được tóm tắt trò chuyện'; + + @override + String get chatSummaryCopiedToClipboard => + 'Tóm tắt trò chuyện đã được sao chép vào clipboard'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Thử Doctorina trên ứng dụng di động!'; + + @override + String get getAppStoreLogoLabel => 'Tải về trên'; + + @override + String get getGooglePlayLogoLabel => 'TẢI NGAY'; + + @override + String get getAppStoreLogoTooltip => 'Tải xuống trên App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Tải trên Google Play'; + + @override + String get reportMessageDialogTitle => 'Báo cáo tin nhắn'; + + @override + String get reportMessageDialogSubtitle => 'Tại sao bạn báo cáo tin nhắn này?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Tùy chọn: Mô tả những gì sai với tin nhắn này...'; + + @override + String get reportMessageDialogWhyImportant => + 'Điều này sẽ giúp chúng tôi cải thiện phản hồi AI của mình.'; + + @override + String get reportMessageDialogCancelButton => 'Hủy'; + + @override + String get reportMessageDialogReportButton => 'Báo cáo'; + + @override + String get reportMessageSnackbarSuccess => + 'Cảm ơn bạn đã phản hồi! Báo cáo đã được gửi.'; + + @override + String get reportMessageSnackbarFailed => 'Gửi báo cáo không thành công'; + + @override + String get copyMessageSnackbarSuccess => 'Đã sao chép vào clipboard'; + + @override + String get copyMessageSnackbarFailed => 'Không thể sao chép tin nhắn'; + + @override + String get chatContextMenuReportMessage => 'Báo cáo tin nhắn'; + + @override + String get chatDropZoneTitle => 'Tải lên vào trò chuyện với Doctorina'; + + @override + String get chatDropZoneSubtitle => + 'Kéo và thả tệp vào đây để thêm vào trò chuyện'; + + @override + String get chatDropZoneText => + 'Bạn có thể thêm tối đa 15 tệp vào một tin nhắn'; + + @override + String get notificationBannerText => + 'Bạn có muốn tôi thông báo cho bạn nếu có điều gì quan trọng liên quan đến sức khỏe của bạn không?'; + + @override + String get notificationBannerButtonEnable => 'Có, thông báo cho tôi'; + + @override + String get notificationBannerButtonDisable => 'Có thể sau'; + + @override + String get notificationBannerButtonClose => 'Đóng'; + + @override + String get notificationAreBlockedSystem => + 'Thông báo bị chặn ở cấp hệ thống. Bật chúng trong cài đặt hệ thống trước khi kích hoạt thông báo của Doctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Thông báo bị chặn ở cấp hệ thống. Bật chúng trong cài đặt trình duyệt trước khi kích hoạt thông báo của Doctorina.'; + + @override + String get notificationDialogTitle => 'Cập nhật về cuộc tư vấn của bạn'; + + @override + String get notificationDialogDescription => + 'Doctorina có thể thông báo cho bạn khi có những thông tin hoặc cập nhật mới về sức khỏe của bạn'; + + @override + String get notificationDialogEnableButton => 'Bật thông báo'; + + @override + String get notificationDialogLaterButton => 'Có thể sau'; + + @override + String get termsAndConditionBannerText => + 'Bằng cách tiếp tục, bạn đồng ý với việc xử lý dữ liệu cá nhân, sử dụng cookies, đồng ý với điều khoản and conditions, và thừa nhận

chính sách bảo mật

. Bạn cũng xác nhận rằng tư vấn của bạn do AI cung cấp và không phải của chuyên gia y tế có giấy phép'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Bỏ qua'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Lưu cuộc trò chuyện này trước?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Đăng ký miễn phí để lưu lại tư vấn này trước khi bắt đầu tư vấn mới'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Bắt đầu mà không lưu'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Đăng ký'; + + @override + String get inputBlockerContinueMessage => + 'Để tiếp tục cuộc trò chuyện, hãy chọn một tùy chọn ở trên'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Đóng'; + + @override + String get chatAttachmentRemoveTooltip => 'Xóa tệp đính kèm'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Không thể chọn tệp từ vùng thả'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Vui lòng nhập tin nhắn hoặc đính kèm tệp'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Vui lòng chờ cho các tệp tải lên hoàn tất'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Tin nhắn đang được xử lý'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Tin nhắn quá dài'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Tin nhắn hiện đang được xử lý.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Kết nối đã bị đóng vĩnh viễn'; + + @override + String get chatAttachmentErrorNoConnection => 'Không có kết nối đến máy chủ'; + + @override + String get chatAttachmentErrorPickFiles => 'Không thể chọn tệp'; + + @override + String get chatAttachmentErrorPickImages => 'Không thể chọn hình ảnh'; + + @override + String get chatAttachmentErrorCapturePhoto => 'Không thể chụp ảnh từ camera'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Bạn có thể đính kèm tối đa $count tệp một lần.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Xóa văn bản đã nhận diện'; + + @override + String get chatInputTooltipMessageTooLong => 'Tin nhắn quá dài.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Vui lòng chờ cho các tệp tải lên hoàn tất'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '$kind \"$name\" đã được đính kèm và không được thêm lại'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'Tệp $kind \"$name\" là bản sao của $exist và không được thêm vào'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '$kind \"$name\" không được thêm vào vì số lượng tệp đính kèm tối đa đã bị vượt quá.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Tệp \"$name\" trống.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Tệp tin rỗng.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Tệp \"$name\" vượt quá kích thước tối đa cho phép.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Tệp vượt quá kích thước tối đa cho phép.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Đã xảy ra lỗi khi xử lý tệp \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Đã xảy ra lỗi trong quá trình xử lý tệp.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Tệp \"$name\" không được thêm vì số lượng tệp đính kèm tối đa đã bị vượt quá.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Một hoặc nhiều tệp không được thêm vì số lượng tệp đính kèm tối đa đã bị vượt quá.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Một tệp không được thêm vì số lượng tệp đính kèm tối đa đã bị vượt quá.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Một tệp không có tên đã được cố gắng thêm vào.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Một tệp có định dạng không được hỗ trợ đã được cố gắng thêm: \"$name\"'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Một tệp có định dạng không được hỗ trợ đã được cố gắng thêm vào.'; + + @override + String get chatAttachmentErrorFileNull => 'Không thể thêm tệp.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Tệp \"$name\" không hợp lệ và không thể được thêm vào.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Một tệp không hợp lệ và không thể được thêm vào.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Mục \"$name\" không phải là tệp hợp lệ.'; + } + + @override + String get chatAttachmentErrorItemNotFile => + 'Một mục không phải là tệp hợp lệ.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Đã xảy ra lỗi khi xử lý một mục.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Đã xảy ra lỗi trong quá trình xử lý một mục (các mục).'; + + @override + String get chatAttachmentErrorNoFiles => 'Không có tệp nào được thêm vào.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Một số tệp đã bị bỏ qua do trùng lặp với các tệp hiện có.'; + + @override + String get chatAttachmentErrorUnknown => 'Đã xảy ra lỗi không xác định'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Đã xảy ra các lỗi sau khi đính kèm tệp:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Chia sẻ tệp không thành công: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Đóng'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Chia sẻ'; + + @override + String get chatAttachmentPreviewLoading => 'Đang tải tệp...'; + + @override + String get chatAttachmentPreviewErrorLoad => 'Không thể tải tệp'; + + @override + String get chatAttachmentPreviewErrorUnknown => + 'Đã xảy ra lỗi không xác định'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Thử lại'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Loại tệp không được hỗ trợ'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Không thể xem trước $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Chia sẻ tệp'; + + @override + String get chatAttachmentPreviewErrorImage => 'Không thể hiển thị hình ảnh'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Đặt lại phóng to'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Tải PDF không thành công'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Không thể giải mã nội dung văn bản'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Và $count lỗi nữa.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Tệp bị lỗi'; + + @override + String get chatConsentRequiredTitle => 'Cần có sự đồng ý'; + + @override + String get chatConsentRequiredText => + 'Bằng cách tiếp tục, bạn đồng ý với Các điều khoản, Chính sách bảo mật, và sử dụng cookie, và xác nhận rằng cuộc tư vấn này được cung cấp bởi AI, không phải là một chuyên gia y tế có giấy phép.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Đóng'; + + @override + String get chatHistoryDelete => 'Xóa'; + + @override + String get chatDelete => 'Xóa trò chuyện'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'Đã xóa cuộc trò chuyện “$title” thành công.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Xóa trò chuyện?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Các triệu chứng, tóm tắt chẩn đoán và bất kỳ khuyến nghị nào trong cuộc trò chuyện này sẽ bị xóa.\nHành động này không thể hoàn tác.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Phóng to'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Thu nhỏ'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Đặt lại phóng to'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Chia sẻ'; + + @override + String get dateToday => 'Hôm nay'; + + @override + String get dateYesterday => 'Hôm qua'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Chỉ trang đầu tiên. Sử dụng Chia sẻ để tải xuống tệp đầy đủ.'; +} diff --git a/example/lib/src/generated/chat/chat_localization_zh.dart b/example/lib/src/generated/chat/chat_localization_zh.dart index 538bacb..cbd96b6 100644 --- a/example/lib/src/generated/chat/chat_localization_zh.dart +++ b/example/lib/src/generated/chat/chat_localization_zh.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'chat_localization.dart'; class ChatLocalizationZh extends ChatLocalization { ChatLocalizationZh([String locale = 'zh']) : super(locale); - @override - String get title => '聊天'; - @override String get drawerTooltipNotifications => '通知'; @@ -23,13 +20,13 @@ class ChatLocalizationZh extends ChatLocalization { String get drawerTooltipClose => '关闭'; @override - String get drawerSectionTitleAccount => '帐户'; + String get drawerSectionTitleAccount => '账户'; @override - String get drawerSectionProfile => '轮廓'; + String get drawerSectionProfile => '个人资料'; @override - String get drawerSectionAccountSettings => '帐户设置'; + String get drawerSectionAccountSettings => '账户设置'; @override String get drawerSectionDonateToSupport => '捐款支持'; @@ -44,7 +41,7 @@ class ChatLocalizationZh extends ChatLocalization { String get drawerSectionChatHistory => '聊天记录'; @override - String get drawerSectionAttachedDocuments => '附件'; + String get drawerSectionAttachedDocuments => '附带文档'; @override String get drawerSectionTitleHowToUse => '如何使用'; @@ -53,7 +50,7 @@ class ChatLocalizationZh extends ChatLocalization { String get drawerSectionVideoTutorials => '视频教程'; @override - String get drawerSectionTitleLegal => '合法的'; + String get drawerSectionTitleLegal => '法律'; @override String get drawerSectionContactUs => '联系我们'; @@ -71,32 +68,44 @@ class ChatLocalizationZh extends ChatLocalization { String get drawerSectionTitleFeedback => '反馈'; @override - String get drawerSectionRateApp => '评价应用程序'; + String get drawerSectionRateApp => '评价应用'; @override String get drawerSectionShareWithFriends => '与朋友分享'; @override - String get drawerButtonLogOut => '登出'; + String get drawerButtonLogOut => '退出'; @override - String get drawerBannerHelpOthersReceiveMedicalCare => '帮助他人获得医疗服务'; + String get drawerBannerHelpOthersReceiveMedicalCare => '帮助他人接受医疗服务'; @override String get drawerPlaceholderUser => '用户'; @override String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => - 'Doctorina 的高级功能'; + '高级功能\n与Doctorina'; @override - String get drawerSubscriptionButtonGetPremiumFeatures => '得到'; + String get drawerSubscriptionButtonGetPremiumFeatures => '获取'; @override String get drawerLabelJoinUs => '加入我们'; @override - String get drawerTooltipVersion => '应用程序版本:'; + String get drawerTooltipVersion => '应用版本:'; + + @override + String get drawerSectionRecentChats => '最近聊天'; + + @override + String get drawerPlaceholderProfile => '个人资料'; + + @override + String get drawerPlaceholderRecentChat => '最近聊天'; + + @override + String get drawerSectionDownloadApps => '下载应用'; @override String get chatInputHintEnterMessage => '输入消息'; @@ -105,23 +114,26 @@ class ChatLocalizationZh extends ChatLocalization { String get chatInputTooltipAttachFile => '附加文件'; @override - String get chatInputTooltipDictateMessage => '口述信息'; + String get chatInputTooltipDictateMessage => '听写'; + + @override + String get chatInputTooltipDictateFinishMessage => '结束并转录'; @override String get chatInputTooltipSendMessage => '发送消息'; @override - String get chatListSnackBarErrorFailedToFetchMessages => '无法获取消息'; + String get chatListSnackBarErrorFailedToFetchMessages => '获取消息失败'; @override String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => - '无法获取消息。请重试。'; + '获取消息失败。请再试一次。'; @override String get chatListTooltipFetchMessages => '获取消息'; @override - String get chatListLabelNoMessagesAvailable => '没有可用的消息。\n请发送消息以开始对话。'; + String get chatListLabelNoMessagesAvailable => '暂无消息。\n请发送消息开始对话。'; @override String get chatListHasConnection => '已连接'; @@ -148,13 +160,16 @@ class ChatLocalizationZh extends ChatLocalization { String get chatActionButtonTooltipNewChat => '新聊天'; @override - String get chatActionButtonTooltipChatList => '选择“聊天”'; + String get chatActionButtonNewChat => '聊天'; + + @override + String get chatActionButtonTooltipChatList => '选择聊天'; @override String get chatActionButtonTooltipShowDrawer => '显示抽屉'; @override - String get chatLabelNoChatAvailableRefresh => '没有可用的聊天。请刷新或创建新的聊天。'; + String get chatLabelNoChatAvailableRefresh => '暂无聊天。请刷新或创建新的聊天。'; @override String get chatButtonRefreshChats => '刷新聊天'; @@ -166,13 +181,13 @@ class ChatLocalizationZh extends ChatLocalization { String get chatContextMenuCopyMessage => '复制文本'; @override - String get chatStatusProcessingMessages => '正在输入...\n请稍等...'; + String get chatStatusProcessingMessages => '正在输入\n请稍候'; @override - String get chatNoConnectionLabel => '请检查您的互联网连接'; + String get chatNoConnectionLabel => '正在更新...\n请检查您的互联网连接'; @override - String get chatErrorMessageAlreadyProcessed => '该消息目前正在处理中。'; + String get chatErrorMessageAlreadyProcessed => '消息现在正在处理中。'; @override String get chatErrorMessageTooLong => '消息太长。'; @@ -181,11 +196,14 @@ class ChatLocalizationZh extends ChatLocalization { String get chatRemoveAttachmentTooltip => '删除附件'; @override - String get chatStatusFailedMessage => '无法处理消息'; + String get chatStatusFailedMessage => '处理消息失败'; @override String get chatActionButtonTooltipExportSummary => '导出为 PDF'; + @override + String get chatActionExportToPdfTitle => 'PDF'; + @override String get chatPickerPhotos => '照片'; @@ -196,28 +214,392 @@ class ChatLocalizationZh extends ChatLocalization { String get chatPickerFiles => '文件'; @override - String get chatRecommendationYIAG => '希望以上内容对您有所帮助!这个解释对您有帮助吗?'; + String get chatPickerPhotosFiles => '照片和文件'; @override - String get chatRecommendationButtonDonate => '是的,一切都很好!'; + String get chatRecommendationYIAG => '希望这对您有帮助!这个解释对您有用吗?'; @override - String get chatHistoryTitle => '聊天记录'; + String get chatRecommendationButtonDonate => '是的,一切都好!'; @override - String get failedToRetrieveChatSummary => '无法检索聊天摘要'; + String get failedToRetrieveChatSummary => '获取聊天摘要失败'; @override String get chatSummaryCopiedToClipboard => '聊天摘要已复制到剪贴板'; + + @override + String get tryDoctorinaInTheMobileApp => '在移动应用中试试Doctorina!'; + + @override + String get getAppStoreLogoLabel => 'Download on the'; + + @override + String get getGooglePlayLogoLabel => 'GET IT ON'; + + @override + String get getAppStoreLogoTooltip => '在 App Store 下载'; + + @override + String get getGooglePlayLogoTooltip => '在 Google Play 获取'; + + @override + String get reportMessageDialogTitle => '报告消息'; + + @override + String get reportMessageDialogSubtitle => '您为什么要举报此消息?'; + + @override + String get reportMessageDialogTextFieldHint => '可选:描述此消息有什么问题...'; + + @override + String get reportMessageDialogWhyImportant => '这将帮助我们改善我们的AI响应'; + + @override + String get reportMessageDialogCancelButton => '取消'; + + @override + String get reportMessageDialogReportButton => '报告'; + + @override + String get reportMessageSnackbarSuccess => '感谢您的反馈!报告已提交。'; + + @override + String get reportMessageSnackbarFailed => '提交报告失败'; + + @override + String get copyMessageSnackbarSuccess => '已复制到剪贴板'; + + @override + String get copyMessageSnackbarFailed => '复制消息失败'; + + @override + String get chatContextMenuReportMessage => '报告消息'; + + @override + String get chatDropZoneTitle => '上传到Doctorina聊天'; + + @override + String get chatDropZoneSubtitle => '将文件拖放到此处以添加到聊天'; + + @override + String get chatDropZoneText => '您可以在一条消息中添加最多15个文件'; + + @override + String get notificationBannerText => '如果您的健康出现重要情况,您希望我通知您吗?'; + + @override + String get notificationBannerButtonEnable => '是的,请通知我'; + + @override + String get notificationBannerButtonDisable => '稍后再说'; + + @override + String get notificationBannerButtonClose => '关闭'; + + @override + String get notificationAreBlockedSystem => + '通知在系统级别被阻止。在激活Doctorina的通知之前,请在系统设置中启用它们。'; + + @override + String get notificationAreBlockedBrowser => + '系统级别已阻止通知。在激活Doctorina的通知之前,请在浏览器设置中启用它们。'; + + @override + String get notificationDialogTitle => '保持对您的咨询的更新'; + + @override + String get notificationDialogDescription => + 'Doctorina 可以在有关您健康的新见解或更新可用时通知您。'; + + @override + String get notificationDialogEnableButton => '启用通知'; + + @override + String get notificationDialogLaterButton => '稍后再说'; + + @override + String get termsAndConditionBannerText => + '继续即表示您同意处理个人数据,使用cookies,同意terms and conditions,并确认

privacy policy

。另外,您确认您的咨询是由人工智能提供,而非持牌医疗专业人士'; + + @override + String get termsAndConditionBannerDismissTooltip => '忽略'; + + @override + String get anonUserNewChatCreationWarningTitle => '先保存此聊天?'; + + @override + String get anonUserNewChatCreationWarningText => '免费注册以保存本次咨询,然后再开始新的咨询'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => '开始而不保存'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => '注册'; + + @override + String get inputBlockerContinueMessage => '要继续对话,请选择上面的选项'; + + @override + String get chatServerDialogCloseBtnTooltip => '关闭'; + + @override + String get chatAttachmentRemoveTooltip => '移除附件'; + + @override + String get chatAttachmentErrorPickFilesDropZone => '从拖放区选择文件失败'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => '请输入消息或附加文件'; + + @override + String get chatAttachmentErrorWaitForUploads => '请等待上传完成'; + + @override + String get chatAttachmentErrorMessageProcessing => '消息正在处理中'; + + @override + String get chatAttachmentErrorMessageTooLong => '消息太长'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => '消息正在处理中。'; + + @override + String get chatAttachmentErrorConnectionClosed => '连接已永久关闭'; + + @override + String get chatAttachmentErrorNoConnection => '无法连接到服务器'; + + @override + String get chatAttachmentErrorPickFiles => '无法选择文件'; + + @override + String get chatAttachmentErrorPickImages => '无法选择图片'; + + @override + String get chatAttachmentErrorCapturePhoto => '无法从相机捕获照片'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return '您一次最多可以附加 $count 个文件。'; + } + + @override + String get chatInputTooltipClearRecognizedText => '清除识别的文本'; + + @override + String get chatInputTooltipMessageTooLong => '消息太长。'; + + @override + String get chatInputTooltipWaitForUploads => '请等待上传完成'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '该 $kind \"$name\" 已经附加,未再次添加。'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return '该 $kind \"$name\" 是 $exist 的重复项,未被添加。'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '由于超过了最大附件数量,$kind \"$name\" 未被添加。'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '文件 \"$name\" 是空的。'; + } + + @override + String get chatAttachmentErrorFileEmpty => '文件是空的。'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return '文件 \"$name\" 超过了允许的最大大小。'; + } + + @override + String get chatAttachmentErrorFileSize => '文件超过了允许的最大大小。'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '处理文件 \"$name\" 时发生错误。'; + } + + @override + String get chatAttachmentErrorFileProcessing => '处理文件时发生错误'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return '文件 \"$name\" 未添加,因为附件的最大数量已超过。'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => '文件未添加,因为附件的最大数量已超过。'; + + @override + String get chatAttachmentErrorFileLimitSingle => '未添加文件,因为已超过最大附件数量。'; + + @override + String get chatAttachmentErrorFileMissingName => '尝试添加一个没有名称的文件'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return '尝试添加一个不支持的扩展名的文件:\"$name\"。'; + } + + @override + String get chatAttachmentErrorFileExtension => '尝试添加了一个不支持的扩展名的文件'; + + @override + String get chatAttachmentErrorFileNull => '无法添加文件'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return '文件 \"$name\" 无效,无法添加。'; + } + + @override + String get chatAttachmentErrorFileInvalid => '文件无效,无法添加'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return '项目 \"$name\" 不是有效的文件'; + } + + @override + String get chatAttachmentErrorItemNotFile => '项目不是有效的文件'; + + @override + String get chatAttachmentErrorItemProcessingSingle => '处理项目时发生错误'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => '处理项目时发生错误。'; + + @override + String get chatAttachmentErrorNoFiles => '没有添加文件'; + + @override + String get chatAttachmentErrorFileDuplicates => '由于与现有文件重复,某些文件已被跳过。'; + + @override + String get chatAttachmentErrorUnknown => '发生了未知错误。'; + + @override + String get chatAttachmentErrorSnackbarHeader => '在附加文件时发生了以下错误:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return '共享文件失败:$error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => '关闭'; + + @override + String get chatAttachmentPreviewTooltipShare => '分享'; + + @override + String get chatAttachmentPreviewLoading => '加载文件...'; + + @override + String get chatAttachmentPreviewErrorLoad => '加载文件失败'; + + @override + String get chatAttachmentPreviewErrorUnknown => '发生了未知错误'; + + @override + String get chatAttachmentPreviewButtonRetry => '重试'; + + @override + String get chatAttachmentPreviewUnsupportedType => '不支持的文件类型'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '无法预览 $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => '分享文件'; + + @override + String get chatAttachmentPreviewErrorImage => '无法显示图像'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => '重置缩放'; + + @override + String get chatAttachmentPreviewErrorPdf => '加载 PDF 失败'; + + @override + String get chatAttachmentPreviewErrorDecodeText => '无法解码文本内容。'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return '还有 $count 个错误。'; + } + + @override + String get chatAttachmentPreviewFileMalformed => '文件格式不正确'; + + @override + String get chatConsentRequiredTitle => '需要同意'; + + @override + String get chatConsentRequiredText => + '继续即表示您同意我们的条款隐私政策使用cookies,并确认此咨询由AI提供,而非持证医疗专业人员。'; + + @override + String get chatConsentRequiredCloseTooltip => '关闭'; + + @override + String get chatHistoryDelete => '删除'; + + @override + String get chatDelete => '删除聊天'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return '聊天“$title”已成功删除。'; + } + + @override + String get chatDeleteConfirmationTitle => '删除聊天吗?'; + + @override + String get chatDeleteConfirmationSubtitle => + '您在此聊天中的症状、诊断摘要和任何建议将被删除。\n此操作无法撤销。'; + + @override + String get chatAttachmentPreviewZoomInTooltip => '放大'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => '缩小'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => '重置缩放'; + + @override + String get chatAttachmentPreviewShareTooltip => '分享'; + + @override + String get dateToday => '今天'; + + @override + String get dateYesterday => '昨天'; + + @override + String get chatAttachmentPreviewDocumentNotice => '仅第一页。使用分享下载完整文件。'; } /// The translations for Chinese, as used in China (`zh_CN`). class ChatLocalizationZhCn extends ChatLocalizationZh { ChatLocalizationZhCn() : super('zh_CN'); - @override - String get title => '聊天'; - @override String get drawerTooltipNotifications => '通知'; @@ -228,13 +610,13 @@ class ChatLocalizationZhCn extends ChatLocalizationZh { String get drawerTooltipClose => '关闭'; @override - String get drawerSectionTitleAccount => '帐户'; + String get drawerSectionTitleAccount => '账户'; @override - String get drawerSectionProfile => '轮廓'; + String get drawerSectionProfile => '个人资料'; @override - String get drawerSectionAccountSettings => '帐户设置'; + String get drawerSectionAccountSettings => '账户设置'; @override String get drawerSectionDonateToSupport => '捐款支持'; @@ -249,7 +631,7 @@ class ChatLocalizationZhCn extends ChatLocalizationZh { String get drawerSectionChatHistory => '聊天记录'; @override - String get drawerSectionAttachedDocuments => '附件'; + String get drawerSectionAttachedDocuments => '附带文档'; @override String get drawerSectionTitleHowToUse => '如何使用'; @@ -258,7 +640,7 @@ class ChatLocalizationZhCn extends ChatLocalizationZh { String get drawerSectionVideoTutorials => '视频教程'; @override - String get drawerSectionTitleLegal => '合法的'; + String get drawerSectionTitleLegal => '法律'; @override String get drawerSectionContactUs => '联系我们'; @@ -276,32 +658,44 @@ class ChatLocalizationZhCn extends ChatLocalizationZh { String get drawerSectionTitleFeedback => '反馈'; @override - String get drawerSectionRateApp => '评价应用程序'; + String get drawerSectionRateApp => '评价应用'; @override String get drawerSectionShareWithFriends => '与朋友分享'; @override - String get drawerButtonLogOut => '登出'; + String get drawerButtonLogOut => '退出'; @override - String get drawerBannerHelpOthersReceiveMedicalCare => '帮助他人获得医疗服务'; + String get drawerBannerHelpOthersReceiveMedicalCare => '帮助他人接受医疗服务'; @override String get drawerPlaceholderUser => '用户'; @override String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => - 'Doctorina 的高级功能'; + '高级功能\n与Doctorina'; @override - String get drawerSubscriptionButtonGetPremiumFeatures => '得到'; + String get drawerSubscriptionButtonGetPremiumFeatures => '获取'; @override String get drawerLabelJoinUs => '加入我们'; @override - String get drawerTooltipVersion => '应用程序版本:'; + String get drawerTooltipVersion => '应用版本:'; + + @override + String get drawerSectionRecentChats => '最近聊天'; + + @override + String get drawerPlaceholderProfile => '个人资料'; + + @override + String get drawerPlaceholderRecentChat => '最近聊天'; + + @override + String get drawerSectionDownloadApps => '下载应用'; @override String get chatInputHintEnterMessage => '输入消息'; @@ -310,23 +704,26 @@ class ChatLocalizationZhCn extends ChatLocalizationZh { String get chatInputTooltipAttachFile => '附加文件'; @override - String get chatInputTooltipDictateMessage => '口述信息'; + String get chatInputTooltipDictateMessage => '听写'; + + @override + String get chatInputTooltipDictateFinishMessage => '结束并转录'; @override String get chatInputTooltipSendMessage => '发送消息'; @override - String get chatListSnackBarErrorFailedToFetchMessages => '无法获取消息'; + String get chatListSnackBarErrorFailedToFetchMessages => '获取消息失败'; @override String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => - '无法获取消息。请重试。'; + '获取消息失败。请再试一次。'; @override String get chatListTooltipFetchMessages => '获取消息'; @override - String get chatListLabelNoMessagesAvailable => '没有可用的消息。\n请发送消息以开始对话。'; + String get chatListLabelNoMessagesAvailable => '暂无消息。\n请发送消息开始对话。'; @override String get chatListHasConnection => '已连接'; @@ -353,13 +750,16 @@ class ChatLocalizationZhCn extends ChatLocalizationZh { String get chatActionButtonTooltipNewChat => '新聊天'; @override - String get chatActionButtonTooltipChatList => '选择“聊天”'; + String get chatActionButtonNewChat => '聊天'; + + @override + String get chatActionButtonTooltipChatList => '选择聊天'; @override String get chatActionButtonTooltipShowDrawer => '显示抽屉'; @override - String get chatLabelNoChatAvailableRefresh => '没有可用的聊天。请刷新或创建新的聊天。'; + String get chatLabelNoChatAvailableRefresh => '暂无聊天。请刷新或创建新的聊天。'; @override String get chatButtonRefreshChats => '刷新聊天'; @@ -371,13 +771,13 @@ class ChatLocalizationZhCn extends ChatLocalizationZh { String get chatContextMenuCopyMessage => '复制文本'; @override - String get chatStatusProcessingMessages => '正在输入...\n请稍等...'; + String get chatStatusProcessingMessages => '正在输入\n请稍候'; @override - String get chatNoConnectionLabel => '请检查您的互联网连接'; + String get chatNoConnectionLabel => '正在更新...\n请检查您的互联网连接'; @override - String get chatErrorMessageAlreadyProcessed => '该消息目前正在处理中。'; + String get chatErrorMessageAlreadyProcessed => '消息现在正在处理中。'; @override String get chatErrorMessageTooLong => '消息太长。'; @@ -386,11 +786,14 @@ class ChatLocalizationZhCn extends ChatLocalizationZh { String get chatRemoveAttachmentTooltip => '删除附件'; @override - String get chatStatusFailedMessage => '无法处理消息'; + String get chatStatusFailedMessage => '处理消息失败'; @override String get chatActionButtonTooltipExportSummary => '导出为 PDF'; + @override + String get chatActionExportToPdfTitle => 'PDF'; + @override String get chatPickerPhotos => '照片'; @@ -401,17 +804,974 @@ class ChatLocalizationZhCn extends ChatLocalizationZh { String get chatPickerFiles => '文件'; @override - String get chatRecommendationYIAG => '希望以上内容对您有所帮助!这个解释对您有帮助吗?'; + String get chatPickerPhotosFiles => '照片和文件'; @override - String get chatRecommendationButtonDonate => '是的,一切都很好!'; + String get chatRecommendationYIAG => '希望这对您有帮助!这个解释对您有用吗?'; @override - String get chatHistoryTitle => '聊天记录'; + String get chatRecommendationButtonDonate => '是的,一切都好!'; @override - String get failedToRetrieveChatSummary => '无法检索聊天摘要'; + String get failedToRetrieveChatSummary => '获取聊天摘要失败'; @override String get chatSummaryCopiedToClipboard => '聊天摘要已复制到剪贴板'; + + @override + String get tryDoctorinaInTheMobileApp => '在移动应用中试试Doctorina!'; + + @override + String get getAppStoreLogoLabel => 'Download on the'; + + @override + String get getGooglePlayLogoLabel => 'GET IT ON'; + + @override + String get getAppStoreLogoTooltip => '在 App Store 下载'; + + @override + String get getGooglePlayLogoTooltip => '在 Google Play 获取'; + + @override + String get reportMessageDialogTitle => '报告消息'; + + @override + String get reportMessageDialogSubtitle => '您为什么要举报此消息?'; + + @override + String get reportMessageDialogTextFieldHint => '可选:描述此消息有什么问题...'; + + @override + String get reportMessageDialogWhyImportant => '这将帮助我们改善我们的AI响应'; + + @override + String get reportMessageDialogCancelButton => '取消'; + + @override + String get reportMessageDialogReportButton => '报告'; + + @override + String get reportMessageSnackbarSuccess => '感谢您的反馈!报告已提交。'; + + @override + String get reportMessageSnackbarFailed => '提交报告失败'; + + @override + String get copyMessageSnackbarSuccess => '已复制到剪贴板'; + + @override + String get copyMessageSnackbarFailed => '复制消息失败'; + + @override + String get chatContextMenuReportMessage => '报告消息'; + + @override + String get chatDropZoneTitle => '上传到Doctorina聊天'; + + @override + String get chatDropZoneSubtitle => '将文件拖放到此处以添加到聊天'; + + @override + String get chatDropZoneText => '您可以在一条消息中添加最多15个文件'; + + @override + String get notificationBannerText => '如果您的健康出现重要情况,您希望我通知您吗?'; + + @override + String get notificationBannerButtonEnable => '是的,请通知我'; + + @override + String get notificationBannerButtonDisable => '稍后再说'; + + @override + String get notificationBannerButtonClose => '关闭'; + + @override + String get notificationAreBlockedSystem => + '通知在系统级别被阻止。在激活Doctorina的通知之前,请在系统设置中启用它们。'; + + @override + String get notificationAreBlockedBrowser => + '系统级别已阻止通知。在激活Doctorina的通知之前,请在浏览器设置中启用它们。'; + + @override + String get notificationDialogTitle => '保持对您的咨询的更新'; + + @override + String get notificationDialogDescription => + 'Doctorina 可以在有关您健康的新见解或更新可用时通知您。'; + + @override + String get notificationDialogEnableButton => '启用通知'; + + @override + String get notificationDialogLaterButton => '稍后再说'; + + @override + String get termsAndConditionBannerText => + '继续即表示您同意处理个人数据,使用cookies,同意terms and conditions,并确认

privacy policy

。另外,您确认您的咨询是由人工智能提供,而非持牌医疗专业人士'; + + @override + String get termsAndConditionBannerDismissTooltip => '忽略'; + + @override + String get anonUserNewChatCreationWarningTitle => '先保存此聊天?'; + + @override + String get anonUserNewChatCreationWarningText => '免费注册以保存本次咨询,然后再开始新的咨询'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => '开始而不保存'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => '注册'; + + @override + String get inputBlockerContinueMessage => '要继续对话,请选择上面的选项'; + + @override + String get chatServerDialogCloseBtnTooltip => '关闭'; + + @override + String get chatAttachmentRemoveTooltip => '移除附件'; + + @override + String get chatAttachmentErrorPickFilesDropZone => '从拖放区选择文件失败'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => '请输入消息或附加文件'; + + @override + String get chatAttachmentErrorWaitForUploads => '请等待上传完成'; + + @override + String get chatAttachmentErrorMessageProcessing => '消息正在处理中'; + + @override + String get chatAttachmentErrorMessageTooLong => '消息太长'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => '消息正在处理中。'; + + @override + String get chatAttachmentErrorConnectionClosed => '连接已永久关闭'; + + @override + String get chatAttachmentErrorNoConnection => '无法连接到服务器'; + + @override + String get chatAttachmentErrorPickFiles => '无法选择文件'; + + @override + String get chatAttachmentErrorPickImages => '无法选择图片'; + + @override + String get chatAttachmentErrorCapturePhoto => '无法从相机捕获照片'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return '您一次最多可以附加 $count 个文件。'; + } + + @override + String get chatInputTooltipClearRecognizedText => '清除识别的文本'; + + @override + String get chatInputTooltipMessageTooLong => '消息太长。'; + + @override + String get chatInputTooltipWaitForUploads => '请等待上传完成'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '该 $kind \"$name\" 已经附加,未再次添加。'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return '该 $kind \"$name\" 是 $exist 的重复项,未被添加。'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return '由于超过了最大附件数量,$kind \"$name\" 未被添加。'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '文件 \"$name\" 是空的。'; + } + + @override + String get chatAttachmentErrorFileEmpty => '文件是空的。'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return '文件 \"$name\" 超过了允许的最大大小。'; + } + + @override + String get chatAttachmentErrorFileSize => '文件超过了允许的最大大小。'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '处理文件 \"$name\" 时发生错误。'; + } + + @override + String get chatAttachmentErrorFileProcessing => '处理文件时发生错误'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return '文件 \"$name\" 未添加,因为附件的最大数量已超过。'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => '文件未添加,因为附件的最大数量已超过。'; + + @override + String get chatAttachmentErrorFileLimitSingle => '未添加文件,因为已超过最大附件数量。'; + + @override + String get chatAttachmentErrorFileMissingName => '尝试添加一个没有名称的文件'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return '尝试添加一个不支持的扩展名的文件:\"$name\"。'; + } + + @override + String get chatAttachmentErrorFileExtension => '尝试添加了一个不支持的扩展名的文件'; + + @override + String get chatAttachmentErrorFileNull => '无法添加文件'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return '文件 \"$name\" 无效,无法添加。'; + } + + @override + String get chatAttachmentErrorFileInvalid => '文件无效,无法添加'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return '项目 \"$name\" 不是有效的文件'; + } + + @override + String get chatAttachmentErrorItemNotFile => '项目不是有效的文件'; + + @override + String get chatAttachmentErrorItemProcessingSingle => '处理项目时发生错误'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => '处理项目时发生错误。'; + + @override + String get chatAttachmentErrorNoFiles => '没有添加文件'; + + @override + String get chatAttachmentErrorFileDuplicates => '由于与现有文件重复,某些文件已被跳过。'; + + @override + String get chatAttachmentErrorUnknown => '发生了未知错误。'; + + @override + String get chatAttachmentErrorSnackbarHeader => '在附加文件时发生了以下错误:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return '共享文件失败:$error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => '关闭'; + + @override + String get chatAttachmentPreviewTooltipShare => '分享'; + + @override + String get chatAttachmentPreviewLoading => '加载文件...'; + + @override + String get chatAttachmentPreviewErrorLoad => '加载文件失败'; + + @override + String get chatAttachmentPreviewErrorUnknown => '发生了未知错误'; + + @override + String get chatAttachmentPreviewButtonRetry => '重试'; + + @override + String get chatAttachmentPreviewUnsupportedType => '不支持的文件类型'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '无法预览 $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => '分享文件'; + + @override + String get chatAttachmentPreviewErrorImage => '无法显示图像'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => '重置缩放'; + + @override + String get chatAttachmentPreviewErrorPdf => '加载 PDF 失败'; + + @override + String get chatAttachmentPreviewErrorDecodeText => '无法解码文本内容。'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return '还有 $count 个错误。'; + } + + @override + String get chatAttachmentPreviewFileMalformed => '文件格式不正确'; + + @override + String get chatConsentRequiredTitle => '需要同意'; + + @override + String get chatConsentRequiredText => + '继续即表示您同意我们的条款隐私政策使用cookies,并确认此咨询由AI提供,而非持证医疗专业人员。'; + + @override + String get chatConsentRequiredCloseTooltip => '关闭'; + + @override + String get chatHistoryDelete => '删除'; + + @override + String get chatDelete => '删除聊天'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return '聊天“$title”已成功删除。'; + } + + @override + String get chatDeleteConfirmationTitle => '删除聊天吗?'; + + @override + String get chatDeleteConfirmationSubtitle => + '您在此聊天中的症状、诊断摘要和任何建议将被删除。\n此操作无法撤销。'; + + @override + String get chatAttachmentPreviewZoomInTooltip => '放大'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => '缩小'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => '重置缩放'; + + @override + String get chatAttachmentPreviewShareTooltip => '分享'; + + @override + String get dateToday => '今天'; + + @override + String get dateYesterday => '昨天'; + + @override + String get chatAttachmentPreviewDocumentNotice => '仅第一页。使用分享下载完整文件。'; +} + +/// The translations for Chinese, as used in Hong Kong (`zh_HK`). +class ChatLocalizationZhHk extends ChatLocalizationZh { + ChatLocalizationZhHk() : super('zh_HK'); + + @override + String get drawerTooltipNotifications => '通知'; + + @override + String get drawerTooltipHelp => '幫助'; + + @override + String get drawerTooltipClose => '關閉'; + + @override + String get drawerSectionTitleAccount => '帳戶'; + + @override + String get drawerSectionProfile => '個人資料'; + + @override + String get drawerSectionAccountSettings => '帳戶設定'; + + @override + String get drawerSectionDonateToSupport => '捐款支持'; + + @override + String get drawerSectionSubscription => '訂閱'; + + @override + String get drawerSectionTitleChats => '聊天'; + + @override + String get drawerSectionChatHistory => '聊天記錄'; + + @override + String get drawerSectionAttachedDocuments => '附件'; + + @override + String get drawerSectionTitleHowToUse => '點樣使用'; + + @override + String get drawerSectionVideoTutorials => '視頻教程'; + + @override + String get drawerSectionTitleLegal => '法律'; + + @override + String get drawerSectionContactUs => '聯絡我哋'; + + @override + String get drawerSectionBugReport => '錯誤回報'; + + @override + String get drawerSectionTermsAndConditions => '條款及細則'; + + @override + String get drawerSectionPrivacyPolicy => '私隱政策'; + + @override + String get drawerSectionTitleFeedback => '反饋'; + + @override + String get drawerSectionRateApp => '評分App'; + + @override + String get drawerSectionShareWithFriends => '同朋友分享'; + + @override + String get drawerButtonLogOut => '登出'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => '幫助他人獲得醫療護理'; + + @override + String get drawerPlaceholderUser => '用戶'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + '高級功能\n同 Doctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => '攞'; + + @override + String get drawerLabelJoinUs => '加入我哋'; + + @override + String get drawerTooltipVersion => '應用程式版本:'; + + @override + String get drawerSectionRecentChats => '最近的聊天'; + + @override + String get drawerPlaceholderProfile => '個人資料'; + + @override + String get drawerPlaceholderRecentChat => '最近的聊天'; + + @override + String get drawerSectionDownloadApps => '下載應用程式'; + + @override + String get chatInputHintEnterMessage => '輸入訊息'; + + @override + String get chatInputTooltipAttachFile => '附加檔案'; + + @override + String get chatInputTooltipDictateMessage => '語音輸入'; + + @override + String get chatInputTooltipDictateFinishMessage => '完成及轉寫'; + + @override + String get chatInputTooltipSendMessage => '發送訊息'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => '未能取得訊息'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + '攞唔到訊息。請再試一次.'; + + @override + String get chatListTooltipFetchMessages => '攞訊息'; + + @override + String get chatListLabelNoMessagesAvailable => '冇訊息可用. 請發送訊息開始對話.'; + + @override + String get chatListHasConnection => '已連接'; + + @override + String get chatListNoConnection => '冇連線'; + + @override + String get chatActionButtonTooltipSearch => '搜尋'; + + @override + String get chatActionButtonTooltipFavorites => '最愛'; + + @override + String get chatActionButtonTooltipDownload => '下載'; + + @override + String get chatActionButtonTooltipPrintPdf => '列印PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => '同朋友分享'; + + @override + String get chatActionButtonTooltipNewChat => '新聊天'; + + @override + String get chatActionButtonNewChat => '聊天'; + + @override + String get chatActionButtonTooltipChatList => '揀聊天'; + + @override + String get chatActionButtonTooltipShowDrawer => '顯示抽屜'; + + @override + String get chatLabelNoChatAvailableRefresh => '冇傾偈可用。請刷新或創建新嘅傾偈.'; + + @override + String get chatButtonRefreshChats => '刷新聊天'; + + @override + String get chatButtonCreateNewChat => '創建新聊天'; + + @override + String get chatContextMenuCopyMessage => '複製文字'; + + @override + String get chatStatusProcessingMessages => '輸入中\n請稍等'; + + @override + String get chatNoConnectionLabel => '正在更新...\n請檢查您的網絡連接'; + + @override + String get chatErrorMessageAlreadyProcessed => '訊息而家已經喺處理緊.'; + + @override + String get chatErrorMessageTooLong => '訊息太長.'; + + @override + String get chatRemoveAttachmentTooltip => '移除附件'; + + @override + String get chatStatusFailedMessage => '處理訊息失敗'; + + @override + String get chatActionButtonTooltipExportSummary => '匯出到 PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => '相片'; + + @override + String get chatPickerCamera => '相機'; + + @override + String get chatPickerFiles => '檔案'; + + @override + String get chatPickerPhotosFiles => '照片和文件'; + + @override + String get chatRecommendationYIAG => '希望幫到你! 呢個解釋對你有冇用?'; + + @override + String get chatRecommendationButtonDonate => '係, 一切都好!'; + + @override + String get failedToRetrieveChatSummary => '攞唔到聊天摘要'; + + @override + String get chatSummaryCopiedToClipboard => '聊天摘要已複製到剪貼簿'; + + @override + String get tryDoctorinaInTheMobileApp => '喺手機應用程式試下Doctorina!'; + + @override + String get getAppStoreLogoLabel => '下載'; + + @override + String get getGooglePlayLogoLabel => 'GET IT ON'; + + @override + String get getAppStoreLogoTooltip => '在 App Store 下載'; + + @override + String get getGooglePlayLogoTooltip => '在 Google Play 取得'; + + @override + String get reportMessageDialogTitle => '報告消息'; + + @override + String get reportMessageDialogSubtitle => '你為什麼要舉報這條消息?'; + + @override + String get reportMessageDialogTextFieldHint => '可選:描述此消息的問題...'; + + @override + String get reportMessageDialogWhyImportant => '這將幫助我們改善我們的 AI 回應'; + + @override + String get reportMessageDialogCancelButton => '取消'; + + @override + String get reportMessageDialogReportButton => '舉報'; + + @override + String get reportMessageSnackbarSuccess => '謝謝你的反饋!報告已提交'; + + @override + String get reportMessageSnackbarFailed => '提交報告失敗'; + + @override + String get copyMessageSnackbarSuccess => '已複製到剪貼簿'; + + @override + String get copyMessageSnackbarFailed => '複製訊息失敗'; + + @override + String get chatContextMenuReportMessage => '報告消息'; + + @override + String get chatDropZoneTitle => '上傳到Doctorina聊天'; + + @override + String get chatDropZoneSubtitle => '將文件拖放到這裡以添加到聊天'; + + @override + String get chatDropZoneText => '您可以在一條消息中添加最多15個文件'; + + @override + String get notificationBannerText => '如果有關於您的健康的重要信息出現,您希望我通知您嗎?'; + + @override + String get notificationBannerButtonEnable => '是的,通知我'; + + @override + String get notificationBannerButtonDisable => '稍後再說'; + + @override + String get notificationBannerButtonClose => '關閉'; + + @override + String get notificationAreBlockedSystem => + '通知在系統層級被阻止。在啟用Doctorina的通知之前,請在系統設置中啟用它們。'; + + @override + String get notificationAreBlockedBrowser => + '通知在系統層級被阻止。在啟用Doctorina的通知之前,請在瀏覽器設置中啟用它們。'; + + @override + String get notificationDialogTitle => '保持對您的諮詢的最新消息'; + + @override + String get notificationDialogDescription => + 'Doctorina 可以在有關您的健康的新見解或更新可用時通知您。'; + + @override + String get notificationDialogEnableButton => '啟用通知'; + + @override + String get notificationDialogLaterButton => '稍後再說'; + + @override + String get termsAndConditionBannerText => + '繼續即表示您同意個人資料處理、使用 cookies、同意 條款及細則,並確認

私隱政策

。此外,您亦確認您的諮詢是與 AI 而非持牌醫療專業人士進行'; + + @override + String get termsAndConditionBannerDismissTooltip => '關閉'; + + @override + String get anonUserNewChatCreationWarningTitle => '先儲存此對話?'; + + @override + String get anonUserNewChatCreationWarningText => '免費註冊以儲存此諮詢,然後再開始新的諮詢'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => '不儲存即開始'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => '註冊'; + + @override + String get inputBlockerContinueMessage => '要繼續對話,請選擇上面的選項'; + + @override + String get chatServerDialogCloseBtnTooltip => '關閉'; + + @override + String get chatAttachmentRemoveTooltip => '移除附件'; + + @override + String get chatAttachmentErrorPickFilesDropZone => '無法從拖放區選擇文件'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => '請輸入消息或附加文件'; + + @override + String get chatAttachmentErrorWaitForUploads => '請等待上傳完成'; + + @override + String get chatAttachmentErrorMessageProcessing => '消息正在處理中'; + + @override + String get chatAttachmentErrorMessageTooLong => '消息太長'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => '消息目前正在處理中。'; + + @override + String get chatAttachmentErrorConnectionClosed => '連接已永久關閉'; + + @override + String get chatAttachmentErrorNoConnection => '無法連接到伺服器'; + + @override + String get chatAttachmentErrorPickFiles => '無法選擇文件'; + + @override + String get chatAttachmentErrorPickImages => '無法選擇圖片'; + + @override + String get chatAttachmentErrorCapturePhoto => '無法從相機捕捉照片'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return '您一次最多可以附加 $count 個文件。'; + } + + @override + String get chatInputTooltipClearRecognizedText => '清除已識別的文本'; + + @override + String get chatInputTooltipMessageTooLong => '訊息太長了。'; + + @override + String get chatInputTooltipWaitForUploads => '請等待上傳完成。'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return '該 $kind \"$name\" 已經附加,未再次添加。'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'The $kind \"$name\" 是 $exist 的重複項,未被添加。'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'The $kind \"$name\" 未被添加,因為已超過附件的最大數量。'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return '文件 \"$name\" 是空的。'; + } + + @override + String get chatAttachmentErrorFileEmpty => '文件是空的。'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return '文件 \"$name\" 超過了允許的最大大小。'; + } + + @override + String get chatAttachmentErrorFileSize => '文件超出允許的最大大小。'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return '處理文件 \"$name\" 時發生錯誤。'; + } + + @override + String get chatAttachmentErrorFileProcessing => '處理文件時發生錯誤。'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return '檔案 \"$name\" 未被添加,因為已超過附件的最大數量。'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => '未添加文件,因為附件的最大數量已超過。'; + + @override + String get chatAttachmentErrorFileLimitSingle => '未添加文件,因為附件的最大數量已超過。'; + + @override + String get chatAttachmentErrorFileMissingName => '嘗試添加了一個沒有名稱的文件。'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return '嘗試添加一個不支持的擴展名的文件: \"$name\"。'; + } + + @override + String get chatAttachmentErrorFileExtension => '嘗試添加不支持的擴展名的文件。'; + + @override + String get chatAttachmentErrorFileNull => '無法添加文件。'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return '檔案 \"$name\" 無效,無法添加。'; + } + + @override + String get chatAttachmentErrorFileInvalid => '文件無效,無法添加。'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return '項目 \"$name\" 不是有效的文件'; + } + + @override + String get chatAttachmentErrorItemNotFile => '項目不是有效的文件。'; + + @override + String get chatAttachmentErrorItemProcessingSingle => '處理項目時發生錯誤。'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => '處理項目時發生錯誤。'; + + @override + String get chatAttachmentErrorNoFiles => '沒有添加任何文件。'; + + @override + String get chatAttachmentErrorFileDuplicates => '有些文件因與現有文件重複而被跳過。'; + + @override + String get chatAttachmentErrorUnknown => '發生未知錯誤。'; + + @override + String get chatAttachmentErrorSnackbarHeader => '在附加文件時發生以下錯誤:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return '分享文件失敗: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => '關閉'; + + @override + String get chatAttachmentPreviewTooltipShare => '分享'; + + @override + String get chatAttachmentPreviewLoading => '正在加載文件...'; + + @override + String get chatAttachmentPreviewErrorLoad => '無法加載文件'; + + @override + String get chatAttachmentPreviewErrorUnknown => '發生未知錯誤'; + + @override + String get chatAttachmentPreviewButtonRetry => '重試'; + + @override + String get chatAttachmentPreviewUnsupportedType => '不支持的文件類型'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return '無法預覽 $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => '分享文件'; + + @override + String get chatAttachmentPreviewErrorImage => '無法顯示圖片'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => '重置縮放'; + + @override + String get chatAttachmentPreviewErrorPdf => '無法加載PDF'; + + @override + String get chatAttachmentPreviewErrorDecodeText => '無法解碼文本內容。'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return '還有 $count 個錯誤。'; + } + + @override + String get chatAttachmentPreviewFileMalformed => '文件格式錯誤'; + + @override + String get chatConsentRequiredTitle => '需要同意'; + + @override + String get chatConsentRequiredText => + '繼續即表示您同意我們的 條款隱私政策使用餅乾,並確認此諮詢是由 AI 提供,而非持牌醫療專業人員。'; + + @override + String get chatConsentRequiredCloseTooltip => '關閉'; + + @override + String get chatHistoryDelete => '刪除'; + + @override + String get chatDelete => '刪除聊天'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return '聊天 “$title” 已成功刪除。'; + } + + @override + String get chatDeleteConfirmationTitle => '刪除聊天?'; + + @override + String get chatDeleteConfirmationSubtitle => + '您在此聊天中的症狀、診斷摘要和任何建議將被刪除。\n此操作無法撤銷。'; + + @override + String get chatAttachmentPreviewZoomInTooltip => '放大'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => '縮小'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => '重設縮放'; + + @override + String get chatAttachmentPreviewShareTooltip => '分享'; + + @override + String get dateToday => '今天'; + + @override + String get dateYesterday => '昨天'; + + @override + String get chatAttachmentPreviewDocumentNotice => '僅顯示第一頁。使用「分享」下載完整檔案。'; } diff --git a/example/lib/src/generated/chat/chat_localization_zu.dart b/example/lib/src/generated/chat/chat_localization_zu.dart new file mode 100644 index 0000000..67118ea --- /dev/null +++ b/example/lib/src/generated/chat/chat_localization_zu.dart @@ -0,0 +1,644 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'chat_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Zulu (`zu`). +class ChatLocalizationZu extends ChatLocalization { + ChatLocalizationZu([String locale = 'zu']) : super(locale); + + @override + String get drawerTooltipNotifications => 'Izaziso'; + + @override + String get drawerTooltipHelp => 'Usizo'; + + @override + String get drawerTooltipClose => 'Vala'; + + @override + String get drawerSectionTitleAccount => 'I-akhawunti'; + + @override + String get drawerSectionProfile => 'Iphrofayili'; + + @override + String get drawerSectionAccountSettings => 'Izilungiselelo Ze-akhawunti'; + + @override + String get drawerSectionDonateToSupport => 'Phakela ukuze usekela'; + + @override + String get drawerSectionSubscription => 'Ukubhalisela'; + + @override + String get drawerSectionTitleChats => 'Ingxoxo'; + + @override + String get drawerSectionChatHistory => 'Umlando lwezingxoxo'; + + @override + String get drawerSectionAttachedDocuments => 'Izincwadi ezihlanganisiwe'; + + @override + String get drawerSectionTitleHowToUse => 'Indlela yokusebenzisa'; + + @override + String get drawerSectionVideoTutorials => 'Ividiyo Zokufundisa'; + + @override + String get drawerSectionTitleLegal => 'Umlawuli'; + + @override + String get drawerSectionContactUs => 'Xhumana Nathi'; + + @override + String get drawerSectionBugReport => 'Umbiko Wokwephula'; + + @override + String get drawerSectionTermsAndConditions => 'Imigomo Nezimo'; + + @override + String get drawerSectionPrivacyPolicy => 'Umthetho Wokuphepha Kwedatha'; + + @override + String get drawerSectionTitleFeedback => 'Impendulo'; + + @override + String get drawerSectionRateApp => 'Bhala uhlelo'; + + @override + String get drawerSectionShareWithFriends => 'Yabelana nabangani'; + + @override + String get drawerButtonLogOut => 'Phuma'; + + @override + String get drawerBannerHelpOthersReceiveMedicalCare => + 'Siza abanye ukuthola ukunakekelwa kwezokwelapha'; + + @override + String get drawerPlaceholderUser => 'Umsebenzisi'; + + @override + String get drawerSubscriptionLabelPremiumFeaturesWithDoctorina => + 'Izici eziphakeme\nnoDoctorina'; + + @override + String get drawerSubscriptionButtonGetPremiumFeatures => 'Thola'; + + @override + String get drawerLabelJoinUs => 'Joyina nathi'; + + @override + String get drawerTooltipVersion => 'Inguqulo yesicelo:'; + + @override + String get drawerSectionRecentChats => 'Izinkulumo Zakamuva'; + + @override + String get drawerPlaceholderProfile => 'Iphrofayili'; + + @override + String get drawerPlaceholderRecentChat => 'Ingxoxo yakamuva'; + + @override + String get drawerSectionDownloadApps => 'Landa Izinhlelo'; + + @override + String get chatInputHintEnterMessage => 'Faka umyalezo'; + + @override + String get chatInputTooltipAttachFile => 'Faka ifayela'; + + @override + String get chatInputTooltipDictateMessage => 'Phawula'; + + @override + String get chatInputTooltipDictateFinishMessage => 'Qeda & Bhala'; + + @override + String get chatInputTooltipSendMessage => 'Thumela umlayezo'; + + @override + String get chatListSnackBarErrorFailedToFetchMessages => + 'Ukuphuma kwemiyalezo kwehlulekile'; + + @override + String get chatListLabelErrorFailedToFetchMessagesPleaseTryAgain => + 'Kwehluleka ukuthola imiyalezo. Sicela uzame futhi.'; + + @override + String get chatListTooltipFetchMessages => 'Thola imiyalezo'; + + @override + String get chatListLabelNoMessagesAvailable => + 'Ayikho imiyalezo etholakalayo. Sicela uthumele umyalezo ukuze uqale ingxoxo.'; + + @override + String get chatListHasConnection => 'Uxhumeke'; + + @override + String get chatListNoConnection => 'Ayikho uxhumano'; + + @override + String get chatActionButtonTooltipSearch => 'Sesha'; + + @override + String get chatActionButtonTooltipFavorites => 'Izintandokazi'; + + @override + String get chatActionButtonTooltipDownload => 'Landa'; + + @override + String get chatActionButtonTooltipPrintPdf => 'Printa i-PDF'; + + @override + String get chatActionButtonTooltipShareWithFriends => 'Yabelana nabangani'; + + @override + String get chatActionButtonTooltipNewChat => 'Ingxoxo entsha'; + + @override + String get chatActionButtonNewChat => 'Ingxoxo'; + + @override + String get chatActionButtonTooltipChatList => 'Khetha Ingxoxo'; + + @override + String get chatActionButtonTooltipShowDrawer => 'Bonisa i-drawer'; + + @override + String get chatLabelNoChatAvailableRefresh => + 'Ayikho imiyalezo etholakalayo. Sicela uvuselele noma udale imiyalezo emisha.'; + + @override + String get chatButtonRefreshChats => 'Vuselela izingxoxo'; + + @override + String get chatButtonCreateNewChat => 'Dala ingxoxo entsha'; + + @override + String get chatContextMenuCopyMessage => 'Copy text'; + + @override + String get chatStatusProcessingMessages => 'Bhala'; + + @override + String get chatNoConnectionLabel => + 'Ubuyekeze...\nSicela uhlole uxhumano lwakho lwe-inthanethi'; + + @override + String get chatErrorMessageAlreadyProcessed => + 'Umyalezo usuphakathi kokucubungula.'; + + @override + String get chatErrorMessageTooLong => 'Umyalezo lungile kakhulu.'; + + @override + String get chatRemoveAttachmentTooltip => 'Susa isixhumanisi'; + + @override + String get chatStatusFailedMessage => 'Umyalezo awuphumelelanga'; + + @override + String get chatActionButtonTooltipExportSummary => 'Thumela ku-PDF'; + + @override + String get chatActionExportToPdfTitle => 'PDF'; + + @override + String get chatPickerPhotos => 'Izithombe'; + + @override + String get chatPickerCamera => 'Ikhamera'; + + @override + String get chatPickerFiles => 'Amafayela'; + + @override + String get chatPickerPhotosFiles => 'Izithombe nezifayela'; + + @override + String get chatRecommendationYIAG => + 'Ngiyethemba lokhu kusizile! Ingabe le mpendulo ikusize?'; + + @override + String get chatRecommendationButtonDonate => 'Yebo, konke kulungile!'; + + @override + String get failedToRetrieveChatSummary => + 'Kwehluleka ukuthola isifinyezo sokuxhumana'; + + @override + String get chatSummaryCopiedToClipboard => + 'Isifinyezo socingo sikhophiwe kwi-clipboard'; + + @override + String get tryDoctorinaInTheMobileApp => + 'Zama uDoctorina kuhlelo lokusebenza lweselula!'; + + @override + String get getAppStoreLogoLabel => 'Landa ku-'; + + @override + String get getGooglePlayLogoLabel => 'THOLA'; + + @override + String get getAppStoreLogoTooltip => 'Landa ku-App Store'; + + @override + String get getGooglePlayLogoTooltip => 'Thola ku-Google Play'; + + @override + String get reportMessageDialogTitle => 'Bika Umyalezo'; + + @override + String get reportMessageDialogSubtitle => 'Kungani ubika le mlayezo?'; + + @override + String get reportMessageDialogTextFieldHint => + 'Okukhethwa: Chaza ukuthi kukuphi okungalungile kulolu myalezo...'; + + @override + String get reportMessageDialogWhyImportant => + 'Lokhu kuzosisiza sithuthukise izimpendulo ze-AI zethu.'; + + @override + String get reportMessageDialogCancelButton => 'Khansela'; + + @override + String get reportMessageDialogReportButton => 'Bika'; + + @override + String get reportMessageSnackbarSuccess => + 'Ngiyabonga ngempela! Umbiko uthunyelwe.'; + + @override + String get reportMessageSnackbarFailed => + 'Ukuphumelela kokuthumela umbiko akuphumelelanga'; + + @override + String get copyMessageSnackbarSuccess => 'Kopishwe ku-clipboard'; + + @override + String get copyMessageSnackbarFailed => + 'Ukwenza ikhophi umyalezo akuphumelelanga'; + + @override + String get chatContextMenuReportMessage => 'Bika Umyalezo'; + + @override + String get chatDropZoneTitle => 'Layisha kuDoctorina chat'; + + @override + String get chatDropZoneSubtitle => + 'Donsa futhi udayise amafayela lapha ukuze ungeze engxoxweni'; + + @override + String get chatDropZoneText => + 'Ungakwazi ukwengeza amafayela angama-15 kumyalezo owodwa'; + + @override + String get notificationBannerText => + 'Ungathanda ngikubikele uma kwenzeka okuthile okubalulekile mayelana nempilo yakho?'; + + @override + String get notificationBannerButtonEnable => 'Yebo, ngazise'; + + @override + String get notificationBannerButtonDisable => 'Maybe later'; + + @override + String get notificationBannerButtonClose => 'Vala'; + + @override + String get notificationAreBlockedSystem => + 'Izaziso zivali ezingeni lesistimu. Zivule ezilungiselelweni zesistimu ngaphambi kokuthi uvule izaziso zeDoctorina.'; + + @override + String get notificationAreBlockedBrowser => + 'Izaziso zivaliwe ezingeni lesistimu. Zivule kwi-settings zebhrawuza ngaphambi kokuthi uvule izaziso zeDoctorina.'; + + @override + String get notificationDialogTitle => + 'Hlala unolwazi mayelana nokubonisana kwakho'; + + @override + String get notificationDialogDescription => + 'IDoctorina ingakazisa uma kukhona okuthile okusha noma izibuyekezo mayelana nempilo yakho.'; + + @override + String get notificationDialogEnableButton => 'Vula izaziso'; + + @override + String get notificationDialogLaterButton => 'Maybe later'; + + @override + String get termsAndConditionBannerText => + 'Uma uqhubeka, uvuma ukucutshungulwa kwedatha yomuntu siqu, ukusetshenziswa kwe-cookies, uvuma imigomo nemibandela futhi uvuma

inqubomgomo yobumfihlo

. Futhi, uyavuma ukuthi ukubonisana kwakho kwenziwa nge-AI hhayi udokotela onelayisensi yezokwelapha'; + + @override + String get termsAndConditionBannerDismissTooltip => 'Susa'; + + @override + String get anonUserNewChatCreationWarningTitle => + 'Londoloza lengxoxo kuqala?'; + + @override + String get anonUserNewChatCreationWarningText => + 'Bhalisa mahhala ukuze ulondoloze lokhu kubonisana ngaphambi kokuqala okusha'; + + @override + String get anonUserNewChatCreationWarningContinueBtn => + 'Qala ngaphandle kokugcina'; + + @override + String get anonUserNewChatCreationWarningContinueLoginOrSignUpBtn => + 'Bhalisa'; + + @override + String get inputBlockerContinueMessage => + 'Ukuqhubeka nengxoxo, khetha inketho engenhla'; + + @override + String get chatServerDialogCloseBtnTooltip => 'Vala'; + + @override + String get chatAttachmentRemoveTooltip => 'Susa isixhumanisi'; + + @override + String get chatAttachmentErrorPickFilesDropZone => + 'Kwephula ukukhetha amafayela endaweni yokudonsha'; + + @override + String get chatAttachmentErrorEnterMessageOrAttach => + 'Sicela ufake umyalezo noma uhlanganise ifayela'; + + @override + String get chatAttachmentErrorWaitForUploads => + 'Sicela ulinde ukuthi ukulayisha kuqedwe'; + + @override + String get chatAttachmentErrorMessageProcessing => 'Umyalezo uyacubungula'; + + @override + String get chatAttachmentErrorMessageTooLong => 'Umyalezo lungile kakhulu'; + + @override + String get chatAttachmentErrorMessageAlreadyProcessing => + 'Umyalezo usuke uqhutshwa njengamanje.'; + + @override + String get chatAttachmentErrorConnectionClosed => + 'Uxhumano lwaluphume ngokuphelele'; + + @override + String get chatAttachmentErrorNoConnection => 'Ayikho uxhumano ne-server'; + + @override + String get chatAttachmentErrorPickFiles => 'Ukukhetha amafayela kwehlulekile'; + + @override + String get chatAttachmentErrorPickImages => 'Ukukhetha izithombe kuhlulekile'; + + @override + String get chatAttachmentErrorCapturePhoto => + 'Ukwazi ukuthwebula isithombe kukhamera akuphumelelanga'; + + @override + String chatAttachmentErrorMaxFiles(int count) { + return 'Ungakwazi ukufaka amafayela angama-$count ngasikhathi sinye.'; + } + + @override + String get chatInputTooltipClearRecognizedText => 'Susa umbhalo obonakele'; + + @override + String get chatInputTooltipMessageTooLong => 'Umyalezo lungile kakhulu.'; + + @override + String get chatInputTooltipWaitForUploads => + 'Sicela ulinde ukuthi ukulayisha kuqedwe.'; + + @override + String chatAttachmentErrorMergeAlreadyAttached(String kind, String name) { + return 'I-$kind \"$name\" isiveleliwe futhi ayizange ifakwe futhi.'; + } + + @override + String chatAttachmentErrorMergeDuplicate( + String kind, String name, String exist) { + return 'I-$kind \"$name\" iyafana ne-$exist futhi ayizange ifakwe.'; + } + + @override + String chatAttachmentErrorMergeLimit(String kind, String name) { + return 'I-$kind \"$name\" ayizange engezelelwe ngoba inani eliphezulu lezithasiselo lidlulelwe.'; + } + + @override + String chatAttachmentErrorFileEmptyWithName(String name) { + return 'Ifayela elithi \"$name\" alinalutho.'; + } + + @override + String get chatAttachmentErrorFileEmpty => 'Ifayela liphumelele.'; + + @override + String chatAttachmentErrorFileSizeWithName(String name) { + return 'Ifayela elithi \"$name\" lidlula usayizi omkhulu ovunyelwe.'; + } + + @override + String get chatAttachmentErrorFileSize => + 'Ifayela lidlula imikhawulo evumelekile.'; + + @override + String chatAttachmentErrorFileProcessingWithName(String name) { + return 'Kwenzeka iphutha ngesikhathi sokucubungula ifayela \"$name\".'; + } + + @override + String get chatAttachmentErrorFileProcessing => + 'Kwenzeka iphutha ngesikhathi sokucubungula ifayela.'; + + @override + String chatAttachmentErrorFileLimitWithName(String name) { + return 'Ifayela elithi \"$name\" alizange lengezelelwe ngoba inani eliphezulu leziqeshana lidlulelwe.'; + } + + @override + String get chatAttachmentErrorFileLimitMultiple => + 'Ifayela(ama) alizange engeze, ngoba inani eliphezulu leziqeshana lidlulelwe.'; + + @override + String get chatAttachmentErrorFileLimitSingle => + 'Ifayela alizange lingeniswe ngoba inani eliphezulu leziqeshana lidlulelwe.'; + + @override + String get chatAttachmentErrorFileMissingName => + 'Kwaziswa ifayela elingenanoma iyiphi igama.'; + + @override + String chatAttachmentErrorFileExtensionWithName(String name) { + return 'Ifayela eline-extensions engasekeliwe luzame ukufakwa: \"$name\".'; + } + + @override + String get chatAttachmentErrorFileExtension => + 'Kwakuzanywa ifayela eline-extension engasekeliwe.'; + + @override + String get chatAttachmentErrorFileNull => 'Akukho ndlela yokwengeza ifayela.'; + + @override + String chatAttachmentErrorFileInvalidWithName(String name) { + return 'Ifayela elithi \"$name\" alilungile futhi alikwazi ukufakwa.'; + } + + @override + String get chatAttachmentErrorFileInvalid => + 'Ifayela alisebenzi futhi alikwazi ukufakwa.'; + + @override + String chatAttachmentErrorItemNotFileWithName(String name) { + return 'Into ethi \"$name\" ayifayili.'; + } + + @override + String get chatAttachmentErrorItemNotFile => 'Into ayifayili efanele.'; + + @override + String get chatAttachmentErrorItemProcessingSingle => + 'Kwenzekile iphutha ngesikhathi sokucubungula into.'; + + @override + String get chatAttachmentErrorItemProcessingMultiple => + 'Kwenzekile iphutha ngesikhathi sokucubungula into(zo).'; + + @override + String get chatAttachmentErrorNoFiles => 'Ayikho ifayela elengeziwe.'; + + @override + String get chatAttachmentErrorFileDuplicates => + 'Ezinye amafayela aphuthelwe ngenxa yokuphindaphindwa namafayela akhona.'; + + @override + String get chatAttachmentErrorUnknown => 'Kwenzeka iphutha elingaziwa.'; + + @override + String get chatAttachmentErrorSnackbarHeader => + 'Izi zinkinga ezilandelayo zenzeka ngesikhathi sokuhlanganisa amafayela:'; + + @override + String chatAttachmentPreviewErrorShare(String error) { + return 'Ukuphakela ifayela akuphumelelanga: $error'; + } + + @override + String get chatAttachmentPreviewTooltipClose => 'Vala'; + + @override + String get chatAttachmentPreviewTooltipShare => 'Yabelana'; + + @override + String get chatAttachmentPreviewLoading => 'Ukulayisha ifayela...'; + + @override + String get chatAttachmentPreviewErrorLoad => + 'Ukulayisha ifayela kwehlulekile'; + + @override + String get chatAttachmentPreviewErrorUnknown => 'Kwenzeka iphutha elingaziwa'; + + @override + String get chatAttachmentPreviewButtonRetry => 'Phinda'; + + @override + String get chatAttachmentPreviewUnsupportedType => + 'Uhlobo lwefayela olungasekeliwe'; + + @override + String chatAttachmentPreviewCannotPreview(String contentType) { + return 'Ayikwazi ukubonisa $contentType'; + } + + @override + String get chatAttachmentPreviewButtonShareFile => 'Yabelana Ifayela'; + + @override + String get chatAttachmentPreviewErrorImage => + 'Ukukhombisa isithombe kwehlulekile'; + + @override + String get chatAttachmentPreviewTooltipResetZoom => 'Phinda ububanzi'; + + @override + String get chatAttachmentPreviewErrorPdf => 'Ukulayisha i-PDF kwehlulekile'; + + @override + String get chatAttachmentPreviewErrorDecodeText => + 'Ukwehlukanisa okuqukethwe kombhalo akuphumelelanga.'; + + @override + String chatAttachmentErrorSnackbarMore(int count) { + return 'Futhi $count emaphutha.'; + } + + @override + String get chatAttachmentPreviewFileMalformed => 'Ifayela alilungile'; + + @override + String get chatConsentRequiredTitle => 'Imvume Iyadingeka'; + + @override + String get chatConsentRequiredText => + 'Ngok继续, uvuma Imigomo, Umthetho Wokuphepha, kanye ukusetshenziswa kwamakhukhi, futhi uqinisekisa ukuthi le ngxoxo inikezwa yi-AI, hhayi uchwepheshe wezokwelapha onelayisensi.'; + + @override + String get chatConsentRequiredCloseTooltip => 'Vala'; + + @override + String get chatHistoryDelete => 'Susa'; + + @override + String get chatDelete => 'Susa ingxoxo'; + + @override + String chatHistoryDeletedSnackbarSuccess(String title) { + return 'I-chat ethi-„$title” isususiwe ngempumelelo.'; + } + + @override + String get chatDeleteConfirmationTitle => 'Susa ingxoxo?'; + + @override + String get chatDeleteConfirmationSubtitle => + 'Izimpawu zakho, isifinyezo sokuxilonga, kanye nanoma yiziphi iziphakamiso kule ngxoxo zizokhishwa.\nLe nqubo ayinakubuyiselwa.'; + + @override + String get chatAttachmentPreviewZoomInTooltip => 'Khulisa'; + + @override + String get chatAttachmentPreviewZoomOutTooltip => 'Nciphisa'; + + @override + String get chatAttachmentPreviewZoomResetTooltip => 'Phinda i-zoom'; + + @override + String get chatAttachmentPreviewShareTooltip => 'Yabelana'; + + @override + String get dateToday => 'Namuhla'; + + @override + String get dateYesterday => 'Izolo'; + + @override + String get chatAttachmentPreviewDocumentNotice => + 'Ikhasi lokuqala kuphela. Sebenzisa i-Share ukuze ulande ifayela eliphelele.'; +} diff --git a/example/lib/src/generated/errors/errors_localization.dart b/example/lib/src/generated/errors/errors_localization.dart index d8da98d..65a45c7 100644 --- a/example/lib/src/generated/errors/errors_localization.dart +++ b/example/lib/src/generated/errors/errors_localization.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! import 'dart:async'; import 'package:flutter/foundation.dart'; @@ -6,18 +6,60 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; +import 'errors_localization_af.dart'; +import 'errors_localization_am.dart'; import 'errors_localization_ar.dart'; +import 'errors_localization_az.dart'; +import 'errors_localization_be.dart'; +import 'errors_localization_bg.dart'; import 'errors_localization_bn.dart'; +import 'errors_localization_ca.dart'; +import 'errors_localization_cs.dart'; +import 'errors_localization_da.dart'; import 'errors_localization_de.dart'; +import 'errors_localization_el.dart'; import 'errors_localization_en.dart'; import 'errors_localization_es.dart'; +import 'errors_localization_fa.dart'; import 'errors_localization_fr.dart'; +import 'errors_localization_gu.dart'; +import 'errors_localization_he.dart'; import 'errors_localization_hi.dart'; +import 'errors_localization_hu.dart'; +import 'errors_localization_id.dart'; import 'errors_localization_it.dart'; +import 'errors_localization_ja.dart'; +import 'errors_localization_kk.dart'; +import 'errors_localization_km.dart'; +import 'errors_localization_kn.dart'; import 'errors_localization_ko.dart'; +import 'errors_localization_lo.dart'; +import 'errors_localization_ml.dart'; +import 'errors_localization_mr.dart'; +import 'errors_localization_ms.dart'; +import 'errors_localization_my.dart'; +import 'errors_localization_ne.dart'; +import 'errors_localization_nl.dart'; +import 'errors_localization_pa.dart'; +import 'errors_localization_pl.dart'; +import 'errors_localization_ps.dart'; import 'errors_localization_pt.dart'; +import 'errors_localization_ro.dart'; import 'errors_localization_ru.dart'; +import 'errors_localization_si.dart'; +import 'errors_localization_sk.dart'; +import 'errors_localization_sw.dart'; +import 'errors_localization_ta.dart'; +import 'errors_localization_te.dart'; +import 'errors_localization_th.dart'; +import 'errors_localization_tl.dart'; +import 'errors_localization_tr.dart'; +import 'errors_localization_uk.dart'; +import 'errors_localization_ur.dart'; +import 'errors_localization_uz.dart'; +import 'errors_localization_vi.dart'; import 'errors_localization_zh.dart'; +import 'errors_localization_zu.dart'; // ignore_for_file: type=lint @@ -105,20 +147,65 @@ abstract class ErrorsLocalization { /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ + Locale('af'), + Locale('am'), Locale('ar'), + Locale('ar', 'EG'), + Locale('az'), + Locale('be'), + Locale('bg'), Locale('bn'), + Locale('ca'), + Locale('cs'), + Locale('da'), Locale('de'), + Locale('el'), Locale('en'), Locale('es'), + Locale('fa'), Locale('fr'), + Locale('gu'), + Locale('he'), Locale('hi'), + Locale('hu'), + Locale('id'), Locale('it'), + Locale('ja'), + Locale('kk'), + Locale('km'), + Locale('kn'), Locale('ko'), + Locale('lo'), + Locale('ml'), + Locale('mr'), + Locale('ms'), + Locale('my'), + Locale('ne'), + Locale('nl'), + Locale('pa'), + Locale('pa', 'PK'), + Locale('pl'), + Locale('ps'), Locale('pt'), Locale('pt', 'BR'), + Locale('ro'), Locale('ru'), + Locale('si'), + Locale('sk'), + Locale('sw'), + Locale('ta'), + Locale('te'), + Locale('th'), + Locale('tl'), + Locale('tr'), + Locale('uk'), + Locale('ur'), + Locale('uz'), + Locale('vi'), Locale('zh'), - Locale('zh', 'CN') + Locale('zh', 'CN'), + Locale('zh', 'HK'), + Locale('zu') ]; /// Ошибка @@ -133,12 +220,6 @@ abstract class ErrorsLocalization { /// **'An unexpected error occurred'** String get unexpectedError; - /// Ошибка аутентификации - /// - /// In en, this message translates to: - /// **'{errorCode, select, passwordLengthError{Password should be at least 6 characters} invalidEmailOrPhoneNumberError{Please provide valid email or a phone number in the international format. Examples: me@example.com and +1234567890987} invalidEmailError{Email is not valid} operationNotAllowedError{Operation is not allowed} weakPasswordError{Password is too weak} userTokenExpiredError{User token expired} invalidPhoneNumberError{Please provide phone numbers in the international format, starting with + and the country code.} invalidActionCodeError{Action code is not valid} networkRequestFailedError{Network request failed} tooManyRequestsError{Too many requests} acceptTermsAndConditionsError{Please accept the terms and conditions and acknowledge the privacy policy.} acceptAIConsentError{Please acknowledge that consultations are with an AI and not a licensed medical professional.} emailOrPhoneError{Email or phone error} passwordError{Password error} unknownError{Unknown error} googleSSOError{Google SSO error} emailAlreadyInUse{The email address is already in use by another account.} invalidCredentialError{Invalid credentials} invalidAppCredentialError{Invalid app credentials} invalidVerificationCodeError{Invalid verification code} other{Unknown error}}'** - String authErrorMessages(String errorCode); - /// Сообщение об успешной отправке баг репорта /// /// In en, this message translates to: @@ -158,18 +239,60 @@ class _ErrorsLocalizationDelegate @override bool isSupported(Locale locale) => [ + 'af', + 'am', 'ar', + 'az', + 'be', + 'bg', 'bn', + 'ca', + 'cs', + 'da', 'de', + 'el', 'en', 'es', + 'fa', 'fr', + 'gu', + 'he', 'hi', + 'hu', + 'id', 'it', + 'ja', + 'kk', + 'km', + 'kn', 'ko', + 'lo', + 'ml', + 'mr', + 'ms', + 'my', + 'ne', + 'nl', + 'pa', + 'pl', + 'ps', 'pt', + 'ro', 'ru', - 'zh' + 'si', + 'sk', + 'sw', + 'ta', + 'te', + 'th', + 'tl', + 'tr', + 'uk', + 'ur', + 'uz', + 'vi', + 'zh', + 'zu' ].contains(locale.languageCode); @override @@ -179,6 +302,22 @@ class _ErrorsLocalizationDelegate ErrorsLocalization lookupErrorsLocalization(Locale locale) { // Lookup logic when language+country codes are specified. switch (locale.languageCode) { + case 'ar': + { + switch (locale.countryCode) { + case 'EG': + return ErrorsLocalizationArEg(); + } + break; + } + case 'pa': + { + switch (locale.countryCode) { + case 'PK': + return ErrorsLocalizationPaPk(); + } + break; + } case 'pt': { switch (locale.countryCode) { @@ -192,6 +331,8 @@ ErrorsLocalization lookupErrorsLocalization(Locale locale) { switch (locale.countryCode) { case 'CN': return ErrorsLocalizationZhCn(); + case 'HK': + return ErrorsLocalizationZhHk(); } break; } @@ -199,30 +340,114 @@ ErrorsLocalization lookupErrorsLocalization(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { + case 'af': + return ErrorsLocalizationAf(); + case 'am': + return ErrorsLocalizationAm(); case 'ar': return ErrorsLocalizationAr(); + case 'az': + return ErrorsLocalizationAz(); + case 'be': + return ErrorsLocalizationBe(); + case 'bg': + return ErrorsLocalizationBg(); case 'bn': return ErrorsLocalizationBn(); + case 'ca': + return ErrorsLocalizationCa(); + case 'cs': + return ErrorsLocalizationCs(); + case 'da': + return ErrorsLocalizationDa(); case 'de': return ErrorsLocalizationDe(); + case 'el': + return ErrorsLocalizationEl(); case 'en': return ErrorsLocalizationEn(); case 'es': return ErrorsLocalizationEs(); + case 'fa': + return ErrorsLocalizationFa(); case 'fr': return ErrorsLocalizationFr(); + case 'gu': + return ErrorsLocalizationGu(); + case 'he': + return ErrorsLocalizationHe(); case 'hi': return ErrorsLocalizationHi(); + case 'hu': + return ErrorsLocalizationHu(); + case 'id': + return ErrorsLocalizationId(); case 'it': return ErrorsLocalizationIt(); + case 'ja': + return ErrorsLocalizationJa(); + case 'kk': + return ErrorsLocalizationKk(); + case 'km': + return ErrorsLocalizationKm(); + case 'kn': + return ErrorsLocalizationKn(); case 'ko': return ErrorsLocalizationKo(); + case 'lo': + return ErrorsLocalizationLo(); + case 'ml': + return ErrorsLocalizationMl(); + case 'mr': + return ErrorsLocalizationMr(); + case 'ms': + return ErrorsLocalizationMs(); + case 'my': + return ErrorsLocalizationMy(); + case 'ne': + return ErrorsLocalizationNe(); + case 'nl': + return ErrorsLocalizationNl(); + case 'pa': + return ErrorsLocalizationPa(); + case 'pl': + return ErrorsLocalizationPl(); + case 'ps': + return ErrorsLocalizationPs(); case 'pt': return ErrorsLocalizationPt(); + case 'ro': + return ErrorsLocalizationRo(); case 'ru': return ErrorsLocalizationRu(); + case 'si': + return ErrorsLocalizationSi(); + case 'sk': + return ErrorsLocalizationSk(); + case 'sw': + return ErrorsLocalizationSw(); + case 'ta': + return ErrorsLocalizationTa(); + case 'te': + return ErrorsLocalizationTe(); + case 'th': + return ErrorsLocalizationTh(); + case 'tl': + return ErrorsLocalizationTl(); + case 'tr': + return ErrorsLocalizationTr(); + case 'uk': + return ErrorsLocalizationUk(); + case 'ur': + return ErrorsLocalizationUr(); + case 'uz': + return ErrorsLocalizationUz(); + case 'vi': + return ErrorsLocalizationVi(); case 'zh': return ErrorsLocalizationZh(); + case 'zu': + return ErrorsLocalizationZu(); } throw FlutterError( diff --git a/example/lib/src/generated/errors/errors_localization_af.dart b/example/lib/src/generated/errors/errors_localization_af.dart new file mode 100644 index 0000000..69e4ea3 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_af.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Afrikaans (`af`). +class ErrorsLocalizationAf extends ErrorsLocalization { + ErrorsLocalizationAf([String locale = 'af']) : super(locale); + + @override + String get error => 'Daar het \'n fout voorgekom'; + + @override + String get unexpectedError => 'Daar het \'n onverwagte fout voorgekom'; + + @override + String get bugReportSentText => 'Bug report sent successfully.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_am.dart b/example/lib/src/generated/errors/errors_localization_am.dart new file mode 100644 index 0000000..f4165d7 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_am.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Amharic (`am`). +class ErrorsLocalizationAm extends ErrorsLocalization { + ErrorsLocalizationAm([String locale = 'am']) : super(locale); + + @override + String get error => 'ስህተት ተከስቷል'; + + @override + String get unexpectedError => 'አስቸኳይ ስህተት ተከስቷል'; + + @override + String get bugReportSentText => 'በተሳካ ሁኔታ የተላከ ባግ ሪፖርት ነው.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_ar.dart b/example/lib/src/generated/errors/errors_localization_ar.dart index d80cfb7..0e62c66 100644 --- a/example/lib/src/generated/errors/errors_localization_ar.dart +++ b/example/lib/src/generated/errors/errors_localization_ar.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -17,40 +17,18 @@ class ErrorsLocalizationAr extends ErrorsLocalization { String get unexpectedError => 'حدث خطأ غير متوقع'; @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': 'Password should be at least 6 characters', - 'invalidEmailOrPhoneNumberError': - 'Please provide valid email or a phone number in the international format. Examples: me@example.com and +1234567890987', - 'invalidEmailError': 'Email is not valid', - 'operationNotAllowedError': 'Operation is not allowed', - 'weakPasswordError': 'Password is too weak', - 'userTokenExpiredError': 'User token expired', - 'invalidPhoneNumberError': - 'Please provide phone numbers in the international format, starting with + and the country code.', - 'invalidActionCodeError': 'Action code is not valid', - 'networkRequestFailedError': 'Network request failed', - 'tooManyRequestsError': 'Too many requests', - 'acceptTermsAndConditionsError': - 'Please accept the terms and conditions and acknowledge the privacy policy.', - 'acceptAIConsentError': - 'Please acknowledge that consultations are with an AI and not a licensed medical professional.', - 'emailOrPhoneError': 'Email or phone error', - 'passwordError': 'Password error', - 'unknownError': 'Unknown error', - 'googleSSOError': 'Google SSO error', - 'emailAlreadyInUse': - 'The email address is already in use by another account.', - 'invalidCredentialError': 'Invalid credentials', - 'invalidAppCredentialError': 'Invalid app credentials', - 'invalidVerificationCodeError': 'Invalid verification code', - 'other': 'Unknown error', - }, - ); - return '$_temp0'; - } + String get bugReportSentText => 'تم إرسال تقرير الخطأ بنجاح.'; +} + +/// The translations for Arabic, as used in Egypt (`ar_EG`). +class ErrorsLocalizationArEg extends ErrorsLocalizationAr { + ErrorsLocalizationArEg() : super('ar_EG'); + + @override + String get error => 'حدث خطأ'; + + @override + String get unexpectedError => 'حدث خطأ غير متوقع'; @override String get bugReportSentText => 'تم إرسال تقرير الخطأ بنجاح.'; diff --git a/example/lib/src/generated/errors/errors_localization_az.dart b/example/lib/src/generated/errors/errors_localization_az.dart new file mode 100644 index 0000000..f31b222 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_az.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Azerbaijani (`az`). +class ErrorsLocalizationAz extends ErrorsLocalization { + ErrorsLocalizationAz([String locale = 'az']) : super(locale); + + @override + String get error => 'Xəta baş verdi'; + + @override + String get unexpectedError => 'Gözlənilməz bir xəta baş verdi'; + + @override + String get bugReportSentText => 'Baq reportu uğurla göndərildi.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_be.dart b/example/lib/src/generated/errors/errors_localization_be.dart new file mode 100644 index 0000000..c90baac --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_be.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Belarusian (`be`). +class ErrorsLocalizationBe extends ErrorsLocalization { + ErrorsLocalizationBe([String locale = 'be']) : super(locale); + + @override + String get error => 'Адбылася памылка'; + + @override + String get unexpectedError => 'Адбылася непрадбачаная памылка'; + + @override + String get bugReportSentText => 'Баг-рэпарт паспяхова адпраўлены.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_bg.dart b/example/lib/src/generated/errors/errors_localization_bg.dart new file mode 100644 index 0000000..4e2468d --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_bg.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Bulgarian (`bg`). +class ErrorsLocalizationBg extends ErrorsLocalization { + ErrorsLocalizationBg([String locale = 'bg']) : super(locale); + + @override + String get error => 'Възникна грешка'; + + @override + String get unexpectedError => 'Настъпи неочаквана грешка'; + + @override + String get bugReportSentText => 'Баг репортът е изпратен успешно.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_bn.dart b/example/lib/src/generated/errors/errors_localization_bn.dart index 0774b87..d0a7e5d 100644 --- a/example/lib/src/generated/errors/errors_localization_bn.dart +++ b/example/lib/src/generated/errors/errors_localization_bn.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -14,43 +14,7 @@ class ErrorsLocalizationBn extends ErrorsLocalization { String get error => 'একটি ত্রুটি ঘটেছে'; @override - String get unexpectedError => 'একটি অপ্রত্যাশিত ত্রুটি ঘটেছে৷'; - - @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': 'পাসওয়ার্ড কমপক্ষে ৬ অক্ষরের হতে হবে', - 'invalidEmailOrPhoneNumberError': - 'সঠিক ইমেইল বা আন্তর্জাতিক ফরম্যাটে ফোন নম্বর দিন। উদাহরণ: me@example.com এবং +1234567890987', - 'invalidEmailError': 'ইমেইল বৈধ নয়', - 'operationNotAllowedError': 'অপারেশন অনুমোদিত নয়', - 'weakPasswordError': 'পাসওয়ার্ড খুব দুর্বল', - 'userTokenExpiredError': 'ব্যবহারকারীর টোকেনের মেয়াদ শেষ হয়েছে', - 'invalidPhoneNumberError': - 'আন্তর্জাতিক ফরম্যাটে, + এবং দেশের কোড দিয়ে শুরু এমন ফোন নম্বর দিন।', - 'invalidActionCodeError': 'অ্যাকশন কোড বৈধ নয়', - 'networkRequestFailedError': 'নেটওয়ার্ক অনুরোধ ব্যর্থ হয়েছে', - 'tooManyRequestsError': 'অনুরোধ খুব বেশি', - 'acceptTermsAndConditionsError': - 'শর্তাবলীতে সম্মতি দিন এবং গোপনীয়তা নীতিমালা স্বীকার করুন।', - 'acceptAIConsentError': - 'অনুগ্রহ করে নিশ্চিত করুন যে পরামর্শটি একটি AI এর সাথে, কোনো লাইসেন্সধারী চিকিৎসক নন।', - 'emailOrPhoneError': 'ইমেইল বা ফোন ত্রুটি', - 'passwordError': 'পাসওয়ার্ড ত্রুটি', - 'unknownError': 'অজানা ত্রুটি', - 'googleSSOError': 'Google SSO ত্রুটি', - 'emailAlreadyInUse': - 'এই ইমেইল ঠিকানাটি ইতিমধ্যেই অন্য একটি অ্যাকাউন্টে ব্যবহৃত হচ্ছে।', - 'invalidCredentialError': 'অবৈধ ক্রেডেনশিয়াল', - 'invalidAppCredentialError': 'অ্যাপের ক্রেডেনশিয়াল অবৈধ', - 'invalidVerificationCodeError': 'যাচাইকরণ কোড অবৈধ', - 'other': 'অজানা ত্রুটি', - }, - ); - return '$_temp0\r\n'; - } + String get unexpectedError => 'একটি অপ্রত্যাশিত ত্রুটি ঘটেছে'; @override String get bugReportSentText => 'বাগ রিপোর্ট সফলভাবে পাঠানো হয়েছে।'; diff --git a/example/lib/src/generated/errors/errors_localization_ca.dart b/example/lib/src/generated/errors/errors_localization_ca.dart new file mode 100644 index 0000000..54321c7 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_ca.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Catalan Valencian (`ca`). +class ErrorsLocalizationCa extends ErrorsLocalization { + ErrorsLocalizationCa([String locale = 'ca']) : super(locale); + + @override + String get error => 'S\'ha produït un error'; + + @override + String get unexpectedError => 'S\'ha produït un error inesperat'; + + @override + String get bugReportSentText => 'Informe de bug enviat amb èxit.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_cs.dart b/example/lib/src/generated/errors/errors_localization_cs.dart new file mode 100644 index 0000000..3d2c7cc --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_cs.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Czech (`cs`). +class ErrorsLocalizationCs extends ErrorsLocalization { + ErrorsLocalizationCs([String locale = 'cs']) : super(locale); + + @override + String get error => 'Došlo k chybě'; + + @override + String get unexpectedError => 'Došlo k neočekávané chybě'; + + @override + String get bugReportSentText => 'Hlášení o chybě bylo úspěšně odesláno.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_da.dart b/example/lib/src/generated/errors/errors_localization_da.dart new file mode 100644 index 0000000..bf4c48e --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_da.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Danish (`da`). +class ErrorsLocalizationDa extends ErrorsLocalization { + ErrorsLocalizationDa([String locale = 'da']) : super(locale); + + @override + String get error => 'Der opstod en fejl'; + + @override + String get unexpectedError => 'Der opstod en uventet fejl'; + + @override + String get bugReportSentText => 'Fejlrapport sendt succesfuldt.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_de.dart b/example/lib/src/generated/errors/errors_localization_de.dart index e2e8962..6ffa184 100644 --- a/example/lib/src/generated/errors/errors_localization_de.dart +++ b/example/lib/src/generated/errors/errors_localization_de.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -16,43 +16,6 @@ class ErrorsLocalizationDe extends ErrorsLocalization { @override String get unexpectedError => 'Ein unerwarteter Fehler ist aufgetreten'; - @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': - 'Das Passwort muss mindestens 6 Zeichen lang sein', - 'invalidEmailOrPhoneNumberError': - 'Bitte geben Sie eine gültige E-Mail-Adresse oder eine Telefonnummer im internationalen Format an. Beispiele: me@example.com und +1234567890987.', - 'invalidEmailError': 'E-Mail-Adresse ist nicht gültig', - 'operationNotAllowedError': 'Operation ist nicht erlaubt', - 'weakPasswordError': 'Passwort ist zu schwach', - 'userTokenExpiredError': 'Benutzer-Token abgelaufen', - 'invalidPhoneNumberError': - 'Bitte geben Sie die Telefonnummern im internationalen Format an, beginnend mit „+“ und der Landesvorwahl.', - 'invalidActionCodeError': 'Aktion-Code ist nicht gültig', - 'networkRequestFailedError': 'Netzwerkanfrage fehlgeschlagen', - 'tooManyRequestsError': 'Zu viele Anfragen', - 'acceptTermsAndConditionsError': - 'Bitte akzeptieren Sie die Geschäftsbedingungen und bestätigen Sie die Datenschutzrichtlinie.', - 'acceptAIConsentError': - 'Bitte erkennen Sie an, dass die Beratungen mit einer KI und nicht mit einem lizenzierten medizinischen Fachpersonal erfolgen.', - 'emailOrPhoneError': 'E-Mail-Adresse oder Telefonnummer-Fehler', - 'passwordError': 'Passwort-Fehler', - 'unknownError': 'Unbekannter Fehler', - 'googleSSOError': 'Google SSO-Fehler', - 'emailAlreadyInUse': - 'Die Telefonnummer ist bereits von einem anderen Konto verwendet', - 'invalidCredentialError': 'Die Anmeldedaten sind ungültig.', - 'invalidAppCredentialError': 'Ungültige Anmeldeinformationen der App', - 'invalidVerificationCodeError': 'Ungültiger Bestätigungscode', - 'other': 'Unbekannter Fehler', - }, - ); - return '$_temp0'; - } - @override String get bugReportSentText => 'Fehlerbericht wurde erfolgreich gesendet.'; } diff --git a/example/lib/src/generated/errors/errors_localization_el.dart b/example/lib/src/generated/errors/errors_localization_el.dart new file mode 100644 index 0000000..61a4788 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_el.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Modern Greek (`el`). +class ErrorsLocalizationEl extends ErrorsLocalization { + ErrorsLocalizationEl([String locale = 'el']) : super(locale); + + @override + String get error => 'Παρουσιάστηκε σφάλμα'; + + @override + String get unexpectedError => 'Παρουσιάστηκε ένα απροσδόκητο σφάλμα'; + + @override + String get bugReportSentText => 'Η αναφορά σφάλματος στάλθηκε με επιτυχία.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_en.dart b/example/lib/src/generated/errors/errors_localization_en.dart index 0a8d6e0..8c303ed 100644 --- a/example/lib/src/generated/errors/errors_localization_en.dart +++ b/example/lib/src/generated/errors/errors_localization_en.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -16,42 +16,6 @@ class ErrorsLocalizationEn extends ErrorsLocalization { @override String get unexpectedError => 'An unexpected error occurred'; - @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': 'Password should be at least 6 characters', - 'invalidEmailOrPhoneNumberError': - 'Please provide valid email or a phone number in the international format. Examples: me@example.com and +1234567890987', - 'invalidEmailError': 'Email is not valid', - 'operationNotAllowedError': 'Operation is not allowed', - 'weakPasswordError': 'Password is too weak', - 'userTokenExpiredError': 'User token expired', - 'invalidPhoneNumberError': - 'Please provide phone numbers in the international format, starting with + and the country code.', - 'invalidActionCodeError': 'Action code is not valid', - 'networkRequestFailedError': 'Network request failed', - 'tooManyRequestsError': 'Too many requests', - 'acceptTermsAndConditionsError': - 'Please accept the terms and conditions and acknowledge the privacy policy.', - 'acceptAIConsentError': - 'Please acknowledge that consultations are with an AI and not a licensed medical professional.', - 'emailOrPhoneError': 'Email or phone error', - 'passwordError': 'Password error', - 'unknownError': 'Unknown error', - 'googleSSOError': 'Google SSO error', - 'emailAlreadyInUse': - 'The email address is already in use by another account.', - 'invalidCredentialError': 'Invalid credentials', - 'invalidAppCredentialError': 'Invalid app credentials', - 'invalidVerificationCodeError': 'Invalid verification code', - 'other': 'Unknown error', - }, - ); - return '$_temp0'; - } - @override String get bugReportSentText => 'Bug report sent successfully.'; } diff --git a/example/lib/src/generated/errors/errors_localization_es.dart b/example/lib/src/generated/errors/errors_localization_es.dart index 1f4dba9..3181c05 100644 --- a/example/lib/src/generated/errors/errors_localization_es.dart +++ b/example/lib/src/generated/errors/errors_localization_es.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -16,44 +16,6 @@ class ErrorsLocalizationEs extends ErrorsLocalization { @override String get unexpectedError => 'Ocurrió un error inesperado'; - @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': 'La contraseña debe tener al menos 6 caracteres', - 'invalidEmailOrPhoneNumberError': - 'Por favor, proporcione un correo electrónico válido o un número de teléfono en formato internacional. Ejemplos: me@example.com y +1234567890987.', - 'invalidEmailError': 'La dirección de correo electrónico no es válida', - 'operationNotAllowedError': 'Operación no permitida', - 'weakPasswordError': 'La contraseña es demasiado débil', - 'userTokenExpiredError': 'El token de usuario ha expirado', - 'invalidPhoneNumberError': - 'Por favor, proporcione los números de teléfono en formato internacional, comenzando con + y el código de país.', - 'invalidActionCodeError': 'El código de acción no es válido', - 'networkRequestFailedError': 'Error de solicitud de red', - 'tooManyRequestsError': 'Demasiadas solicitudes', - 'acceptTermsAndConditionsError': - 'Por favor, acepta los términos y condiciones y reconoce la política de privacidad.', - 'acceptAIConsentError': - 'Por favor, reconoce que consultas son con una IA y no con un profesional médico con licencia.', - 'emailOrPhoneError': 'Error de correo electrónico o número de teléfono', - 'passwordError': 'Error de contraseña', - 'unknownError': 'Error desconocido', - 'googleSSOError': 'Error de Google SSO', - 'emailAlreadyInUse': - 'La dirección de correo electrónico ya está en uso por otra cuenta.', - 'phoneAlreadyInUse': - 'El número de teléfono ya está en uso por otra cuenta.', - 'invalidCredentialError': 'Las credenciales no son válidas.', - 'invalidAppCredentialError': 'Credenciales no válidas de la aplicación', - 'invalidVerificationCodeError': 'Código de verificación no válido', - 'other': 'Error desconocido', - }, - ); - return '$_temp0'; - } - @override String get bugReportSentText => 'Informe de error enviado con éxito.'; } diff --git a/example/lib/src/generated/errors/errors_localization_fa.dart b/example/lib/src/generated/errors/errors_localization_fa.dart new file mode 100644 index 0000000..cfd013a --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_fa.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Persian (`fa`). +class ErrorsLocalizationFa extends ErrorsLocalization { + ErrorsLocalizationFa([String locale = 'fa']) : super(locale); + + @override + String get error => 'خطایی رخ داده است'; + + @override + String get unexpectedError => 'یک خطای غیرمنتظره رخ داد'; + + @override + String get bugReportSentText => 'گزارش باگ با موفقیت ارسال شد.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_fr.dart b/example/lib/src/generated/errors/errors_localization_fr.dart index ba4bb1c..ea70039 100644 --- a/example/lib/src/generated/errors/errors_localization_fr.dart +++ b/example/lib/src/generated/errors/errors_localization_fr.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,48 +11,11 @@ class ErrorsLocalizationFr extends ErrorsLocalization { ErrorsLocalizationFr([String locale = 'fr']) : super(locale); @override - String get error => 'Une erreur s\'est produite'; + String get error => 'Une erreur est survenue'; @override String get unexpectedError => 'Une erreur inattendue s\'est produite'; @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': - 'Le mot de passe doit contenir au moins 6 caractères', - 'invalidEmailOrPhoneNumberError': - 'Veuillez fournir un email valide ou un numéro de téléphone au format international. Exemples : me@example.com et +1234567890987', - 'invalidEmailError': 'L\'email n\'est pas valide', - 'operationNotAllowedError': 'Opération non autorisée', - 'weakPasswordError': 'Le mot de passe est trop faible', - 'userTokenExpiredError': 'Le jeton utilisateur a expiré', - 'invalidPhoneNumberError': - 'Veuillez fournir des numéros de téléphone au format international, commençant par + et l\'indicatif du pays.', - 'invalidActionCodeError': 'Le code d\'action n\'est pas valide', - 'networkRequestFailedError': 'La requête réseau a échoué', - 'tooManyRequestsError': 'Trop de demandes', - 'acceptTermsAndConditionsError': - 'Veuillez accepter les termes et conditions et reconnaître la politique de confidentialité.', - 'acceptAIConsentError': - 'Veuillez reconnaître que les consultations se font avec une IA et non un professionnel de santé agréé.', - 'emailOrPhoneError': 'Erreur d\'email ou de téléphone', - 'passwordError': 'Erreur de mot de passe', - 'unknownError': 'Erreur inconnue', - 'googleSSOError': 'Erreur Google SSO', - 'emailAlreadyInUse': - 'L\'adresse email est déjà utilisée par un autre compte.', - 'invalidCredentialError': 'Identifiants invalides', - 'invalidAppCredentialError': 'Identifiants d\'application invalides', - 'invalidVerificationCodeError': 'Code de vérification invalide', - 'other': 'Erreur inconnue', - }, - ); - return '$_temp0\n'; - } - - @override - String get bugReportSentText => 'Rapport de bogue envoyé avec succès.'; + String get bugReportSentText => 'Rapport de bug envoyé avec succès.'; } diff --git a/example/lib/src/generated/errors/errors_localization_gu.dart b/example/lib/src/generated/errors/errors_localization_gu.dart new file mode 100644 index 0000000..065b57d --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_gu.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Gujarati (`gu`). +class ErrorsLocalizationGu extends ErrorsLocalization { + ErrorsLocalizationGu([String locale = 'gu']) : super(locale); + + @override + String get error => 'ભૂલ થઇ'; + + @override + String get unexpectedError => 'અનપેક્ષિત ભૂલ આવી'; + + @override + String get bugReportSentText => 'બગ રિપોર્ટ સફળતાપૂર્વક મોકલાયેલું છે.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_he.dart b/example/lib/src/generated/errors/errors_localization_he.dart new file mode 100644 index 0000000..65e871d --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_he.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hebrew (`he`). +class ErrorsLocalizationHe extends ErrorsLocalization { + ErrorsLocalizationHe([String locale = 'he']) : super(locale); + + @override + String get error => 'אירעה שגיאה'; + + @override + String get unexpectedError => 'אירעה שגיאה בלתי צפויה'; + + @override + String get bugReportSentText => 'דיווח באג נשלח בהצלחה.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_hi.dart b/example/lib/src/generated/errors/errors_localization_hi.dart index c363715..ba442e6 100644 --- a/example/lib/src/generated/errors/errors_localization_hi.dart +++ b/example/lib/src/generated/errors/errors_localization_hi.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,47 +11,11 @@ class ErrorsLocalizationHi extends ErrorsLocalization { ErrorsLocalizationHi([String locale = 'hi']) : super(locale); @override - String get error => 'एक त्रुटि पाई गई'; + String get error => 'एक त्रुटि हुई'; @override String get unexpectedError => 'एक अप्रत्याशित त्रुटि हुई'; @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': 'पासवर्ड कम से कम 6 अक्षरों का होना चाहिए', - 'invalidEmailOrPhoneNumberError': - 'कृपया मान्य ईमेल या अंतर्राष्ट्रीय प्रारूप में फोन नंबर प्रदान करें। उदाहरण: me@example.com और +1234567890987', - 'invalidEmailError': 'ईमेल मान्य नहीं है', - 'operationNotAllowedError': 'क्रिया की अनुमति नहीं है', - 'weakPasswordError': 'पासवर्ड बहुत कमजोर है', - 'userTokenExpiredError': 'उपयोगकर्ता टोकन की समय सीमा समाप्त हो गई', - 'invalidPhoneNumberError': - 'कृपया फोन नंबर अंतर्राष्ट्रीय प्रारूप में प्रदान करें, जो + और देश कोड से शुरू होता हो।', - 'invalidActionCodeError': 'क्रिया कोड मान्य नहीं है', - 'networkRequestFailedError': 'नेटवर्क अनुरोध विफल हुआ', - 'tooManyRequestsError': 'बहुत अधिक अनुरोध', - 'acceptTermsAndConditionsError': - 'कृपया नियम और शर्तों को स्वीकार करें और गोपनीयता नीति को स्वीकार करने की पुष्टि करें।', - 'acceptAIConsentError': - 'कृपया स्वीकार करें कि परामर्श एक AI के साथ है, न कि लाइसेंस प्राप्त चिकित्सा पेशेवर के साथ।', - 'emailOrPhoneError': 'ईमेल या फोन त्रुटि', - 'passwordError': 'पासवर्ड त्रुटि', - 'unknownError': 'अज्ञात त्रुटि', - 'googleSSOError': 'Google SSO त्रुटि', - 'emailAlreadyInUse': - 'यह ईमेल पता पहले से ही किसी अन्य खाते द्वारा उपयोग में है।', - 'invalidCredentialError': 'अमान्य प्रमाणपत्र', - 'invalidAppCredentialError': 'अमान्य ऐप प्रमाणपत्र', - 'invalidVerificationCodeError': 'अमान्य सत्यापन कोड', - 'other': 'अज्ञात त्रुटि', - }, - ); - return '$_temp0'; - } - - @override - String get bugReportSentText => 'बग रिपोर्ट सफलतापूर्वक भेजी गई.'; + String get bugReportSentText => 'बग रिपोर्ट सफलतापूर्वक भेजी गई।'; } diff --git a/example/lib/src/generated/errors/errors_localization_hu.dart b/example/lib/src/generated/errors/errors_localization_hu.dart new file mode 100644 index 0000000..0b70239 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_hu.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hungarian (`hu`). +class ErrorsLocalizationHu extends ErrorsLocalization { + ErrorsLocalizationHu([String locale = 'hu']) : super(locale); + + @override + String get error => 'Hiba történt'; + + @override + String get unexpectedError => 'Váratlan hiba történt'; + + @override + String get bugReportSentText => 'A hibajelentés sikeresen elküldve.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_id.dart b/example/lib/src/generated/errors/errors_localization_id.dart new file mode 100644 index 0000000..aa50f4f --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_id.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Indonesian (`id`). +class ErrorsLocalizationId extends ErrorsLocalization { + ErrorsLocalizationId([String locale = 'id']) : super(locale); + + @override + String get error => 'Terjadi kesalahan'; + + @override + String get unexpectedError => 'Terjadi kesalahan yang tidak terduga'; + + @override + String get bugReportSentText => 'Laporan bug berhasil dikirim.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_it.dart b/example/lib/src/generated/errors/errors_localization_it.dart index 7250856..4625f72 100644 --- a/example/lib/src/generated/errors/errors_localization_it.dart +++ b/example/lib/src/generated/errors/errors_localization_it.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -17,41 +17,5 @@ class ErrorsLocalizationIt extends ErrorsLocalization { String get unexpectedError => 'Si è verificato un errore imprevisto'; @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': 'La password deve contenere almeno 6 caratteri', - 'invalidEmailOrPhoneNumberError': - 'Fornisci un\'email valida o un numero di telefono nel formato internazionale. Esempi: me@example.com e +1234567890987', - 'invalidEmailError': 'L\'email non è valida', - 'operationNotAllowedError': 'Operazione non consentita', - 'weakPasswordError': 'La password è troppo debole', - 'userTokenExpiredError': 'Il token utente è scaduto', - 'invalidPhoneNumberError': - 'Fornisci numeri di telefono nel formato internazionale, iniziando con + e il prefisso del paese.', - 'invalidActionCodeError': 'Il codice azione non è valido', - 'networkRequestFailedError': 'Richiesta di rete non riuscita', - 'tooManyRequestsError': 'Troppe richieste', - 'acceptTermsAndConditionsError': - 'Accetta i termini e le condizioni e conferma la politica sulla privacy.', - 'acceptAIConsentError': - 'Riconosci che le consulenze sono con un\'IA e non con un medico abilitato.', - 'emailOrPhoneError': 'Errore email o telefono', - 'passwordError': 'Errore password', - 'unknownError': 'Errore sconosciuto', - 'googleSSOError': 'Errore Google SSO', - 'emailAlreadyInUse': - 'L\'indirizzo email è già utilizzato da un altro account.', - 'invalidCredentialError': 'Credenziali non valide', - 'invalidAppCredentialError': 'Credenziali app non valide', - 'invalidVerificationCodeError': 'Codice di verifica non valido', - 'other': 'Errore sconosciuto', - }, - ); - return '$_temp0\n'; - } - - @override - String get bugReportSentText => 'Segnalazione bug inviata con successo.'; + String get bugReportSentText => 'Bug report inviato con successo.'; } diff --git a/example/lib/src/generated/errors/errors_localization_ja.dart b/example/lib/src/generated/errors/errors_localization_ja.dart new file mode 100644 index 0000000..517e8a3 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_ja.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Japanese (`ja`). +class ErrorsLocalizationJa extends ErrorsLocalization { + ErrorsLocalizationJa([String locale = 'ja']) : super(locale); + + @override + String get error => 'エラーが発生しました'; + + @override + String get unexpectedError => '予期しないエラーが発生しました'; + + @override + String get bugReportSentText => 'バグレポートが正常に送信されました。'; +} diff --git a/example/lib/src/generated/errors/errors_localization_kk.dart b/example/lib/src/generated/errors/errors_localization_kk.dart new file mode 100644 index 0000000..ab23a7c --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_kk.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kazakh (`kk`). +class ErrorsLocalizationKk extends ErrorsLocalization { + ErrorsLocalizationKk([String locale = 'kk']) : super(locale); + + @override + String get error => 'Қате орын алды'; + + @override + String get unexpectedError => 'Күтпеген қате орын алды'; + + @override + String get bugReportSentText => 'Баг туралы есеп сәтті жіберілді.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_km.dart b/example/lib/src/generated/errors/errors_localization_km.dart new file mode 100644 index 0000000..2664be0 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_km.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Khmer Central Khmer (`km`). +class ErrorsLocalizationKm extends ErrorsLocalization { + ErrorsLocalizationKm([String locale = 'km']) : super(locale); + + @override + String get error => 'មានកំហុសមួយកើតឡើង'; + + @override + String get unexpectedError => 'មានកំហុសមិនគ្រាន់កន្លែងមួយ'; + + @override + String get bugReportSentText => 'របាយការណ៍កំហុសត្រូវបានផ្ញើដោយជោគជ័យ។'; +} diff --git a/example/lib/src/generated/errors/errors_localization_kn.dart b/example/lib/src/generated/errors/errors_localization_kn.dart new file mode 100644 index 0000000..dc48145 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_kn.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kannada (`kn`). +class ErrorsLocalizationKn extends ErrorsLocalization { + ErrorsLocalizationKn([String locale = 'kn']) : super(locale); + + @override + String get error => 'An error occurred'; + + @override + String get unexpectedError => 'An unexpected error occurred'; + + @override + String get bugReportSentText => 'ಬಗ್ ವರದಿ ಯಶಸ್ವಿಯಾಗಿ ಕಳುಹಿಸಲಾಗಿದೆ.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_ko.dart b/example/lib/src/generated/errors/errors_localization_ko.dart index e1138e0..1ca3fdf 100644 --- a/example/lib/src/generated/errors/errors_localization_ko.dart +++ b/example/lib/src/generated/errors/errors_localization_ko.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -14,40 +14,8 @@ class ErrorsLocalizationKo extends ErrorsLocalization { String get error => '오류가 발생했습니다'; @override - String get unexpectedError => '예상치 못한 오류가 발생했습니다.'; + String get unexpectedError => '예기치 않은 오류가 발생했습니다'; @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': '비밀번호는 최소 6자 이상이어야 합니다', - 'invalidEmailOrPhoneNumberError': - '유효한 이메일 또는 국제 형식의 전화번호를 입력하세요. 예: me@example.com, +1234567890987', - 'invalidEmailError': '유효하지 않은 이메일입니다', - 'operationNotAllowedError': '허용되지 않은 작업입니다', - 'weakPasswordError': '비밀번호가 너무 약합니다', - 'userTokenExpiredError': '사용자 토큰이 만료되었습니다', - 'invalidPhoneNumberError': '국가 코드와 + 로 시작하는 국제 형식의 전화번호를 입력하세요.', - 'invalidActionCodeError': '동작 코드가 유효하지 않습니다', - 'networkRequestFailedError': '네트워크 요청 실패', - 'tooManyRequestsError': '요청이 너무 많습니다', - 'acceptTermsAndConditionsError': '약관에 동의하고 개인정보 보호정책을 확인하세요.', - 'acceptAIConsentError': '상담은 공인 의료 전문가가 아닌 AI와 이루어짐을 확인하세요.', - 'emailOrPhoneError': '이메일 또는 전화 오류', - 'passwordError': '비밀번호 오류', - 'unknownError': '알 수 없는 오류', - 'googleSSOError': 'Google SSO 오류', - 'emailAlreadyInUse': '해당 이메일 주소는 이미 다른 계정에서 사용 중입니다.', - 'invalidCredentialError': '유효하지 않은 자격 증명입니다', - 'invalidAppCredentialError': '유효하지 않은 앱 자격 증명입니다', - 'invalidVerificationCodeError': '유효하지 않은 인증 코드입니다', - 'other': '알 수 없는 오류', - }, - ); - return '$_temp0\n'; - } - - @override - String get bugReportSentText => '버그 보고서가 성공적으로 전송되었습니다.'; + String get bugReportSentText => '버그 신고가 성공적으로 전송되었습니다.'; } diff --git a/example/lib/src/generated/errors/errors_localization_lo.dart b/example/lib/src/generated/errors/errors_localization_lo.dart new file mode 100644 index 0000000..2c4b067 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_lo.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Lao (`lo`). +class ErrorsLocalizationLo extends ErrorsLocalization { + ErrorsLocalizationLo([String locale = 'lo']) : super(locale); + + @override + String get error => 'ມີບັດສະບັດ'; + + @override + String get unexpectedError => 'ເກິດບັດທີ່ບໍ່ຄາດຄິດ'; + + @override + String get bugReportSentText => 'Bug report sent successfully.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_ml.dart b/example/lib/src/generated/errors/errors_localization_ml.dart new file mode 100644 index 0000000..5108d67 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_ml.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malayalam (`ml`). +class ErrorsLocalizationMl extends ErrorsLocalization { + ErrorsLocalizationMl([String locale = 'ml']) : super(locale); + + @override + String get error => 'ഒരു പിശക് സംഭവിച്ചു'; + + @override + String get unexpectedError => 'അപ്രതീക്ഷിതമായ ഒരു പിശക് സംഭവിച്ചു'; + + @override + String get bugReportSentText => 'ബഗ് റിപ്പോർട്ട് വിജയകരമായി അയച്ചു.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_mr.dart b/example/lib/src/generated/errors/errors_localization_mr.dart new file mode 100644 index 0000000..ab76254 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_mr.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Marathi (`mr`). +class ErrorsLocalizationMr extends ErrorsLocalization { + ErrorsLocalizationMr([String locale = 'mr']) : super(locale); + + @override + String get error => 'एक त्रुटी झाली'; + + @override + String get unexpectedError => 'अनपेक्षित त्रुटी घडली'; + + @override + String get bugReportSentText => 'बग रिपोर्ट यशस्वीपणे पाठविला गेला.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_ms.dart b/example/lib/src/generated/errors/errors_localization_ms.dart new file mode 100644 index 0000000..665845e --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_ms.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malay (`ms`). +class ErrorsLocalizationMs extends ErrorsLocalization { + ErrorsLocalizationMs([String locale = 'ms']) : super(locale); + + @override + String get error => 'Ralat berlaku'; + + @override + String get unexpectedError => 'Ralat yang tidak dijangka berlaku'; + + @override + String get bugReportSentText => 'Laporan bug telah dihantar dengan jayanya.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_my.dart b/example/lib/src/generated/errors/errors_localization_my.dart new file mode 100644 index 0000000..701ccf7 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_my.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Burmese (`my`). +class ErrorsLocalizationMy extends ErrorsLocalization { + ErrorsLocalizationMy([String locale = 'my']) : super(locale); + + @override + String get error => 'Ralat berlaku'; + + @override + String get unexpectedError => 'Ralat yang tidak dijangka berlaku'; + + @override + String get bugReportSentText => 'Laporan bug telah dihantar dengan jayanya.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_ne.dart b/example/lib/src/generated/errors/errors_localization_ne.dart new file mode 100644 index 0000000..78401c9 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_ne.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Nepali (`ne`). +class ErrorsLocalizationNe extends ErrorsLocalization { + ErrorsLocalizationNe([String locale = 'ne']) : super(locale); + + @override + String get error => 'एक त्रुटि उत्पन्न भयो'; + + @override + String get unexpectedError => 'एक अप्रत्याशित त्रुटि उत्पन्न भयो'; + + @override + String get bugReportSentText => 'बग रिपोर्ट सफलतापूर्वक पठाइएको।'; +} diff --git a/example/lib/src/generated/errors/errors_localization_nl.dart b/example/lib/src/generated/errors/errors_localization_nl.dart new file mode 100644 index 0000000..9f87efd --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_nl.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Dutch Flemish (`nl`). +class ErrorsLocalizationNl extends ErrorsLocalization { + ErrorsLocalizationNl([String locale = 'nl']) : super(locale); + + @override + String get error => 'Er is een fout opgetreden'; + + @override + String get unexpectedError => 'Er is een onverwachte fout opgetreden'; + + @override + String get bugReportSentText => 'Bugrapport succesvol verzonden.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_pa.dart b/example/lib/src/generated/errors/errors_localization_pa.dart new file mode 100644 index 0000000..6d30674 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_pa.dart @@ -0,0 +1,35 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Panjabi Punjabi (`pa`). +class ErrorsLocalizationPa extends ErrorsLocalization { + ErrorsLocalizationPa([String locale = 'pa']) : super(locale); + + @override + String get error => 'An error occurred'; + + @override + String get unexpectedError => 'An unexpected error occurred'; + + @override + String get bugReportSentText => 'ਬੱਗ ਰਿਪੋਰਟ ਸਫਲਤਾਪੂਰਵਕ ਭੇਜੀ ਗਈ ਹੈ.'; +} + +/// The translations for Panjabi Punjabi, as used in Pakistan (`pa_PK`). +class ErrorsLocalizationPaPk extends ErrorsLocalizationPa { + ErrorsLocalizationPaPk() : super('pa_PK'); + + @override + String get error => 'ایک غلطی پیش آئی'; + + @override + String get unexpectedError => 'ایک غیر متوقع غلطی پیش آئی'; + + @override + String get bugReportSentText => 'بگ رپورٹ کامیابی نال بھیج دتی گئی.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_pl.dart b/example/lib/src/generated/errors/errors_localization_pl.dart new file mode 100644 index 0000000..befb1e9 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_pl.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Polish (`pl`). +class ErrorsLocalizationPl extends ErrorsLocalization { + ErrorsLocalizationPl([String locale = 'pl']) : super(locale); + + @override + String get error => 'Wystąpił błąd'; + + @override + String get unexpectedError => 'Wystąpił nieoczekiwany błąd'; + + @override + String get bugReportSentText => 'Zgłoszenie błędu zostało pomyślnie wysłane'; +} diff --git a/example/lib/src/generated/errors/errors_localization_ps.dart b/example/lib/src/generated/errors/errors_localization_ps.dart new file mode 100644 index 0000000..8130be4 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_ps.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Pushto Pashto (`ps`). +class ErrorsLocalizationPs extends ErrorsLocalization { + ErrorsLocalizationPs([String locale = 'ps']) : super(locale); + + @override + String get error => 'An error occurred'; + + @override + String get unexpectedError => 'یو ناڅاپي تېروتنه رامنځته شوه'; + + @override + String get bugReportSentText => 'د خطا راپور په بریالیتوب سره لیږل شوی.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_pt.dart b/example/lib/src/generated/errors/errors_localization_pt.dart index 88ce2b3..8dc57b0 100644 --- a/example/lib/src/generated/errors/errors_localization_pt.dart +++ b/example/lib/src/generated/errors/errors_localization_pt.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -16,41 +16,6 @@ class ErrorsLocalizationPt extends ErrorsLocalization { @override String get unexpectedError => 'Ocorreu um erro inesperado'; - @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': 'A senha deve ter pelo menos 6 caracteres', - 'invalidEmailOrPhoneNumberError': - 'Informe um e-mail válido ou um número de telefone no formato internacional. Exemplos: me@example.com e +1234567890987', - 'invalidEmailError': 'E-mail inválido', - 'operationNotAllowedError': 'Operação não permitida', - 'weakPasswordError': 'Senha muito fraca', - 'userTokenExpiredError': 'Token do usuário expirou', - 'invalidPhoneNumberError': - 'Informe números de telefone no formato internacional, começando com + e o código do país.', - 'invalidActionCodeError': 'Código de ação inválido', - 'networkRequestFailedError': 'Falha na requisição de rede', - 'tooManyRequestsError': 'Muitas solicitações', - 'acceptTermsAndConditionsError': - 'Aceite os termos e condições e reconheça a política de privacidade.', - 'acceptAIConsentError': - 'Reconheça que as consultas são com uma IA e não com um profissional médico licenciado.', - 'emailOrPhoneError': 'Erro de e-mail ou telefone', - 'passwordError': 'Erro de senha', - 'unknownError': 'Erro desconhecido', - 'googleSSOError': 'Erro no SSO do Google', - 'emailAlreadyInUse': 'Este e-mail já está em uso por outra conta.', - 'invalidCredentialError': 'Credenciais inválidas', - 'invalidAppCredentialError': 'Credenciais do aplicativo inválidas', - 'invalidVerificationCodeError': 'Código de verificação inválido', - 'other': 'Erro desconhecido', - }, - ); - return '$_temp0\n'; - } - @override String get bugReportSentText => 'Relatório de bug enviado com sucesso.'; } @@ -65,41 +30,6 @@ class ErrorsLocalizationPtBr extends ErrorsLocalizationPt { @override String get unexpectedError => 'Ocorreu um erro inesperado'; - @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': 'A senha deve ter pelo menos 6 caracteres', - 'invalidEmailOrPhoneNumberError': - 'Informe um e-mail válido ou um número de telefone no formato internacional. Exemplos: me@example.com e +1234567890987', - 'invalidEmailError': 'E-mail inválido', - 'operationNotAllowedError': 'Operação não permitida', - 'weakPasswordError': 'Senha muito fraca', - 'userTokenExpiredError': 'Token do usuário expirou', - 'invalidPhoneNumberError': - 'Informe números de telefone no formato internacional, começando com + e o código do país.', - 'invalidActionCodeError': 'Código de ação inválido', - 'networkRequestFailedError': 'Falha na requisição de rede', - 'tooManyRequestsError': 'Muitas solicitações', - 'acceptTermsAndConditionsError': - 'Aceite os termos e condições e reconheça a política de privacidade.', - 'acceptAIConsentError': - 'Reconheça que as consultas são com uma IA e não com um profissional médico licenciado.', - 'emailOrPhoneError': 'Erro de e-mail ou telefone', - 'passwordError': 'Erro de senha', - 'unknownError': 'Erro desconhecido', - 'googleSSOError': 'Erro no SSO do Google', - 'emailAlreadyInUse': 'Este e-mail já está em uso por outra conta.', - 'invalidCredentialError': 'Credenciais inválidas', - 'invalidAppCredentialError': 'Credenciais do aplicativo inválidas', - 'invalidVerificationCodeError': 'Código de verificação inválido', - 'other': 'Erro desconhecido', - }, - ); - return '$_temp0\n'; - } - @override String get bugReportSentText => 'Relatório de bug enviado com sucesso.'; } diff --git a/example/lib/src/generated/errors/errors_localization_ro.dart b/example/lib/src/generated/errors/errors_localization_ro.dart new file mode 100644 index 0000000..5cdcf87 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_ro.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Romanian Moldavian Moldovan (`ro`). +class ErrorsLocalizationRo extends ErrorsLocalization { + ErrorsLocalizationRo([String locale = 'ro']) : super(locale); + + @override + String get error => 'A apărut o eroare'; + + @override + String get unexpectedError => 'A apărut o eroare neașteptată'; + + @override + String get bugReportSentText => 'Raportul de eroare a fost trimis cu succes.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_ru.dart b/example/lib/src/generated/errors/errors_localization_ru.dart index 48d1ce8..72ce41e 100644 --- a/example/lib/src/generated/errors/errors_localization_ru.dart +++ b/example/lib/src/generated/errors/errors_localization_ru.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -16,45 +16,6 @@ class ErrorsLocalizationRu extends ErrorsLocalization { @override String get unexpectedError => 'Произошла неизвестная ошибка'; - @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': 'Пароль должен быть не менее 6 символов', - 'invalidEmailOrPhoneNumberError': - 'Пожалуйста, укажите действительный адрес электронной почты или номер телефона в международном формате. Примеры: me@example.com и +1234567890987.', - 'invalidEmailError': 'Неверный формат электронной почты', - 'operationNotAllowedError': 'Операция не разрешена', - 'weakPasswordError': 'Пароль слишком слабый', - 'userTokenExpiredError': 'Токен пользователя истек', - 'invalidPhoneNumberError': - 'Пожалуйста, укажите номера телефона в международном формате, начиная с + и кода страны', - 'invalidActionCodeError': 'Код операции недействителен', - 'networkRequestFailedError': 'Ошибка соединения с сервером', - 'tooManyRequestsError': 'Слишком много запросов', - 'acceptTermsAndConditionsError': - 'Пожалуйста, примите условия пользовательского соглашения и подтвердите политику конфиденциальности.', - 'acceptAIConsentError': - 'Пожалуйста, подтвердите, что консультации с искусственным интеллектом и не заменяет профессиональную медицинскую помощь лицензированного специалиста.', - 'emailOrPhoneError': 'Ошибка электронной почты или номера телефона', - 'passwordError': 'Ошибка пароля', - 'unknownError': 'Неизвестная ошибка', - 'googleSSOError': 'Ошибка Google SSO', - 'emailAlreadyInUse': - 'Электронная почта уже используется другой учетной записью', - 'phoneAlreadyInUse': - 'Номер телефона уже используется другой учетной записью', - 'invalidCredentialError': 'Данные входа не верны', - 'invalidAppCredentialError': - 'Недействительные учетные данные приложения', - 'invalidVerificationCodeError': 'Неверный код подтверждения', - 'other': 'Неизвестная ошибка', - }, - ); - return '$_temp0'; - } - @override String get bugReportSentText => 'Отчёт об ошибке успешно отправлен.'; } diff --git a/example/lib/src/generated/errors/errors_localization_si.dart b/example/lib/src/generated/errors/errors_localization_si.dart new file mode 100644 index 0000000..70c1bf9 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_si.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Sinhala Sinhalese (`si`). +class ErrorsLocalizationSi extends ErrorsLocalization { + ErrorsLocalizationSi([String locale = 'si']) : super(locale); + + @override + String get error => 'දෝෂයක් සිදු විය'; + + @override + String get unexpectedError => 'අනපේක්ෂිත දෝෂයක් සිදුවිය'; + + @override + String get bugReportSentText => 'බග් වාර්තාව සාර්ථකව යවා ඇත.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_sk.dart b/example/lib/src/generated/errors/errors_localization_sk.dart new file mode 100644 index 0000000..bcae655 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_sk.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Slovak (`sk`). +class ErrorsLocalizationSk extends ErrorsLocalization { + ErrorsLocalizationSk([String locale = 'sk']) : super(locale); + + @override + String get error => 'Došlo k chybe'; + + @override + String get unexpectedError => 'Nastala neočakávaná chyba'; + + @override + String get bugReportSentText => 'Hlášenie o chybách bolo úspešne odoslané.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_sw.dart b/example/lib/src/generated/errors/errors_localization_sw.dart new file mode 100644 index 0000000..64e3dc2 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_sw.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Swahili (`sw`). +class ErrorsLocalizationSw extends ErrorsLocalization { + ErrorsLocalizationSw([String locale = 'sw']) : super(locale); + + @override + String get error => 'Hitilafu imetokea'; + + @override + String get unexpectedError => 'Hitilafu isiyotarajiwa imetokea'; + + @override + String get bugReportSentText => 'Ripoti ya hitilafu imetumwa kwa mafanikio.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_ta.dart b/example/lib/src/generated/errors/errors_localization_ta.dart new file mode 100644 index 0000000..178461c --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_ta.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tamil (`ta`). +class ErrorsLocalizationTa extends ErrorsLocalization { + ErrorsLocalizationTa([String locale = 'ta']) : super(locale); + + @override + String get error => 'தவற் ஏற்பட்டது'; + + @override + String get unexpectedError => 'எதிர்பாராத பிழை ஏற்பட்டது'; + + @override + String get bugReportSentText => 'பிழை அறிக்கை வெற்றிகரமாக அனுப்பப்பட்டது.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_te.dart b/example/lib/src/generated/errors/errors_localization_te.dart new file mode 100644 index 0000000..15e64e0 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_te.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Telugu (`te`). +class ErrorsLocalizationTe extends ErrorsLocalization { + ErrorsLocalizationTe([String locale = 'te']) : super(locale); + + @override + String get error => 'లోపం సంభవించింది'; + + @override + String get unexpectedError => 'అనుకోని లోపం సంభవించింది'; + + @override + String get bugReportSentText => 'బగ్ నివేదిక విజయవంతంగా పంపబడింది.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_th.dart b/example/lib/src/generated/errors/errors_localization_th.dart new file mode 100644 index 0000000..b99b5fe --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_th.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Thai (`th`). +class ErrorsLocalizationTh extends ErrorsLocalization { + ErrorsLocalizationTh([String locale = 'th']) : super(locale); + + @override + String get error => 'เกิดข้อผิดพลาด'; + + @override + String get unexpectedError => 'เกิดข้อผิดพลาดที่ไม่คาดคิด'; + + @override + String get bugReportSentText => 'ส่งรายงานข้อผิดพลาดเรียบร้อยแล้ว.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_tl.dart b/example/lib/src/generated/errors/errors_localization_tl.dart new file mode 100644 index 0000000..4ad0f35 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_tl.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tagalog (`tl`). +class ErrorsLocalizationTl extends ErrorsLocalization { + ErrorsLocalizationTl([String locale = 'tl']) : super(locale); + + @override + String get error => 'An error occurred'; + + @override + String get unexpectedError => 'An unexpected error occurred'; + + @override + String get bugReportSentText => 'Matagumpay naipadala ang ulat ng bug.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_tr.dart b/example/lib/src/generated/errors/errors_localization_tr.dart new file mode 100644 index 0000000..84796fb --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_tr.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Turkish (`tr`). +class ErrorsLocalizationTr extends ErrorsLocalization { + ErrorsLocalizationTr([String locale = 'tr']) : super(locale); + + @override + String get error => 'Bir hata oluştu'; + + @override + String get unexpectedError => 'Beklenmedik bir hata oluştu'; + + @override + String get bugReportSentText => 'Hata raporu başarıyla gönderildi.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_uk.dart b/example/lib/src/generated/errors/errors_localization_uk.dart new file mode 100644 index 0000000..8b982e3 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_uk.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Ukrainian (`uk`). +class ErrorsLocalizationUk extends ErrorsLocalization { + ErrorsLocalizationUk([String locale = 'uk']) : super(locale); + + @override + String get error => 'Сталася помилка'; + + @override + String get unexpectedError => 'Сталася несподівана помилка'; + + @override + String get bugReportSentText => 'Баг-репорт надіслано успішно.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_ur.dart b/example/lib/src/generated/errors/errors_localization_ur.dart new file mode 100644 index 0000000..8d337e8 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_ur.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Urdu (`ur`). +class ErrorsLocalizationUr extends ErrorsLocalization { + ErrorsLocalizationUr([String locale = 'ur']) : super(locale); + + @override + String get error => 'ایک خرابی پیش آئی'; + + @override + String get unexpectedError => 'ایک غیر متوقع خرابی واقع ہوئی'; + + @override + String get bugReportSentText => 'بگ رپورٹ کامیابی سے بھیجی گئی.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_uz.dart b/example/lib/src/generated/errors/errors_localization_uz.dart new file mode 100644 index 0000000..19e68b7 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_uz.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Uzbek (`uz`). +class ErrorsLocalizationUz extends ErrorsLocalization { + ErrorsLocalizationUz([String locale = 'uz']) : super(locale); + + @override + String get error => 'Xatolik yuz berdi'; + + @override + String get unexpectedError => 'Kutilmagan xato yuz berdi'; + + @override + String get bugReportSentText => 'Xato hisobot muvaffaqiyatli yuborildi.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_vi.dart b/example/lib/src/generated/errors/errors_localization_vi.dart new file mode 100644 index 0000000..e095702 --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_vi.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Vietnamese (`vi`). +class ErrorsLocalizationVi extends ErrorsLocalization { + ErrorsLocalizationVi([String locale = 'vi']) : super(locale); + + @override + String get error => 'Đã xảy ra lỗi'; + + @override + String get unexpectedError => 'Đã xảy ra lỗi bất ngờ'; + + @override + String get bugReportSentText => 'Báo cáo lỗi đã được gửi thành công.'; +} diff --git a/example/lib/src/generated/errors/errors_localization_zh.dart b/example/lib/src/generated/errors/errors_localization_zh.dart index 1f6b999..3365a41 100644 --- a/example/lib/src/generated/errors/errors_localization_zh.dart +++ b/example/lib/src/generated/errors/errors_localization_zh.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -14,42 +14,10 @@ class ErrorsLocalizationZh extends ErrorsLocalization { String get error => '发生错误'; @override - String get unexpectedError => '发生意外错误'; + String get unexpectedError => '发生了意外错误'; @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': '密码长度至少为 6 个字符', - 'invalidEmailOrPhoneNumberError': - '请提供有效的电子邮箱或符合国际格式的电话号码。例如:me@example.com 和 +1234567890987', - 'invalidEmailError': '电子邮箱无效', - 'operationNotAllowedError': '不允许的操作', - 'weakPasswordError': '密码太弱', - 'userTokenExpiredError': '用户令牌已过期', - 'invalidPhoneNumberError': '请提供以 + 和国家代码开头的国际格式电话号码。', - 'invalidActionCodeError': '操作代码无效', - 'networkRequestFailedError': '网络请求失败', - 'tooManyRequestsError': '请求过多', - 'acceptTermsAndConditionsError': '请接受条款与条件并确认隐私政策。', - 'acceptAIConsentError': '请确认咨询对象为 AI,而非持证医疗专业人士。', - 'emailOrPhoneError': '邮箱或电话号码错误', - 'passwordError': '密码错误', - 'unknownError': '未知错误', - 'googleSSOError': 'Google SSO 错误', - 'emailAlreadyInUse': '该电子邮箱已被其他账户使用。', - 'invalidCredentialError': '凭据无效', - 'invalidAppCredentialError': '应用凭据无效', - 'invalidVerificationCodeError': '验证码无效', - 'other': '未知错误', - }, - ); - return '$_temp0\n'; - } - - @override - String get bugReportSentText => '错误报告发送成功。'; + String get bugReportSentText => '错误报告已成功发送。'; } /// The translations for Chinese, as used in China (`zh_CN`). @@ -60,40 +28,22 @@ class ErrorsLocalizationZhCn extends ErrorsLocalizationZh { String get error => '发生错误'; @override - String get unexpectedError => '发生意外错误'; + String get unexpectedError => '发生了意外错误'; + + @override + String get bugReportSentText => '错误报告已成功发送。'; +} + +/// The translations for Chinese, as used in Hong Kong (`zh_HK`). +class ErrorsLocalizationZhHk extends ErrorsLocalizationZh { + ErrorsLocalizationZhHk() : super('zh_HK'); + + @override + String get error => '發生咗錯誤'; @override - String authErrorMessages(String errorCode) { - String _temp0 = intl.Intl.selectLogic( - errorCode, - { - 'passwordLengthError': '密码长度至少为 6 个字符', - 'invalidEmailOrPhoneNumberError': - '请提供有效的电子邮箱或符合国际格式的电话号码。例如:me@example.com 和 +1234567890987', - 'invalidEmailError': '电子邮箱无效', - 'operationNotAllowedError': '不允许的操作', - 'weakPasswordError': '密码太弱', - 'userTokenExpiredError': '用户令牌已过期', - 'invalidPhoneNumberError': '请提供以 + 和国家代码开头的国际格式电话号码。', - 'invalidActionCodeError': '操作代码无效', - 'networkRequestFailedError': '网络请求失败', - 'tooManyRequestsError': '请求过多', - 'acceptTermsAndConditionsError': '请接受条款与条件并确认隐私政策。', - 'acceptAIConsentError': '请确认咨询对象为 AI,而非持证医疗专业人士。', - 'emailOrPhoneError': '邮箱或电话号码错误', - 'passwordError': '密码错误', - 'unknownError': '未知错误', - 'googleSSOError': 'Google SSO 错误', - 'emailAlreadyInUse': '该电子邮箱已被其他账户使用。', - 'invalidCredentialError': '凭据无效', - 'invalidAppCredentialError': '应用凭据无效', - 'invalidVerificationCodeError': '验证码无效', - 'other': '未知错误', - }, - ); - return '$_temp0\n'; - } + String get unexpectedError => '發生咗意外嘅錯誤'; @override - String get bugReportSentText => '错误报告发送成功。'; + String get bugReportSentText => '錯誤報告已成功發送.'; } diff --git a/example/lib/src/generated/errors/errors_localization_zu.dart b/example/lib/src/generated/errors/errors_localization_zu.dart new file mode 100644 index 0000000..7f157ce --- /dev/null +++ b/example/lib/src/generated/errors/errors_localization_zu.dart @@ -0,0 +1,21 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'errors_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Zulu (`zu`). +class ErrorsLocalizationZu extends ErrorsLocalization { + ErrorsLocalizationZu([String locale = 'zu']) : super(locale); + + @override + String get error => 'Kwenzekile iphutha'; + + @override + String get unexpectedError => 'Kwenzekile iphutha elingalindelekile'; + + @override + String get bugReportSentText => 'Umbiko wephutha uthunyelwe ngempumelelo.'; +} diff --git a/example/lib/src/generated/locales.dart b/example/lib/src/generated/locales.dart index 18391fe..dff9de9 100644 --- a/example/lib/src/generated/locales.dart +++ b/example/lib/src/generated/locales.dart @@ -9,6 +9,7 @@ abstract final class Locales { static const Locale en = Locale('en'); static const Locale ru = Locale('ru'); + static const Locale be = Locale('be'); static const Locale es = Locale('es'); static const Locale de = Locale('de'); static const Locale hi = Locale('hi'); @@ -19,12 +20,57 @@ abstract final class Locales { static const Locale ko = Locale('ko'); static const Locale bn = Locale('bn'); static const Locale ar = Locale('ar'); + static const Locale fa = Locale('fa'); + static const Locale uz = Locale('uz'); + static const Locale he = Locale('he'); + static const Locale id = Locale('id'); + static const Locale ur = Locale('ur'); + static const Locale ja = Locale('ja'); + static const Locale ar$EG = Locale('ar', 'EG'); + static const Locale mr = Locale('mr'); + static const Locale vi = Locale('vi'); + static const Locale te = Locale('te'); + static const Locale tr = Locale('tr'); + static const Locale pa$PK = Locale('pa', 'PK'); + static const Locale sw = Locale('sw'); + static const Locale ta = Locale('ta'); + static const Locale zh$HK = Locale('zh', 'HK'); + static const Locale th = Locale('th'); + static const Locale gu = Locale('gu'); + static const Locale kn = Locale('kn'); + static const Locale tl = Locale('tl'); + static const Locale pa = Locale('pa'); + static const Locale ml = Locale('ml'); + static const Locale my = Locale('my'); + static const Locale uk = Locale('uk'); + static const Locale nl = Locale('nl'); + static const Locale am = Locale('am'); + static const Locale ms = Locale('ms'); + static const Locale ne = Locale('ne'); + static const Locale ro = Locale('ro'); + static const Locale si = Locale('si'); + static const Locale az = Locale('az'); + static const Locale km = Locale('km'); + static const Locale ps = Locale('ps'); + static const Locale el = Locale('el'); + static const Locale kk = Locale('kk'); + static const Locale hu = Locale('hu'); + static const Locale zu = Locale('zu'); + static const Locale cs = Locale('cs'); + static const Locale lo = Locale('lo'); + static const Locale bg = Locale('bg'); + static const Locale af = Locale('af'); + static const Locale ca = Locale('ca'); + static const Locale da = Locale('da'); + static const Locale sk = Locale('sk'); + static const Locale pl = Locale('pl'); static const Locale pt = Locale('pt'); static const Locale zh = Locale('zh'); static const List values = [ en, ru, + be, es, de, hi, @@ -35,6 +81,50 @@ abstract final class Locales { ko, bn, ar, + fa, + uz, + he, + id, + ur, + ja, + ar$EG, + mr, + vi, + te, + tr, + pa$PK, + sw, + ta, + zh$HK, + th, + gu, + kn, + tl, + pa, + ml, + my, + uk, + nl, + am, + ms, + ne, + ro, + si, + az, + km, + ps, + el, + kk, + hu, + zu, + cs, + lo, + bg, + af, + ca, + da, + sk, + pl, pt, zh ]; diff --git a/example/lib/src/generated/onboarding/onboarding_localization.dart b/example/lib/src/generated/onboarding/onboarding_localization.dart new file mode 100644 index 0000000..57ce1ea --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization.dart @@ -0,0 +1,1290 @@ +// This file is generated, do not edit it manually! +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:intl/intl.dart' as intl; + +import 'onboarding_localization_af.dart'; +import 'onboarding_localization_am.dart'; +import 'onboarding_localization_ar.dart'; +import 'onboarding_localization_az.dart'; +import 'onboarding_localization_be.dart'; +import 'onboarding_localization_bg.dart'; +import 'onboarding_localization_bn.dart'; +import 'onboarding_localization_ca.dart'; +import 'onboarding_localization_cs.dart'; +import 'onboarding_localization_da.dart'; +import 'onboarding_localization_de.dart'; +import 'onboarding_localization_el.dart'; +import 'onboarding_localization_en.dart'; +import 'onboarding_localization_es.dart'; +import 'onboarding_localization_fa.dart'; +import 'onboarding_localization_fr.dart'; +import 'onboarding_localization_gu.dart'; +import 'onboarding_localization_he.dart'; +import 'onboarding_localization_hi.dart'; +import 'onboarding_localization_hu.dart'; +import 'onboarding_localization_id.dart'; +import 'onboarding_localization_it.dart'; +import 'onboarding_localization_ja.dart'; +import 'onboarding_localization_kk.dart'; +import 'onboarding_localization_km.dart'; +import 'onboarding_localization_kn.dart'; +import 'onboarding_localization_ko.dart'; +import 'onboarding_localization_lo.dart'; +import 'onboarding_localization_ml.dart'; +import 'onboarding_localization_mr.dart'; +import 'onboarding_localization_ms.dart'; +import 'onboarding_localization_my.dart'; +import 'onboarding_localization_ne.dart'; +import 'onboarding_localization_nl.dart'; +import 'onboarding_localization_pa.dart'; +import 'onboarding_localization_pl.dart'; +import 'onboarding_localization_ps.dart'; +import 'onboarding_localization_pt.dart'; +import 'onboarding_localization_ro.dart'; +import 'onboarding_localization_ru.dart'; +import 'onboarding_localization_si.dart'; +import 'onboarding_localization_sk.dart'; +import 'onboarding_localization_sw.dart'; +import 'onboarding_localization_ta.dart'; +import 'onboarding_localization_te.dart'; +import 'onboarding_localization_th.dart'; +import 'onboarding_localization_tl.dart'; +import 'onboarding_localization_tr.dart'; +import 'onboarding_localization_uk.dart'; +import 'onboarding_localization_ur.dart'; +import 'onboarding_localization_uz.dart'; +import 'onboarding_localization_vi.dart'; +import 'onboarding_localization_zh.dart'; +import 'onboarding_localization_zu.dart'; + +// ignore_for_file: type=lint + +/// Callers can lookup localized strings with an instance of OnboardingLocalization +/// returned by `OnboardingLocalization.of(context)`. +/// +/// Applications need to include `OnboardingLocalization.delegate()` in their app's +/// `localizationDelegates` list, and the locales they support in the app's +/// `supportedLocales` list. For example: +/// +/// ```dart +/// import 'onboarding/onboarding_localization.dart'; +/// +/// return MaterialApp( +/// localizationsDelegates: OnboardingLocalization.localizationsDelegates, +/// supportedLocales: OnboardingLocalization.supportedLocales, +/// home: MyApplicationHome(), +/// ); +/// ``` +/// +/// ## Update pubspec.yaml +/// +/// Please make sure to update your pubspec.yaml to include the following +/// packages: +/// +/// ```yaml +/// dependencies: +/// # Internationalization support. +/// flutter_localizations: +/// sdk: flutter +/// intl: any # Use the pinned version from flutter_localizations +/// +/// # Rest of dependencies +/// ``` +/// +/// ## iOS Applications +/// +/// iOS applications define key application metadata, including supported +/// locales, in an Info.plist file that is built into the application bundle. +/// To configure the locales supported by your app, you’ll need to edit this +/// file. +/// +/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. +/// Then, in the Project Navigator, open the Info.plist file under the Runner +/// project’s Runner folder. +/// +/// Next, select the Information Property List item, select Add Item from the +/// Editor menu, then select Localizations from the pop-up menu. +/// +/// Select and expand the newly-created Localizations item then, for each +/// locale your application supports, add a new item and select the locale +/// you wish to add from the pop-up menu in the Value field. This list should +/// be consistent with the languages listed in the OnboardingLocalization.supportedLocales +/// property. +abstract class OnboardingLocalization { + OnboardingLocalization(String locale) + : localeName = intl.Intl.canonicalizedLocale(locale.toString()); + + final String localeName; + + static OnboardingLocalization of(BuildContext context) { + return Localizations.of( + context, OnboardingLocalization)!; + } + + static const LocalizationsDelegate delegate = + _OnboardingLocalizationDelegate(); + + /// A list of this localizations delegate along with the default localizations + /// delegates. + /// + /// Returns a list of localizations delegates containing this delegate along with + /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, + /// and GlobalWidgetsLocalizations.delegate. + /// + /// Additional delegates can be added by appending to this list in + /// MaterialApp. This list does not have to be used at all if a custom list + /// of delegates is preferred or required. + static const List> localizationsDelegates = + >[ + delegate, + GlobalMaterialLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + ]; + + /// A list of this localizations delegate's supported locales. + static const List supportedLocales = [ + Locale('af'), + Locale('am'), + Locale('ar'), + Locale('ar', 'EG'), + Locale('az'), + Locale('be'), + Locale('bg'), + Locale('bn'), + Locale('ca'), + Locale('cs'), + Locale('da'), + Locale('de'), + Locale('el'), + Locale('en'), + Locale('es'), + Locale('fa'), + Locale('fr'), + Locale('gu'), + Locale('he'), + Locale('hi'), + Locale('hu'), + Locale('id'), + Locale('it'), + Locale('ja'), + Locale('kk'), + Locale('km'), + Locale('kn'), + Locale('ko'), + Locale('lo'), + Locale('ml'), + Locale('mr'), + Locale('ms'), + Locale('my'), + Locale('ne'), + Locale('nl'), + Locale('pa'), + Locale('pa', 'PK'), + Locale('pl'), + Locale('ps'), + Locale('pt'), + Locale('pt', 'BR'), + Locale('ro'), + Locale('ru'), + Locale('si'), + Locale('sk'), + Locale('sw'), + Locale('ta'), + Locale('te'), + Locale('th'), + Locale('tl'), + Locale('tr'), + Locale('uk'), + Locale('ur'), + Locale('uz'), + Locale('vi'), + Locale('zh'), + Locale('zh', 'CN'), + Locale('zh', 'HK'), + Locale('zu') + ]; + + /// Brand name displayed under the logo on the welcome screen + /// + /// In en, this message translates to: + /// **'doctorina'** + String get appNameLogo; + + /// Short tagline describing the product category + /// + /// In en, this message translates to: + /// **'ADVANCED AI HEALTH ASSISTANT'** + String get welcomeTagline; + + /// Main headline welcoming the user + /// + /// In en, this message translates to: + /// **'Welcome\nto Doctorina!'** + String get welcomeScreenTitle; + + /// Social proof header with highlighted user count + /// New line should be preserved. 48K+ + /// + /// In en, this message translates to: + /// **'Trusted by\n48K+ Users'** + String get socialProofTrustedBy; + + /// Short paragraph explaining the value proposition of the app + /// + /// In en, this message translates to: + /// **'Designed to analyze symptoms the way experienced clinicians do — by understanding patterns, timing, and context.'** + String get welcomeDescription; + + /// Primary call-to-action button to begin onboarding + /// + /// In en, this message translates to: + /// **'Get started'** + String get getStartedBtn; + + /// Secondary text prompting existing users to sign in with tappable login action + /// + /// In en, this message translates to: + /// **'Already have an account? Log In'** + String get alreadyHaveAccount; + + /// Legal consent text with tappable Terms of Service and Privacy Policy + /// New line should be preserved + /// + /// In en, this message translates to: + /// **'By continuing, you agree to our\nTerms of Service | Privacy Policy'** + String get termsConsent; + + /// Headline prompting the user to start personalization with highlighted brand name + /// + /// In en, this message translates to: + /// **'Let\'s personalize\nDoctorina for you'** + String get personalizationInterruptionTitle; + + /// Small section label indicating personalization flow + /// + /// In en, this message translates to: + /// **'PERSONALIZATION'** + String get personalizationSectionLabel; + + /// Question asking why the user opened the app + /// + /// In en, this message translates to: + /// **'What brings you here today?'** + String get personalizationReasonTitle; + + /// Option indicating the user currently has symptoms + /// + /// In en, this message translates to: + /// **'I\'m experiencing symptoms now'** + String get personalizationReasonSymptomsNow; + + /// Option indicating the user wants to understand a health change + /// + /// In en, this message translates to: + /// **'I want to understand a health change'** + String get personalizationReasonUnderstandChange; + + /// Option indicating the user wants to rule out serious issues + /// + /// In en, this message translates to: + /// **'I want to rule out something serious'** + String get personalizationReasonRuleOutSerious; + + /// Option indicating proactive health monitoring + /// + /// In en, this message translates to: + /// **'I\'m monitoring my health proactively'** + String get personalizationReasonMonitoring; + + /// Primary button to proceed to next step + /// + /// In en, this message translates to: + /// **'Continue'** + String get continueBtn; + + /// Introductory empathy statement about health uncertainty + /// + /// In en, this message translates to: + /// **'When something changes in your health, knowing what matters is hardest.'** + String get captionEmpathyText; + + /// Statement explaining Doctorina's analytical approach with emphasized phrase + /// + /// In en, this message translates to: + /// **'Doctorina focuses on symptom patterns and timing — the same signals clinicians look for early on.'** + String get captionDifferentiatorText; + + /// Question asking the user to select gender + /// + /// In en, this message translates to: + /// **'Select your gender'** + String get genderTitle; + + /// Supporting text explaining why gender data is used + /// + /// In en, this message translates to: + /// **'This helps us interpret symptoms and give recommendations more accurately.'** + String get genderSubtitle; + + /// Gender selection option male + /// + /// In en, this message translates to: + /// **'Male'** + String get genderMale; + + /// Gender selection option female + /// + /// In en, this message translates to: + /// **'Female'** + String get genderFemale; + + /// Gender selection option prefer not to disclose + /// + /// In en, this message translates to: + /// **'Prefer not to say'** + String get genderPreferNotSay; + + /// Question asking the user's age + /// + /// In en, this message translates to: + /// **'What is your age?'** + String get ageTitle; + + /// Supporting explanation for age usage + /// + /// In en, this message translates to: + /// **'Age helps us evaluate health patterns more accurately.'** + String get ageSubtitle; + + /// Social proof headline with emphasized number + /// New line should be preserved + /// + /// In en, this message translates to: + /// **'Over 48k+ people\nhave chosen Doctorina'** + String get socialProofLargeTitle; + + /// Small note describing data source + /// + /// In en, this message translates to: + /// **'*Based on Doctorina user base statistics'** + String get socialProofDisclaimer; + + /// Badge text indicating medical expertise + /// New line should be preserved + /// + /// In en, this message translates to: + /// **'Developed by\nDoctors'** + String get developedByDoctors; + + /// Progress indicator showing current quiz step + /// + /// In en, this message translates to: + /// **'STEP 1/6'** + String get quizStepLabel1; + + /// Question about overall health situation + /// + /// In en, this message translates to: + /// **'How would you describe your current health situation?'** + String get quizHealthSituationTitle; + + /// Option indicating no major health concerns + /// + /// In en, this message translates to: + /// **'I generally feel healthy'** + String get quizHealthHealthy; + + /// Option indicating minor ongoing issues + /// + /// In en, this message translates to: + /// **'I have ongoing minor concerns'** + String get quizHealthMinorConcerns; + + /// Option indicating an existing diagnosed condition + /// + /// In en, this message translates to: + /// **'I\'m managing a known condition'** + String get quizHealthKnownCondition; + + /// Option indicating unresolved issue + /// + /// In en, this message translates to: + /// **'I\'m dealing with something unresolved'** + String get quizHealthUnresolved; + + /// Progress indicator showing second quiz step + /// + /// In en, this message translates to: + /// **'STEP 2/6'** + String get quizStepLabel2; + + /// Question about frequency of doctor visits + /// + /// In en, this message translates to: + /// **'How often do you usually see a doctor?'** + String get quizDoctorVisitFrequencyTitle; + + /// Option indicating regular checkups + /// + /// In en, this message translates to: + /// **'Regularly (checkups / follow-ups)'** + String get quizDoctorVisitRegular; + + /// Option indicating occasional visits + /// + /// In en, this message translates to: + /// **'Occasionally, when something wrong'** + String get quizDoctorVisitOccasional; + + /// Option indicating rare visits + /// + /// In en, this message translates to: + /// **'Rarely, only if necessary'** + String get quizDoctorVisitRare; + + /// Пользователь говорит, что не любит ходить к врачам и старается + /// лишний раз не обращаться к доктору. Итоговая фраза должна быть + /// понятной и отражать это поведение, например: + /// «Вы не любите обращаться к врачам» + /// + /// In en, this message translates to: + /// **'Avoid visiting doctors'** + String get quizDoctorVisitAvoid; + + /// Option indicating never visited + /// + /// In en, this message translates to: + /// **'I\'ve never visited a doctor'** + String get quizDoctorVisitNever; + + /// Progress indicator showing third quiz step + /// + /// In en, this message translates to: + /// **'STEP 3/6'** + String get quizStepLabel3; + + /// Question about healthcare challenges + /// + /// In en, this message translates to: + /// **'What\'s been your biggest challenge with healthcare so far?'** + String get quizBiggestChallengeTitle; + + /// Helper text indicating multiple selection allowed + /// + /// In en, this message translates to: + /// **'Choose as many as you like'** + String get quizMultiSelectHint; + + /// Option indicating long appointment wait times + /// + /// In en, this message translates to: + /// **'Long wait times for appointments'** + String get quizChallengeLongWait; + + /// Option indicating short or rushed visits + /// + /// In en, this message translates to: + /// **'Visits feel rushed'** + String get quizChallengeRushedVisits; + + /// Option indicating cost or pricing clarity issues + /// + /// In en, this message translates to: + /// **'High cost or unclear pricing'** + String get quizChallengeCost; + + /// Option indicating difficulty explaining symptoms + /// + /// In en, this message translates to: + /// **'Hard to explain everything clearly'** + String get quizChallengeHardExplain; + + /// Option indicating conflicting medical opinions + /// + /// In en, this message translates to: + /// **'Conflicting opinions or advice'** + String get quizChallengeConflictingAdvice; + + /// Option indicating no major issues + /// + /// In en, this message translates to: + /// **'No major issues'** + String get quizChallengeNone; + + /// Progress indicator showing fourth quiz step + /// + /// In en, this message translates to: + /// **'STEP 4/6'** + String get quizStepLabel4; + + /// Question about clarity after doctor appointments + /// + /// In en, this message translates to: + /// **'After appointments, how confident do you feel about what you were told?'** + String get quizConfidenceAfterAppointmentTitle; + + /// Helper note clarifying subjective nature + /// + /// In en, this message translates to: + /// **'There\'s no right or wrong answer.'** + String get quizConfidenceNoRightAnswer; + + /// Option indicating full understanding + /// + /// In en, this message translates to: + /// **'Very clear about what\'s going on'** + String get quizConfidenceVeryClear; + + /// Option indicating partial clarity + /// + /// In en, this message translates to: + /// **'Somewhat clear'** + String get quizConfidenceSomewhatClear; + + /// Option indicating ongoing uncertainty + /// + /// In en, this message translates to: + /// **'Still uncertain'** + String get quizConfidenceStillUncertain; + + /// Option indicating increased confusion + /// + /// In en, this message translates to: + /// **'More confused than before'** + String get quizConfidenceMoreConfused; + + /// Образовательная подпись, подчеркивающая развитие симптомов. + /// Подпись должна объяснять, что многие люди сталкиваются с трудностями + /// не сразу после постановки диагноза, а когда симптомы меняются со временем. + /// + /// In en, this message translates to: + /// **'Many people struggle not after diagnosis but when symptoms change over time.'** + String get captionDiagnosisVsChange; + + /// Progress indicator showing fifth quiz step + /// + /// In en, this message translates to: + /// **'STEP 5/6'** + String get quizStepLabel5; + + /// Question about how well concerns are addressed + /// + /// In en, this message translates to: + /// **'How well do you feel your concerns are usually addressed?'** + String get quizConcernsAddressedTitle; + + /// Clarifies answers are subjective + /// + /// In en, this message translates to: + /// **'Based on your subjective feelings'** + String get quizConcernsAddressedSubtitle; + + /// Option indicating strong satisfaction + /// + /// In en, this message translates to: + /// **'Very well'** + String get quizConcernsVeryWell; + + /// Option indicating moderate satisfaction + /// + /// In en, this message translates to: + /// **'Fairly well'** + String get quizConcernsFairlyWell; + + /// Option indicating low satisfaction + /// + /// In en, this message translates to: + /// **'Not very well'** + String get quizConcernsNotVeryWell; + + /// Option indicating inconsistent experience + /// + /// In en, this message translates to: + /// **'It varies a lot'** + String get quizConcernsVaries; + + /// Progress indicator showing sixth quiz step + /// + /// In en, this message translates to: + /// **'STEP 6/6'** + String get quizStepLabel6; + + /// Question about pre-visit self-research behavior + /// + /// In en, this message translates to: + /// **'Before seeing a doctor, do you usually try to make sense of symptoms yourself?'** + String get quizSelfResearchTitle; + + /// Option indicating proactive research + /// + /// In en, this message translates to: + /// **'Yes, I research and track things'** + String get quizSelfResearchYes; + + /// Option indicating occasional research + /// + /// In en, this message translates to: + /// **'Sometimes'** + String get quizSelfResearchSometimes; + + /// Option indicating rare research + /// + /// In en, this message translates to: + /// **'Rarely'** + String get quizSelfResearchRarely; + + /// Option indicating full reliance on professionals + /// + /// In en, this message translates to: + /// **'No, I rely entirely on professionals'** + String get quizSelfResearchNo; + + /// Statement about healthcare accessibility with highlighted phrase + /// + /// In en, this message translates to: + /// **'Health questions don\'t follow office hours.'** + String get captionAvailabilityTitle; + + /// Statement about continuous availability + /// + /// In en, this message translates to: + /// **'Doctorina is available 24/7.'** + String get captionAvailabilitySupport; + + /// Supporting line reinforcing immediate clarity + /// + /// In en, this message translates to: + /// **'Clarity shouldn\'t have to wait for the next appointment.'** + String get captionAvailabilityDescription; + + /// Question asking about permission for notifications + /// + /// In en, this message translates to: + /// **'Do you want us to check in on your health symptoms?'** + String get notificationTitle; + + /// Explanation about why better to enable notification + /// + /// In en, this message translates to: + /// **'AI can monitor your symptoms and alert you if something may need attention'** + String get notificationDescription; + + /// Option indicating yes to all notifications + /// + /// In en, this message translates to: + /// **'Yes — keep an eye on my health'** + String get notificationYes; + + /// Option indicating yes only for important notification + /// + /// In en, this message translates to: + /// **'Yes — only if something important changes'** + String get notificationOnlyImportant; + + /// Option indicating user don't want to enable notification now + /// + /// In en, this message translates to: + /// **'Not sure yet'** + String get notificationNo; + + /// Question asking whether a doctor recommended Doctorina + /// + /// In en, this message translates to: + /// **'Did you hear about Doctorina from a doctor?'** + String get referralSourceTitle; + + /// Yes option + /// + /// In en, this message translates to: + /// **'Yes'** + String get referralSourceYes; + + /// No option + /// + /// In en, this message translates to: + /// **'No'** + String get referralSourceNo; + + /// Small label indicating analysis phase + /// + /// In en, this message translates to: + /// **'ANALYZING YOUR RESULTS'** + String get processingSectionLabel; + + /// Title on the results processing screen + /// + /// In en, this message translates to: + /// **'Personalizing your experience'** + String get processingTitle; + + /// Progress percentage value during processing + /// + /// In en, this message translates to: + /// **'{percent}%'** + String processingPercentValue(int percent); + + /// Main paywall headline with highlighted product tier + /// + /// In en, this message translates to: + /// **'Unlimited experience with Doctorina Pro'** + String get paywallHeadline; + + /// Supporting tagline under logo + /// + /// In en, this message translates to: + /// **'YOUR ASSISTANT WHO IS ALWAYS NEARBY'** + String get paywallAssistantTagline; + + /// Toggle label offering free trial + /// + /// In en, this message translates to: + /// **'Not sure yet? Enable free trial.'** + String get paywallEnableTrialToggle; + + /// Yearly subscription plan title + /// + /// In en, this message translates to: + /// **'Yearly'** + String get paywallPlanYear; + + /// Monthly subscription plan title + /// + /// In en, this message translates to: + /// **'Monthly'** + String get paywallPlanMonthly; + + /// Weekly subscription plan title + /// + /// In en, this message translates to: + /// **'Weekly'** + String get paywallPlanWeek; + + /// Daily subscription plan title + /// + /// In en, this message translates to: + /// **'Daily'** + String get paywallPlanDaily; + + /// Yearly subscription price with weekly equivalent + /// + /// In en, this message translates to: + /// **'\$39.99 (only \$3.34/week)'** + String get paywallPlanYearPrice; + + /// Weekly subscription price + /// + /// In en, this message translates to: + /// **'\$3.99'** + String get paywallPlanWeekPrice; + + /// Discount badge label + /// + /// In en, this message translates to: + /// **'SAVE 58%'** + String get paywallSaveBadge; + + /// Continue purchase without trial + /// + /// In en, this message translates to: + /// **'Continue'** + String get paywallContinueBtn; + + /// Start free trial CTA + /// + /// In en, this message translates to: + /// **'Start Free-trial'** + String get paywallStartTrialBtn; + + /// Legal renewal disclaimer + /// + /// In en, this message translates to: + /// **'Subscription is auto-renewable. Cancel anytime'** + String get paywallSubscriptionDisclaimer; + + /// Links to legal documents + /// + /// In en, this message translates to: + /// **'Terms of Service | Privacy Policy'** + String get paywallTermsPrivacy; + + /// Week, in context per week, e.g. "$3,99/week" + /// + /// In en, this message translates to: + /// **'week'** + String get paywallPerWeek; + + /// Section label on the results processing screen + /// + /// In en, this message translates to: + /// **'Analyzing your results'** + String get processingLabel; + + /// Tooltip for the paywall close button + /// + /// In en, this message translates to: + /// **'Close onboarding'** + String get paywallCloseTooltip; + + /// Tooltip for the restore purchases button + /// + /// In en, this message translates to: + /// **'Restore Purchases'** + String get paywallRestoreTooltip; + + /// Restore purchases button text + /// + /// In en, this message translates to: + /// **'Restore'** + String get paywallRestoreBtn; + + /// Message when no active subscription found to restore + /// + /// In en, this message translates to: + /// **'No active subscription found to restore.'** + String get paywallRestoreNoneFound; + + /// Error message when restore purchases fails + /// + /// In en, this message translates to: + /// **'Failed to restore purchases. Please try again later.'** + String get paywallRestoreError; + + /// Error message when subscription purchase fails + /// + /// In en, this message translates to: + /// **'Failed to complete the purchase. Please try again later.'** + String get paywallPurchaseError; + + /// Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня) + /// + /// In en, this message translates to: + /// **'Today: Get instant access'** + String get paywallTrialStep1Title; + + /// Описание 1-го шага таймлайна триала на пейволле v2 + /// + /// In en, this message translates to: + /// **'Unlock full access, get AI health answers, anytime.'** + String get paywallTrialStep1Description; + + /// Заголовок 2-го шага таймлайна триала (напоминание о завершении триала) + /// + /// In en, this message translates to: + /// **'Day 2: Trial reminder'** + String get paywallTrialStep2Title; + + /// Описание 2-го шага таймлайна триала на пейволле v2 + /// + /// In en, this message translates to: + /// **'We\'ll send you a reminder that your trial is about to end'** + String get paywallTrialStep2Description; + + /// Заголовок 3-го шага таймлайна триала (списание после окончания триала) + /// + /// In en, this message translates to: + /// **'Day 3: Renewal'** + String get paywallTrialStep3Title; + + /// Описание 3-го шага таймлайна с датой ближайшего списания + /// + /// In en, this message translates to: + /// **'You\'ll be charged on {date}, cancel anytime before.'** + String paywallTrialStep3Description(String date); + + /// Заголовок таблицы с фичами Free/Pro на пейволле v2 + /// + /// In en, this message translates to: + /// **'WHAT\'S INCLUDED'** + String get paywallBenefitsHeader; + + /// Бейдж колонки "Free" в таблице фич на пейволле v2 + /// + /// In en, this message translates to: + /// **'FREE'** + String get paywallBenefitsBadgeFree; + + /// Бейдж колонки "Pro" в таблице фич на пейволле v2 + /// + /// In en, this message translates to: + /// **'PRO'** + String get paywallBenefitsBadgePro; + + /// Пункт списка фич на пейволле v2 — приватность и безопасность + /// + /// In en, this message translates to: + /// **'Private and secure'** + String get paywallBenefitPrivateSecure; + + /// Пункт списка фич на пейволле v2 — AI-ассистент 24/7 + /// + /// In en, this message translates to: + /// **'AI assistant, 24/7'** + String get paywallBenefitAiAssistant; + + /// Пункт списка фич на пейволле v2 — мгновенные ответы + /// + /// In en, this message translates to: + /// **'Instant health answers'** + String get paywallBenefitInstantAnswers; + + /// Пункт списка фич на пейволле v2 — научно обоснованные инсайты + /// + /// In en, this message translates to: + /// **'Clear, science-based insights'** + String get paywallBenefitScienceInsights; + + /// Пункт списка фич на пейволле v2 — автоматические резюме консультаций + /// + /// In en, this message translates to: + /// **'Auto conversation summaries'** + String get paywallBenefitAutoSummaries; + + /// Пункт списка фич на пейволле v2 — поддержка любого языка + /// + /// In en, this message translates to: + /// **'Any language, anytime'** + String get paywallBenefitAnyLanguage; + + /// Подпись "per week" под ценой подписки в плитке выбора плана на пейволле v2 + /// + /// In en, this message translates to: + /// **'per week'** + String get paywallPriceUnitPerWeek; + + /// Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово "одноразовый" применимо к поссуде, а не к предложению. One time offer лучше перевести как "Разовое предложение" + /// + /// In en, this message translates to: + /// **'One time offer'** + String get paywallOfferTitle; + + /// Процент скидки на белой карточке шита одноразового оффера + /// + /// In en, this message translates to: + /// **'{percent}% OFF'** + String paywallOfferDiscountPercent(int percent); + + /// Подпись "FOREVER" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как "НАВСЕГДА" (не так пафосно , как "навечно") + /// + /// In en, this message translates to: + /// **'FOREVER'** + String get paywallOfferForeverBadge; + + /// Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: "У вас только один шанс воспользоваться этим предложением" + /// + /// In en, this message translates to: + /// **'Once you close your one-time offer, it\'s gone!'** + String get paywallOfferDisclaimer; + + /// Цена за месяц для годовой подписки на карточке одноразового оффера + /// + /// In en, this message translates to: + /// **'{price}/mo'** + String paywallOfferPricePerMonth(String price); + + /// Бейдж "LOWEST PRICE EVER" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: "САМАЯ НИЗКАЯ ЦЕНА" + /// + /// In en, this message translates to: + /// **'LOWEST PRICE EVER'** + String get paywallOfferLowestPriceBadge; + + /// Подпись "Cancel anytime" между карточкой подписки и CTA. "Отмена в любой момент" - хороший ориентир для перевода на русский, украинский и белорусский + /// + /// In en, this message translates to: + /// **'Cancel anytime'** + String get paywallOfferCancelAnytime; + + /// CTA-кнопка для активации одноразового оффера. "Получить предложение" - хороший ориентир для перевода на русский, украинский и белорусский + /// + /// In en, this message translates to: + /// **'Claim your offer'** + String get paywallOfferClaimButton; + + /// Футер шита одноразового оффера — текст про автопродление подписки + /// + /// In en, this message translates to: + /// **'Auto-renewable subscription'** + String get paywallOfferAutoRenewable; + + /// Заголовок шита подарка перед одноразовым оффером + /// + /// In en, this message translates to: + /// **'Special gift inside'** + String get paywallGiftBoxTitle; + + /// Подзаголовок шита подарка с приглашением открыть оффер. "Нажмите, чтобы открыть специальное предложение" - хороший ориентир для перевода на русский, украинский и белорусский + /// + /// In en, this message translates to: + /// **'One tap to reveal your special offer'** + String get paywallGiftBoxSubtitle; + + /// CTA-кнопка для открытия шита подарка. "Открыть" - хороший ориентир для перевода на русский, украинский и белорусский + /// + /// In en, this message translates to: + /// **'Open now'** + String get paywallGiftBoxOpenButton; + + /// Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле + /// + /// In en, this message translates to: + /// **'Failed to load subscription options. Please try again later.'** + String get paywallRetryLoadPricesError; + + /// Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок + /// + /// In en, this message translates to: + /// **'Couldn\'t load subscription prices'** + String get paywallPricesUnavailableTitle; + + /// Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить + /// + /// In en, this message translates to: + /// **'Check your connection and try again.'** + String get paywallPricesUnavailableMessage; + + /// Текст кнопки повторной загрузки цен в фолбэке пейволла + /// + /// In en, this message translates to: + /// **'Try again'** + String get paywallPricesUnavailableRetryButton; + + /// Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: "Пр-ть" + /// + /// In en, this message translates to: + /// **'Skip'** + String get skipOnboardingButton; +} + +class _OnboardingLocalizationDelegate + extends LocalizationsDelegate { + const _OnboardingLocalizationDelegate(); + + @override + Future load(Locale locale) { + return SynchronousFuture( + lookupOnboardingLocalization(locale)); + } + + @override + bool isSupported(Locale locale) => [ + 'af', + 'am', + 'ar', + 'az', + 'be', + 'bg', + 'bn', + 'ca', + 'cs', + 'da', + 'de', + 'el', + 'en', + 'es', + 'fa', + 'fr', + 'gu', + 'he', + 'hi', + 'hu', + 'id', + 'it', + 'ja', + 'kk', + 'km', + 'kn', + 'ko', + 'lo', + 'ml', + 'mr', + 'ms', + 'my', + 'ne', + 'nl', + 'pa', + 'pl', + 'ps', + 'pt', + 'ro', + 'ru', + 'si', + 'sk', + 'sw', + 'ta', + 'te', + 'th', + 'tl', + 'tr', + 'uk', + 'ur', + 'uz', + 'vi', + 'zh', + 'zu' + ].contains(locale.languageCode); + + @override + bool shouldReload(_OnboardingLocalizationDelegate old) => false; +} + +OnboardingLocalization lookupOnboardingLocalization(Locale locale) { + // Lookup logic when language+country codes are specified. + switch (locale.languageCode) { + case 'ar': + { + switch (locale.countryCode) { + case 'EG': + return OnboardingLocalizationArEg(); + } + break; + } + case 'pa': + { + switch (locale.countryCode) { + case 'PK': + return OnboardingLocalizationPaPk(); + } + break; + } + case 'pt': + { + switch (locale.countryCode) { + case 'BR': + return OnboardingLocalizationPtBr(); + } + break; + } + case 'zh': + { + switch (locale.countryCode) { + case 'CN': + return OnboardingLocalizationZhCn(); + case 'HK': + return OnboardingLocalizationZhHk(); + } + break; + } + } + + // Lookup logic when only language code is specified. + switch (locale.languageCode) { + case 'af': + return OnboardingLocalizationAf(); + case 'am': + return OnboardingLocalizationAm(); + case 'ar': + return OnboardingLocalizationAr(); + case 'az': + return OnboardingLocalizationAz(); + case 'be': + return OnboardingLocalizationBe(); + case 'bg': + return OnboardingLocalizationBg(); + case 'bn': + return OnboardingLocalizationBn(); + case 'ca': + return OnboardingLocalizationCa(); + case 'cs': + return OnboardingLocalizationCs(); + case 'da': + return OnboardingLocalizationDa(); + case 'de': + return OnboardingLocalizationDe(); + case 'el': + return OnboardingLocalizationEl(); + case 'en': + return OnboardingLocalizationEn(); + case 'es': + return OnboardingLocalizationEs(); + case 'fa': + return OnboardingLocalizationFa(); + case 'fr': + return OnboardingLocalizationFr(); + case 'gu': + return OnboardingLocalizationGu(); + case 'he': + return OnboardingLocalizationHe(); + case 'hi': + return OnboardingLocalizationHi(); + case 'hu': + return OnboardingLocalizationHu(); + case 'id': + return OnboardingLocalizationId(); + case 'it': + return OnboardingLocalizationIt(); + case 'ja': + return OnboardingLocalizationJa(); + case 'kk': + return OnboardingLocalizationKk(); + case 'km': + return OnboardingLocalizationKm(); + case 'kn': + return OnboardingLocalizationKn(); + case 'ko': + return OnboardingLocalizationKo(); + case 'lo': + return OnboardingLocalizationLo(); + case 'ml': + return OnboardingLocalizationMl(); + case 'mr': + return OnboardingLocalizationMr(); + case 'ms': + return OnboardingLocalizationMs(); + case 'my': + return OnboardingLocalizationMy(); + case 'ne': + return OnboardingLocalizationNe(); + case 'nl': + return OnboardingLocalizationNl(); + case 'pa': + return OnboardingLocalizationPa(); + case 'pl': + return OnboardingLocalizationPl(); + case 'ps': + return OnboardingLocalizationPs(); + case 'pt': + return OnboardingLocalizationPt(); + case 'ro': + return OnboardingLocalizationRo(); + case 'ru': + return OnboardingLocalizationRu(); + case 'si': + return OnboardingLocalizationSi(); + case 'sk': + return OnboardingLocalizationSk(); + case 'sw': + return OnboardingLocalizationSw(); + case 'ta': + return OnboardingLocalizationTa(); + case 'te': + return OnboardingLocalizationTe(); + case 'th': + return OnboardingLocalizationTh(); + case 'tl': + return OnboardingLocalizationTl(); + case 'tr': + return OnboardingLocalizationTr(); + case 'uk': + return OnboardingLocalizationUk(); + case 'ur': + return OnboardingLocalizationUr(); + case 'uz': + return OnboardingLocalizationUz(); + case 'vi': + return OnboardingLocalizationVi(); + case 'zh': + return OnboardingLocalizationZh(); + case 'zu': + return OnboardingLocalizationZu(); + } + + throw FlutterError( + 'OnboardingLocalization.delegate failed to load unsupported locale "$locale". This is likely ' + 'an issue with the localizations generation tool. Please file an issue ' + 'on GitHub with a reproducible sample app and the gen-l10n configuration ' + 'that was used.'); +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_af.dart b/example/lib/src/generated/onboarding/onboarding_localization_af.dart new file mode 100644 index 0000000..6ce1009 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_af.dart @@ -0,0 +1,484 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Afrikaans (`af`). +class OnboardingLocalizationAf extends OnboardingLocalization { + OnboardingLocalizationAf([String locale = 'af']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'GEVORDERDE KI-GESONDHEIDSHULP'; + + @override + String get welcomeScreenTitle => 'Welkom by Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Ontwerp om simptome te analiseer soos ervare klinici — deur patrone, tydsberekening en konteks te verstaan.'; + + @override + String get getStartedBtn => 'Begin'; + + @override + String get alreadyHaveAccount => 'Het al \'n rekening? Teken In'; + + @override + String get termsConsent => + 'Deur voort te gaan, stem jy in tot ons\nTerme van Diens | Privaatheidsbeleid'; + + @override + String get personalizationInterruptionTitle => + 'Kom ons personaliseer Doctorina vir jou'; + + @override + String get personalizationSectionLabel => 'PERSONALISERING'; + + @override + String get personalizationReasonTitle => 'Wat bring jou hier vandag?'; + + @override + String get personalizationReasonSymptomsNow => 'Ek ervaar nou simptome'; + + @override + String get personalizationReasonUnderstandChange => + 'Ek wil \'n gesondheidsverandering verstaan'; + + @override + String get personalizationReasonRuleOutSerious => + 'Ek wil iets ernstigs uitsluit'; + + @override + String get personalizationReasonMonitoring => + 'Ek monitor my gesondheid proaktief'; + + @override + String get continueBtn => 'Gaan voort'; + + @override + String get captionEmpathyText => + 'Wanneer iets in jou gesondheid verander, is dit die moeilikste om te weet wat belangrik is.'; + + @override + String get captionDifferentiatorText => + 'Doctorina fokus op simptoompatrone en tydsberekening — dieselfde seine wat klinici vroegtydig soek.'; + + @override + String get genderTitle => 'Kies jou geslag'; + + @override + String get genderSubtitle => + 'Dit help ons om simptome te interpreteer en aanbevelings meer akkuraat te gee'; + + @override + String get genderMale => 'Man'; + + @override + String get genderFemale => 'Vroulik'; + + @override + String get genderPreferNotSay => 'Verkies om nie te sê'; + + @override + String get ageTitle => 'Wat is jou ouderdom?'; + + @override + String get ageSubtitle => + ' ouderdom help ons om gesondheidspatrone meer akkuraat te evalueer.'; + + @override + String get socialProofLargeTitle => + 'Meer as 48k+ mense\nhet Doctorina gekies'; + + @override + String get socialProofDisclaimer => + '*Gebaseer op Doctorina gebruikersstatistieke'; + + @override + String get developedByDoctors => 'Ontwikkel deur\nDokters'; + + @override + String get quizStepLabel1 => 'STAP 1/6'; + + @override + String get quizHealthSituationTitle => + 'Hoe sou jy jou huidige gesondheidstoestand beskryf?'; + + @override + String get quizHealthHealthy => 'Ek voel oor die algemeen gesond'; + + @override + String get quizHealthMinorConcerns => + 'Ek het aanhoudende klein bekommernisse'; + + @override + String get quizHealthKnownCondition => 'Ek bestuur \'n bekende toestand'; + + @override + String get quizHealthUnresolved => 'Ek hanteer iets wat nie opgelos is'; + + @override + String get quizStepLabel2 => 'STAP 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Hoe gereeld sien jy gewoonlik \'n dokter?'; + + @override + String get quizDoctorVisitRegular => 'Gereeld (kontroles / opvolgings)'; + + @override + String get quizDoctorVisitOccasional => 'Af en toe, wanneer iets verkeerd is'; + + @override + String get quizDoctorVisitRare => 'Selde, net as dit nodig is'; + + @override + String get quizDoctorVisitAvoid => 'Vermy om dokters te besoek'; + + @override + String get quizDoctorVisitNever => 'Ek het nog nooit \'n dokter besoek nie'; + + @override + String get quizStepLabel3 => 'STAP 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Wat was tot dusver jou grootste uitdaging met gesondheidsorg?'; + + @override + String get quizMultiSelectHint => 'Kies soveel as wat jy wil'; + + @override + String get quizChallengeLongWait => 'Lang wagtye vir afspraak'; + + @override + String get quizChallengeRushedVisits => 'Besuche voel gejaagd'; + + @override + String get quizChallengeCost => 'Hoë koste of onduidelike prys'; + + @override + String get quizChallengeHardExplain => + 'Dit is moeilik om alles duidelik te verduidelik'; + + @override + String get quizChallengeConflictingAdvice => 'Teenstrydige menings of advies'; + + @override + String get quizChallengeNone => 'Geen groot probleme'; + + @override + String get quizStepLabel4 => 'STAP 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Na afspraak, hoe selfversekerd voel jy oor wat vir jou gesê is?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Daar is geen regte of verkeerde antwoord.'; + + @override + String get quizConfidenceVeryClear => 'Baie duidelik oor wat aangaan'; + + @override + String get quizConfidenceSomewhatClear => 'Iets duidelik'; + + @override + String get quizConfidenceStillUncertain => 'Nog steeds onseker'; + + @override + String get quizConfidenceMoreConfused => 'Meer verward as voorheen'; + + @override + String get captionDiagnosisVsChange => + 'Baie mense sukkel nie na diagnose nie, maar wanneer simptome oor tyd verander.'; + + @override + String get quizStepLabel5 => 'STAP 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Hoe goed voel jy dat jou bekommernisse gewoonlik aangespreek word?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Gebaseer op jou subjektiewe gevoelens'; + + @override + String get quizConcernsVeryWell => 'Baie goed'; + + @override + String get quizConcernsFairlyWell => 'Redelik goed'; + + @override + String get quizConcernsNotVeryWell => 'Nie baie goed'; + + @override + String get quizConcernsVaries => 'Dit wissel baie'; + + @override + String get quizStepLabel6 => 'STAP 6/6'; + + @override + String get quizSelfResearchTitle => + 'Voordat jy \'n dokter sien, probeer jy gewoonlik om simptome self te verstaan?'; + + @override + String get quizSelfResearchYes => 'Ja, ek navors en volg dinge'; + + @override + String get quizSelfResearchSometimes => 'Soms'; + + @override + String get quizSelfResearchRarely => 'Selde'; + + @override + String get quizSelfResearchNo => 'Nee, ek vertrou heeltemal op professionele'; + + @override + String get captionAvailabilityTitle => + 'Gesondheidsvrae volg nie kantoorure nie.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina is 24/7 beskikbaar.'; + + @override + String get captionAvailabilityDescription => + 'Duidelikheid hoef nie vir die volgende afspraak te wag nie'; + + @override + String get notificationTitle => + 'Wil jy hê ons moet jou gesondheidssimptome nagaan?'; + + @override + String get notificationDescription => + 'KI kan jou simptome monitor en jou waarsku as iets aandag benodig'; + + @override + String get notificationYes => 'Ja — hou my gesondheid dop'; + + @override + String get notificationOnlyImportant => 'Ja — net as iets belangrik verander'; + + @override + String get notificationNo => 'Nie seker nie'; + + @override + String get referralSourceTitle => + 'Het u van Doctorina gehoor gegee van \'n dokter?'; + + @override + String get referralSourceYes => 'Ja'; + + @override + String get referralSourceNo => 'Nee'; + + @override + String get processingSectionLabel => 'ANALISEER JOU RESULTATE'; + + @override + String get processingTitle => 'Personalisering van jou ervaring'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Onbeperkte ervaring met Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'JOU ASSISTENT WAT ALTYD NABY IS'; + + @override + String get paywallEnableTrialToggle => + 'Nie seker nie? Aktiveer gratis proef.'; + + @override + String get paywallPlanYear => 'Jaarliks'; + + @override + String get paywallPlanMonthly => 'Maandeliks'; + + @override + String get paywallPlanWeek => 'Weekliks'; + + @override + String get paywallPlanDaily => 'Daagliks'; + + @override + String get paywallPlanYearPrice => '\$39.99 (slegs \$3.34/week)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'BESPAAR 58%'; + + @override + String get paywallContinueBtn => 'Gaan voort'; + + @override + String get paywallStartTrialBtn => 'Begin gratis proefperiode'; + + @override + String get paywallSubscriptionDisclaimer => + 'Intekening is outomaties hernuurbaar. Kanselleer enige tyd'; + + @override + String get paywallTermsPrivacy => + 'Diensvoorwaardes | Privaatheidsbeleid'; + + @override + String get paywallPerWeek => 'week'; + + @override + String get processingLabel => 'Analiseer jou resultate'; + + @override + String get paywallCloseTooltip => 'Sluit aanmelding'; + + @override + String get paywallRestoreTooltip => 'Herstel Aankope'; + + @override + String get paywallRestoreBtn => 'Herstel'; + + @override + String get paywallRestoreNoneFound => + 'Geen aktiewe intekening gevind om te herstel.'; + + @override + String get paywallRestoreError => + 'Kon nie aankope herstel nie. Probeer asseblief later weer.'; + + @override + String get paywallPurchaseError => + 'Kon nie die aankoop voltooi nie. Probeer asseblief later weer.'; + + @override + String get paywallTrialStep1Title => 'Vandag: Kry onmiddellike toegang'; + + @override + String get paywallTrialStep1Description => + 'Ontsluit volle toegang, kry AI gesondheidsantwoorde, enige tyd.'; + + @override + String get paywallTrialStep2Title => 'Dag 2: Proef herinnering'; + + @override + String get paywallTrialStep2Description => + 'Ons sal vir jou \'n herinnering stuur dat jou proeflopie op die punt staan om te eindig'; + + @override + String get paywallTrialStep3Title => 'Dag 3: Vernieuwing'; + + @override + String paywallTrialStep3Description(String date) { + return 'Jy sal op $date gefaktureer word, kanselleer enige tyd voor.'; + } + + @override + String get paywallBenefitsHeader => 'WAT IS INSLUITEND'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privaat en veilig'; + + @override + String get paywallBenefitAiAssistant => 'AI-assistent, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Instant gesondheidsantwoorde'; + + @override + String get paywallBenefitScienceInsights => + 'Duidelike, wetenskap-gebaseerde insigte'; + + @override + String get paywallBenefitAutoSummaries => 'Outomatiese gesprekopsommings'; + + @override + String get paywallBenefitAnyLanguage => 'Enige taal, enige tyd'; + + @override + String get paywallPriceUnitPerWeek => 'per week'; + + @override + String get paywallOfferTitle => 'Eenmalige aanbod'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% AFslag'; + } + + @override + String get paywallOfferForeverBadge => 'EWIG'; + + @override + String get paywallOfferDisclaimer => + 'Sodra jy jou eenmalige aanbod sluit, is dit weg!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/maand'; + } + + @override + String get paywallOfferLowestPriceBadge => 'LAAGSTE PRYS OOIT'; + + @override + String get paywallOfferCancelAnytime => 'Kanselleer enige tyd'; + + @override + String get paywallOfferClaimButton => 'Eis jou aanbod'; + + @override + String get paywallOfferAutoRenewable => 'Outomaties hernubare intekening'; + + @override + String get paywallGiftBoxTitle => 'Spesiale geskenk binne'; + + @override + String get paywallGiftBoxSubtitle => + 'Een tik om jou spesiale aanbod te onthul'; + + @override + String get paywallGiftBoxOpenButton => 'Maak nou oop'; + + @override + String get paywallRetryLoadPricesError => + 'Kon nie opsies vir intekening laai nie. Probeer asseblief later weer.'; + + @override + String get paywallPricesUnavailableTitle => + 'Kon nie subskripsiepryse laai nie'; + + @override + String get paywallPricesUnavailableMessage => + 'Kontroleer jou verbinding en probeer weer.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Probeer weer'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_am.dart b/example/lib/src/generated/onboarding/onboarding_localization_am.dart new file mode 100644 index 0000000..a6134d2 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_am.dart @@ -0,0 +1,462 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Amharic (`am`). +class OnboardingLocalizationAm extends OnboardingLocalization { + OnboardingLocalizationAm([String locale = 'am']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'የተሻሻለ ኤይ አይ ጤና አገልግሎት'; + + @override + String get welcomeScreenTitle => 'እንኳን ወደ ዶክቶሪና በደህና መጡ!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'ልምድ ያላቸው የሕክምና ባለሙያዎች እንደሚያደርጉት ምልክቶችን ለመተንተን የተነደፈ - ቅጦችን፣ ጊዜን እና አውድን በመረዳት።'; + + @override + String get getStartedBtn => 'እንጀምር'; + + @override + String get alreadyHaveAccount => 'መለያ አለዎት? ግባ'; + + @override + String get termsConsent => + 'በመቀጠል፣ በእኛ የአገልግሎት ውል | የግላዊነት መመሪያ ተስማምተዋል'; + + @override + String get personalizationInterruptionTitle => 'ለእርስዎ የዶክተሪናን ብራንድ እናስተካክል'; + + @override + String get personalizationSectionLabel => 'ግላዊነት ማላበስ'; + + @override + String get personalizationReasonTitle => 'ዛሬ እዚህ ምን አመጣህ?'; + + @override + String get personalizationReasonSymptomsNow => 'አሁን የሕመም ምልክቶች እያጋጠሙኝ ነው'; + + @override + String get personalizationReasonUnderstandChange => 'የጤና ለውጥን መረዳት እፈልጋለሁ'; + + @override + String get personalizationReasonRuleOutSerious => 'ከባድ የሆነ ነገርን ማስወገድ እፈልጋለሁ'; + + @override + String get personalizationReasonMonitoring => 'ጤናዬን በንቃት እየተከታተልኩ ነው'; + + @override + String get continueBtn => 'ቀጥል'; + + @override + String get captionEmpathyText => + 'በጤናዎ ላይ የሆነ ነገር ሲለወጥ፣ ምን አስፈላጊ እንደሆነ ማወቅ በጣም ከባድ ነው።'; + + @override + String get captionDifferentiatorText => + 'ዶክቶሪና በምልክት ምልክቶች እና በጊዜ አቆጣጠር ላይ ያተኩራል -- ይህም ክሊኒኮች ቀደም ብለው የሚፈልጉት ተመሳሳይ ምልክቶች ናቸው።'; + + @override + String get genderTitle => 'ጾታዎን ይምረጡ'; + + @override + String get genderSubtitle => + 'ይህም ምልክቶችን ለመተርጎም እና ምክሮችን በበለጠ በትክክል ለመስጠት ይረዳናል።'; + + @override + String get genderMale => 'ወንድ'; + + @override + String get genderFemale => 'ሴት'; + + @override + String get genderPreferNotSay => 'ባትናገር እመርጣለሁ'; + + @override + String get ageTitle => 'ዕድሜህ ስንት ነው?'; + + @override + String get ageSubtitle => 'ዕድሜ የጤና ሁኔታዎችን በትክክል እንድንገመግም ይረዳናል።'; + + @override + String get socialProofLargeTitle => + '<አረንጓዴ>ከ48ሺህ በላይ ሰዎች \nዶክተሪናን መርጠዋል'; + + @override + String get socialProofDisclaimer => '*በዶኪና የተጠቃሚ መሰረት ስታቲስቲክስ ላይ የተመሠረተ'; + + @override + String get developedByDoctors => 'በ ዶክተሮች የተዘጋጀ'; + + @override + String get quizStepLabel1 => 'ደረጃ 1/6'; + + @override + String get quizHealthSituationTitle => 'የአሁኑን የጤና ሁኔታዎን እንዴት ይገልጹታል?'; + + @override + String get quizHealthHealthy => 'በአጠቃላይ ጤናማ እንደሆንኩ ይሰማኛል'; + + @override + String get quizHealthMinorConcerns => 'ቀጣይ የሆኑ ጥቃቅን ስጋቶች አሉብኝ'; + + @override + String get quizHealthKnownCondition => 'የታወቀ ሁኔታን እያስተዳደርኩ ነው'; + + @override + String get quizHealthUnresolved => 'ያልተፈታ ነገር እያጋጠመኝ ነው'; + + @override + String get quizStepLabel2 => 'ደረጃ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'አብዛኛውን ጊዜ ዶክተርን ምን ያህል ጊዜ ነው የሚያዩት?'; + + @override + String get quizDoctorVisitRegular => 'በመደበኛነት (ምርመራዎች / ክትትል)'; + + @override + String get quizDoctorVisitOccasional => 'አልፎ አልፎ፣ የሆነ ነገር ሲበላሽ'; + + @override + String get quizDoctorVisitRare => 'አልፎ አልፎ፣ አስፈላጊ ከሆነ ብቻ'; + + @override + String get quizDoctorVisitAvoid => 'ወንጀል ወደ ዶክታር መግባት አትፈልጉም'; + + @override + String get quizDoctorVisitNever => 'ዶክተር ሄጄ አላውቅም'; + + @override + String get quizStepLabel3 => 'ደረጃ 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'እስካሁን ድረስ በጤና አጠባበቅ ረገድ ትልቁ ፈተናዎ ምንድነው?'; + + @override + String get quizMultiSelectHint => 'የፈለጉትን ያህል ይምረጡ'; + + @override + String get quizChallengeLongWait => 'ለቀጠሮዎች ረጅም የጥበቃ ጊዜዎች'; + + @override + String get quizChallengeRushedVisits => 'ጉብኝቶች በፍጥነት ይሰማቸዋል'; + + @override + String get quizChallengeCost => 'ከፍተኛ ዋጋ ወይም ግልጽ ያልሆነ ዋጋ'; + + @override + String get quizChallengeHardExplain => 'ሁሉንም ነገር በግልፅ ለማስረዳት ይከብዳል'; + + @override + String get quizChallengeConflictingAdvice => 'የሚጋጩ አስተያየቶች ወይም ምክሮች'; + + @override + String get quizChallengeNone => 'ምንም ዋና ዋና ችግሮች የሉም'; + + @override + String get quizStepLabel4 => 'ደረጃ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'ከቀጠሮ በኋላ፣ ስለተነገረህ ነገር ምን ያህል በራስ መተማመን ይሰማሃል?'; + + @override + String get quizConfidenceNoRightAnswer => 'ትክክል ወይም የተሳሳተ መልስ የለም።'; + + @override + String get quizConfidenceVeryClear => 'ምን እየተከናወነ እንዳለ በጣም ግልፅ ነው'; + + @override + String get quizConfidenceSomewhatClear => 'በተወሰነ ደረጃ ግልጽ'; + + @override + String get quizConfidenceStillUncertain => 'አሁንም እርግጠኛ አለመሆን'; + + @override + String get quizConfidenceMoreConfused => 'ከበፊቱ የበለጠ ግራ ተጋብቷል'; + + @override + String get captionDiagnosisVsChange => + 'ብዙ ሰዎች የሚያስቸግሩት ከመድኃኒታቸው በኋላ ነው ነገር ግን ምልክቶች በጊዜ ሲለዋወጡ ነው.'; + + @override + String get quizStepLabel5 => 'ደረጃ 5/6'; + + @override + String get quizConcernsAddressedTitle => 'ስጋቶችዎ ብዙውን ጊዜ እንዴት እንደሚፈቱ ይሰማዎታል?'; + + @override + String get quizConcernsAddressedSubtitle => 'በእርስዎ ግላዊ ስሜቶች ላይ በመመስረት'; + + @override + String get quizConcernsVeryWell => 'በጣም ጥሩ'; + + @override + String get quizConcernsFairlyWell => 'በጣም ጥሩ'; + + @override + String get quizConcernsNotVeryWell => 'ብዙም ጥሩ አይደለም'; + + @override + String get quizConcernsVaries => 'በጣም ይለያያል'; + + @override + String get quizStepLabel6 => 'ደረጃ 6/6'; + + @override + String get quizSelfResearchTitle => + 'ዶክተር ጋር ከመገናኘትዎ በፊት፣ ብዙውን ጊዜ እራስዎ የሕመም ምልክቶችን ለመረዳት ይሞክራሉ?'; + + @override + String get quizSelfResearchYes => 'አዎ፣ ነገሮችን እመረምራለሁ እና እከታተላለሁ'; + + @override + String get quizSelfResearchSometimes => 'አንዳንድ ጊዜ'; + + @override + String get quizSelfResearchRarely => 'አልፎ አልፎ'; + + @override + String get quizSelfResearchNo => 'አይ፣ ሙሉ በሙሉ በባለሙያዎች ላይ እተማመናለሁ'; + + @override + String get captionAvailabilityTitle => + 'የጤና ጥያቄዎች <አረንጓዴ>የቢሮ ሰዓቶችን አይከተሉም ።'; + + @override + String get captionAvailabilitySupport => 'ዶክቶሪና <አረንጓዴ>24/7 ይገኛል። '; + + @override + String get captionAvailabilityDescription => 'ክላሪቲ ለሚቀጥለው ቀጠሮ መጠበቅ የለባትም።'; + + @override + String get notificationTitle => 'እባኮትን የጤና ምልክቶችዎን ለመከታተል እንደምን እንደምን እባኮትን?'; + + @override + String get notificationDescription => + 'AI የምርመራዎትን ምርመራ ይከታተል እና አንዳንድ ነገር እንደሚያስፈልግ ይማርከዋል'; + + @override + String get notificationYes => 'አዎን — ጤናዬን እንደ እንቅስቃሴ እቀጥላለሁ'; + + @override + String get notificationOnlyImportant => 'አዎ — አስፈላጊ ለውጦች ብቻ'; + + @override + String get notificationNo => 'አልተረዳኩም'; + + @override + String get referralSourceTitle => 'ስለ ዶክቶሪና ከዶክተር ሰምተሃል?'; + + @override + String get referralSourceYes => 'አዎ'; + + @override + String get referralSourceNo => 'አይ'; + + @override + String get processingSectionLabel => 'ውጤቶችዎን መተንተን'; + + @override + String get processingTitle => 'ተሞክሮዎን ለግል ማበጀት'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => 'ከ Doctorina Pro ጋር ያልተገደበ ልምድ'; + + @override + String get paywallAssistantTagline => 'ሁልጊዜ በአቅራቢያዎ የሚገኝ የእርስዎ ረዳት'; + + @override + String get paywallEnableTrialToggle => 'እስካሁን እርግጠኛ አይደሉም? ነጻ ሙከራን ያንቁ።'; + + @override + String get paywallPlanYear => 'ዓመታዊ'; + + @override + String get paywallPlanMonthly => 'ወርሃዊ'; + + @override + String get paywallPlanWeek => 'ሳምንታዊ'; + + @override + String get paywallPlanDaily => 'በየቀኑ'; + + @override + String get paywallPlanYearPrice => '\$39.99 (በሳምንት \$3.34 ብቻ)'; + + @override + String get paywallPlanWeekPrice => '3.99 ዶላር'; + + @override + String get paywallSaveBadge => '58% ይቆጥቡ'; + + @override + String get paywallContinueBtn => 'ቀጥል'; + + @override + String get paywallStartTrialBtn => 'ነፃ ሙከራ ጀምር'; + + @override + String get paywallSubscriptionDisclaimer => + 'የደንበኝነት ምዝገባ በራስ-ሰር ሊታደስ ይችላል። በማንኛውም ጊዜ ይሰርዙ'; + + @override + String get paywallTermsPrivacy => + 'የአገልግሎት ውሎች | የግላዊነት መመሪያ'; + + @override + String get paywallPerWeek => 'ሳምንት'; + + @override + String get processingLabel => 'ውጤቶችዎን መተንተን'; + + @override + String get paywallCloseTooltip => 'ማዋሃድን ዝጋ'; + + @override + String get paywallRestoreTooltip => 'ግዢዎችን ወደነበረበት ይመልሱ'; + + @override + String get paywallRestoreBtn => 'ወደነበረበት መልስ'; + + @override + String get paywallRestoreNoneFound => + 'ወደነበረበት ለመመለስ ምንም ንቁ የደንበኝነት ምዝገባ አልተገኘም።'; + + @override + String get paywallRestoreError => + 'ግዢዎችን ወደነበረበት መመለስ አልተሳካም። እባክዎ ቆይተው እንደገና ይሞክሩ።'; + + @override + String get paywallPurchaseError => 'ግዴታ ግዢውን ማሳካት አልቻልኩም። እባኮትን ወደ ኋላ ይሞክሩ።'; + + @override + String get paywallTrialStep1Title => 'ዛሬ: እቅፍ መዳረሻ ይቀበሉ'; + + @override + String get paywallTrialStep1Description => + 'እባክዎ ሙሉ መዳረሻ ይከፍቱ፣ የAI ጤና መልስ ይቀበሉ፣ ወቅታዊ ነው።'; + + @override + String get paywallTrialStep2Title => 'ቀን 2: የሙከራ ማስታወሻ'; + + @override + String get paywallTrialStep2Description => + 'እንደ ምርጫ ወቅት ወደ መጨረሻ እንደሚያደርግ ማስታወሻ እንላችሁ'; + + @override + String get paywallTrialStep3Title => '3ኛ ቀን: እንደገና ማድረግ'; + + @override + String paywallTrialStep3Description(String date) { + return 'በ$date ይከፈልህ፣ ከዚያ በፊት ማቋረጥ ይቻላል.'; + } + + @override + String get paywallBenefitsHeader => 'ምን አካባቢ አለ'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'የግል እና ደህንነታቸው ይታወቃል'; + + @override + String get paywallBenefitAiAssistant => 'አይ አስስታንት፣ 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'እንቅስቃሴ የጤና መልስ'; + + @override + String get paywallBenefitScienceInsights => 'ግልጽ የሳይንስ መረጃ እና እውነታ የተመለከተ'; + + @override + String get paywallBenefitAutoSummaries => 'አውቶ ውይይቶች ማጠቃለያዎች'; + + @override + String get paywallBenefitAnyLanguage => 'እያንዳንዱ ቋንቋ በማንኛውም ጊዜ'; + + @override + String get paywallPriceUnitPerWeek => 'በሳምንት'; + + @override + String get paywallOfferTitle => 'አንድ ጊዜ የሚሰጥ ዕቅፍ'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% እኩል'; + } + + @override + String get paywallOfferForeverBadge => 'ወይዘር'; + + @override + String get paywallOfferDisclaimer => + 'አንድ ጊዜ የሚሰጥ የቅናሽ ዕቅፍዎን ከዝግጅት በኋላ ይህ ይሠርዝ!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/ወር'; + } + + @override + String get paywallOfferLowestPriceBadge => 'ከሁሉም የታቀደ ዋጋ'; + + @override + String get paywallOfferCancelAnytime => 'ወቅታዊ ይቅርታ'; + + @override + String get paywallOfferClaimButton => 'የእቅፍዎን ይቀበሉ'; + + @override + String get paywallOfferAutoRenewable => 'አውቶማቲክ የሚያወጣ እቅፍ'; + + @override + String get paywallGiftBoxTitle => 'አስፈላጊ ስጦታ ውስጥ አለ'; + + @override + String get paywallGiftBoxSubtitle => 'አንድ ጥቅል ወደ የአንቀጽ ዕቅፍ ለማስገንዘብ'; + + @override + String get paywallGiftBoxOpenButton => 'አሁን ክፈት'; + + @override + String get paywallRetryLoadPricesError => + 'እቅፍ አማራጮች ማስገንዘብ አልቻልኩም። እባኮትን ወደ ኋላ ይሞክሩ.'; + + @override + String get paywallPricesUnavailableTitle => 'እቅፍ ዋጋዎችን ማስገንዘብ አልቻልኩም'; + + @override + String get paywallPricesUnavailableMessage => + 'እባኮትን የእንቅስቃሴዎን ያረጋግጡ እና ይሞክሩ ወደ ኋላ'; + + @override + String get paywallPricesUnavailableRetryButton => 'እባክዎ ይሞክሩ'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ar.dart b/example/lib/src/generated/onboarding/onboarding_localization_ar.dart new file mode 100644 index 0000000..5066c5e --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ar.dart @@ -0,0 +1,931 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Arabic (`ar`). +class OnboardingLocalizationAr extends OnboardingLocalization { + OnboardingLocalizationAr([String locale = 'ar']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'مساعد صحي متقدم بالذكاء الاصطناعي'; + + @override + String get welcomeScreenTitle => 'مرحبًا بكم في Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'مصمم لتحليل الأعراض كما يفعل الأطباء ذوو الخبرة - من خلال فهم الأنماط والتوقيت والسياق.'; + + @override + String get getStartedBtn => 'ابدأ'; + + @override + String get alreadyHaveAccount => + 'هل لديك حساب بالفعل؟ تسجيل الدخول'; + + @override + String get termsConsent => + 'بمواصلتك، أنت توافق على\nشروط الخدمة | سياسة الخصوصية'; + + @override + String get personalizationInterruptionTitle => + 'دعنا نخصص Doctorina لك'; + + @override + String get personalizationSectionLabel => 'التخصيص'; + + @override + String get personalizationReasonTitle => 'ما الذي جاء بك هنا اليوم؟'; + + @override + String get personalizationReasonSymptomsNow => 'أنا أعاني من أعراض الآن'; + + @override + String get personalizationReasonUnderstandChange => + 'أريد أن أفهم تغييرًا في الصحة'; + + @override + String get personalizationReasonRuleOutSerious => 'أريد استبعاد شيء خطير'; + + @override + String get personalizationReasonMonitoring => 'أنا أراقب صحتي بشكل استباقي'; + + @override + String get continueBtn => 'استمر'; + + @override + String get captionEmpathyText => + 'عندما يتغير شيء في صحتك، يكون من الأصعب معرفة ما هو المهم'; + + @override + String get captionDifferentiatorText => + 'Doctorina تركز على أنماط الأعراض والتوقيت — نفس الإشارات التي يبحث عنها الأطباء في البداية.'; + + @override + String get genderTitle => 'اختر جنسك'; + + @override + String get genderSubtitle => + 'هذا يساعدنا في تفسير الأعراض وتقديم التوصيات بدقة أكبر.'; + + @override + String get genderMale => 'ذكر'; + + @override + String get genderFemale => 'أنثى'; + + @override + String get genderPreferNotSay => 'أفضل عدم القول'; + + @override + String get ageTitle => 'ما هو عمرك؟'; + + @override + String get ageSubtitle => 'العمر يساعدنا في تقييم أنماط الصحة بدقة أكبر.'; + + @override + String get socialProofLargeTitle => + 'أكثر من 48 ألف شخص\nاختاروا Doctorina'; + + @override + String get socialProofDisclaimer => + '*استنادًا إلى إحصائيات قاعدة مستخدمي Doctorina'; + + @override + String get developedByDoctors => 'تم تطويره بواسطة\nالأطباء'; + + @override + String get quizStepLabel1 => 'الخطوة 1/6'; + + @override + String get quizHealthSituationTitle => 'كيف تصف حالتك الصحية الحالية؟'; + + @override + String get quizHealthHealthy => 'أنا أشعر عمومًا أنني بصحة جيدة'; + + @override + String get quizHealthMinorConcerns => 'لدي مخاوف بسيطة مستمرة'; + + @override + String get quizHealthKnownCondition => 'أنا أدير حالة معروفة'; + + @override + String get quizHealthUnresolved => 'أنا أتعامل مع شيء غير محسوم'; + + @override + String get quizStepLabel2 => 'الخطوة 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => 'كم مرة عادةً تذهب إلى الطبيب؟'; + + @override + String get quizDoctorVisitRegular => 'بشكل منتظم (فحوصات / متابعة)'; + + @override + String get quizDoctorVisitOccasional => 'أحيانًا، عندما يكون هناك شيء خاطئ'; + + @override + String get quizDoctorVisitRare => 'نادراً، فقط إذا لزم الأمر'; + + @override + String get quizDoctorVisitAvoid => 'تجنب زيارة الأطباء'; + + @override + String get quizDoctorVisitNever => 'لم أزر طبيبًا من قبل'; + + @override + String get quizStepLabel3 => 'الخطوة 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'ما هو أكبر تحدٍ واجهته مع الرعاية الصحية حتى الآن؟'; + + @override + String get quizMultiSelectHint => 'اختر كما تشاء'; + + @override + String get quizChallengeLongWait => 'أوقات الانتظار الطويلة للمواعيد'; + + @override + String get quizChallengeRushedVisits => 'الزيارات تبدو متسرعة'; + + @override + String get quizChallengeCost => 'تكلفة عالية أو تسعير غير واضح'; + + @override + String get quizChallengeHardExplain => 'من الصعب شرح كل شيء بوضوح'; + + @override + String get quizChallengeConflictingAdvice => 'آراء أو نصائح متضاربة'; + + @override + String get quizChallengeNone => 'لا توجد مشاكل كبيرة'; + + @override + String get quizStepLabel4 => 'الخطوة 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'بعد المواعيد، ما مدى ثقتك فيما قيل لك؟'; + + @override + String get quizConfidenceNoRightAnswer => 'لا يوجد إجابة صحيحة أو خاطئة.'; + + @override + String get quizConfidenceVeryClear => 'واضح جدًا ما يحدث'; + + @override + String get quizConfidenceSomewhatClear => 'واضح إلى حد ما'; + + @override + String get quizConfidenceStillUncertain => 'ما زلت غير متأكد'; + + @override + String get quizConfidenceMoreConfused => 'أكثر ارتباكًا من قبل'; + + @override + String get captionDiagnosisVsChange => + 'يعاني العديد من الناس ليس بعد التشخيص ولكن عندما تتغير الأعراض مع مرور الوقت.'; + + @override + String get quizStepLabel5 => 'الخطوة 5/6'; + + @override + String get quizConcernsAddressedTitle => 'كيف تشعر أن مخاوفك تُعالج عادةً؟'; + + @override + String get quizConcernsAddressedSubtitle => 'استنادًا إلى مشاعرك الشخصية'; + + @override + String get quizConcernsVeryWell => 'جيد جداً'; + + @override + String get quizConcernsFairlyWell => 'بشكل معقول'; + + @override + String get quizConcernsNotVeryWell => 'ليس جيدًا جدًا'; + + @override + String get quizConcernsVaries => 'يختلف كثيرًا'; + + @override + String get quizStepLabel6 => 'الخطوة 6/6'; + + @override + String get quizSelfResearchTitle => + 'قبل زيارة الطبيب، هل تحاول عادةً فهم الأعراض بنفسك؟'; + + @override + String get quizSelfResearchYes => 'نعم، أبحث وأتابع الأمور'; + + @override + String get quizSelfResearchSometimes => 'أحيانًا'; + + @override + String get quizSelfResearchRarely => 'نادراً'; + + @override + String get quizSelfResearchNo => 'لا، أعتمد تمامًا على المحترفين'; + + @override + String get captionAvailabilityTitle => + 'الأسئلة الصحية لا تتبع ساعات العمل.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina متاحة على مدار 24 ساعة طوال أيام الأسبوع.'; + + @override + String get captionAvailabilityDescription => + 'يجب ألا تنتظر الوضوح حتى الموعد التالي.'; + + @override + String get notificationTitle => 'هل تريد منا متابعة أعراض صحتك؟'; + + @override + String get notificationDescription => + 'يمكن للذكاء الاصطناعي مراقبة أعراضك وتنبيهك إذا كان هناك ما يحتاج إلى اهتمام'; + + @override + String get notificationYes => 'نعم — راقب صحتي'; + + @override + String get notificationOnlyImportant => 'نعم — فقط إذا حدث شيء مهم'; + + @override + String get notificationNo => 'لست متأكدًا بعد'; + + @override + String get referralSourceTitle => 'هل سمعت عن Doctorina من طبيب؟'; + + @override + String get referralSourceYes => 'نعم'; + + @override + String get referralSourceNo => 'لا'; + + @override + String get processingSectionLabel => 'تحليل نتائجك'; + + @override + String get processingTitle => 'تخصيص تجربتك'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'تجربة غير محدودة مع Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'مساعدك الذي يكون دائمًا بالقرب منك'; + + @override + String get paywallEnableTrialToggle => + 'لست متأكدًا بعد؟ قم بتمكين التجربة المجانية.'; + + @override + String get paywallPlanYear => 'سنوي'; + + @override + String get paywallPlanMonthly => 'شهري'; + + @override + String get paywallPlanWeek => 'أسبوعي'; + + @override + String get paywallPlanDaily => 'يومي'; + + @override + String get paywallPlanYearPrice => '39.99 دولار (فقط 3.34 دولار/أسبوع)'; + + @override + String get paywallPlanWeekPrice => '39.99\$'; + + @override + String get paywallSaveBadge => 'احفظ 58%'; + + @override + String get paywallContinueBtn => 'استمر'; + + @override + String get paywallStartTrialBtn => 'ابدأ تجربة مجانية'; + + @override + String get paywallSubscriptionDisclaimer => + 'الاشتراك يتجدد تلقائيًا. يمكنك الإلغاء في أي وقت'; + + @override + String get paywallTermsPrivacy => + 'شروط الخدمة | سياسة الخصوصية'; + + @override + String get paywallPerWeek => 'أسبوع'; + + @override + String get processingLabel => 'جارٍ تحليل النتائج'; + + @override + String get paywallCloseTooltip => 'إغلاق التوجيه'; + + @override + String get paywallRestoreTooltip => 'استعادة المشتريات'; + + @override + String get paywallRestoreBtn => 'استعادة'; + + @override + String get paywallRestoreNoneFound => + 'لم يتم العثور على اشتراك نشط لاستعادته.'; + + @override + String get paywallRestoreError => + 'فشل استعادة المشتريات. يرجى المحاولة مرة أخرى لاحقًا.'; + + @override + String get paywallPurchaseError => + 'فشل إتمام عملية الشراء. يرجى المحاولة مرة أخرى لاحقًا.'; + + @override + String get paywallTrialStep1Title => 'اليوم: احصل على وصول فوري'; + + @override + String get paywallTrialStep1Description => + 'افتح الوصول الكامل، واحصل على إجابات صحية من الذكاء الاصطناعي، في أي وقت.'; + + @override + String get paywallTrialStep2Title => 'اليوم الثاني: تذكير بالتجربة'; + + @override + String get paywallTrialStep2Description => + 'سنرسل لك تذكير بأن تجربتك على وشك الانتهاء'; + + @override + String get paywallTrialStep3Title => 'اليوم 3: التجديد'; + + @override + String paywallTrialStep3Description(String date) { + return 'سيتم خصم المبلغ في $date، يمكنك الإلغاء في أي وقت قبل ذلك.'; + } + + @override + String get paywallBenefitsHeader => 'ما هو مدرج'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'خاص وآمن'; + + @override + String get paywallBenefitAiAssistant => 'مساعد الذكاء الاصطناعي، 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'إجابات صحية فورية'; + + @override + String get paywallBenefitScienceInsights => 'رؤى واضحة قائمة على العلم'; + + @override + String get paywallBenefitAutoSummaries => 'ملخصات المحادثات التلقائية'; + + @override + String get paywallBenefitAnyLanguage => 'أي لغة، في أي وقت'; + + @override + String get paywallPriceUnitPerWeek => 'في الأسبوع'; + + @override + String get paywallOfferTitle => 'عرض لمرة واحدة'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% خصم'; + } + + @override + String get paywallOfferForeverBadge => 'إلى الأبد'; + + @override + String get paywallOfferDisclaimer => + 'بمجرد إغلاق عرضك لمرة واحدة، فإنه سيختفي!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/شهرياً'; + } + + @override + String get paywallOfferLowestPriceBadge => 'أقل سعر على الإطلاق'; + + @override + String get paywallOfferCancelAnytime => 'يمكنك الإلغاء في أي وقت'; + + @override + String get paywallOfferClaimButton => 'اطلب عرضك'; + + @override + String get paywallOfferAutoRenewable => 'اشتراك متجدد تلقائيًا'; + + @override + String get paywallGiftBoxTitle => 'هدية خاصة داخل'; + + @override + String get paywallGiftBoxSubtitle => 'اضغط مرة واحدة لكشف عرضك الخاص'; + + @override + String get paywallGiftBoxOpenButton => 'افتح الآن'; + + @override + String get paywallRetryLoadPricesError => + 'فشل في تحميل خيارات الاشتراك. يرجى المحاولة مرة أخرى لاحقًا.'; + + @override + String get paywallPricesUnavailableTitle => 'تعذر تحميل أسعار الاشتراكات'; + + @override + String get paywallPricesUnavailableMessage => 'تحقق من اتصالك وحاول مرة أخرى'; + + @override + String get paywallPricesUnavailableRetryButton => 'حاول مرة أخرى'; + + @override + String get skipOnboardingButton => 'Skip'; +} + +/// The translations for Arabic, as used in Egypt (`ar_EG`). +class OnboardingLocalizationArEg extends OnboardingLocalizationAr { + OnboardingLocalizationArEg() : super('ar_EG'); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'مساعد صحي متقدم بالذكاء الاصطناعي'; + + @override + String get welcomeScreenTitle => 'مرحبًا بكم في Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'مصمم لتحليل الأعراض كما يفعل الأطباء ذوو الخبرة - من خلال فهم الأنماط والتوقيت والسياق.'; + + @override + String get getStartedBtn => 'ابدأ'; + + @override + String get alreadyHaveAccount => + 'هل لديك حساب بالفعل؟ تسجيل الدخول'; + + @override + String get termsConsent => + 'بمواصلتك، أنت توافق على\nشروط الخدمة | سياسة الخصوصية'; + + @override + String get personalizationInterruptionTitle => + 'دعنا نخصص Doctorina لك'; + + @override + String get personalizationSectionLabel => 'التخصيص'; + + @override + String get personalizationReasonTitle => 'ما الذي جاء بك هنا اليوم؟'; + + @override + String get personalizationReasonSymptomsNow => 'أنا أعاني من أعراض الآن'; + + @override + String get personalizationReasonUnderstandChange => + 'أريد أن أفهم تغييرًا في الصحة'; + + @override + String get personalizationReasonRuleOutSerious => 'أريد استبعاد شيء خطير'; + + @override + String get personalizationReasonMonitoring => 'أنا أراقب صحتي بشكل استباقي'; + + @override + String get continueBtn => 'استمر'; + + @override + String get captionEmpathyText => + 'عندما يتغير شيء في صحتك، يكون من الأصعب معرفة ما هو المهم'; + + @override + String get captionDifferentiatorText => + 'Doctorina تركز على أنماط الأعراض والتوقيت — نفس الإشارات التي يبحث عنها الأطباء في البداية.'; + + @override + String get genderTitle => 'اختر جنسك'; + + @override + String get genderSubtitle => + 'هذا يساعدنا في تفسير الأعراض وتقديم التوصيات بدقة أكبر.'; + + @override + String get genderMale => 'ذكر'; + + @override + String get genderFemale => 'أنثى'; + + @override + String get genderPreferNotSay => 'أفضل عدم القول'; + + @override + String get ageTitle => 'ما هو عمرك؟'; + + @override + String get ageSubtitle => 'العمر يساعدنا في تقييم أنماط الصحة بدقة أكبر.'; + + @override + String get socialProofLargeTitle => + 'أكثر من 48 ألف شخص\nاختاروا Doctorina'; + + @override + String get socialProofDisclaimer => + '*استنادًا إلى إحصائيات قاعدة مستخدمي Doctorina'; + + @override + String get developedByDoctors => 'تم تطويره بواسطة\nالأطباء'; + + @override + String get quizStepLabel1 => 'الخطوة 1/6'; + + @override + String get quizHealthSituationTitle => 'كيف تصف حالتك الصحية الحالية؟'; + + @override + String get quizHealthHealthy => 'أنا أشعر عمومًا أنني بصحة جيدة'; + + @override + String get quizHealthMinorConcerns => 'لدي مخاوف بسيطة مستمرة'; + + @override + String get quizHealthKnownCondition => 'أنا أدير حالة معروفة'; + + @override + String get quizHealthUnresolved => 'أنا أتعامل مع شيء غير محسوم'; + + @override + String get quizStepLabel2 => 'الخطوة 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => 'كم مرة عادةً تذهب إلى الطبيب؟'; + + @override + String get quizDoctorVisitRegular => 'بشكل منتظم (فحوصات / متابعة)'; + + @override + String get quizDoctorVisitOccasional => 'أحيانًا، عندما يكون هناك شيء خاطئ'; + + @override + String get quizDoctorVisitRare => 'نادراً، فقط إذا لزم الأمر'; + + @override + String get quizDoctorVisitAvoid => 'تجنب زيارة الأطباء'; + + @override + String get quizDoctorVisitNever => 'لم أزر طبيبًا من قبل'; + + @override + String get quizStepLabel3 => 'الخطوة 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'ما هو أكبر تحدٍ واجهته مع الرعاية الصحية حتى الآن؟'; + + @override + String get quizMultiSelectHint => 'اختر كما تشاء'; + + @override + String get quizChallengeLongWait => 'أوقات الانتظار الطويلة للمواعيد'; + + @override + String get quizChallengeRushedVisits => 'الزيارات تبدو متسرعة'; + + @override + String get quizChallengeCost => 'تكلفة عالية أو تسعير غير واضح'; + + @override + String get quizChallengeHardExplain => 'من الصعب شرح كل شيء بوضوح'; + + @override + String get quizChallengeConflictingAdvice => 'آراء أو نصائح متضاربة'; + + @override + String get quizChallengeNone => 'لا توجد مشاكل كبيرة'; + + @override + String get quizStepLabel4 => 'الخطوة 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'بعد المواعيد، ما مدى ثقتك فيما قيل لك؟'; + + @override + String get quizConfidenceNoRightAnswer => 'لا يوجد إجابة صحيحة أو خاطئة.'; + + @override + String get quizConfidenceVeryClear => 'واضح جدًا ما يحدث'; + + @override + String get quizConfidenceSomewhatClear => 'واضح إلى حد ما'; + + @override + String get quizConfidenceStillUncertain => 'ما زلت غير متأكد'; + + @override + String get quizConfidenceMoreConfused => 'أكثر ارتباكًا من قبل'; + + @override + String get captionDiagnosisVsChange => + 'يعاني العديد من الناس ليس بعد التشخيص ولكن عندما تتغير الأعراض مع مرور الوقت.'; + + @override + String get quizStepLabel5 => 'الخطوة 5/6'; + + @override + String get quizConcernsAddressedTitle => 'كيف تشعر أن مخاوفك تُعالج عادةً؟'; + + @override + String get quizConcernsAddressedSubtitle => 'استنادًا إلى مشاعرك الشخصية'; + + @override + String get quizConcernsVeryWell => 'جيد جداً'; + + @override + String get quizConcernsFairlyWell => 'بشكل معقول'; + + @override + String get quizConcernsNotVeryWell => 'ليس جيدًا جدًا'; + + @override + String get quizConcernsVaries => 'يختلف كثيرًا'; + + @override + String get quizStepLabel6 => 'الخطوة 6/6'; + + @override + String get quizSelfResearchTitle => + 'قبل زيارة الطبيب، هل تحاول عادةً فهم الأعراض بنفسك؟'; + + @override + String get quizSelfResearchYes => 'نعم، أبحث وأتابع الأمور'; + + @override + String get quizSelfResearchSometimes => 'أحيانًا'; + + @override + String get quizSelfResearchRarely => 'نادراً'; + + @override + String get quizSelfResearchNo => 'لا، أعتمد تمامًا على المحترفين'; + + @override + String get captionAvailabilityTitle => + 'الأسئلة الصحية لا تتبع ساعات العمل.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina متاحة على مدار 24 ساعة طوال أيام الأسبوع.'; + + @override + String get captionAvailabilityDescription => + 'يجب ألا تنتظر الوضوح حتى الموعد التالي.'; + + @override + String get notificationTitle => 'هل تريد منا متابعة أعراض صحتك؟'; + + @override + String get notificationDescription => + 'يمكن للذكاء الاصطناعي مراقبة أعراضك وتنبيهك إذا كان هناك ما يحتاج إلى اهتمام'; + + @override + String get notificationYes => 'نعم — راقب صحتي'; + + @override + String get notificationOnlyImportant => 'نعم — فقط إذا حدث شيء مهم'; + + @override + String get notificationNo => 'لست متأكدًا بعد'; + + @override + String get referralSourceTitle => 'هل سمعت عن Doctorina من طبيب؟'; + + @override + String get referralSourceYes => 'نعم'; + + @override + String get referralSourceNo => 'لا'; + + @override + String get processingSectionLabel => 'تحليل نتائجك'; + + @override + String get processingTitle => 'تخصيص تجربتك'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'تجربة غير محدودة مع Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'مساعدك الذي يكون دائمًا بالقرب منك'; + + @override + String get paywallEnableTrialToggle => + 'لست متأكدًا بعد؟ قم بتمكين التجربة المجانية.'; + + @override + String get paywallPlanYear => 'سنوي'; + + @override + String get paywallPlanMonthly => 'شهري'; + + @override + String get paywallPlanWeek => 'أسبوعي'; + + @override + String get paywallPlanDaily => 'يومي'; + + @override + String get paywallPlanYearPrice => '39.99 دولار (فقط 3.34 دولار/أسبوع)'; + + @override + String get paywallPlanWeekPrice => '39.99\$'; + + @override + String get paywallSaveBadge => 'احفظ 58%'; + + @override + String get paywallContinueBtn => 'استمر'; + + @override + String get paywallStartTrialBtn => 'ابدأ تجربة مجانية'; + + @override + String get paywallSubscriptionDisclaimer => + 'الاشتراك يتجدد تلقائيًا. يمكنك الإلغاء في أي وقت'; + + @override + String get paywallTermsPrivacy => + 'شروط الخدمة | سياسة الخصوصية'; + + @override + String get paywallPerWeek => 'أسبوع'; + + @override + String get processingLabel => 'جارٍ تحليل النتائج'; + + @override + String get paywallCloseTooltip => 'إغلاق التوجيه'; + + @override + String get paywallRestoreTooltip => 'استعادة المشتريات'; + + @override + String get paywallRestoreBtn => 'استعادة'; + + @override + String get paywallRestoreNoneFound => + 'لم يتم العثور على اشتراك نشط لاستعادته.'; + + @override + String get paywallRestoreError => + 'فشل استعادة المشتريات. يرجى المحاولة مرة أخرى لاحقًا.'; + + @override + String get paywallPurchaseError => + 'فشل إتمام عملية الشراء. يرجى المحاولة مرة أخرى لاحقًا.'; + + @override + String get paywallTrialStep1Title => 'اليوم: احصل على وصول فوري'; + + @override + String get paywallTrialStep1Description => + 'افتح الوصول الكامل، واحصل على إجابات صحية من الذكاء الاصطناعي، في أي وقت.'; + + @override + String get paywallTrialStep2Title => 'اليوم الثاني: تذكير بالتجربة'; + + @override + String get paywallTrialStep2Description => + 'سنرسل لك تذكير بأن تجربتك على وشك الانتهاء'; + + @override + String get paywallTrialStep3Title => 'اليوم 3: التجديد'; + + @override + String paywallTrialStep3Description(String date) { + return 'سيتم خصم المبلغ في $date، يمكنك الإلغاء في أي وقت قبل ذلك.'; + } + + @override + String get paywallBenefitsHeader => 'ما هو مدرج'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'خاص وآمن'; + + @override + String get paywallBenefitAiAssistant => 'مساعد الذكاء الاصطناعي، 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'إجابات صحية فورية'; + + @override + String get paywallBenefitScienceInsights => 'رؤى واضحة قائمة على العلم'; + + @override + String get paywallBenefitAutoSummaries => 'ملخصات المحادثات التلقائية'; + + @override + String get paywallBenefitAnyLanguage => 'أي لغة، في أي وقت'; + + @override + String get paywallPriceUnitPerWeek => 'في الأسبوع'; + + @override + String get paywallOfferTitle => 'عرض لمرة واحدة'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% خصم'; + } + + @override + String get paywallOfferForeverBadge => 'إلى الأبد'; + + @override + String get paywallOfferDisclaimer => + 'بمجرد إغلاق عرضك لمرة واحدة، فإنه سيختفي!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/شهرياً'; + } + + @override + String get paywallOfferLowestPriceBadge => 'أقل سعر على الإطلاق'; + + @override + String get paywallOfferCancelAnytime => 'يمكنك الإلغاء في أي وقت'; + + @override + String get paywallOfferClaimButton => 'اطلب عرضك'; + + @override + String get paywallOfferAutoRenewable => 'اشتراك متجدد تلقائيًا'; + + @override + String get paywallGiftBoxTitle => 'هدية خاصة داخل'; + + @override + String get paywallGiftBoxSubtitle => 'اضغط مرة واحدة لكشف عرضك الخاص'; + + @override + String get paywallGiftBoxOpenButton => 'افتح الآن'; + + @override + String get paywallRetryLoadPricesError => + 'فشل في تحميل خيارات الاشتراك. يرجى المحاولة مرة أخرى لاحقًا.'; + + @override + String get paywallPricesUnavailableTitle => 'تعذر تحميل أسعار الاشتراكات'; + + @override + String get paywallPricesUnavailableMessage => 'تحقق من اتصالك وحاول مرة أخرى'; + + @override + String get paywallPricesUnavailableRetryButton => 'حاول مرة أخرى'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_az.dart b/example/lib/src/generated/onboarding/onboarding_localization_az.dart new file mode 100644 index 0000000..e56176b --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_az.dart @@ -0,0 +1,486 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Azerbaijani (`az`). +class OnboardingLocalizationAz extends OnboardingLocalization { + OnboardingLocalizationAz([String locale = 'az']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'İRƏLİ DƏRƏCƏ AI SAĞLAMLIQ YARDIMÇISI'; + + @override + String get welcomeScreenTitle => 'Xoş gəlmisiniz\nDoctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Təcrübəli klinisistlərin etdiyi kimi simptomları analiz etmək üçün hazırlanmışdır - naxışları, vaxtı və konteksti başa düşərək.'; + + @override + String get getStartedBtn => 'Başla'; + + @override + String get alreadyHaveAccount => + 'Artıq hesabınız var? Daxil olun'; + + @override + String get termsConsent => + 'Davam edərək, siz bizim\nXidmət Şərtləri | Şəxsi Məlumatların Qorunması Siyasəti ilə razılaşırsınız'; + + @override + String get personalizationInterruptionTitle => + 'Gəlin sizin üçün Doctorina fərdiləşdirək'; + + @override + String get personalizationSectionLabel => 'ŞƏXSİYYƏT'; + + @override + String get personalizationReasonTitle => 'Sizi bu gün buraya nə gətirdi?'; + + @override + String get personalizationReasonSymptomsNow => 'İndi simptomlarım var'; + + @override + String get personalizationReasonUnderstandChange => + 'Mən sağlamlıq dəyişikliklərini anlamaq istəyirəm'; + + @override + String get personalizationReasonRuleOutSerious => + 'Seri bir şeyi istisna etmək istəyirəm'; + + @override + String get personalizationReasonMonitoring => + 'Mən sağlamlığımı proaktiv şəkildə izləyirəm'; + + @override + String get continueBtn => 'Davam et'; + + @override + String get captionEmpathyText => + 'Sizin sağlamlığınızda bir şey dəyişəndə, nəyin vacib olduğunu bilmək ən çətindir.'; + + @override + String get captionDifferentiatorText => + 'Doctorina simptomların naxışlarına və zamanlamasına diqqət yetirir — həkimlərin əvvəldən axtardığı eyni siqnallar.'; + + @override + String get genderTitle => 'Cinsinizi seçin'; + + @override + String get genderSubtitle => + 'Bu, simptomları daha dəqiq şərh etməyə və tövsiyələr verməyə kömək edir.'; + + @override + String get genderMale => 'Kişi'; + + @override + String get genderFemale => 'Qadın'; + + @override + String get genderPreferNotSay => 'Demək istəmirəm'; + + @override + String get ageTitle => 'Sizin yaşınız nədir?'; + + @override + String get ageSubtitle => + 'Yaş, sağlamlıq nümunələrini daha dəqiq qiymətləndirməyə kömək edir.'; + + @override + String get socialProofLargeTitle => + '48k+ nəfər\nDoctorina-nı seçdi'; + + @override + String get socialProofDisclaimer => + '*Doctorina istifadəçi bazası statistikalarına əsaslanır'; + + @override + String get developedByDoctors => 'Tərtib edilib\nHəkimlər'; + + @override + String get quizStepLabel1 => 'ADDIM 1/6'; + + @override + String get quizHealthSituationTitle => + 'Hazırkı sağlamlıq vəziyyətinizi necə təsvir edərdiniz?'; + + @override + String get quizHealthHealthy => 'Mən ümumiyyətlə sağlam hiss edirəm'; + + @override + String get quizHealthMinorConcerns => + 'Mənim davamlı kiçik narahatlıqlarım var'; + + @override + String get quizHealthKnownCondition => + 'Mən tanınmış bir vəziyyəti idarə edirəm'; + + @override + String get quizHealthUnresolved => 'Mən həll olunmamış bir şeylə məşğulam'; + + @override + String get quizStepLabel2 => 'ADDIM 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Adətən həkimə nə qədər tez-tez gedirsiniz?'; + + @override + String get quizDoctorVisitRegular => 'Müntəzəm (nəzarət / izləmə)'; + + @override + String get quizDoctorVisitOccasional => 'Bəzən, nəsə pis olduqda'; + + @override + String get quizDoctorVisitRare => 'Nadir, yalnız lazım olduqda'; + + @override + String get quizDoctorVisitAvoid => 'Həkimlərə getməkdən çəkinin'; + + @override + String get quizDoctorVisitNever => 'Mən həkimə heç vaxt getməmişəm'; + + @override + String get quizStepLabel3 => 'ADDIM 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Sizcə, səhiyyə ilə bağlı ən böyük çətinliyiniz nə olub?'; + + @override + String get quizMultiSelectHint => 'İstədiyiniz qədər seçin'; + + @override + String get quizChallengeLongWait => 'Təqdimatlar üçün uzun gözləmə vaxtları'; + + @override + String get quizChallengeRushedVisits => 'Ziyarətlər tələsik hiss olunur'; + + @override + String get quizChallengeCost => 'Yüksək qiymət və ya aydın olmayan qiymət'; + + @override + String get quizChallengeHardExplain => 'Hər şeyi aydın izah etmək çətindir'; + + @override + String get quizChallengeConflictingAdvice => + 'Müxalif fikirlər və ya məsləhətlər'; + + @override + String get quizChallengeNone => 'Əhəmiyyətli problem yoxdur'; + + @override + String get quizStepLabel4 => 'ADDIM 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Təqvimdən sonra, sizə söylənilənlərə nə qədər əmin hiss edirsiniz?'; + + @override + String get quizConfidenceNoRightAnswer => 'Düzgün və ya yanlış cavab yoxdur.'; + + @override + String get quizConfidenceVeryClear => 'Nələrin baş verdiyindən çox aydındır'; + + @override + String get quizConfidenceSomewhatClear => 'Bir az aydın'; + + @override + String get quizConfidenceStillUncertain => 'Hələ də qeyri-müəyyəndir'; + + @override + String get quizConfidenceMoreConfused => 'Əvvəlkindən daha çaşqın'; + + @override + String get captionDiagnosisVsChange => + 'Bir çox insan diaqnozdan sonra deyil, simptomlar zamanla dəyişdikdə çətinlik çəkir.'; + + @override + String get quizStepLabel5 => 'ADDIM 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Narahatlıqlarınızın adətən necə həll edildiyini düşünürsünüz?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Subyektiv hisslərinizə əsaslanır'; + + @override + String get quizConcernsVeryWell => 'Çox yaxşı'; + + @override + String get quizConcernsFairlyWell => 'Kafi yaxşı'; + + @override + String get quizConcernsNotVeryWell => 'Çox yaxşı deyil'; + + @override + String get quizConcernsVaries => 'Çox dəyişir'; + + @override + String get quizStepLabel6 => 'ADDIM 6/6'; + + @override + String get quizSelfResearchTitle => + 'Həkimə getməzdən əvvəl, adətən simptomları özünüz anlamağa çalışırsınızmı?'; + + @override + String get quizSelfResearchYes => 'Bəli, mən araşdırma aparıram və izləyirəm'; + + @override + String get quizSelfResearchSometimes => 'Bəzən'; + + @override + String get quizSelfResearchRarely => 'Nadir hallarda'; + + @override + String get quizSelfResearchNo => + 'Xeyr, mən tamamilə mütəxəssislərə etibar edirəm'; + + @override + String get captionAvailabilityTitle => + 'Səhiyyə sualları iş saatlarını izləmirlər.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 24/7 mövcuddur.'; + + @override + String get captionAvailabilityDescription => + 'Aydınlıq növbəti görüş üçün gözləməməlidir.'; + + @override + String get notificationTitle => + 'Sizin sağlamlıq simptomlarınızı yoxlamağımızı istəyirsinizmi?'; + + @override + String get notificationDescription => + 'AI simptomlarınızı izləyə bilər və bir şeyin diqqət tələb etdiyini sizə xəbərdar edə bilər'; + + @override + String get notificationYes => 'Bəli — sağlamlığımı izləyin'; + + @override + String get notificationOnlyImportant => + 'Bəli — yalnız vacib bir şey dəyişəndə'; + + @override + String get notificationNo => 'Hələ əmin deyiləm'; + + @override + String get referralSourceTitle => + 'Həkimdən Doctorina haqqında eşitmisinizmi?'; + + @override + String get referralSourceYes => 'Bəli'; + + @override + String get referralSourceNo => 'Xeyr'; + + @override + String get processingSectionLabel => 'NƏTİCƏLƏRİNİZİ TƏHLİL EDİRİK'; + + @override + String get processingTitle => 'Təcrübənizi fərdiləşdirmək'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Doctorina Pro ilə limitsiz təcrübə'; + + @override + String get paywallAssistantTagline => 'Həmişə yanınızda olan köməkçiniz'; + + @override + String get paywallEnableTrialToggle => + 'Hələ əmin deyilsiniz? Pulsuz sınağı aktivləşdirin.'; + + @override + String get paywallPlanYear => 'İllik'; + + @override + String get paywallPlanMonthly => 'Aylıq'; + + @override + String get paywallPlanWeek => 'Həftəlik'; + + @override + String get paywallPlanDaily => 'Gündəlik'; + + @override + String get paywallPlanYearPrice => '\$39.99 (yalnızca \$3.34/hafta)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'SAXLA 58%'; + + @override + String get paywallContinueBtn => 'Davam et'; + + @override + String get paywallStartTrialBtn => 'Pulsuz sınaq başlayın'; + + @override + String get paywallSubscriptionDisclaimer => + 'Abunəlik avtomatik yenilənir. İstədiyiniz zaman ləğv edin'; + + @override + String get paywallTermsPrivacy => + 'Xidmət Şərtləri | Şəxsi Məlumatların Qorunması Siyasəti'; + + @override + String get paywallPerWeek => 'həftə'; + + @override + String get processingLabel => 'Nəticələrinizi analiz edir'; + + @override + String get paywallCloseTooltip => 'Onboarding-i bağla'; + + @override + String get paywallRestoreTooltip => 'Alışları bərpa et'; + + @override + String get paywallRestoreBtn => 'Bərpa et'; + + @override + String get paywallRestoreNoneFound => + 'Bərpa etmək üçün aktiv abunə tapılmadı.'; + + @override + String get paywallRestoreError => + 'Alış-verişləri bərpa etmək mümkün olmadı. Zəhmət olmasa, daha sonra yenidən cəhd edin.'; + + @override + String get paywallPurchaseError => + 'Alış-verişi tamamlamaq mümkün olmadı. Zəhmət olmasa, daha sonra yenidən cəhd edin.'; + + @override + String get paywallTrialStep1Title => 'Bu gün: Ani giriş əldə edin'; + + @override + String get paywallTrialStep1Description => + 'Tam giriş əldə edin, istənilən vaxt AI sağlamlıq cavabları alın.'; + + @override + String get paywallTrialStep2Title => '2-ci gün: Sınaq xatırlatması'; + + @override + String get paywallTrialStep2Description => + 'Sınaq müddətinin bitmək üzrə olduğunu sizə xatırladacağıq'; + + @override + String get paywallTrialStep3Title => '3-cü Gün: Yeniləmə'; + + @override + String paywallTrialStep3Description(String date) { + return 'Tarifiniz $date tarixində alınacaq, istədiyiniz zaman ləğv edə bilərsiniz.'; + } + + @override + String get paywallBenefitsHeader => 'NƏLƏR DAXİLDİR'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Şəxsi və təhlükəsiz'; + + @override + String get paywallBenefitAiAssistant => 'AI köməkçisi, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Ani sağlamlıq cavabları'; + + @override + String get paywallBenefitScienceInsights => 'Aydın, elmi əsaslı məlumatlar'; + + @override + String get paywallBenefitAutoSummaries => 'Avtomatik söhbət xülasələri'; + + @override + String get paywallBenefitAnyLanguage => 'Hər hansı bir dil, istənilən vaxt'; + + @override + String get paywallPriceUnitPerWeek => 'həftəlik'; + + @override + String get paywallOfferTitle => 'Bir dəfəlik təklif'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ENDİRİM'; + } + + @override + String get paywallOfferForeverBadge => 'DAİMA'; + + @override + String get paywallOfferDisclaimer => + 'Bir dəfəlik təklifinizi bağladığınızda, o, itir!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/ay'; + } + + @override + String get paywallOfferLowestPriceBadge => 'ƏN AŞAĞI QİYMƏT'; + + @override + String get paywallOfferCancelAnytime => 'İstədiyiniz zaman ləğv edin'; + + @override + String get paywallOfferClaimButton => 'Təklifinizi tələb edin'; + + @override + String get paywallOfferAutoRenewable => 'Avtomatik yenilənən abunə'; + + @override + String get paywallGiftBoxTitle => 'Xüsusi hədiyyə içində'; + + @override + String get paywallGiftBoxSubtitle => + 'Xüsusi təklifinizi açmaq üçün bir dəfə toxunun'; + + @override + String get paywallGiftBoxOpenButton => 'İndi aç'; + + @override + String get paywallRetryLoadPricesError => + 'Abunə seçimlərini yükləmək mümkün olmadı. Zəhmət olmasa, daha sonra yenidən cəhd edin.'; + + @override + String get paywallPricesUnavailableTitle => + 'Abunə qiymətləri yüklənə bilmədi'; + + @override + String get paywallPricesUnavailableMessage => + 'Bağlantınızı yoxlayın və yenidən cəhd edin.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Təkrar cəhd et'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_be.dart b/example/lib/src/generated/onboarding/onboarding_localization_be.dart new file mode 100644 index 0000000..1027495 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_be.dart @@ -0,0 +1,487 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Belarusian (`be`). +class OnboardingLocalizationBe extends OnboardingLocalization { + OnboardingLocalizationBe([String locale = 'be']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ПРАДВІНУТЫ ІІ ЗДАРОЎЯ ДАПАМОЖНІК'; + + @override + String get welcomeScreenTitle => 'Сардэчна запрашаем у Doctorina!'; + + @override + String get socialProofTrustedBy => 'Даверыліся'; + + @override + String get welcomeDescription => + 'Распрацавана для аналізу сімптомаў так, як гэта робяць вопытныя клініцысты — разумеючы ўзоры, час і кантэкст.'; + + @override + String get getStartedBtn => 'Пачаць'; + + @override + String get alreadyHaveAccount => + 'У вас ужо ёсць уліковы запіс? Увайсці'; + + @override + String get termsConsent => + 'Працягваючы, вы пагаджаецеся з нашымі\nУмовамі абслугоўвання | Палітыкай канфідэнцыяльнасці'; + + @override + String get personalizationInterruptionTitle => + 'Давайце персаналізуем Doctorina для вас'; + + @override + String get personalizationSectionLabel => 'ПЕРСАНАЛІЗАЦЫЯ'; + + @override + String get personalizationReasonTitle => 'Што прывяло вас сюды сёння?'; + + @override + String get personalizationReasonSymptomsNow => 'У мяне зараз ёсць сімптомы'; + + @override + String get personalizationReasonUnderstandChange => + 'Я хачу зразумець змены ў здароўі'; + + @override + String get personalizationReasonRuleOutSerious => + 'Я хачу выключыць нешта сур\'ёзнае'; + + @override + String get personalizationReasonMonitoring => + 'Я актыўна сачу за сваім здароўем'; + + @override + String get continueBtn => 'Працягнуць'; + + @override + String get captionEmpathyText => + 'Калі нешта змяняецца ў вашым здароўі, ведаць, што важна, самае цяжкае.'; + + @override + String get captionDifferentiatorText => + 'Doctorina засяроджваецца на сімптомах і часе — тых жа сігналах, якія лекары шукаюць на ранніх стадыях.'; + + @override + String get genderTitle => 'Абярыце ваш пол'; + + @override + String get genderSubtitle => + 'Гэта дапамагае нам больш дакладна інтэрпрэтаваць сімптомы і даваць рэкамендацыі'; + + @override + String get genderMale => 'Мужчынскі'; + + @override + String get genderFemale => 'Жаночы'; + + @override + String get genderPreferNotSay => 'Пераважна не казаць'; + + @override + String get ageTitle => 'Колькі вам гадоў?'; + + @override + String get ageSubtitle => + 'Узрост дапамагае нам больш дакладна ацаніць шаблоны здароўя'; + + @override + String get socialProofLargeTitle => + 'Больш за 48 тыс. чалавек.\nвыбралі Doctorina'; + + @override + String get socialProofDisclaimer => + '*На аснове статыстыкі карыстальнікаў Doctorina'; + + @override + String get developedByDoctors => 'Распрацавана\nЛекарамі'; + + @override + String get quizStepLabel1 => 'КРОК 1/6'; + + @override + String get quizHealthSituationTitle => + 'Як бы вы апісалі свой цяперашні стан здароўя?'; + + @override + String get quizHealthHealthy => 'Вы ў цэлым адчуваеце сябе здаровымі'; + + @override + String get quizHealthMinorConcerns => + 'У мяне ёсць пастаянныя незначныя праблемы'; + + @override + String get quizHealthKnownCondition => 'Я трымаю сваю хваробу пад кантролем'; + + @override + String get quizHealthUnresolved => 'Я сутыкаюся з чымсьці нерешаным'; + + @override + String get quizStepLabel2 => 'КРОК 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Як часта вы звычайна наведваеце лекара?'; + + @override + String get quizDoctorVisitRegular => + 'Регулярна (агляды / кантрольныя візіты)'; + + @override + String get quizDoctorVisitOccasional => 'Часам, калі нешта не так'; + + @override + String get quizDoctorVisitRare => 'Рэдка, толькі калі гэта неабходна'; + + @override + String get quizDoctorVisitAvoid => 'Ухіляецеся ад наведвання лекараў'; + + @override + String get quizDoctorVisitNever => 'Ніколі не наведвалі лекара'; + + @override + String get quizStepLabel3 => 'КРОК 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Якая была ваша самая вялікая праблема з медыцынскім абслугоўваннем да гэтага часу?'; + + @override + String get quizMultiSelectHint => 'Выбірайце колькі заўгодна'; + + @override + String get quizChallengeLongWait => 'Доўгі час чакання на прыём'; + + @override + String get quizChallengeRushedVisits => 'Візіты здаюцца спешнымі'; + + @override + String get quizChallengeCost => 'Высокі кошт або неясная цана'; + + @override + String get quizChallengeHardExplain => 'Складна ўсё ясна растлумачыць'; + + @override + String get quizChallengeConflictingAdvice => + 'Супярэчлівыя меркаванні або парады'; + + @override + String get quizChallengeNone => 'Няма сур\'ёзных праблем'; + + @override + String get quizStepLabel4 => 'КРОК 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Пасля візітаў да лекара, наколькі вы ўпэўненыя ў тым, што вам сказалі?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Няма правільнага або няправільнага адказу'; + + @override + String get quizConfidenceVeryClear => 'Вельмі ясна, што адбываецца'; + + @override + String get quizConfidenceSomewhatClear => 'У пэўнай ступені ясна'; + + @override + String get quizConfidenceStillUncertain => 'Усё яшчэ не ўпэўнены'; + + @override + String get quizConfidenceMoreConfused => 'Вы больш запутаныя, чым раней'; + + @override + String get captionDiagnosisVsChange => + 'Шмат людзей сутыкаюцца з цяжкасцямі не пасля ўстанаўлення дыягназу, а калі сімптомы змяняюцца з часам.'; + + @override + String get quizStepLabel5 => 'КРОК 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Насколькі добра, на вашу думку, звычайна ўлічваюцца вашы клопаты?'; + + @override + String get quizConcernsAddressedSubtitle => + 'На аснове вашых суб\'ектыўных адчуванняў'; + + @override + String get quizConcernsVeryWell => 'Вельмі добра'; + + @override + String get quizConcernsFairlyWell => 'Досыць добра'; + + @override + String get quizConcernsNotVeryWell => 'Не вельмі добра'; + + @override + String get quizConcernsVaries => 'Гэта вельмі вар\'іруецца'; + + @override + String get quizStepLabel6 => 'КРОК 6/6'; + + @override + String get quizSelfResearchTitle => + 'Перад візітам да лекара вы звычайна спрабуеце разабрацца ў сімптомах самастойна?'; + + @override + String get quizSelfResearchYes => 'Так, я даследую і адсочваю сімптомы'; + + @override + String get quizSelfResearchSometimes => 'Часам'; + + @override + String get quizSelfResearchRarely => 'Рэдка'; + + @override + String get quizSelfResearchNo => 'Не, я цалкам давяраюся спецыялістам'; + + @override + String get captionAvailabilityTitle => + 'Пытанні аб здароўі не падпадаюць пад працоўны час.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina даступна 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Яснасць не павінна чакаць наступнага прыёму'; + + @override + String get notificationTitle => + 'Хочаце, каб мы правяралі вашы сімптомы здароўя?'; + + @override + String get notificationDescription => + 'Штучны інтэлект можа адсочваць вашы сімптомы і папярэджваць вас, калі нешта можа патрабаваць увагі'; + + @override + String get notificationYes => 'Так — сачыце за маім здароўем'; + + @override + String get notificationOnlyImportant => + 'Так, толькі калі нешта важнае зменіцца'; + + @override + String get notificationNo => 'Пакуль не ўпэўнены'; + + @override + String get referralSourceTitle => 'Вы чулі пра Doctorina ад доктара?'; + + @override + String get referralSourceYes => 'Так'; + + @override + String get referralSourceNo => 'Не'; + + @override + String get processingSectionLabel => 'АНАЛІЗ РЭЗУЛЬТАТАЎ'; + + @override + String get processingTitle => 'Персаналізацыя вашага досведу'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Неабмежаваны досвед з Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'ВАШ ДАПАМОЖНІК, ЯКІ ЗАЎСЁДЫ ПОБАЧ'; + + @override + String get paywallEnableTrialToggle => + 'Не ўпэўненыя? Уключыце бясплатны пробны перыяд.'; + + @override + String get paywallPlanYear => 'Гадавы'; + + @override + String get paywallPlanMonthly => 'Штомесячны'; + + @override + String get paywallPlanWeek => 'Штотыднёвы'; + + @override + String get paywallPlanDaily => 'штодзённа'; + + @override + String get paywallPlanYearPrice => '\$39.99 (толькі \$3.34/тыдзень)'; + + @override + String get paywallPlanWeekPrice => '3,99 \$'; + + @override + String get paywallSaveBadge => 'ЭКАНОМІЦЕ 58%'; + + @override + String get paywallContinueBtn => 'Працягнуць'; + + @override + String get paywallStartTrialBtn => 'Пачаць бясплатны пробны перыяд'; + + @override + String get paywallSubscriptionDisclaimer => + 'Падпіска аўтаматычна падоўжваецца. Скасуйце ў любы час'; + + @override + String get paywallTermsPrivacy => + 'Умовы абслугоўвання | Палітыка канфідэнцыяльнасці'; + + @override + String get paywallPerWeek => 'тыдзень'; + + @override + String get processingLabel => 'Аналізуем вашы вынікі'; + + @override + String get paywallCloseTooltip => 'Зачыніць навучанне'; + + @override + String get paywallRestoreTooltip => 'Аднавіць пакупкі'; + + @override + String get paywallRestoreBtn => 'Аднавіць'; + + @override + String get paywallRestoreNoneFound => + 'Не знойдзена актыўная падпіска для аднаўлення'; + + @override + String get paywallRestoreError => + 'Не ўдалося аднавіць пакупкі. Калі ласка, паспрабуйце яшчэ раз пазней.'; + + @override + String get paywallPurchaseError => + 'Не ўдалося завяршыць пакупку. Калі ласка, паспрабуйце яшчэ раз пазней.'; + + @override + String get paywallTrialStep1Title => 'Сёння: Атрымаеце імгненны доступ'; + + @override + String get paywallTrialStep1Description => + 'Атрымаеце поўны доступ, атрымлівайце адказы на пытанні пра здароўе ад ІІ ў любы час.'; + + @override + String get paywallTrialStep2Title => 'Дзень 2: Нагадванне аб трыале'; + + @override + String get paywallTrialStep2Description => + 'Мы адправім вам напамінанне, што ваш пробны перыяд хутка скончыцца'; + + @override + String get paywallTrialStep3Title => 'Дзень 3: Падоўжанне'; + + @override + String paywallTrialStep3Description(String date) { + return 'З вас будзе спісана сума $date, адмяніце ў любы час да.'; + } + + @override + String get paywallBenefitsHeader => 'ШТО УКЛЮЧАНА'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Прыватная і бяспечная'; + + @override + String get paywallBenefitAiAssistant => 'AI-асістэнт, 24/7'; + + @override + String get paywallBenefitInstantAnswers => + 'Мгновенныя адказы на пытанні пра здароўе'; + + @override + String get paywallBenefitScienceInsights => + 'Ясныя, навукова абгрунтаваныя інсайты'; + + @override + String get paywallBenefitAutoSummaries => 'Аўтаматычныя рэзюмэ размоў'; + + @override + String get paywallBenefitAnyLanguage => 'Любая мова, у любы час'; + + @override + String get paywallPriceUnitPerWeek => 'за тыдзень'; + + @override + String get paywallOfferTitle => 'Аднаразовае прапанова'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% СКІДКА'; + } + + @override + String get paywallOfferForeverBadge => 'НАВЕЧНА'; + + @override + String get paywallOfferDisclaimer => + 'Як толькі вы зачыніце сваю адзіночную прапанову, яна знікне!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/мес'; + } + + @override + String get paywallOfferLowestPriceBadge => 'НІЗКАЯ ЦЭНА ЗА ЎСЕ ЧАС'; + + @override + String get paywallOfferCancelAnytime => 'Адмяніць у любы час'; + + @override + String get paywallOfferClaimButton => 'Атрымаць вашу прапанову'; + + @override + String get paywallOfferAutoRenewable => 'Аўтаматычна падоўжаная падпіска'; + + @override + String get paywallGiftBoxTitle => 'Спецыяльны падарунак унутры'; + + @override + String get paywallGiftBoxSubtitle => + 'Адзін дотык, каб адкрыць вашу спецыяльную прапанову'; + + @override + String get paywallGiftBoxOpenButton => 'Адкрыць зараз'; + + @override + String get paywallRetryLoadPricesError => + 'Не ўдалося загрузіць варыянты падпіскі. Калі ласка, паспрабуйце пазней.'; + + @override + String get paywallPricesUnavailableTitle => + 'Не ўдалося загрузіць цэны падпісак'; + + @override + String get paywallPricesUnavailableMessage => + 'Праверце злучэнне і паспрабуйце яшчэ раз.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Паспрабуйце яшчэ раз'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_bg.dart b/example/lib/src/generated/onboarding/onboarding_localization_bg.dart new file mode 100644 index 0000000..fe54a46 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_bg.dart @@ -0,0 +1,485 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Bulgarian (`bg`). +class OnboardingLocalizationBg extends OnboardingLocalization { + OnboardingLocalizationBg([String locale = 'bg']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'НАПРЕДНАЛ ИЗКУСТВЕН ИНТЕЛЕКТ ЗА ЗДРАВЕТО'; + + @override + String get welcomeScreenTitle => 'Добре дошли в Doctorina!'; + + @override + String get socialProofTrustedBy => + 'Доверие от\n48K+ потребители'; + + @override + String get welcomeDescription => + 'Създадено да анализира симптомите като опитни клиницисти — чрез разбиране на модели, времеви рамки и контекст.'; + + @override + String get getStartedBtn => 'Започнете'; + + @override + String get alreadyHaveAccount => 'Вече имате акаунт? Вход'; + + @override + String get termsConsent => + 'Като продължавате, вие се съгласявате с нашите\nУсловия за ползване | Политика за поверителност'; + + @override + String get personalizationInterruptionTitle => + 'Нека персонализираме Doctorina за вас'; + + @override + String get personalizationSectionLabel => 'ПЕРСОНАЛИЗАЦИЯ'; + + @override + String get personalizationReasonTitle => 'Какво ви доведе тук днес?'; + + @override + String get personalizationReasonSymptomsNow => 'В момента имам симптоми'; + + @override + String get personalizationReasonUnderstandChange => + 'Искам да разбера промяна в здравето'; + + @override + String get personalizationReasonRuleOutSerious => + 'Искам да изключа нещо сериозно'; + + @override + String get personalizationReasonMonitoring => + 'Наблюдавам здравето си проактивно'; + + @override + String get continueBtn => 'Продължи'; + + @override + String get captionEmpathyText => + 'Когато нещо се промени в здравето ви, най-трудно е да знаете какво е важно.'; + + @override + String get captionDifferentiatorText => + 'Doctorina се фокусира върху симптоматични модели и времеви интервали — същите сигнали, които лекарите търсят в началото.'; + + @override + String get genderTitle => 'Изберете пола си'; + + @override + String get genderSubtitle => + 'Това ни помага да интерпретираме симптомите и да даваме препоръки по-точно.'; + + @override + String get genderMale => 'Мъж'; + + @override + String get genderFemale => 'Жена'; + + @override + String get genderPreferNotSay => 'Предпочитам да не казвам'; + + @override + String get ageTitle => 'На колко години сте?'; + + @override + String get ageSubtitle => + 'Възрастта ни помага да оценим здравословните модели по-точно'; + + @override + String get socialProofLargeTitle => + 'Над 48k+ души\nса избрали Doctorina'; + + @override + String get socialProofDisclaimer => + '*На базата на статистиката на потребителската база на Doctorina'; + + @override + String get developedByDoctors => 'Разработено от
Лекари'; + + @override + String get quizStepLabel1 => 'СТЪПКА 1/6'; + + @override + String get quizHealthSituationTitle => + 'Как бихте описали текущото си здравословно състояние?'; + + @override + String get quizHealthHealthy => 'Обикновено се чувствам здрав'; + + @override + String get quizHealthMinorConcerns => + 'Имам постоянни незначителни притеснения'; + + @override + String get quizHealthKnownCondition => 'Управлявам известна състояние'; + + @override + String get quizHealthUnresolved => 'Справям се с нещо неразрешено'; + + @override + String get quizStepLabel2 => 'СТЪПКА 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Колко често обикновено посещавате лекар?'; + + @override + String get quizDoctorVisitRegular => + 'Редовно (прегледи / последващи посещения)'; + + @override + String get quizDoctorVisitOccasional => + 'От време на време, когато нещо не е наред'; + + @override + String get quizDoctorVisitRare => 'Рядко, само ако е необходимо'; + + @override + String get quizDoctorVisitAvoid => 'Избягвате да посещавате лекари'; + + @override + String get quizDoctorVisitNever => 'Никога не съм посещавал лекар'; + + @override + String get quizStepLabel3 => 'СТЪПКА 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Какво е било най-голямото ви предизвикателство с здравеопазването досега?'; + + @override + String get quizMultiSelectHint => 'Изберете колкото искате'; + + @override + String get quizChallengeLongWait => 'Дълги времена на изчакване за срещи'; + + @override + String get quizChallengeRushedVisits => 'Посещенията изглеждат прибързани'; + + @override + String get quizChallengeCost => 'Висока цена или неясна цена'; + + @override + String get quizChallengeHardExplain => 'Трудно е да се обясни всичко ясно'; + + @override + String get quizChallengeConflictingAdvice => + 'Противоречиви мнения или съвети'; + + @override + String get quizChallengeNone => 'Няма сериозни проблеми'; + + @override + String get quizStepLabel4 => 'СТЪПКА 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'След прегледите, колко уверени се чувствате относно това, което ви казаха?'; + + @override + String get quizConfidenceNoRightAnswer => 'Няма правилен или грешен отговор.'; + + @override + String get quizConfidenceVeryClear => 'Много ясно какво се случва'; + + @override + String get quizConfidenceSomewhatClear => 'Някак си ясно'; + + @override + String get quizConfidenceStillUncertain => 'Все още несигурен'; + + @override + String get quizConfidenceMoreConfused => 'По-объркан от преди'; + + @override + String get captionDiagnosisVsChange => + 'Много хора се сблъскват не след диагнозата , а когато симптомите се променят с времето.'; + + @override + String get quizStepLabel5 => 'СТЪПКА 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Колко добре смятате, че обикновено се адресират вашите притеснения?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Въз основа на вашите субективни чувства'; + + @override + String get quizConcernsVeryWell => 'Много добре'; + + @override + String get quizConcernsFairlyWell => 'Доста добре'; + + @override + String get quizConcernsNotVeryWell => 'Не много добре'; + + @override + String get quizConcernsVaries => 'Много варира'; + + @override + String get quizStepLabel6 => 'СТЪПКА 6/6'; + + @override + String get quizSelfResearchTitle => + 'Преди да видите лекар, обикновено ли се опитвате да разберете симптомите сами?'; + + @override + String get quizSelfResearchYes => 'Да, изследвам и проследявам нещата'; + + @override + String get quizSelfResearchSometimes => 'Понякога'; + + @override + String get quizSelfResearchRarely => 'Рядко'; + + @override + String get quizSelfResearchNo => 'Не, разчитам изцяло на професионалисти'; + + @override + String get captionAvailabilityTitle => + 'Въпросите за здравето не следват работното време.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina е на разположение 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Яснотата не трябва да чака следващата среща'; + + @override + String get notificationTitle => + 'Искате ли да проверим вашите здравословни симптоми?'; + + @override + String get notificationDescription => + 'AI може да следи вашите симптоми и да ви предупреждава, ако нещо изисква внимание'; + + @override + String get notificationYes => 'Да — следя здравето си'; + + @override + String get notificationOnlyImportant => 'Да — само ако нещо важно се промени'; + + @override + String get notificationNo => 'Още не съм сигурен'; + + @override + String get referralSourceTitle => 'Чухте ли за Doctorina от лекар?'; + + @override + String get referralSourceYes => 'Да'; + + @override + String get referralSourceNo => 'Не'; + + @override + String get processingSectionLabel => 'АНАЛИЗИРАНЕ НА РЕЗУЛТАТИТЕ ВИ'; + + @override + String get processingTitle => 'Персонализиране на вашето изживяване'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Неограничено изживяване с Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'ВАШИЯТ ПОМОЩНИК, КОЙТО ВИНАГИ Е БЛИЗО'; + + @override + String get paywallEnableTrialToggle => + 'Не сте сигурни още? Активирайте безплатен пробен период.'; + + @override + String get paywallPlanYear => 'Годишен'; + + @override + String get paywallPlanMonthly => 'Месечен'; + + @override + String get paywallPlanWeek => 'Седмично'; + + @override + String get paywallPlanDaily => 'Дневен'; + + @override + String get paywallPlanYearPrice => '39.99 лв. (само 3.34 лв./седмица)'; + + @override + String get paywallPlanWeekPrice => '3.99 лв'; + + @override + String get paywallSaveBadge => 'СПЕСТЕТЕ 58%'; + + @override + String get paywallContinueBtn => 'Продължи'; + + @override + String get paywallStartTrialBtn => 'Започнете безплатен пробен период'; + + @override + String get paywallSubscriptionDisclaimer => + 'Абонаментът е автоматично подновяем. Можете да отмените по всяко време'; + + @override + String get paywallTermsPrivacy => + 'Условия за ползване | Политика за поверителност'; + + @override + String get paywallPerWeek => 'седмица'; + + @override + String get processingLabel => 'Анализиране на вашите резултати'; + + @override + String get paywallCloseTooltip => 'Затвори обучението'; + + @override + String get paywallRestoreTooltip => 'Възстановяване на покупки'; + + @override + String get paywallRestoreBtn => 'Възстанови'; + + @override + String get paywallRestoreNoneFound => + 'Не е намерена активна абонаментна услуга за възстановяване.'; + + @override + String get paywallRestoreError => + 'Неуспешно възстановяване на покупки. Моля, опитайте отново по-късно.'; + + @override + String get paywallPurchaseError => + 'Неуспешно завършване на покупката. Моля, опитайте отново по-късно.'; + + @override + String get paywallTrialStep1Title => 'Днес: Получете незабавен достъп'; + + @override + String get paywallTrialStep1Description => + 'Отключете пълен достъп, получавайте отговори на здравни въпроси от ИИ по всяко време.'; + + @override + String get paywallTrialStep2Title => 'Ден 2: Напомняне за триала'; + + @override + String get paywallTrialStep2Description => + 'Ще ви изпратим напомняне, че вашият пробен период скоро изтича'; + + @override + String get paywallTrialStep3Title => 'Ден 3: Подновяване'; + + @override + String paywallTrialStep3Description(String date) { + return 'Ще бъдете таксувани на $date, отменете по всяко време преди.'; + } + + @override + String get paywallBenefitsHeader => 'КАКВО Е ВКЛЮЧЕНО'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Частен и сигурен'; + + @override + String get paywallBenefitAiAssistant => 'AI асистент, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Мгновени здравни отговори'; + + @override + String get paywallBenefitScienceInsights => 'Ясни, научно обосновани инсайти'; + + @override + String get paywallBenefitAutoSummaries => 'Автоматични резюмета на разговори'; + + @override + String get paywallBenefitAnyLanguage => 'Всеки език, по всяко време'; + + @override + String get paywallPriceUnitPerWeek => 'на седмица'; + + @override + String get paywallOfferTitle => 'Еднократна оферта'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ОТСТЪПКА'; + } + + @override + String get paywallOfferForeverBadge => 'ЗАВИНАГИ'; + + @override + String get paywallOfferDisclaimer => + 'След като затворите еднократната си оферта, тя изчезва!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/мес'; + } + + @override + String get paywallOfferLowestPriceBadge => 'НАЙ-НИСКА ЦЕНА НИКОГА'; + + @override + String get paywallOfferCancelAnytime => 'Отменете по всяко време'; + + @override + String get paywallOfferClaimButton => 'Вземете офертата си'; + + @override + String get paywallOfferAutoRenewable => + 'Автоматично подновяваща се абонаментна услуга'; + + @override + String get paywallGiftBoxTitle => 'Специален подарък вътре'; + + @override + String get paywallGiftBoxSubtitle => + 'Едно докосване, за да разкриете специалната си оферта'; + + @override + String get paywallGiftBoxOpenButton => 'Отвори сега'; + + @override + String get paywallRetryLoadPricesError => + 'Неуспешно зареждане на опции за абонамент. Моля, опитайте отново по-късно.'; + + @override + String get paywallPricesUnavailableTitle => + 'Не можа да се заредят цените на абонаментите'; + + @override + String get paywallPricesUnavailableMessage => + 'Проверете връзката си и опитайте отново.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Опитайте отново'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_bn.dart b/example/lib/src/generated/onboarding/onboarding_localization_bn.dart new file mode 100644 index 0000000..2fb30d0 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_bn.dart @@ -0,0 +1,488 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Bengali Bangla (`bn`). +class OnboardingLocalizationBn extends OnboardingLocalization { + OnboardingLocalizationBn([String locale = 'bn']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'উন্নত AI স্বাস্থ্য সহায়ক'; + + @override + String get welcomeScreenTitle => 'ডক্টরিনায় স্বাগতম!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'অভিজ্ঞ ক্লিনিশিয়ানদের মতো লক্ষণ বিশ্লেষণের জন্য ডিজাইন করা হয়েছে — প্যাটার্ন, সময় এবং প্রেক্ষাপট বোঝার মাধ্যমে।'; + + @override + String get getStartedBtn => 'শুরু করুন'; + + @override + String get alreadyHaveAccount => + 'আপনার কি ইতিমধ্যে একটি অ্যাকাউন্ট আছে? লগ ইন'; + + @override + String get termsConsent => + 'অগ্রসর হলে, আপনি আমাদের\nসেবা শর্তাবলী | গোপনীয়তা নীতি মেনে নিচ্ছেন'; + + @override + String get personalizationInterruptionTitle => + 'Doctorina আপনার জন্য ব্যক্তিগতকৃত করা যাক'; + + @override + String get personalizationSectionLabel => 'ব্যক্তিগতকরণ'; + + @override + String get personalizationReasonTitle => 'আপনি আজ এখানে কেন এসেছেন?'; + + @override + String get personalizationReasonSymptomsNow => 'আমি এখন উপসর্গ অনুভব করছি'; + + @override + String get personalizationReasonUnderstandChange => + 'আমি একটি স্বাস্থ্য পরিবর্তন বুঝতে চাই'; + + @override + String get personalizationReasonRuleOutSerious => + 'আমি কিছু গুরুতর বিষয় বাদ দিতে চাই'; + + @override + String get personalizationReasonMonitoring => + 'আমি আমার স্বাস্থ্যকে সক্রিয়ভাবে পর্যবেক্ষণ করছি'; + + @override + String get continueBtn => 'অগ্রসর হোন'; + + @override + String get captionEmpathyText => + 'যখন আপনার স্বাস্থ্যে কিছু পরিবর্তন হয়, তখন কী গুরুত্বপূর্ণ তা জানা সবচেয়ে কঠিন।'; + + @override + String get captionDifferentiatorText => + 'Doctorina লক্ষণগুলোর প্যাটার্ন এবং সময়ের উপর ফোকাস করে — একই সংকেত যা চিকিৎসকরা শুরুতে খুঁজে পান।'; + + @override + String get genderTitle => 'আপনার লিঙ্গ নির্বাচন করুন'; + + @override + String get genderSubtitle => + 'এটি আমাদের উপসর্গগুলি ব্যাখ্যা করতে এবং আরও সঠিকভাবে সুপারিশ দিতে সহায়তা করে'; + + @override + String get genderMale => 'পুরুষ'; + + @override + String get genderFemale => 'মহিলা'; + + @override + String get genderPreferNotSay => 'কিছু বলতে চাই না'; + + @override + String get ageTitle => 'আপনার বয়স কত?'; + + @override + String get ageSubtitle => + 'বয়স আমাদের স্বাস্থ্য প্যাটার্নগুলি আরও সঠিকভাবে মূল্যায়ন করতে সাহায্য করে'; + + @override + String get socialProofLargeTitle => + '২৩k+ এর বেশি মানুষ\nDoctorina বেছে নিয়েছে'; + + @override + String get socialProofDisclaimer => + '*Doctorina ব্যবহারকারী ভিত্তি পরিসংখ্যানের উপর ভিত্তি করে'; + + @override + String get developedByDoctors => 'ডাক্তারদের দ্বারা উন্নত'; + + @override + String get quizStepLabel1 => 'ধাপ 1/6'; + + @override + String get quizHealthSituationTitle => + 'আপনি আপনার বর্তমান স্বাস্থ্য পরিস্থিতি কিভাবে বর্ণনা করবেন?'; + + @override + String get quizHealthHealthy => 'আমি সাধারণত সুস্থ অনুভব করি'; + + @override + String get quizHealthMinorConcerns => 'আমার চলমান ছোটখাটো উদ্বেগ রয়েছে'; + + @override + String get quizHealthKnownCondition => + 'আমি একটি পরিচিত অবস্থার পরিচালনা করছি'; + + @override + String get quizHealthUnresolved => 'আমি একটি অমীমাংসিত বিষয় নিয়ে কাজ করছি'; + + @override + String get quizStepLabel2 => 'ধাপ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'আপনি সাধারণত কত ঘন ঘন ডাক্তার দেখান?'; + + @override + String get quizDoctorVisitRegular => 'নিয়মিত (চেকআপ / ফলো-আপ)'; + + @override + String get quizDoctorVisitOccasional => 'কখনও কখনও, যখন কিছু ভুল হয়'; + + @override + String get quizDoctorVisitRare => 'বিরলভাবে, শুধুমাত্র প্রয়োজন হলে'; + + @override + String get quizDoctorVisitAvoid => 'ডাক্তারদের কাছে যাওয়া এড়িয়ে চলুন'; + + @override + String get quizDoctorVisitNever => 'আমি কখনো ডাক্তার দেখাইনি'; + + @override + String get quizStepLabel3 => 'ধাপ 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'এখন পর্যন্ত স্বাস্থ্যসেবার সাথে আপনার সবচেয়ে বড় চ্যালেঞ্জ কী ছিল?'; + + @override + String get quizMultiSelectHint => 'আপনি যত খুশি ততটি নির্বাচন করুন'; + + @override + String get quizChallengeLongWait => + 'অ্যাপয়েন্টমেন্টের জন্য দীর্ঘ অপেক্ষার সময়'; + + @override + String get quizChallengeRushedVisits => 'ভিজিটগুলি তাড়াহুড়ো মনে হয়'; + + @override + String get quizChallengeCost => 'উচ্চ খরচ বা অস্পষ্ট মূল্য'; + + @override + String get quizChallengeHardExplain => 'সবকিছু স্পষ্টভাবে ব্যাখ্যা করা কঠিন'; + + @override + String get quizChallengeConflictingAdvice => 'বিরোধী মতামত বা পরামর্শ'; + + @override + String get quizChallengeNone => 'কোনো বড় সমস্যা নেই'; + + @override + String get quizStepLabel4 => 'ধাপ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'চিকিৎসার পর, আপনি যা বলা হয়েছে তার সম্পর্কে কতটা আত্মবিশ্বাসী বোধ করেন?'; + + @override + String get quizConfidenceNoRightAnswer => 'সঠিক বা ভুল উত্তর নেই'; + + @override + String get quizConfidenceVeryClear => 'কি ঘটছে তা খুব স্পষ্ট'; + + @override + String get quizConfidenceSomewhatClear => 'আংশিকভাবে স্পষ্ট'; + + @override + String get quizConfidenceStillUncertain => 'এখনও অনিশ্চিত'; + + @override + String get quizConfidenceMoreConfused => 'আগের চেয়ে বেশি বিভ্রান্ত'; + + @override + String get captionDiagnosisVsChange => + 'অনেক মানুষ diagnosissের পরে সংগ্রাম করে না বরং যখন সময়ের সাথে সাথে উপসর্গগুলি পরিবর্তিত হয়।'; + + @override + String get quizStepLabel5 => 'ধাপ 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'আপনি কীভাবে মনে করেন আপনার উদ্বেগগুলি সাধারণত কতটা সমাধান করা হয়?'; + + @override + String get quizConcernsAddressedSubtitle => + 'আপনার ব্যক্তিগত অনুভূতির ভিত্তিতে'; + + @override + String get quizConcernsVeryWell => 'খুব ভালো'; + + @override + String get quizConcernsFairlyWell => 'মাঝারি ভালো'; + + @override + String get quizConcernsNotVeryWell => 'ভালো নয়'; + + @override + String get quizConcernsVaries => 'এটি অনেক পরিবর্তিত হয়'; + + @override + String get quizStepLabel6 => 'ধাপ 6/6'; + + @override + String get quizSelfResearchTitle => + 'ডাক্তার দেখানোর আগে, আপনি সাধারণত কি নিজের উপসর্গগুলো বোঝার চেষ্টা করেন?'; + + @override + String get quizSelfResearchYes => + 'হ্যাঁ, আমি গবেষণা করি এবং বিষয়গুলি ট্র্যাক করি'; + + @override + String get quizSelfResearchSometimes => 'কখনও কখনও'; + + @override + String get quizSelfResearchRarely => 'বিরলভাবে'; + + @override + String get quizSelfResearchNo => + 'না, আমি সম্পূর্ণরূপে পেশাদারদের উপর নির্ভর করি'; + + @override + String get captionAvailabilityTitle => + 'স্বাস্থ্য প্রশ্ন অফিসের সময় অনুসরণ করে না।'; + + @override + String get captionAvailabilitySupport => + 'Doctorina ২৪/৭ উপলব্ধ।'; + + @override + String get captionAvailabilityDescription => + 'স্পষ্টতা পরবর্তী অ্যাপয়েন্টমেন্টের জন্য অপেক্ষা করা উচিত নয়'; + + @override + String get notificationTitle => + 'আপনি কি চান আমরা আপনার স্বাস্থ্য উপসর্গগুলোর উপর নজর রাখি?'; + + @override + String get notificationDescription => + 'এআই আপনার উপসর্গগুলি পর্যবেক্ষণ করতে পারে এবং যদি কিছু মনোযোগের প্রয়োজন হয় তবে আপনাকে সতর্ক করতে পারে'; + + @override + String get notificationYes => 'হ্যাঁ — আমার স্বাস্থ্যের দিকে নজর রাখুন'; + + @override + String get notificationOnlyImportant => + 'হ্যাঁ — শুধুমাত্র যদি কিছু গুরুত্বপূর্ণ পরিবর্তন হয়'; + + @override + String get notificationNo => 'এখন নিশ্চিত নই'; + + @override + String get referralSourceTitle => + 'আপনি কি ডাক্তার থেকে Doctorina সম্পর্কে শুনেছেন?'; + + @override + String get referralSourceYes => 'হ্যাঁ'; + + @override + String get referralSourceNo => 'না'; + + @override + String get processingSectionLabel => 'আপনার ফলাফল বিশ্লেষণ করা হচ্ছে'; + + @override + String get processingTitle => 'আপনার অভিজ্ঞতা ব্যক্তিগতকরণ করা হচ্ছে'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Doctorina Pro এর সাথে সীমাহীন অভিজ্ঞতা'; + + @override + String get paywallAssistantTagline => 'আপনার সহায়ক, যিনি সবসময় কাছে'; + + @override + String get paywallEnableTrialToggle => + 'এখনো নিশ্চিত নন? ফ্রি ট্রায়াল চালু করুন।'; + + @override + String get paywallPlanYear => 'বার্ষিক'; + + @override + String get paywallPlanMonthly => 'মাসিক'; + + @override + String get paywallPlanWeek => 'সাপ্তাহিক'; + + @override + String get paywallPlanDaily => 'প্রতিদিন'; + + @override + String get paywallPlanYearPrice => '\$39.99 (সপ্তাহে মাত্র \$3.34)'; + + @override + String get paywallPlanWeekPrice => '৳399'; + + @override + String get paywallSaveBadge => '৫৮% সাশ্রয়'; + + @override + String get paywallContinueBtn => 'চালিয়ে যান'; + + @override + String get paywallStartTrialBtn => 'ফ্রি ট্রায়াল শুরু করুন'; + + @override + String get paywallSubscriptionDisclaimer => + 'সাবস্ক্রিপশন স্বয়ংক্রিয়ভাবে নবীকরণ হয়। যেকোনো সময় বাতিল করুন'; + + @override + String get paywallTermsPrivacy => + 'সেবা শর্তাবলী | গোপনীয়তা নীতি'; + + @override + String get paywallPerWeek => 'সপ্তাহ'; + + @override + String get processingLabel => 'আপনার ফলাফল বিশ্লেষণ করা হচ্ছে'; + + @override + String get paywallCloseTooltip => 'অনবোর্ডিং বন্ধ করুন'; + + @override + String get paywallRestoreTooltip => 'ক্রয় পুনরুদ্ধার করুন'; + + @override + String get paywallRestoreBtn => 'পুনরুদ্ধার'; + + @override + String get paywallRestoreNoneFound => + 'পুনরুদ্ধারের জন্য কোনো সক্রিয় সাবস্ক্রিপশন পাওয়া যায়নি'; + + @override + String get paywallRestoreError => + 'ক্রয় পুনরুদ্ধারে ব্যর্থ হয়েছে। দয়া করে পরে আবার চেষ্টা করুন।'; + + @override + String get paywallPurchaseError => + 'ক্রয় সম্পন্ন করতে ব্যর্থ হয়েছে। দয়া করে পরে আবার চেষ্টা করুন।'; + + @override + String get paywallTrialStep1Title => 'আজ: তাত্ক্ষণিক প্রবেশাধিকার পান'; + + @override + String get paywallTrialStep1Description => + 'সম্পূর্ণ অ্যাক্সেস আনলক করুন, যেকোনো সময় AI স্বাস্থ্য উত্তর পান।'; + + @override + String get paywallTrialStep2Title => 'দিন ২: ট্রায়াল স্মরণ'; + + @override + String get paywallTrialStep2Description => + 'আমরা আপনাকে একটি স্মরণিকা পাঠাবো যে আপনার ট্রায়াল শেষ হতে চলেছে'; + + @override + String get paywallTrialStep3Title => 'দিন ৩: নবীকরণ'; + + @override + String paywallTrialStep3Description(String date) { + return 'আপনার কাছ থেকে $date তারিখে চার্জ করা হবে, এর আগে যে কোনো সময় বাতিল করুন।'; + } + + @override + String get paywallBenefitsHeader => 'কি অন্তর্ভুক্ত'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'ব্যক্তিগত এবং নিরাপদ'; + + @override + String get paywallBenefitAiAssistant => 'এআই সহকারী, ২৪/৭'; + + @override + String get paywallBenefitInstantAnswers => 'মুহূর্তের স্বাস্থ্য উত্তর'; + + @override + String get paywallBenefitScienceInsights => + 'স্পষ্ট, বিজ্ঞানভিত্তিক অন্তর্দৃষ্টি'; + + @override + String get paywallBenefitAutoSummaries => 'স্বয়ংক্রিয় কথোপকথন সারসংক্ষেপ'; + + @override + String get paywallBenefitAnyLanguage => 'যেকোনো ভাষা, যেকোনো সময়'; + + @override + String get paywallPriceUnitPerWeek => 'প্রতি সপ্তাহে'; + + @override + String get paywallOfferTitle => 'এককালীন অফার'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ছাড়'; + } + + @override + String get paywallOfferForeverBadge => 'চিরকাল'; + + @override + String get paywallOfferDisclaimer => + 'যখন আপনি আপনার এককালীন অফার বন্ধ করবেন, এটি চলে যাবে!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/মাস'; + } + + @override + String get paywallOfferLowestPriceBadge => 'সর্বনিম্ন মূল্য কখনও'; + + @override + String get paywallOfferCancelAnytime => 'যেকোনো সময় বাতিল করুন'; + + @override + String get paywallOfferClaimButton => 'আপনার অফার দাবি করুন'; + + @override + String get paywallOfferAutoRenewable => + 'স্বয়ংক্রিয় নবায়নযোগ্য সাবস্ক্রিপশন'; + + @override + String get paywallGiftBoxTitle => 'বিশেষ উপহার ভিতরে'; + + @override + String get paywallGiftBoxSubtitle => + 'এক ট্যাপ করে আপনার বিশেষ অফার প্রকাশ করুন'; + + @override + String get paywallGiftBoxOpenButton => 'এখন খুলুন'; + + @override + String get paywallRetryLoadPricesError => + 'সাবস্ক্রিপশন বিকল্পগুলি লোড করতে ব্যর্থ হয়েছে। দয়া করে পরে আবার চেষ্টা করুন।'; + + @override + String get paywallPricesUnavailableTitle => + 'সাবস্ক্রিপশন মূল্যের তথ্য লোড করা যায়নি'; + + @override + String get paywallPricesUnavailableMessage => + 'আপনার সংযোগ পরীক্ষা করুন এবং আবার চেষ্টা করুন।'; + + @override + String get paywallPricesUnavailableRetryButton => 'পুনরায় চেষ্টা করুন'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ca.dart b/example/lib/src/generated/onboarding/onboarding_localization_ca.dart new file mode 100644 index 0000000..7c4061d --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ca.dart @@ -0,0 +1,490 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Catalan Valencian (`ca`). +class OnboardingLocalizationCa extends OnboardingLocalization { + OnboardingLocalizationCa([String locale = 'ca']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ASSISTENT DE SALUT AVANÇAT D\'IA'; + + @override + String get welcomeScreenTitle => 'Benvingut'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Dissenyat per analitzar els símptomes com ho fan els clínics experimentats: entenent patrons, temporització i context.'; + + @override + String get getStartedBtn => 'Comença'; + + @override + String get alreadyHaveAccount => + 'Ja tens un compte? Inicia sessió'; + + @override + String get termsConsent => + 'En continuar, accepteu els nostres\nTermes de Servei | Política de Privacitat'; + + @override + String get personalizationInterruptionTitle => + 'Personalitzem Doctorina per a tu'; + + @override + String get personalizationSectionLabel => 'PERSONALITZACIÓ'; + + @override + String get personalizationReasonTitle => 'Què et porta aquí avui?'; + + @override + String get personalizationReasonSymptomsNow => + 'Estic experimentant símptomes ara'; + + @override + String get personalizationReasonUnderstandChange => + 'Vull entendre un canvi de salut'; + + @override + String get personalizationReasonRuleOutSerious => + 'Vull saber si hi ha alguna cosa greu'; + + @override + String get personalizationReasonMonitoring => + 'Estic monitoritzant la meva salut de manera proactiva'; + + @override + String get continueBtn => 'Continuar'; + + @override + String get captionEmpathyText => + 'Quan alguna cosa canvia en la teva salut, saber què és important és el més difícil.'; + + @override + String get captionDifferentiatorText => + 'Doctorina se centra en patrons de símptomes i en el moment — els mateixos senyals que busquen els clínics des del principi.'; + + @override + String get genderTitle => 'Selecciona el teu gènere'; + + @override + String get genderSubtitle => + 'Això ens ajuda a interpretar els símptomes i a fer recomanacions amb més precisió'; + + @override + String get genderMale => 'Home'; + + @override + String get genderFemale => 'Femení'; + + @override + String get genderPreferNotSay => 'Prefereix no dir-ho'; + + @override + String get ageTitle => 'Quina és la teva edat?'; + + @override + String get ageSubtitle => + 'L\'edat ens ajuda a avaluar els patrons de salut amb més precisió.'; + + @override + String get socialProofLargeTitle => + 'Més de 48k+ persones\nhan escollit Doctorina'; + + @override + String get socialProofDisclaimer => + '*Basat en les estadístiques de la base d\'usuaris de Doctorina'; + + @override + String get developedByDoctors => 'Desenvolupat per\nMetges'; + + @override + String get quizStepLabel1 => 'PAS 1/6'; + + @override + String get quizHealthSituationTitle => + 'Com descriuries la teva situació de salut actual?'; + + @override + String get quizHealthHealthy => 'Generalment em sento sa'; + + @override + String get quizHealthMinorConcerns => 'Tinc preocupacions menors continuades'; + + @override + String get quizHealthKnownCondition => + 'Estic gestionant una condició coneguda'; + + @override + String get quizHealthUnresolved => 'Estic lidiant amb alguna cosa no resolta'; + + @override + String get quizStepLabel2 => 'PAS 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Amb quina freqüència sol veure un metge?'; + + @override + String get quizDoctorVisitRegular => 'Regularment (controls / seguiments)'; + + @override + String get quizDoctorVisitOccasional => + 'Occasionalment, quan alguna cosa va malament'; + + @override + String get quizDoctorVisitRare => 'Rarament, només si és necessari'; + + @override + String get quizDoctorVisitAvoid => 'Evita visitar metges'; + + @override + String get quizDoctorVisitNever => 'Mai he visitat un metge'; + + @override + String get quizStepLabel3 => 'PAS 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Quina ha estat la teva major dificultat amb la salut fins ara?'; + + @override + String get quizMultiSelectHint => 'Trieu tants com vulguis'; + + @override + String get quizChallengeLongWait => 'Llargs temps d\'espera per a cites'; + + @override + String get quizChallengeRushedVisits => 'Les visites semblen precipitats'; + + @override + String get quizChallengeCost => 'Alt cost o preu poc clar'; + + @override + String get quizChallengeHardExplain => + 'És difícil d\'explicar-ho tot clarament'; + + @override + String get quizChallengeConflictingAdvice => + 'Opinions o consells contradictoris'; + + @override + String get quizChallengeNone => 'Sense problemes importants'; + + @override + String get quizStepLabel4 => 'PAS 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Després de les cites, quina confiança tens en el que et van dir?'; + + @override + String get quizConfidenceNoRightAnswer => + 'No hi ha resposta correcta ni incorrecta.'; + + @override + String get quizConfidenceVeryClear => 'Molt clar sobre el que està passant'; + + @override + String get quizConfidenceSomewhatClear => 'Una mica clar'; + + @override + String get quizConfidenceStillUncertain => 'Encara incert'; + + @override + String get quizConfidenceMoreConfused => 'Més confós que abans'; + + @override + String get captionDiagnosisVsChange => + 'Molts gent no lluiten després del diagnòstic , sinó quan els símptomes canvien amb el temps.'; + + @override + String get quizStepLabel5 => 'PAS 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Quin grau de satisfacció tens sobre com es tracten habitualment les teves preocupacions?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Basat en els teus sentiments subjectius'; + + @override + String get quizConcernsVeryWell => 'Molt bé'; + + @override + String get quizConcernsFairlyWell => 'Molt bé'; + + @override + String get quizConcernsNotVeryWell => 'No molt bé'; + + @override + String get quizConcernsVaries => 'Varía molt'; + + @override + String get quizStepLabel6 => 'PAS 6/6'; + + @override + String get quizSelfResearchTitle => + 'Abans de veure un metge, normalment intentes entendre els símptomes tu mateix?'; + + @override + String get quizSelfResearchYes => + 'Sí, investigo i faig un seguiment de les coses'; + + @override + String get quizSelfResearchSometimes => 'De vegades'; + + @override + String get quizSelfResearchRarely => 'Rarament'; + + @override + String get quizSelfResearchNo => 'No, confio completament en professionals'; + + @override + String get captionAvailabilityTitle => + 'Les preguntes de salut no segueixen l\'horari d\'oficina.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina està disponible 24/7.'; + + @override + String get captionAvailabilityDescription => + 'La claredat no hauria d\'esperar la propera cita'; + + @override + String get notificationTitle => + 'Voleu que comprovem els vostres símptomes de salut?'; + + @override + String get notificationDescription => + 'La IA pot monitoritzar els teus símptomes i alertar-te si alguna cosa necessita atenció'; + + @override + String get notificationYes => 'Sí — vigila la meva salut'; + + @override + String get notificationOnlyImportant => + 'Sí — només si alguna cosa important canvia'; + + @override + String get notificationNo => 'Encara no estic segur'; + + @override + String get referralSourceTitle => + 'Vas sentir a parlar de Doctorina per un metge?'; + + @override + String get referralSourceYes => 'Sí'; + + @override + String get referralSourceNo => 'No'; + + @override + String get processingSectionLabel => 'ANALITZANT ELS TEUS RESULTATS'; + + @override + String get processingTitle => 'Personalitzant la teva experiència'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Experiència il·limitada amb Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'EL TEU ASSISTENT QUE SEMPRE ÉS A PROP'; + + @override + String get paywallEnableTrialToggle => + 'No esteu segurs encara? Activa la prova gratuïta.'; + + @override + String get paywallPlanYear => 'Anual'; + + @override + String get paywallPlanMonthly => 'Mensual'; + + @override + String get paywallPlanWeek => 'Setmanal'; + + @override + String get paywallPlanDaily => 'Diari'; + + @override + String get paywallPlanYearPrice => '\$39.99 (només \$3.34/setmana)'; + + @override + String get paywallPlanWeekPrice => '3,99 \$'; + + @override + String get paywallSaveBadge => 'ESTALVIA 58%'; + + @override + String get paywallContinueBtn => 'Continuar'; + + @override + String get paywallStartTrialBtn => 'Comença el període de prova gratuït'; + + @override + String get paywallSubscriptionDisclaimer => + 'La subscripció és renovable automàticament. Cancel·la en qualsevol moment'; + + @override + String get paywallTermsPrivacy => + 'Termes de servei | Política de privadesa'; + + @override + String get paywallPerWeek => 'setmana'; + + @override + String get processingLabel => 'Analitzant els teus resultats'; + + @override + String get paywallCloseTooltip => 'Tanca la incorporació'; + + @override + String get paywallRestoreTooltip => 'Restaura compreses'; + + @override + String get paywallRestoreBtn => 'Restaura'; + + @override + String get paywallRestoreNoneFound => + 'No s\'ha trobat cap subscripció activa per restaurar.'; + + @override + String get paywallRestoreError => + 'No s\'ha pogut restaurar les compres. Si us plau, torneu-ho a intentar més tard.'; + + @override + String get paywallPurchaseError => + 'No s\'ha pogut completar la compra. Si us plau, torna a provar més tard.'; + + @override + String get paywallTrialStep1Title => 'Avui: Obteniu accés instantani'; + + @override + String get paywallTrialStep1Description => + 'Desbloqueja l\'accés complet, obtén respostes de salut d\'IA, en qualsevol moment.'; + + @override + String get paywallTrialStep2Title => 'Dia 2: Recordatori del trial'; + + @override + String get paywallTrialStep2Description => + 'Us enviarem un recordatori que la teva prova està a punt d\'acabar'; + + @override + String get paywallTrialStep3Title => 'Dia 3: Renovació'; + + @override + String paywallTrialStep3Description(String date) { + return 'Se\'ts cobrarà el $date, cancel·la en qualsevol moment abans.'; + } + + @override + String get paywallBenefitsHeader => 'QUÈ ESTÀ INCLÒS'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privat i segur'; + + @override + String get paywallBenefitAiAssistant => 'Assistència AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Respostes de salut instantànies'; + + @override + String get paywallBenefitScienceInsights => 'Clars, basats en la ciència'; + + @override + String get paywallBenefitAutoSummaries => 'Resums automàtics de converses'; + + @override + String get paywallBenefitAnyLanguage => + 'Qualsevol idioma, en qualsevol moment'; + + @override + String get paywallPriceUnitPerWeek => 'per week'; + + @override + String get paywallOfferTitle => 'Oferta única'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% DESCOMPTE'; + } + + @override + String get paywallOfferForeverBadge => 'PER SEMPRE'; + + @override + String get paywallOfferDisclaimer => + 'Un cop tanquis la teva oferta única, s\'ha acabat!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mes'; + } + + @override + String get paywallOfferLowestPriceBadge => 'PREU MÉS BAIX MAI'; + + @override + String get paywallOfferCancelAnytime => 'Cancel·la en qualsevol moment'; + + @override + String get paywallOfferClaimButton => 'Reclama la teva oferta'; + + @override + String get paywallOfferAutoRenewable => 'Subscripció de renovació automàtica'; + + @override + String get paywallGiftBoxTitle => 'Regal especial a dins'; + + @override + String get paywallGiftBoxSubtitle => + 'Un toc per revelar la teva oferta especial'; + + @override + String get paywallGiftBoxOpenButton => 'Obre ara'; + + @override + String get paywallRetryLoadPricesError => + 'No s\'ha pogut carregar les opcions d\'abonament. Si us plau, torneu-ho a intentar més tard.'; + + @override + String get paywallPricesUnavailableTitle => + 'No s\'han pogut carregar els preus de les subscripcions'; + + @override + String get paywallPricesUnavailableMessage => + 'Comprova la teva connexió i torna-ho a provar.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Prova-ho de nou'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_cs.dart b/example/lib/src/generated/onboarding/onboarding_localization_cs.dart new file mode 100644 index 0000000..5622ab3 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_cs.dart @@ -0,0 +1,479 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Czech (`cs`). +class OnboardingLocalizationCs extends OnboardingLocalization { + OnboardingLocalizationCs([String locale = 'cs']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'POKROČILÝ AI ZDRAVOTNÍ ASISTENT'; + + @override + String get welcomeScreenTitle => 'Vítejte u Doctoriny!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Navrženo tak, aby analyzovalo příznaky jako zkušení klinici — porozuměním vzorcům, načasování a kontextu.'; + + @override + String get getStartedBtn => 'Začít'; + + @override + String get alreadyHaveAccount => 'Už máte účet? Přihlásit se'; + + @override + String get termsConsent => + 'Pokračováním souhlasíte s našimi\nPodmínkami služby | Zásadami ochrany osobních údajů'; + + @override + String get personalizationInterruptionTitle => + 'Pojďme personalizovat Doctorina pro vás'; + + @override + String get personalizationSectionLabel => 'PERSONALIZACE'; + + @override + String get personalizationReasonTitle => 'Co vás sem dnes přivedlo?'; + + @override + String get personalizationReasonSymptomsNow => 'Momentálně mám příznaky'; + + @override + String get personalizationReasonUnderstandChange => + 'Chci pochopit změnu zdraví'; + + @override + String get personalizationReasonRuleOutSerious => + 'Chci vyloučit něco vážného'; + + @override + String get personalizationReasonMonitoring => + 'Své zdraví monitoruji proaktivně'; + + @override + String get continueBtn => 'Pokračovat'; + + @override + String get captionEmpathyText => + 'Když se něco změní ve vašem zdraví, je nejtěžší vědět, co je důležité.'; + + @override + String get captionDifferentiatorText => + 'Doctorina se zaměřuje na vzorce symptomů a časování — stejné signály, které lékaři hledají na začátku.'; + + @override + String get genderTitle => 'Vyberte své pohlaví'; + + @override + String get genderSubtitle => + 'To nám pomáhá lépe interpretovat příznaky a poskytovat doporučení.'; + + @override + String get genderMale => 'Muž'; + + @override + String get genderFemale => 'Žena'; + + @override + String get genderPreferNotSay => 'Raději neříkat'; + + @override + String get ageTitle => 'Kolik je vám let?'; + + @override + String get ageSubtitle => 'Věk nám pomáhá přesněji hodnotit zdravotní vzorce'; + + @override + String get socialProofLargeTitle => + 'Více než 48k+ lidí\nvzalo Doctorinu'; + + @override + String get socialProofDisclaimer => + '*Na základě statistik uživatelské základny Doctorina'; + + @override + String get developedByDoctors => 'Vyvinuto
lékaři'; + + @override + String get quizStepLabel1 => 'KROK 1/6'; + + @override + String get quizHealthSituationTitle => + 'Jak byste popsali svou aktuální zdravotní situaci?'; + + @override + String get quizHealthHealthy => 'Obecně se cítím zdravě'; + + @override + String get quizHealthMinorConcerns => 'Mám trvalé drobné obavy'; + + @override + String get quizHealthKnownCondition => 'Řídím známý stav'; + + @override + String get quizHealthUnresolved => 'Zabývám se něčím nevyřešeným'; + + @override + String get quizStepLabel2 => 'KROK 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Jak často obvykle navštěvujete lékaře?'; + + @override + String get quizDoctorVisitRegular => 'Pravidelně (prohlídky / kontroly)'; + + @override + String get quizDoctorVisitOccasional => 'Občas, když je něco špatně'; + + @override + String get quizDoctorVisitRare => 'Zřídka, pouze pokud je to nutné'; + + @override + String get quizDoctorVisitAvoid => 'Vyhýbáte se návštěvám lékařů'; + + @override + String get quizDoctorVisitNever => 'Nikdy jsem nenavštívil lékaře'; + + @override + String get quizStepLabel3 => 'KROK 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Jaká byla vaše dosavadní největší výzva v oblasti zdravotní péče?'; + + @override + String get quizMultiSelectHint => 'Vyberte, kolik chcete'; + + @override + String get quizChallengeLongWait => 'Dlouhé čekací doby na schůzky'; + + @override + String get quizChallengeRushedVisits => 'Návštěvy se zdají být uspěchané'; + + @override + String get quizChallengeCost => 'Vysoké náklady nebo nejasné ceny'; + + @override + String get quizChallengeHardExplain => 'Těžké vše jasně vysvětlit'; + + @override + String get quizChallengeConflictingAdvice => + 'Oproti si navzájem odporující názory nebo rady'; + + @override + String get quizChallengeNone => 'Žádné vážné problémy'; + + @override + String get quizStepLabel4 => 'KROK 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Po schůzkách, jak si jste jisti tím, co vám bylo řečeno?'; + + @override + String get quizConfidenceNoRightAnswer => 'Není správná ani špatná odpověď.'; + + @override + String get quizConfidenceVeryClear => 'Velmi jasné, co se děje'; + + @override + String get quizConfidenceSomewhatClear => 'Poněkud jasné'; + + @override + String get quizConfidenceStillUncertain => 'Stále nejistý'; + + @override + String get quizConfidenceMoreConfused => 'Více zmatený než předtím'; + + @override + String get captionDiagnosisVsChange => + 'Mnoho lidí se potýká ne po diagnóze , ale když se symptomy v průběhu času mění.'; + + @override + String get quizStepLabel5 => 'KROK 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Jak dobře se cítíte, že jsou vaše obavy obvykle řešeny?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Na základě vašich subjektivních pocitů'; + + @override + String get quizConcernsVeryWell => 'Velmi dobře'; + + @override + String get quizConcernsFairlyWell => 'Docela dobře'; + + @override + String get quizConcernsNotVeryWell => 'Ne moc dobře'; + + @override + String get quizConcernsVaries => 'Hodně se to liší'; + + @override + String get quizStepLabel6 => 'KROK 6/6'; + + @override + String get quizSelfResearchTitle => + 'Před návštěvou lékaře se obvykle snažíte pochopit příznaky sami?'; + + @override + String get quizSelfResearchYes => 'Ano, zkoumám a sleduji věci'; + + @override + String get quizSelfResearchSometimes => 'Někdy'; + + @override + String get quizSelfResearchRarely => 'Zřídka'; + + @override + String get quizSelfResearchNo => 'Ne, spoléhám se zcela na profesionály'; + + @override + String get captionAvailabilityTitle => + 'Zdravotní otázky následují úřední hodiny.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina je dostupná 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Jasnost by neměla čekat na další schůzku.'; + + @override + String get notificationTitle => + 'Chcete, abychom se zajímali o vaše zdravotní příznaky?'; + + @override + String get notificationDescription => + 'AI může sledovat vaše příznaky a upozornit vás, pokud by něco mohlo vyžadovat pozornost'; + + @override + String get notificationYes => 'Ano — sledujte mé zdraví'; + + @override + String get notificationOnlyImportant => + 'Ano — pouze pokud dojde k něčemu důležitému'; + + @override + String get notificationNo => 'Ještě si nejsem jistý'; + + @override + String get referralSourceTitle => 'Slyšel(a) jste o Doctorině od lékaře?'; + + @override + String get referralSourceYes => 'Ano'; + + @override + String get referralSourceNo => 'Ne'; + + @override + String get processingSectionLabel => 'ANALYZUJI VAŠE VÝSLEDKY'; + + @override + String get processingTitle => 'Personalizace vaší zkušenosti'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Neomezený zážitek s Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'VÁŠ ASISTENT, KTERÝ JE VŽDY BLÍZKO'; + + @override + String get paywallEnableTrialToggle => + 'Nejste si ještě jisti? Aktivujte bezplatnou zkušební verzi.'; + + @override + String get paywallPlanYear => 'Roční'; + + @override + String get paywallPlanMonthly => 'Měsíčně'; + + @override + String get paywallPlanWeek => 'Týdenní'; + + @override + String get paywallPlanDaily => 'Denní'; + + @override + String get paywallPlanYearPrice => '39,99 \$ (pouze 3,34 \$/týden)'; + + @override + String get paywallPlanWeekPrice => '3,99 \$'; + + @override + String get paywallSaveBadge => 'UŠETŘETE 58%'; + + @override + String get paywallContinueBtn => 'Pokračovat'; + + @override + String get paywallStartTrialBtn => 'Začít bezplatnou zkušební verzi'; + + @override + String get paywallSubscriptionDisclaimer => + 'Předplatné se automaticky obnovuje. Můžete zrušit kdykoli'; + + @override + String get paywallTermsPrivacy => + 'Podmínky služby | Zásady ochrany osobních údajů'; + + @override + String get paywallPerWeek => 'týden'; + + @override + String get processingLabel => 'Analyzujeme vaše výsledky'; + + @override + String get paywallCloseTooltip => 'Zavřít onboarding'; + + @override + String get paywallRestoreTooltip => 'Obnovit nákupy'; + + @override + String get paywallRestoreBtn => 'Obnovit'; + + @override + String get paywallRestoreNoneFound => + 'Nenašla se žádná aktivní předplatné k obnovení.'; + + @override + String get paywallRestoreError => + 'Obnovení nákupů se nezdařilo. Zkuste to prosím znovu později.'; + + @override + String get paywallPurchaseError => + 'Nákup se nepodařilo dokončit. Zkuste to prosím znovu později.'; + + @override + String get paywallTrialStep1Title => 'Dnes: Získejte okamžitý přístup'; + + @override + String get paywallTrialStep1Description => + 'Odemkněte plný přístup, získejte odpovědi na zdravotní otázky od AI, kdykoliv.'; + + @override + String get paywallTrialStep2Title => 'Den 2: Připomenutí zkušební doby'; + + @override + String get paywallTrialStep2Description => + 'Pošleme vám připomínku, že vaše zkušební doba se blíží ke konci'; + + @override + String get paywallTrialStep3Title => 'Den 3: Obnovení'; + + @override + String paywallTrialStep3Description(String date) { + return 'Budete účtováni dne $date, zrušte kdykoli předtím.'; + } + + @override + String get paywallBenefitsHeader => 'CO JE ZAHRNUTO'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Soukromé a bezpečné'; + + @override + String get paywallBenefitAiAssistant => 'AI asistent, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Okamžité zdravotní odpovědi'; + + @override + String get paywallBenefitScienceInsights => 'Clear, science-based insights'; + + @override + String get paywallBenefitAutoSummaries => 'Automatická shrnutí konverzací'; + + @override + String get paywallBenefitAnyLanguage => 'Jakýkoli jazyk, kdykoli'; + + @override + String get paywallPriceUnitPerWeek => 'za týden'; + + @override + String get paywallOfferTitle => 'Jednorázová nabídka'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% SLEVA'; + } + + @override + String get paywallOfferForeverBadge => 'FOREVER'; + + @override + String get paywallOfferDisclaimer => + 'Jakmile zavřete svou jednorázovou nabídku, je pryč!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mo'; + } + + @override + String get paywallOfferLowestPriceBadge => 'LOWEST PRICE EVER'; + + @override + String get paywallOfferCancelAnytime => 'Zrušit kdykoli'; + + @override + String get paywallOfferClaimButton => 'Uplatněte svou nabídku'; + + @override + String get paywallOfferAutoRenewable => 'Automaticky obnovitelné předplatné'; + + @override + String get paywallGiftBoxTitle => 'Speciální dárek uvnitř'; + + @override + String get paywallGiftBoxSubtitle => + 'Jedním dotykem odhalte svou speciální nabídku'; + + @override + String get paywallGiftBoxOpenButton => 'Otevřít nyní'; + + @override + String get paywallRetryLoadPricesError => + 'Nepodařilo se načíst možnosti předplatného. Zkuste to prosím znovu později.'; + + @override + String get paywallPricesUnavailableTitle => 'Nelze načíst ceny předplatného'; + + @override + String get paywallPricesUnavailableMessage => + 'Zkontrolujte své připojení a zkuste to znovu'; + + @override + String get paywallPricesUnavailableRetryButton => 'Zkusit znovu'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_da.dart b/example/lib/src/generated/onboarding/onboarding_localization_da.dart new file mode 100644 index 0000000..7336515 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_da.dart @@ -0,0 +1,484 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Danish (`da`). +class OnboardingLocalizationDa extends OnboardingLocalization { + OnboardingLocalizationDa([String locale = 'da']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'AVANCERET AI SUNDHEDSASSISTENT'; + + @override + String get welcomeScreenTitle => 'Velkommen'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Designet til at analysere symptomer som erfarne klinikere gør — ved at forstå mønstre, timing og kontekst.'; + + @override + String get getStartedBtn => 'Kom i gang'; + + @override + String get alreadyHaveAccount => + 'Har du allerede en konto? Log ind'; + + @override + String get termsConsent => + 'Ved at fortsætte accepterer du vores\nVilkår for Service | Privatlivspolitik'; + + @override + String get personalizationInterruptionTitle => + 'Lad os personliggøre Doctorina til dig'; + + @override + String get personalizationSectionLabel => 'PERSONALISERING'; + + @override + String get personalizationReasonTitle => 'Hvad bringer dig her i dag?'; + + @override + String get personalizationReasonSymptomsNow => 'Jeg oplever symptomer nu'; + + @override + String get personalizationReasonUnderstandChange => + 'Jeg vil forstå en sundhedsændring'; + + @override + String get personalizationReasonRuleOutSerious => + 'Jeg vil udelukke noget alvorligt'; + + @override + String get personalizationReasonMonitoring => + 'Jeg overvåger min sundhed proaktivt'; + + @override + String get continueBtn => 'Fortsæt'; + + @override + String get captionEmpathyText => + 'Når noget ændrer sig i dit helbred, er det sværest at vide, hvad der betyder noget.'; + + @override + String get captionDifferentiatorText => + 'Doctorina fokuserer på symptommønstre og timing — de samme signaler som klinikere ser efter tidligt.'; + + @override + String get genderTitle => 'Vælg dit køn'; + + @override + String get genderSubtitle => + 'Dette hjælper os med at fortolke symptomer og give anbefalinger mere præcist'; + + @override + String get genderMale => 'Mand'; + + @override + String get genderFemale => 'Kvinde'; + + @override + String get genderPreferNotSay => 'Foretrækker ikke at sige'; + + @override + String get ageTitle => 'Hvad er din alder?'; + + @override + String get ageSubtitle => + 'Alder hjælper os med at vurdere sundhedsmønstre mere præcist.'; + + @override + String get socialProofLargeTitle => + 'Over 48k+ mennesker\nhar valgt Doctorina'; + + @override + String get socialProofDisclaimer => '*Baseret på Doctorina brugerstatistik'; + + @override + String get developedByDoctors => 'Udviklet af\nLæger'; + + @override + String get quizStepLabel1 => 'TRIN 1/6'; + + @override + String get quizHealthSituationTitle => + 'Hvordan vil du beskrive din nuværende helbredssituation?'; + + @override + String get quizHealthHealthy => 'Jeg føler mig generelt sund'; + + @override + String get quizHealthMinorConcerns => 'Jeg har løbende mindre bekymringer'; + + @override + String get quizHealthKnownCondition => 'Jeg håndterer en kendt tilstand'; + + @override + String get quizHealthUnresolved => 'Jeg har noget uafklaret'; + + @override + String get quizStepLabel2 => 'TRIN 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Hvor ofte ser du normalt en læge?'; + + @override + String get quizDoctorVisitRegular => 'Regelmæssigt (tjek-ups / opfølgninger)'; + + @override + String get quizDoctorVisitOccasional => 'Af og til, når noget er galt'; + + @override + String get quizDoctorVisitRare => 'Sjældent, kun hvis nødvendigt'; + + @override + String get quizDoctorVisitAvoid => 'Undgå at besøge læger'; + + @override + String get quizDoctorVisitNever => 'Jeg har aldrig besøgt en læge'; + + @override + String get quizStepLabel3 => 'TRIN 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Hvad har været din største udfordring med sundhedspleje indtil videre?'; + + @override + String get quizMultiSelectHint => 'Vælg så mange du vil'; + + @override + String get quizChallengeLongWait => 'Lange ventetider til aftaler'; + + @override + String get quizChallengeRushedVisits => 'Besøg føles hastige'; + + @override + String get quizChallengeCost => 'Høj pris eller uklar prissætning'; + + @override + String get quizChallengeHardExplain => 'Svært at forklare alt klart'; + + @override + String get quizChallengeConflictingAdvice => + 'Modstridende meninger eller råd'; + + @override + String get quizChallengeNone => 'Ingen større problemer'; + + @override + String get quizStepLabel4 => 'TRIN 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Efter aftaler, hvor selvsikker føler du dig om det, du blev fortalt?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Der er ikke noget rigtigt eller forkert svar'; + + @override + String get quizConfidenceVeryClear => 'Meget klart over, hvad der foregår'; + + @override + String get quizConfidenceSomewhatClear => 'Nogenlunde klar'; + + @override + String get quizConfidenceStillUncertain => 'Fortsat usikker'; + + @override + String get quizConfidenceMoreConfused => 'Mere forvirret end før'; + + @override + String get captionDiagnosisVsChange => + 'Mange mennesker kæmper ikke efter diagnosen , men når symptomerne ændrer sig over tid.'; + + @override + String get quizStepLabel5 => 'TRIN 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Hvor godt føler du, at dine bekymringer normalt bliver taget alvorligt?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Baseret på dine subjektive følelser'; + + @override + String get quizConcernsVeryWell => 'Meget godt'; + + @override + String get quizConcernsFairlyWell => 'Rimeligt godt'; + + @override + String get quizConcernsNotVeryWell => 'Ikke særlig godt'; + + @override + String get quizConcernsVaries => 'Det varierer meget'; + + @override + String get quizStepLabel6 => 'TRIN 6/6'; + + @override + String get quizSelfResearchTitle => + 'Forsøger du normalt at forstå symptomer selv, før du ser en læge?'; + + @override + String get quizSelfResearchYes => 'Ja, jeg forsker og holder styr på ting'; + + @override + String get quizSelfResearchSometimes => 'Nogle gange'; + + @override + String get quizSelfResearchRarely => 'Sjældent'; + + @override + String get quizSelfResearchNo => 'Nej, jeg stoler helt på fagfolk'; + + @override + String get captionAvailabilityTitle => + 'Sundhedsspørgsmål følger ikke kontortider.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina er tilgængelig 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Klarhed bør ikke vente på den næste aftale'; + + @override + String get notificationTitle => + 'Vil du have, at vi tjekker ind på dine helbredssymptomer?'; + + @override + String get notificationDescription => + 'AI kan overvåge dine symptomer og advare dig, hvis noget måtte kræve opmærksomhed'; + + @override + String get notificationYes => 'Ja — hold øje med mit helbred'; + + @override + String get notificationOnlyImportant => + 'Ja — kun hvis noget vigtigt ændrer sig'; + + @override + String get notificationNo => 'Ikke sikker endnu'; + + @override + String get referralSourceTitle => 'Har du hørt om Doctorina fra en læge?'; + + @override + String get referralSourceYes => 'Ja'; + + @override + String get referralSourceNo => 'Nej'; + + @override + String get processingSectionLabel => 'ANALYSERER DINE RESULTATER'; + + @override + String get processingTitle => 'Personalisering af din oplevelse'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Ubegribelig oplevelse med Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'DIN ASSISTENT SOM ALTID ER NÆR'; + + @override + String get paywallEnableTrialToggle => + 'Er du ikke sikker endnu? Aktiver gratis prøveperiode.'; + + @override + String get paywallPlanYear => 'Årligt'; + + @override + String get paywallPlanMonthly => 'Månedlig'; + + @override + String get paywallPlanWeek => 'Ugentlig'; + + @override + String get paywallPlanDaily => 'Daglig'; + + @override + String get paywallPlanYearPrice => '39,99 \$ (kun 3,34 \$/uge)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'SPAR 58%'; + + @override + String get paywallContinueBtn => 'Fortsæt'; + + @override + String get paywallStartTrialBtn => 'Start gratis prøveperiode'; + + @override + String get paywallSubscriptionDisclaimer => + 'Abonnementet fornyes automatisk. Afbestil når som helst'; + + @override + String get paywallTermsPrivacy => + 'Brugsvilkår | Privatlivspolitik'; + + @override + String get paywallPerWeek => 'uge'; + + @override + String get processingLabel => 'Analyserer dine resultater'; + + @override + String get paywallCloseTooltip => 'Luk onboarding'; + + @override + String get paywallRestoreTooltip => 'Gendan køb'; + + @override + String get paywallRestoreBtn => 'Gendan'; + + @override + String get paywallRestoreNoneFound => + 'Ingen aktiv abonnement fundet til at gendanne.'; + + @override + String get paywallRestoreError => + 'Det lykkedes ikke at gendanne køb. Prøv venligst igen senere.'; + + @override + String get paywallPurchaseError => + 'Køb kunne ikke gennemføres. Prøv venligst igen senere.'; + + @override + String get paywallTrialStep1Title => 'I dag: Få øjeblikkelig adgang'; + + @override + String get paywallTrialStep1Description => + 'Få fuld adgang, få AI-sundhedssvar, når som helst.'; + + @override + String get paywallTrialStep2Title => 'Dag 2: Påmindelse om prøve'; + + @override + String get paywallTrialStep2Description => + 'Vi sender dig en påmindelse om, at din prøveperiode er ved at slutte'; + + @override + String get paywallTrialStep3Title => 'Dag 3: Fornyelse'; + + @override + String paywallTrialStep3Description(String date) { + return 'Du vil blive opkrævet den $date, afbestil når som helst før.'; + } + + @override + String get paywallBenefitsHeader => 'Hvad er inkluderet'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privat og sikker'; + + @override + String get paywallBenefitAiAssistant => 'AI-assistent, 24/7'; + + @override + String get paywallBenefitInstantAnswers => + 'Øjeblikkelige sundhedsbesvarelser'; + + @override + String get paywallBenefitScienceInsights => + 'Klare, videnskabsbaserede indsigter'; + + @override + String get paywallBenefitAutoSummaries => 'Automatiske samtaleresuméer'; + + @override + String get paywallBenefitAnyLanguage => 'Ethvert sprog, når som helst'; + + @override + String get paywallPriceUnitPerWeek => 'pr. uge'; + + @override + String get paywallOfferTitle => 'Engangstilbud'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% RABAT'; + } + + @override + String get paywallOfferForeverBadge => 'FOREVER'; + + @override + String get paywallOfferDisclaimer => + 'Når du lukker dit engangstilbud, er det væk!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/md'; + } + + @override + String get paywallOfferLowestPriceBadge => 'LOWEST PRICE EVER'; + + @override + String get paywallOfferCancelAnytime => 'Afbryd når som helst'; + + @override + String get paywallOfferClaimButton => 'Gør krav på dit tilbud'; + + @override + String get paywallOfferAutoRenewable => 'Automatisk fornyelse af abonnement'; + + @override + String get paywallGiftBoxTitle => 'Særlig gave indeni'; + + @override + String get paywallGiftBoxSubtitle => + 'Én tryk for at afsløre dit særlige tilbud'; + + @override + String get paywallGiftBoxOpenButton => 'Åbn nu'; + + @override + String get paywallRetryLoadPricesError => + 'Kunne ikke indlæse abonnementsmuligheder. Prøv venligst igen senere.'; + + @override + String get paywallPricesUnavailableTitle => + 'Kunne ikke indlæse abonnementspriser'; + + @override + String get paywallPricesUnavailableMessage => + 'Tjek din forbindelse og prøv igen.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Prøv igen'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_de.dart b/example/lib/src/generated/onboarding/onboarding_localization_de.dart new file mode 100644 index 0000000..f239d7a --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_de.dart @@ -0,0 +1,488 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for German (`de`). +class OnboardingLocalizationDe extends OnboardingLocalization { + OnboardingLocalizationDe([String locale = 'de']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'FORTSCHRITTLICHER KI-GESUNDHEITSASSISTENT'; + + @override + String get welcomeScreenTitle => 'Willkommen bei Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Entwickelt, um Symptome so zu analysieren, wie es erfahrene Kliniker tun – durch das Verständnis von Mustern, Timing und Kontext.'; + + @override + String get getStartedBtn => 'Loslegen'; + + @override + String get alreadyHaveAccount => 'Bereits ein Konto? Einloggen'; + + @override + String get termsConsent => + 'Indem Sie fortfahren, stimmen Sie unseren\nNutzungsbedingungen | Datenschutzrichtlinie zu'; + + @override + String get personalizationInterruptionTitle => + 'Lass uns Doctorina für dich personalisieren'; + + @override + String get personalizationSectionLabel => 'PERSONALISIERUNG'; + + @override + String get personalizationReasonTitle => 'Was bringt Sie heute hierher?'; + + @override + String get personalizationReasonSymptomsNow => 'Ich habe jetzt Symptome'; + + @override + String get personalizationReasonUnderstandChange => + 'Ich möchte eine Gesundheitsänderung verstehen'; + + @override + String get personalizationReasonRuleOutSerious => + 'Ich möchte etwas Ernstes ausschließen'; + + @override + String get personalizationReasonMonitoring => + 'Ich überwache meine Gesundheit proaktiv'; + + @override + String get continueBtn => 'Fortfahren'; + + @override + String get captionEmpathyText => + 'Wenn sich etwas in Ihrer Gesundheit ändert, ist es am schwierigsten zu wissen, was wichtig ist.'; + + @override + String get captionDifferentiatorText => + 'Doctorina konzentriert sich auf Symptom-Muster und Timing — die gleichen Signale, nach denen Kliniker frühzeitig suchen.'; + + @override + String get genderTitle => 'Wählen Sie Ihr Geschlecht'; + + @override + String get genderSubtitle => + 'Dies hilft uns, Symptome zu interpretieren und Empfehlungen genauer zu geben.'; + + @override + String get genderMale => 'Männlich'; + + @override + String get genderFemale => 'Weiblich'; + + @override + String get genderPreferNotSay => 'Bevorzuge es, nicht zu sagen'; + + @override + String get ageTitle => 'Wie alt sind Sie?'; + + @override + String get ageSubtitle => + 'Das Alter hilft uns, Gesundheitsmuster genauer zu bewerten.'; + + @override + String get socialProofLargeTitle => + 'Über 48k+ Personen\nhaben Doctorina gewählt'; + + @override + String get socialProofDisclaimer => + '*Basierend auf den Nutzerdaten von Doctorina'; + + @override + String get developedByDoctors => 'Entwickelt von\nÄrzten'; + + @override + String get quizStepLabel1 => 'SCHRITT 1/6'; + + @override + String get quizHealthSituationTitle => + 'Wie würden Sie Ihre aktuelle Gesundheitssituation beschreiben?'; + + @override + String get quizHealthHealthy => 'Ich fühle mich allgemein gesund'; + + @override + String get quizHealthMinorConcerns => 'Ich habe laufende kleinere Bedenken'; + + @override + String get quizHealthKnownCondition => 'Ich manage eine bekannte Erkrankung'; + + @override + String get quizHealthUnresolved => 'Ich habe mit etwas Unresolved zu tun'; + + @override + String get quizStepLabel2 => 'SCHRITT 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Wie oft sehen Sie normalerweise einen Arzt?'; + + @override + String get quizDoctorVisitRegular => 'Regelmäßig (Kontrollen / Nachsorge)'; + + @override + String get quizDoctorVisitOccasional => + 'Gelegentlich, wenn etwas nicht stimmt'; + + @override + String get quizDoctorVisitRare => 'Selten, nur wenn nötig'; + + @override + String get quizDoctorVisitAvoid => 'Arztbesuche vermeiden'; + + @override + String get quizDoctorVisitNever => 'Ich habe nie einen Arzt besucht'; + + @override + String get quizStepLabel3 => 'SCHRITT 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Was war bisher Ihre größte Herausforderung im Gesundheitswesen?'; + + @override + String get quizMultiSelectHint => 'Wähle so viele aus, wie du möchtest'; + + @override + String get quizChallengeLongWait => 'Lange Wartezeiten für Termine'; + + @override + String get quizChallengeRushedVisits => 'Besuche fühlen sich hastig an'; + + @override + String get quizChallengeCost => 'Hohe Kosten oder unklare Preisgestaltung'; + + @override + String get quizChallengeHardExplain => 'Schwierig, alles klar zu erklären'; + + @override + String get quizChallengeConflictingAdvice => + 'Widersprüchliche Meinungen oder Ratschläge'; + + @override + String get quizChallengeNone => 'Keine größeren Probleme'; + + @override + String get quizStepLabel4 => 'SCHRITT 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Nach den Terminen, wie zuversichtlich fühlen Sie sich über das, was Ihnen gesagt wurde?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Es gibt keine richtige oder falsche Antwort.'; + + @override + String get quizConfidenceVeryClear => 'Sehr klar darüber, was vor sich geht'; + + @override + String get quizConfidenceSomewhatClear => 'Etwas klar'; + + @override + String get quizConfidenceStillUncertain => 'Noch unsicher'; + + @override + String get quizConfidenceMoreConfused => 'Verwirrter als zuvor'; + + @override + String get captionDiagnosisVsChange => + 'Viele Menschen kämpfen nicht nach der Diagnose, sondern wenn sich die Symptome im Laufe der Zeit ändern'; + + @override + String get quizStepLabel5 => 'SCHRITT 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Wie gut fühlst du dich, dass deine Bedenken normalerweise angesprochen werden?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Basierend auf Ihren subjektiven Gefühlen'; + + @override + String get quizConcernsVeryWell => 'Sehr gut'; + + @override + String get quizConcernsFairlyWell => 'Ganz gut'; + + @override + String get quizConcernsNotVeryWell => 'Nicht sehr gut'; + + @override + String get quizConcernsVaries => 'Es variiert stark'; + + @override + String get quizStepLabel6 => 'SCHRITT 6/6'; + + @override + String get quizSelfResearchTitle => + 'Versuchst du normalerweise, die Symptome selbst zu verstehen, bevor du einen Arzt aufsuchst?'; + + @override + String get quizSelfResearchYes => 'Ja, ich recherchiere und verfolge Dinge'; + + @override + String get quizSelfResearchSometimes => 'Manchmal'; + + @override + String get quizSelfResearchRarely => 'Selten'; + + @override + String get quizSelfResearchNo => 'Nein, ich verlasse mich ganz auf Fachleute'; + + @override + String get captionAvailabilityTitle => + 'Gesundheitsfragen folgen nicht den Bürozeiten.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina ist rund um die Uhr verfügbar.'; + + @override + String get captionAvailabilityDescription => + 'Klarheit sollte nicht bis zum nächsten Termin warten müssen.'; + + @override + String get notificationTitle => + 'Möchten Sie, dass wir Ihre Gesundheitssymptome überprüfen?'; + + @override + String get notificationDescription => + 'KI kann Ihre Symptome überwachen und Sie warnen, wenn etwas Aufmerksamkeit benötigt'; + + @override + String get notificationYes => 'Ja — achte auf meine Gesundheit'; + + @override + String get notificationOnlyImportant => + 'Ja — nur wenn sich etwas Wichtiges ändert'; + + @override + String get notificationNo => 'Noch unsicher'; + + @override + String get referralSourceTitle => + 'Hast du von Doctorina von einem Arzt gehört?'; + + @override + String get referralSourceYes => 'Ja'; + + @override + String get referralSourceNo => 'Nein'; + + @override + String get processingSectionLabel => 'IHRE ERGEBNISSE WERDEN ANALYSIERT'; + + @override + String get processingTitle => 'Personalisierung Ihres Erlebnisses'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Unbegrenzte Erfahrung mit Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'DEIN ASSISTENT, DER IMMER NAHE IST'; + + @override + String get paywallEnableTrialToggle => + 'Sind Sie sich noch nicht sicher? Aktivieren Sie die kostenlose Testversion.'; + + @override + String get paywallPlanYear => 'Jährlich'; + + @override + String get paywallPlanMonthly => 'Monatlich'; + + @override + String get paywallPlanWeek => 'Wöchentlich'; + + @override + String get paywallPlanDaily => 'Täglich'; + + @override + String get paywallPlanYearPrice => '\$39.99 (nur \$3.34/Woche)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'SPAREN Sie 58%'; + + @override + String get paywallContinueBtn => 'Fortfahren'; + + @override + String get paywallStartTrialBtn => 'Kostenlose Testversion starten'; + + @override + String get paywallSubscriptionDisclaimer => + 'Das Abonnement ist automatisch verlängerbar. Jederzeit kündbar'; + + @override + String get paywallTermsPrivacy => + 'Nutzungsbedingungen | Datenschutzrichtlinie'; + + @override + String get paywallPerWeek => 'Woche'; + + @override + String get processingLabel => 'Analysiere deine Ergebnisse'; + + @override + String get paywallCloseTooltip => 'Onboarding schließen'; + + @override + String get paywallRestoreTooltip => 'Einkäufe wiederherstellen'; + + @override + String get paywallRestoreBtn => 'Wiederherstellen'; + + @override + String get paywallRestoreNoneFound => + 'Keine aktive Abonnements gefunden, die wiederhergestellt werden können.'; + + @override + String get paywallRestoreError => + 'Wiederherstellung der Käufe fehlgeschlagen. Bitte versuche es später erneut.'; + + @override + String get paywallPurchaseError => + 'Der Kauf konnte nicht abgeschlossen werden. Bitte versuchen Sie es später erneut.'; + + @override + String get paywallTrialStep1Title => 'Heute: Sofortigen Zugang erhalten'; + + @override + String get paywallTrialStep1Description => + 'Vollzugriff freischalten, jederzeit KI-Gesundheitsantworten erhalten.'; + + @override + String get paywallTrialStep2Title => + 'Tag 2: Erinnerungsbenachrichtigung zur Testphase'; + + @override + String get paywallTrialStep2Description => + 'Wir senden Ihnen eine Erinnerung, dass Ihre Testphase bald endet'; + + @override + String get paywallTrialStep3Title => 'Tag 3: Erneuerung'; + + @override + String paywallTrialStep3Description(String date) { + return 'Du wirst am $date belastet, kündige jederzeit vorher.'; + } + + @override + String get paywallBenefitsHeader => 'WAS IST ENTHALTEN'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privat und sicher'; + + @override + String get paywallBenefitAiAssistant => 'KI-Assistent, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Sofortige Gesundheitsantworten'; + + @override + String get paywallBenefitScienceInsights => + 'Klare, wissenschaftlich fundierte Einblicke'; + + @override + String get paywallBenefitAutoSummaries => + 'Automatische Gesprächszusammenfassungen'; + + @override + String get paywallBenefitAnyLanguage => 'Jede Sprache, jederzeit'; + + @override + String get paywallPriceUnitPerWeek => 'pro Woche'; + + @override + String get paywallOfferTitle => 'Einmalangebot'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% RABATT'; + } + + @override + String get paywallOfferForeverBadge => 'FÜR IMMER'; + + @override + String get paywallOfferDisclaimer => + 'Sobald Sie Ihr einmaliges Angebot schließen, ist es weg!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/Monat'; + } + + @override + String get paywallOfferLowestPriceBadge => 'NIEDRIGSTER PREIS ALLER ZEIT'; + + @override + String get paywallOfferCancelAnytime => 'Jederzeit kündbar'; + + @override + String get paywallOfferClaimButton => 'Fordern Sie Ihr Angebot an'; + + @override + String get paywallOfferAutoRenewable => + 'Automatisch verlängerbares Abonnement'; + + @override + String get paywallGiftBoxTitle => 'Besonderes Geschenk innen'; + + @override + String get paywallGiftBoxSubtitle => + 'Ein Tipp, um Ihr spezielles Angebot zu enthüllen'; + + @override + String get paywallGiftBoxOpenButton => 'Jetzt öffnen'; + + @override + String get paywallRetryLoadPricesError => + 'Die Abonnementoptionen konnten nicht geladen werden. Bitte versuche es später erneut.'; + + @override + String get paywallPricesUnavailableTitle => + 'Konnte die Abonnementpreise nicht laden'; + + @override + String get paywallPricesUnavailableMessage => + 'Überprüfen Sie Ihre Verbindung und versuchen Sie es erneut.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Versuche es erneut'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_el.dart b/example/lib/src/generated/onboarding/onboarding_localization_el.dart new file mode 100644 index 0000000..20f7d3a --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_el.dart @@ -0,0 +1,484 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Modern Greek (`el`). +class OnboardingLocalizationEl extends OnboardingLocalization { + OnboardingLocalizationEl([String locale = 'el']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ΠΡΟΧΩΡΗΜΕΝΟΣ ΒΟΗΘΟΣ ΥΓΕΙΑΣ ΤΕΧΝΗΣ'; + + @override + String get welcomeScreenTitle => 'Καλώς ήρθατε'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Σχεδιασμένο για να αναλύει τα συμπτώματα όπως οι έμπειροι κλινικοί γιατροί — κατανοώντας τα μοτίβα, το χρόνο και το πλαίσιο.'; + + @override + String get getStartedBtn => 'Ξεκινήστε'; + + @override + String get alreadyHaveAccount => 'Έχετε ήδη λογαριασμό; Σύνδεση'; + + @override + String get termsConsent => 'Συνεχίζοντας, συμφωνείτε με τους'; + + @override + String get personalizationInterruptionTitle => + 'Ας προσωποποιήσουμε Doctorina για εσάς'; + + @override + String get personalizationSectionLabel => 'Προσωποποίηση'; + + @override + String get personalizationReasonTitle => 'Τι σας φέρνει εδώ σήμερα;'; + + @override + String get personalizationReasonSymptomsNow => 'Έχω συμπτώματα τώρα'; + + @override + String get personalizationReasonUnderstandChange => + 'Θέλω να κατανοήσω μια αλλαγή στην υγεία'; + + @override + String get personalizationReasonRuleOutSerious => + 'Θέλω να αποκλείσω κάτι σοβαρό'; + + @override + String get personalizationReasonMonitoring => + 'Παρακολουθώ την υγεία μου προληπτικά'; + + @override + String get continueBtn => 'Συνέχεια'; + + @override + String get captionEmpathyText => + 'Όταν κάτι αλλάζει στην υγεία σας, το να ξέρετε τι έχει σημασία είναι το πιο δύσκολο.'; + + @override + String get captionDifferentiatorText => + 'Η Doctorina εστιάζει σε μοτίβα συμπτωμάτων και χρονισμού — τα ίδια σήματα που αναζητούν οι κλινικοί νωρίς.'; + + @override + String get genderTitle => 'Επιλέξτε το φύλο σας'; + + @override + String get genderSubtitle => + 'Αυτό μας βοηθά να ερμηνεύσουμε τα συμπτώματα και να δώσουμε συστάσεις με μεγαλύτερη ακρίβεια.'; + + @override + String get genderMale => 'Άνδρας'; + + @override + String get genderFemale => 'Γυναίκα'; + + @override + String get genderPreferNotSay => 'Προτιμώ να μην πω'; + + @override + String get ageTitle => 'Ποια είναι η ηλικία σας;'; + + @override + String get ageSubtitle => + 'Η ηλικία μας βοηθά να αξιολογούμε τα πρότυπα υγείας πιο ακριβώς.'; + + @override + String get socialProofLargeTitle => + 'Πάνω από 48k+\nέχουν επιλέξει την Doctorina'; + + @override + String get socialProofDisclaimer => + '*Βασισμένο σε στατιστικά στοιχεία της βάσης χρηστών του Doctorina'; + + @override + String get developedByDoctors => 'Αναπτύχθηκε από\nΓιατρούς'; + + @override + String get quizStepLabel1 => 'ΒΗΜΑ 1/6'; + + @override + String get quizHealthSituationTitle => + 'Πώς θα περιγράφατε την τρέχουσα κατάσταση της υγείας σας;'; + + @override + String get quizHealthHealthy => 'Γενικά νιώθω υγιής'; + + @override + String get quizHealthMinorConcerns => 'Έχω συνεχιζόμενες μικρές ανησυχίες'; + + @override + String get quizHealthKnownCondition => 'Διαχειρίζομαι μια γνωστή κατάσταση'; + + @override + String get quizHealthUnresolved => 'Ασχολούμαι με κάτι που δεν έχει επιλυθεί'; + + @override + String get quizStepLabel2 => 'ΒΗΜΑ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Πόσο συχνά συνήθως επισκέπτεστε έναν γιατρό;'; + + @override + String get quizDoctorVisitRegular => 'Κανονικά (εξετάσεις / παρακολούθηση)'; + + @override + String get quizDoctorVisitOccasional => + 'Κατά καιρούς, όταν κάτι δεν πάει καλά'; + + @override + String get quizDoctorVisitRare => 'Σπάνια, μόνο αν είναι απαραίτητο'; + + @override + String get quizDoctorVisitAvoid => 'Αποφεύγετε τις επισκέψεις στους γιατρούς'; + + @override + String get quizDoctorVisitNever => 'Ποτέ δεν έχω επισκεφθεί γιατρό'; + + @override + String get quizStepLabel3 => 'ΒΗΜΑ 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Ποια ήταν η μεγαλύτερη πρόκληση που αντιμετωπίσατε με την υγειονομική περίθαλψη μέχρι τώρα;'; + + @override + String get quizMultiSelectHint => 'Επιλέξτε όσες θέλετε'; + + @override + String get quizChallengeLongWait => 'Μακρές αναμονές για ραντεβού'; + + @override + String get quizChallengeRushedVisits => 'Οι επισκέψεις φαίνονται βιαστικές'; + + @override + String get quizChallengeCost => 'Υψηλό κόστος ή ασαφής τιμολόγηση'; + + @override + String get quizChallengeHardExplain => 'Δύσκολο να εξηγήσεις τα πάντα καθαρά'; + + @override + String get quizChallengeConflictingAdvice => 'Αντίθετες απόψεις ή συμβουλές'; + + @override + String get quizChallengeNone => 'Δεν υπάρχουν σοβαρά προβλήματα'; + + @override + String get quizStepLabel4 => 'ΒΗΜΑ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Μετά από ραντεβού, πόσο σίγουρος/η νιώθετε για όσα σας είπαν;'; + + @override + String get quizConfidenceNoRightAnswer => + 'Δεν υπάρχει σωστή ή λάθος απάντηση.'; + + @override + String get quizConfidenceVeryClear => 'Πολύ σαφές για το τι συμβαίνει'; + + @override + String get quizConfidenceSomewhatClear => 'Κάπως σαφές'; + + @override + String get quizConfidenceStillUncertain => 'Ακόμα αβέβαιος'; + + @override + String get quizConfidenceMoreConfused => 'Πιο μπερδεμένος από πριν'; + + @override + String get captionDiagnosisVsChange => + 'Πολλοί άνθρωποι δυσκολεύονται όχι μετά τη διάγνωση αλλά όταν τα συμπτώματα αλλάζουν με την πάροδο του χρόνου.'; + + @override + String get quizStepLabel5 => 'ΒΗΜΑ 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Πόσο καλά αισθάνεστε ότι οι ανησυχίες σας συνήθως αντιμετωπίζονται;'; + + @override + String get quizConcernsAddressedSubtitle => + 'Βασισμένο στα υποκειμενικά σας συναισθήματα'; + + @override + String get quizConcernsVeryWell => 'Πολύ καλά'; + + @override + String get quizConcernsFairlyWell => 'Αρκετά καλά'; + + @override + String get quizConcernsNotVeryWell => 'Όχι πολύ καλά'; + + @override + String get quizConcernsVaries => 'Διαφέρει πολύ'; + + @override + String get quizStepLabel6 => 'ΒΗΜΑ 6/6'; + + @override + String get quizSelfResearchTitle => + 'Πριν επισκεφθείτε έναν γιατρό, συνήθως προσπαθείτε να κατανοήσετε τα συμπτώματα μόνοι σας;'; + + @override + String get quizSelfResearchYes => 'Ναι, ερευνώ και παρακολουθώ πράγματα'; + + @override + String get quizSelfResearchSometimes => 'Μερικές φορές'; + + @override + String get quizSelfResearchRarely => 'Σπάνια'; + + @override + String get quizSelfResearchNo => + 'Όχι, βασίζομαι αποκλειστικά σε επαγγελματίες'; + + @override + String get captionAvailabilityTitle => + 'Οι ερωτήσεις υγείας δεν ακολουθούν τις ώρες γραφείου.'; + + @override + String get captionAvailabilitySupport => + 'Η Doctorina είναι διαθέσιμη 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Η σαφήνεια δεν θα πρέπει να περιμένει την επόμενη ραντεβού.'; + + @override + String get notificationTitle => + 'Θέλετε να ελέγξουμε τα συμπτώματα της υγείας σας;'; + + @override + String get notificationDescription => + 'Η AI μπορεί να παρακολουθεί τα συμπτώματά σας και να σας ειδοποιεί αν κάτι χρειάζεται προσοχή'; + + @override + String get notificationYes => 'Ναι — παρακολουθώ την υγεία μου'; + + @override + String get notificationOnlyImportant => + 'Ναι — μόνο αν αλλάξει κάτι σημαντικό'; + + @override + String get notificationNo => 'Δεν είμαι σίγουρος ακόμα'; + + @override + String get referralSourceTitle => + 'Ακούσατε για την Doctorina από κάποιον γιατρό;'; + + @override + String get referralSourceYes => 'Ναι'; + + @override + String get referralSourceNo => 'Όχι'; + + @override + String get processingSectionLabel => 'ΑΝΑΛΥΣΗ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΣΑΣ'; + + @override + String get processingTitle => 'Προσαρμόζοντας την εμπειρία σας'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Απεριόριστη εμπειρία με Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'Ο Βοηθός σας που είναι πάντα κοντά'; + + @override + String get paywallEnableTrialToggle => + 'Δεν είστε σίγουροι ακόμα; Ενεργοποιήστε τη δωρεάν δοκιμή.'; + + @override + String get paywallPlanYear => 'Ετήσια'; + + @override + String get paywallPlanMonthly => 'Μηνιαία'; + + @override + String get paywallPlanWeek => 'Εβδομαδιαία'; + + @override + String get paywallPlanDaily => 'Ημερήσια'; + + @override + String get paywallPlanYearPrice => '\$39.99 (μόνο \$3.34/εβδομάδα)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'ΕΞΟΙΚΟΝΟΜΗΣΤΕ 58%'; + + @override + String get paywallContinueBtn => 'Συνέχεια'; + + @override + String get paywallStartTrialBtn => 'Ξεκινήστε δωρεάν δοκιμή'; + + @override + String get paywallSubscriptionDisclaimer => + 'Η συνδρομή ανανεώνεται αυτόματα. Μπορείτε να ακυρώσετε οποιαδήποτε στιγμή'; + + @override + String get paywallTermsPrivacy => + 'Όροι Υπηρεσίας | Πολιτική Απορρήτου'; + + @override + String get paywallPerWeek => 'εβδομάδα'; + + @override + String get processingLabel => 'Αναλύουμε τα αποτελέσματά σας'; + + @override + String get paywallCloseTooltip => 'Κλείσιμο εκπαίδευσης'; + + @override + String get paywallRestoreTooltip => 'Ανάκτηση Αγορών'; + + @override + String get paywallRestoreBtn => 'Ανάκτηση'; + + @override + String get paywallRestoreNoneFound => + 'Δεν βρέθηκε ενεργή συνδρομή για αποκατάσταση.'; + + @override + String get paywallRestoreError => + 'Αποτυχία στην αποκατάσταση των αγορών. Παρακαλώ δοκιμάστε ξανά αργότερα.'; + + @override + String get paywallPurchaseError => + 'Αποτυχία ολοκλήρωσης της αγοράς. Παρακαλώ δοκιμάστε ξανά αργότερα'; + + @override + String get paywallTrialStep1Title => 'Σήμερα: Αποκτήστε άμεση πρόσβαση'; + + @override + String get paywallTrialStep1Description => + 'Ξεκλειδώστε πλήρη πρόσβαση, αποκτήστε απαντήσεις υγείας από AI, οποιαδήποτε στιγμή.'; + + @override + String get paywallTrialStep2Title => 'Ημέρα 2: Υπενθύμιση δοκιμής'; + + @override + String get paywallTrialStep2Description => + 'Θα σας στείλουμε μια υπενθύμιση ότι η δοκιμή σας πλησιάζει στο τέλος'; + + @override + String get paywallTrialStep3Title => 'Ημέρα 3: Ανανέωση'; + + @override + String paywallTrialStep3Description(String date) { + return 'Θα χρεωθείτε στις $date, ακυρώστε οποιαδήποτε στιγμή πριν.'; + } + + @override + String get paywallBenefitsHeader => 'ΤΙ ΠΕΡΙΛΑΜΒΑΝΕΙ'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Ιδιωτικό και ασφαλές'; + + @override + String get paywallBenefitAiAssistant => 'Βοηθός AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Άμεσες υγειονομικές απαντήσεις'; + + @override + String get paywallBenefitScienceInsights => + 'Καθαρές, επιστημονικά τεκμηριωμένες γνώσεις'; + + @override + String get paywallBenefitAutoSummaries => 'Αυτόματες περιλήψεις συνομιλιών'; + + @override + String get paywallBenefitAnyLanguage => 'Οποιαδήποτε γλώσσα, οποτεδήποτε'; + + @override + String get paywallPriceUnitPerWeek => 'ανά εβδομάδα'; + + @override + String get paywallOfferTitle => 'Μοναδική προσφορά'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ΕΚΠΤΩΣΗ'; + } + + @override + String get paywallOfferForeverBadge => 'ΑΙΩΝΙΑ'; + + @override + String get paywallOfferDisclaimer => + 'Μόλις κλείσετε την προσφορά σας, αυτή θα χαθεί!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/μήνα'; + } + + @override + String get paywallOfferLowestPriceBadge => 'ΧΑΜΗΛΟΤΕΡΗ ΤΙΜΗ ΠΟΤΕ'; + + @override + String get paywallOfferCancelAnytime => 'Ακύρωση οποιαδήποτε στιγμή'; + + @override + String get paywallOfferClaimButton => 'ΔClaim your offer'; + + @override + String get paywallOfferAutoRenewable => 'Αυτόματη ανανέωση συνδρομής'; + + @override + String get paywallGiftBoxTitle => 'Ειδικό δώρο μέσα'; + + @override + String get paywallGiftBoxSubtitle => + 'Ένα άγγιγμα για να αποκαλύψετε την ειδική σας προσφορά'; + + @override + String get paywallGiftBoxOpenButton => 'Άνοιξε τώρα'; + + @override + String get paywallRetryLoadPricesError => + 'Αποτυχία φόρτωσης επιλογών συνδρομής. Παρακαλώ δοκιμάστε ξανά αργότερα.'; + + @override + String get paywallPricesUnavailableTitle => + 'Δεν ήταν δυνατή η φόρτωση των τιμών συνδρομής'; + + @override + String get paywallPricesUnavailableMessage => + 'Ελέγξτε τη σύνδεσή σας και δοκιμάστε ξανά.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Δοκιμάστε ξανά'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_en.dart b/example/lib/src/generated/onboarding/onboarding_localization_en.dart new file mode 100644 index 0000000..bfdcdab --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_en.dart @@ -0,0 +1,482 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for English (`en`). +class OnboardingLocalizationEn extends OnboardingLocalization { + OnboardingLocalizationEn([String locale = 'en']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ADVANCED AI HEALTH ASSISTANT'; + + @override + String get welcomeScreenTitle => 'Welcome\nto Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Designed to analyze symptoms the way experienced clinicians do — by understanding patterns, timing, and context.'; + + @override + String get getStartedBtn => 'Get started'; + + @override + String get alreadyHaveAccount => + 'Already have an account? Log In'; + + @override + String get termsConsent => + 'By continuing, you agree to our\nTerms of Service | Privacy Policy'; + + @override + String get personalizationInterruptionTitle => + 'Let\'s personalize\nDoctorina for you'; + + @override + String get personalizationSectionLabel => 'PERSONALIZATION'; + + @override + String get personalizationReasonTitle => 'What brings you here today?'; + + @override + String get personalizationReasonSymptomsNow => + 'I\'m experiencing symptoms now'; + + @override + String get personalizationReasonUnderstandChange => + 'I want to understand a health change'; + + @override + String get personalizationReasonRuleOutSerious => + 'I want to rule out something serious'; + + @override + String get personalizationReasonMonitoring => + 'I\'m monitoring my health proactively'; + + @override + String get continueBtn => 'Continue'; + + @override + String get captionEmpathyText => + 'When something changes in your health, knowing what matters is hardest.'; + + @override + String get captionDifferentiatorText => + 'Doctorina focuses on symptom patterns and timing — the same signals clinicians look for early on.'; + + @override + String get genderTitle => 'Select your gender'; + + @override + String get genderSubtitle => + 'This helps us interpret symptoms and give recommendations more accurately.'; + + @override + String get genderMale => 'Male'; + + @override + String get genderFemale => 'Female'; + + @override + String get genderPreferNotSay => 'Prefer not to say'; + + @override + String get ageTitle => 'What is your age?'; + + @override + String get ageSubtitle => + 'Age helps us evaluate health patterns more accurately.'; + + @override + String get socialProofLargeTitle => + 'Over 48k+ people\nhave chosen Doctorina'; + + @override + String get socialProofDisclaimer => + '*Based on Doctorina user base statistics'; + + @override + String get developedByDoctors => 'Developed by\nDoctors'; + + @override + String get quizStepLabel1 => 'STEP 1/6'; + + @override + String get quizHealthSituationTitle => + 'How would you describe your current health situation?'; + + @override + String get quizHealthHealthy => 'I generally feel healthy'; + + @override + String get quizHealthMinorConcerns => 'I have ongoing minor concerns'; + + @override + String get quizHealthKnownCondition => 'I\'m managing a known condition'; + + @override + String get quizHealthUnresolved => 'I\'m dealing with something unresolved'; + + @override + String get quizStepLabel2 => 'STEP 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'How often do you usually see a doctor?'; + + @override + String get quizDoctorVisitRegular => 'Regularly (checkups / follow-ups)'; + + @override + String get quizDoctorVisitOccasional => 'Occasionally, when something wrong'; + + @override + String get quizDoctorVisitRare => 'Rarely, only if necessary'; + + @override + String get quizDoctorVisitAvoid => 'Avoid visiting doctors'; + + @override + String get quizDoctorVisitNever => 'I\'ve never visited a doctor'; + + @override + String get quizStepLabel3 => 'STEP 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'What\'s been your biggest challenge with healthcare so far?'; + + @override + String get quizMultiSelectHint => 'Choose as many as you like'; + + @override + String get quizChallengeLongWait => 'Long wait times for appointments'; + + @override + String get quizChallengeRushedVisits => 'Visits feel rushed'; + + @override + String get quizChallengeCost => 'High cost or unclear pricing'; + + @override + String get quizChallengeHardExplain => 'Hard to explain everything clearly'; + + @override + String get quizChallengeConflictingAdvice => 'Conflicting opinions or advice'; + + @override + String get quizChallengeNone => 'No major issues'; + + @override + String get quizStepLabel4 => 'STEP 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'After appointments, how confident do you feel about what you were told?'; + + @override + String get quizConfidenceNoRightAnswer => + 'There\'s no right or wrong answer.'; + + @override + String get quizConfidenceVeryClear => 'Very clear about what\'s going on'; + + @override + String get quizConfidenceSomewhatClear => 'Somewhat clear'; + + @override + String get quizConfidenceStillUncertain => 'Still uncertain'; + + @override + String get quizConfidenceMoreConfused => 'More confused than before'; + + @override + String get captionDiagnosisVsChange => + 'Many people struggle not after diagnosis but when symptoms change over time.'; + + @override + String get quizStepLabel5 => 'STEP 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'How well do you feel your concerns are usually addressed?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Based on your subjective feelings'; + + @override + String get quizConcernsVeryWell => 'Very well'; + + @override + String get quizConcernsFairlyWell => 'Fairly well'; + + @override + String get quizConcernsNotVeryWell => 'Not very well'; + + @override + String get quizConcernsVaries => 'It varies a lot'; + + @override + String get quizStepLabel6 => 'STEP 6/6'; + + @override + String get quizSelfResearchTitle => + 'Before seeing a doctor, do you usually try to make sense of symptoms yourself?'; + + @override + String get quizSelfResearchYes => 'Yes, I research and track things'; + + @override + String get quizSelfResearchSometimes => 'Sometimes'; + + @override + String get quizSelfResearchRarely => 'Rarely'; + + @override + String get quizSelfResearchNo => 'No, I rely entirely on professionals'; + + @override + String get captionAvailabilityTitle => + 'Health questions don\'t follow office hours.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina is available 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Clarity shouldn\'t have to wait for the next appointment.'; + + @override + String get notificationTitle => + 'Do you want us to check in on your health symptoms?'; + + @override + String get notificationDescription => + 'AI can monitor your symptoms and alert you if something may need attention'; + + @override + String get notificationYes => 'Yes — keep an eye on my health'; + + @override + String get notificationOnlyImportant => + 'Yes — only if something important changes'; + + @override + String get notificationNo => 'Not sure yet'; + + @override + String get referralSourceTitle => + 'Did you hear about Doctorina from a doctor?'; + + @override + String get referralSourceYes => 'Yes'; + + @override + String get referralSourceNo => 'No'; + + @override + String get processingSectionLabel => 'ANALYZING YOUR RESULTS'; + + @override + String get processingTitle => 'Personalizing your experience'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Unlimited experience with Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'YOUR ASSISTANT WHO IS ALWAYS NEARBY'; + + @override + String get paywallEnableTrialToggle => 'Not sure yet? Enable free trial.'; + + @override + String get paywallPlanYear => 'Yearly'; + + @override + String get paywallPlanMonthly => 'Monthly'; + + @override + String get paywallPlanWeek => 'Weekly'; + + @override + String get paywallPlanDaily => 'Daily'; + + @override + String get paywallPlanYearPrice => '\$39.99 (only \$3.34/week)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'SAVE 58%'; + + @override + String get paywallContinueBtn => 'Continue'; + + @override + String get paywallStartTrialBtn => 'Start Free-trial'; + + @override + String get paywallSubscriptionDisclaimer => + 'Subscription is auto-renewable. Cancel anytime'; + + @override + String get paywallTermsPrivacy => + 'Terms of Service | Privacy Policy'; + + @override + String get paywallPerWeek => 'week'; + + @override + String get processingLabel => 'Analyzing your results'; + + @override + String get paywallCloseTooltip => 'Close onboarding'; + + @override + String get paywallRestoreTooltip => 'Restore Purchases'; + + @override + String get paywallRestoreBtn => 'Restore'; + + @override + String get paywallRestoreNoneFound => + 'No active subscription found to restore.'; + + @override + String get paywallRestoreError => + 'Failed to restore purchases. Please try again later.'; + + @override + String get paywallPurchaseError => + 'Failed to complete the purchase. Please try again later.'; + + @override + String get paywallTrialStep1Title => 'Today: Get instant access'; + + @override + String get paywallTrialStep1Description => + 'Unlock full access, get AI health answers, anytime.'; + + @override + String get paywallTrialStep2Title => 'Day 2: Trial reminder'; + + @override + String get paywallTrialStep2Description => + 'We\'ll send you a reminder that your trial is about to end'; + + @override + String get paywallTrialStep3Title => 'Day 3: Renewal'; + + @override + String paywallTrialStep3Description(String date) { + return 'You\'ll be charged on $date, cancel anytime before.'; + } + + @override + String get paywallBenefitsHeader => 'WHAT\'S INCLUDED'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Private and secure'; + + @override + String get paywallBenefitAiAssistant => 'AI assistant, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Instant health answers'; + + @override + String get paywallBenefitScienceInsights => 'Clear, science-based insights'; + + @override + String get paywallBenefitAutoSummaries => 'Auto conversation summaries'; + + @override + String get paywallBenefitAnyLanguage => 'Any language, anytime'; + + @override + String get paywallPriceUnitPerWeek => 'per week'; + + @override + String get paywallOfferTitle => 'One time offer'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% OFF'; + } + + @override + String get paywallOfferForeverBadge => 'FOREVER'; + + @override + String get paywallOfferDisclaimer => + 'Once you close your one-time offer, it\'s gone!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mo'; + } + + @override + String get paywallOfferLowestPriceBadge => 'LOWEST PRICE EVER'; + + @override + String get paywallOfferCancelAnytime => 'Cancel anytime'; + + @override + String get paywallOfferClaimButton => 'Claim your offer'; + + @override + String get paywallOfferAutoRenewable => 'Auto-renewable subscription'; + + @override + String get paywallGiftBoxTitle => 'Special gift inside'; + + @override + String get paywallGiftBoxSubtitle => 'One tap to reveal your special offer'; + + @override + String get paywallGiftBoxOpenButton => 'Open now'; + + @override + String get paywallRetryLoadPricesError => + 'Failed to load subscription options. Please try again later.'; + + @override + String get paywallPricesUnavailableTitle => + 'Couldn\'t load subscription prices'; + + @override + String get paywallPricesUnavailableMessage => + 'Check your connection and try again.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Try again'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_es.dart b/example/lib/src/generated/onboarding/onboarding_localization_es.dart new file mode 100644 index 0000000..61377e4 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_es.dart @@ -0,0 +1,491 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Spanish Castilian (`es`). +class OnboardingLocalizationEs extends OnboardingLocalization { + OnboardingLocalizationEs([String locale = 'es']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ASISTENTE DE SALUD AVANZADO DE IA'; + + @override + String get welcomeScreenTitle => '¡Bienvenido a Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Diseñado para analizar síntomas como lo hacen los clínicos experimentados: entendiendo patrones, tiempos y contexto.'; + + @override + String get getStartedBtn => 'Comenzar'; + + @override + String get alreadyHaveAccount => + '¿Ya tienes una cuenta? Iniciar sesión'; + + @override + String get termsConsent => + 'Al continuar, aceptas nuestros\nTérminos de Servicio | Política de Privacidad'; + + @override + String get personalizationInterruptionTitle => + 'Personalicemos Doctorina para ti'; + + @override + String get personalizationSectionLabel => 'PERSONALIZACIÓN'; + + @override + String get personalizationReasonTitle => '¿Qué te trae aquí hoy?'; + + @override + String get personalizationReasonSymptomsNow => + 'Estoy experimentando síntomas ahora'; + + @override + String get personalizationReasonUnderstandChange => + 'Quiero entender un cambio de salud'; + + @override + String get personalizationReasonRuleOutSerious => + 'Quiero descartar algo serio'; + + @override + String get personalizationReasonMonitoring => + 'Estoy monitoreando mi salud de manera proactiva'; + + @override + String get continueBtn => 'Continuar'; + + @override + String get captionEmpathyText => + 'Cuando algo cambia en tu salud, saber qué es lo que importa es lo más difícil.'; + + @override + String get captionDifferentiatorText => + 'Doctorina se centra en los patrones de síntomas y el tiempo — las mismas señales que los clínicos buscan desde el principio.'; + + @override + String get genderTitle => 'Selecciona tu género'; + + @override + String get genderSubtitle => + 'Esto nos ayuda a interpretar los síntomas y dar recomendaciones con mayor precisión.'; + + @override + String get genderMale => 'Masculino'; + + @override + String get genderFemale => 'Femenino'; + + @override + String get genderPreferNotSay => 'Prefiero no decirlo'; + + @override + String get ageTitle => '¿Cuál es tu edad?'; + + @override + String get ageSubtitle => + 'La edad nos ayuda a evaluar los patrones de salud con mayor precisión.'; + + @override + String get socialProofLargeTitle => + 'Más de 48k+ personas\nhan elegido Doctorina'; + + @override + String get socialProofDisclaimer => + '*Basado en estadísticas de la base de usuarios de Doctorina'; + + @override + String get developedByDoctors => 'Desarrollado por\nMédicos'; + + @override + String get quizStepLabel1 => 'PASO 1/6'; + + @override + String get quizHealthSituationTitle => + '¿Cómo describirías tu situación de salud actual?'; + + @override + String get quizHealthHealthy => 'Generalmente me siento saludable'; + + @override + String get quizHealthMinorConcerns => + 'Tengo preocupaciones menores continuas'; + + @override + String get quizHealthKnownCondition => + 'Estoy manejando una condición conocida'; + + @override + String get quizHealthUnresolved => 'Estoy lidiando con algo no resuelto'; + + @override + String get quizStepLabel2 => 'PASO 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + '¿Con qué frecuencia sueles ver a un médico?'; + + @override + String get quizDoctorVisitRegular => 'Regularmente (chequeos / seguimientos)'; + + @override + String get quizDoctorVisitOccasional => + 'Ocasionalmente, cuando algo está mal'; + + @override + String get quizDoctorVisitRare => 'Rara vez, solo si es necesario'; + + @override + String get quizDoctorVisitAvoid => 'Evitar visitar a los médicos'; + + @override + String get quizDoctorVisitNever => 'Nunca he visitado a un médico'; + + @override + String get quizStepLabel3 => 'PASO 3/6'; + + @override + String get quizBiggestChallengeTitle => + '¿Cuál ha sido tu mayor desafío con la atención médica hasta ahora?'; + + @override + String get quizMultiSelectHint => 'Elige tantos como desees'; + + @override + String get quizChallengeLongWait => 'Largos tiempos de espera para las citas'; + + @override + String get quizChallengeRushedVisits => 'Las visitas se sienten apresuradas'; + + @override + String get quizChallengeCost => 'Alto costo o precios poco claros'; + + @override + String get quizChallengeHardExplain => 'Difícil explicar todo claramente'; + + @override + String get quizChallengeConflictingAdvice => + 'Opiniones o consejos contradictorios'; + + @override + String get quizChallengeNone => 'No hay problemas importantes'; + + @override + String get quizStepLabel4 => 'PASO 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Después de las citas, ¿qué tan seguro te sientes sobre lo que te dijeron?'; + + @override + String get quizConfidenceNoRightAnswer => + 'No hay una respuesta correcta o incorrecta.'; + + @override + String get quizConfidenceVeryClear => + 'Muy claro sobre lo que está sucediendo'; + + @override + String get quizConfidenceSomewhatClear => 'Algo claro'; + + @override + String get quizConfidenceStillUncertain => 'Aún incierto'; + + @override + String get quizConfidenceMoreConfused => 'Más confundido que antes'; + + @override + String get captionDiagnosisVsChange => + 'Muchas personas luchan no después del diagnóstico sino cuando los síntomas cambian con el tiempo'; + + @override + String get quizStepLabel5 => 'PASO 5/6'; + + @override + String get quizConcernsAddressedTitle => + '¿Qué tan bien sientes que se abordan tus preocupaciones?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Basado en tus sentimientos subjetivos'; + + @override + String get quizConcernsVeryWell => 'Muy bien'; + + @override + String get quizConcernsFairlyWell => 'Bastante bien'; + + @override + String get quizConcernsNotVeryWell => 'No muy bien'; + + @override + String get quizConcernsVaries => 'Varía mucho'; + + @override + String get quizStepLabel6 => 'PASO 6/6'; + + @override + String get quizSelfResearchTitle => + 'Antes de ver a un médico, ¿sueles intentar entender los síntomas por ti mismo?'; + + @override + String get quizSelfResearchYes => 'Sí, investigo y sigo las cosas'; + + @override + String get quizSelfResearchSometimes => 'A veces'; + + @override + String get quizSelfResearchRarely => 'Rara vez'; + + @override + String get quizSelfResearchNo => + 'No, confío completamente en los profesionales'; + + @override + String get captionAvailabilityTitle => + 'Las preguntas de salud no siguen el horario de oficina.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina está disponible 24/7.'; + + @override + String get captionAvailabilityDescription => + 'La claridad no debería tener que esperar a la próxima cita.'; + + @override + String get notificationTitle => + '¿Quieres que verifiquemos tus síntomas de salud?'; + + @override + String get notificationDescription => + 'La IA puede monitorear tus síntomas y alertarte si algo puede necesitar atención'; + + @override + String get notificationYes => 'Sí — cuida mi salud'; + + @override + String get notificationOnlyImportant => 'Sí — solo si algo importante cambia'; + + @override + String get notificationNo => 'No estoy seguro aún'; + + @override + String get referralSourceTitle => '¿Oíste hablar de Doctorina por un médico?'; + + @override + String get referralSourceYes => 'Sí'; + + @override + String get referralSourceNo => 'No'; + + @override + String get processingSectionLabel => 'ANALIZANDO SUS RESULTADOS'; + + @override + String get processingTitle => 'Personalizando tu experiencia'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Experiencia ilimitada con Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'TU ASISTENTE QUE SIEMPRE ESTÁ CERCA'; + + @override + String get paywallEnableTrialToggle => + '¿No estás seguro aún? Activa la prueba gratuita.'; + + @override + String get paywallPlanYear => 'Anual'; + + @override + String get paywallPlanMonthly => 'Mensual'; + + @override + String get paywallPlanWeek => 'Semanal'; + + @override + String get paywallPlanDaily => 'Diario'; + + @override + String get paywallPlanYearPrice => '\$39.99 (solo \$3.34/semana)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'AHORRA 58%'; + + @override + String get paywallContinueBtn => 'Continuar'; + + @override + String get paywallStartTrialBtn => 'Iniciar prueba gratuita'; + + @override + String get paywallSubscriptionDisclaimer => + 'La suscripción se renueva automáticamente. Cancela en cualquier momento'; + + @override + String get paywallTermsPrivacy => + 'Términos de Servicio | Política de Privacidad'; + + @override + String get paywallPerWeek => 'semana'; + + @override + String get processingLabel => 'Analizando tus resultados'; + + @override + String get paywallCloseTooltip => 'Cerrar la incorporación'; + + @override + String get paywallRestoreTooltip => 'Restaurar compras'; + + @override + String get paywallRestoreBtn => 'Restaurar'; + + @override + String get paywallRestoreNoneFound => + 'No se encontró ninguna suscripción activa para restaurar.'; + + @override + String get paywallRestoreError => + 'Error al restaurar compras. Por favor, inténtalo de nuevo más tarde.'; + + @override + String get paywallPurchaseError => + 'No se pudo completar la compra. Por favor, inténtalo de nuevo más tarde.'; + + @override + String get paywallTrialStep1Title => 'Hoy: Obtén acceso instantáneo'; + + @override + String get paywallTrialStep1Description => + 'Desbloquea el acceso completo, obtén respuestas de salud de IA, en cualquier momento.'; + + @override + String get paywallTrialStep2Title => 'Día 2: Recordatorio de la prueba'; + + @override + String get paywallTrialStep2Description => + 'Te enviaremos un recordatorio de que tu prueba está a punto de terminar'; + + @override + String get paywallTrialStep3Title => 'Día 3: Renovación'; + + @override + String paywallTrialStep3Description(String date) { + return 'Se te cobrará el $date, cancela en cualquier momento antes.'; + } + + @override + String get paywallBenefitsHeader => 'QUÉ INCLUYE'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privado y seguro'; + + @override + String get paywallBenefitAiAssistant => 'Asistente de IA, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Respuestas de salud instantáneas'; + + @override + String get paywallBenefitScienceInsights => + 'Perspectivas claras basadas en la ciencia'; + + @override + String get paywallBenefitAutoSummaries => + 'Resúmenes automáticos de conversaciones'; + + @override + String get paywallBenefitAnyLanguage => + 'Cualquier idioma, en cualquier momento'; + + @override + String get paywallPriceUnitPerWeek => 'por semana'; + + @override + String get paywallOfferTitle => 'Oferta única'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% DE DESCUENTO'; + } + + @override + String get paywallOfferForeverBadge => 'SIEMPRE'; + + @override + String get paywallOfferDisclaimer => + '¡Una vez que cierres tu oferta única, se habrá ido!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mes'; + } + + @override + String get paywallOfferLowestPriceBadge => 'PRECIO MÁS BAJO DE LA HISTORIA'; + + @override + String get paywallOfferCancelAnytime => 'Cancela en cualquier momento'; + + @override + String get paywallOfferClaimButton => 'Reclama tu oferta'; + + @override + String get paywallOfferAutoRenewable => 'Suscripción automática renovable'; + + @override + String get paywallGiftBoxTitle => 'Regalo especial dentro'; + + @override + String get paywallGiftBoxSubtitle => + 'Un toque para revelar tu oferta especial'; + + @override + String get paywallGiftBoxOpenButton => 'Abre ahora'; + + @override + String get paywallRetryLoadPricesError => + 'No se pudo cargar las opciones de suscripción. Por favor, inténtalo de nuevo más tarde.'; + + @override + String get paywallPricesUnavailableTitle => + 'No se pudieron cargar los precios de suscripción'; + + @override + String get paywallPricesUnavailableMessage => + 'Verifica tu conexión y vuelve a intentarlo.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Intenta de nuevo'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_fa.dart b/example/lib/src/generated/onboarding/onboarding_localization_fa.dart new file mode 100644 index 0000000..ebfff59 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_fa.dart @@ -0,0 +1,481 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Persian (`fa`). +class OnboardingLocalizationFa extends OnboardingLocalization { + OnboardingLocalizationFa([String locale = 'fa']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'دستیار سلامت پیشرفته هوش مصنوعی'; + + @override + String get welcomeScreenTitle => 'خوش آمدید به دکترینا!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'طراحی شده برای تحلیل علائم به شیوه‌ای که پزشکان با تجربه انجام می‌دهند - با درک الگوها، زمان‌بندی و زمینه'; + + @override + String get getStartedBtn => 'شروع کنید'; + + @override + String get alreadyHaveAccount => 'آیا قبلاً حساب دارید؟ ورود'; + + @override + String get termsConsent => + 'با ادامه، شما با شرایط خدمات | سیاست حفظ حریم خصوصی موافقت می‌کنید'; + + @override + String get personalizationInterruptionTitle => + 'بیایید Doctorina را برای شما شخصی‌سازی کنیم'; + + @override + String get personalizationSectionLabel => 'شخصی‌سازی'; + + @override + String get personalizationReasonTitle => + 'چه چیزی شما را امروز به اینجا آورده است؟'; + + @override + String get personalizationReasonSymptomsNow => 'من هم اکنون علائم دارم'; + + @override + String get personalizationReasonUnderstandChange => + 'می‌خواهم تغییرات سلامتی را درک کنم'; + + @override + String get personalizationReasonRuleOutSerious => + 'می‌خواهم چیزی جدی را رد کنم'; + + @override + String get personalizationReasonMonitoring => + 'من به طور پیشگیرانه سلامتی خود را زیر نظر دارم'; + + @override + String get continueBtn => 'ادامه'; + + @override + String get captionEmpathyText => + 'زمانی که چیزی در سلامتی شما تغییر می‌کند، دانستن اینکه چه چیزی مهم است سخت‌ترین است.'; + + @override + String get captionDifferentiatorText => + 'داکترینا بر الگوهای علائم و زمان‌بندی تمرکز دارد — همان سیگنال‌هایی که پزشکان در اوایل به دنبال آن هستند.'; + + @override + String get genderTitle => 'جنس خود را انتخاب کنید'; + + @override + String get genderSubtitle => + 'این به ما کمک می‌کند تا علائم را تفسیر کرده و توصیه‌ها را با دقت بیشتری ارائه دهیم'; + + @override + String get genderMale => 'مرد'; + + @override + String get genderFemale => 'زن'; + + @override + String get genderPreferNotSay => 'ترجیح می‌دهم نگویم'; + + @override + String get ageTitle => 'سن شما چقدر است؟'; + + @override + String get ageSubtitle => + 'سن به ما کمک می‌کند تا الگوهای سلامتی را دقیق‌تر ارزیابی کنیم'; + + @override + String get socialProofLargeTitle => + 'بیش از ۲۳ هزار نفر\nDoctorina را انتخاب کرده‌اند'; + + @override + String get socialProofDisclaimer => '*بر اساس آمار کاربران Doctorina'; + + @override + String get developedByDoctors => 'توسعه داده شده توسط\nپزشکان'; + + @override + String get quizStepLabel1 => 'مرحله 1/6'; + + @override + String get quizHealthSituationTitle => + 'چگونه وضعیت سلامتی فعلی خود را توصیف می‌کنید؟'; + + @override + String get quizHealthHealthy => 'من به طور کلی احساس سلامتی می‌کنم'; + + @override + String get quizHealthMinorConcerns => 'من نگرانی‌های جزئی مداوم دارم'; + + @override + String get quizHealthKnownCondition => + 'من در حال مدیریت یک وضعیت شناخته شده هستم'; + + @override + String get quizHealthUnresolved => + 'من با یک موضوع حل نشده دست و پنجه نرم می‌کنم'; + + @override + String get quizStepLabel2 => 'مرحله 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'شما معمولاً چقدر به پزشک مراجعه می‌کنید؟'; + + @override + String get quizDoctorVisitRegular => 'به طور منظم (چکاپ / پیگیری‌ها)'; + + @override + String get quizDoctorVisitOccasional => 'گاهی اوقات، وقتی چیزی اشتباه است'; + + @override + String get quizDoctorVisitRare => 'به ندرت، فقط در صورت لزوم'; + + @override + String get quizDoctorVisitAvoid => 'از رفتن به پزشکان خودداری کنید'; + + @override + String get quizDoctorVisitNever => 'هرگز به پزشک مراجعه نکرده‌ام'; + + @override + String get quizStepLabel3 => 'مرحله ۳/۶'; + + @override + String get quizBiggestChallengeTitle => + 'بزرگترین چالش شما با خدمات بهداشتی تا کنون چه بوده است؟'; + + @override + String get quizMultiSelectHint => 'هرچقدر که می‌خواهید انتخاب کنید'; + + @override + String get quizChallengeLongWait => 'زمان‌های انتظار طولانی برای نوبت‌ها'; + + @override + String get quizChallengeRushedVisits => 'بازدیدها احساس شتاب‌زدگی دارند'; + + @override + String get quizChallengeCost => 'هزینه بالا یا قیمت‌گذاری نامشخص'; + + @override + String get quizChallengeHardExplain => + 'سخت است که همه چیز را به وضوح توضیح دهم'; + + @override + String get quizChallengeConflictingAdvice => 'نظرات یا مشاوره‌های متضاد'; + + @override + String get quizChallengeNone => 'مشکلات عمده‌ای وجود ندارد'; + + @override + String get quizStepLabel4 => 'مرحله ۴/۶'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'بعد از ملاقات‌ها، چقدر به آنچه به شما گفته شد اعتماد دارید؟'; + + @override + String get quizConfidenceNoRightAnswer => 'جواب درست یا نادرست وجود ندارد'; + + @override + String get quizConfidenceVeryClear => + 'کاملاً واضح دربارهٔ آنچه در حال وقوع است'; + + @override + String get quizConfidenceSomewhatClear => 'تاحدی واضح'; + + @override + String get quizConfidenceStillUncertain => 'هنوز مطمئن نیستم'; + + @override + String get quizConfidenceMoreConfused => 'بیشتر از قبل گیج هستم'; + + @override + String get captionDiagnosisVsChange => + 'بسیاری از مردم بعد از تشخیص بلکه زمانی که علائم با گذشت زمان تغییر می‌کند، با مشکل مواجه می‌شوند.'; + + @override + String get quizStepLabel5 => 'مرحله ۵/۶'; + + @override + String get quizConcernsAddressedTitle => + 'چقدر احساس می‌کنید که نگرانی‌های شما معمولاً مورد توجه قرار می‌گیرد؟'; + + @override + String get quizConcernsAddressedSubtitle => 'بر اساس احساسات شخصی شما'; + + @override + String get quizConcernsVeryWell => 'خیلی خوب'; + + @override + String get quizConcernsFairlyWell => 'به نسبت خوب'; + + @override + String get quizConcernsNotVeryWell => 'خیلی خوب نیست'; + + @override + String get quizConcernsVaries => 'بسیار متغیر است'; + + @override + String get quizStepLabel6 => 'مرحله ۶/۶'; + + @override + String get quizSelfResearchTitle => + 'قبل از دیدن پزشک، آیا معمولاً سعی می‌کنید خودتان علائم را درک کنید؟'; + + @override + String get quizSelfResearchYes => 'بله، من تحقیق و پیگیری می‌کنم'; + + @override + String get quizSelfResearchSometimes => 'گاهی'; + + @override + String get quizSelfResearchRarely => 'به ندرت'; + + @override + String get quizSelfResearchNo => 'نه، من کاملاً به حرفه‌ای‌ها تکیه می‌کنم'; + + @override + String get captionAvailabilityTitle => + 'سوالات بهداشتی پیرو ساعت کاری نیستند.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina در دسترس ۲۴ ساعته در ۷ روز هفته است.'; + + @override + String get captionAvailabilityDescription => + 'وضوح نباید منتظر نوبت بعدی باشد'; + + @override + String get notificationTitle => + 'آیا می‌خواهید ما به علائم سلامتی شما رسیدگی کنیم؟'; + + @override + String get notificationDescription => + 'هوش مصنوعی می‌تواند علائم شما را زیر نظر داشته باشد و در صورت نیاز به توجه، به شما هشدار دهد'; + + @override + String get notificationYes => 'بله — به سلامتی من توجه کنید'; + + @override + String get notificationOnlyImportant => 'بله — فقط اگر چیزی مهم تغییر کند'; + + @override + String get notificationNo => 'هنوز مطمئن نیستم'; + + @override + String get referralSourceTitle => + 'آیا درباره Doctorina از یک پزشک شنیده‌اید؟'; + + @override + String get referralSourceYes => 'بله'; + + @override + String get referralSourceNo => 'خیر'; + + @override + String get processingSectionLabel => 'در حال تحلیل نتایج شما'; + + @override + String get processingTitle => 'شخصی‌سازی تجربه شما'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => 'تجربه نامحدود با Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'دستیار شما که همیشه در کنار شماست'; + + @override + String get paywallEnableTrialToggle => + 'هنوز مطمئن نیستید؟ آزمایش رایگان را فعال کنید.'; + + @override + String get paywallPlanYear => 'سالانه'; + + @override + String get paywallPlanMonthly => 'ماهانه'; + + @override + String get paywallPlanWeek => 'هفتگی'; + + @override + String get paywallPlanDaily => 'روزانه'; + + @override + String get paywallPlanYearPrice => '۳۹.۹۹ دلار (فقط ۳.۳۴ دلار/هفته)'; + + @override + String get paywallPlanWeekPrice => '3.99\$'; + + @override + String get paywallSaveBadge => 'صرفه‌جویی 58%'; + + @override + String get paywallContinueBtn => 'ادامه'; + + @override + String get paywallStartTrialBtn => 'آغاز دوره آزمایشی رایگان'; + + @override + String get paywallSubscriptionDisclaimer => + 'اشتراک به‌طور خودکار تجدید می‌شود. هر زمان که بخواهید می‌توانید لغو کنید'; + + @override + String get paywallTermsPrivacy => + 'شرایط خدمات | سیاست حفظ حریم خصوصی'; + + @override + String get paywallPerWeek => 'هفته'; + + @override + String get processingLabel => 'در حال تحلیل نتایج شما'; + + @override + String get paywallCloseTooltip => 'بستن آموزش'; + + @override + String get paywallRestoreTooltip => 'بازگردانی خریدها'; + + @override + String get paywallRestoreBtn => 'بازگردانی'; + + @override + String get paywallRestoreNoneFound => + 'هیچ اشتراک فعالی برای بازیابی پیدا نشد'; + + @override + String get paywallRestoreError => + 'خطا در بازیابی خریدها. لطفاً بعداً دوباره تلاش کنید.'; + + @override + String get paywallPurchaseError => + 'خرید ناموفق بود. لطفاً بعداً دوباره تلاش کنید.'; + + @override + String get paywallTrialStep1Title => 'امروز: دسترسی فوری بگیرید'; + + @override + String get paywallTrialStep1Description => + 'دسترسی کامل را باز کنید، هر زمان که بخواهید پاسخ‌های سلامتی هوش مصنوعی را دریافت کنید.'; + + @override + String get paywallTrialStep2Title => 'روز ۲: یادآوری آزمایش'; + + @override + String get paywallTrialStep2Description => + 'ما به شما یادآوری خواهیم کرد که دوره آزمایشی شما در حال اتمام است'; + + @override + String get paywallTrialStep3Title => 'روز ۳: تمدید'; + + @override + String paywallTrialStep3Description(String date) { + return 'در تاریخ $date از شما هزینه کسر خواهد شد، هر زمان قبل از آن می‌توانید لغو کنید.'; + } + + @override + String get paywallBenefitsHeader => 'چه چیزی شامل می‌شود'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'خصوصی و امن'; + + @override + String get paywallBenefitAiAssistant => 'دستیار هوش مصنوعی، ۲۴/۷'; + + @override + String get paywallBenefitInstantAnswers => 'پاسخ‌های فوری به سوالات سلامتی'; + + @override + String get paywallBenefitScienceInsights => 'بینش‌های واضح و مبتنی بر علم'; + + @override + String get paywallBenefitAutoSummaries => 'خلاصه‌های خودکار مکالمه'; + + @override + String get paywallBenefitAnyLanguage => 'هر زبانی، هر زمان'; + + @override + String get paywallPriceUnitPerWeek => 'در هفته'; + + @override + String get paywallOfferTitle => 'پیشنهاد یک‌باره'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% تخفیف'; + } + + @override + String get paywallOfferForeverBadge => 'برای همیشه'; + + @override + String get paywallOfferDisclaimer => + 'زمانی که پیشنهاد یک‌باره خود را ببندید، دیگر وجود نخواهد داشت!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/ماه'; + } + + @override + String get paywallOfferLowestPriceBadge => 'پایین‌ترین قیمت تاریخ'; + + @override + String get paywallOfferCancelAnytime => 'هر زمان که بخواهید لغو کنید'; + + @override + String get paywallOfferClaimButton => 'پیشنهاد خود را دریافت کنید'; + + @override + String get paywallOfferAutoRenewable => 'اشتراک خودکار تجدید پذیر'; + + @override + String get paywallGiftBoxTitle => 'هدیه ویژه درون'; + + @override + String get paywallGiftBoxSubtitle => 'یک ضربه برای نمایش پیشنهاد ویژه شما'; + + @override + String get paywallGiftBoxOpenButton => 'همین حالا باز کنید'; + + @override + String get paywallRetryLoadPricesError => + 'بارگذاری گزینه‌های اشتراک ناموفق بود. لطفاً بعداً دوباره تلاش کنید.'; + + @override + String get paywallPricesUnavailableTitle => + 'نتوانستیم قیمت‌های اشتراک را بارگذاری کنیم'; + + @override + String get paywallPricesUnavailableMessage => + 'اتصال خود را بررسی کنید و دوباره تلاش کنید.'; + + @override + String get paywallPricesUnavailableRetryButton => 'دوباره تلاش کنید'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_fr.dart b/example/lib/src/generated/onboarding/onboarding_localization_fr.dart new file mode 100644 index 0000000..fb08366 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_fr.dart @@ -0,0 +1,494 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for French (`fr`). +class OnboardingLocalizationFr extends OnboardingLocalization { + OnboardingLocalizationFr([String locale = 'fr']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ASSISTANT DE SANTÉ AI AVANCÉ'; + + @override + String get welcomeScreenTitle => 'Bienvenue chez Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Conçu pour analyser les symptômes comme le font les cliniciens expérimentés : en comprenant les schémas, le timing et le contexte'; + + @override + String get getStartedBtn => 'Commencer'; + + @override + String get alreadyHaveAccount => + 'Vous avez déjà un compte ? Se connecter'; + + @override + String get termsConsent => + 'En continuant, vous acceptez nos\nConditions d\'utilisation | Politique de confidentialité'; + + @override + String get personalizationInterruptionTitle => + 'Personnalisons Doctorina pour vous'; + + @override + String get personalizationSectionLabel => 'PERSONNALISATION'; + + @override + String get personalizationReasonTitle => + 'Qu\'est-ce qui vous amène ici aujourd\'hui ?'; + + @override + String get personalizationReasonSymptomsNow => + 'J\'ai des symptômes maintenant'; + + @override + String get personalizationReasonUnderstandChange => + 'Je veux comprendre un changement de santé'; + + @override + String get personalizationReasonRuleOutSerious => + 'Je veux écarter quelque chose de sérieux'; + + @override + String get personalizationReasonMonitoring => + 'Je surveille ma santé de manière proactive'; + + @override + String get continueBtn => 'Continuer'; + + @override + String get captionEmpathyText => + 'Lorsque quelque chose change dans votre santé, savoir ce qui est important est le plus difficile.'; + + @override + String get captionDifferentiatorText => + 'Doctorina se concentre sur les modèles de symptômes et le timing — les mêmes signaux que les cliniciens recherchent dès le début.'; + + @override + String get genderTitle => 'Sélectionnez votre genre'; + + @override + String get genderSubtitle => + 'Cela nous aide à interpréter les symptômes et à donner des recommandations plus précises.'; + + @override + String get genderMale => 'Homme'; + + @override + String get genderFemale => 'Femme'; + + @override + String get genderPreferNotSay => 'Préférer ne pas dire'; + + @override + String get ageTitle => 'Quel est votre âge ?'; + + @override + String get ageSubtitle => + 'L\'âge nous aide à évaluer les modèles de santé plus précisément.'; + + @override + String get socialProofLargeTitle => + 'Plus de 48k+ personnes\nont choisi Doctorina'; + + @override + String get socialProofDisclaimer => + '*Basé sur les statistiques de la base d\'utilisateurs de Doctorina'; + + @override + String get developedByDoctors => 'Développé par\nDes médecins'; + + @override + String get quizStepLabel1 => 'ÉTAPE 1/6'; + + @override + String get quizHealthSituationTitle => + 'Comment décririez-vous votre situation de santé actuelle ?'; + + @override + String get quizHealthHealthy => 'Je me sens généralement en bonne santé'; + + @override + String get quizHealthMinorConcerns => + 'J\'ai des préoccupations mineures en cours'; + + @override + String get quizHealthKnownCondition => 'Je gère une condition connue'; + + @override + String get quizHealthUnresolved => 'Je fais face à quelque chose d\'irrésolu'; + + @override + String get quizStepLabel2 => 'ÉTAPE 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'À quelle fréquence voyez-vous généralement un médecin ?'; + + @override + String get quizDoctorVisitRegular => 'Régulièrement (contrôles / suivis)'; + + @override + String get quizDoctorVisitOccasional => + 'Occasionnellement, quand quelque chose ne va pas'; + + @override + String get quizDoctorVisitRare => 'Rarement, seulement si nécessaire'; + + @override + String get quizDoctorVisitAvoid => 'Éviter de consulter des médecins'; + + @override + String get quizDoctorVisitNever => 'Je n\'ai jamais consulté de médecin'; + + @override + String get quizStepLabel3 => 'ÉTAPE 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Quel a été votre plus grand défi avec le système de santé jusqu\'à présent ?'; + + @override + String get quizMultiSelectHint => 'Choisissez autant que vous le souhaitez'; + + @override + String get quizChallengeLongWait => 'Longs délais pour les rendez-vous'; + + @override + String get quizChallengeRushedVisits => 'Les visites semblent précipitées'; + + @override + String get quizChallengeCost => 'Coût élevé ou tarification peu claire'; + + @override + String get quizChallengeHardExplain => + 'Difficile d\'expliquer tout clairement'; + + @override + String get quizChallengeConflictingAdvice => + 'Opinions ou conseils contradictoires'; + + @override + String get quizChallengeNone => 'Aucun problème majeur'; + + @override + String get quizStepLabel4 => 'ÉTAPE 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Après les rendez-vous, à quel point vous sentez-vous confiant quant à ce qui vous a été dit ?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Il n\'y a pas de bonne ou de mauvaise réponse.'; + + @override + String get quizConfidenceVeryClear => 'Très clair sur ce qui se passe'; + + @override + String get quizConfidenceSomewhatClear => 'Assez clair'; + + @override + String get quizConfidenceStillUncertain => 'Encore incertain'; + + @override + String get quizConfidenceMoreConfused => 'Plus confus qu\'avant'; + + @override + String get captionDiagnosisVsChange => + 'Beaucoup de personnes ont des difficultés non après le diagnostic mais lorsque les symptômes changent avec le temps.'; + + @override + String get quizStepLabel5 => 'ÉTAPE 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Dans quelle mesure pensez-vous que vos préoccupations sont généralement prises en compte ?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Basé sur vos sentiments subjectifs'; + + @override + String get quizConcernsVeryWell => 'Très bien'; + + @override + String get quizConcernsFairlyWell => 'Assez bien'; + + @override + String get quizConcernsNotVeryWell => 'Pas très bien'; + + @override + String get quizConcernsVaries => 'Ça varie beaucoup'; + + @override + String get quizStepLabel6 => 'ÉTAPE 6/6'; + + @override + String get quizSelfResearchTitle => + 'Avant de voir un médecin, essayez-vous généralement de comprendre vous-même les symptômes ?'; + + @override + String get quizSelfResearchYes => + 'Oui, je fais des recherches et je suis des choses'; + + @override + String get quizSelfResearchSometimes => 'Parfois'; + + @override + String get quizSelfResearchRarely => 'Rarement'; + + @override + String get quizSelfResearchNo => + 'Non, je m\'en remets entièrement aux professionnels'; + + @override + String get captionAvailabilityTitle => + 'Les questions de santé ne suivent pas les heures de bureau.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina est disponible 24/7.'; + + @override + String get captionAvailabilityDescription => + 'La clarté ne devrait pas attendre le prochain rendez-vous'; + + @override + String get notificationTitle => + 'Voulez-vous que nous vérifions vos symptômes de santé?'; + + @override + String get notificationDescription => + 'L\'IA peut surveiller vos symptômes et vous alerter si quelque chose nécessite une attention'; + + @override + String get notificationYes => 'Oui — surveillez ma santé'; + + @override + String get notificationOnlyImportant => + 'Oui — seulement si quelque chose d\'important change'; + + @override + String get notificationNo => 'Pas encore sûr'; + + @override + String get referralSourceTitle => + 'Avez-vous entendu parler de Doctorina par un médecin ?'; + + @override + String get referralSourceYes => 'Oui'; + + @override + String get referralSourceNo => 'Non'; + + @override + String get processingSectionLabel => 'ANALYSE DE VOS RÉSULTATS'; + + @override + String get processingTitle => 'Personnalisation de votre expérience'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Expérience illimitée avec Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'VOTRE ASSISTANT TOUJOURS PROCHE'; + + @override + String get paywallEnableTrialToggle => + 'Pas encore sûr ? Activez l\'essai gratuit.'; + + @override + String get paywallPlanYear => 'Annuel'; + + @override + String get paywallPlanMonthly => 'Mensuel'; + + @override + String get paywallPlanWeek => 'Hebdomadaire'; + + @override + String get paywallPlanDaily => 'Quotidien'; + + @override + String get paywallPlanYearPrice => '39,99 € (seulement 3,34 €/semaine)'; + + @override + String get paywallPlanWeekPrice => '3,99 €'; + + @override + String get paywallSaveBadge => 'ÉCONOMISEZ 58%'; + + @override + String get paywallContinueBtn => 'Continuer'; + + @override + String get paywallStartTrialBtn => 'Commencer l\'essai gratuit'; + + @override + String get paywallSubscriptionDisclaimer => + 'L\'abonnement est renouvelable automatiquement. Annulez à tout moment'; + + @override + String get paywallTermsPrivacy => + 'Conditions d\'Utilisation | Politique de Confidentialité'; + + @override + String get paywallPerWeek => 'semaine'; + + @override + String get processingLabel => 'Analyse de vos résultats'; + + @override + String get paywallCloseTooltip => 'Fermer l\'onboarding'; + + @override + String get paywallRestoreTooltip => 'Restaurer les achats'; + + @override + String get paywallRestoreBtn => 'Restaurer'; + + @override + String get paywallRestoreNoneFound => + 'Aucun abonnement actif trouvé à restaurer.'; + + @override + String get paywallRestoreError => + 'Échec de la restauration des achats. Veuillez réessayer plus tard.'; + + @override + String get paywallPurchaseError => + 'Échec de l\'achat. Veuillez réessayer plus tard.'; + + @override + String get paywallTrialStep1Title => + 'Aujourd\'hui : Obtenez un accès instantané'; + + @override + String get paywallTrialStep1Description => + 'Débloquez l\'accès complet, obtenez des réponses de santé AI, à tout moment.'; + + @override + String get paywallTrialStep2Title => 'Jour 2 : Rappel d\'essai'; + + @override + String get paywallTrialStep2Description => + 'Nous vous enverrons un rappel que votre essai est sur le point de se terminer'; + + @override + String get paywallTrialStep3Title => 'Jour 3 : Renouvellement'; + + @override + String paywallTrialStep3Description(String date) { + return 'Vous serez facturé le $date, annulez à tout moment avant.'; + } + + @override + String get paywallBenefitsHeader => 'QU\'EST-CE QUI EST INCLUS'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privé et sécurisé'; + + @override + String get paywallBenefitAiAssistant => 'Assistant IA, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Réponses de santé instantanées'; + + @override + String get paywallBenefitScienceInsights => + 'Claires, insights basés sur la science'; + + @override + String get paywallBenefitAutoSummaries => + 'Résumés automatiques des conversations'; + + @override + String get paywallBenefitAnyLanguage => 'Toute langue, à tout moment'; + + @override + String get paywallPriceUnitPerWeek => 'par semaine'; + + @override + String get paywallOfferTitle => 'Offre unique'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% DE REMISE'; + } + + @override + String get paywallOfferForeverBadge => 'POUR TOUJOURS'; + + @override + String get paywallOfferDisclaimer => + 'Une fois que vous fermez votre offre unique, elle est perdue!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mo'; + } + + @override + String get paywallOfferLowestPriceBadge => 'PRIX LE PLUS BAS JAMAIS'; + + @override + String get paywallOfferCancelAnytime => 'Annuler à tout moment'; + + @override + String get paywallOfferClaimButton => 'Réclamez votre offre'; + + @override + String get paywallOfferAutoRenewable => 'Abonnement auto-renouvelable'; + + @override + String get paywallGiftBoxTitle => 'Cadeau spécial à l\'intérieur'; + + @override + String get paywallGiftBoxSubtitle => + 'Une touche pour révéler votre offre spéciale'; + + @override + String get paywallGiftBoxOpenButton => 'Ouvrir maintenant'; + + @override + String get paywallRetryLoadPricesError => + 'Échec du chargement des options d\'abonnement. Veuillez réessayer plus tard.'; + + @override + String get paywallPricesUnavailableTitle => + 'Impossible de charger les prix des abonnements'; + + @override + String get paywallPricesUnavailableMessage => + 'Vérifiez votre connexion et réessayez'; + + @override + String get paywallPricesUnavailableRetryButton => 'Réessayer'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_gu.dart b/example/lib/src/generated/onboarding/onboarding_localization_gu.dart new file mode 100644 index 0000000..3957061 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_gu.dart @@ -0,0 +1,485 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Gujarati (`gu`). +class OnboardingLocalizationGu extends OnboardingLocalization { + OnboardingLocalizationGu([String locale = 'gu']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ઉન્નત AI આરોગ્ય સહાયક'; + + @override + String get welcomeScreenTitle => 'ડોક્ટરિનામાં આપનું સ્વાગત છે'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'અનુભવી ક્લિનિશિયનની જેમ લક્ષણોનું વિશ્લેષણ કરવા માટે ડિઝાઇન કરવામાં આવ્યું છે—પેટર્ન, સમય અને સંદર્ભને સમજવા દ્વારા.'; + + @override + String get getStartedBtn => 'શરૂઆત કરો'; + + @override + String get alreadyHaveAccount => 'પહેલાથી એક ખાતું છે? લોગ ઇન'; + + @override + String get termsConsent => + 'આગળ વધતા, તમે અમારી સાથે સહમત છો\nસેવા શરતો | ગોપનીયતા નીતિ'; + + @override + String get personalizationInterruptionTitle => + 'ચાલો તમારા માટે વ્યક્તિગત બનાવીએ Doctorina'; + + @override + String get personalizationSectionLabel => 'વ્યક્તિગતકરણ'; + + @override + String get personalizationReasonTitle => 'તમે આજે અહીં કેમ આવ્યા છો?'; + + @override + String get personalizationReasonSymptomsNow => + 'હું હાલમાં લક્ષણો અનુભવી રહ્યો છું'; + + @override + String get personalizationReasonUnderstandChange => + 'હું આરોગ્યમાં ફેરફારને સમજવા માંગું છું'; + + @override + String get personalizationReasonRuleOutSerious => + 'હું ગંભીર કંઈક દૂર કરવા માંગું છું'; + + @override + String get personalizationReasonMonitoring => + 'હું મારી આરોગ્યની પ્રતિક્રિયા માટે મોનિટર કરી રહ્યો છું'; + + @override + String get continueBtn => 'જારી રાખો'; + + @override + String get captionEmpathyText => + 'જ્યારે તમારી આરોગ્યમાં કંઈક બદલાય છે, ત્યારે શું મહત્વનું છે તે જાણવું સૌથી મુશ્કેલ છે'; + + @override + String get captionDifferentiatorText => + 'Doctorina લક્ષણોના પેટર્ન અને સમય પર ધ્યાન કેન્દ્રિત કરે છે — તે જ સંકેતો જે ડોકટરો શરૂઆતમાં શોધે છે.'; + + @override + String get genderTitle => 'તમારો લિંગ પસંદ કરો'; + + @override + String get genderSubtitle => + 'આ અમને લક્ષણોને વ્યાખ્યાયિત કરવામાં અને વધુ ચોક્કસ રીતે ભલામણો આપવા માટે મદદ કરે છે'; + + @override + String get genderMale => 'પુરુષ'; + + @override + String get genderFemale => 'સ્ત્રી'; + + @override + String get genderPreferNotSay => 'કહવા માંગતો નથી'; + + @override + String get ageTitle => 'તમારી ઉંમર શું છે?'; + + @override + String get ageSubtitle => + 'ઉમર અમને આરોગ્યના પેટર્નને વધુ ચોક્કસ રીતે મૂલ્યાંકન કરવામાં મદદ કરે છે'; + + @override + String get socialProofLargeTitle => + '48,000થી વધુ લોકો ડોક્ટોરિના પસંદ કરી છે'; + + @override + String get socialProofDisclaimer => + '*આ ડોક્ટરિના વપરાશકર્તા આધારની આંકડાઓ પર આધારિત છે'; + + @override + String get developedByDoctors => 'ડોક્ટરો દ્વારા વિકસિત'; + + @override + String get quizStepLabel1 => 'કદમ 1/6'; + + @override + String get quizHealthSituationTitle => + 'તમે તમારી વર્તમાન આરોગ્યની સ્થિતિને કેવી રીતે વર્ણવશો?'; + + @override + String get quizHealthHealthy => 'હું સામાન્ય રીતે સ્વસ્થ અનુભવું છું'; + + @override + String get quizHealthMinorConcerns => 'મારે ચાલુ નાનાં ચિંતાઓ છે'; + + @override + String get quizHealthKnownCondition => + 'હું જાણીતું રોગ સંચાલિત કરી રહ્યો છું'; + + @override + String get quizHealthUnresolved => + 'હું કંઈક અનિચ્છિત સાથે સંઘર્ષ કરી રહ્યો છું'; + + @override + String get quizStepLabel2 => 'કદમ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'તમે સામાન્ય રીતે ડોક્ટરને કેટલાય વાર મળતા છો?'; + + @override + String get quizDoctorVisitRegular => 'નિયમિત (ચકાસણીઓ / અનુસરણો)'; + + @override + String get quizDoctorVisitOccasional => 'ક્યારેક, જ્યારે કંઈક ખોટું હોય છે'; + + @override + String get quizDoctorVisitRare => 'ક્યારેક, માત્ર જરૂર પડે ત્યારે'; + + @override + String get quizDoctorVisitAvoid => 'ડોક્ટર પાસે જવાનું ટાળો'; + + @override + String get quizDoctorVisitNever => 'હું ક્યારેય ડોક્ટર પાસે નથી ગયો'; + + @override + String get quizStepLabel3 => 'કદમ 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'આજ સુધીમાં, આરોગ્યસંભાળ સાથે તમારું સૌથી મોટું પડકાર શું રહ્યું છે?'; + + @override + String get quizMultiSelectHint => 'તમે જેટલા ઇચ્છો તેટલા પસંદ કરો'; + + @override + String get quizChallengeLongWait => + 'નિર્ધારણ માટે લાંબા સમય સુધી રાહ જોવી પડશે'; + + @override + String get quizChallengeRushedVisits => 'મુલાકાતો જલદીમાં લાગે છે'; + + @override + String get quizChallengeCost => 'ઉંચા ખર્ચ અથવા અસ્પષ્ટ કિંમતો'; + + @override + String get quizChallengeHardExplain => 'સૌને સ્પષ્ટ રીતે સમજાવવું મુશ્કેલ છે'; + + @override + String get quizChallengeConflictingAdvice => 'વિરોધાભાસી મત અથવા સલાહ'; + + @override + String get quizChallengeNone => 'કોઈ મોટા મુદ્દા નથી'; + + @override + String get quizStepLabel4 => 'કદમ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'ડોક્ટર ની મુલાકાત પછી, તમે જે કહેવામાં આવ્યું છે તે વિશે તમે કેટલા આત્મવિશ્વાસી છો?'; + + @override + String get quizConfidenceNoRightAnswer => 'કોઈ સાચો કે ખોટો જવાબ નથી.'; + + @override + String get quizConfidenceVeryClear => 'ઘટનાની સંપૂર્ણ સમજણ છે'; + + @override + String get quizConfidenceSomewhatClear => 'થોડું સ્પષ્ટ'; + + @override + String get quizConfidenceStillUncertain => 'હજી પણ અનિશ્ચિત'; + + @override + String get quizConfidenceMoreConfused => 'પહેલાની તુલનામાં વધુ ગૂંચવણમાં'; + + @override + String get captionDiagnosisVsChange => + 'ઘણાં લોકો નિદાન પછી નહીં પરંતુ જ્યારે લક્ષણો સમય સાથે બદલાય છે ત્યારે મુશ્કેલીઓનો સામનો કરે છે'; + + @override + String get quizStepLabel5 => 'કદમ 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'તમે કેવી રીતે અનુભવો છો કે તમારી ચિંતાઓ સામાન્ય રીતે કેવી રીતે ઉકેલવામાં આવે છે?'; + + @override + String get quizConcernsAddressedSubtitle => 'તમારા વ્યકિતગત ભાવનાઓના આધારે'; + + @override + String get quizConcernsVeryWell => 'ખૂબ સારું'; + + @override + String get quizConcernsFairlyWell => 'ખૂબ જ સારું'; + + @override + String get quizConcernsNotVeryWell => 'ખૂબ જ સારું નથી'; + + @override + String get quizConcernsVaries => 'ખૂબ જ બદલાય છે'; + + @override + String get quizStepLabel6 => 'કદમ 6/6'; + + @override + String get quizSelfResearchTitle => + 'ડોક્ટર પાસે જવા પહેલા, શું તમે સામાન્ય રીતે લક્ષણોને પોતે સમજવાનો પ્રયાસ કરો છો?'; + + @override + String get quizSelfResearchYes => + 'હા, હું સંશોધન અને વસ્તુઓને ટ્રેક કરું છું'; + + @override + String get quizSelfResearchSometimes => 'ક્યારેક'; + + @override + String get quizSelfResearchRarely => 'ક્યારેક'; + + @override + String get quizSelfResearchNo => + 'ના, હું સંપૂર્ણપણે વ્યાવસાયિકો પર આધાર રાખું છું'; + + @override + String get captionAvailabilityTitle => + 'આરોગ્યના પ્રશ્નો કચેરીના કલાકો નું પાલન નથી કરતા.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 24/7 ઉપલબ્ધ છે。'; + + @override + String get captionAvailabilityDescription => + 'સ્પષ્ટતા આગામી નિમણૂક માટે રાહ જોવી જોઈએ નહીં.'; + + @override + String get notificationTitle => + 'શું તમે ઇચ્છો છો કે અમે તમારા આરોગ્ય લક્ષણો પર નજર રાખીએ?'; + + @override + String get notificationDescription => + 'એઆઈ તમારા લક્ષણો પર નજર રાખી શકે છે અને જો કંઈક ધ્યાન આપવાની જરૂર હોય તો તમને સૂચિત કરી શકે છે'; + + @override + String get notificationYes => 'હા — મારી આરોગ્ય પર નજર રાખો'; + + @override + String get notificationOnlyImportant => + 'હા — માત્ર ત્યારે જ જ્યારે કંઈ મહત્વપૂર્ણ બદલાય'; + + @override + String get notificationNo => 'હજી નક્કી નથી'; + + @override + String get referralSourceTitle => + 'શું તમે ડોક્ટરથી ડોક્ટરિના વિશે સાંભળ્યું છે?'; + + @override + String get referralSourceYes => 'હા'; + + @override + String get referralSourceNo => 'નહીં'; + + @override + String get processingSectionLabel => + 'તમારા પરિણામોનું વિશ્લેષણ કરી રહ્યા છીએ'; + + @override + String get processingTitle => 'તમારા અનુભવને વ્યક્તિગત બનાવવું'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => 'અનંત અનુભવ Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'તમારો સહાયક જે હંમેશા નજીક છે'; + + @override + String get paywallEnableTrialToggle => + 'હજી નક્કી નથી? મફત ટ્રાયલ સક્રિય કરો.'; + + @override + String get paywallPlanYear => 'વાર્ષિક'; + + @override + String get paywallPlanMonthly => 'માસિક'; + + @override + String get paywallPlanWeek => 'સાપ્તાહિક'; + + @override + String get paywallPlanDaily => 'દૈનિક'; + + @override + String get paywallPlanYearPrice => '\$39.99 (માત્ર \$3.34/સપ્તાહ)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'સેવ 58%'; + + @override + String get paywallContinueBtn => 'ચાલુ રાખો'; + + @override + String get paywallStartTrialBtn => 'મફત ટ્રાયલ શરૂ કરો'; + + @override + String get paywallSubscriptionDisclaimer => + 'સબ્સ્ક્રિપ્શન આપોઆપ નવીનીકરણ થાય છે. ક્યારે પણ રદ કરો'; + + @override + String get paywallTermsPrivacy => + 'સેવા શરતો | ગોપનીયતા નીતિ'; + + @override + String get paywallPerWeek => 'સપ્તાહ'; + + @override + String get processingLabel => 'તમારા પરિણામોનું વિશ્લેષણ કરી રહ્યા છીએ'; + + @override + String get paywallCloseTooltip => 'ઓનબોર્ડિંગ બંધ કરો'; + + @override + String get paywallRestoreTooltip => 'ખરીદો પુનઃસ્થાપિત કરો'; + + @override + String get paywallRestoreBtn => 'પુનઃપ્રાપ્ત કરો'; + + @override + String get paywallRestoreNoneFound => + 'પુનઃસ્થાપિત કરવા માટે કોઈ સક્રિય સબ્સ્ક્રિપ્શન મળ્યું નથી.'; + + @override + String get paywallRestoreError => + 'ખરીદીઓ પુનઃસ્થાપિત કરવામાં નિષ્ફળ. કૃપા કરીને પછીથી ફરી પ્રયાસ કરો.'; + + @override + String get paywallPurchaseError => + 'ખરીદી પૂર્ણ કરવામાં નિષ્ફળ. કૃપા કરીને પછીથી ફરી પ્રયાસ કરો.'; + + @override + String get paywallTrialStep1Title => 'આજે: તાત્કાલિક પ્રવેશ મેળવો'; + + @override + String get paywallTrialStep1Description => + 'પૂર્ણ ઍક્સેસ અનલોક કરો, ક્યારે પણ AI આરોગ્ય જવાબ મેળવો.'; + + @override + String get paywallTrialStep2Title => 'દિવસ 2: ટ્રાયલ યાદદાશ્ત'; + + @override + String get paywallTrialStep2Description => + 'અમે તમને યાદ અપાવીશું કે તમારો ટ્રાયલ સમાપ્ત થવા જઈ રહ્યો છે'; + + @override + String get paywallTrialStep3Title => 'દિવસ 3: નવીનીકરણ'; + + @override + String paywallTrialStep3Description(String date) { + return 'તમે $date ના રોજ ચાર્જ કરવામાં આવશે, ક્યારેય પણ રદ કરી શકો છો.'; + } + + @override + String get paywallBenefitsHeader => 'શું સામેલ છે'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'ખાનગી અને સુરક્ષિત'; + + @override + String get paywallBenefitAiAssistant => 'એઆઈ સહાયક, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'તાત્કાલિક આરોગ્યના જવાબ'; + + @override + String get paywallBenefitScienceInsights => 'સ્પષ્ટ, વૈજ્ઞાનિક આધારિત માહિતી'; + + @override + String get paywallBenefitAutoSummaries => 'આટો સંવાદ સારાંશ'; + + @override + String get paywallBenefitAnyLanguage => 'કોઈ ભાષા, ક્યારે પણ'; + + @override + String get paywallPriceUnitPerWeek => 'પ્રતિ અઠવાડિયે'; + + @override + String get paywallOfferTitle => 'એક વખતનો ઓફર'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% છૂટ'; + } + + @override + String get paywallOfferForeverBadge => 'સદાય'; + + @override + String get paywallOfferDisclaimer => + 'જ્યારે તમે તમારું એકવારનું ઓફર બંધ કરો છો, ત્યારે તે જવા પામે છે!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/મહિનો'; + } + + @override + String get paywallOfferLowestPriceBadge => 'સૌથી નીચી કિંમત ક્યારેય'; + + @override + String get paywallOfferCancelAnytime => 'ક્યારે પણ રદ કરો'; + + @override + String get paywallOfferClaimButton => 'તમારો ઓફર દાવો'; + + @override + String get paywallOfferAutoRenewable => 'ઓટો-નવિકરણ સબ્સ્ક્રિપ્શન'; + + @override + String get paywallGiftBoxTitle => 'વિશેષ ભેટ અંદર'; + + @override + String get paywallGiftBoxSubtitle => 'એક ટૅપથી તમારું વિશેષ ઑફર પ્રગટ કરો'; + + @override + String get paywallGiftBoxOpenButton => 'હવે ખોલો'; + + @override + String get paywallRetryLoadPricesError => + 'સબ્સ્ક્રિપ્શન વિકલ્પો લોડ કરવામાં નિષ્ફળ. કૃપા કરીને પછીથી ફરી પ્રયાસ કરો.'; + + @override + String get paywallPricesUnavailableTitle => + 'સબ્સ્ક્રિપ્શન કિંમતો લોડ કરી શક્યા નથી'; + + @override + String get paywallPricesUnavailableMessage => + 'તમારો કનેક્શન ચકાસો અને ફરી પ્રયાસ કરો.'; + + @override + String get paywallPricesUnavailableRetryButton => 'ફરી પ્રયાસ કરો'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_he.dart b/example/lib/src/generated/onboarding/onboarding_localization_he.dart new file mode 100644 index 0000000..7bb0625 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_he.dart @@ -0,0 +1,472 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hebrew (`he`). +class OnboardingLocalizationHe extends OnboardingLocalization { + OnboardingLocalizationHe([String locale = 'he']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'אסיסטנט בריאות מתקדם מבוסס בינה מלאכותית'; + + @override + String get welcomeScreenTitle => 'ברוך הבא לדוקטורינה!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'מיועד לנתח תסמינים כמו קלינאים מנוסים — על ידי הבנת דפוסים, זמני הופעה והקשר.'; + + @override + String get getStartedBtn => 'התחל'; + + @override + String get alreadyHaveAccount => 'כבר יש לך חשבון? התחבר'; + + @override + String get termsConsent => 'בהמשך, אתה מסכים ל'; + + @override + String get personalizationInterruptionTitle => + 'בואו נתאים את Doctorina בשבילכם'; + + @override + String get personalizationSectionLabel => 'התאמה אישית'; + + @override + String get personalizationReasonTitle => 'מה הביא אותך לכאן היום?'; + + @override + String get personalizationReasonSymptomsNow => 'אני חווה תסמינים עכשיו'; + + @override + String get personalizationReasonUnderstandChange => + 'אני רוצה להבין שינוי בריאותי'; + + @override + String get personalizationReasonRuleOutSerious => 'אני רוצה לשלול משהו רציני'; + + @override + String get personalizationReasonMonitoring => + 'אני עוקב אחרי הבריאות שלי באופן פרואקטיבי'; + + @override + String get continueBtn => 'המשך'; + + @override + String get captionEmpathyText => + 'כשמשהו משתנה בבריאות שלך, לדעת מה חשוב זה הכי קשה.'; + + @override + String get captionDifferentiatorText => + 'דוקטורינה מתמקדת בדפוסי תסמינים ובזמנים — אותן אותות שהקלינאים מחפשים בשלב מוקדם.'; + + @override + String get genderTitle => 'בחר את המגדר שלך'; + + @override + String get genderSubtitle => + 'זה עוזר לנו לפרש תסמינים ולתת המלצות בצורה מדויקת יותר.'; + + @override + String get genderMale => 'זכר'; + + @override + String get genderFemale => 'נקבה'; + + @override + String get genderPreferNotSay => 'מעדיף לא לומר'; + + @override + String get ageTitle => 'מה גילך?'; + + @override + String get ageSubtitle => + 'גיל עוזר לנו להעריך דפוסי בריאות בצורה מדויקת יותר.'; + + @override + String get socialProofLargeTitle => + 'יותר מ-48 אלף אנשים\nבחרו בדוקטורינה'; + + @override + String get socialProofDisclaimer => + '*מבוסס על סטטיסטיקות בסיס המשתמשים של Doctorina'; + + @override + String get developedByDoctors => 'פותח על ידי\nרופאים'; + + @override + String get quizStepLabel1 => 'שלב 1/6'; + + @override + String get quizHealthSituationTitle => + 'איך היית מתאר את מצב הבריאות הנוכחי שלך?'; + + @override + String get quizHealthHealthy => 'אני בדרך כלל מרגיש בריא'; + + @override + String get quizHealthMinorConcerns => 'יש לי דאגות קלות מתמשכות'; + + @override + String get quizHealthKnownCondition => 'אני מנהל מצב ידוע'; + + @override + String get quizHealthUnresolved => 'אני מתמודד עם משהו לא פתור'; + + @override + String get quizStepLabel2 => 'שלב 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'כמה פעמים אתה בדרך כלל רואה רופא?'; + + @override + String get quizDoctorVisitRegular => 'ביקורים קבועים (בדיקות / מעקבים)'; + + @override + String get quizDoctorVisitOccasional => 'לעיתים, כשמשהו לא בסדר'; + + @override + String get quizDoctorVisitRare => 'לעיתים רחוקות, רק אם יש צורך'; + + @override + String get quizDoctorVisitAvoid => 'מעדיפים לא לבקר אצל רופאים'; + + @override + String get quizDoctorVisitNever => 'מעולם לא ביקרתי אצל רופא'; + + @override + String get quizStepLabel3 => 'שלב 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'מה היה האתגר הגדול ביותר שלך עם מערכת הבריאות עד כה?'; + + @override + String get quizMultiSelectHint => 'בחר כמה שתרצה'; + + @override + String get quizChallengeLongWait => 'זמני המתנה ארוכים לפגישות'; + + @override + String get quizChallengeRushedVisits => 'הביקורים מרגישים מיהרים'; + + @override + String get quizChallengeCost => 'עלות גבוהה או תמחור לא ברור'; + + @override + String get quizChallengeHardExplain => 'קשה להסביר הכל בבירור'; + + @override + String get quizChallengeConflictingAdvice => 'דעות או עצות סותרות'; + + @override + String get quizChallengeNone => 'אין בעיות משמעותיות'; + + @override + String get quizStepLabel4 => 'שלב 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'אחרי הפגישות, עד כמה אתה בטוח במה שנאמר לך?'; + + @override + String get quizConfidenceNoRightAnswer => 'אין תשובה נכונה או לא נכונה.'; + + @override + String get quizConfidenceVeryClear => 'ברור מאוד מה קורה'; + + @override + String get quizConfidenceSomewhatClear => 'מובן במידה מסוימת'; + + @override + String get quizConfidenceStillUncertain => 'עדיין לא בטוח'; + + @override + String get quizConfidenceMoreConfused => 'יותר מבולבל מבעבר'; + + @override + String get captionDiagnosisVsChange => + 'רבים מתמודדים לא מיד לאחר האבחון אלא כאשר הסימפטומים משתנים עם הזמן.'; + + @override + String get quizStepLabel5 => 'שלב 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'עד כמה אתה מרגיש שהדאגות שלך מטופלות בדרך כלל?'; + + @override + String get quizConcernsAddressedSubtitle => + 'בהתבסס על התחושות הסובייקטיביות שלך'; + + @override + String get quizConcernsVeryWell => 'מאוד טוב'; + + @override + String get quizConcernsFairlyWell => 'די טוב'; + + @override + String get quizConcernsNotVeryWell => 'לא כל כך טוב'; + + @override + String get quizConcernsVaries => 'זה משתנה הרבה'; + + @override + String get quizStepLabel6 => 'שלב 6/6'; + + @override + String get quizSelfResearchTitle => + 'לפני שאתה רואה רופא, האם אתה בדרך כלל מנסה להבין את הסימפטומים בעצמך?'; + + @override + String get quizSelfResearchYes => 'כן, אני חוקר ועוקב אחרי דברים'; + + @override + String get quizSelfResearchSometimes => 'לפעמים'; + + @override + String get quizSelfResearchRarely => 'לעיתים נדירות'; + + @override + String get quizSelfResearchNo => 'לא, אני סומך לחלוטין על מקצוענים'; + + @override + String get captionAvailabilityTitle => + 'שאלות בריאות לא עוקבות אחרי שעות קבלה.'; + + @override + String get captionAvailabilitySupport => + 'דוקטורינה זמינה 24/7.'; + + @override + String get captionAvailabilityDescription => + 'בהירות לא צריכה לחכות לפגישה הבאה'; + + @override + String get notificationTitle => 'האם אתה רוצה שנבדוק את תסמיני הבריאות שלך?'; + + @override + String get notificationDescription => + 'ה-AI יכול לעקוב אחרי הסימפטומים שלך ולהתריע אם משהו עשוי לדרוש תשומת לב'; + + @override + String get notificationYes => 'כן — לשמור על הבריאות שלי'; + + @override + String get notificationOnlyImportant => 'כן — רק אם משהו חשוב משתנה'; + + @override + String get notificationNo => 'לא בטוח עדיין'; + + @override + String get referralSourceTitle => 'האם שמעת על דוקטורינה מרופא?'; + + @override + String get referralSourceYes => 'כן'; + + @override + String get referralSourceNo => 'לא'; + + @override + String get processingSectionLabel => 'מְעַבֵּד אֶת תּוֹצָאוֹתֶיךָ'; + + @override + String get processingTitle => 'מתאימים את החוויה שלך'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'חווייה בלתי מוגבלת עם Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'הASSISTANT שלך שתמיד קרוב'; + + @override + String get paywallEnableTrialToggle => 'לא בטוח עדיין? הפעל ניסיון חינם.'; + + @override + String get paywallPlanYear => 'שנתי'; + + @override + String get paywallPlanMonthly => 'חודשי'; + + @override + String get paywallPlanWeek => 'שבועי'; + + @override + String get paywallPlanDaily => 'יומי'; + + @override + String get paywallPlanYearPrice => '39.99\$ (רק 3.34\$/שבוע)'; + + @override + String get paywallPlanWeekPrice => '3.99\$'; + + @override + String get paywallSaveBadge => 'חסוך 58%'; + + @override + String get paywallContinueBtn => 'המשך'; + + @override + String get paywallStartTrialBtn => 'התחל ניסיון חינם'; + + @override + String get paywallSubscriptionDisclaimer => + 'המנוי מתחדש אוטומטית. ניתן לבטל בכל עת'; + + @override + String get paywallTermsPrivacy => + 'תנאי שירות | מדיניות פרטיות'; + + @override + String get paywallPerWeek => 'שבוע'; + + @override + String get processingLabel => 'מנתחים את התוצאות שלך'; + + @override + String get paywallCloseTooltip => 'סגור הכוונה'; + + @override + String get paywallRestoreTooltip => 'שחזר רכישות'; + + @override + String get paywallRestoreBtn => 'שחזר'; + + @override + String get paywallRestoreNoneFound => 'לא נמצאה מנוי פעיל לשחזור.'; + + @override + String get paywallRestoreError => + 'נכשל בשחזור רכישות. אנא נסה שוב מאוחר יותר.'; + + @override + String get paywallPurchaseError => + 'נכשל בהשלמת הרכישה. אנא נסה שוב מאוחר יותר.'; + + @override + String get paywallTrialStep1Title => 'היום: קבל גישה מיידית'; + + @override + String get paywallTrialStep1Description => + 'פתח גישה מלאה, קבל תשובות בריאות מ-AI, בכל עת.'; + + @override + String get paywallTrialStep2Title => 'יום 2: תזכורת לניסוי'; + + @override + String get paywallTrialStep2Description => + 'נשלח לך תזכורת שהניסיון שלך עומד להסתיים'; + + @override + String get paywallTrialStep3Title => 'יום 3: חידוש'; + + @override + String paywallTrialStep3Description(String date) { + return 'תחויבו ב-$date, ניתן לבטל בכל עת לפני.'; + } + + @override + String get paywallBenefitsHeader => 'מה כלול'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'פרטי ובטוח'; + + @override + String get paywallBenefitAiAssistant => 'עוזר בינה מלאכותית, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'תשובות בריאות מיידיות'; + + @override + String get paywallBenefitScienceInsights => 'תובנות ברורות מבוססות מדע'; + + @override + String get paywallBenefitAutoSummaries => 'סיכומי שיחות אוטומטיים'; + + @override + String get paywallBenefitAnyLanguage => 'כל שפה, בכל זמן'; + + @override + String get paywallPriceUnitPerWeek => 'לשבוע'; + + @override + String get paywallOfferTitle => 'הצעה חד פעמית'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% הנחה'; + } + + @override + String get paywallOfferForeverBadge => 'לְעוֹלָם'; + + @override + String get paywallOfferDisclaimer => + 'ברגע שתסגור את ההצעה החד-פעמית שלך, היא תיעלם!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/חודש'; + } + + @override + String get paywallOfferLowestPriceBadge => 'המחיר הנמוך ביותר אי פעם'; + + @override + String get paywallOfferCancelAnytime => 'לבטל בכל עת'; + + @override + String get paywallOfferClaimButton => 'דרוש את ההצעה שלך'; + + @override + String get paywallOfferAutoRenewable => 'מנוי מתחדש אוטומטית'; + + @override + String get paywallGiftBoxTitle => 'מתנה מיוחדת בפנים'; + + @override + String get paywallGiftBoxSubtitle => + 'הקשה אחת כדי לחשוף את ההצעה המיוחדת שלך'; + + @override + String get paywallGiftBoxOpenButton => 'פתח עכשיו'; + + @override + String get paywallRetryLoadPricesError => + 'נכשל לטעון אפשרויות מנוי. אנא נסה שוב מאוחר יותר.'; + + @override + String get paywallPricesUnavailableTitle => 'לא ניתן לטעון את מחירי המנויים'; + + @override + String get paywallPricesUnavailableMessage => 'בדוק את החיבור שלך ונסה שוב.'; + + @override + String get paywallPricesUnavailableRetryButton => 'נסה שוב'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_hi.dart b/example/lib/src/generated/onboarding/onboarding_localization_hi.dart new file mode 100644 index 0000000..396cd83 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_hi.dart @@ -0,0 +1,490 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hindi (`hi`). +class OnboardingLocalizationHi extends OnboardingLocalization { + OnboardingLocalizationHi([String locale = 'hi']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'उन्नत एआई स्वास्थ्य सहायक'; + + @override + String get welcomeScreenTitle => 'डॉक्टरीना में आपका स्वागत है!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'अनुभवी चिकित्सकों की तरह लक्षणों का विश्लेषण करने के लिए डिज़ाइन किया गया है - पैटर्न, समय और संदर्भ को समझकर।'; + + @override + String get getStartedBtn => 'शुरू करें'; + + @override + String get alreadyHaveAccount => + 'क्या आपके पास पहले से एक खाता है? लॉग इन करें'; + + @override + String get termsConsent => + 'जारी रखने पर, आप हमारी सहमति देते हैं\nसेवा की शर्तें | गोपनीयता नीति'; + + @override + String get personalizationInterruptionTitle => + 'आइए Doctorina को आपके लिए व्यक्तिगत बनाते हैं'; + + @override + String get personalizationSectionLabel => 'व्यक्तिगतकरण'; + + @override + String get personalizationReasonTitle => 'आप आज यहाँ क्यों आए हैं?'; + + @override + String get personalizationReasonSymptomsNow => + 'मैं अभी लक्षण अनुभव कर रहा हूँ'; + + @override + String get personalizationReasonUnderstandChange => + 'मैं स्वास्थ्य परिवर्तन को समझना चाहता हूँ'; + + @override + String get personalizationReasonRuleOutSerious => + 'मैं कुछ गंभीर को खत्म करना चाहता हूँ'; + + @override + String get personalizationReasonMonitoring => + 'मैं अपनी सेहत की सक्रिय रूप से निगरानी कर रहा हूँ'; + + @override + String get continueBtn => 'जारी रखें'; + + @override + String get captionEmpathyText => + 'जब आपकी सेहत में कुछ बदलता है, तो यह जानना सबसे कठिन होता है कि क्या महत्वपूर्ण है।'; + + @override + String get captionDifferentiatorText => + 'Doctorina लक्षणों के पैटर्न और समय पर ध्यान केंद्रित करती है — वही संकेत जो चिकित्सक शुरू में देखते हैं।'; + + @override + String get genderTitle => 'अपना लिंग चुनें'; + + @override + String get genderSubtitle => + 'यह हमें लक्षणों की व्याख्या करने और सिफारिशें अधिक सटीकता से देने में मदद करता है.'; + + @override + String get genderMale => 'पुरुष'; + + @override + String get genderFemale => 'महिला'; + + @override + String get genderPreferNotSay => 'कहना पसंद नहीं'; + + @override + String get ageTitle => 'आपकी उम्र क्या है?'; + + @override + String get ageSubtitle => + 'उम्र हमें स्वास्थ्य पैटर्न का अधिक सटीक मूल्यांकन करने में मदद करती है।'; + + @override + String get socialProofLargeTitle => + '48k+ से अधिक लोग\nने Doctorina को चुना'; + + @override + String get socialProofDisclaimer => + '*डॉक्टरीना उपयोगकर्ता आधार सांख्यिकी पर आधारित'; + + @override + String get developedByDoctors => 'डॉक्टरों द्वारा विकसित\nडॉक्टरों'; + + @override + String get quizStepLabel1 => 'चरण 1/6'; + + @override + String get quizHealthSituationTitle => + 'आप अपनी वर्तमान स्वास्थ्य स्थिति का वर्णन कैसे करेंगे?'; + + @override + String get quizHealthHealthy => 'मैं आमतौर पर स्वस्थ महसूस करता हूँ'; + + @override + String get quizHealthMinorConcerns => 'मेरी कुछ छोटी-छोटी चिंताएँ हैं'; + + @override + String get quizHealthKnownCondition => + 'मैं एक ज्ञात स्थिति का प्रबंधन कर रहा हूँ'; + + @override + String get quizHealthUnresolved => 'मैं किसी अनसुलझे मामले से निपट रहा हूँ'; + + @override + String get quizStepLabel2 => 'चरण 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'आप आमतौर पर डॉक्टर से कितनी बार मिलते हैं?'; + + @override + String get quizDoctorVisitRegular => 'नियमित रूप से (चेकअप / फॉलो-अप)'; + + @override + String get quizDoctorVisitOccasional => 'कभी-कभी, जब कुछ गलत होता है'; + + @override + String get quizDoctorVisitRare => 'कभी-कभी, केवल यदि आवश्यक हो'; + + @override + String get quizDoctorVisitAvoid => 'डॉक्टरों के पास जाने से बचें'; + + @override + String get quizDoctorVisitNever => 'मैं कभी डॉक्टर के पास नहीं गया'; + + @override + String get quizStepLabel3 => 'चरण 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'अब तक स्वास्थ्य सेवा के साथ आपकी सबसे बड़ी चुनौती क्या रही है?'; + + @override + String get quizMultiSelectHint => 'जितने चाहें उतने चुनें'; + + @override + String get quizChallengeLongWait => 'नियुक्तियों के लिए लंबी प्रतीक्षा समय'; + + @override + String get quizChallengeRushedVisits => 'भेंटें जल्दी लगती हैं'; + + @override + String get quizChallengeCost => 'उच्च लागत या अस्पष्ट मूल्य निर्धारण'; + + @override + String get quizChallengeHardExplain => 'सब कुछ स्पष्ट रूप से समझाना कठिन है'; + + @override + String get quizChallengeConflictingAdvice => 'विरोधाभासी राय या सलाह'; + + @override + String get quizChallengeNone => 'कोई प्रमुख समस्या नहीं'; + + @override + String get quizStepLabel4 => 'चरण 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'अपॉइंटमेंट के बाद, आपको जो बताया गया है, उसके बारे में आप कितने आत्मविश्वासी हैं?'; + + @override + String get quizConfidenceNoRightAnswer => + 'यहाँ कोई सही या गलत उत्तर नहीं है।'; + + @override + String get quizConfidenceVeryClear => + 'जो हो रहा है उसके बारे में बहुत स्पष्ट'; + + @override + String get quizConfidenceSomewhatClear => 'कुछ हद तक स्पष्ट'; + + @override + String get quizConfidenceStillUncertain => 'अभी भी अनिश्चित'; + + @override + String get quizConfidenceMoreConfused => 'पहले से अधिक भ्रमित'; + + @override + String get captionDiagnosisVsChange => + 'कई लोग निदान के बाद नहीं बल्कि समय के साथ लक्षण बदलने पर संघर्ष करते हैं'; + + @override + String get quizStepLabel5 => 'चरण 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'आपको कैसा लगता है कि आपकी चिंताओं को आमतौर पर कितना संबोधित किया जाता है?'; + + @override + String get quizConcernsAddressedSubtitle => + 'आपकी व्यक्तिगत भावनाओं के आधार पर'; + + @override + String get quizConcernsVeryWell => 'बहुत अच्छा'; + + @override + String get quizConcernsFairlyWell => 'काफी अच्छा'; + + @override + String get quizConcernsNotVeryWell => 'बहुत अच्छा नहीं'; + + @override + String get quizConcernsVaries => 'यह बहुत भिन्न होता है'; + + @override + String get quizStepLabel6 => 'चरण 6/6'; + + @override + String get quizSelfResearchTitle => + 'डॉक्टर से मिलने से पहले, क्या आप आमतौर पर लक्षणों को खुद समझने की कोशिश करते हैं?'; + + @override + String get quizSelfResearchYes => + 'हाँ, मैं चीज़ों की खोजबीन और ट्रैकिंग करता हूँ'; + + @override + String get quizSelfResearchSometimes => 'कभी-कभी'; + + @override + String get quizSelfResearchRarely => 'कभी-कभी'; + + @override + String get quizSelfResearchNo => + 'नहीं, मैं पूरी तरह से पेशेवरों पर निर्भर हूं'; + + @override + String get captionAvailabilityTitle => + 'स्वास्थ्य संबंधी प्रश्न कार्यालय के समय का पालन नहीं करते हैं।'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 24/7 उपलब्ध है।'; + + @override + String get captionAvailabilityDescription => + 'स्पष्टता को अगली अपॉइंटमेंट का इंतज़ार नहीं करना चाहिए।'; + + @override + String get notificationTitle => + 'क्या आप चाहते हैं कि हम आपके स्वास्थ्य लक्षणों की जांच करें?'; + + @override + String get notificationDescription => + 'AI आपके लक्षणों की निगरानी कर सकता है और आपको सूचित कर सकता है यदि कुछ ध्यान देने की आवश्यकता हो'; + + @override + String get notificationYes => 'हाँ — मेरी सेहत पर नज़र रखें'; + + @override + String get notificationOnlyImportant => + 'हाँ — केवल यदि कुछ महत्वपूर्ण बदलता है'; + + @override + String get notificationNo => 'अभी निश्चित नहीं'; + + @override + String get referralSourceTitle => + 'क्या आपने डॉक्टर से डॉक्टरिना के बारे में सुना?'; + + @override + String get referralSourceYes => 'हाँ'; + + @override + String get referralSourceNo => 'नहीं'; + + @override + String get processingSectionLabel => + 'आपके परिणामों का विश्लेषण किया जा रहा है'; + + @override + String get processingTitle => 'आपके अनुभव को व्यक्तिगत बनाना'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Doctorina Pro के साथ असीमित अनुभव'; + + @override + String get paywallAssistantTagline => 'आपका सहायक जो हमेशा पास है'; + + @override + String get paywallEnableTrialToggle => + 'अभी भी सुनिश्चित नहीं हैं? मुफ्त परीक्षण सक्षम करें।'; + + @override + String get paywallPlanYear => 'वार्षिक'; + + @override + String get paywallPlanMonthly => 'मासिक'; + + @override + String get paywallPlanWeek => 'साप्ताहिक'; + + @override + String get paywallPlanDaily => 'दैनिक'; + + @override + String get paywallPlanYearPrice => '\$39.99 (केवल \$3.34/सप्ताह)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => '58% बचाएं'; + + @override + String get paywallContinueBtn => 'जारी रखें'; + + @override + String get paywallStartTrialBtn => 'नि:शुल्क परीक्षण प्रारंभ करें'; + + @override + String get paywallSubscriptionDisclaimer => + 'सदस्यता स्वचालित रूप से नवीनीकरण योग्य है। कभी भी रद्द करें'; + + @override + String get paywallTermsPrivacy => + 'सेवा की शर्तें | गोपनीयता नीति'; + + @override + String get paywallPerWeek => 'सप्ताह'; + + @override + String get processingLabel => 'आपके परिणामों का विश्लेषण कर रहे हैं'; + + @override + String get paywallCloseTooltip => 'ऑनबोर्डिंग बंद करें'; + + @override + String get paywallRestoreTooltip => 'खरीदें पुनर्स्थापित करें'; + + @override + String get paywallRestoreBtn => 'पुनर्स्थापित करें'; + + @override + String get paywallRestoreNoneFound => + 'पुनर्स्थापित करने के लिए कोई सक्रिय सदस्यता नहीं मिली।'; + + @override + String get paywallRestoreError => + 'खरीदारी को पुनर्स्थापित करने में विफल। कृपया बाद में फिर से प्रयास करें।'; + + @override + String get paywallPurchaseError => + 'खरीदारी पूरी करने में विफल। कृपया बाद में फिर से प्रयास करें।'; + + @override + String get paywallTrialStep1Title => 'आज: तात्कालिक पहुँच प्राप्त करें'; + + @override + String get paywallTrialStep1Description => + 'पूर्ण पहुँच अनलॉक करें, किसी भी समय AI स्वास्थ्य उत्तर प्राप्त करें।'; + + @override + String get paywallTrialStep2Title => 'दिन 2: ट्रायल अनुस्मारक'; + + @override + String get paywallTrialStep2Description => + 'हम आपको याद दिलाएंगे कि आपका ट्रायल समाप्त होने वाला है'; + + @override + String get paywallTrialStep3Title => 'दिन 3: नवीनीकरण'; + + @override + String paywallTrialStep3Description(String date) { + return 'आपको $date को चार्ज किया जाएगा, किसी भी समय रद्द करें।'; + } + + @override + String get paywallBenefitsHeader => 'क्या शामिल है'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'निजी और सुरक्षित'; + + @override + String get paywallBenefitAiAssistant => 'AI सहायक, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'तत्काल स्वास्थ्य उत्तर'; + + @override + String get paywallBenefitScienceInsights => + 'स्पष्ट, विज्ञान-आधारित अंतर्दृष्टि'; + + @override + String get paywallBenefitAutoSummaries => 'स्वचालित बातचीत सारांश'; + + @override + String get paywallBenefitAnyLanguage => 'किसी भी भाषा, कभी भी'; + + @override + String get paywallPriceUnitPerWeek => 'प्रति सप्ताह'; + + @override + String get paywallOfferTitle => 'एक बार का ऑफर'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% छूट'; + } + + @override + String get paywallOfferForeverBadge => 'सदा'; + + @override + String get paywallOfferDisclaimer => + 'एक बार जब आप अपनी एक बार की पेशकश बंद कर देते हैं, तो यह चली जाती है!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/महीना'; + } + + @override + String get paywallOfferLowestPriceBadge => 'सर्वकालिक सबसे कम कीमत'; + + @override + String get paywallOfferCancelAnytime => 'कभी भी रद्द करें'; + + @override + String get paywallOfferClaimButton => 'अपने ऑफ़र का दावा करें'; + + @override + String get paywallOfferAutoRenewable => 'स्वचालित नवीनीकरण सदस्यता'; + + @override + String get paywallGiftBoxTitle => 'विशेष उपहार अंदर'; + + @override + String get paywallGiftBoxSubtitle => + 'एक टैप करें अपने विशेष ऑफ़र को प्रकट करने के लिए'; + + @override + String get paywallGiftBoxOpenButton => 'अब खोलें'; + + @override + String get paywallRetryLoadPricesError => + 'सदस्यता विकल्प लोड करने में विफल। कृपया बाद में फिर से प्रयास करें।'; + + @override + String get paywallPricesUnavailableTitle => + 'सदस्यता की कीमतें लोड नहीं कर सके'; + + @override + String get paywallPricesUnavailableMessage => + 'अपने कनेक्शन की जांच करें और फिर से प्रयास करें'; + + @override + String get paywallPricesUnavailableRetryButton => 'फिर से प्रयास करें'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_hu.dart b/example/lib/src/generated/onboarding/onboarding_localization_hu.dart new file mode 100644 index 0000000..06e2cfc --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_hu.dart @@ -0,0 +1,490 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hungarian (`hu`). +class OnboardingLocalizationHu extends OnboardingLocalization { + OnboardingLocalizationHu([String locale = 'hu']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'FEJLETT AI EGÉSZSÉGÜGYI ASSZISZTENS'; + + @override + String get welcomeScreenTitle => 'Üdvözöljük a Doctorinában!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'A tünetek elemzésére úgy tervezték, ahogy a tapasztalt klinikusok teszik — a minták, az időzítés és a kontextus megértésével.'; + + @override + String get getStartedBtn => 'Kezdjük'; + + @override + String get alreadyHaveAccount => 'Már van fiókja? Bejelentkezés'; + + @override + String get termsConsent => + 'A folytatással elfogadja a\nSzolgáltatási feltételeinket | Adatvédelmi irányelveinket'; + + @override + String get personalizationInterruptionTitle => + 'Személyre szabjuk Doctorina az Ön számára'; + + @override + String get personalizationSectionLabel => 'Személyre szabás'; + + @override + String get personalizationReasonTitle => 'Mi hozott ide ma?'; + + @override + String get personalizationReasonSymptomsNow => + 'Jelenleg tüneteket tapasztalok'; + + @override + String get personalizationReasonUnderstandChange => + 'Szeretném megérteni az egészségi változást'; + + @override + String get personalizationReasonRuleOutSerious => + 'Szeretném kizárni, hogy valami komoly legyen'; + + @override + String get personalizationReasonMonitoring => + 'Proaktívan figyelem az egészségemet'; + + @override + String get continueBtn => 'Folytatás'; + + @override + String get captionEmpathyText => + 'Amikor valami megváltozik az egészségedben, a legnehezebb tudni, mi számít.'; + + @override + String get captionDifferentiatorText => + 'A Doctorina a tünetek mintáira és időzítésére összpontosít — ugyanazokra a jelekre, amelyeket az orvosok korán keresnek.'; + + @override + String get genderTitle => 'Válaszd ki a nemed'; + + @override + String get genderSubtitle => + 'Ez segít a tünetek értelmezésében és a pontosabb ajánlások megadásában.'; + + @override + String get genderMale => 'Férfi'; + + @override + String get genderFemale => 'Nő'; + + @override + String get genderPreferNotSay => 'Nem szeretném megmondani'; + + @override + String get ageTitle => 'Mi a korod?'; + + @override + String get ageSubtitle => + 'A kor segít pontosabban értékelni az egészségi mintákat.'; + + @override + String get socialProofLargeTitle => + 'Több mint 48 ezer ember\nválasztotta a Doctorinát'; + + @override + String get socialProofDisclaimer => + '*Orvosina felhasználói statisztikák alapján'; + + @override + String get developedByDoctors => + 'Orvosok által fejlesztve
Orvosok'; + + @override + String get quizStepLabel1 => 'LÉPÉS 1/6'; + + @override + String get quizHealthSituationTitle => + 'Hogyan jellemezné a jelenlegi egészségi állapotát?'; + + @override + String get quizHealthHealthy => 'Általában egészségesnek érzem magam'; + + @override + String get quizHealthMinorConcerns => 'Folyamatos kisebb aggodalmaim vannak'; + + @override + String get quizHealthKnownCondition => 'Kezelt állapotot kezelek'; + + @override + String get quizHealthUnresolved => 'Valami megoldatlan dologgal küzdök'; + + @override + String get quizStepLabel2 => '2/6. LÉPÉS'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Milyen gyakran szokott orvoshoz menni?'; + + @override + String get quizDoctorVisitRegular => + 'Rendszeresen (ellenőrzések / követések)'; + + @override + String get quizDoctorVisitOccasional => 'Időnként, amikor valami baj van'; + + @override + String get quizDoctorVisitRare => 'Ritkán, csak ha szükséges'; + + @override + String get quizDoctorVisitAvoid => 'Kerüli a orvosokat'; + + @override + String get quizDoctorVisitNever => 'Sosem jártam orvoshoz'; + + @override + String get quizStepLabel3 => '3/6. LÉPÉS'; + + @override + String get quizBiggestChallengeTitle => + 'Mi volt eddig a legnagyobb kihívásod az egészségügyben?'; + + @override + String get quizMultiSelectHint => 'Válasszon annyit, amennyit szeretne'; + + @override + String get quizChallengeLongWait => 'Hosszú várakozási idők az időpontokra'; + + @override + String get quizChallengeRushedVisits => 'A látogatások sietősnek tűnnek'; + + @override + String get quizChallengeCost => 'Magas költség vagy nem világos árak'; + + @override + String get quizChallengeHardExplain => 'Nehéz mindent világosan elmagyarázni'; + + @override + String get quizChallengeConflictingAdvice => + 'Ellentmondó vélemények vagy tanácsok'; + + @override + String get quizChallengeNone => 'Nincsenek komoly problémák'; + + @override + String get quizStepLabel4 => '4/6 LÉPÉS'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Az időpontok után mennyire érzi magát magabiztosnak az elmondottakkal kapcsolatban?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Nincs helyes vagy helytelen válasz.'; + + @override + String get quizConfidenceVeryClear => 'Nagyon világos, hogy mi történik'; + + @override + String get quizConfidenceSomewhatClear => 'Kissé világos'; + + @override + String get quizConfidenceStillUncertain => 'Még mindig bizonytalan'; + + @override + String get quizConfidenceMoreConfused => + 'Több zavarban vagyok, mint korábban'; + + @override + String get captionDiagnosisVsChange => + 'Sokan nem a diagnózis után , hanem amikor a tünetek idővel változnak, küzdenek.'; + + @override + String get quizStepLabel5 => '5/6. LÉPÉS'; + + @override + String get quizConcernsAddressedTitle => + 'Mennyire érzi, hogy a problémáit általában kezelik?'; + + @override + String get quizConcernsAddressedSubtitle => 'A szubjektív érzéseid alapján'; + + @override + String get quizConcernsVeryWell => 'Nagyon jól'; + + @override + String get quizConcernsFairlyWell => 'Eléggé jól'; + + @override + String get quizConcernsNotVeryWell => 'Nem túl jól'; + + @override + String get quizConcernsVaries => 'Nagyon változó'; + + @override + String get quizStepLabel6 => '6/6 LÉPÉS'; + + @override + String get quizSelfResearchTitle => + 'Orvoshoz menés előtt általában próbálja megérteni a tüneteket önállóan?'; + + @override + String get quizSelfResearchYes => + 'Igen, kutatok és nyomon követem a dolgokat'; + + @override + String get quizSelfResearchSometimes => 'Néha'; + + @override + String get quizSelfResearchRarely => 'Ritkán'; + + @override + String get quizSelfResearchNo => + 'Nem, teljes mértékben a szakemberekre támaszkodom'; + + @override + String get captionAvailabilityTitle => + 'Az egészségügyi kérdések nem követik az irodai órákat.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina elérhető 0-24.'; + + @override + String get captionAvailabilityDescription => + 'A világosságnak nem kell várnia a következő időpontra.'; + + @override + String get notificationTitle => + 'Szeretné, ha ellenőriznénk az egészségi tüneteit?'; + + @override + String get notificationDescription => + 'Az AI figyelemmel kísérheti a tüneteit, és figyelmeztetheti, ha valamire figyelni kell'; + + @override + String get notificationYes => 'Igen — figyelek az egészségemre'; + + @override + String get notificationOnlyImportant => + 'Igen — csak ha valami fontos változik'; + + @override + String get notificationNo => 'Még nem vagyok biztos'; + + @override + String get referralSourceTitle => 'Hallottál a Doctorináról orvostól?'; + + @override + String get referralSourceYes => 'Igen'; + + @override + String get referralSourceNo => 'Nem'; + + @override + String get processingSectionLabel => 'AZ EREDMÉNYEID ANÁLIZÁLÁSA'; + + @override + String get processingTitle => 'Személyre szabjuk az élményét'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Korlátlan élmény a Doctorina Pro segítségével'; + + @override + String get paywallAssistantTagline => + 'AZ ASSZISZTENS, AKI MINDIG KÖRÜLÖTTED VAN'; + + @override + String get paywallEnableTrialToggle => + 'Még nem biztos? Engedélyezze a ingyenes próbát.'; + + @override + String get paywallPlanYear => 'Éves'; + + @override + String get paywallPlanMonthly => 'Havi'; + + @override + String get paywallPlanWeek => 'Heti'; + + @override + String get paywallPlanDaily => 'Napi'; + + @override + String get paywallPlanYearPrice => '39,99 \$ (csak 3,34 \$/hét)'; + + @override + String get paywallPlanWeekPrice => '3,99 \$'; + + @override + String get paywallSaveBadge => 'MEGTARTHAT 58%'; + + @override + String get paywallContinueBtn => 'Folytatás'; + + @override + String get paywallStartTrialBtn => 'Ingyenes próba indítása'; + + @override + String get paywallSubscriptionDisclaimer => + 'A előfizetés automatikusan megújul. Bármikor lemondható'; + + @override + String get paywallTermsPrivacy => + 'Szolgáltatási feltételek | Adatvédelmi irányelvek'; + + @override + String get paywallPerWeek => 'hét'; + + @override + String get processingLabel => 'Az eredmények elemzése'; + + @override + String get paywallCloseTooltip => 'Onboarding bezárása'; + + @override + String get paywallRestoreTooltip => 'Vásárlások visszaállítása'; + + @override + String get paywallRestoreBtn => 'Visszaállítás'; + + @override + String get paywallRestoreNoneFound => + 'Nincs aktív előfizetés, amelyet vissza lehetne állítani.'; + + @override + String get paywallRestoreError => + 'A vásárlások visszaállítása nem sikerült. Kérjük, próbálja meg később.'; + + @override + String get paywallPurchaseError => + 'A vásárlás befejezése nem sikerült. Kérjük, próbálja meg később.'; + + @override + String get paywallTrialStep1Title => 'Ma: Azonnali hozzáférés'; + + @override + String get paywallTrialStep1Description => + 'Oldja fel a teljes hozzáférést, kapjon AI egészségügyi válaszokat, bármikor.'; + + @override + String get paywallTrialStep2Title => '2. nap: Próbaverzió emlékeztető'; + + @override + String get paywallTrialStep2Description => + 'Emlékeztetőt küldünk, hogy a próbaverziója a végéhez közeledik'; + + @override + String get paywallTrialStep3Title => '3. nap: Megújítás'; + + @override + String paywallTrialStep3Description(String date) { + return 'A $date napon terhelik meg, bármikor lemondhatja előtte.'; + } + + @override + String get paywallBenefitsHeader => 'MI TARTOZIK BELE'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privát és biztonságos'; + + @override + String get paywallBenefitAiAssistant => 'AI asszisztens, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Azonnali egészségügyi válaszok'; + + @override + String get paywallBenefitScienceInsights => + 'Tiszta, tudományos alapú betekintések'; + + @override + String get paywallBenefitAutoSummaries => + 'Automatikus beszélgetés-összefoglalók'; + + @override + String get paywallBenefitAnyLanguage => 'Bármilyen nyelv, bármikor'; + + @override + String get paywallPriceUnitPerWeek => 'hetente'; + + @override + String get paywallOfferTitle => 'Egyszeri ajánlat'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% KEDVEZMÉNY'; + } + + @override + String get paywallOfferForeverBadge => 'ÖRÖKKÉ'; + + @override + String get paywallOfferDisclaimer => + 'Ha bezárja egyszeri ajánlatát, az eltűnik!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/hó'; + } + + @override + String get paywallOfferLowestPriceBadge => 'LEGALACSONYABB ÁR VALAHA'; + + @override + String get paywallOfferCancelAnytime => 'Bármikor lemondható'; + + @override + String get paywallOfferClaimButton => 'Claim your offer'; + + @override + String get paywallOfferAutoRenewable => 'Automatikus megújítású előfizetés'; + + @override + String get paywallGiftBoxTitle => 'Különleges ajándék belül'; + + @override + String get paywallGiftBoxSubtitle => + 'Egy érintés a különleges ajánlatod felfedéséhez'; + + @override + String get paywallGiftBoxOpenButton => 'Nyisd meg most'; + + @override + String get paywallRetryLoadPricesError => + 'A előfizetési lehetőségek betöltése nem sikerült. Kérjük, próbálja újra később.'; + + @override + String get paywallPricesUnavailableTitle => + 'Nem sikerült betölteni az előfizetési árakat'; + + @override + String get paywallPricesUnavailableMessage => + 'Ellenőrizze a kapcsolatát, és próbálja újra.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Próbálja újra'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_id.dart b/example/lib/src/generated/onboarding/onboarding_localization_id.dart new file mode 100644 index 0000000..cfbea3f --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_id.dart @@ -0,0 +1,494 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Indonesian (`id`). +class OnboardingLocalizationId extends OnboardingLocalization { + OnboardingLocalizationId([String locale = 'id']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ASISTEN KESEHATAN AI MAJU'; + + @override + String get welcomeScreenTitle => 'Selamat datang di Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Dirancang untuk menganalisis gejala seperti yang dilakukan oleh klinisi berpengalaman — dengan memahami pola, waktu, dan konteks.'; + + @override + String get getStartedBtn => 'Mulai'; + + @override + String get alreadyHaveAccount => 'Sudah memiliki akun? Masuk'; + + @override + String get termsConsent => 'Dengan melanjutkan, Anda setuju dengan'; + + @override + String get personalizationInterruptionTitle => + 'Mari kita personalisasi Doctorina untuk Anda'; + + @override + String get personalizationSectionLabel => 'PERSONALISASI'; + + @override + String get personalizationReasonTitle => + 'Apa yang membawa Anda ke sini hari ini?'; + + @override + String get personalizationReasonSymptomsNow => + 'Saya mengalami gejala sekarang'; + + @override + String get personalizationReasonUnderstandChange => + 'Saya ingin memahami perubahan kesehatan'; + + @override + String get personalizationReasonRuleOutSerious => + 'Saya ingin menyingkirkan sesuatu yang serius'; + + @override + String get personalizationReasonMonitoring => + 'Saya memantau kesehatan saya secara proaktif'; + + @override + String get continueBtn => 'Lanjut'; + + @override + String get captionEmpathyText => + 'Ketika sesuatu berubah dalam kesehatan Anda, mengetahui apa yang penting adalah yang tersulit.'; + + @override + String get captionDifferentiatorText => + 'Doctorina fokus pada pola gejala dan waktu — sinyal yang sama yang dicari oleh klinisi sejak awal.'; + + @override + String get genderTitle => 'Pilih jenis kelamin Anda'; + + @override + String get genderSubtitle => + 'Ini membantu kami menginterpretasikan gejala dan memberikan rekomendasi dengan lebih akurat.'; + + @override + String get genderMale => 'Laki-laki'; + + @override + String get genderFemale => 'Perempuan'; + + @override + String get genderPreferNotSay => 'Lebih suka tidak mengatakan'; + + @override + String get ageTitle => 'Berapa umur Anda?'; + + @override + String get ageSubtitle => + 'Usia membantu kami mengevaluasi pola kesehatan dengan lebih akurat.'; + + @override + String get socialProofLargeTitle => + 'Lebih dari 48 ribu orang\nTelah memilih Doctorina'; + + @override + String get socialProofDisclaimer => + '*Berdasarkan statistik basis pengguna Doctorina'; + + @override + String get developedByDoctors => 'Dikembangkan oleh\nDokter'; + + @override + String get quizStepLabel1 => 'LANGKAH 1/6'; + + @override + String get quizHealthSituationTitle => + 'Bagaimana Anda menggambarkan situasi kesehatan Anda saat ini?'; + + @override + String get quizHealthHealthy => 'Saya umumnya merasa sehat'; + + @override + String get quizHealthMinorConcerns => + 'Saya memiliki kekhawatiran kecil yang berkelanjutan'; + + @override + String get quizHealthKnownCondition => + 'Saya mengelola kondisi yang diketahui'; + + @override + String get quizHealthUnresolved => + 'Saya menghadapi sesuatu yang belum terpecahkan'; + + @override + String get quizStepLabel2 => 'LANGKAH 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Seberapa sering Anda biasanya menemui dokter?'; + + @override + String get quizDoctorVisitRegular => + 'Secara rutin (pemeriksaan / tindak lanjut)'; + + @override + String get quizDoctorVisitOccasional => + 'Kadang-kadang, ketika ada yang salah'; + + @override + String get quizDoctorVisitRare => 'Jarang, hanya jika perlu'; + + @override + String get quizDoctorVisitAvoid => 'Hindari mengunjungi dokter'; + + @override + String get quizDoctorVisitNever => 'Saya tidak pernah mengunjungi dokter'; + + @override + String get quizStepLabel3 => 'LANGKAH 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Apa tantangan terbesar Anda dengan layanan kesehatan sejauh ini?'; + + @override + String get quizMultiSelectHint => 'Pilih sebanyak yang Anda mau'; + + @override + String get quizChallengeLongWait => 'Waktu tunggu yang lama untuk janji temu'; + + @override + String get quizChallengeRushedVisits => 'Kunjungan terasa terburu-buru'; + + @override + String get quizChallengeCost => 'Biaya tinggi atau harga yang tidak jelas'; + + @override + String get quizChallengeHardExplain => + 'Sulit untuk menjelaskan semuanya dengan jelas'; + + @override + String get quizChallengeConflictingAdvice => + 'Pendapat atau nasihat yang bertentangan'; + + @override + String get quizChallengeNone => 'Tidak ada masalah besar'; + + @override + String get quizStepLabel4 => 'LANGKAH 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Setelah janji temu, seberapa percaya diri Anda tentang apa yang Anda dengar?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Tidak ada jawaban yang benar atau salah.'; + + @override + String get quizConfidenceVeryClear => 'Sangat jelas tentang apa yang terjadi'; + + @override + String get quizConfidenceSomewhatClear => 'Agak jelas'; + + @override + String get quizConfidenceStillUncertain => 'Masih tidak yakin'; + + @override + String get quizConfidenceMoreConfused => 'Lebih bingung daripada sebelumnya'; + + @override + String get captionDiagnosisVsChange => + 'Banyak orang berjuang tidak setelah diagnosis tetapi ketika gejala berubah seiring waktu.'; + + @override + String get quizStepLabel5 => 'LANGKAH 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Seberapa baik Anda merasa kekhawatiran Anda biasanya ditangani?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Berdasarkan perasaan subjektif Anda'; + + @override + String get quizConcernsVeryWell => 'Sangat baik'; + + @override + String get quizConcernsFairlyWell => 'Cukup baik'; + + @override + String get quizConcernsNotVeryWell => 'Tidak begitu baik'; + + @override + String get quizConcernsVaries => 'Ini sangat bervariasi'; + + @override + String get quizStepLabel6 => 'LANGKAH 6/6'; + + @override + String get quizSelfResearchTitle => + 'Sebelum menemui dokter, apakah Anda biasanya mencoba memahami gejala sendiri?'; + + @override + String get quizSelfResearchYes => + 'Ya, saya melakukan riset dan melacak hal-hal'; + + @override + String get quizSelfResearchSometimes => 'Terkadang'; + + @override + String get quizSelfResearchRarely => 'Jarang'; + + @override + String get quizSelfResearchNo => + 'Tidak, saya sepenuhnya bergantung pada profesional'; + + @override + String get captionAvailabilityTitle => + 'Pertanyaan kesehatan tidak mengikuti jam kantor.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina tersedia 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Kejelasan tidak perlu menunggu janji berikutnya'; + + @override + String get notificationTitle => + 'Apakah Anda ingin kami memeriksa gejala kesehatan Anda?'; + + @override + String get notificationDescription => + 'AI dapat memantau gejala Anda dan memberi tahu Anda jika ada yang perlu diperhatikan'; + + @override + String get notificationYes => 'Ya — perhatikan kesehatan saya'; + + @override + String get notificationOnlyImportant => + 'Ya — hanya jika ada perubahan penting'; + + @override + String get notificationNo => 'Belum yakin'; + + @override + String get referralSourceTitle => + 'Apakah Anda mendengar tentang Doctorina dari dokter?'; + + @override + String get referralSourceYes => 'Ya'; + + @override + String get referralSourceNo => 'Tidak'; + + @override + String get processingSectionLabel => 'MENGANALISIS HASIL ANDA'; + + @override + String get processingTitle => 'Personalisasi pengalaman Anda'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Pengalaman tak terbatas dengan Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'ASISTEN ANDA YANG SELALU DEKAT'; + + @override + String get paywallEnableTrialToggle => + 'Belum yakin? Aktifkan percobaan gratis.'; + + @override + String get paywallPlanYear => 'Tahunan'; + + @override + String get paywallPlanMonthly => 'Bulanan'; + + @override + String get paywallPlanWeek => 'Mingguan'; + + @override + String get paywallPlanDaily => 'Harian'; + + @override + String get paywallPlanYearPrice => '\$39.99 (hanya \$3.34/minggu)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'Hemat 58%'; + + @override + String get paywallContinueBtn => 'Lanjut'; + + @override + String get paywallStartTrialBtn => 'Mulai Uji Coba Gratis'; + + @override + String get paywallSubscriptionDisclaimer => + 'Langganan dapat diperpanjang secara otomatis. Batalkan kapan saja'; + + @override + String get paywallTermsPrivacy => + 'Syarat Layanan | Kebijakan Privasi'; + + @override + String get paywallPerWeek => 'minggu'; + + @override + String get processingLabel => 'Menganalisis hasil Anda'; + + @override + String get paywallCloseTooltip => 'Tutup onboarding'; + + @override + String get paywallRestoreTooltip => 'Pulihkan Pembelian'; + + @override + String get paywallRestoreBtn => 'Pulihkan'; + + @override + String get paywallRestoreNoneFound => + 'Tidak ada langganan aktif yang ditemukan untuk dipulihkan.'; + + @override + String get paywallRestoreError => + 'Gagal mengembalikan pembelian. Silakan coba lagi nanti.'; + + @override + String get paywallPurchaseError => + 'Gagal menyelesaikan pembelian. Silakan coba lagi nanti.'; + + @override + String get paywallTrialStep1Title => 'Hari ini: Dapatkan akses instan'; + + @override + String get paywallTrialStep1Description => + 'Buka akses penuh, dapatkan jawaban kesehatan AI, kapan saja.'; + + @override + String get paywallTrialStep2Title => 'Hari 2: Pengingat percobaan'; + + @override + String get paywallTrialStep2Description => + 'Kami akan mengirimkan pengingat bahwa masa percobaan Anda akan segera berakhir'; + + @override + String get paywallTrialStep3Title => 'Hari 3: Pembaruan'; + + @override + String paywallTrialStep3Description(String date) { + return 'Anda akan dikenakan biaya pada $date, batalkan kapan saja sebelum.'; + } + + @override + String get paywallBenefitsHeader => 'APA YANG TERMASUK'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Pribadi dan aman'; + + @override + String get paywallBenefitAiAssistant => 'Asisten AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Jawaban kesehatan instan'; + + @override + String get paywallBenefitScienceInsights => + 'Wawasan yang jelas dan berbasis sains'; + + @override + String get paywallBenefitAutoSummaries => 'Ringkasan percakapan otomatis'; + + @override + String get paywallBenefitAnyLanguage => 'Bahasa apa pun, kapan saja'; + + @override + String get paywallPriceUnitPerWeek => 'per minggu'; + + @override + String get paywallOfferTitle => 'Penawaran sekali saja'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% DISKON'; + } + + @override + String get paywallOfferForeverBadge => 'SELAMANYA'; + + @override + String get paywallOfferDisclaimer => + 'Setelah Anda menutup tawaran sekali, itu akan hilang!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/bln'; + } + + @override + String get paywallOfferLowestPriceBadge => 'HARGA TERENDAH PERNAH'; + + @override + String get paywallOfferCancelAnytime => 'Batalkan kapan kapan'; + + @override + String get paywallOfferClaimButton => 'Klaim tawaran Anda'; + + @override + String get paywallOfferAutoRenewable => + 'Langganan yang diperbarui secara otomatis'; + + @override + String get paywallGiftBoxTitle => 'Hadiah spesial di dalam'; + + @override + String get paywallGiftBoxSubtitle => + 'Satu ketukan untuk mengungkap tawaran spesial Anda'; + + @override + String get paywallGiftBoxOpenButton => 'Buka sekarang'; + + @override + String get paywallRetryLoadPricesError => + 'Gagal memuat opsi langganan. Silakan coba lagi nanti.'; + + @override + String get paywallPricesUnavailableTitle => + 'Tidak dapat memuat harga langganan'; + + @override + String get paywallPricesUnavailableMessage => + 'Periksa koneksi Anda dan coba lagi.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Coba lagi'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_it.dart b/example/lib/src/generated/onboarding/onboarding_localization_it.dart new file mode 100644 index 0000000..09168c0 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_it.dart @@ -0,0 +1,489 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Italian (`it`). +class OnboardingLocalizationIt extends OnboardingLocalization { + OnboardingLocalizationIt([String locale = 'it']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ASSISTENTE SANITARIO AVANZATO AI'; + + @override + String get welcomeScreenTitle => 'Benvenuto\nin Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Progettato per analizzare i sintomi come fanno i clinici esperti: comprendendo schemi, tempistiche e contesto'; + + @override + String get getStartedBtn => 'Inizia'; + + @override + String get alreadyHaveAccount => 'Hai già un account? Accedi'; + + @override + String get termsConsent => + 'Continuando, accetti i nostri\nTermini di Servizio | Informativa sulla Privacy'; + + @override + String get personalizationInterruptionTitle => + 'Personalizziamo Doctorina per te'; + + @override + String get personalizationSectionLabel => 'PERSONALIZZAZIONE'; + + @override + String get personalizationReasonTitle => 'Cosa ti porta qui oggi?'; + + @override + String get personalizationReasonSymptomsNow => 'Sto vivendo sintomi adesso'; + + @override + String get personalizationReasonUnderstandChange => + 'Voglio capire un cambiamento della salute'; + + @override + String get personalizationReasonRuleOutSerious => + 'Voglio escludere qualcosa di serio'; + + @override + String get personalizationReasonMonitoring => + 'Sto monitorando la mia salute in modo proattivo'; + + @override + String get continueBtn => 'Continua'; + + @override + String get captionEmpathyText => + 'Quando qualcosa cambia nella tua salute, sapere cosa conta è più difficile.'; + + @override + String get captionDifferentiatorText => + 'Doctorina si concentra sui modelli di sintomi e sul tempismo — gli stessi segnali che i clinici cercano all\'inizio.'; + + @override + String get genderTitle => 'Seleziona il tuo genere'; + + @override + String get genderSubtitle => + 'Questo ci aiuta a interpretare i sintomi e a fornire raccomandazioni in modo più accurato.'; + + @override + String get genderMale => 'Maschio'; + + @override + String get genderFemale => 'Femmina'; + + @override + String get genderPreferNotSay => 'Preferisco non dire'; + + @override + String get ageTitle => 'Qual è la tua età?'; + + @override + String get ageSubtitle => + 'L\'età ci aiuta a valutare i modelli di salute in modo più accurato.'; + + @override + String get socialProofLargeTitle => + 'Oltre 48k+ persone\nhanno scelto Doctorina'; + + @override + String get socialProofDisclaimer => + '*Basato sulle statistiche degli utenti di Doctorina'; + + @override + String get developedByDoctors => 'Sviluppato da\nMedici'; + + @override + String get quizStepLabel1 => 'PASSO 1/6'; + + @override + String get quizHealthSituationTitle => + 'Come descriveresti la tua attuale situazione di salute?'; + + @override + String get quizHealthHealthy => 'In generale mi sento sano'; + + @override + String get quizHealthMinorConcerns => 'Ho preoccupazioni minori in corso'; + + @override + String get quizHealthKnownCondition => 'Sto gestendo una condizione nota'; + + @override + String get quizHealthUnresolved => 'Sto affrontando qualcosa di irrisolto'; + + @override + String get quizStepLabel2 => 'PASSO 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Con quale frequenza di solito vedi un medico?'; + + @override + String get quizDoctorVisitRegular => 'Regolarmente (controlli / follow-up)'; + + @override + String get quizDoctorVisitOccasional => + 'Occasionalmente, quando c\'è qualcosa che non va'; + + @override + String get quizDoctorVisitRare => 'Raramente, solo se necessario'; + + @override + String get quizDoctorVisitAvoid => 'Evitare di visitare i medici'; + + @override + String get quizDoctorVisitNever => 'Non sono mai andato da un dottore'; + + @override + String get quizStepLabel3 => 'PASSO 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Qual è stata la tua sfida più grande con la sanità finora?'; + + @override + String get quizMultiSelectHint => 'Scegli quanti più vuoi'; + + @override + String get quizChallengeLongWait => 'Lunghe attese per gli appuntamenti'; + + @override + String get quizChallengeRushedVisits => 'Le visite sembrano affrettate'; + + @override + String get quizChallengeCost => 'Alto costo o prezzi poco chiari'; + + @override + String get quizChallengeHardExplain => 'Difficile spiegare tutto chiaramente'; + + @override + String get quizChallengeConflictingAdvice => + 'Opinioni o consigli contrastanti'; + + @override + String get quizChallengeNone => 'Nessun problema importante'; + + @override + String get quizStepLabel4 => 'PASSO 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Dopo gli appuntamenti, quanto ti senti sicuro riguardo a ciò che ti è stato detto?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Non c\'è una risposta giusta o sbagliata.'; + + @override + String get quizConfidenceVeryClear => 'Molto chiaro su cosa sta succedendo'; + + @override + String get quizConfidenceSomewhatClear => 'Abbastanza chiaro'; + + @override + String get quizConfidenceStillUncertain => 'Ancora incerto'; + + @override + String get quizConfidenceMoreConfused => 'Più confuso di prima'; + + @override + String get captionDiagnosisVsChange => + 'Molte persone affrontano difficoltà non dopo la diagnosi ma quando i sintomi cambiano nel tempo.'; + + @override + String get quizStepLabel5 => 'PASSO 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Quanto bene senti che le tue preoccupazioni vengono solitamente affrontate?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Basato sui tuoi sentimenti soggettivi'; + + @override + String get quizConcernsVeryWell => 'Molto bene'; + + @override + String get quizConcernsFairlyWell => 'Abbastanza bene'; + + @override + String get quizConcernsNotVeryWell => 'Non molto bene'; + + @override + String get quizConcernsVaries => 'Varie molto'; + + @override + String get quizStepLabel6 => 'PASSO 6/6'; + + @override + String get quizSelfResearchTitle => + 'Prima di vedere un medico, cerchi di dare un senso ai sintomi da solo?'; + + @override + String get quizSelfResearchYes => + 'Sì, faccio ricerche e tengo traccia delle cose'; + + @override + String get quizSelfResearchSometimes => 'A volte'; + + @override + String get quizSelfResearchRarely => 'Raramente'; + + @override + String get quizSelfResearchNo => + 'No, mi affido completamente ai professionisti'; + + @override + String get captionAvailabilityTitle => + 'Le domande sulla salute non seguono l\'orario d\'ufficio.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina è disponibile 24/7.'; + + @override + String get captionAvailabilityDescription => + 'La chiarezza non dovrebbe aspettare il prossimo appuntamento'; + + @override + String get notificationTitle => + 'Vuoi che controlliamo i tuoi sintomi di salute?'; + + @override + String get notificationDescription => + 'L\'IA può monitorare i tuoi sintomi e avvisarti se qualcosa potrebbe richiedere attenzione'; + + @override + String get notificationYes => 'Sì — tieni d\'occhio la mia salute'; + + @override + String get notificationOnlyImportant => + 'Sì — solo se qualcosa di importante cambia'; + + @override + String get notificationNo => 'Non sono ancora sicuro'; + + @override + String get referralSourceTitle => + 'Hai sentito parlare di Doctorina da un medico?'; + + @override + String get referralSourceYes => 'Sì'; + + @override + String get referralSourceNo => 'No'; + + @override + String get processingSectionLabel => 'ANALIZZANDO I TUOI RISULTATI'; + + @override + String get processingTitle => 'Personalizzando la tua esperienza'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Esperienza illimitata con Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'IL TUO ASSISTENTE SEMPRE VICINO'; + + @override + String get paywallEnableTrialToggle => + 'Non sei ancora sicuro? Attiva la prova gratuita.'; + + @override + String get paywallPlanYear => 'Annuale'; + + @override + String get paywallPlanMonthly => 'Mensile'; + + @override + String get paywallPlanWeek => 'Settimanale'; + + @override + String get paywallPlanDaily => 'Giornaliero'; + + @override + String get paywallPlanYearPrice => '39,99 € (solo 3,34 €/settimana)'; + + @override + String get paywallPlanWeekPrice => '€3,99'; + + @override + String get paywallSaveBadge => 'RISPARMIA 58%'; + + @override + String get paywallContinueBtn => 'Continua'; + + @override + String get paywallStartTrialBtn => 'Inizia prova gratuita'; + + @override + String get paywallSubscriptionDisclaimer => + 'L\'abbonamento è rinnovabile automaticamente. Annulla in qualsiasi momento'; + + @override + String get paywallTermsPrivacy => + 'Termini di Servizio | Informativa sulla Privacy'; + + @override + String get paywallPerWeek => 'settimana'; + + @override + String get processingLabel => 'Analizzando i tuoi risultati'; + + @override + String get paywallCloseTooltip => 'Chiudi onboarding'; + + @override + String get paywallRestoreTooltip => 'Ripristina acquisti'; + + @override + String get paywallRestoreBtn => 'Ripristina'; + + @override + String get paywallRestoreNoneFound => + 'Nessun abbonamento attivo trovato da ripristinare.'; + + @override + String get paywallRestoreError => + 'Impossibile ripristinare gli acquisti. Riprova più tardi.'; + + @override + String get paywallPurchaseError => + 'Impossibile completare l\'acquisto. Riprova più tardi.'; + + @override + String get paywallTrialStep1Title => 'Oggi: Ottieni accesso immediato'; + + @override + String get paywallTrialStep1Description => + 'Sblocca l\'accesso completo, ottieni risposte sanitarie AI, in qualsiasi momento.'; + + @override + String get paywallTrialStep2Title => 'Giorno 2: Promemoria del trial'; + + @override + String get paywallTrialStep2Description => + 'Ti invieremo un promemoria che il tuo trial sta per finire'; + + @override + String get paywallTrialStep3Title => 'Giorno 3: Rinnovo'; + + @override + String paywallTrialStep3Description(String date) { + return 'Sarai addebitato il $date, annulla in qualsiasi momento prima.'; + } + + @override + String get paywallBenefitsHeader => 'COSA È INCLUSO'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privato e sicuro'; + + @override + String get paywallBenefitAiAssistant => 'Assistente AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Risposte sanitarie immediate'; + + @override + String get paywallBenefitScienceInsights => + 'Chiare intuizioni basate sulla scienza'; + + @override + String get paywallBenefitAutoSummaries => + 'Sommari automatici delle conversazioni'; + + @override + String get paywallBenefitAnyLanguage => + 'Qualsiasi lingua, in qualsiasi momento'; + + @override + String get paywallPriceUnitPerWeek => 'a settimana'; + + @override + String get paywallOfferTitle => 'Offerta una tantum'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% DI SCONTO'; + } + + @override + String get paywallOfferForeverBadge => 'PER SEMPRE'; + + @override + String get paywallOfferDisclaimer => + 'Una volta chiusa la tua offerta una tantum, è finita!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mese'; + } + + @override + String get paywallOfferLowestPriceBadge => 'PREZZO PIÙ BASSO DI SEMPRE'; + + @override + String get paywallOfferCancelAnytime => 'Annulla in qualsiasi momento'; + + @override + String get paywallOfferClaimButton => 'Richiedi la tua offerta'; + + @override + String get paywallOfferAutoRenewable => 'Abbonamento con rinnovo automatico'; + + @override + String get paywallGiftBoxTitle => 'Regalo speciale dentro'; + + @override + String get paywallGiftBoxSubtitle => + 'Un tocco per rivelare la tua offerta speciale'; + + @override + String get paywallGiftBoxOpenButton => 'Apri ora'; + + @override + String get paywallRetryLoadPricesError => + 'Impossibile caricare le opzioni di abbonamento. Riprova più tardi.'; + + @override + String get paywallPricesUnavailableTitle => + 'Impossibile caricare i prezzi degli abbonamenti'; + + @override + String get paywallPricesUnavailableMessage => + 'Controlla la tua connessione e riprova'; + + @override + String get paywallPricesUnavailableRetryButton => 'Riprova'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ja.dart b/example/lib/src/generated/onboarding/onboarding_localization_ja.dart new file mode 100644 index 0000000..502cf18 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ja.dart @@ -0,0 +1,452 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Japanese (`ja`). +class OnboardingLocalizationJa extends OnboardingLocalization { + OnboardingLocalizationJa([String locale = 'ja']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => '高度なAI健康アシスタント'; + + @override + String get welcomeScreenTitle => 'Doctorinaへようこそ!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + '経験豊富な臨床医のように症状を分析するために設計されています — パターン、タイミング、コンテキストを理解することによって。'; + + @override + String get getStartedBtn => '始める'; + + @override + String get alreadyHaveAccount => 'すでにアカウントをお持ちですか? ログイン'; + + @override + String get termsConsent => + '続行することで、あなたは私たちの\n利用規約 | プライバシーポリシー に同意します'; + + @override + String get personalizationInterruptionTitle => + 'あなたのために Doctorina をパーソナライズしましょう'; + + @override + String get personalizationSectionLabel => 'パーソナライズ'; + + @override + String get personalizationReasonTitle => '今日は何を求めてここに来ましたか?'; + + @override + String get personalizationReasonSymptomsNow => '今、症状が出ています'; + + @override + String get personalizationReasonUnderstandChange => '健康の変化を理解したい'; + + @override + String get personalizationReasonRuleOutSerious => '深刻な問題を除外したい'; + + @override + String get personalizationReasonMonitoring => '私は健康を積極的に監視しています'; + + @override + String get continueBtn => '続ける'; + + @override + String get captionEmpathyText => '健康に変化があるとき、何が重要かを知るのが最も難しいです'; + + @override + String get captionDifferentiatorText => + 'Doctorinaは症状のパターンとタイミングに焦点を当てています — 医師が初期に探す同じ信号です。'; + + @override + String get genderTitle => '性別を選択してください'; + + @override + String get genderSubtitle => 'これにより、症状を解釈し、より正確に推奨事項を提供できます。'; + + @override + String get genderMale => '男性'; + + @override + String get genderFemale => '女性'; + + @override + String get genderPreferNotSay => '言いたくない'; + + @override + String get ageTitle => 'あなたの年齢は何ですか?'; + + @override + String get ageSubtitle => '年齢は、健康パターンをより正確に評価するのに役立ちます。'; + + @override + String get socialProofLargeTitle => + '48,000人以上\nがDoctorinaを選びました'; + + @override + String get socialProofDisclaimer => '*Doctorinaのユーザーベース統計に基づいています'; + + @override + String get developedByDoctors => '医師によって開発されました\n医師'; + + @override + String get quizStepLabel1 => 'ステップ 1/6'; + + @override + String get quizHealthSituationTitle => '現在の健康状態をどのように説明しますか?'; + + @override + String get quizHealthHealthy => '私は一般的に健康だと感じています'; + + @override + String get quizHealthMinorConcerns => '私は継続的な軽微な懸念があります'; + + @override + String get quizHealthKnownCondition => '既知の病状を管理しています'; + + @override + String get quizHealthUnresolved => '未解決の問題に対処しています'; + + @override + String get quizStepLabel2 => 'ステップ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => '通常、どのくらいの頻度で医者に行きますか?'; + + @override + String get quizDoctorVisitRegular => '定期的に(健康診断 / フォローアップ)'; + + @override + String get quizDoctorVisitOccasional => '時々、何かが間違っているとき'; + + @override + String get quizDoctorVisitRare => '必要な場合のみ、まれに'; + + @override + String get quizDoctorVisitAvoid => '医者に行くのを避ける'; + + @override + String get quizDoctorVisitNever => '私は医者に行ったことがありません'; + + @override + String get quizStepLabel3 => 'ステップ 3/6'; + + @override + String get quizBiggestChallengeTitle => 'これまでの医療での最大の課題は何ですか?'; + + @override + String get quizMultiSelectHint => '好きなだけ選んでください'; + + @override + String get quizChallengeLongWait => '予約の長い待ち時間'; + + @override + String get quizChallengeRushedVisits => '訪問が急いでいるように感じる'; + + @override + String get quizChallengeCost => '高いコストまたは不明瞭な価格'; + + @override + String get quizChallengeHardExplain => 'すべてを明確に説明するのは難しい'; + + @override + String get quizChallengeConflictingAdvice => '対立する意見やアドバイス'; + + @override + String get quizChallengeNone => '大きな問題はありません'; + + @override + String get quizStepLabel4 => 'ステップ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + '診察後、伝えられたことについてどれくらい自信がありますか?'; + + @override + String get quizConfidenceNoRightAnswer => '正しい答えも間違った答えもありません。'; + + @override + String get quizConfidenceVeryClear => '何が起こっているのか非常に明確です'; + + @override + String get quizConfidenceSomewhatClear => 'やや明確'; + + @override + String get quizConfidenceStillUncertain => 'まだ不確か'; + + @override + String get quizConfidenceMoreConfused => '以前よりも混乱している'; + + @override + String get captionDiagnosisVsChange => + '多くの 人々は診断後ではなく 、時間の経過とともに症状が変化するときに苦労します。'; + + @override + String get quizStepLabel5 => 'ステップ 5/6'; + + @override + String get quizConcernsAddressedTitle => 'あなたの懸念が通常どの程度対処されていると感じますか?'; + + @override + String get quizConcernsAddressedSubtitle => 'あなたの主観的な感情に基づいて'; + + @override + String get quizConcernsVeryWell => 'とても良い'; + + @override + String get quizConcernsFairlyWell => 'まあまあ'; + + @override + String get quizConcernsNotVeryWell => 'あまり良くない'; + + @override + String get quizConcernsVaries => '大きく異なります'; + + @override + String get quizStepLabel6 => 'ステップ 6/6'; + + @override + String get quizSelfResearchTitle => '医者に会う前に、自分で症状を理解しようとしますか?'; + + @override + String get quizSelfResearchYes => 'はい、私は調査して物事を追跡します'; + + @override + String get quizSelfResearchSometimes => '時々'; + + @override + String get quizSelfResearchRarely => 'まれに'; + + @override + String get quizSelfResearchNo => 'いいえ、私は完全に専門家に頼ります'; + + @override + String get captionAvailabilityTitle => + '健康に関する質問は 営業時間に従いません 。'; + + @override + String get captionAvailabilitySupport => + 'Doctorinaは 24時間年中無休で利用可能です。'; + + @override + String get captionAvailabilityDescription => '明確さは次の予約を待つ必要はありません。'; + + @override + String get notificationTitle => 'あなたの健康症状を確認してもよろしいですか?'; + + @override + String get notificationDescription => 'AIはあなたの症状を監視し、何か注意が必要な場合に警告します'; + + @override + String get notificationYes => 'はい — 健康に気を付けます'; + + @override + String get notificationOnlyImportant => 'はい — 重要な変更がある場合のみ'; + + @override + String get notificationNo => 'まだ決めていません'; + + @override + String get referralSourceTitle => '医者からDoctorinaについて聞きましたか?'; + + @override + String get referralSourceYes => 'はい'; + + @override + String get referralSourceNo => 'いいえ'; + + @override + String get processingSectionLabel => '結果を分析しています'; + + @override + String get processingTitle => 'あなたの体験をパーソナライズ中'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => 'Doctorina Pro で無制限の体験'; + + @override + String get paywallAssistantTagline => 'あなたのそばにいつもいるアシスタント'; + + @override + String get paywallEnableTrialToggle => 'まだ決めていませんか?無料トライアルを有効にします。'; + + @override + String get paywallPlanYear => '年額'; + + @override + String get paywallPlanMonthly => '月額'; + + @override + String get paywallPlanWeek => '週間'; + + @override + String get paywallPlanDaily => 'デイリー'; + + @override + String get paywallPlanYearPrice => '39.99ドル(週あたりわずか3.34ドル)'; + + @override + String get paywallPlanWeekPrice => '¥550'; + + @override + String get paywallSaveBadge => '58%割引'; + + @override + String get paywallContinueBtn => '続ける'; + + @override + String get paywallStartTrialBtn => '無料トライアルを開始'; + + @override + String get paywallSubscriptionDisclaimer => + 'サブスクリプションは自動更新されます。いつでもキャンセルできます'; + + @override + String get paywallTermsPrivacy => + '利用規約 | プライバシーポリシー'; + + @override + String get paywallPerWeek => '週'; + + @override + String get processingLabel => '結果を分析しています'; + + @override + String get paywallCloseTooltip => 'オンボーディングを閉じる'; + + @override + String get paywallRestoreTooltip => '購入を復元'; + + @override + String get paywallRestoreBtn => '復元'; + + @override + String get paywallRestoreNoneFound => '復元するアクティブなサブスクリプションが見つかりません。'; + + @override + String get paywallRestoreError => '購入の復元に失敗しました。後でもう一度お試しください。'; + + @override + String get paywallPurchaseError => '購入を完了できませんでした。後でもう一度お試しください。'; + + @override + String get paywallTrialStep1Title => '今日: 即時アクセスを取得'; + + @override + String get paywallTrialStep1Description => '完全なアクセスを解除し、いつでもAI健康回答を得る。'; + + @override + String get paywallTrialStep2Title => '2日目: トライアルのリマインダー'; + + @override + String get paywallTrialStep2Description => 'トライアルが終了しようとしていることをお知らせします'; + + @override + String get paywallTrialStep3Title => '3日目: 更新'; + + @override + String paywallTrialStep3Description(String date) { + return '$date に請求されます。いつでもキャンセルできます。'; + } + + @override + String get paywallBenefitsHeader => '含まれているもの'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'プライベートで安全'; + + @override + String get paywallBenefitAiAssistant => 'AIアシスタント、24/7'; + + @override + String get paywallBenefitInstantAnswers => '即時健康回答'; + + @override + String get paywallBenefitScienceInsights => '明確な科学に基づく洞察'; + + @override + String get paywallBenefitAutoSummaries => '自動会話の要約'; + + @override + String get paywallBenefitAnyLanguage => 'いつでも、どの言語でも'; + + @override + String get paywallPriceUnitPerWeek => '週ごと'; + + @override + String get paywallOfferTitle => '一度限りのオファー'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent%オフ'; + } + + @override + String get paywallOfferForeverBadge => '永遠'; + + @override + String get paywallOfferDisclaimer => '一度オファーを閉じると、それは消えます!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/月'; + } + + @override + String get paywallOfferLowestPriceBadge => '史上最低価格'; + + @override + String get paywallOfferCancelAnytime => 'いつでもキャンセル'; + + @override + String get paywallOfferClaimButton => 'オファーを請求する'; + + @override + String get paywallOfferAutoRenewable => '自動更新サブスクリプション'; + + @override + String get paywallGiftBoxTitle => '特別なギフトが入っています'; + + @override + String get paywallGiftBoxSubtitle => '特別オファーを表示するにはタップしてください'; + + @override + String get paywallGiftBoxOpenButton => '今すぐ開く'; + + @override + String get paywallRetryLoadPricesError => + 'サブスクリプションオプションの読み込みに失敗しました。後でもう一度お試しください。'; + + @override + String get paywallPricesUnavailableTitle => 'サブスクリプションの価格を読み込めませんでした'; + + @override + String get paywallPricesUnavailableMessage => '接続を確認して、もう一度お試しください'; + + @override + String get paywallPricesUnavailableRetryButton => '再試行'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_kk.dart b/example/lib/src/generated/onboarding/onboarding_localization_kk.dart new file mode 100644 index 0000000..0b7b028 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_kk.dart @@ -0,0 +1,487 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kazakh (`kk`). +class OnboardingLocalizationKk extends OnboardingLocalization { + OnboardingLocalizationKk([String locale = 'kk']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'АЛДЫҢҒЫ AI ДЕНСАУЛЫҚ КӨМЕКШІСІ'; + + @override + String get welcomeScreenTitle => 'Докторинаға қош келдіңіз'; + + @override + String get socialProofTrustedBy => 'Сеніміз'; + + @override + String get welcomeDescription => + 'Симптомдарды тәжірибелі клиницистер сияқты талдау үшін — үлгілерді, уақытты және контекстті түсіну арқылы.'; + + @override + String get getStartedBtn => 'Бастау'; + + @override + String get alreadyHaveAccount => 'Есептік жазбаңыз бар ма? Кіру'; + + @override + String get termsConsent => + 'Жалғастыра отырып, сіз біздің\nҚызмет көрсету шарттарымен | Жекелік саясатпен келісесіз'; + + @override + String get personalizationInterruptionTitle => + 'Жеке тұлғалауды бастайық Doctorina сіз үшін'; + + @override + String get personalizationSectionLabel => 'Жеке тұлға'; + + @override + String get personalizationReasonTitle => 'Сізді бүгін мұнда не әкелді?'; + + @override + String get personalizationReasonSymptomsNow => 'Менде қазір симптомдар бар'; + + @override + String get personalizationReasonUnderstandChange => + 'Мен денсаулықтағы өзгерісті түсінгім келеді'; + + @override + String get personalizationReasonRuleOutSerious => + 'Мен неғұрлым ауыр нәрсені жоққа шығарғым келеді'; + + @override + String get personalizationReasonMonitoring => + 'Мен денсаулығымды проактивті түрде бақылап отырмын'; + + @override + String get continueBtn => 'Жалғастыру'; + + @override + String get captionEmpathyText => + 'Денсаулығыңыздағы өзгерістер болғанда, не маңызды екенін білу ең қиын.'; + + @override + String get captionDifferentiatorText => + 'Doctorina симптомдардың үлгілері мен уақытын назарға алады — дәрігерлердің ерте кезеңде іздейтін сигналдары.'; + + @override + String get genderTitle => 'Жынысыңызды таңдаңыз'; + + @override + String get genderSubtitle => + 'Бұл бізге симптомдарды дұрыс түсінуге және ұсыныстарды дәл беруге көмектеседі.'; + + @override + String get genderMale => 'Ер адам'; + + @override + String get genderFemale => 'Әйел'; + + @override + String get genderPreferNotSay => 'Айтуға болмайды'; + + @override + String get ageTitle => 'Сіздің жасыңыз қанша?'; + + @override + String get ageSubtitle => + 'Жас денсаулық үлгілерін дәл бағалауға көмектеседі.'; + + @override + String get socialProofLargeTitle => + '48 мыңнан астам адам\nDoctorina-ны таңдады'; + + @override + String get socialProofDisclaimer => + '*Докторина пайдаланушыларының статистикасына негізделген'; + + @override + String get developedByDoctors => + 'Дәрігерлермен әзірленген
Дәрігерлер'; + + @override + String get quizStepLabel1 => 'ҚАДАМ 1/6'; + + @override + String get quizHealthSituationTitle => + 'Сіздің қазіргі денсаулық жағдайыңызды қалай сипаттар едіңіз?'; + + @override + String get quizHealthHealthy => 'Мен әдетте сау сезінемін'; + + @override + String get quizHealthMinorConcerns => 'Менде тұрақты кішігірім мәселелер бар'; + + @override + String get quizHealthKnownCondition => 'Мен белгілі бір жағдайды басқарамын'; + + @override + String get quizHealthUnresolved => + 'Мен шешілмеген нәрсемен айналысып жатырмын'; + + @override + String get quizStepLabel2 => 'ҚАДАМ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Сіз әдетте дәрігерге қаншалықты жиі барасыз?'; + + @override + String get quizDoctorVisitRegular => 'Тұрақты (тексерулер / бақылаулар)'; + + @override + String get quizDoctorVisitOccasional => 'Кейде, бірдеңе дұрыс емес болғанда'; + + @override + String get quizDoctorVisitRare => 'Сирек, тек қажет болғанда'; + + @override + String get quizDoctorVisitAvoid => 'Дәрігерлерге барудан аулақ боласыз'; + + @override + String get quizDoctorVisitNever => 'Мен дәрігерге ешқашан барған емеспін'; + + @override + String get quizStepLabel3 => 'ҚАДАМ 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Сіз үшін денсаулық сақтау саласындағы ең үлкен қиындық не болды?'; + + @override + String get quizMultiSelectHint => 'Қалағаныңызша таңдаңыз'; + + @override + String get quizChallengeLongWait => 'Кездесулер үшін ұзақ күту уақыты'; + + @override + String get quizChallengeRushedVisits => 'Келулер асығыс болып көрінеді'; + + @override + String get quizChallengeCost => 'Жоғары баға немесе анық емес бағалар'; + + @override + String get quizChallengeHardExplain => 'Барлығын анық түсіндіру қиын'; + + @override + String get quizChallengeConflictingAdvice => + 'Қарама-қайшы пікірлер немесе кеңестер'; + + @override + String get quizChallengeNone => 'Маңызды мәселелер жоқ'; + + @override + String get quizStepLabel4 => 'ҚАДАМ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Кездесулерден кейін, сізге айтылғандарға қаншалықты сенімдісіз?'; + + @override + String get quizConfidenceNoRightAnswer => 'Дұрыс немесе бұрыс жауап жоқ.'; + + @override + String get quizConfidenceVeryClear => 'Не болып жатқанын өте жақсы түсінемін'; + + @override + String get quizConfidenceSomewhatClear => 'Біршама анық'; + + @override + String get quizConfidenceStillUncertain => 'Әлі де күмәнді'; + + @override + String get quizConfidenceMoreConfused => 'Бұрынғыдан да шатасқан'; + + @override + String get captionDiagnosisVsChange => + 'Көптеген адамдар диагноздан кейін емес, симптомдар уақыт өте келе өзгергенде қиындықтарға тап болады.'; + + @override + String get quizStepLabel5 => 'ҚАДАМ 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Сіздің алаңдаушылықтарыңыздың әдетте қаншалықты жақсы шешілетініне қалай қарайсыз?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Сіздің субъективті сезімдеріңізге негізделген'; + + @override + String get quizConcernsVeryWell => 'Өте жақсы'; + + @override + String get quizConcernsFairlyWell => 'Жақсы'; + + @override + String get quizConcernsNotVeryWell => 'Жақсы емес'; + + @override + String get quizConcernsVaries => 'Бұл өте әртүрлі'; + + @override + String get quizStepLabel6 => 'ҚАДАМ 6/6'; + + @override + String get quizSelfResearchTitle => + 'Дәрігерге бармас бұрын, әдетте симптомдарды өзіңіз түсінуге тырысасыз ба?'; + + @override + String get quizSelfResearchYes => + 'Иә, мен зерттеймін және нәрселерді бақылап отырамын'; + + @override + String get quizSelfResearchSometimes => 'Кейде'; + + @override + String get quizSelfResearchRarely => 'Сирек'; + + @override + String get quizSelfResearchNo => 'Жоқ, мен толығымен мамандарға сенемін'; + + @override + String get captionAvailabilityTitle => + 'Денсаулық сұрақтары офис уақытын сақтамайды.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina тәулік бойы, аптасына 7 күн қолжетімді.'; + + @override + String get captionAvailabilityDescription => + 'Түсініктілік келесі кездесуді күтпеуі керек.'; + + @override + String get notificationTitle => + 'Сіздің денсаулық симптомдарыңызды тексеруімізді қалайсыз ба?'; + + @override + String get notificationDescription => + 'AI сіздің симптомдарыңызды бақылап, бір нәрсе назар аударуды қажет етсе, сізге хабарлайды'; + + @override + String get notificationYes => 'Иә — денсаулығыма назар аударамын'; + + @override + String get notificationOnlyImportant => + 'Иә — тек маңызды өзгерістер болғанда'; + + @override + String get notificationNo => 'Әлі сенімді емеспін'; + + @override + String get referralSourceTitle => + 'Сіз Докторина туралы дәрігерден естідіңіз бе?'; + + @override + String get referralSourceYes => 'Иә'; + + @override + String get referralSourceNo => 'Жоқ'; + + @override + String get processingSectionLabel => 'НӘТИЖЕЛЕРІҢІЗДІ ТАЛДАУ'; + + @override + String get processingTitle => 'Сіздің тәжірибеңізді жеке ету'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Doctorina Pro арқылы шексіз тәжірибе'; + + @override + String get paywallAssistantTagline => 'Сізге әрқашан жақын көмекшіңіз'; + + @override + String get paywallEnableTrialToggle => + 'Әлі де сенімді емессіз бе? Тегін сынақты қосыңыз.'; + + @override + String get paywallPlanYear => 'Жылдық'; + + @override + String get paywallPlanMonthly => 'Айлық'; + + @override + String get paywallPlanWeek => 'Апталық'; + + @override + String get paywallPlanDaily => 'Күнделікті'; + + @override + String get paywallPlanYearPrice => '\$39.99 (тек \$3.34/апта)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => '58% үнемдеңіз'; + + @override + String get paywallContinueBtn => 'Жалғастыру'; + + @override + String get paywallStartTrialBtn => 'Тегін сынақ бастау'; + + @override + String get paywallSubscriptionDisclaimer => + 'Жазылым автоматты түрде жаңартылады. Қалаған уақытта тоқтатыңыз'; + + @override + String get paywallTermsPrivacy => + 'Қызмет көрсету шарттары | Жекелік саясат'; + + @override + String get paywallPerWeek => 'апта'; + + @override + String get processingLabel => 'Сіздің нәтижелеріңіз талданып жатыр'; + + @override + String get paywallCloseTooltip => 'Оқыту аяқтау'; + + @override + String get paywallRestoreTooltip => 'Сатып алуларды қалпына келтіру'; + + @override + String get paywallRestoreBtn => 'Қалпына келтіру'; + + @override + String get paywallRestoreNoneFound => + 'Қалпына келтіру үшін белсенді жазылым табылмады.'; + + @override + String get paywallRestoreError => + 'Сатып алуларды қалпына келтіру сәтсіз аяқталды. Кейінірек қайтадан әрекет етіңіз.'; + + @override + String get paywallPurchaseError => + 'Сатып алуды аяқтау мүмкін болмады. Қайтадан кейінірек әрекет етіп көріңіз.'; + + @override + String get paywallTrialStep1Title => 'Бүгін: Жедел қол жеткізу алыңыз'; + + @override + String get paywallTrialStep1Description => + 'Толық қолжетімділікті ашыңыз, AI денсаулық жауаптарын алыңыз, кез келген уақытта.'; + + @override + String get paywallTrialStep2Title => '2-күн: Сынақ ескертуі'; + + @override + String get paywallTrialStep2Description => + 'Сізге сынақ мерзімінің аяқталуға жақын екенін еске саламыз'; + + @override + String get paywallTrialStep3Title => '3-күн: Жаңарту'; + + @override + String paywallTrialStep3Description(String date) { + return '$date күні сізден ақы алынады, алдын ала кез келген уақытта тоқтата аласыз.'; + } + + @override + String get paywallBenefitsHeader => 'НЕ КІРДІ'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Жеке және қауіпсіз'; + + @override + String get paywallBenefitAiAssistant => 'AI көмекшісі, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Дер кезінде денсаулық жауаптары'; + + @override + String get paywallBenefitScienceInsights => + 'Таза, ғылыми негізделген түсініктер'; + + @override + String get paywallBenefitAutoSummaries => 'Автоматты әңгіме қысқаша мазмұны'; + + @override + String get paywallBenefitAnyLanguage => 'Кез келген тіл, кез келген уақытта'; + + @override + String get paywallPriceUnitPerWeek => 'аптасына'; + + @override + String get paywallOfferTitle => 'Бір реттік ұсыныс'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ЖЕҢІЛДІК'; + } + + @override + String get paywallOfferForeverBadge => 'МӘҢГІ'; + + @override + String get paywallOfferDisclaimer => + 'Сіз бір реттік ұсынысыңызды жапқаннан кейін, ол жоғалады!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/ай'; + } + + @override + String get paywallOfferLowestPriceBadge => 'ЕҢ ТӨМЕН БАҒА'; + + @override + String get paywallOfferCancelAnytime => 'Кез келген уақытта тоқтату'; + + @override + String get paywallOfferClaimButton => 'Ұсынысыңызды талап етіңіз'; + + @override + String get paywallOfferAutoRenewable => + 'Автоматты түрде жаңартылатын жазылым'; + + @override + String get paywallGiftBoxTitle => 'Арнайы сыйлық ішінде'; + + @override + String get paywallGiftBoxSubtitle => + 'Арнайы ұсынысыңызды ашу үшін бір рет басыңыз'; + + @override + String get paywallGiftBoxOpenButton => 'Қазір ашыңыз'; + + @override + String get paywallRetryLoadPricesError => + 'Жазылым опцияларын жүктеу сәтсіз болды. Кейінірек қайтадан көріп көріңіз.'; + + @override + String get paywallPricesUnavailableTitle => + 'Жазылым бағаларын жүктеу мүмкін болмады'; + + @override + String get paywallPricesUnavailableMessage => + 'Байланысыңызды тексеріңіз және қайтадан көріңіз.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Қайтадан көріңіз'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_km.dart b/example/lib/src/generated/onboarding/onboarding_localization_km.dart new file mode 100644 index 0000000..a5e6a54 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_km.dart @@ -0,0 +1,481 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Khmer Central Khmer (`km`). +class OnboardingLocalizationKm extends OnboardingLocalization { + OnboardingLocalizationKm([String locale = 'km']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ជំនួយសុខភាព AI កម្រិតខ្ពស់'; + + @override + String get welcomeScreenTitle => 'សូមស្វាគមន៍\nទៅកាន់ Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'រចនាឡើងដើម្បីវិភាគរោគសញ្ញាដូចជាអ្នកវេជ្ជបណ្ឌិតដែលមានបទពិសោធន៍ — ដោយយល់ដឹងអំពីលំនាំ, ពេលវេលា, និងបរិបទ។'; + + @override + String get getStartedBtn => 'ចាប់ផ្តើម'; + + @override + String get alreadyHaveAccount => 'មានគណនីរួចហើយឬ? ចូល'; + + @override + String get termsConsent => 'ដោយបន្ត អ្នកយល់ព្រមទៅនឹង'; + + @override + String get personalizationInterruptionTitle => + 'មកផ្ទៀងផ្ទាត់ឱ្យបានផ្ទាល់ Doctorina សម្រាប់អ្នក'; + + @override + String get personalizationSectionLabel => 'ការបុគ្គលិកភាព'; + + @override + String get personalizationReasonTitle => 'អ្វីដែលនាំឱ្យអ្នកមកទីនេះថ្ងៃនេះ?'; + + @override + String get personalizationReasonSymptomsNow => 'ខ្ញុំកំពុងមានរោគសញ្ញាឥឡូវនេះ'; + + @override + String get personalizationReasonUnderstandChange => + 'ខ្ញុំចង់យល់អំពីការផ្លាស់ប្តូរពីសុខភាព'; + + @override + String get personalizationReasonRuleOutSerious => + 'ខ្ញុំចង់រំលាយអ្វីមួយដែលធ្ងន់ធ្ងរ'; + + @override + String get personalizationReasonMonitoring => + 'ខ្ញុំកំពុងតែតាមដានសុខភាពរបស់ខ្ញុំយ៉ាងប្រកបដោយប្រសិទ្ធភាព'; + + @override + String get continueBtn => 'បន្ត'; + + @override + String get captionEmpathyText => + 'ពេលមានអ្វីមួយផ្លាស់ប្តូរនៅក្នុងសុខភាពរបស់អ្នក ការដឹងថាអ្វីដែលសំខាន់គឺពិបាកបំផុត'; + + @override + String get captionDifferentiatorText => + 'Doctorina ផ្តោតលើលំនាំនៃរោគសញ្ញា និងពេលវេលា — សញ្ញាដូចគ្នាដែលគ្រូពេទ្យស្វែងរកនៅដំបូង។'; + + @override + String get genderTitle => 'ជ្រើសរើសភេទរបស់អ្នក'; + + @override + String get genderSubtitle => + 'នេះជួយឱ្យយើងអាចបកស្រាយរោគសញ្ញានិងផ្តល់អនុសាសន៍បានយ៉ាងត្រឹមត្រូវ។'; + + @override + String get genderMale => 'ប្រុស'; + + @override + String get genderFemale => 'ស្រី'; + + @override + String get genderPreferNotSay => 'មិនចង់ប្រាប់'; + + @override + String get ageTitle => 'អាយុរបស់អ្នកគឺប៉ុន្មាន?'; + + @override + String get ageSubtitle => + 'អាយុជួយឱ្យយើងវាយតម្លៃលំនាំសុខភាពបានយ៉ាងត្រឹមត្រូវ។'; + + @override + String get socialProofLargeTitle => + 'មានមនុស្សជាង 48k+\nបានជ្រើសរើស Doctorina'; + + @override + String get socialProofDisclaimer => + '*ផ្អែកលើស្ថិតិមូលដ្ឋានអ្នកប្រើប្រាស់ Doctorina'; + + @override + String get developedByDoctors => 'បង្កើតដោយ\nវេជ្ជបណ្ឌិត'; + + @override + String get quizStepLabel1 => 'ជំហាន ១/៦'; + + @override + String get quizHealthSituationTitle => + 'អ្នកនឹងពិពណ៌នាអំពីស្ថានភាពសុខភាពបច្ចុប្បន្នរបស់អ្នកយ៉ាងដូចម្តេច?'; + + @override + String get quizHealthHealthy => 'ខ្ញុំមានអារម្មណ៍ថាសុខភាពល្អ'; + + @override + String get quizHealthMinorConcerns => 'ខ្ញុំមានការព្រួយបារម្ភតិចតួចដែលបន្ត'; + + @override + String get quizHealthKnownCondition => 'ខ្ញុំកំពុងគ្រប់គ្រងស្ថានភាពដែលបានដឹង'; + + @override + String get quizHealthUnresolved => + 'ខ្ញុំកំពុងប្រឈមមុខនឹងអ្វីមួយដែលមិនបានដោះស្រាយ'; + + @override + String get quizStepLabel2 => 'ជំហាន 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'អ្នកទៅឃ្លាំងវេជ្ជបណ្ឌិតប៉ុន្មានដង?'; + + @override + String get quizDoctorVisitRegular => 'ជាប្រចាំ (ការត្រួតពិនិត្យ / ការតាមដាន)'; + + @override + String get quizDoctorVisitOccasional => + 'ជាអាទិភាពពេលណាមួយមានអ្វីមិនត្រឹមត្រូវ'; + + @override + String get quizDoctorVisitRare => 'កម្រិតទាប, តែបើចាំបាច់'; + + @override + String get quizDoctorVisitAvoid => 'ជៀសវាងការទស្សនាគ្រូពេទ្យ'; + + @override + String get quizDoctorVisitNever => 'ខ្ញុំមិនដែលបានទៅឱសថស្ថានទេ'; + + @override + String get quizStepLabel3 => 'ជំហាន 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'អ្វីដែលជាបញ្ហាធំបំផុតរបស់អ្នកជាមួយសុខាភិបាលរហូតមកដល់ពេលនេះ?'; + + @override + String get quizMultiSelectHint => 'ជ្រើសរើសបានច្រើនតាមដែលអ្នកចង់'; + + @override + String get quizChallengeLongWait => 'ការរង់ចាំយូរ​សម្រាប់​ការណាត់ជួប'; + + @override + String get quizChallengeRushedVisits => 'ការទស្សនាដូចជាបន្ទាន់'; + + @override + String get quizChallengeCost => 'តម្លៃខ្ពស់ ឬតម្លៃមិនច្បាស់'; + + @override + String get quizChallengeHardExplain => + 'អត់អាចពន្យល់អ្វីៗទាំងអស់បានយ៉ាងច្បាស់'; + + @override + String get quizChallengeConflictingAdvice => + 'ការបញ្ចេញមតិ ឬ ការប្រឹក្សាដែលមានការប្រកួតប្រជែង'; + + @override + String get quizChallengeNone => 'គ្មានបញ្ហាធំទូលាយ'; + + @override + String get quizStepLabel4 => 'ជំហាន 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'បន្ទាប់ពីការប្រជុំ អ្នកមានការតាំងចិត្តយ៉ាងដូចម្តេចចំពោះអ្វីដែលបាននិយាយ?'; + + @override + String get quizConfidenceNoRightAnswer => 'គ្មានចម្លើយត្រឹមត្រូវឬខុសទេ។'; + + @override + String get quizConfidenceVeryClear => 'អំពីអ្វីកំពុងកើតឡើងយ៉ាងច្បាស់'; + + @override + String get quizConfidenceSomewhatClear => 'មានភាពច្បាស់ខ្លះ'; + + @override + String get quizConfidenceStillUncertain => 'មិនប្រាកដទេ'; + + @override + String get quizConfidenceMoreConfused => 'ច្របូកច្របល់ជាងមុន'; + + @override + String get captionDiagnosisVsChange => + 'មនុស្ស ជាច្រើនប្រឈមមុខនឹងការលំបាកមិនមែនក្រោយពីការបញ្ជាក់ជំងឺ ប៉ុន្តែពេលដែលរោគសញ្ញាប្រែប្រួលក្នុងអំឡុងពេល។'; + + @override + String get quizStepLabel5 => 'ជំហាន 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'អ្នកមានអារម្មណ៍យ៉ាងដូចម្តេចចំពោះការពិចារណារបស់អ្នកដែលត្រូវបានដោះស្រាយ? '; + + @override + String get quizConcernsAddressedSubtitle => + 'ផ្អែកលើអារម្មណ៍ផ្ទាល់ខ្លួនរបស់អ្នក'; + + @override + String get quizConcernsVeryWell => 'ល្អណាស់'; + + @override + String get quizConcernsFairlyWell => 'ល្អប្រសើរ'; + + @override + String get quizConcernsNotVeryWell => 'មិនបានល្អទេ'; + + @override + String get quizConcernsVaries => 'វាប្រែប្រួលច្រើន'; + + @override + String get quizStepLabel6 => 'ជំហាន 6/6'; + + @override + String get quizSelfResearchTitle => + 'ពេលមុននឹងទៅឱសថសាស្ត្រ អ្នកធម្មតាដែលព្យាយាមយល់អំពីរោគសញ្ញាដោយខ្លួនឯងទេ?'; + + @override + String get quizSelfResearchYes => 'បាទ/ចាស ខ្ញុំស្រាវជ្រាវ និងតាមដានរឿង'; + + @override + String get quizSelfResearchSometimes => 'ពេលខ្លះ'; + + @override + String get quizSelfResearchRarely => 'កម្រិតតិច'; + + @override + String get quizSelfResearchNo => 'មិនទេ ខ្ញុំអាស្រ័យលើអ្នកជំនាញទាំងស្រុង'; + + @override + String get captionAvailabilityTitle => + 'សំណួរសុខភាព មិនអនុវត្ត ម៉ោងការិយាល័យ។'; + + @override + String get captionAvailabilitySupport => + 'Doctorina មានស្រាប់ 24/7។'; + + @override + String get captionAvailabilityDescription => + 'ភាពច្បាស់លាស់មិនគួរត្រូវរង់ចាំសម្រាប់ការណាត់ជួបក្រោយទេ។'; + + @override + String get notificationTitle => 'តើអ្នកចង់ឱ្យយើងពិនិត្យសុខភាពរបស់អ្នកទេ?'; + + @override + String get notificationDescription => + 'AI អាចតាមដានរោគសញ្ញារបស់អ្នក និងជូនដំណឹងអ្នកប្រសិនបើអ្វីមួយត្រូវការការយកចិត្តទុកដាក់'; + + @override + String get notificationYes => 'បាទ — តាមដានសុខភាពរបស់ខ្ញុំ'; + + @override + String get notificationOnlyImportant => 'បាទ — តែបើមានអ្វីសំខាន់ផ្លាស់ប្តូរ'; + + @override + String get notificationNo => 'មិនប្រាកដទេ'; + + @override + String get referralSourceTitle => 'តើអ្នកបានឮអំពី Doctorina ពីគ្រូពេទ្យទេ?'; + + @override + String get referralSourceYes => 'បាទ'; + + @override + String get referralSourceNo => 'មិនមាន'; + + @override + String get processingSectionLabel => 'កំពុងវិភាគលទ្ធផលរបស់អ្នក'; + + @override + String get processingTitle => 'បុគ្គលភាពបទពិសោធន៍របស់អ្នក'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Doctorina Pro ជាមួយបទពិសោធន៍អសীম'; + + @override + String get paywallAssistantTagline => 'អ្នកជំនួយរបស់អ្នកដែលតែងតែជិតស្និទ្ធ'; + + @override + String get paywallEnableTrialToggle => 'មិនប្រាកដទេ? បើកសាកល្បងឥតគិតថ្លៃ។'; + + @override + String get paywallPlanYear => 'ប្រចាំឆ្នាំ'; + + @override + String get paywallPlanMonthly => 'ប្រចាំខែ'; + + @override + String get paywallPlanWeek => 'ប្រចាំសប្តាហ៍'; + + @override + String get paywallPlanDaily => 'ប្រចាំថ្ងៃ'; + + @override + String get paywallPlanYearPrice => '\$39.99 (តែ \$3.34/សប្តាហ៍)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'រក្សាទុក 58%'; + + @override + String get paywallContinueBtn => 'បន្ត'; + + @override + String get paywallStartTrialBtn => 'ចាប់ផ្តើមសាកល្បងឥតគិតថ្លៃ'; + + @override + String get paywallSubscriptionDisclaimer => + 'ការជាវគឺអាចធ្វើការបន្ថែមឡើងវិញដោយស្វ័យប្រវត្តិ។ អាចបោះបង់បានគ្រប់ពេល'; + + @override + String get paywallTermsPrivacy => + 'ល័ក្ខខ័ណ្ឌសេវាកម្ម | គោលការណ៍ឯកជនភាព'; + + @override + String get paywallPerWeek => 'សប្តាហ៍'; + + @override + String get processingLabel => 'កំពុងវិភាគលទ្ធផលរបស់អ្នក'; + + @override + String get paywallCloseTooltip => 'បិទការបណ្តុះបណ្តាល'; + + @override + String get paywallRestoreTooltip => 'ស្ដារការទិញ'; + + @override + String get paywallRestoreBtn => 'ស្ដារឡើងវិញ'; + + @override + String get paywallRestoreNoneFound => + 'មិនមានការជាវសកម្មណាមួយសម្រាប់កំណត់ឡើងវិញ។'; + + @override + String get paywallRestoreError => + 'មិនអាចស្ដារទិញបានទេ។ សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ។'; + + @override + String get paywallPurchaseError => + 'មិនអាចបញ្ចប់ការទិញបានទេ។ សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ'; + + @override + String get paywallTrialStep1Title => 'ថ្ងៃនេះ: ទទួលបានការចូលដំណើរការបន្ទាន់'; + + @override + String get paywallTrialStep1Description => + 'បើកចំហការចូលដំណើរការពេញលេញ ទទួលបានចម្លើយសុខភាព AI នៅពេលណាក៏ដោយ។'; + + @override + String get paywallTrialStep2Title => 'ថ្ងៃទី ២: ការរំលឹកសាកល្បង'; + + @override + String get paywallTrialStep2Description => + 'យើងនឹងផ្ញើការចងក្រងឲ្យអ្នកថា ការសាកល្បងរបស់អ្នកកំពុងនឹងបញ្ចប់'; + + @override + String get paywallTrialStep3Title => 'ថ្ងៃទី ៣: ការបន្ត'; + + @override + String paywallTrialStep3Description(String date) { + return 'អ្នកនឹងត្រូវបានគិតថ្លៃនៅថ្ងៃ $date អ្នកអាចបោះបង់បានគ្រប់ពេល។'; + } + + @override + String get paywallBenefitsHeader => 'អ្វីដែលមានក្នុងនេះ'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'ឯកជន និងសុវត្ថិភាព'; + + @override + String get paywallBenefitAiAssistant => 'ជំនួយ AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'ចម្លើយសុខភាពភ្លាមៗ'; + + @override + String get paywallBenefitScienceInsights => + 'ចំណេះដឹងដែលមានមូលដ្ឋានលើវិទ្យាសាស្ត្រ'; + + @override + String get paywallBenefitAutoSummaries => 'សេចក្តីសង្ខេបសន្ទនាអូតូ'; + + @override + String get paywallBenefitAnyLanguage => 'ភាសាណាមួយ នៅពេលណាក៏បាន'; + + @override + String get paywallPriceUnitPerWeek => 'ក្នុងមួយសប្តាហ៍'; + + @override + String get paywallOfferTitle => 'ការផ្តល់ជូនមួយដង'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% បញ្ចុះតម្លៃ'; + } + + @override + String get paywallOfferForeverBadge => 'ជានិច្ច'; + + @override + String get paywallOfferDisclaimer => + 'ពេលអ្នកបិទការផ្តល់ជូនមួយដងរបស់អ្នក វានឹងបាត់ទៅ!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/ខែ'; + } + + @override + String get paywallOfferLowestPriceBadge => 'តម្លៃទាបបំផុត'; + + @override + String get paywallOfferCancelAnytime => 'បោះបង់បានគ្រប់ពេល'; + + @override + String get paywallOfferClaimButton => 'ទាមទារប្រម៉ូសិនរបស់អ្នក'; + + @override + String get paywallOfferAutoRenewable => + 'ការជាវដែលអាចធ្វើឲ្យមានការបន្តដោយស្វ័យប្រវត្តិ'; + + @override + String get paywallGiftBoxTitle => 'អំណោយពិសេសនៅខាងក្នុង'; + + @override + String get paywallGiftBoxSubtitle => + 'ចុចមួយដងដើម្បីបង្ហាញអំពីការផ្តល់ជូនពិសេសរបស់អ្នក'; + + @override + String get paywallGiftBoxOpenButton => 'បើកឥឡូវនេះ'; + + @override + String get paywallRetryLoadPricesError => + 'មិនអាចផ្ទុកជម្រើសការជាវបានទេ។ សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ។'; + + @override + String get paywallPricesUnavailableTitle => 'មិនអាចផ្ទុកតម្លៃការជាវបាន'; + + @override + String get paywallPricesUnavailableMessage => + 'ពិនិត្យការតភ្ជាប់របស់អ្នក ហើយព្យាយាមម្តងទៀត។'; + + @override + String get paywallPricesUnavailableRetryButton => 'សាកល្បងម្តងទៀត'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_kn.dart b/example/lib/src/generated/onboarding/onboarding_localization_kn.dart new file mode 100644 index 0000000..9fb4d5b --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_kn.dart @@ -0,0 +1,490 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kannada (`kn`). +class OnboardingLocalizationKn extends OnboardingLocalization { + OnboardingLocalizationKn([String locale = 'kn']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ಅತ್ಯಾಧುನಿಕ ಎಐ ಆರೋಗ್ಯ ಸಹಾಯಕ'; + + @override + String get welcomeScreenTitle => 'ಡಾಕ್ಟರಿನಾಗೆ ಸ್ವಾಗತ'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'ಅನುಭವಿಸಿದ ವೈದ್ಯರು ಮಾಡುವಂತೆ ಲಕ್ಷಣಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ - ಮಾದರಿಗಳು, ಸಮಯ ಮತ್ತು ಸಂದರ್ಭವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ.'; + + @override + String get getStartedBtn => 'ಪ್ರಾರಂಭಿಸಿ'; + + @override + String get alreadyHaveAccount => 'ಇಲ್ಲಿಯೇ ಖಾತೆ ಇದೆಯಾ? ಲಾಗ್ ಇನ್'; + + @override + String get termsConsent => + 'ಮುಂದುವರಿಯುವುದರಿಂದ, ನೀವು ನಮ್ಮ ಸೇವೆಯ ನಿಯಮಗಳು | ಗೋಪ್ಯತಾ ನೀತಿ ಗೆ ಒಪ್ಪುತ್ತೀರಿ'; + + @override + String get personalizationInterruptionTitle => + 'ನಾವು ನಿಮ್ಮಿಗಾಗಿ ಡಾಕ್ಟೊರಿನಾ ವೈಯಕ್ತಿಕಗೊಳಿಸೋಣ'; + + @override + String get personalizationSectionLabel => 'ವೈಯಕ್ತಿಕೀಕರಣ'; + + @override + String get personalizationReasonTitle => 'ನೀವು ಇಂದೆಲ್ಲಿ ಬಂದಿದ್ದೀರಿ?'; + + @override + String get personalizationReasonSymptomsNow => + 'ನಾನು ಈಗ ಲಕ್ಷಣಗಳನ್ನು ಅನುಭವಿಸುತ್ತಿದ್ದೇನೆ'; + + @override + String get personalizationReasonUnderstandChange => + 'ನಾನು ಆರೋಗ್ಯ ಬದಲಾವಣೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ'; + + @override + String get personalizationReasonRuleOutSerious => + 'ನಾನು ಗಂಭೀರವಾದುದನ್ನು ಹೊರತುಪಡಿಸಲು ಬಯಸುತ್ತೇನೆ'; + + @override + String get personalizationReasonMonitoring => + 'ನಾನು ನನ್ನ ಆರೋಗ್ಯವನ್ನು ಪ್ರಾಯೋಗಿಕವಾಗಿ ಗಮನಿಸುತ್ತಿದ್ದೇನೆ'; + + @override + String get continueBtn => 'ಮುಂದುವರಿಯಿರಿ'; + + @override + String get captionEmpathyText => + 'ನಿಮ್ಮ ಆರೋಗ್ಯದಲ್ಲಿ ಏನಾದರೂ ಬದಲಾಯಿಸಿದಾಗ, ಏನು ಮುಖ್ಯವೆಂದು ತಿಳಿಯುವುದು ಕಷ್ಟವಾಗಿದೆ.'; + + @override + String get captionDifferentiatorText => + 'ಡಾಕ್ಟೊರಿನಾ ಲಕ್ಷಣಗಳ ಮಾದರಿಗಳು ಮತ್ತು ಸಮಯದ ಮೇಲೆ ಕೇಂದ್ರೀಕೃತವಾಗಿದೆ — ವೈದ್ಯರು ಆರಂಭದಲ್ಲಿ ನೋಡಲು ಬಯಸುವ ಅದೇ ಸಂಕೇತಗಳು.'; + + @override + String get genderTitle => 'ನಿಮ್ಮ ಲಿಂಗವನ್ನು ಆಯ್ಕೆಮಾಡಿ'; + + @override + String get genderSubtitle => + 'ಇದು ಲಕ್ಷಣಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ಶ್ರೇಣೀಬದ್ಧ ಶಿಫಾರಸುಗಳನ್ನು ಹೆಚ್ಚು ನಿಖರವಾಗಿ ನೀಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.'; + + @override + String get genderMale => 'ಪುರುಷ'; + + @override + String get genderFemale => 'ಮಹಿಳೆ'; + + @override + String get genderPreferNotSay => 'ಹೇಳಲು ಇಚ್ಛಿಸುವುದಿಲ್ಲ'; + + @override + String get ageTitle => 'ನಿಮ್ಮ ವಯಸ್ಸು ಏನು?'; + + @override + String get ageSubtitle => + 'ವಯಸ್ಸು ಆರೋಗ್ಯದ ಮಾದರಿಗಳನ್ನು ಹೆಚ್ಚು ನಿಖರವಾಗಿ ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.'; + + @override + String get socialProofLargeTitle => + '48k+ ಜನರು\nಡಾಕ್ಟರಿನಾ ಆಯ್ಕೆ ಮಾಡಿದ್ದಾರೆ'; + + @override + String get socialProofDisclaimer => + '*ಡಾಕ್ಟೊರಿನ ಬಳಕೆದಾರರ ಆಧಾರಿತ ಅಂಕಿ-ಅಂಶಗಳ ಮೇಲೆ'; + + @override + String get developedByDoctors => 'ವಿಕಸಿತವಾಗಿದೆ\nಡಾಕ್ಟರ್‌ಗಳು'; + + @override + String get quizStepLabel1 => 'ಹಂತ 1/6'; + + @override + String get quizHealthSituationTitle => + 'ನೀವು ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಆರೋಗ್ಯದ ಸ್ಥಿತಿಯನ್ನು ಹೇಗೆ ವರ್ಣಿಸುತ್ತೀರಿ?'; + + @override + String get quizHealthHealthy => 'ನಾನು ಸಾಮಾನ್ಯವಾಗಿ ಆರೋಗ್ಯವಾಗಿದ್ದೇನೆ'; + + @override + String get quizHealthMinorConcerns => 'ನನಗೆ ನಿರಂತರ ಸಣ್ಣ ಸಮಸ್ಯೆಗಳಿವೆ'; + + @override + String get quizHealthKnownCondition => + 'ನಾನು ತಿಳಿದಿರುವ ಸ್ಥಿತಿಯನ್ನು ನಿರ್ವಹಿಸುತ್ತಿದ್ದೇನೆ'; + + @override + String get quizHealthUnresolved => + 'ನಾನು ಪರಿಹಾರವಾಗದ ವಿಷಯವನ್ನು ಎದುರಿಸುತ್ತಿದ್ದೇನೆ'; + + @override + String get quizStepLabel2 => 'ಹಂತ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಡಾಕ್ಟರ್ ಅನ್ನು ಎಷ್ಟು ಬಾರಿ ಭೇಟಿಯಾಗುತ್ತೀರಿ?'; + + @override + String get quizDoctorVisitRegular => 'ನಿಯಮಿತವಾಗಿ (ಪರೀಕ್ಷೆಗಳು / ಅನುಸರಣೆಗಳು)'; + + @override + String get quizDoctorVisitOccasional => 'ಅವಕಾಶದಂತೆ, ಏನಾದರೂ ತಪ್ಪಾಗಿದಾಗ'; + + @override + String get quizDoctorVisitRare => 'ಅತೀ ಕಡಿಮೆ, ಅಗತ್ಯವಿದ್ದಾಗ ಮಾತ್ರ'; + + @override + String get quizDoctorVisitAvoid => 'ಡಾಕ್ಟರ್‌ಗಳಿಗೆ ಹೋಗಲು ಇಷ್ಟವಿಲ್ಲ'; + + @override + String get quizDoctorVisitNever => 'ನಾನು ಎಂದಿಗೂ ವೈದ್ಯರನ್ನು ಭೇಟಿಯಾಗಿಲ್ಲ'; + + @override + String get quizStepLabel3 => 'ಹಂತ 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'ಆರೋಗ್ಯ ಸೇವೆಯೊಂದಿಗೆ ನಿಮ್ಮ ದೊಡ್ಡ ಸವಾಲು ಏನು?'; + + @override + String get quizMultiSelectHint => 'ನೀವು ಇಷ್ಟಪಟ್ಟಷ್ಟು ಆಯ್ಕೆ ಮಾಡಬಹುದು'; + + @override + String get quizChallengeLongWait => 'ನಿಯೋಜನೆಗಳಿಗೆ ದೀರ್ಘ ಕಾಯುವ ಸಮಯಗಳು'; + + @override + String get quizChallengeRushedVisits => 'ಭೇಟಿಗಳು ತ್ವರಿತವಾಗಿವೆ'; + + @override + String get quizChallengeCost => 'ಹೆಚ್ಚಿನ ವೆಚ್ಚ ಅಥವಾ ಸ್ಪಷ್ಟವಲ್ಲದ ಬೆಲೆ'; + + @override + String get quizChallengeHardExplain => + 'ಎಲ್ಲವನ್ನೂ ಸ್ಪಷ್ಟವಾಗಿ ವಿವರಿಸಲು ಕಷ್ಟವಾಗಿದೆ'; + + @override + String get quizChallengeConflictingAdvice => + 'ವಿರೋಧಾಭಾಸದ ಅಭಿಪ್ರಾಯಗಳು ಅಥವಾ ಸಲಹೆಗಳು'; + + @override + String get quizChallengeNone => 'ಯಾವುದೇ ಪ್ರಮುಖ ಸಮಸ್ಯೆಗಳಿಲ್ಲ'; + + @override + String get quizStepLabel4 => 'ಹಂತ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'ನಿಮ್ಮ ವೈದ್ಯಕೀಯ ಭೇಟಿಯ ನಂತರ, ನೀವು ಕೇಳಿದ ವಿಷಯಗಳ ಬಗ್ಗೆ ನೀವು ಎಷ್ಟು ವಿಶ್ವಾಸದಿಂದಿದ್ದೀರಿ?'; + + @override + String get quizConfidenceNoRightAnswer => + 'ಇಲ್ಲಿಯೇ ಸರಿಯಾದ ಅಥವಾ ತಪ್ಪಾದ ಉತ್ತರವಿಲ್ಲ.'; + + @override + String get quizConfidenceVeryClear => 'ಊಹಿಸುವುದರಲ್ಲಿ ಬಹಳ ಸ್ಪಷ್ಟವಾಗಿದೆ'; + + @override + String get quizConfidenceSomewhatClear => 'ಸ್ವಲ್ಪ ಸ್ಪಷ್ಟ'; + + @override + String get quizConfidenceStillUncertain => 'ಇನ್ನೂ ಅನುಮಾನವಿದೆ'; + + @override + String get quizConfidenceMoreConfused => 'ಹಿಂದಿನಂತೆ ಹೆಚ್ಚು ಗೊಂದಲದಲ್ಲಿದ್ದೇನೆ'; + + @override + String get captionDiagnosisVsChange => + 'ಹೆಚ್ಚಿನ ಜನರು ನಿರ್ಧಾರದ ನಂತರ ಕಷ್ಟಪಡುವುದಿಲ್ಲ ಆದರೆ ಲಕ್ಷಣಗಳು ಕಾಲಕಾಲಕ್ಕೆ ಬದಲಾಯಿಸುವಾಗ.'; + + @override + String get quizStepLabel5 => 'ಹಂತ 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'ನೀವು ನಿಮ್ಮ ಚಿಂತೆಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಹೇಗೆ ಪರಿಹರಿಸುತ್ತಾರೆಂದು ನೀವು ಹೇಗೆ ಭಾವಿಸುತ್ತೀರಿ?'; + + @override + String get quizConcernsAddressedSubtitle => + 'ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಭಾವನೆಗಳ ಆಧಾರದ ಮೇಲೆ'; + + @override + String get quizConcernsVeryWell => 'ಚೆನ್ನಾಗಿದೆ'; + + @override + String get quizConcernsFairlyWell => 'ಚೆನ್ನಾಗಿದ್ದೆ'; + + @override + String get quizConcernsNotVeryWell => 'ಚೆನ್ನಾಗಿಲ್ಲ'; + + @override + String get quizConcernsVaries => 'ಇದು ಬಹಳ ಬದಲಾಗುತ್ತದೆ'; + + @override + String get quizStepLabel6 => 'ಹಂತ 6/6'; + + @override + String get quizSelfResearchTitle => + 'ಡಾಕ್ಟರ್ ಅವರನ್ನು ಭೇಟಿಯಾಗುವ ಮೊದಲು, ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಲಕ್ಷಣಗಳನ್ನು ಸ್ವಯಂ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಪ್ರಯತ್ನಿಸುತ್ತೀರಾ?'; + + @override + String get quizSelfResearchYes => + 'ಹೌದು, ನಾನು ವಿಷಯಗಳನ್ನು ಸಂಶೋಧಿಸುತ್ತೇನೆ ಮತ್ತು ಹಂಚಿಕೊಳ್ಳುತ್ತೇನೆ'; + + @override + String get quizSelfResearchSometimes => 'ಕೆಲವೊಮ್ಮೆ'; + + @override + String get quizSelfResearchRarely => 'ಅಲ್ಪವಾಗಿ'; + + @override + String get quizSelfResearchNo => + 'ಇಲ್ಲ, ನಾನು ಸಂಪೂರ್ಣವಾಗಿ ವೃತ್ತಿಪರರ ಮೇಲೆ ಅವಲಂಬಿತನಾಗಿದ್ದೇನೆ'; + + @override + String get captionAvailabilityTitle => + 'ಆರೋಗ್ಯ ಪ್ರಶ್ನೆಗಳು ಕಚೇರಿ ಸಮಯಗಳನ್ನು ಅನುಸರಿಸುತ್ತವೆ .'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 24/7 ಲಭ್ಯವಿದೆ.'; + + @override + String get captionAvailabilityDescription => + 'ಸ್ಪಷ್ಟತೆ ಮುಂದಿನ ನೇಮಕಾತಿಯ ನಿರೀಕ್ಷೆ ಮಾಡಬೇಕಾಗಿಲ್ಲ.'; + + @override + String get notificationTitle => + 'ನೀವು ನಿಮ್ಮ ಆರೋಗ್ಯ ಲಕ್ಷಣಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತೀರಾ?'; + + @override + String get notificationDescription => + 'ಎಐ ನಿಮ್ಮ ಲಕ್ಷಣಗಳನ್ನು ಗಮನಿಸುತ್ತೆ ಮತ್ತು ಏನಾದರೂ ಗಮನ ನೀಡಬೇಕಾದರೆ ನಿಮಗೆ ಎಚ್ಚರಿಕೆ ನೀಡುತ್ತದೆ'; + + @override + String get notificationYes => 'ಹೌದು — ನನ್ನ ಆರೋಗ್ಯವನ್ನು ಗಮನದಲ್ಲಿಡಿ'; + + @override + String get notificationOnlyImportant => + 'ಹೌದು — ಏನಾದರೂ ಪ್ರಮುಖವಾಗಿ ಬದಲಾಯಿಸಿದಾಗ ಮಾತ್ರ'; + + @override + String get notificationNo => 'ಇನ್ನೂ ಖಚಿತವಲ್ಲ'; + + @override + String get referralSourceTitle => + 'ನೀವು ಡಾಕ್ಟರ್‌ರಿಂದ ಡಾಕ್ಟೊರಿನ ಬಗ್ಗೆ ಕೇಳಿದ್ದೀರಾ?'; + + @override + String get referralSourceYes => 'ಹೌದು'; + + @override + String get referralSourceNo => 'ಇಲ್ಲ'; + + @override + String get processingSectionLabel => + 'ನಿಮ್ಮ ಫಲಿತಾಂಶಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತಿದ್ದೇವೆ'; + + @override + String get processingTitle => 'ನಿಮ್ಮ ಅನುಭವವನ್ನು ವೈಯಕ್ತಿಕಗೊಳಿಸುತ್ತಿದೆ'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => 'ಅನಿಯಮಿತ ಅನುಭವ Doctorina Pro'; + + @override + String get paywallAssistantTagline => + 'ನಿಮ್ಮ ಸಹಾಯಕನಾಗಿರುವವರು ಯಾವಾಗಲೂ ಹತ್ತಿರದಲ್ಲಿದ್ದಾರೆ'; + + @override + String get paywallEnableTrialToggle => + 'ನೀವು ಇನ್ನೂ ಖಚಿತವಲ್ಲವೇ? ಉಚಿತ ಪ್ರಯೋಗವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.'; + + @override + String get paywallPlanYear => 'ವಾರ್ಷಿಕ'; + + @override + String get paywallPlanMonthly => 'ಮಾಸಿಕ'; + + @override + String get paywallPlanWeek => 'ವಾರಿಕ'; + + @override + String get paywallPlanDaily => 'ದೈನಂದಿನ'; + + @override + String get paywallPlanYearPrice => '₹2,999 (ಪ್ರತಿ ವಾರ ₹83.34)'; + + @override + String get paywallPlanWeekPrice => '₹299'; + + @override + String get paywallSaveBadge => '58% ಉಳಿಸಿ'; + + @override + String get paywallContinueBtn => 'ಮುಂದುವರಿಯಿರಿ'; + + @override + String get paywallStartTrialBtn => 'ಮುಕ್ತ ಪ್ರಯೋಗವನ್ನು ಪ್ರಾರಂಭಿಸಿ'; + + @override + String get paywallSubscriptionDisclaimer => + 'ಚಂದಾ ಸ್ವಯಂ ನವೀಕರಣೀಯವಾಗಿದೆ. ಯಾವಾಗಲಾದರೂ ರದ್ದುಪಡಿಸಬಹುದು'; + + @override + String get paywallTermsPrivacy => + 'ಸೇವಾ ನಿಯಮಗಳು | ಗೋಪ್ಯತಾ ನೀತಿ'; + + @override + String get paywallPerWeek => 'ವಾರ'; + + @override + String get processingLabel => 'ನಿಮ್ಮ ಫಲಿತಾಂಶಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತಿದೆ'; + + @override + String get paywallCloseTooltip => 'ಆರಂಭವನ್ನು ಮುಚ್ಚಿ'; + + @override + String get paywallRestoreTooltip => 'ಖರೀದಿಗಳನ್ನು ಪುನಃ ಪುನಸ್ಥಾಪಿಸಿ'; + + @override + String get paywallRestoreBtn => 'ಪುನಃಸ್ಥಾಪನೆ'; + + @override + String get paywallRestoreNoneFound => + 'ಪುನಃಸ್ಥಾಪಿಸಲು ಯಾವುದೇ ಸಕ್ರಿಯ ಚಂದಾ ಕಂಡುಬಂದಿಲ್ಲ.'; + + @override + String get paywallRestoreError => + 'ಖರೀದಿಗಳನ್ನು ಪುನಃಸ್ಥಾಪಿಸಲು ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.'; + + @override + String get paywallPurchaseError => + 'ಖರೀದಿ ಪೂರ್ಣಗೊಳ್ಳಲಿಲ್ಲ. ದಯವಿಟ್ಟು ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.'; + + @override + String get paywallTrialStep1Title => 'ಇಂದು: ತಕ್ಷಣದ ಪ್ರವೇಶ ಪಡೆಯಿರಿ'; + + @override + String get paywallTrialStep1Description => + 'ಪೂರ್ಣ ಪ್ರವೇಶವನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ, ಯಾವಾಗ ಬೇಕಾದರೂ AI ಆರೋಗ್ಯ ಉತ್ತರಗಳನ್ನು ಪಡೆಯಿರಿ.'; + + @override + String get paywallTrialStep2Title => 'ದಿನ 2: ಪ್ರಯೋಗದ ನೆನಪಿನ'; + + @override + String get paywallTrialStep2Description => + 'ನಾವು ನಿಮ್ಮ ಪ್ರಯೋಗಾವಧಿ ಕೊನೆಗೊಳ್ಳುವ ಮುನ್ನ ನಿಮಗೆ ನೆನಪಿಸುತ್ತೇವೆ'; + + @override + String get paywallTrialStep3Title => 'ದಿನ 3: ಪುನಃನವೀಕರಣ'; + + @override + String paywallTrialStep3Description(String date) { + return '$date ರಂದು ನಿಮ್ಮನ್ನು ಚಾರ್ಜ್ ಮಾಡಲಾಗುತ್ತದೆ, ಯಾವಾಗಲೂ ರದ್ದು ಮಾಡಬಹುದು.'; + } + + @override + String get paywallBenefitsHeader => 'ಏನು ಒಳಗೊಂಡಿದೆ'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'ಖಾಸಗಿ ಮತ್ತು ಸುರಕ್ಷಿತ'; + + @override + String get paywallBenefitAiAssistant => 'ಎಐ ಸಹಾಯಕ, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'ತಕ್ಷಣದ ಆರೋಗ್ಯ ಉತ್ತರಗಳು'; + + @override + String get paywallBenefitScienceInsights => 'ಸ್ಪಷ್ಟ, ವಿಜ್ಞಾನಾಧಾರಿತ ಅರ್ಥಗಳು'; + + @override + String get paywallBenefitAutoSummaries => 'ಆಟೋ ಸಂವಾದ ಸಾರಾಂಶಗಳು'; + + @override + String get paywallBenefitAnyLanguage => 'ಯಾವುದೇ ಭಾಷೆ, ಯಾವಾಗಲೂ'; + + @override + String get paywallPriceUnitPerWeek => 'ಪ್ರತಿ ವಾರ'; + + @override + String get paywallOfferTitle => 'ಒಮ್ಮೆ ನೀಡುವ ಆಫರ್'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ರಿಯಾಯಿತಿ'; + } + + @override + String get paywallOfferForeverBadge => 'ಶಾಶ್ವತ'; + + @override + String get paywallOfferDisclaimer => + 'ನೀವು ನಿಮ್ಮ ಒಮ್ಮೆ ನೀಡುವ ಆಫರ್ ಅನ್ನು ಮುಚ್ಚಿದಾಗ, ಅದು ಹೋಗುತ್ತದೆ!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/ತಿಂಗಳು'; + } + + @override + String get paywallOfferLowestPriceBadge => 'ಎಲ್ಲಾ ಕಾಲದ ಕಡಿಮೆ ಬೆಲೆ'; + + @override + String get paywallOfferCancelAnytime => 'ಯಾವಾಗ ಬೇಕಾದರೂ ರದ್ದುಪಡಿಸಬಹುದು'; + + @override + String get paywallOfferClaimButton => 'ನಿಮ್ಮ ಆಫರ್ ಅನ್ನು ಕ್ಲೇಮ್ ಮಾಡಿ'; + + @override + String get paywallOfferAutoRenewable => 'ಆಟೋ-ನವೀಕರಣ ಚಂದಾ'; + + @override + String get paywallGiftBoxTitle => 'ವಿಶೇಷ ಉಡುಗೊರೆ ಒಳಗೆ'; + + @override + String get paywallGiftBoxSubtitle => + 'ಒಂದು ಟ್ಯಾಪ್‌ನಲ್ಲಿ ನಿಮ್ಮ ವಿಶೇಷ ಆಫರ್ ಅನ್ನು ಬಹಿರಂಗಪಡಿಸಿ'; + + @override + String get paywallGiftBoxOpenButton => 'ಈಗ ತೆರೆಯಿರಿ'; + + @override + String get paywallRetryLoadPricesError => + 'ಚಂದಾ ಆಯ್ಕೆಯನ್ನು ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.'; + + @override + String get paywallPricesUnavailableTitle => + 'ಚಂದಾ ಬೆಲೆಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ'; + + @override + String get paywallPricesUnavailableMessage => + 'ನಿಮ್ಮ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.'; + + @override + String get paywallPricesUnavailableRetryButton => 'ಮರು ಪ್ರಯತ್ನಿಸಿ'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ko.dart b/example/lib/src/generated/onboarding/onboarding_localization_ko.dart new file mode 100644 index 0000000..822d859 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ko.dart @@ -0,0 +1,453 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Korean (`ko`). +class OnboardingLocalizationKo extends OnboardingLocalization { + OnboardingLocalizationKo([String locale = 'ko']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => '고급 AI 건강 도우미'; + + @override + String get welcomeScreenTitle => '닥터리나에 오신 것을 환영합니다!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + '경험이 풍부한 임상의처럼 증상을 분석하도록 설계되었습니다 — 패턴, 타이밍 및 맥락을 이해함으로써.'; + + @override + String get getStartedBtn => '시작하기'; + + @override + String get alreadyHaveAccount => '이미 계정이 있나요? 로그인'; + + @override + String get termsConsent => + '계속하면 귀하는 우리의\n서비스 약관 | 개인정보 처리방침 에 동의하게 됩니다'; + + @override + String get personalizationInterruptionTitle => + 'Doctorina 을(를) 개인화해 보겠습니다'; + + @override + String get personalizationSectionLabel => '개인화'; + + @override + String get personalizationReasonTitle => '오늘 여기 오신 이유는 무엇인가요?'; + + @override + String get personalizationReasonSymptomsNow => '저는 지금 증상이 있습니다'; + + @override + String get personalizationReasonUnderstandChange => '건강 변화를 이해하고 싶습니다'; + + @override + String get personalizationReasonRuleOutSerious => '나는 심각한 문제를 배제하고 싶다'; + + @override + String get personalizationReasonMonitoring => '저는 제 건강을 적극적으로 모니터링하고 있습니다'; + + @override + String get continueBtn => '계속'; + + @override + String get captionEmpathyText => '건강에 변화가 생기면 중요한 것이 무엇인지 아는 것이 가장 어렵습니다.'; + + @override + String get captionDifferentiatorText => + 'Doctorina는 증상 패턴과 타이밍에 집중합니다 — 이는 임상의가 초기에 찾는 신호와 동일합니다.'; + + @override + String get genderTitle => '성별을 선택하세요'; + + @override + String get genderSubtitle => '이것은 증상을 해석하고 더 정확하게 권장 사항을 제공하는 데 도움이 됩니다'; + + @override + String get genderMale => '남성'; + + @override + String get genderFemale => '여성'; + + @override + String get genderPreferNotSay => '말하고 싶지 않음'; + + @override + String get ageTitle => '당신의 나이는 얼마입니까?'; + + @override + String get ageSubtitle => '나이는 건강 패턴을 더 정확하게 평가하는 데 도움이 됩니다'; + + @override + String get socialProofLargeTitle => + '48k+명이 넘는 사람들\nDoctorina를 선택했습니다'; + + @override + String get socialProofDisclaimer => '*Doctorina 사용자 통계 기반'; + + @override + String get developedByDoctors => '의사에 의해 개발됨'; + + @override + String get quizStepLabel1 => '단계 1/6'; + + @override + String get quizHealthSituationTitle => '현재 건강 상태를 어떻게 설명하시겠습니까?'; + + @override + String get quizHealthHealthy => '저는 일반적으로 건강하다고 느낍니다'; + + @override + String get quizHealthMinorConcerns => '나는 지속적인 사소한 걱정이 있습니다'; + + @override + String get quizHealthKnownCondition => '저는 알려진 질환을 관리하고 있습니다'; + + @override + String get quizHealthUnresolved => '나는 해결되지 않은 문제를 다루고 있습니다'; + + @override + String get quizStepLabel2 => '단계 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => '보통 얼마나 자주 의사를 만나나요?'; + + @override + String get quizDoctorVisitRegular => '정기적으로(검진/추적)'; + + @override + String get quizDoctorVisitOccasional => '가끔, 문제가 있을 때'; + + @override + String get quizDoctorVisitRare => '드물게, 필요할 경우에만'; + + @override + String get quizDoctorVisitAvoid => '의사 방문을 피하세요'; + + @override + String get quizDoctorVisitNever => '나는 의사를 한 번도 방문한 적이 없습니다'; + + @override + String get quizStepLabel3 => '단계 3/6'; + + @override + String get quizBiggestChallengeTitle => '지금까지 의료 서비스에서 가장 큰 도전은 무엇이었나요?'; + + @override + String get quizMultiSelectHint => '원하는 만큼 선택하세요'; + + @override + String get quizChallengeLongWait => '예약 대기 시간이 길다'; + + @override + String get quizChallengeRushedVisits => '방문이 급하게 느껴진다'; + + @override + String get quizChallengeCost => '높은 비용 또는 불명확한 가격'; + + @override + String get quizChallengeHardExplain => '모든 것을 명확하게 설명하기 어렵다'; + + @override + String get quizChallengeConflictingAdvice => '상충하는 의견이나 조언'; + + @override + String get quizChallengeNone => '주요 문제가 없습니다'; + + @override + String get quizStepLabel4 => '단계 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + '진료 후, 의사가 말한 내용에 대해 얼마나 자신감을 느끼십니까?'; + + @override + String get quizConfidenceNoRightAnswer => '정답이나 오답이 없습니다'; + + @override + String get quizConfidenceVeryClear => '무슨 일이 일어나고 있는지 매우 명확합니다'; + + @override + String get quizConfidenceSomewhatClear => '다소 명확함'; + + @override + String get quizConfidenceStillUncertain => '여전히 불확실합니다'; + + @override + String get quizConfidenceMoreConfused => '이전보다 더 혼란스러움'; + + @override + String get captionDiagnosisVsChange => + '많은 사람들이 진단 후에 힘들어하는 것이 아니라 증상이 시간이 지남에 따라 변할 때 힘들어합니다.'; + + @override + String get quizStepLabel5 => '단계 5/6'; + + @override + String get quizConcernsAddressedTitle => '귀하의 우려가 보통 얼마나 잘 해결된다고 느끼십니까?'; + + @override + String get quizConcernsAddressedSubtitle => '귀하의 주관적인 느낌에 따라'; + + @override + String get quizConcernsVeryWell => '아주 좋습니다'; + + @override + String get quizConcernsFairlyWell => '꽤 잘'; + + @override + String get quizConcernsNotVeryWell => '그다지 좋지 않음'; + + @override + String get quizConcernsVaries => '많이 다릅니다'; + + @override + String get quizStepLabel6 => '단계 6/6'; + + @override + String get quizSelfResearchTitle => '의사를 만나기 전에 증상을 스스로 이해하려고 하시나요?'; + + @override + String get quizSelfResearchYes => '네, 저는 연구하고 추적합니다'; + + @override + String get quizSelfResearchSometimes => '가끔'; + + @override + String get quizSelfResearchRarely => '드물게'; + + @override + String get quizSelfResearchNo => '아니요, 저는 전적으로 전문가에게 의존합니다'; + + @override + String get captionAvailabilityTitle => + '건강 질문은 근무 시간 에 제한되지 않습니다.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina는 24/7 이용 가능합니다.'; + + @override + String get captionAvailabilityDescription => '명확함은 다음 약속을 기다릴 필요가 없습니다'; + + @override + String get notificationTitle => '귀하의 건강 증상을 확인해 드릴까요?'; + + @override + String get notificationDescription => + 'AI가 귀하의 증상을 모니터링하고 주의가 필요한 경우 알림을 보낼 수 있습니다'; + + @override + String get notificationYes => '네 — 제 건강을 지켜봐 주세요'; + + @override + String get notificationOnlyImportant => '예 — 중요한 사항이 변경될 경우에만'; + + @override + String get notificationNo => '아직 확실하지 않아요'; + + @override + String get referralSourceTitle => '의사에게서 Doctorina에 대해 들으셨나요?'; + + @override + String get referralSourceYes => '네'; + + @override + String get referralSourceNo => '아니요'; + + @override + String get processingSectionLabel => '결과 분석 중'; + + @override + String get processingTitle => '귀하의 경험을 개인화하는 중'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => 'Doctorina Pro 와 함께하는 무제한 경험'; + + @override + String get paywallAssistantTagline => '항상 곁에 있는 당신의 도우미'; + + @override + String get paywallEnableTrialToggle => '아직 확실하지 않으신가요? 무료 체험을 활성화하세요.'; + + @override + String get paywallPlanYear => '연간'; + + @override + String get paywallPlanMonthly => '매월'; + + @override + String get paywallPlanWeek => '주간'; + + @override + String get paywallPlanDaily => '일일'; + + @override + String get paywallPlanYearPrice => '39.99달러(주당 3.34달러)'; + + @override + String get paywallPlanWeekPrice => '₩4,400'; + + @override + String get paywallSaveBadge => '58% 절약'; + + @override + String get paywallContinueBtn => '계속'; + + @override + String get paywallStartTrialBtn => '무료 체험 시작'; + + @override + String get paywallSubscriptionDisclaimer => '구독은 자동 갱신됩니다. 언제든지 취소할 수 있습니다'; + + @override + String get paywallTermsPrivacy => + '서비스 약관 | 개인정보 처리방침'; + + @override + String get paywallPerWeek => '주'; + + @override + String get processingLabel => '결과를 분석하는 중'; + + @override + String get paywallCloseTooltip => '온보딩 닫기'; + + @override + String get paywallRestoreTooltip => '구매 복원'; + + @override + String get paywallRestoreBtn => '복원'; + + @override + String get paywallRestoreNoneFound => '복원할 수 있는 활성 구독이 없습니다'; + + @override + String get paywallRestoreError => '구매 복원에 실패했습니다. 나중에 다시 시도해 주세요.'; + + @override + String get paywallPurchaseError => '구매를 완료하지 못했습니다. 나중에 다시 시도해 주세요.'; + + @override + String get paywallTrialStep1Title => '오늘: 즉시 액세스하기'; + + @override + String get paywallTrialStep1Description => + '전체 액세스를 잠금 해제하고 언제든지 AI 건강 답변을 받으세요.'; + + @override + String get paywallTrialStep2Title => '2일차: 체험판 알림'; + + @override + String get paywallTrialStep2Description => '시험이 곧 종료된다는 알림을 보내드립니다'; + + @override + String get paywallTrialStep3Title => '3일차: 갱신'; + + @override + String paywallTrialStep3Description(String date) { + return '$date에 요금이 청구됩니다. 그 이전에 언제든지 취소할 수 있습니다.'; + } + + @override + String get paywallBenefitsHeader => '포함된 내용'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => '개인적이고 안전함'; + + @override + String get paywallBenefitAiAssistant => 'AI 어시스턴트, 24/7'; + + @override + String get paywallBenefitInstantAnswers => '즉각적인 건강 답변'; + + @override + String get paywallBenefitScienceInsights => '명확하고 과학에 기반한 통찰력'; + + @override + String get paywallBenefitAutoSummaries => '자동 대화 요약'; + + @override + String get paywallBenefitAnyLanguage => '언제든지 어떤 언어든지'; + + @override + String get paywallPriceUnitPerWeek => '주당'; + + @override + String get paywallOfferTitle => '일회성 제안'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% 할인'; + } + + @override + String get paywallOfferForeverBadge => '영원히'; + + @override + String get paywallOfferDisclaimer => '일회성 제안을 닫으면 사라집니다!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/월'; + } + + @override + String get paywallOfferLowestPriceBadge => '역대 최저가'; + + @override + String get paywallOfferCancelAnytime => '언제든지 취소 가능'; + + @override + String get paywallOfferClaimButton => '제안을 청구하세요'; + + @override + String get paywallOfferAutoRenewable => '자동 갱신 구독'; + + @override + String get paywallGiftBoxTitle => '특별한 선물이 있습니다'; + + @override + String get paywallGiftBoxSubtitle => '특별 제안을 공개하려면 한 번 탭하세요'; + + @override + String get paywallGiftBoxOpenButton => '지금 열기'; + + @override + String get paywallRetryLoadPricesError => + '구독 옵션을 불러오는 데 실패했습니다. 나중에 다시 시도해 주세요.'; + + @override + String get paywallPricesUnavailableTitle => '구독 가격을 불러올 수 없습니다'; + + @override + String get paywallPricesUnavailableMessage => '연결을 확인하고 다시 시도하세요.'; + + @override + String get paywallPricesUnavailableRetryButton => '다시 시도해 주세요'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_lo.dart b/example/lib/src/generated/onboarding/onboarding_localization_lo.dart new file mode 100644 index 0000000..81b68b1 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_lo.dart @@ -0,0 +1,480 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Lao (`lo`). +class OnboardingLocalizationLo extends OnboardingLocalization { + OnboardingLocalizationLo([String locale = 'lo']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ຜູ້ຊ່ວຍເສດສະດວກສຸຂະພາບ AI ທີ່ລະດັບສູງ'; + + @override + String get welcomeScreenTitle => 'ຍິນດີຕ໭ິດອກທີ່ມາສູ່ Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'ອອກແບບເພື່ອວິເຄາະອາການແບບທີ່ປະສົບການສຶກສາ — ດ້ວຍການເຂົ້າໃຈລັກສະນະ, ເວລາ, ແລະສະຖານທີ່.'; + + @override + String get getStartedBtn => 'ເລີ່ມຕົ້ນ'; + + @override + String get alreadyHaveAccount => + 'ມີບັດບັດກ່ຽວກັບບັດບັດບໍ? ເຂົ້າໄປ'; + + @override + String get termsConsent => + 'ດ໳ກັບການດຳເນີນງານ, ທ່ານຍອມຮັບກັບຂໍໍ່ສະຖານທີ່ຂອງເຮົາ\nເງື່ອນໄຂການໃຊ້ງານ | ນโยบายຄວາມລັບ'; + + @override + String get personalizationInterruptionTitle => + 'ມາປັບປຸງ Doctorina ສໍາລັບທ່ານ'; + + @override + String get personalizationSectionLabel => 'ການປັບປຸງ'; + + @override + String get personalizationReasonTitle => 'ສິ່ງທີ່ນຳໃຈເຂົ້າມາທີ່ນີ້ແມ່ນຫຍັງ?'; + + @override + String get personalizationReasonSymptomsNow => + 'ຂໍແຈ້ງວ່າຂໍແກ່ລະບົບສະຖານທີ່ມີອາການ'; + + @override + String get personalizationReasonUnderstandChange => + 'ຂໍແຈ້ງເພື່ອເຂົ້າໃຈການແປງສະຖານະສຸຂະພາບ'; + + @override + String get personalizationReasonRuleOutSerious => + 'ຂໍແຈ້ງວ່າບໍ່ມີບັດສະຖານສຸດທ້າຍ'; + + @override + String get personalizationReasonMonitoring => + 'ຂ້ອຍກຳລັງຕິດຕາມສຸຂະພາບຂອງຂ້ອຍຢ່າງຕັ້ງໜ້າ'; + + @override + String get continueBtn => 'ດຳເນີນຕໍ່'; + + @override + String get captionEmpathyText => + 'ເມື່ອມີບາດແປງໃນສະຖານະສຸຂະພາບຂອງທ່ານ, ການຮູ້ວ່າສິ່ງໃດສຳຄັນສຸດແມ່ນສິ່ງທີ່ຍາກທີ່ສຸດ.'; + + @override + String get captionDifferentiatorText => + 'Doctorina ສົນໃຈໃນລັກສະນະສິນທິບັດແລະເວລາ — ສັນຍານເດີນທີ່ແພດເບິ່ງໃນຕອນເລີ່ມ.'; + + @override + String get genderTitle => 'ເລືອກເພດຂອງເຈົ້າ'; + + @override + String get genderSubtitle => + 'ນີ້ເຮັດໃຫ້ເຮົາອໍານວນສະຖານະອາການແລະໃຫ້ຄໍາແນະນຳໄດ້ຢ່າງຖືກຕໍ່.'; + + @override + String get genderMale => 'ຊາຍ'; + + @override + String get genderFemale => 'ຍິງ'; + + @override + String get genderPreferNotSay => 'ບໍ່ຢາກໃຫ້ລະບຸ'; + + @override + String get ageTitle => 'ທ່ານອາຍຸເທົ່າໃດ?'; + + @override + String get ageSubtitle => + 'ອາຍຸເຮັດໃຫ້ເຮັດໃຫ້ພວກເຮົາປ່ອນສະຖານະສຸຂະພາບໄດ້ຢ່າງຖືກຕໍ່ສູງ.'; + + @override + String get socialProofLargeTitle => + 'ມີຄົນເລືອກເປັນສະຖານທີ່ໃນການເລືອກ 48k+\nທີ່ເລືອກ Doctorina'; + + @override + String get socialProofDisclaimer => '*ອີງຕາມສະຖິຕິຂອງຜູ້ໃຊ້ Doctorina'; + + @override + String get developedByDoctors => 'ພັດທະນາໂດຍ
ແພດ'; + + @override + String get quizStepLabel1 => 'ຂະບວນການ 1/6'; + + @override + String get quizHealthSituationTitle => + 'ທ່ານຈະອະທິບາຍສະພາບສຸຂະພາບໃນປະຈຸບັນຂອງທ່ານແນວໃດ?'; + + @override + String get quizHealthHealthy => 'ໂດຍທົ່ວໄປຂ້ອຍຮູ້ສຶກມີສຸຂະພາບດີ'; + + @override + String get quizHealthMinorConcerns => 'ຂ້ອຍມີຄວາມກັງວົນເລັກນ້ອຍຢ່າງຕໍ່ເນື່ອງ'; + + @override + String get quizHealthKnownCondition => 'ຂ້ອຍກຳລັງຈັດການກັບສະພາບທີ່ຮູ້ຈັກ'; + + @override + String get quizHealthUnresolved => + 'ຂ້ອຍກຳລັງຈັດການກັບບາງສິ່ງບາງຢ່າງທີ່ຍັງບໍ່ໄດ້ຮັບການແກ້ໄຂ'; + + @override + String get quizStepLabel2 => 'ຂັ້ນຕອນທີ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'ປົກກະຕິແລ້ວເຈົ້າໄປພົບແພດເລື້ອຍປານໃດ?'; + + @override + String get quizDoctorVisitRegular => 'ເປັນປະຈຳ (ກວດສຸຂະພາບ / ຕິດຕາມ)'; + + @override + String get quizDoctorVisitOccasional => 'ບາງຄັ້ງຄາວ, ເມື່ອມີບາງຢ່າງຜິດພາດ'; + + @override + String get quizDoctorVisitRare => 'ບໍ່ຄ່ອຍ, ສະເພາະເມື່ອຈຳເປັນເທົ່ານັ້ນ'; + + @override + String get quizDoctorVisitAvoid => 'ທ່ານບໍ່ມັກເຂົ້າໄປຫາແພດ'; + + @override + String get quizDoctorVisitNever => 'ຂ້ອຍບໍ່ເຄີຍໄປຫາໝໍມາກ່ອນ'; + + @override + String get quizStepLabel3 => 'ຂັ້ນຕອນທີ 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'ສິ່ງທ້າທາຍທີ່ໃຫຍ່ທີ່ສຸດຂອງເຈົ້າກັບການດູແລສຸຂະພາບມາຮອດປະຈຸບັນແມ່ນຫຍັງ?'; + + @override + String get quizMultiSelectHint => 'ເລືອກຫຼາຍເທົ່າທີ່ທ່ານມັກ'; + + @override + String get quizChallengeLongWait => 'ເວລາລໍຖ້າດົນສຳລັບການນັດໝາຍ'; + + @override + String get quizChallengeRushedVisits => 'ການຢ້ຽມຢາມຮູ້ສຶກວ່າຮີບຮ້ອນ'; + + @override + String get quizChallengeCost => 'ຄ່າໃຊ້ຈ່າຍສູງ ຫຼື ລາຄາບໍ່ຊັດເຈນ'; + + @override + String get quizChallengeHardExplain => 'ຍາກທີ່ຈະອະທິບາຍທຸກຢ່າງໃຫ້ຊັດເຈນ'; + + @override + String get quizChallengeConflictingAdvice => + 'ຄວາມຄິດເຫັນ ຫຼື ຄຳແນະນຳທີ່ຂັດແຍ້ງກັນ'; + + @override + String get quizChallengeNone => 'ບໍ່ມີບັນຫາໃຫຍ່'; + + @override + String get quizStepLabel4 => 'ຂັ້ນຕອນທີ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'ຫຼັງຈາກນັດໝາຍແລ້ວ, ເຈົ້າຮູ້ສຶກໝັ້ນໃຈແນວໃດກ່ຽວກັບສິ່ງທີ່ເຈົ້າໄດ້ຍິນມາ?'; + + @override + String get quizConfidenceNoRightAnswer => 'ບໍ່ມີຄຳຕອບທີ່ຖືກ ຫຼື ຜິດ.'; + + @override + String get quizConfidenceVeryClear => 'ຊັດເຈນຫຼາຍກ່ຽວກັບສິ່ງທີ່ເກີດຂຶ້ນ'; + + @override + String get quizConfidenceSomewhatClear => 'ຂ້ອນຂ້າງຈະແຈ້ງ'; + + @override + String get quizConfidenceStillUncertain => 'ຍັງບໍ່ແນ່ນອນ'; + + @override + String get quizConfidenceMoreConfused => 'ສັບສົນຫຼາຍກວ່າແຕ່ກ່ອນ'; + + @override + String get captionDiagnosisVsChange => + 'ຄົນຫລາຍ ປະສົບບັນຫາບໍ່ຫຼັງຈາກການວินິຈັນ ແຕ່ເມື່ອອາການແປ່ງໃນເວລາ.'; + + @override + String get quizStepLabel5 => 'ຂັ້ນຕອນທີ 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'ເຈົ້າຮູ້ສຶກວ່າຄວາມກັງວົນຂອງເຈົ້າມັກຈະໄດ້ຮັບການແກ້ໄຂດີສໍ່າໃດ?'; + + @override + String get quizConcernsAddressedSubtitle => 'ອີງຕາມຄວາມຮູ້ສຶກສ່ວນຕົວຂອງເຈົ້າ'; + + @override + String get quizConcernsVeryWell => 'ດີຫຼາຍ'; + + @override + String get quizConcernsFairlyWell => 'ດີພໍສົມຄວນ'; + + @override + String get quizConcernsNotVeryWell => 'ບໍ່ຄ່ອຍດີປານໃດ'; + + @override + String get quizConcernsVaries => 'ມັນແຕກຕ່າງກັນຫຼາຍ'; + + @override + String get quizStepLabel6 => 'ຂັ້ນຕອນທີ 6/6'; + + @override + String get quizSelfResearchTitle => + 'ກ່ອນທີ່ຈະໄປພົບແພດ, ໂດຍປົກກະຕິແລ້ວທ່ານພະຍາຍາມເຂົ້າໃຈອາການຕ່າງໆດ້ວຍຕົນເອງບໍ?'; + + @override + String get quizSelfResearchYes => + 'ແມ່ນແລ້ວ, ຂ້ອຍຄົ້ນຄວ້າ ແລະ ຕິດຕາມສິ່ງຕ່າງໆ'; + + @override + String get quizSelfResearchSometimes => 'ບາງຄັ້ງ'; + + @override + String get quizSelfResearchRarely => 'ບໍ່ຄ່ອຍມີ'; + + @override + String get quizSelfResearchNo => 'ບໍ່, ຂ້ອຍອາໄສຜູ້ຊ່ຽວຊານທັງໝົດ'; + + @override + String get captionAvailabilityTitle => + 'ຄຳຖາມກ່ຽວກັບສຸຂະພາບ <ສີຂຽວ>ບໍ່ປະຕິບັດຕາມ ເວລາເຮັດວຽກ.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina ມີໃຫ້ບໍລິການ <ສີຂຽວ> 24/7.'; + + @override + String get captionAvailabilityDescription => + 'ຄວາມຊັດເຈນບໍ່ຄວນຕ້ອງລໍຖ້າການນັດໝາຍຄັ້ງຕໍ່ໄປ.'; + + @override + String get notificationTitle => + 'ທ່ານຕ້ອງການໃຫ້ເຮົາສົມບູນກ່ຽວກັບອາການສຸຂະພາບຂອງທ່ານບໍ?'; + + @override + String get notificationDescription => + 'AI ສາມາດຕິດຕາມອາການຂອງທ່ານແລະແຈ້ງບອກທ່ານຖ້າມີສິ່ງທີ່ອາດຈະຕ້ອງໃສ່ໃຈ'; + + @override + String get notificationYes => 'ແມ່ນ — ຄອບຄອງສຸຂະພາບຂອງຂໍ້ມູນຂອງຂໍ້ມູນ'; + + @override + String get notificationOnlyImportant => 'ແມ່ນ — ແຕ່ສໍາລັບສິ່ງສຳຄັນແທ້ແລ້ວ'; + + @override + String get notificationNo => 'ບໍ່ແນ່ໃຈຍັງ'; + + @override + String get referralSourceTitle => 'ເຈົ້າໄດ້ຍິນກ່ຽວກັບ Doctorina ຈາກທ່ານໝໍບໍ?'; + + @override + String get referralSourceYes => 'ແມ່ນແລ້ວ'; + + @override + String get referralSourceNo => 'ບໍ່'; + + @override + String get processingSectionLabel => 'ການວິເຄາະຜົນໄດ້ຮັບຂອງທ່ານ'; + + @override + String get processingTitle => 'ການປັບແຕ່ງປະສົບການຂອງທ່ານໃຫ້ເປັນສ່ວນຕົວ'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'ປະສົບການທີ່ບໍ່ຈຳກັດກັບ Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'ຜູ້ຊ່ວຍຂອງທ່ານທີ່ຢູ່ໃກ້ຄຽງສະເໝີ'; + + @override + String get paywallEnableTrialToggle => 'ຍັງບໍ່ແນ່ໃຈບໍ? ເປີດການທົດລອງໃຊ້ຟຣີ.'; + + @override + String get paywallPlanYear => 'ປະຈຳປີ'; + + @override + String get paywallPlanMonthly => 'ລາຍເດືອນ'; + + @override + String get paywallPlanWeek => 'ປະຈຳອາທິດ'; + + @override + String get paywallPlanDaily => 'ປະຈຳວັນ'; + + @override + String get paywallPlanYearPrice => '\$39.99 (ພຽງແຕ່ \$3.34/ອາທິດ)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'ປະຢັດ 58%'; + + @override + String get paywallContinueBtn => 'ສືບຕໍ່'; + + @override + String get paywallStartTrialBtn => 'ເລີ່ມການທົດລອງໃຊ້ຟຣີ'; + + @override + String get paywallSubscriptionDisclaimer => + 'ການສະໝັກໃຊ້ສາມາດຕໍ່ອາຍຸໄດ້ໂດຍອັດຕະໂນມັດ. ຍົກເລີກໄດ້ທຸກເວລາ'; + + @override + String get paywallTermsPrivacy => + 'ເງື່ອນໄຂການໃຫ້ບໍລິການ | <ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ>ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ'; + + @override + String get paywallPerWeek => 'ອາທິດ'; + + @override + String get processingLabel => 'ກຳລັງວິເຄາະຜົນໄດ້ຮັບຂອງທ່ານ'; + + @override + String get paywallCloseTooltip => 'ປິດການເປີດຕົວ'; + + @override + String get paywallRestoreTooltip => 'ກູ້ຄືນການຊື້'; + + @override + String get paywallRestoreBtn => 'ກູ້ຄືນ'; + + @override + String get paywallRestoreNoneFound => + 'ບໍ່ພົບການສະໝັກໃຊ້ທີ່ໃຊ້ງານຢູ່ເພື່ອກູ້ຄືນ.'; + + @override + String get paywallRestoreError => + 'ກູ້ຄືນການຊື້ບໍ່ສຳເລັດ. ກະລຸນາລອງໃໝ່ໃນພາຍຫຼັງ.'; + + @override + String get paywallPurchaseError => + 'ບໍ່ສາมາດສຳເລັດການຊື້. ກະລຸນາລອງໃໝ່ໃນເວລາຕໍ່ໄປ.'; + + @override + String get paywallTrialStep1Title => 'ມື້ນີ້: ຮັບການເຂົ້າເຖິງທັນທີ'; + + @override + String get paywallTrialStep1Description => + 'ເປີດການເຂົ້າເຖິງສິດທິສົມບູນ, ຮັບຄໍາແນະນຳສຸຂະພາບ AI, ໃນເວລາໃດກໍ່ແລ້ວ.'; + + @override + String get paywallTrialStep2Title => 'ມື້ 2: ການລືມຄືນກ່ຽວກັບການທົດລອງ'; + + @override + String get paywallTrialStep2Description => + 'ພວກເຮົາຈະສົ່ງຄວາມຈື່ຈິງວ່າການທົດລອງຂອງທ່ານກຳລັງຈະສິ້ນສຸດ'; + + @override + String get paywallTrialStep3Title => 'ວັນ 3: ການປິດໃໝ່'; + + @override + String paywallTrialStep3Description(String date) { + return 'ທ່ານຈະເປັນຄ່າໃນວັນທີ $date, ຍົກເລີກໃນເວລາໃດກໍ່ໄດ້.'; + } + + @override + String get paywallBenefitsHeader => 'ສິ່ງທີ່ລວມເຂົ້າ'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'ສ່ວນຕົວແລະປອດໄພ'; + + @override + String get paywallBenefitAiAssistant => 'ຜູ້ຊ່ວຍໃນດ້ານ AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => + 'ຄໍາຕອບສຸດທ້າຍສໍາລັບສະຖານທີ່ສຸດທ້າຍ'; + + @override + String get paywallBenefitScienceInsights => 'Clear, science-based insights'; + + @override + String get paywallBenefitAutoSummaries => 'ສະຫຼຸບສົນທະນາອັດຕະໂນມັດ'; + + @override + String get paywallBenefitAnyLanguage => 'ພາສາໃດກໍ່ໄດ້, ໃນເວລາໃດກໍ່ໄດ້'; + + @override + String get paywallPriceUnitPerWeek => 'ຕໍ່ອາທິດ'; + + @override + String get paywallOfferTitle => 'ຂໍ້ແນະນຳສຽງແບບດຽວ'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ສິດສ່ວນລົດ'; + } + + @override + String get paywallOfferForeverBadge => 'FOREVER'; + + @override + String get paywallOfferDisclaimer => + 'ເມື່ອເປິດສະເພາະສຽງຂອງທ່ານ, ມັນຈະບໍ່ມີແລ້ວ!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mo'; + } + + @override + String get paywallOfferLowestPriceBadge => 'LOWEST PRICE EVER'; + + @override + String get paywallOfferCancelAnytime => 'ຍົກເລີກໃນເວລາໃດກໍໄດ້'; + + @override + String get paywallOfferClaimButton => 'ເອົາສິນຄ້າຂອງເຈົ້າ'; + + @override + String get paywallOfferAutoRenewable => 'ການບັດຕິບັດອັດຕະໂນມັດ'; + + @override + String get paywallGiftBoxTitle => 'ຂອງຂວັນພິເສດຢູ່ໃນ'; + + @override + String get paywallGiftBoxSubtitle => + 'ການສົນທະນາເພື່ອເປີດໃຫ້ເຫັນສິນຄ້າພິເສດຂອງທ່ານ'; + + @override + String get paywallGiftBoxOpenButton => 'ເປີດດຽວນີ້'; + + @override + String get paywallRetryLoadPricesError => + 'ບໍ່ສາມາດໂອນໄປລາຄາສະຖານທີ່ສະມັດ. ກະລຸນາລອງໃໝ່ຄັ້ງອື່ນ.'; + + @override + String get paywallPricesUnavailableTitle => 'ບໍ່ສາມາດໂອນລາຄາການບັດສະມາດ'; + + @override + String get paywallPricesUnavailableMessage => 'ເຊັກສະຖານທີ່ຂອງທ່ານແລະລອງໃໝ່'; + + @override + String get paywallPricesUnavailableRetryButton => 'ລອງໃໝ່'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ml.dart b/example/lib/src/generated/onboarding/onboarding_localization_ml.dart new file mode 100644 index 0000000..0b96d01 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ml.dart @@ -0,0 +1,497 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malayalam (`ml`). +class OnboardingLocalizationMl extends OnboardingLocalization { + OnboardingLocalizationMl([String locale = 'ml']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'അവസാനമായ AI ആരോഗ്യ സഹായി'; + + @override + String get welcomeScreenTitle => 'ഡോക്ടറിനയിലേക്ക് സ്വാഗതം'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'ലക്ഷണങ്ങളെ പരിചയസമ്പന്നമായ ക്ലിനീഷ്യന്മാരുടെ രീതിയിൽ വിശകലനം ചെയ്യാൻ രൂപകൽപ്പന ചെയ്തതാണ് — മാതൃകകൾ, സമയക്രമം, സാന്ദർഭം എന്നിവയെ മനസ്സിലാക്കുന്നതിലൂടെ.'; + + @override + String get getStartedBtn => 'ആരംഭിക്കുക'; + + @override + String get alreadyHaveAccount => + 'ഇതിനകം ഒരു അക്കൗണ്ട് ഉണ്ടോ? ലോഗിൻ ചെയ്യുക'; + + @override + String get termsConsent => + 'തുടരുന്നതിലൂടെ, നിങ്ങൾ ഞങ്ങളുടെ\nസേവനത്തിന്റെ നിബന്ധനകൾ | സ്വകാര്യതാ നയം എന്നതിൽ സമ്മതിക്കുന്നു'; + + @override + String get personalizationInterruptionTitle => + 'നമുക്ക് Doctorina നിന്റെ ആവശ്യങ്ങൾക്കനുസരിച്ച് വ്യക്തിഗതമാക്കാം'; + + @override + String get personalizationSectionLabel => 'വ്യക്തിഗതവത്കരണം'; + + @override + String get personalizationReasonTitle => + 'നിങ്ങൾക്ക് ഇന്ന് ഇവിടെ എത്താൻ എന്താണ് കാരണം?'; + + @override + String get personalizationReasonSymptomsNow => + 'ഞാൻ ഇപ്പോൾ ലക്ഷണങ്ങൾ അനുഭവിക്കുന്നു'; + + @override + String get personalizationReasonUnderstandChange => + 'ഞാൻ ആരോഗ്യ മാറ്റം മനസ്സിലാക്കാൻ ആഗ്രഹിക്കുന്നു'; + + @override + String get personalizationReasonRuleOutSerious => + 'ഞാൻ ഗുരുതരമായ എന്തെങ്കിലും ഒഴിവാക്കാൻ ആഗ്രഹിക്കുന്നു'; + + @override + String get personalizationReasonMonitoring => + 'ഞാൻ എന്റെ ആരോഗ്യത്തെ മുൻകൂട്ടി നിരീക്ഷിക്കുന്നു'; + + @override + String get continueBtn => 'തുടരുക'; + + @override + String get captionEmpathyText => + 'നിങ്ങളുടെ ആരോഗ്യത്തിൽ എന്തെങ്കിലും മാറ്റം വന്നാൽ, എന്താണ് പ്രധാനമെന്ന് അറിയുന്നത് ഏറ്റവും കഠിനമാണ്.'; + + @override + String get captionDifferentiatorText => + 'ഡോക്ടറിനാ ലക്ഷണങ്ങളുടെ മാതൃകകളും സമയവും ശ്രദ്ധിക്കുന്നു — ഇത് പ്രാരംഭത്തിൽ ഡോക്ടർമാർ അന്വേഷിക്കുന്ന സമാനമായ സൂചനകളാണ്.'; + + @override + String get genderTitle => 'നിങ്ങളുടെ ലിംഗം തിരഞ്ഞെടുക്കുക'; + + @override + String get genderSubtitle => + 'ഇത് ഞങ്ങൾക്ക് ലക്ഷണങ്ങളെ വ്യാഖ്യാനിക്കാൻ സഹായിക്കുന്നു, കൂടാതെ ശുപാർശകൾ കൂടുതൽ കൃത്യമായി നൽകുന്നു.'; + + @override + String get genderMale => 'പുരുഷൻ'; + + @override + String get genderFemale => 'സ്ത്രീ'; + + @override + String get genderPreferNotSay => 'ചൊല്ലാൻ ഇഷ്ടപ്പെടുന്നില്ല'; + + @override + String get ageTitle => 'നിങ്ങളുടെ പ്രായം എന്താണ്?'; + + @override + String get ageSubtitle => + 'പ്രായം ആരോഗ്യ മാതൃകകളെ കൂടുതൽ കൃത്യമായി വിലയിരുത്താൻ സഹായിക്കുന്നു.'; + + @override + String get socialProofLargeTitle => + '48k+ ആളുകൾ\nഡോക്ടറിനയെ തിരഞ്ഞെടുക്കുകയും ചെയ്തു'; + + @override + String get socialProofDisclaimer => + '*ഡോക്ടറിനയുടെ ഉപയോക്തൃ അടിസ്ഥാനത്തിന്റെ സ്ഥിതിവിവരക്കണക്കുകൾ അടിസ്ഥാനമാക്കി'; + + @override + String get developedByDoctors => 'ഡോക്ടർമാർക്കാൽ വികസിപ്പിച്ച'; + + @override + String get quizStepLabel1 => 'പടി 1/6'; + + @override + String get quizHealthSituationTitle => + 'നിങ്ങളുടെ നിലവിലെ ആരോഗ്യസ്ഥിതിയെ നിങ്ങൾ എങ്ങനെ വിവരണപ്പെടുത്തും?'; + + @override + String get quizHealthHealthy => 'ഞാൻ സാധാരണയായി ആരോഗ്യവത്താണ്'; + + @override + String get quizHealthMinorConcerns => + 'എനിക്ക് തുടർച്ചയായ ചെറിയ ആശങ്കകൾ ഉണ്ട്'; + + @override + String get quizHealthKnownCondition => + 'ഞാൻ അറിയപ്പെടുന്ന ഒരു രോഗം കൈകാര്യം ചെയ്യുന്നു'; + + @override + String get quizHealthUnresolved => 'ഞാൻ പരിഹരിക്കാത്ത എന്തോ നേരിടുന്നു'; + + @override + String get quizStepLabel2 => 'പടി 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'നിങ്ങൾ സാധാരണയായി എത്ര തവണ ഡോക്ടറെ കാണുന്നു?'; + + @override + String get quizDoctorVisitRegular => + 'നിയമിതമായി (ചികിത്സാ പരിശോധനകൾ / പിന്തുടർച്ചകൾ)'; + + @override + String get quizDoctorVisitOccasional => 'അവസരവശാൽ, എന്തെങ്കിലും തെറ്റായപ്പോൾ'; + + @override + String get quizDoctorVisitRare => 'അവസരമായാൽ മാത്രം, വളരെ കുറച്ച്'; + + @override + String get quizDoctorVisitAvoid => 'ഡോക്ടർമാരെ സന്ദർശിക്കാൻ ഇഷ്ടമല്ല'; + + @override + String get quizDoctorVisitNever => 'ഞാൻ ഒരിക്കലും ഡോക്ടറെ സന്ദർശിച്ചിട്ടില്ല'; + + @override + String get quizStepLabel3 => 'പടി 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'ഇപ്പോൾ വരെ ആരോഗ്യപരിചരണത്തിൽ നിങ്ങളുടെ ഏറ്റവും വലിയ വെല്ലുവിളി എന്താണ്?'; + + @override + String get quizMultiSelectHint => + 'നിങ്ങൾക്ക് ഇഷ്ടമുള്ളവയെല്ലാം തിരഞ്ഞെടുക്കുക'; + + @override + String get quizChallengeLongWait => 'അവസാനത്തിനായി നീണ്ട കാത്തിരിപ്പുകൾ'; + + @override + String get quizChallengeRushedVisits => + 'സന്ദർശനങ്ങൾ വേഗത്തിൽ അനുഭവപ്പെടുന്നു'; + + @override + String get quizChallengeCost => + 'ഉയർന്ന ചെലവ് അല്ലെങ്കിൽ വ്യക്തതയില്ലാത്ത വില'; + + @override + String get quizChallengeHardExplain => + 'എല്ലാം വ്യക്തമായി വിശദീകരിക്കാൻ ബുദ്ധിമുട്ടാണ്'; + + @override + String get quizChallengeConflictingAdvice => + 'വ്യത്യസ്തമായ അഭിപ്രായങ്ങൾ അല്ലെങ്കിൽ ഉപദേശം'; + + @override + String get quizChallengeNone => 'പ്രധാനമായ പ്രശ്നങ്ങൾ ഇല്ല'; + + @override + String get quizStepLabel4 => 'പടി 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'അവസാനിച്ച ഡോക്ടർ സന്ദർശനത്തിന് ശേഷം, നിങ്ങൾക്ക് പറയപ്പെട്ട കാര്യങ്ങളെക്കുറിച്ച് എത്ര വിശ്വാസമുണ്ട്?'; + + @override + String get quizConfidenceNoRightAnswer => + 'ശരിയല്ലാത്ത അല്ലെങ്കിൽ തെറ്റായ ഉത്തരമില്ല.'; + + @override + String get quizConfidenceVeryClear => + 'എന്താണ് നടക്കുന്നത് എന്നതിൽ വളരെ വ്യക്തമാണ്'; + + @override + String get quizConfidenceSomewhatClear => 'കുറച്ച് വ്യക്തമായ'; + + @override + String get quizConfidenceStillUncertain => 'ഇനിയും സംശയത്തിലാണ്'; + + @override + String get quizConfidenceMoreConfused => + 'മുമ്പത്തെതിനെക്കാൾ കൂടുതൽ ആശങ്കിതനാണ്'; + + @override + String get captionDiagnosisVsChange => + 'ബഹുഭൂരിപക്ഷം മനുഷ്യർ രോഗനിർണ്ണയത്തിന് ശേഷം അല്ലെങ്കിൽ ലക്ഷണങ്ങൾ കാലക്രമേണ മാറുമ്പോൾ ബുദ്ധിമുട്ടുന്നു.'; + + @override + String get quizStepLabel5 => 'പടി 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'നിങ്ങളുടെ ആശങ്കകൾ സാധാരണയായി എങ്ങനെ പരിഹരിക്കപ്പെടുന്നു എന്ന് നിങ്ങൾ എങ്ങനെ അനുഭവിക്കുന്നു?'; + + @override + String get quizConcernsAddressedSubtitle => + 'നിങ്ങളുടെ വ്യക്തിഗത അനുഭവങ്ങളെ അടിസ്ഥാനമാക്കി'; + + @override + String get quizConcernsVeryWell => 'നന്നായി'; + + @override + String get quizConcernsFairlyWell => 'ശരാശരി നല്ലത്'; + + @override + String get quizConcernsNotVeryWell => 'ശരിയായില്ല'; + + @override + String get quizConcernsVaries => 'ഇത് വളരെ വ്യത്യാസമാണ്'; + + @override + String get quizStepLabel6 => 'പടി 6/6'; + + @override + String get quizSelfResearchTitle => + 'ഡോക്ടറെ കാണുന്നതിന് മുമ്പ്, നിങ്ങൾ സാധാരണയായി ലക്ഷണങ്ങളെ സ്വയം മനസ്സിലാക്കാൻ ശ്രമിക്കുന്നുണ്ടോ?'; + + @override + String get quizSelfResearchYes => + 'അതെ, ഞാൻ ഗവേഷണം നടത്തുകയും കാര്യങ്ങൾ നിരീക്ഷിക്കുകയും ചെയ്യുന്നു'; + + @override + String get quizSelfResearchSometimes => 'എപ്പോഴും'; + + @override + String get quizSelfResearchRarely => 'അവസരമായി'; + + @override + String get quizSelfResearchNo => + 'ഇല്ല, ഞാൻ മുഴുവനും പ്രൊഫഷണലുകളെ ആശ്രയിക്കുന്നു'; + + @override + String get captionAvailabilityTitle => + 'ആരോഗ്യ ചോദ്യങ്ങൾ ഓഫീസ് മണിക്കൂറുകൾ പിന്തുടരുന്നില്ല.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 24/7 ലഭ്യമാണ്.'; + + @override + String get captionAvailabilityDescription => + 'സൂക്ഷ്മതയ്ക്ക് അടുത്ത നിയമനത്തിനായി കാത്തിരിക്കേണ്ടതില്ല.'; + + @override + String get notificationTitle => + 'നിങ്ങളുടെ ആരോഗ്യ ലക്ഷണങ്ങളെക്കുറിച്ച് ഞങ്ങൾ പരിശോധിക്കണമോ?'; + + @override + String get notificationDescription => + 'എ.ഐ. നിങ്ങളുടെ ലക്ഷണങ്ങളെ നിരീക്ഷിച്ച്, ശ്രദ്ധ ആവശ്യമായ എന്തെങ്കിലും ഉണ്ടെങ്കിൽ നിങ്ങളെ അറിയിക്കാം'; + + @override + String get notificationYes => 'അതെ — എന്റെ ആരോഗ്യത്തെ ശ്രദ്ധിക്കുക'; + + @override + String get notificationOnlyImportant => + 'അതെ — എന്തെങ്കിലും പ്രധാനമായ മാറ്റങ്ങൾ ഉണ്ടാകുമ്പോൾ മാത്രം'; + + @override + String get notificationNo => 'ഇനിയും ഉറപ്പല്ല'; + + @override + String get referralSourceTitle => + 'നിങ്ങൾ ഡോക്ടറിൽ നിന്ന് ഡോക്ടറിനയെക്കുറിച്ച് കേട്ടോ?'; + + @override + String get referralSourceYes => 'അതെ'; + + @override + String get referralSourceNo => 'ഇല്ല'; + + @override + String get processingSectionLabel => 'നിങ്ങളുടെ ഫലങ്ങൾ വിശകലനം ചെയ്യുന്നു'; + + @override + String get processingTitle => 'നിങ്ങളുടെ അനുഭവം വ്യക്തിഗതമാക്കുന്നു'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => 'അപരിമിത അനുഭവം Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'നിങ്ങളുടെ അടുത്തുള്ള സഹായി'; + + @override + String get paywallEnableTrialToggle => + 'ശരിക്കും ഉറപ്പില്ലേ? സൗജന്യ പരീക്ഷണം സജീവമാക്കുക.'; + + @override + String get paywallPlanYear => 'വാർഷികം'; + + @override + String get paywallPlanMonthly => 'മാസിക'; + + @override + String get paywallPlanWeek => 'ആഴ്ചയിൽ'; + + @override + String get paywallPlanDaily => 'ദിവസം'; + + @override + String get paywallPlanYearPrice => '\$39.99 (മാത്രം \$3.34/ആഴ്ച)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'സേവ് 58%'; + + @override + String get paywallContinueBtn => 'തുടരുക'; + + @override + String get paywallStartTrialBtn => 'മുക്ത പരീക്ഷണം ആരംഭിക്കുക'; + + @override + String get paywallSubscriptionDisclaimer => + 'സബ്സ്ക്രിപ്ഷൻ സ്വയം പുതുക്കപ്പെടുന്നു. എപ്പോഴും റദ്ദാക്കാം'; + + @override + String get paywallTermsPrivacy => + 'സേവനത്തിന്റെ നിബന്ധനകൾ | സ്വകാര്യതാ നയം'; + + @override + String get paywallPerWeek => 'ആഴ്ച'; + + @override + String get processingLabel => 'നിങ്ങളുടെ ഫലങ്ങൾ വിശകലനം ചെയ്യുന്നു'; + + @override + String get paywallCloseTooltip => 'ഓൺബോർഡിംഗ് അടയ്ക്കുക'; + + @override + String get paywallRestoreTooltip => 'പുതുക്കിയ വാങ്ങലുകൾ'; + + @override + String get paywallRestoreBtn => 'പുനഃസ്ഥാപിക്കുക'; + + @override + String get paywallRestoreNoneFound => + 'പുനഃസ്ഥാപിക്കാൻ സജീവമായ സബ്സ്ക്രിപ്ഷൻ കണ്ടെത്തിയില്ല.'; + + @override + String get paywallRestoreError => + 'വാങ്ങലുകൾ പുനഃസ്ഥാപിക്കാൻ പരാജയപ്പെട്ടു. ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.'; + + @override + String get paywallPurchaseError => + 'വാങ്ങൽ പൂർത്തിയാക്കാൻ പരാജയപ്പെട്ടു. ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.'; + + @override + String get paywallTrialStep1Title => 'ഇന്ന്: തത്സമയം പ്രവേശനം നേടുക'; + + @override + String get paywallTrialStep1Description => + 'പൂർണ്ണ ആക്സസ് തുറക്കുക, എപ്പോഴും AI ആരോഗ്യ ഉത്തരങ്ങൾ നേടുക.'; + + @override + String get paywallTrialStep2Title => 'ദിവസം 2: ട്രയൽ ഓർമ്മപ്പെടുത്തൽ'; + + @override + String get paywallTrialStep2Description => + 'നിങ്ങളുടെ ട്രയൽ അവസാനിക്കാനിരിക്കുന്നതായി ഞങ്ങൾ നിങ്ങളെ ഓർമ്മിപ്പിക്കും'; + + @override + String get paywallTrialStep3Title => 'ദിവസം 3: പുതുക്കൽ'; + + @override + String paywallTrialStep3Description(String date) { + return '$date ന് നിങ്ങൾക്ക് ചാർജ് ചെയ്യപ്പെടും, എപ്പോഴും റദ്ദാക്കാം.'; + } + + @override + String get paywallBenefitsHeader => 'എന്താണ് ഉൾപ്പെടുന്നത്'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'സ്വകാര്യവും സുരക്ഷിതവും'; + + @override + String get paywallBenefitAiAssistant => 'എ.ഐ. സഹായി, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'തത്സമയം ആരോഗ്യ ഉത്തരങ്ങൾ'; + + @override + String get paywallBenefitScienceInsights => + 'സ്പഷ്ടമായ, ശാസ്ത്രം അടിസ്ഥാനമാക്കിയുള്ള അറിവുകൾ'; + + @override + String get paywallBenefitAutoSummaries => 'ഓട്ടോ സംഭാഷണ സംഗ്രഹങ്ങൾ'; + + @override + String get paywallBenefitAnyLanguage => 'ഏത് ഭാഷ, എപ്പോഴും'; + + @override + String get paywallPriceUnitPerWeek => 'ആഴ്ചയ്ക്ക്'; + + @override + String get paywallOfferTitle => 'ഒരിക്കൽ മാത്രം ഓഫർ'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ഓഫർ'; + } + + @override + String get paywallOfferForeverBadge => 'ശാശ്വതമായി'; + + @override + String get paywallOfferDisclaimer => + 'നിങ്ങൾ നിങ്ങളുടെ ഒരു തവണത്തെ ഓഫർ അടച്ചാൽ, അത് പോയി!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/മാസം'; + } + + @override + String get paywallOfferLowestPriceBadge => 'എപ്പോഴും ഏറ്റവും കുറഞ്ഞ വില'; + + @override + String get paywallOfferCancelAnytime => 'എപ്പോഴും റദ്ദാക്കാം'; + + @override + String get paywallOfferClaimButton => 'നിങ്ങളുടെ ഓഫർ ക്ലെയിം ചെയ്യുക'; + + @override + String get paywallOfferAutoRenewable => 'ഓട്ടോ-നവീകരണ സബ്സ്ക്രിപ്ഷൻ'; + + @override + String get paywallGiftBoxTitle => 'പ്രത്യേക സമ്മാനം ഉള്ളത്'; + + @override + String get paywallGiftBoxSubtitle => + 'ഒരു ടാപ്പിൽ നിങ്ങളുടെ പ്രത്യേക ഓഫർ വെളിപ്പെടുത്തുക'; + + @override + String get paywallGiftBoxOpenButton => 'ഇപ്പോൾ തുറക്കുക'; + + @override + String get paywallRetryLoadPricesError => + 'സബ്സ്ക്രിപ്ഷൻ ഓപ്ഷനുകൾ ലോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു. ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.'; + + @override + String get paywallPricesUnavailableTitle => + 'സബ്സ്ക്രിപ്ഷൻ വിലകൾ ലോഡ് ചെയ്യാൻ കഴിയുന്നില്ല'; + + @override + String get paywallPricesUnavailableMessage => + 'നിങ്ങളുടെ കണക്ഷൻ പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക.'; + + @override + String get paywallPricesUnavailableRetryButton => 'മറുപടി നൽകുക'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_mr.dart b/example/lib/src/generated/onboarding/onboarding_localization_mr.dart new file mode 100644 index 0000000..fb1defa --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_mr.dart @@ -0,0 +1,483 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Marathi (`mr`). +class OnboardingLocalizationMr extends OnboardingLocalization { + OnboardingLocalizationMr([String locale = 'mr']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'उन्नत AI आरोग्य सहाय्यक'; + + @override + String get welcomeScreenTitle => 'Doctorina मध्ये आपले स्वागत आहे!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'अनुभवी चिकित्सकांप्रमाणे लक्षणांचे विश्लेषण करण्यासाठी डिझाइन केलेले - पॅटर्न, वेळ आणि संदर्भ समजून घेऊन.'; + + @override + String get getStartedBtn => 'सुरू करा'; + + @override + String get alreadyHaveAccount => + 'तुमच्याकडे आधीच खाते आहे का? लॉग इन करा'; + + @override + String get termsConsent => + 'सुरू ठेवण्यासाठी, तुम्ही आमच्या\nसेवा अटी | गोपनीयता धोरण शी सहमत आहात'; + + @override + String get personalizationInterruptionTitle => + 'चला Doctorina तुमच्यासाठी वैयक्तिकृत करूया'; + + @override + String get personalizationSectionLabel => 'वैयक्तिकरण'; + + @override + String get personalizationReasonTitle => 'तुम्ही आज इथे का आला आहात?'; + + @override + String get personalizationReasonSymptomsNow => + 'मी सध्या लक्षणांचा अनुभव घेत आहे'; + + @override + String get personalizationReasonUnderstandChange => + 'मी आरोग्य बदल समजून घेऊ इच्छितो'; + + @override + String get personalizationReasonRuleOutSerious => + 'मी काही गंभीर गोष्ट वगळू इच्छितो'; + + @override + String get personalizationReasonMonitoring => + 'मी माझ्या आरोग्याचे सक्रियपणे निरीक्षण करत आहे'; + + @override + String get continueBtn => 'सुरू ठेवा'; + + @override + String get captionEmpathyText => + 'तुमच्या आरोग्यात काहीतरी बदलल्यावर, काय महत्त्वाचे आहे हे जाणून घेणे सर्वात कठीण आहे'; + + @override + String get captionDifferentiatorText => + 'Doctorina लक्षणांच्या पॅटर्न आणि वेळेवर लक्ष केंद्रित करते — तीच संकेतं जी डॉक्टर सुरुवातीला शोधतात.'; + + @override + String get genderTitle => 'तुमचा लिंग निवडा'; + + @override + String get genderSubtitle => + 'यामुळे आम्हाला लक्षणांचे विश्लेषण करण्यात आणि अधिक अचूक शिफारसी देण्यात मदत होते.'; + + @override + String get genderMale => 'पुरुष'; + + @override + String get genderFemale => 'महिला'; + + @override + String get genderPreferNotSay => 'काहीही सांगायचं नाही'; + + @override + String get ageTitle => 'तुमचा वय काय आहे?'; + + @override + String get ageSubtitle => + 'वयामुळे आम्हाला आरोग्याच्या पॅटर्नचे अधिक अचूक मूल्यांकन करण्यात मदत होते.'; + + @override + String get socialProofLargeTitle => + '48,000+ लोकांनी\nDoctorina निवडले आहे'; + + @override + String get socialProofDisclaimer => + '*डॉक्टरिना वापरकर्त्यांच्या आधारावर सांख्यिकीवर आधारित'; + + @override + String get developedByDoctors => 'डॉक्टरांनी विकसित केले\nडॉक्टर'; + + @override + String get quizStepLabel1 => 'चरण 1/6'; + + @override + String get quizHealthSituationTitle => 'तुमची सध्याची आरोग्य स्थिती कशी आहे?'; + + @override + String get quizHealthHealthy => 'मी सामान्यतः निरोगी आहे'; + + @override + String get quizHealthMinorConcerns => 'माझ्या काही चालू लहान चिंता आहेत'; + + @override + String get quizHealthKnownCondition => + 'मी एक ज्ञात स्थिती व्यवस्थापित करत आहे'; + + @override + String get quizHealthUnresolved => 'मी काहीतरी अनिर्णीत परिस्थितीत आहे'; + + @override + String get quizStepLabel2 => 'पायरी 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'तुम्ही सामान्यतः डॉक्टरकडे किती वेळा जाता?'; + + @override + String get quizDoctorVisitRegular => 'नियमितपणे (तपासणी / फॉलो-अप)'; + + @override + String get quizDoctorVisitOccasional => 'कधी कधी, जेव्हा काहीतरी चुकीचे आहे'; + + @override + String get quizDoctorVisitRare => 'कधी कधी, फक्त आवश्यक असल्यास'; + + @override + String get quizDoctorVisitAvoid => 'डॉक्टरांकडे जाणे टाळा'; + + @override + String get quizDoctorVisitNever => 'मी कधीही डॉक्टरकडे गेलो नाही'; + + @override + String get quizStepLabel3 => 'पायरी 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'आत्तापर्यंत आरोग्यसेवेसोबतचा तुमचा सर्वात मोठा आव्हान काय आहे?'; + + @override + String get quizMultiSelectHint => 'तुम्हाला जितके हवे तितके निवडा'; + + @override + String get quizChallengeLongWait => 'नियुक्त्यांसाठी लांब प्रतीक्षा वेळा'; + + @override + String get quizChallengeRushedVisits => 'भेटी तात्काळ वाटतात'; + + @override + String get quizChallengeCost => 'उच्च किंमत किंवा अस्पष्ट किंमत'; + + @override + String get quizChallengeHardExplain => 'सर्व काही स्पष्टपणे समजावणे कठीण आहे'; + + @override + String get quizChallengeConflictingAdvice => 'विरोधाभासी मत किंवा सल्ला'; + + @override + String get quizChallengeNone => 'कोणतीही मोठी समस्या नाही'; + + @override + String get quizStepLabel4 => 'पायरी 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'नियुक्तीनंतर, तुम्हाला सांगितलेल्या गोष्टींबद्दल तुम्हाला किती आत्मविश्वास आहे?'; + + @override + String get quizConfidenceNoRightAnswer => 'योग्य किंवा चुकीची उत्तरं नाहीत.'; + + @override + String get quizConfidenceVeryClear => 'काय चालले आहे याबद्दल खूप स्पष्ट आहे'; + + @override + String get quizConfidenceSomewhatClear => 'काहीसे स्पष्ट'; + + @override + String get quizConfidenceStillUncertain => 'अद्याप निश्चित नाही'; + + @override + String get quizConfidenceMoreConfused => 'आधीपेक्षा अधिक गोंधळलेले'; + + @override + String get captionDiagnosisVsChange => + 'अनेक लोकांना निदानानंतर नाही तर लक्षणे बदलत असताना संघर्ष करावा लागतो.'; + + @override + String get quizStepLabel5 => 'पायरी 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'तुमच्या चिंतांना सामान्यतः किती चांगले हाताळले जाते असे तुम्हाला वाटते?'; + + @override + String get quizConcernsAddressedSubtitle => + 'तुमच्या व्यक्तिनिष्ठ भावना आधारित'; + + @override + String get quizConcernsVeryWell => 'खूप चांगले'; + + @override + String get quizConcernsFairlyWell => 'चांगलेच'; + + @override + String get quizConcernsNotVeryWell => 'खूप चांगले नाही'; + + @override + String get quizConcernsVaries => 'खूप वेगवेगळे आहे'; + + @override + String get quizStepLabel6 => 'पायरी 6/6'; + + @override + String get quizSelfResearchTitle => + 'डॉक्टरकडे जाण्यापूर्वी, तुम्ही सहसा लक्षणे स्वतः समजून घेण्याचा प्रयत्न करता का?'; + + @override + String get quizSelfResearchYes => + 'होय, मी संशोधन करतो आणि गोष्टींचा मागोवा घेतो'; + + @override + String get quizSelfResearchSometimes => 'कधी कधी'; + + @override + String get quizSelfResearchRarely => 'कधीकधी'; + + @override + String get quizSelfResearchNo => + 'नाही, मी पूर्णपणे व्यावसायिकांवर अवलंबून आहे'; + + @override + String get captionAvailabilityTitle => + 'आरोग्य प्रश्न कार्यालयाच्या वेळा अनुसरण करत नाहीत.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 24/7 उपलब्ध आहे.'; + + @override + String get captionAvailabilityDescription => + 'स्पष्टतेसाठी पुढील अपॉइंटमेंटची वाट पाहावी लागणार नाही.'; + + @override + String get notificationTitle => + 'तुम्हाला आमच्या आरोग्य लक्षणांची तपासणी करायची आहे का?'; + + @override + String get notificationDescription => + 'AI तुमच्या लक्षणांचे निरीक्षण करू शकते आणि जर काही लक्ष देण्याची आवश्यकता असेल तर तुम्हाला सूचित करू शकते'; + + @override + String get notificationYes => 'होय — माझ्या आरोग्यावर लक्ष ठेवा'; + + @override + String get notificationOnlyImportant => 'होय — फक्त काही महत्त्वाचे बदलल्यास'; + + @override + String get notificationNo => 'अजून निश्चित नाही'; + + @override + String get referralSourceTitle => + 'तुम्हाला डॉक्टराकडून Doctorina बद्दल माहिती आहे का?'; + + @override + String get referralSourceYes => 'होय'; + + @override + String get referralSourceNo => 'नाही'; + + @override + String get processingSectionLabel => 'तुमच्या परिणामांचे विश्लेषण करणे'; + + @override + String get processingTitle => 'तुमचा अनुभव वैयक्तिकृत करणे'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Doctorina Pro सह अमर्यादित अनुभव'; + + @override + String get paywallAssistantTagline => 'तुमच्या जवळ असलेला तुमचा सहाय्यक'; + + @override + String get paywallEnableTrialToggle => + 'अद्याप निश्चित नाही का? मोफत चाचणी सक्षम करा.'; + + @override + String get paywallPlanYear => 'वार्षिक'; + + @override + String get paywallPlanMonthly => 'मासिक'; + + @override + String get paywallPlanWeek => 'आठवडा'; + + @override + String get paywallPlanDaily => 'दैनिक'; + + @override + String get paywallPlanYearPrice => '39.99 डॉलर (फक्त 3.34 डॉलर/सप्ताह)'; + + @override + String get paywallPlanWeekPrice => '₹३.९९'; + + @override + String get paywallSaveBadge => '58% बचत'; + + @override + String get paywallContinueBtn => 'सुरू ठेवा'; + + @override + String get paywallStartTrialBtn => 'मोफत चाचणी सुरू करा'; + + @override + String get paywallSubscriptionDisclaimer => + 'सदस्यता स्वयंचलितपणे नूतनीकरण होते. कधीही रद्द करा'; + + @override + String get paywallTermsPrivacy => + 'सेवा अटी | गोपनीयता धोरण'; + + @override + String get paywallPerWeek => 'आठवडा'; + + @override + String get processingLabel => 'तुमच्या परिणामांचे विश्लेषण करत आहे'; + + @override + String get paywallCloseTooltip => 'ऑनबोर्डिंग बंद करा'; + + @override + String get paywallRestoreTooltip => 'खरेदी पुनर्संचयित करा'; + + @override + String get paywallRestoreBtn => 'पुनर्स्थित करा'; + + @override + String get paywallRestoreNoneFound => + 'पुनर्स्थित करण्यासाठी सक्रिय सदस्यता सापडली नाही.'; + + @override + String get paywallRestoreError => + 'खरेदी पुनर्स्थित करण्यात अयशस्वी. कृपया नंतर पुन्हा प्रयत्न करा.'; + + @override + String get paywallPurchaseError => + 'खरेदी पूर्ण करण्यात अयशस्वी. कृपया नंतर पुन्हा प्रयत्न करा.'; + + @override + String get paywallTrialStep1Title => 'आज: तात्काळ प्रवेश मिळवा'; + + @override + String get paywallTrialStep1Description => + 'पूर्ण प्रवेश अनलॉक करा, कधीही AI आरोग्य उत्तर मिळवा.'; + + @override + String get paywallTrialStep2Title => 'दिवस 2: ट्रायलची आठवण'; + + @override + String get paywallTrialStep2Description => + 'आपल्या चाचणीची समाप्ती होणार आहे याची आम्ही आपल्याला आठवण करून देऊ'; + + @override + String get paywallTrialStep3Title => 'दिवस 3: नूतनीकरण'; + + @override + String paywallTrialStep3Description(String date) { + return 'आपल्याला $date रोजी शुल्क आकारले जाईल, कधीही रद्द करा.'; + } + + @override + String get paywallBenefitsHeader => 'काय समाविष्ट आहे'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'खाजगी आणि सुरक्षित'; + + @override + String get paywallBenefitAiAssistant => 'AI सहाय्यक, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'तत्काळ आरोग्याचे उत्तर'; + + @override + String get paywallBenefitScienceInsights => + 'स्पष्ट, विज्ञानावर आधारित अंतर्दृष्टी'; + + @override + String get paywallBenefitAutoSummaries => 'स्वयंचलित संवाद सारांश'; + + @override + String get paywallBenefitAnyLanguage => 'कोणतीही भाषा, कधीही'; + + @override + String get paywallPriceUnitPerWeek => 'प्रति आठवडा'; + + @override + String get paywallOfferTitle => 'एकदाचाच ऑफर'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% सूट'; + } + + @override + String get paywallOfferForeverBadge => 'सदैव'; + + @override + String get paywallOfferDisclaimer => + 'एकदा तुम्ही तुमचे एकदाचचे ऑफर बंद केले की, ते गायब होईल!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/महिना'; + } + + @override + String get paywallOfferLowestPriceBadge => 'कधीही सर्वात कमी किंमत'; + + @override + String get paywallOfferCancelAnytime => 'कधीही रद्द करा'; + + @override + String get paywallOfferClaimButton => 'तुमचा ऑफर मिळवा'; + + @override + String get paywallOfferAutoRenewable => 'स्वयंचलित नूतनीकरण सदस्यता'; + + @override + String get paywallGiftBoxTitle => 'विशेष भेट'; + + @override + String get paywallGiftBoxSubtitle => 'एक टॅप करून तुमचा खास ऑफर उघडा'; + + @override + String get paywallGiftBoxOpenButton => 'आता उघडा'; + + @override + String get paywallRetryLoadPricesError => + 'सदस्यता पर्याय लोड करण्यात अयशस्वी. कृपया नंतर पुन्हा प्रयत्न करा.'; + + @override + String get paywallPricesUnavailableTitle => 'सदस्यता किंमती लोड करू शकत नाही'; + + @override + String get paywallPricesUnavailableMessage => + 'आपला कनेक्शन तपासा आणि पुन्हा प्रयत्न करा.'; + + @override + String get paywallPricesUnavailableRetryButton => 'पुन्हा प्रयत्न करा'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ms.dart b/example/lib/src/generated/onboarding/onboarding_localization_ms.dart new file mode 100644 index 0000000..74a1380 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ms.dart @@ -0,0 +1,496 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malay (`ms`). +class OnboardingLocalizationMs extends OnboardingLocalization { + OnboardingLocalizationMs([String locale = 'ms']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'PENOLONG KESIHATAN AI MAJU'; + + @override + String get welcomeScreenTitle => 'Selamat datang ke Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Direka untuk menganalisis gejala seperti yang dilakukan oleh klinik berpengalaman — dengan memahami corak, masa, dan konteks.'; + + @override + String get getStartedBtn => 'Mulakan'; + + @override + String get alreadyHaveAccount => + 'Sudah mempunyai akaun? Log Masuk'; + + @override + String get termsConsent => + 'Dengan meneruskan, anda bersetuju dengan\nTerma Perkhidmatan | Dasar Privasi'; + + @override + String get personalizationInterruptionTitle => + 'Mari kita peribadikan Doctorina untuk anda'; + + @override + String get personalizationSectionLabel => 'PERSONALISASI'; + + @override + String get personalizationReasonTitle => + 'Apa yang membawa anda ke sini hari ini?'; + + @override + String get personalizationReasonSymptomsNow => + 'Saya mengalami gejala sekarang'; + + @override + String get personalizationReasonUnderstandChange => + 'Saya ingin memahami perubahan kesihatan'; + + @override + String get personalizationReasonRuleOutSerious => + 'Saya ingin menolak sesuatu yang serius'; + + @override + String get personalizationReasonMonitoring => + 'Saya memantau kesihatan saya secara proaktif'; + + @override + String get continueBtn => 'Teruskan'; + + @override + String get captionEmpathyText => + 'Apabila sesuatu berubah dalam kesihatan anda, mengetahui apa yang penting adalah yang paling sukar.'; + + @override + String get captionDifferentiatorText => + 'Doctorina memberi tumpuan kepada corak simptom dan masa — isyarat yang sama yang dicari oleh klinik pada awalnya.'; + + @override + String get genderTitle => 'Pilih jantina anda'; + + @override + String get genderSubtitle => + 'Ini membantu kami mentafsirkan gejala dan memberikan cadangan dengan lebih tepat.'; + + @override + String get genderMale => 'Lelaki'; + + @override + String get genderFemale => 'Perempuan'; + + @override + String get genderPreferNotSay => 'Tidak mahu menyatakan'; + + @override + String get ageTitle => 'Apakah umur anda?'; + + @override + String get ageSubtitle => + 'Umur membantu kami menilai corak kesihatan dengan lebih tepat'; + + @override + String get socialProofLargeTitle => + 'Lebih daripada 48k+ orang\nhave chosen Doctorina'; + + @override + String get socialProofDisclaimer => + '*Berdasarkan statistik pengguna Doctorina'; + + @override + String get developedByDoctors => 'Dikembangkan oleh\nDoktor'; + + @override + String get quizStepLabel1 => 'LANGKAH 1/6'; + + @override + String get quizHealthSituationTitle => + 'Bagaimana anda menggambarkan situasi kesihatan anda sekarang?'; + + @override + String get quizHealthHealthy => 'Saya secara amnya merasa sihat'; + + @override + String get quizHealthMinorConcerns => + 'Saya mempunyai kebimbangan kecil yang berterusan'; + + @override + String get quizHealthKnownCondition => + 'Saya menguruskan keadaan yang diketahui'; + + @override + String get quizHealthUnresolved => + 'Saya menghadapi sesuatu yang belum selesai'; + + @override + String get quizStepLabel2 => 'LANGKAH 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Berapa kerap anda biasanya berjumpa doktor?'; + + @override + String get quizDoctorVisitRegular => 'Secara berkala (pemeriksaan / susulan)'; + + @override + String get quizDoctorVisitOccasional => + 'Kadang-kadang, apabila ada yang tidak kena'; + + @override + String get quizDoctorVisitRare => 'Jarang, hanya jika perlu'; + + @override + String get quizDoctorVisitAvoid => 'Elakkan melawat doktor'; + + @override + String get quizDoctorVisitNever => 'Saya tidak pernah melawat doktor'; + + @override + String get quizStepLabel3 => 'LANGKAH 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Apa cabaran terbesar anda dengan penjagaan kesihatan setakat ini?'; + + @override + String get quizMultiSelectHint => 'Pilih sebanyak yang anda suka'; + + @override + String get quizChallengeLongWait => + 'Waktu menunggu yang lama untuk janji temu'; + + @override + String get quizChallengeRushedVisits => 'Lawatan terasa tergesa-gesa'; + + @override + String get quizChallengeCost => 'Kos tinggi atau harga tidak jelas'; + + @override + String get quizChallengeHardExplain => + 'Sukar untuk menerangkan semuanya dengan jelas'; + + @override + String get quizChallengeConflictingAdvice => + 'Pendapat atau nasihat yang bertentangan'; + + @override + String get quizChallengeNone => 'Tiada isu besar'; + + @override + String get quizStepLabel4 => 'STEP 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Selepas janji temu, sejauh mana anda yakin tentang apa yang diberitahu kepada anda?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Tiada jawapan yang betul atau salah.'; + + @override + String get quizConfidenceVeryClear => 'Sangat jelas tentang apa yang berlaku'; + + @override + String get quizConfidenceSomewhatClear => 'Agak jelas'; + + @override + String get quizConfidenceStillUncertain => 'Masih tidak pasti'; + + @override + String get quizConfidenceMoreConfused => 'Lebih keliru daripada sebelum ini'; + + @override + String get captionDiagnosisVsChange => + 'Ramai orang menghadapi kesukaran bukan selepas diagnosis tetapi apabila gejala berubah dari semasa ke semasa.'; + + @override + String get quizStepLabel5 => 'LANGKAH 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Sejauh mana anda merasakan kebimbangan anda biasanya ditangani?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Berdasarkan perasaan subjektif anda'; + + @override + String get quizConcernsVeryWell => 'Sangat baik'; + + @override + String get quizConcernsFairlyWell => 'Agak baik'; + + @override + String get quizConcernsNotVeryWell => 'Tidak begitu baik'; + + @override + String get quizConcernsVaries => 'Ia sangat berbeza'; + + @override + String get quizStepLabel6 => 'STEP 6/6'; + + @override + String get quizSelfResearchTitle => + 'Sebelum berjumpa doktor, adakah anda biasanya cuba memahami simptom sendiri?'; + + @override + String get quizSelfResearchYes => + 'Ya, saya melakukan penyelidikan dan menjejaki perkara'; + + @override + String get quizSelfResearchSometimes => 'Kadang-kadang'; + + @override + String get quizSelfResearchRarely => 'Jarang'; + + @override + String get quizSelfResearchNo => + 'Tidak, saya bergantung sepenuhnya kepada profesional'; + + @override + String get captionAvailabilityTitle => + 'Soalan kesihatan tidak mengikuti waktu pejabat.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina tersedia 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Kejelasan tidak seharusnya menunggu janji temu seterusnya'; + + @override + String get notificationTitle => + 'Adakah anda mahu kami memeriksa simptom kesihatan anda?'; + + @override + String get notificationDescription => + 'AI boleh memantau simptom anda dan memberi amaran jika ada yang mungkin memerlukan perhatian'; + + @override + String get notificationYes => 'Ya — pantau kesihatan saya'; + + @override + String get notificationOnlyImportant => + 'Ya — hanya jika ada perubahan penting'; + + @override + String get notificationNo => 'Belum pasti'; + + @override + String get referralSourceTitle => + 'Adakah anda mendengar tentang Doctorina dari seorang doktor?'; + + @override + String get referralSourceYes => 'Ya'; + + @override + String get referralSourceNo => 'Tidak'; + + @override + String get processingSectionLabel => 'MENGANALISIS HASIL ANDA'; + + @override + String get processingTitle => 'Personalisasi pengalaman anda'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Pengalaman tanpa had dengan Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'PEMBANTU ANDA YANG SENTIASA DEKAT'; + + @override + String get paywallEnableTrialToggle => + 'Tidak pasti lagi? Aktifkan percubaan percuma.'; + + @override + String get paywallPlanYear => 'Tahun'; + + @override + String get paywallPlanMonthly => 'Bulanan'; + + @override + String get paywallPlanWeek => 'Mingguan'; + + @override + String get paywallPlanDaily => 'Harian'; + + @override + String get paywallPlanYearPrice => 'RM39.99 (hanya RM3.34/minggu)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'JIMAT 58%'; + + @override + String get paywallContinueBtn => 'Terus'; + + @override + String get paywallStartTrialBtn => 'Mula Percubaan Percuma'; + + @override + String get paywallSubscriptionDisclaimer => + 'Langganan boleh diperbaharui secara automatik. Batalkan bila-bila masa'; + + @override + String get paywallTermsPrivacy => + 'Terma Perkhidmatan | Dasar Privasi'; + + @override + String get paywallPerWeek => 'minggu'; + + @override + String get processingLabel => 'Menganalisis keputusan anda'; + + @override + String get paywallCloseTooltip => 'Tutup onboarding'; + + @override + String get paywallRestoreTooltip => 'Pulihkan Pembelian'; + + @override + String get paywallRestoreBtn => 'Pulihkan'; + + @override + String get paywallRestoreNoneFound => + 'Tiada langganan aktif yang ditemui untuk dipulihkan.'; + + @override + String get paywallRestoreError => + 'Gagal untuk memulihkan pembelian. Sila cuba lagi nanti.'; + + @override + String get paywallPurchaseError => + 'Gagal menyelesaikan pembelian. Sila cuba lagi nanti.'; + + @override + String get paywallTrialStep1Title => 'Hari ini: Dapatkan akses segera'; + + @override + String get paywallTrialStep1Description => + 'Buka akses penuh, dapatkan jawapan kesihatan AI, bila-bila masa.'; + + @override + String get paywallTrialStep2Title => 'Hari 2: Peringatan percubaan'; + + @override + String get paywallTrialStep2Description => + 'Kami akan menghantar peringatan bahawa percubaan anda akan berakhir'; + + @override + String get paywallTrialStep3Title => 'Hari 3: Pembaharuan'; + + @override + String paywallTrialStep3Description(String date) { + return 'Anda akan dikenakan bayaran pada $date, batalkan bila-bila masa sebelum itu.'; + } + + @override + String get paywallBenefitsHeader => 'APA YANG TERMASUK'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Peribadi dan selamat'; + + @override + String get paywallBenefitAiAssistant => 'Pembantu AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Jawapan kesihatan segera'; + + @override + String get paywallBenefitScienceInsights => + 'Wawasan yang jelas dan berasaskan sains'; + + @override + String get paywallBenefitAutoSummaries => 'Ringkasan perbualan automatik'; + + @override + String get paywallBenefitAnyLanguage => 'Apa-apa bahasa, bila-bila masa'; + + @override + String get paywallPriceUnitPerWeek => 'per minggu'; + + @override + String get paywallOfferTitle => 'Tawaran sekali'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% DISKAUN'; + } + + @override + String get paywallOfferForeverBadge => 'SEUMUR'; + + @override + String get paywallOfferDisclaimer => + 'Setelah anda menutup tawaran sekali, ia hilang!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/bln'; + } + + @override + String get paywallOfferLowestPriceBadge => 'HARGA TERENDAH PERNAH'; + + @override + String get paywallOfferCancelAnytime => 'Batal bila-bila masa'; + + @override + String get paywallOfferClaimButton => 'Tuntut tawaran anda'; + + @override + String get paywallOfferAutoRenewable => + 'Langganan yang diperbaharui secara automatik'; + + @override + String get paywallGiftBoxTitle => 'Hadiah istimewa di dalam'; + + @override + String get paywallGiftBoxSubtitle => + 'Satu ketukan untuk mendedahkan tawaran istimewa anda'; + + @override + String get paywallGiftBoxOpenButton => 'Buka sekarang'; + + @override + String get paywallRetryLoadPricesError => + 'Gagal memuat pilihan langganan. Sila cuba lagi nanti.'; + + @override + String get paywallPricesUnavailableTitle => + 'Tidak dapat memuat harga langganan'; + + @override + String get paywallPricesUnavailableMessage => + 'Semak sambungan anda dan cuba lagi'; + + @override + String get paywallPricesUnavailableRetryButton => 'Cuba lagi'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_my.dart b/example/lib/src/generated/onboarding/onboarding_localization_my.dart new file mode 100644 index 0000000..5872c75 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_my.dart @@ -0,0 +1,504 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Burmese (`my`). +class OnboardingLocalizationMy extends OnboardingLocalization { + OnboardingLocalizationMy([String locale = 'my']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'တိုးတက်သော AI ကျန်းမာရေး အကူအညီ'; + + @override + String get welcomeScreenTitle => 'ကြိုဆိုပါတယ်'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'လက္ခဏာများကို အတွေ့အကြုံရှိသော ဆရာဝန်များကဲ့သို့ အနုပညာဆန်စွာ ချိန်ဆနှုန်း၊ အချိန်နှင့် အကြောင်းအရာကို နားလည်ခြင်းဖြင့် ချိန်ဆနှုန်းရန် ဒီဇိုင်းလုပ်ထားသည်။'; + + @override + String get getStartedBtn => 'စတင်ပါ'; + + @override + String get alreadyHaveAccount => + 'အကောင့်ရှိပါသလား? လော့ဂ်အင်ဝင်ပါ'; + + @override + String get termsConsent => + 'ဆက်လက်လုပ်ဆောင်ခြင်းဖြင့် သင်သည် ကျွန်ုပ်တို့၏\nဝန်ဆောင်မှု၏ စည်းမျဉ်းများ | ပုဂ္ဂိုလ်ရေးမူဝါဒ ကို သဘောတူသည်'; + + @override + String get personalizationInterruptionTitle => + 'Doctorina ကို သင့်အတွက် ကိုယ်ပိုင်ပြုလုပ်ကြမယ်'; + + @override + String get personalizationSectionLabel => 'ပုဂ္ဂိုလ်ရေး'; + + @override + String get personalizationReasonTitle => + 'သင်ဒီနေ့ဒီမှာဘာကြောင့်ရောက်လာပါသလဲ?'; + + @override + String get personalizationReasonSymptomsNow => + 'ကျွန်ုပ်သည် လက္ခဏာများကို ယခုအခါ တွေ့ရှိနေပါသည်'; + + @override + String get personalizationReasonUnderstandChange => + 'ကျန်းမာရေးပြောင်းလဲမှုကိုနားလည်ချင်ပါတယ်'; + + @override + String get personalizationReasonRuleOutSerious => + 'ငါ့ကို အရေးကြီးသော အရာတစ်ခုကို ဖယ်ရှားချင်ပါတယ်'; + + @override + String get personalizationReasonMonitoring => + 'ကျွန်ုပ်သည် ကျန်းမာရေးကို ကြိုတင်စောင့်ကြည့်နေပါသည်'; + + @override + String get continueBtn => 'ဆက်လက်ပါ'; + + @override + String get captionEmpathyText => + 'ကျန်းမာရေးမှာ အရာတွေ ပြောင်းလဲတဲ့အခါ၊ အရေးကြီးတာကို သိရတာ အခက်အခဲဆုံးပါ။'; + + @override + String get captionDifferentiatorText => + 'Doctorina သည် ရောဂါလက္ခဏာများနှင့် အချိန်ကို ဦးစားပေးသည် — ဆရာဝန်များသည် မူလအဆင့်တွင် ရှာဖွေသော အထောက်အထားများနှင့် တူသည်။'; + + @override + String get genderTitle => 'သင်၏လိင်ကိုရွေးချယ်ပါ'; + + @override + String get genderSubtitle => + 'ဤသည်သည် ကျွန်ုပ်တို့အား ရောဂါလက္ခဏာများကို အနက်အဓိပ္ပာယ်ဖွင့်ဆိုရန်နှင့် အကြံပြုချက်များကို ပိုမိုတိကျစွာ ပေးရန် ကူညီသည်။'; + + @override + String get genderMale => 'အမျိုးသား'; + + @override + String get genderFemale => 'မိန်းကလေး'; + + @override + String get genderPreferNotSay => 'ပြောလိုမနေပါ'; + + @override + String get ageTitle => 'သင်၏အသက်ကဘာလဲ?'; + + @override + String get ageSubtitle => + 'အသက်သည် ကျန်းမာရေးပုံစံများကို ပိုမိုမှန်ကန်စွာ အကဲဖြတ်ရန် ကူညီသည်။'; + + @override + String get socialProofLargeTitle => + '48k+ လူများ\nဒေါက်တာရိုင်းနာကို ရွေးချယ်ခဲ့သည်'; + + @override + String get socialProofDisclaimer => + '*Doctorina အသုံးပြုသူအခြေခံအချက်အလက်များအပေါ်အခြေခံသည်'; + + @override + String get developedByDoctors => 'ဆရာဝန်များက ဖွံ့ဖြိုးတိုးတက်စေသည်'; + + @override + String get quizStepLabel1 => 'အဆင့် 1/6'; + + @override + String get quizHealthSituationTitle => + 'လက်ရှိ ကျန်းမာရေးအခြေအနေကို ဘယ်လိုဖော်ပြမလဲ။'; + + @override + String get quizHealthHealthy => + 'ကျွန်တော်/ကျွန်မ ယေဘုယျအားဖြင့် ကျန်းမာတယ်လို့ ခံစားရပါတယ်'; + + @override + String get quizHealthMinorConcerns => + 'ကျွန်တော်/ကျွန်မမှာ အသေးအဖွဲ စိုးရိမ်ပူပန်မှုတွေ ဆက်တိုက်ရှိနေပါတယ်'; + + @override + String get quizHealthKnownCondition => + 'ကျွန်တော်/ကျွန်မ သိထားတဲ့ အခြေအနေကို စီမံခန့်ခွဲနေပါတယ်'; + + @override + String get quizHealthUnresolved => + 'ကျွန်တော်/ကျွန်မ ဖြေရှင်းမရတဲ့ အရာတစ်ခုကို ရင်ဆိုင်နေရတယ်'; + + @override + String get quizStepLabel2 => 'အဆင့် ၂/၆'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'ဆရာဝန်နဲ့ ဘယ်လောက်မကြာခဏ ပြသလေ့ရှိပါသလဲ။'; + + @override + String get quizDoctorVisitRegular => + 'ပုံမှန် (စစ်ဆေးမှုများ/နောက်ဆက်တွဲစစ်ဆေးမှုများ)'; + + @override + String get quizDoctorVisitOccasional => + 'တစ်ခါတစ်ရံ တစ်ခုခု မှားယွင်းသွားတဲ့အခါ'; + + @override + String get quizDoctorVisitRare => 'ရှားရှားပါးပါးပဲ၊ လိုအပ်မှသာ'; + + @override + String get quizDoctorVisitAvoid => 'ဆရာဝန်တွေကို မသွားချင်ပါ'; + + @override + String get quizDoctorVisitNever => 'ကျွန်တော် ဆရာဝန်နဲ့ တစ်ခါမှ မပြဖူးဘူး'; + + @override + String get quizStepLabel3 => 'အဆင့် ၃/၆'; + + @override + String get quizBiggestChallengeTitle => + 'ကျန်းမာရေးစောင့်ရှောက်မှုနဲ့ ပတ်သက်ပြီး ခင်ဗျားရဲ့ အကြီးမားဆုံးစိန်ခေါ်မှုက ဘာလဲ။'; + + @override + String get quizMultiSelectHint => 'သင်ကြိုက်သလောက်များများရွေးချယ်ပါ'; + + @override + String get quizChallengeLongWait => + 'ချိန်းဆိုမှုများအတွက် ကြာမြင့်စွာစောင့်ဆိုင်းရချိန်များ'; + + @override + String get quizChallengeRushedVisits => + 'လာရောက်လည်ပတ်မှုများသည် အလျင်စလိုခံစားရသည်'; + + @override + String get quizChallengeCost => + 'ကုန်ကျစရိတ်မြင့်မားခြင်း သို့မဟုတ် ဈေးနှုန်းမရှင်းလင်းခြင်း'; + + @override + String get quizChallengeHardExplain => + 'အရာအားလုံးကို ရှင်းရှင်းလင်းလင်း ရှင်းပြဖို့ ခက်ပါတယ်'; + + @override + String get quizChallengeConflictingAdvice => + 'ကွဲလွဲနေသော ထင်မြင်ချက်များ သို့မဟုတ် အကြံဉာဏ်များ'; + + @override + String get quizChallengeNone => 'ကြီးကြီးမားမားပြဿနာများမရှိပါ'; + + @override + String get quizStepLabel4 => 'အဆင့် ၄/၆'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'ချိန်းဆိုမှုတွေပြီးနောက်မှာ ပြောခဲ့တာတွေအပေါ် ဘယ်လောက်ယုံကြည်မှုရှိလဲ။'; + + @override + String get quizConfidenceNoRightAnswer => + 'မှန်သော သို့မဟုတ် မှားသော အဖြေ မရှိပါ။'; + + @override + String get quizConfidenceVeryClear => + 'ဘာတွေဖြစ်နေလဲဆိုတာကို အရမ်းရှင်းရှင်းလင်းလင်းသိပါတယ်'; + + @override + String get quizConfidenceSomewhatClear => 'အနည်းငယ်ရှင်းလင်းသည်'; + + @override + String get quizConfidenceStillUncertain => 'မသေချာသေးပါ'; + + @override + String get quizConfidenceMoreConfused => 'အရင်ကထက် ပိုရှုပ်ထွေးလာတယ်'; + + @override + String get captionDiagnosisVsChange => + 'Ramai orang berjuang bukan selepas diagnosis tetapi apabila gejala berubah dari semasa ke semasa.'; + + @override + String get quizStepLabel5 => 'အဆင့် ၅/၆'; + + @override + String get quizConcernsAddressedTitle => + 'သင့်ရဲ့စိုးရိမ်မှုတွေကို ပုံမှန်အားဖြင့် ဖြေရှင်းပေးလေ့ရှိတယ်လို့ ဘယ်လောက်ကောင်းကောင်း ခံစားရပါသလဲ။'; + + @override + String get quizConcernsAddressedSubtitle => + 'ကိုယ့်ရဲ့ ခံစားချက်တွေကို အခြေခံပြီး'; + + @override + String get quizConcernsVeryWell => 'ကောင်းစွာ'; + + @override + String get quizConcernsFairlyWell => 'အတော်လေး ကောင်းပါတယ်'; + + @override + String get quizConcernsNotVeryWell => 'သိပ်မကောင်းပါဘူး'; + + @override + String get quizConcernsVaries => 'အများကြီးကွဲပြားပါတယ်'; + + @override + String get quizStepLabel6 => 'အဆင့် ၆/၆'; + + @override + String get quizSelfResearchTitle => + 'ဆရာဝန်နဲ့ မပြခင်မှာ ရောဂါလက္ခဏာတွေကို ကိုယ်တိုင် နားလည်အောင် ကြိုးစားလေ့ရှိလား။'; + + @override + String get quizSelfResearchYes => + 'ဟုတ်ကဲ့၊ ကျွန်တော် သုတေသနလုပ်ပြီး ခြေရာခံပါတယ်'; + + @override + String get quizSelfResearchSometimes => 'တစ်ခါတစ်ရံ'; + + @override + String get quizSelfResearchRarely => 'ရှားရှားပါးပါး'; + + @override + String get quizSelfResearchNo => + 'မဟုတ်ပါ၊ ကျွန်ုပ်သည် ကျွမ်းကျင်ပညာရှင်များကို အပြည့်အဝ အားကိုးပါသည်'; + + @override + String get captionAvailabilityTitle => + 'ကျန်းမာရေးမေးခွန်းများကို ရုံးချိန်နှင့် မကိုက်ညီပါ ။'; + + @override + String get captionAvailabilitySupport => 'Doctorina ကို ၂၄/၇ ရရှိနိုင်ပါသည်။'; + + @override + String get captionAvailabilityDescription => + 'ရှင်းလင်းမှုအတွက် နောက်ထပ်ချိန်းဆိုမှုကို စောင့်စရာမလိုပါဘူး။'; + + @override + String get notificationTitle => + 'သင့်ကျန်းမာရေးလက္ခဏာများကို စစ်ဆေးဖို့ ကျွန်ုပ်တို့ကို ခွင့်ပြုပါသလား?'; + + @override + String get notificationDescription => + 'AI သည် သင်၏ လက္ခဏာများကို စောင့်ကြည့်နိုင်ပြီး အထူးဂရုစိုက်ရန် လိုအပ်ပါက သင်အား သတိပေးနိုင်သည်'; + + @override + String get notificationYes => 'ဟုတ်ပါတယ် — ကျွန်ုပ်၏ကျန်းမာရေးကိုကြည့်ပါ'; + + @override + String get notificationOnlyImportant => + 'ဟုတ်ပါတယ် — အရေးကြီးသောအရာများပြောင်းလဲပါကသာ'; + + @override + String get notificationNo => 'အခုတော့ မသေချာပါ'; + + @override + String get referralSourceTitle => + 'ဆရာဝန်တစ်ယောက်ဆီက Doctorina အကြောင်း ကြားသိခဲ့ရလား။'; + + @override + String get referralSourceYes => 'ဟုတ်ကဲ့'; + + @override + String get referralSourceNo => 'မဟုတ်ပါ'; + + @override + String get processingSectionLabel => 'သင့်ရလဒ်များကို ခွဲခြမ်းစိတ်ဖြာခြင်း'; + + @override + String get processingTitle => 'သင့်အတွေ့အကြုံကို စိတ်ကြိုက်ပြင်ဆင်ခြင်း'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Doctorina Pro နဲ့ အကန့်အသတ်မရှိ အတွေ့အကြုံရယူလိုက်ပါ'; + + @override + String get paywallAssistantTagline => + 'အမြဲတမ်း အနီးအနားမှာရှိနေတဲ့ သင့်ရဲ့ လက်ထောက်'; + + @override + String get paywallEnableTrialToggle => + 'မသေချာသေးဘူးလား။ အခမဲ့ အစမ်းသုံးခွင့်ကို ဖွင့်ပါ။'; + + @override + String get paywallPlanYear => 'နှစ်စဉ်'; + + @override + String get paywallPlanMonthly => 'လစဉ်'; + + @override + String get paywallPlanWeek => 'အပတ်စဉ်'; + + @override + String get paywallPlanDaily => 'နေ့စဉ်'; + + @override + String get paywallPlanYearPrice => '\$၃၉.၉၉ (တစ်ပတ်လျှင် \$၃.၃၄ သာ)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => '၅၈% သက်သာလိုက်ပါ'; + + @override + String get paywallContinueBtn => 'ဆက်လုပ်ပါ'; + + @override + String get paywallStartTrialBtn => 'အခမဲ့ အစမ်းသုံးခြင်း စတင်ပါ'; + + @override + String get paywallSubscriptionDisclaimer => + 'စာရင်းသွင်းမှုကို အလိုအလျောက် သက်တမ်းတိုးနိုင်ပါသည်။ အချိန်မရွေး ပယ်ဖျက်နိုင်ပါသည်'; + + @override + String get paywallTermsPrivacy => + 'ဝန်ဆောင်မှုစည်းမျဉ်းများ | <ကိုယ်ရေးကိုယ်တာမူဝါဒ>ကိုယ်ရေးကိုယ်တာမူဝါဒ '; + + @override + String get paywallPerWeek => 'အပတ်'; + + @override + String get processingLabel => 'သင့်ရလဒ်များကို ခွဲခြမ်းစိတ်ဖြာခြင်း'; + + @override + String get paywallCloseTooltip => 'မိတ်ဆက်ခြင်းကို ပိတ်ပါ'; + + @override + String get paywallRestoreTooltip => 'ဝယ်ယူမှုများကို ပြန်လည်ရယူပါ'; + + @override + String get paywallRestoreBtn => 'ပြန်လည်ရယူပါ'; + + @override + String get paywallRestoreNoneFound => + 'ပြန်လည်ရယူရန် လက်ရှိစာရင်းသွင်းမှု မတွေ့ပါ။'; + + @override + String get paywallRestoreError => + 'ဝယ်ယူမှုများကို ပြန်လည်ရယူ၍မရပါ။ နောက်မှ ထပ်မံကြိုးစားပါ။'; + + @override + String get paywallPurchaseError => + 'အရောင်းကိုပြီးစီးရန်မအောင်မြင်ပါ။ ကျေးဇူးပြု၍နောက်မှပြန်လည်ကြိုးစားပါ။'; + + @override + String get paywallTrialStep1Title => 'ယနေ့: ချက်ချင်းဝင်ရောက်ခွင့်ရယူပါ'; + + @override + String get paywallTrialStep1Description => + 'Unlock full access, get AI health answers, anytime.'; + + @override + String get paywallTrialStep2Title => 'နေ့ ၂: စမ်းသပ်မှု အမှတ်တရ'; + + @override + String get paywallTrialStep2Description => + 'သင်၏စမ်းသပ်မှုကုန်ဆုံးမည်ဖြစ်ကြောင်း ကျွန်ုပ်တို့ သင်အား သတိပေးပါမည်'; + + @override + String get paywallTrialStep3Title => 'နေ့ 3: ပြန်လည်သက်သေပြုခြင်း'; + + @override + String paywallTrialStep3Description(String date) { + return '$date တွင် သင်အား ငွေပေးချေမည်၊ မည်သည့်အချိန်တွင်မဆို ရပ်ဆိုင်းနိုင်သည်။'; + } + + @override + String get paywallBenefitsHeader => 'ဘာတွေပါဝင်သလဲ'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'ပုဂ္ဂိုလ်ရေးနှင့် လုံခြုံသော'; + + @override + String get paywallBenefitAiAssistant => 'AI အကူအညီ, 24/7'; + + @override + String get paywallBenefitInstantAnswers => + 'အချိန်နှင့်တပြေးညီ ကျန်းမာရေးအဖြေများ'; + + @override + String get paywallBenefitScienceInsights => + 'ရှင်းလင်းသော၊ သိပ္ပံအခြေခံ အကြောင်းအရာများ'; + + @override + String get paywallBenefitAutoSummaries => + 'အလိုအလျောက် စကားပြော အကျဉ်းချုပ်များ'; + + @override + String get paywallBenefitAnyLanguage => 'ဘာသာစကားမဆို၊ အချိန်မရွေး'; + + @override + String get paywallPriceUnitPerWeek => 'တစ်ပတ်လျှင်'; + + @override + String get paywallOfferTitle => 'တစ်ကြိမ်သာ အဆိုပါအကြောင်းအရာ'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% လျှော့ဈေး'; + } + + @override + String get paywallOfferForeverBadge => 'အမြဲတမ်း'; + + @override + String get paywallOfferDisclaimer => + 'သင်၏တစ်ကြိမ်သာရရှိသောအကြံပြုချက်ကိုပိတ်လိုက်ရင်၊ ၎င်းသည်ပျောက်ကွယ်ပါသည်!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/လ'; + } + + @override + String get paywallOfferLowestPriceBadge => 'အမြင့်ဆုံးဈေးနှုန်း'; + + @override + String get paywallOfferCancelAnytime => + 'မည်သည့်အချိန်တွင်မဆို ရပ်ဆိုင်းနိုင်သည်'; + + @override + String get paywallOfferClaimButton => 'သင့်အတွက် အဆိုပြုချက်ကို ရယူပါ'; + + @override + String get paywallOfferAutoRenewable => + 'အလိုအလျောက်ပြန်လည်အသစ်ပြုလုပ်သောစာရင်း'; + + @override + String get paywallGiftBoxTitle => 'အထူးလက်ဆောင်အတွင်း'; + + @override + String get paywallGiftBoxSubtitle => + 'တစ်ချက်နှိပ်ပြီး သင့်အထူးအကြွေးကို ဖျော်ဖြေရန်'; + + @override + String get paywallGiftBoxOpenButton => 'ယခုဖွင့်ပါ'; + + @override + String get paywallRetryLoadPricesError => + 'စာရင်းသွင်းမှုရွေးချယ်မှုများကိုဖွင့်ရန်မအောင်မြင်ပါ။ ကျေးဇူးပြု၍နောက်မှထပ်ကြိုးစားပါ။'; + + @override + String get paywallPricesUnavailableTitle => + 'Couldn\'t load subscription prices'; + + @override + String get paywallPricesUnavailableMessage => + 'သင့်ချိတ်ဆက်မှုကိုစစ်ဆေးပြီးထပ်မံကြိုးစားပါ။'; + + @override + String get paywallPricesUnavailableRetryButton => 'ထပ်မံကြိုးစားပါ'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ne.dart b/example/lib/src/generated/onboarding/onboarding_localization_ne.dart new file mode 100644 index 0000000..8bb0aff --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ne.dart @@ -0,0 +1,486 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Nepali (`ne`). +class OnboardingLocalizationNe extends OnboardingLocalization { + OnboardingLocalizationNe([String locale = 'ne']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'उन्नत एआई स्वास्थ्य सहायक'; + + @override + String get welcomeScreenTitle => 'डॉक्टरिनामा स्वागत छ!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'अनुभवी चिकित्सकले जस्तै लक्षणहरूको विश्लेषण गर्न डिजाइन गरिएको — ढाँचाहरू, समय, र सन्दर्भ बुझेर।'; + + @override + String get getStartedBtn => 'सुरु गर्नुहोस्'; + + @override + String get alreadyHaveAccount => + 'पहिले नै खाता छ? लगइन गर्नुहोस्'; + + @override + String get termsConsent => + 'अगाडि बढ्नाले, तपाईं हाम्रो\nसेवाको सर्तहरू | गोपनीयता नीति मा सहमत हुनुहुन्छ।'; + + @override + String get personalizationInterruptionTitle => + 'Doctorina लाई तपाईंको लागि व्यक्तिगत बनाउँछौं'; + + @override + String get personalizationSectionLabel => 'व्यक्तिगतकरण'; + + @override + String get personalizationReasonTitle => 'तपाईंलाई यहाँ के ल्याएको हो?'; + + @override + String get personalizationReasonSymptomsNow => + 'म म अहिले लक्षण अनुभव गर्दैछु'; + + @override + String get personalizationReasonUnderstandChange => + 'म स्वास्थ्य परिवर्तन बुझ्न चाहन्छु'; + + @override + String get personalizationReasonRuleOutSerious => + 'म मर्मत गर्न चाहन्छु कि केही गम्भीर छैन'; + + @override + String get personalizationReasonMonitoring => + 'म म मेरो स्वास्थ्यलाई सक्रिय रूपमा अनुगमन गर्दैछु'; + + @override + String get continueBtn => 'जारी राख्नुहोस्'; + + @override + String get captionEmpathyText => + 'जब तपाईंको स्वास्थ्यमा केही परिवर्तन हुन्छ, के महत्त्वपूर्ण छ थाहा पाउन सबैभन्दा गाह्रो हुन्छ।'; + + @override + String get captionDifferentiatorText => + 'Doctorina लक्षणका ढाँचाहरू र समयको बारेमा ध्यान केन्द्रित गर्दछ — ती नै संकेतहरू जुन चिकित्सकहरूले प्रारम्भमा खोज्छन्।'; + + @override + String get genderTitle => 'तपाईंको लिङ्ग चयन गर्नुहोस्'; + + @override + String get genderSubtitle => + 'यसले हामीलाई लक्षणहरू व्याख्या गर्न र सिफारिसहरूलाई अझ सटीक रूपमा दिन मद्दत गर्दछ।'; + + @override + String get genderMale => 'पुरुष'; + + @override + String get genderFemale => 'महिला'; + + @override + String get genderPreferNotSay => 'भन्न चाहन्न'; + + @override + String get ageTitle => 'तपाईंको उमेर कति हो?'; + + @override + String get ageSubtitle => + 'उमेरले हामीलाई स्वास्थ्यको ढाँचाहरूलाई अझ सटीक रूपमा मूल्याङ्कन गर्न मद्दत गर्दछ'; + + @override + String get socialProofLargeTitle => + '48k+ भन्दा बढी मानिसहरू\nhave chosen Doctorina'; + + @override + String get socialProofDisclaimer => + '*डॉक्टोरिना प्रयोगकर्ता आधारको तथ्यांकमा आधारित'; + + @override + String get developedByDoctors => + 'डॉक्टरद्वारा विकास गरिएको\nडॉक्टरहरू'; + + @override + String get quizStepLabel1 => 'चरण 1/6'; + + @override + String get quizHealthSituationTitle => + 'तपाईंको वर्तमान स्वास्थ्य अवस्थालाई कसरी वर्णन गर्नुहुन्छ?'; + + @override + String get quizHealthHealthy => 'म सामान्यतया स्वस्थ महसुस गर्छु'; + + @override + String get quizHealthMinorConcerns => 'मसँग निरन्तर साना चासोहरू छन्'; + + @override + String get quizHealthKnownCondition => + 'म एक ज्ञात अवस्थाको व्यवस्थापन गर्दैछु'; + + @override + String get quizHealthUnresolved => 'म केही अनसुल्झिएको कुरासँग जुद्दैछु'; + + @override + String get quizStepLabel2 => 'चरण २/६'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'तपाईं सामान्यतया कति पटक डाक्टरलाई भेट्नुहुन्छ?'; + + @override + String get quizDoctorVisitRegular => 'नियमित रूपमा (जाँच / फलो-अप)'; + + @override + String get quizDoctorVisitOccasional => 'कहिलेकाहीं, जब केही गलत हुन्छ'; + + @override + String get quizDoctorVisitRare => 'दुर्लभ, केवल आवश्यक भएमा'; + + @override + String get quizDoctorVisitAvoid => 'डॉक्टरको भ्रमण गर्नबाट टाढा रहनुहोस्'; + + @override + String get quizDoctorVisitNever => 'मैले कहिल्यै डाक्टरलाई भेटेको छैन'; + + @override + String get quizStepLabel3 => 'चरण ३/६'; + + @override + String get quizBiggestChallengeTitle => + 'अबसम्म स्वास्थ्य सेवासँगको तपाईंको सबैभन्दा ठूलो चुनौती के हो?'; + + @override + String get quizMultiSelectHint => 'जति चाहनुहुन्छ त्यति चयन गर्नुहोस्'; + + @override + String get quizChallengeLongWait => 'नियुक्तिहरूको लागि लामो पर्खाइको समय'; + + @override + String get quizChallengeRushedVisits => 'भेटघाट चाँडो हुन्छ'; + + @override + String get quizChallengeCost => 'उच्च लागत वा अस्पष्ट मूल्य निर्धारण'; + + @override + String get quizChallengeHardExplain => + 'सब कुरा स्पष्ट रूपमा व्याख्या गर्न गाह्रो'; + + @override + String get quizChallengeConflictingAdvice => 'विरोधाभासी राय वा सल्लाह'; + + @override + String get quizChallengeNone => 'कुनै प्रमुख समस्या छैन'; + + @override + String get quizStepLabel4 => 'STEP 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'डॉक्टरको भेटपछि, तपाईंलाई भनिएको कुरामा कति विश्वस्त हुनुहुन्छ?'; + + @override + String get quizConfidenceNoRightAnswer => 'सही वा गलत उत्तर छैन।'; + + @override + String get quizConfidenceVeryClear => 'के बारेमा धेरै स्पष्ट'; + + @override + String get quizConfidenceSomewhatClear => 'केही हदसम्म स्पष्ट'; + + @override + String get quizConfidenceStillUncertain => 'अझै निश्चित छैन'; + + @override + String get quizConfidenceMoreConfused => 'पहिलेभन्दा बढी अलमलमा'; + + @override + String get captionDiagnosisVsChange => + 'धेरै व्यक्तिहरूले निदान पछि होइन तर लक्षणहरू समयसँगै परिवर्तन हुँदा संघर्ष गर्छन्.'; + + @override + String get quizStepLabel5 => 'चरण ५/६'; + + @override + String get quizConcernsAddressedTitle => + 'तपाईंको चासोहरू सामान्यतया कत्तिको राम्रोसँग सम्बोधन गरिन्छ?'; + + @override + String get quizConcernsAddressedSubtitle => + 'तपाईंको व्यक्तिगतरूपमा अनुभव गरिएको भावनाहरूको आधारमा'; + + @override + String get quizConcernsVeryWell => 'धेरै राम्रो'; + + @override + String get quizConcernsFairlyWell => 'ठीकै छ'; + + @override + String get quizConcernsNotVeryWell => 'धेरै राम्रो छैन'; + + @override + String get quizConcernsVaries => 'यो धेरै भिन्न छ'; + + @override + String get quizStepLabel6 => 'STEP 6/6'; + + @override + String get quizSelfResearchTitle => + 'डॉक्टरसँग भेट्नुअघि, के तपाईं सामान्यतया लक्षणहरूलाई आफैं बुझ्न प्रयास गर्नुहुन्छ?'; + + @override + String get quizSelfResearchYes => + 'हो, म अनुसन्धान गर्छु र कुरा ट्र्याक गर्छु'; + + @override + String get quizSelfResearchSometimes => 'कहिलेकाहीं'; + + @override + String get quizSelfResearchRarely => 'दुर्लभ'; + + @override + String get quizSelfResearchNo => 'होइन, म पूर्ण रूपमा पेशेवरहरूमा निर्भर छु'; + + @override + String get captionAvailabilityTitle => + 'स्वास्थ्यका प्रश्नहरू कार्यालयको समय पछ्याउँदैनन्।'; + + @override + String get captionAvailabilitySupport => + 'Doctorina २४/७ उपलब्ध छ।'; + + @override + String get captionAvailabilityDescription => + 'स्पष्टता अर्को भेटको लागि पर्खनु हुँदैन'; + + @override + String get notificationTitle => + 'के तपाईँलाई हाम्रो स्वास्थ्य लक्षणहरूको बारेमा जाँच गर्न दिनुहुन्छ?'; + + @override + String get notificationDescription => + 'AI ले तपाईंका लक्षणहरू अनुगमन गर्न सक्छ र यदि केहि ध्यान दिनु पर्ने छ भने तपाईंलाई सचेत पार्न सक्छ'; + + @override + String get notificationYes => 'हो — मेरो स्वास्थ्यमा ध्यान दिनुहोस्'; + + @override + String get notificationOnlyImportant => + 'हो — केवल यदि केही महत्त्वपूर्ण परिवर्तन हुन्छ'; + + @override + String get notificationNo => 'अझै निश्चित छैन'; + + @override + String get referralSourceTitle => + 'के तपाईंले डोक्टरबाट डोक्टरिनाबारे सुन्नुभयो?'; + + @override + String get referralSourceYes => 'हो'; + + @override + String get referralSourceNo => 'हुन्न'; + + @override + String get processingSectionLabel => 'तपाईंको परिणामहरूको विश्लेषण गर्दै'; + + @override + String get processingTitle => 'तपाईंको अनुभवलाई व्यक्तिगत बनाउँदै'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => 'असीमित अनुभव Doctorina Pro सँग'; + + @override + String get paywallAssistantTagline => 'तपाईंको सहायक जो सधैं नजिकै हुन्छ'; + + @override + String get paywallEnableTrialToggle => + 'अझै निश्चित हुनुहुन्न? निःशुल्क परीक्षण सक्षम गर्नुहोस्।'; + + @override + String get paywallPlanYear => 'वार्षिक'; + + @override + String get paywallPlanMonthly => 'महिनावारी'; + + @override + String get paywallPlanWeek => 'साप्ताहिक'; + + @override + String get paywallPlanDaily => 'दैनिक'; + + @override + String get paywallPlanYearPrice => '\$39.99 (केवल \$3.34/सप्ताह)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'सुरक्षित गर्नुहोस् 58%'; + + @override + String get paywallContinueBtn => 'जारी राख्नुहोस्'; + + @override + String get paywallStartTrialBtn => 'निःशुल्क परीक्षण सुरु गर्नुहोस्'; + + @override + String get paywallSubscriptionDisclaimer => + 'सदस्यता स्वचालित रूपमा नवीकरणीय छ। कुनै पनि समयमा रद्द गर्नुहोस्'; + + @override + String get paywallTermsPrivacy => + 'सेवाको शर्तहरू | गोपनीयता नीति'; + + @override + String get paywallPerWeek => 'साता'; + + @override + String get processingLabel => 'तपाईंको परिणामहरूको विश्लेषण गर्दै'; + + @override + String get paywallCloseTooltip => 'अनबोर्डिङ बन्द गर्नुहोस्'; + + @override + String get paywallRestoreTooltip => 'खरिद पुनर्स्थापित गर्नुहोस्'; + + @override + String get paywallRestoreBtn => 'पुनर्स्थापना'; + + @override + String get paywallRestoreNoneFound => + 'पुनर्स्थापना गर्नको लागि कुनै सक्रिय सदस्यता फेला परेन।'; + + @override + String get paywallRestoreError => + 'खरिद पुनर्स्थापना गर्न असफल। कृपया पछि फेरि प्रयास गर्नुहोस्।'; + + @override + String get paywallPurchaseError => + 'खरिद पूरा गर्न असफल भयो। कृपया पछि फेरि प्रयास गर्नुहोस्।'; + + @override + String get paywallTrialStep1Title => 'आज: तात्कालिक पहुँच प्राप्त गर्नुहोस्'; + + @override + String get paywallTrialStep1Description => + 'पूर्ण पहुँच अनलक गर्नुहोस्, कुनै पनि समयमा AI स्वास्थ्य उत्तरहरू प्राप्त गर्नुहोस्।'; + + @override + String get paywallTrialStep2Title => 'दोस्रो दिन: परीक्षणको सम्झना'; + + @override + String get paywallTrialStep2Description => + 'हामी तपाईंलाई सम्झना पठाउनेछौं कि तपाईंको परीक्षण समाप्त हुन लागेको छ'; + + @override + String get paywallTrialStep3Title => 'दिन ३: नवीकरण'; + + @override + String paywallTrialStep3Description(String date) { + return 'तपाईंलाई $date मा चार्ज गरिनेछ, कुनै पनि समयमा रद्द गर्न सक्नुहुन्छ।'; + } + + @override + String get paywallBenefitsHeader => 'के समावेश गरिएको छ'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'निजी र सुरक्षित'; + + @override + String get paywallBenefitAiAssistant => 'एआई सहायक, २४/७'; + + @override + String get paywallBenefitInstantAnswers => 'तत्काल स्वास्थ्य उत्तर'; + + @override + String get paywallBenefitScienceInsights => + 'स्पष्ट, विज्ञानमा आधारित जानकारी'; + + @override + String get paywallBenefitAutoSummaries => 'स्वचालित संवाद संक्षेप'; + + @override + String get paywallBenefitAnyLanguage => 'कुनै पनि भाषा, कुनै पनि समयमा'; + + @override + String get paywallPriceUnitPerWeek => 'प्रति हप्ता'; + + @override + String get paywallOfferTitle => 'एक पटकको प्रस्ताव'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% छुट'; + } + + @override + String get paywallOfferForeverBadge => 'FOREVER'; + + @override + String get paywallOfferDisclaimer => + 'एक पटकको प्रस्ताव बन्द गरेपछि, यो हराइन्छ!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/महिना'; + } + + @override + String get paywallOfferLowestPriceBadge => 'सर्वाधिक मूल्य'; + + @override + String get paywallOfferCancelAnytime => 'कुनै पनि समयमा रद्द गर्नुहोस्'; + + @override + String get paywallOfferClaimButton => 'तपाईंको अफर दाबी गर्नुहोस्'; + + @override + String get paywallOfferAutoRenewable => 'स्वचालित नवीकरण सदस्यता'; + + @override + String get paywallGiftBoxTitle => 'विशेष उपहार भित्र'; + + @override + String get paywallGiftBoxSubtitle => + 'एक ट्यापमा तपाईंको विशेष प्रस्ताव प्रकट गर्नुहोस्'; + + @override + String get paywallGiftBoxOpenButton => 'अहिले खोल्नुहोस्'; + + @override + String get paywallRetryLoadPricesError => + 'सदस्यता विकल्पहरू लोड गर्न असफल। कृपया पछि फेरि प्रयास गर्नुहोस्।'; + + @override + String get paywallPricesUnavailableTitle => 'सदस्यता मूल्यहरू लोड गर्न सकिएन'; + + @override + String get paywallPricesUnavailableMessage => + 'तपाईंको जडान जाँच गर्नुहोस् र पुनः प्रयास गर्नुहोस्।'; + + @override + String get paywallPricesUnavailableRetryButton => 'फेरि प्रयास गर्नुहोस्'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_nl.dart b/example/lib/src/generated/onboarding/onboarding_localization_nl.dart new file mode 100644 index 0000000..9be49dc --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_nl.dart @@ -0,0 +1,487 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Dutch Flemish (`nl`). +class OnboardingLocalizationNl extends OnboardingLocalization { + OnboardingLocalizationNl([String locale = 'nl']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'GEAVANCEERDE AI GEZONDHEIDSASSISTENT'; + + @override + String get welcomeScreenTitle => 'Welkom'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Ontworpen om symptomen te analyseren zoals ervaren clinici doen — door patronen, timing en context te begrijpen.'; + + @override + String get getStartedBtn => 'Aan de slag'; + + @override + String get alreadyHaveAccount => 'Al een account? Inloggen'; + + @override + String get termsConsent => + 'Door door te gaan, gaat u akkoord met onze\nAlgemene Voorwaarden | Privacybeleid'; + + @override + String get personalizationInterruptionTitle => + 'Laten we Doctorina voor jou personaliseren'; + + @override + String get personalizationSectionLabel => 'PERSONALISATIE'; + + @override + String get personalizationReasonTitle => 'Wat brengt je hier vandaag?'; + + @override + String get personalizationReasonSymptomsNow => 'Ik ervaar nu symptomen'; + + @override + String get personalizationReasonUnderstandChange => + 'Ik wil een gezondheidsverandering begrijpen'; + + @override + String get personalizationReasonRuleOutSerious => + 'Ik wil iets ernstigs uitsluiten'; + + @override + String get personalizationReasonMonitoring => + 'Ik monitor mijn gezondheid proactief'; + + @override + String get continueBtn => 'Doorgaan'; + + @override + String get captionEmpathyText => + 'Wanneer er iets verandert in uw gezondheid, is het moeilijkste om te weten wat belangrijk is.'; + + @override + String get captionDifferentiatorText => + 'Doctorina richt zich op symptoompatronen en timing — dezelfde signalen waar clinici in een vroeg stadium naar kijken.'; + + @override + String get genderTitle => 'Selecteer uw geslacht'; + + @override + String get genderSubtitle => + 'Dit helpt ons om symptomen beter te interpreteren en aanbevelingen nauwkeuriger te geven.'; + + @override + String get genderMale => 'Man'; + + @override + String get genderFemale => 'Vrouwelijk'; + + @override + String get genderPreferNotSay => 'Liever niet zeggen'; + + @override + String get ageTitle => 'Wat is uw leeftijd?'; + + @override + String get ageSubtitle => + 'Leeftijd helpt ons om gezondheids patronen nauwkeuriger te evalueren'; + + @override + String get socialProofLargeTitle => + 'Meer dan 48k+ mensen\nhave chosen Doctorina'; + + @override + String get socialProofDisclaimer => + '*Gebaseerd op statistieken van de Doctorina-gebruikersbasis'; + + @override + String get developedByDoctors => 'Ontwikkeld door\nArtsen'; + + @override + String get quizStepLabel1 => 'STAP 1/6'; + + @override + String get quizHealthSituationTitle => + 'Hoe zou u uw huidige gezondheidssituatie beschrijven?'; + + @override + String get quizHealthHealthy => 'Ik voel me over het algemeen gezond'; + + @override + String get quizHealthMinorConcerns => 'Ik heb voortdurende kleine zorgen'; + + @override + String get quizHealthKnownCondition => 'Ik beheer een bekende aandoening'; + + @override + String get quizHealthUnresolved => 'Ik heb te maken met iets onopgelost'; + + @override + String get quizStepLabel2 => 'STAP 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Hoe vaak zie je meestal een dokter?'; + + @override + String get quizDoctorVisitRegular => + 'Regelmatig (controles / vervolgafspraken)'; + + @override + String get quizDoctorVisitOccasional => 'Af en toe, als er iets mis is'; + + @override + String get quizDoctorVisitRare => 'Zelden, alleen als het nodig is'; + + @override + String get quizDoctorVisitAvoid => 'Vermijd het bezoeken van artsen'; + + @override + String get quizDoctorVisitNever => 'Ik heb nooit een dokter bezocht'; + + @override + String get quizStepLabel3 => 'STAP 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Wat is tot nu toe uw grootste uitdaging met de gezondheidszorg?'; + + @override + String get quizMultiSelectHint => 'Kies zoveel als je wilt'; + + @override + String get quizChallengeLongWait => 'Lange wachttijden voor afspraken'; + + @override + String get quizChallengeRushedVisits => 'Bezoeken voelen gehaast'; + + @override + String get quizChallengeCost => 'Hoge kosten of onduidelijke prijzen'; + + @override + String get quizChallengeHardExplain => + 'Het is moeilijk om alles duidelijk uit te leggen'; + + @override + String get quizChallengeConflictingAdvice => + 'Tegenstrijdige meningen of adviezen'; + + @override + String get quizChallengeNone => 'Geen grote problemen'; + + @override + String get quizStepLabel4 => 'STAP 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Na afspraken, hoe zeker voel je je over wat je is verteld?'; + + @override + String get quizConfidenceNoRightAnswer => 'Er is geen goed of fout antwoord.'; + + @override + String get quizConfidenceVeryClear => + 'Zeer duidelijk over wat er aan de hand is'; + + @override + String get quizConfidenceSomewhatClear => 'Enigszins duidelijk'; + + @override + String get quizConfidenceStillUncertain => 'Nog steeds onzeker'; + + @override + String get quizConfidenceMoreConfused => 'Meer verward dan voorheen'; + + @override + String get captionDiagnosisVsChange => + 'Veel mensen hebben moeite niet na de diagnose maar wanneer symptomen in de loop van de tijd veranderen.'; + + @override + String get quizStepLabel5 => 'STAP 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Hoe goed voelt u dat uw zorgen meestal worden aangepakt?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Gebaseerd op uw subjectieve gevoelens'; + + @override + String get quizConcernsVeryWell => 'Zeer goed'; + + @override + String get quizConcernsFairlyWell => 'Redelijk goed'; + + @override + String get quizConcernsNotVeryWell => 'Niet zo goed'; + + @override + String get quizConcernsVaries => 'Het varieert sterk'; + + @override + String get quizStepLabel6 => 'STAP 6/6'; + + @override + String get quizSelfResearchTitle => + 'Probeer je meestal zelf de symptomen te begrijpen voordat je een dokter ziet?'; + + @override + String get quizSelfResearchYes => 'Ja, ik onderzoek en volg dingen'; + + @override + String get quizSelfResearchSometimes => 'Soms'; + + @override + String get quizSelfResearchRarely => 'Zelden'; + + @override + String get quizSelfResearchNo => 'Nee, ik vertrouw volledig op professionals'; + + @override + String get captionAvailabilityTitle => + 'Gezondheidsvragen volgen geen kantooruren.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina is 24/7 beschikbaar.'; + + @override + String get captionAvailabilityDescription => + 'Duidelijkheid hoeft niet te wachten op de volgende afspraak.'; + + @override + String get notificationTitle => + 'Wilt u dat wij uw gezondheidsklachten in de gaten houden?'; + + @override + String get notificationDescription => + 'AI kan uw symptomen volgen en u waarschuwen als er iets aandacht nodig heeft'; + + @override + String get notificationYes => 'Ja — houd mijn gezondheid in de gaten'; + + @override + String get notificationOnlyImportant => + 'Ja — alleen als er iets belangrijks verandert'; + + @override + String get notificationNo => 'Nog niet zeker'; + + @override + String get referralSourceTitle => + 'Heeft u over Doctorina van een dokter gehoord?'; + + @override + String get referralSourceYes => 'Ja'; + + @override + String get referralSourceNo => 'Nee'; + + @override + String get processingSectionLabel => 'UW RESULTATEN ANALYSEREN'; + + @override + String get processingTitle => 'Uw ervaring personaliseren'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Onbeperkte ervaring met Doctorina Pro'; + + @override + String get paywallAssistantTagline => + 'JOUW ASSISTENT DIE ALTID IN DE BUURT IS'; + + @override + String get paywallEnableTrialToggle => + 'Nog niet zeker? Activeer gratis proefperiode.'; + + @override + String get paywallPlanYear => 'Jaarlijks'; + + @override + String get paywallPlanMonthly => 'Maandelijks'; + + @override + String get paywallPlanWeek => 'Wekelijks'; + + @override + String get paywallPlanDaily => 'Dagelijks'; + + @override + String get paywallPlanYearPrice => '\$39.99 (slechts \$3.34/week)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'BESPAAR 58%'; + + @override + String get paywallContinueBtn => 'Doorgaan'; + + @override + String get paywallStartTrialBtn => 'Start gratis proefperiode'; + + @override + String get paywallSubscriptionDisclaimer => + 'Abonnement is automatisch verlengbaar. Annuleer op elk moment'; + + @override + String get paywallTermsPrivacy => + 'Servicevoorwaarden | Privacybeleid'; + + @override + String get paywallPerWeek => 'week'; + + @override + String get processingLabel => 'Uw resultaten analyseren'; + + @override + String get paywallCloseTooltip => 'Onboarding sluiten'; + + @override + String get paywallRestoreTooltip => 'Aankopen herstellen'; + + @override + String get paywallRestoreBtn => 'Herstellen'; + + @override + String get paywallRestoreNoneFound => + 'Geen actieve abonnement gevonden om te herstellen.'; + + @override + String get paywallRestoreError => + 'Het is niet gelukt om aankopen te herstellen. Probeer het later opnieuw.'; + + @override + String get paywallPurchaseError => + 'Aankoop kon niet worden voltooid. Probeer het later opnieuw.'; + + @override + String get paywallTrialStep1Title => 'Vandaag: Krijg directe toegang'; + + @override + String get paywallTrialStep1Description => + 'Ontgrendel volledige toegang, krijg AI-gezondheidsantwoorden, altijd.'; + + @override + String get paywallTrialStep2Title => 'Dag 2: Herinnering aan de proefperiode'; + + @override + String get paywallTrialStep2Description => + 'We sturen je een herinnering dat je proefperiode bijna eindigt'; + + @override + String get paywallTrialStep3Title => 'Dag 3: Vernieuwing'; + + @override + String paywallTrialStep3Description(String date) { + return 'Je wordt op $date in rekening gebracht, annuleer op elk moment daarvoor.'; + } + + @override + String get paywallBenefitsHeader => 'WAT IS INBEGREPEN'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privé en veilig'; + + @override + String get paywallBenefitAiAssistant => 'AI-assistent, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Directe gezondheidsantwoorden'; + + @override + String get paywallBenefitScienceInsights => + 'Duidelijke, op wetenschap gebaseerde inzichten'; + + @override + String get paywallBenefitAutoSummaries => 'Automatische gespreksresumés'; + + @override + String get paywallBenefitAnyLanguage => 'Elke taal, op elk moment'; + + @override + String get paywallPriceUnitPerWeek => 'per week'; + + @override + String get paywallOfferTitle => 'Eenmalig aanbod'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% KORTING'; + } + + @override + String get paywallOfferForeverBadge => 'VOOR ALTIJD'; + + @override + String get paywallOfferDisclaimer => + 'Zodra je je eenmalige aanbieding sluit, is deze weg!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/maand'; + } + + @override + String get paywallOfferLowestPriceBadge => 'LAAGSTE PRIJS OOIT'; + + @override + String get paywallOfferCancelAnytime => 'Altijd annuleren'; + + @override + String get paywallOfferClaimButton => 'Claim je aanbod'; + + @override + String get paywallOfferAutoRenewable => 'Automatisch verlengende abonnement'; + + @override + String get paywallGiftBoxTitle => 'Speciale gift binnenin'; + + @override + String get paywallGiftBoxSubtitle => + 'Een tik om je speciale aanbieding te onthullen'; + + @override + String get paywallGiftBoxOpenButton => 'Nu openen'; + + @override + String get paywallRetryLoadPricesError => + 'Het laden van abonnementsopties is mislukt. Probeer het later opnieuw.'; + + @override + String get paywallPricesUnavailableTitle => + 'Kon de abonnementsprijzen niet laden'; + + @override + String get paywallPricesUnavailableMessage => + 'Controleer uw verbinding en probeer het opnieuw'; + + @override + String get paywallPricesUnavailableRetryButton => 'Probeer het opnieuw'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_pa.dart b/example/lib/src/generated/onboarding/onboarding_localization_pa.dart new file mode 100644 index 0000000..b6f1222 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_pa.dart @@ -0,0 +1,963 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Panjabi Punjabi (`pa`). +class OnboardingLocalizationPa extends OnboardingLocalization { + OnboardingLocalizationPa([String locale = 'pa']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ADVANCED AI HEALTH ASSISTANT'; + + @override + String get welcomeScreenTitle => 'ਡਾਕਟਰਿਨਾ ਵਿੱਚ ਸੁਆਗਤ ਹੈ'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'ਅਨੁਭਵੀ ਡਾਕਟਰਾਂ ਵਾਂਗ ਲੱਛਣਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਹੈ - ਪੈਟਰਨ, ਸਮਾਂ ਅਤੇ ਸੰਦਰਭ ਨੂੰ ਸਮਝ ਕੇ.'; + + @override + String get getStartedBtn => 'ਸ਼ੁਰੂ ਕਰੋ'; + + @override + String get alreadyHaveAccount => + 'ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਖਾਤਾ ਹੈ? ਲੌਗ ਇਨ'; + + @override + String get termsConsent => + 'ਜਾਰੀ ਰੱਖਣ ਨਾਲ, ਤੁਸੀਂ ਸਾਡੇ ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ | ਗੋਪਨੀਯਤਾ ਨੀਤੀ ਨਾਲ ਸਹਿਮਤ ਹੋ ਜਾਂਦੇ ਹੋ'; + + @override + String get personalizationInterruptionTitle => + 'ਆਓ ਡਾਕਟਰੀਨਾ ਨੂੰ ਤੁਹਾਡੇ ਲਈ ਵਿਅਕਤੀਗਤ ਕਰੀਏ'; + + @override + String get personalizationSectionLabel => 'ਵੈਯਕਤੀਕਰਨ'; + + @override + String get personalizationReasonTitle => 'ਤੁਹਾਨੂੰ ਅੱਜ ਇੱਥੇ ਕੀ ਲਿਆਇਆ ਹੈ?'; + + @override + String get personalizationReasonSymptomsNow => + 'ਮੈਂ ਹੁਣ ਲੱਛਣਾਂ ਦਾ ਅਨੁਭਵ ਕਰ ਰਿਹਾ ਹਾਂ'; + + @override + String get personalizationReasonUnderstandChange => + 'ਮੈਂ ਸਿਹਤ ਵਿੱਚ ਬਦਲਾਅ ਨੂੰ ਸਮਝਣਾ ਚਾਹੁੰਦਾ ਹਾਂ'; + + @override + String get personalizationReasonRuleOutSerious => + 'ਮੈਂ ਕੁਝ ਗੰਭੀਰ ਨੂੰ ਰੱਦ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹਾਂ'; + + @override + String get personalizationReasonMonitoring => + 'ਮੈਂ ਆਪਣੀ ਸਿਹਤ ਨੂੰ ਪ੍ਰੋਐਕਟਿਵ ਤਰੀਕੇ ਨਾਲ ਨਿਗਰਾਨੀ ਕਰ ਰਿਹਾ ਹਾਂ'; + + @override + String get continueBtn => 'ਜਾਰੀ ਰੱਖੋ'; + + @override + String get captionEmpathyText => + 'ਜਦੋਂ ਤੁਹਾਡੇ ਸਿਹਤ ਵਿੱਚ ਕੁਝ ਬਦਲਦਾ ਹੈ, ਤਾਂ ਇਹ ਜਾਣਨਾ ਸਭ ਤੋਂ ਮੁਸ਼ਕਲ ਹੁੰਦਾ ਹੈ ਕਿ ਕੀ ਮਹੱਤਵਪੂਰਨ ਹੈ।'; + + @override + String get captionDifferentiatorText => + 'ਡਾਕਟੋਰੀਨਾ ਲੱਛਣਾਂ ਦੇ ਪੈਟਰਨ ਅਤੇ ਸਮੇਂ \'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਦੀ ਹੈ — ਉਹੀ ਸੰਕੇਤ ਜੋ ਡਾਕਟਰ ਪਹਿਲਾਂ ਦੇਖਦੇ ਹਨ.'; + + @override + String get genderTitle => 'ਆਪਣਾ ਲਿੰਗ ਚੁਣੋ'; + + @override + String get genderSubtitle => + 'ਇਹ ਸਾਨੂੰ ਲੱਛਣਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰਨ ਅਤੇ ਸਿਫਾਰਸ਼ਾਂ ਨੂੰ ਹੋਰ ਸਹੀ ਢੰਗ ਨਾਲ ਦੇਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ.'; + + @override + String get genderMale => 'ਮਰਦ'; + + @override + String get genderFemale => 'ਮਹਿਲਾ'; + + @override + String get genderPreferNotSay => 'ਕਹਿਣਾ ਨਹੀਂ ਚਾਹੁੰਦਾ'; + + @override + String get ageTitle => 'ਤੁਹਾਡੀ ਉਮਰ ਕੀ ਹੈ?'; + + @override + String get ageSubtitle => + 'ਉਮਰ ਸਾਨੂੰ ਸਿਹਤ ਦੇ ਪੈਟਰਨਾਂ ਦਾ ਜ਼ਿਆਦਾ ਸਹੀ ਮੁਲਾਂਕਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ.'; + + @override + String get socialProofLargeTitle => + '48k+ ਲੋਕਾਂ\nਨੇ ਡਾਕਟਰਿਨਾ ਚੁਣਿਆ ਹੈ'; + + @override + String get socialProofDisclaimer => + '*ਡਾਕਟਰਿਨਾ ਉਪਭੋਗਤਾ ਆਧਾਰ ਅੰਕੜਿਆਂ ਦੇ ਆਧਾਰ \'ਤੇ'; + + @override + String get developedByDoctors => 'ਵਿਕਸਿਤ ਕੀਤਾ ਗਿਆ\nਡਾਕਟਰਾਂ'; + + @override + String get quizStepLabel1 => 'ਕਦਮ 1/6'; + + @override + String get quizHealthSituationTitle => + 'ਤੁਸੀਂ ਆਪਣੀ ਮੌਜੂਦਾ ਸਿਹਤ ਦੀ ਸਥਿਤੀ ਨੂੰ ਕਿਵੇਂ ਵਰਣਨ ਕਰੋਗੇ?'; + + @override + String get quizHealthHealthy => 'ਮੈਂ ਆਮ ਤੌਰ \'ਤੇ ਸਿਹਤਮੰਦ ਮਹਿਸੂਸ ਕਰਦਾ ਹਾਂ'; + + @override + String get quizHealthMinorConcerns => 'ਮੇਰੇ ਕੋਲ ਚੱਲਦੀਆਂ ਛੋਟੀਆਂ ਚਿੰਤਾਵਾਂ ਹਨ'; + + @override + String get quizHealthKnownCondition => + 'ਮੈਂ ਜਾਣੀ ਪਛਾਣੀ ਬਿਮਾਰੀ ਦਾ ਪ੍ਰਬੰਧ ਕਰ ਰਿਹਾ ਹਾਂ'; + + @override + String get quizHealthUnresolved => 'ਮੈਂ ਕੁਝ ਅਣਸੁਝਿਆ ਦਾ ਸਾਹਮਣਾ ਕਰ ਰਿਹਾ ਹਾਂ'; + + @override + String get quizStepLabel2 => 'ਕਦਮ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'ਤੁਸੀਂ ਆਮ ਤੌਰ \'ਤੇ ਡਾਕਟਰ ਨੂੰ ਕਿੰਨੀ ਵਾਰੀ ਮਿਲਦੇ ਹੋ?'; + + @override + String get quizDoctorVisitRegular => 'ਨਿਯਮਤ (ਜਾਂਚਾਂ / ਫਾਲੋ-ਅਪ)'; + + @override + String get quizDoctorVisitOccasional => 'ਕਦੇ-ਕਦੇ, ਜਦੋਂ ਕੁਝ ਗਲਤ ਹੁੰਦਾ ਹੈ'; + + @override + String get quizDoctorVisitRare => 'ਬਹੁਤ ਹੀ ਕਮ, ਸਿਰਫ ਜਰੂਰਤ ਹੋਣ \'ਤੇ'; + + @override + String get quizDoctorVisitAvoid => 'ਡਾਕਟਰਾਂ ਕੋਲ ਜਾਣ ਤੋਂ ਬਚੋ'; + + @override + String get quizDoctorVisitNever => 'ਮੈਂ ਕਦੇ ਵੀ ਡਾਕਟਰ ਨੂੰ ਨਹੀਂ ਮਿਲਿਆ'; + + @override + String get quizStepLabel3 => 'ਕਦਮ 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'ਤੁਹਾਡੇ ਲਈ ਹੁਣ ਤੱਕ ਸਿਹਤ ਸੇਵਾਵਾਂ ਨਾਲ ਸਭ ਤੋਂ ਵੱਡੀ ਚੁਣੌਤੀ ਕੀ ਰਹੀ ਹੈ?'; + + @override + String get quizMultiSelectHint => 'ਜਿੰਨਾ ਚਾਹੋ ਚੁਣੋ'; + + @override + String get quizChallengeLongWait => 'ਲੰਬੇ ਸਮੇਂ ਦੀ ਉਡੀਕ ਲਈ ਨਿਯੁਕਤੀਆਂ'; + + @override + String get quizChallengeRushedVisits => 'ਦੌਰੇ ਤੇਜ਼ ਹਨ'; + + @override + String get quizChallengeCost => 'ਉੱਚ ਖਰਚ ਜਾਂ ਅਸਪਸ਼ਟ ਕੀਮਤ'; + + @override + String get quizChallengeHardExplain => 'ਸਭ ਕੁਝ ਸਾਫ਼ ਸਪਸ਼ਟ ਕਰਨ ਵਿੱਚ ਮੁਸ਼ਕਲ ਹੈ'; + + @override + String get quizChallengeConflictingAdvice => 'ਵਿਰੋਧੀ ਰਾਏ ਜਾਂ ਸਲਾਹਾਂ'; + + @override + String get quizChallengeNone => 'ਕੋਈ ਵੱਡੀ ਸਮੱਸਿਆ ਨਹੀਂ'; + + @override + String get quizStepLabel4 => 'ਕਦਮ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'ਮੁਲਾਕਾਤਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਜੋ ਕੁਝ ਦੱਸਿਆ ਗਿਆ ਉਸ ਬਾਰੇ ਤੁਸੀਂ ਕਿੰਨਾ ਵਿਸ਼ਵਾਸੀ ਮਹਿਸੂਸ ਕਰਦੇ ਹੋ?'; + + @override + String get quizConfidenceNoRightAnswer => 'ਕੋਈ ਸਹੀ ਜਾਂ ਗਲਤ ਜਵਾਬ ਨਹੀਂ ਹੈ।'; + + @override + String get quizConfidenceVeryClear => 'ਬਹੁਤ ਸਪਸ਼ਟ ਹੈ ਕਿ ਕੀ ਹੋ ਰਿਹਾ ਹੈ'; + + @override + String get quizConfidenceSomewhatClear => 'ਕੁਝ ਸਾਫ਼'; + + @override + String get quizConfidenceStillUncertain => 'ਅਜੇ ਵੀ ਅਣਨਿਸ਼ਚਿਤ'; + + @override + String get quizConfidenceMoreConfused => 'ਪਿਛਲੇ ਨਾਲੋਂ ਵੱਧ ਗੁੰਝਲਦਾਰ'; + + @override + String get captionDiagnosisVsChange => + 'ਬਹੁਤ ਸਾਰੇ ਲੋਕ ਨਿਧਾਰਨ ਦੇ ਬਾਅਦ ਪਰੇਸ਼ਾਨ ਨਹੀਂ ਹੁੰਦੇ ਪਰ ਜਦੋਂ ਲੱਛਣ ਸਮੇਂ ਦੇ ਨਾਲ ਬਦਲਦੇ ਹਨ।'; + + @override + String get quizStepLabel5 => 'ਕਦਮ 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'ਤੁਸੀਂ ਆਪਣੇ ਚਿੰਤਾਵਾਂ ਨੂੰ ਆਮ ਤੌਰ \'ਤੇ ਕਿੰਨਾ ਚੰਗਾ ਸਮਝਦੇ ਹੋ?'; + + @override + String get quizConcernsAddressedSubtitle => + 'ਤੁਹਾਡੇ ਵਿਅਕਤੀਗਤ ਭਾਵਨਾਵਾਂ ਦੇ ਆਧਾਰ \'ਤੇ'; + + @override + String get quizConcernsVeryWell => 'ਬਹੁਤ ਚੰਗਾ'; + + @override + String get quizConcernsFairlyWell => 'ਕਾਫੀ ਚੰਗਾ'; + + @override + String get quizConcernsNotVeryWell => 'ਬਹੁਤ ਚੰਗਾ ਨਹੀਂ'; + + @override + String get quizConcernsVaries => 'ਇਹ ਬਹੁਤ ਵੱਖਰਾ ਹੈ'; + + @override + String get quizStepLabel6 => 'ਕਦਮ 6/6'; + + @override + String get quizSelfResearchTitle => + 'ਡਾਕਟਰ ਨੂੰ ਦੇਖਣ ਤੋਂ ਪਹਿਲਾਂ, ਕੀ ਤੁਸੀਂ ਆਮ ਤੌਰ \'ਤੇ ਲੱਛਣਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਸਮਝਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋ?'; + + @override + String get quizSelfResearchYes => + 'ਹਾਂ, ਮੈਂ ਖੋਜ ਕਰਦਾ ਹਾਂ ਅਤੇ ਚੀਜ਼ਾਂ ਨੂੰ ਟ੍ਰੈਕ ਕਰਦਾ ਹਾਂ'; + + @override + String get quizSelfResearchSometimes => 'ਕਦੇ-ਕਦੇ'; + + @override + String get quizSelfResearchRarely => 'ਕਦੇ-ਕਦੇ'; + + @override + String get quizSelfResearchNo => + 'ਨਹੀਂ, ਮੈਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਪੇਸ਼ੇਵਰਾਂ \'ਤੇ ਨਿਰਭਰ ਹਾਂ'; + + @override + String get captionAvailabilityTitle => + 'ਸਿਹਤ ਦੇ ਸਵਾਲ ਦਫਤਰ ਦੇ ਸਮਿਆਂ ਦਾ ਪਾਲਣ ਨਹੀਂ ਕਰਦੇ .'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 24/7 ਉਪਲਬਧ ਹੈ.'; + + @override + String get captionAvailabilityDescription => + 'ਸਪਸ਼ਟਤਾ ਅਗਲੇ ਨਿਯੁਕਤੀ ਲਈ ਉਡੀਕ ਨਹੀਂ ਕਰਨੀ ਚਾਹੀਦੀ.'; + + @override + String get notificationTitle => + 'ਕੀ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਅਸੀਂ ਤੁਹਾਡੇ ਸਿਹਤ ਲੱਛਣਾਂ \'ਤੇ ਨਜ਼ਰ ਰੱਖੀਏ?'; + + @override + String get notificationDescription => + 'ਏ.ਆਈ. ਤੁਹਾਡੇ ਲੱਛਣਾਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਤੁਹਾਨੂੰ ਚੇਤਾਵਨੀ ਦੇ ਸਕਦਾ ਹੈ ਜੇ ਕੁਝ ਧਿਆਨ ਦੀ ਲੋੜ ਹੋਵੇ'; + + @override + String get notificationYes => 'ਹਾਂ — ਮੇਰੀ ਸਿਹਤ \'ਤੇ ਨਜ਼ਰ ਰੱਖੋ'; + + @override + String get notificationOnlyImportant => + 'ਹਾਂ — ਸਿਰਫ ਜੇ ਕੁਝ ਮਹੱਤਵਪੂਰਨ ਬਦਲਦਾ ਹੈ'; + + @override + String get notificationNo => 'ਹਜੇ ਯਕੀਨ ਨਹੀਂ'; + + @override + String get referralSourceTitle => + 'ਕੀ ਤੁਸੀਂ ਡਾਕਟਰ ਤੋਂ ਡਾਕਟੋਰੀਨਾ ਬਾਰੇ ਸੁਣਿਆ ਹੈ?'; + + @override + String get referralSourceYes => 'ਹਾਂ'; + + @override + String get referralSourceNo => 'ਨਹੀਂ'; + + @override + String get processingSectionLabel => + 'ਤੁਹਾਡੇ ਨਤੀਜਿਆਂ ਦੀ ਵਿਸ਼ਲੇਸ਼ਣਾ ਕਰ ਰਹੇ ਹਾਂ'; + + @override + String get processingTitle => 'ਤੁਹਾਡੇ ਅਨੁਭਵ ਨੂੰ ਵਿਅਕਤੀਗਤ ਕਰਨਾ'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => 'ਅਨੰਤ ਅਨੁਭਵ Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'ਤੁਹਾਡਾ ਸਹਾਇਕ ਜੋ ਹਮੇਸ਼ਾਂ ਨੇੜੇ ਹੈ'; + + @override + String get paywallEnableTrialToggle => + 'ਕੀ ਤੁਸੀਂ ਅਜੇ ਵੀ ਯਕੀਨੀ ਨਹੀਂ ਹੋ? ਮੁਫਤ ਟ੍ਰਾਇਲ ਨੂੰ ਚਾਲੂ ਕਰੋ.'; + + @override + String get paywallPlanYear => 'ਸਾਲਾਨਾ'; + + @override + String get paywallPlanMonthly => 'ਮਾਸਿਕ'; + + @override + String get paywallPlanWeek => 'ਹਫਤਾਵਾਰੀ'; + + @override + String get paywallPlanDaily => 'ਦਿਨਾਨੁਸਾਰ'; + + @override + String get paywallPlanYearPrice => '₹2,999 (ਕੇਵਲ ₹83.34/ਹਫ਼ਤਾ)'; + + @override + String get paywallPlanWeekPrice => '₹299'; + + @override + String get paywallSaveBadge => '58% ਬਚਾਓ'; + + @override + String get paywallContinueBtn => 'ਜਾਰੀ ਰੱਖੋ'; + + @override + String get paywallStartTrialBtn => 'ਮੁਫਤ ਟ੍ਰਾਇਲ ਸ਼ੁਰੂ ਕਰੋ'; + + @override + String get paywallSubscriptionDisclaimer => + 'ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਆਟੋ-ਨਵੀਨੀਕਰਨਯੋਗ ਹੈ। ਕਿਸੇ ਵੀ ਸਮੇਂ ਰੱਦ ਕਰ ਸਕਦੇ ਹੋ'; + + @override + String get paywallTermsPrivacy => + 'ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ | ਗੋਪਨੀਯਤਾ ਨੀਤੀ'; + + @override + String get paywallPerWeek => 'ਹਫਤਾ'; + + @override + String get processingLabel => 'ਤੁਹਾਡੇ ਨਤੀਜਿਆਂ ਦੀ ਵਿਸ਼ਲੇਸ਼ਣਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ'; + + @override + String get paywallCloseTooltip => 'ਆਰੰਭ ਬੰਦ ਕਰੋ'; + + @override + String get paywallRestoreTooltip => 'ਖਰੀਦਾਂ ਨੂੰ ਦੁਬਾਰਾ ਸਥਾਪਿਤ ਕਰੋ'; + + @override + String get paywallRestoreBtn => 'ਬਹਾਲ ਕਰੋ'; + + @override + String get paywallRestoreNoneFound => + 'ਕੋਈ ਸਰਗਰਮ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਨਹੀਂ ਮਿਲਿਆ ਜੋ ਮੁੜ ਸਥਾਪਿਤ ਕੀਤਾ ਜਾ ਸਕੇ.'; + + @override + String get paywallRestoreError => + 'ਖਰੀਦਾਂ ਨੂੰ ਦੁਬਾਰਾ ਸਥਾਪਿਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ. ਕਿਰਪਾ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.'; + + @override + String get paywallPurchaseError => + 'ਖਰੀਦਾਰੀ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਿੱਚ ਅਸਫਲ. ਕਿਰਪਾ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.'; + + @override + String get paywallTrialStep1Title => 'ਅੱਜ: ਤੁਰੰਤ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੋ'; + + @override + String get paywallTrialStep1Description => + 'ਪੂਰਨ ਪਹੁੰਚ ਖੋਲ੍ਹੋ, ਕਿਸੇ ਵੀ ਸਮੇਂ AI ਸਿਹਤ ਦੇ ਜਵਾਬ ਪ੍ਰਾਪਤ ਕਰੋ.'; + + @override + String get paywallTrialStep2Title => 'ਦਿਨ 2: ਟ੍ਰਾਇਲ ਯਾਦ ਦਿਵਾਉਣਾ'; + + @override + String get paywallTrialStep2Description => + 'ਅਸੀਂ ਤੁਹਾਨੂੰ ਯਾਦ ਦਿਵਾਂਗੇ ਕਿ ਤੁਹਾਡਾ ਟ੍ਰਾਇਲ ਖਤਮ ਹੋਣ ਵਾਲਾ ਹੈ'; + + @override + String get paywallTrialStep3Title => 'ਦਿਨ 3: ਨਵੀਨੀਕਰਨ'; + + @override + String paywallTrialStep3Description(String date) { + return 'ਤੁਹਾਨੂੰ $date ਨੂੰ ਚਾਰਜ ਕੀਤਾ ਜਾਵੇਗਾ, ਕਿਸੇ ਵੀ ਸਮੇਂ ਰੱਦ ਕਰੋ.'; + } + + @override + String get paywallBenefitsHeader => 'ਕੀ ਸ਼ਾਮਲ ਹੈ'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'ਨਿੱਜੀ ਅਤੇ ਸੁਰੱਖਿਅਤ'; + + @override + String get paywallBenefitAiAssistant => 'ਏ.ਆਈ. ਸਹਾਇਕ, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'ਤੁਰੰਤ ਸਿਹਤ ਦੇ ਜਵਾਬ'; + + @override + String get paywallBenefitScienceInsights => 'ਸਾਫ, ਵਿਗਿਆਨ ਅਧਾਰਿਤ ਜਾਣਕਾਰੀ'; + + @override + String get paywallBenefitAutoSummaries => 'ਆਟੋ ਗੱਲਬਾਤ ਸੰਖੇਪ'; + + @override + String get paywallBenefitAnyLanguage => 'ਕੋਈ ਭਾਸ਼ਾ, ਕਿਸੇ ਵੀ ਸਮੇਂ'; + + @override + String get paywallPriceUnitPerWeek => 'ਹਫਤੇ ਵਿੱਚ'; + + @override + String get paywallOfferTitle => 'ਇੱਕ ਵਾਰੀ ਦਾ ਆਫਰ'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ਛੂਟ'; + } + + @override + String get paywallOfferForeverBadge => 'ਸਦੀਵੀ'; + + @override + String get paywallOfferDisclaimer => + 'ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੀ ਇੱਕ ਵਾਰੀ ਦੀ ਪੇਸ਼ਕਸ਼ ਬੰਦ ਕਰਦੇ ਹੋ, ਇਹ ਚਲੀ ਜਾਂਦੀ ਹੈ!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/ਮਹੀਨਾ'; + } + + @override + String get paywallOfferLowestPriceBadge => 'ਸਭ ਤੋਂ ਘੱਟ ਕੀਮਤ ਕਦੇ'; + + @override + String get paywallOfferCancelAnytime => 'ਕਦੇ ਵੀ ਰੱਦ ਕਰੋ'; + + @override + String get paywallOfferClaimButton => 'ਆਪਣਾ ਓਫਰ ਦਾਅਵਾ ਕਰੋ'; + + @override + String get paywallOfferAutoRenewable => 'ਆਟੋ-ਨਵੀਨੀਕਰਨ ਦੀ ਸਬਸਕ੍ਰਿਪਸ਼ਨ'; + + @override + String get paywallGiftBoxTitle => 'ਖਾਸ ਤੋਹਫਾ ਅੰਦਰ'; + + @override + String get paywallGiftBoxSubtitle => 'ਇੱਕ ਟੈਪ ਨਾਲ ਆਪਣਾ ਖਾਸ ਆਫਰ ਖੋਲ੍ਹੋ'; + + @override + String get paywallGiftBoxOpenButton => 'ਹੁਣ ਖੋਲ੍ਹੋ'; + + @override + String get paywallRetryLoadPricesError => + 'ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਵਿਕਲਪਾਂ ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ। ਕਿਰਪਾ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.'; + + @override + String get paywallPricesUnavailableTitle => + 'ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਕੀਮਤਾਂ ਲੋਡ ਨਹੀਂ ਹੋ ਸਕੀਆਂ'; + + @override + String get paywallPricesUnavailableMessage => + 'ਆਪਣੀ ਜੁੜਾਈ ਦੀ ਜਾਂਚ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.'; + + @override + String get paywallPricesUnavailableRetryButton => 'ਫਿਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ'; + + @override + String get skipOnboardingButton => 'Skip'; +} + +/// The translations for Panjabi Punjabi, as used in Pakistan (`pa_PK`). +class OnboardingLocalizationPaPk extends OnboardingLocalizationPa { + OnboardingLocalizationPaPk() : super('pa_PK'); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ایڈوانسڈ اے آئی ہیلتھ اسسٹنٹ'; + + @override + String get welcomeScreenTitle => 'ڈاکٹرینا میں خوش آمدید'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'علامات کا تجزیہ کرنے کے لیے ڈیزائن کیا گیا ہے جیسے تجربہ کار معالج کرتے ہیں — پیٹرن، وقت، اور سیاق و سباق کو سمجھ کر.'; + + @override + String get getStartedBtn => 'شروع کریں'; + + @override + String get alreadyHaveAccount => + 'کیا آپ کے پاس پہلے سے اکاؤنٹ ہے؟ لاگ ان کریں'; + + @override + String get termsConsent => + 'جاری رکھنے سے، آپ ہماری خدمات کی شرائط | رازداری کی پالیسی سے اتفاق کرتے ہیں'; + + @override + String get personalizationInterruptionTitle => + 'چلو ذاتی بنائیں Doctorina آپ کے لیے'; + + @override + String get personalizationSectionLabel => 'شخصی نوعیت'; + + @override + String get personalizationReasonTitle => 'تُسیں آج یہاں کیوں آئے ہو؟'; + + @override + String get personalizationReasonSymptomsNow => + 'میں ابھی علامات محسوس کر رہا ہوں'; + + @override + String get personalizationReasonUnderstandChange => + 'میں صحت کی تبدیلی کو سمجھنا چاہتا ہوں'; + + @override + String get personalizationReasonRuleOutSerious => + 'میں کچھ سنجیدہ خارج کرنا چاہتا ہوں'; + + @override + String get personalizationReasonMonitoring => + 'میں اپنی صحت کی نگرانی کر رہا ہوں'; + + @override + String get continueBtn => 'جاری رکھیں'; + + @override + String get captionEmpathyText => + 'جب آپ کی صحت میں کچھ تبدیلی آتی ہے تو یہ جاننا سب سے مشکل ہوتا ہے کہ کیا اہم ہے۔'; + + @override + String get captionDifferentiatorText => + 'ڈاکٹرینا علامات کے پیٹرن اور وقت پر توجہ دیتی ہے — وہی اشارے جو معالجین ابتدائی طور پر تلاش کرتے ہیں.'; + + @override + String get genderTitle => 'اپنا جنس منتخب کریں'; + + @override + String get genderSubtitle => + 'ایہہ ساڈے نال علامات نوں سمجھن تے سفارشات نوں زیادہ درست طریقے نال دین وچ مدد کردا اے'; + + @override + String get genderMale => 'مرد'; + + @override + String get genderFemale => 'عورت'; + + @override + String get genderPreferNotSay => 'کہنے کی خواہش نہیں'; + + @override + String get ageTitle => 'تُہاڈی عمر کیڑی اے؟'; + + @override + String get ageSubtitle => + 'عمر ہمیں صحت کے پیٹرن کا زیادہ درست اندازہ لگانے میں مدد دیتی ہے۔'; + + @override + String get socialProofLargeTitle => + '48k+ ਲੋਕਾਂ\nਨੇ Doctorina ਚੁਣਿਆ'; + + @override + String get socialProofDisclaimer => + '*ڈاکٹرینا صارف کی بنیاد کے اعداد و شمار پر مبنی'; + + @override + String get developedByDoctors => 'ڈاکٹروں کی طرف سے تیار کردہ\nڈاکٹر'; + + @override + String get quizStepLabel1 => 'قدم 1/6'; + + @override + String get quizHealthSituationTitle => + 'تُسی اپنی موجودہ صحت کی صورتحال نوں کِس طرح بیان کرو گے؟'; + + @override + String get quizHealthHealthy => 'میں عام طور پر صحت مند محسوس کرتا ہوں'; + + @override + String get quizHealthMinorConcerns => 'میرے پاس جاری معمولی خدشات ہیں'; + + @override + String get quizHealthKnownCondition => + 'میں ایک معلوم حالت کا انتظام کر رہا ہوں'; + + @override + String get quizHealthUnresolved => + 'میں کسی غیر حل شدہ مسئلے کا سامنا کر رہا ہوں'; + + @override + String get quizStepLabel2 => 'قدم 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'تُسی عام طور تے ڈاکٹر نوں کِناں واری ملدے او؟'; + + @override + String get quizDoctorVisitRegular => 'باقاعدگی (چیک اپ / فالو اپ)'; + + @override + String get quizDoctorVisitOccasional => 'کبھی کبھار، جب کچھ غلط ہو'; + + @override + String get quizDoctorVisitRare => 'کبھی کبھار، صرف ضرورت پڑنے پر'; + + @override + String get quizDoctorVisitAvoid => 'ڈاکٹروں کے پاس جانا پسند نہیں کرتے'; + + @override + String get quizDoctorVisitNever => 'میں نے کبھی ڈاکٹر کے پاس نہیں گیا'; + + @override + String get quizStepLabel3 => 'قدم 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'تُہاڈا صحت کی دیکھ بھال نال سب توں وڈا چیلنج کیہڑا رہا اے؟'; + + @override + String get quizMultiSelectHint => 'ਜਿੰਨਾ ਚਾਹੋ ਚੁਣੋ'; + + @override + String get quizChallengeLongWait => 'ملاقاتوں کے لیے طویل انتظار کے اوقات'; + + @override + String get quizChallengeRushedVisits => 'دوران تیز لگتے ہیں'; + + @override + String get quizChallengeCost => 'اعلی قیمت یا غیر واضح قیمت'; + + @override + String get quizChallengeHardExplain => + 'ہر چیز کو واضح طور پر بیان کرنا مشکل ہے'; + + @override + String get quizChallengeConflictingAdvice => 'متضاد رائے یا مشورے'; + + @override + String get quizChallengeNone => 'کوئی بڑی مسئلے نہیں'; + + @override + String get quizStepLabel4 => 'قدم 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'ملاقاتوں کے بعد، آپ کو جو بتایا گیا اس بارے میں آپ کتنے پراعتماد ہیں؟'; + + @override + String get quizConfidenceNoRightAnswer => 'کوئی صحیح یا غلط جواب نہیں ہے'; + + @override + String get quizConfidenceVeryClear => 'بہت واضح ہے کہ کیا ہو رہا ہے'; + + @override + String get quizConfidenceSomewhatClear => 'ਕੁਝ ਹੱਦ ਤੱਕ ਸਾਫ'; + + @override + String get quizConfidenceStillUncertain => 'ਹਾਲੇ ਵੀ ਅਣਨਿਸ਼ਚਿਤ'; + + @override + String get quizConfidenceMoreConfused => 'پہلے سے زیادہ الجھن میں'; + + @override + String get captionDiagnosisVsChange => + 'ਬਹੁਤ ਸਾਰੇ ਲੋਕ ਨਿਧਾਨ ਤੋਂ ਬਾਅਦ ਨਹੀਂ, ਪਰ ਜਦੋਂ ਲੱਛਣ ਸਮੇਂ ਦੇ ਨਾਲ ਬਦਲਦੇ ਹਨ, ਤਕਲੀਫ਼ ਮਹਿਸੂਸ ਕਰਦੇ ਹਨ।'; + + @override + String get quizStepLabel5 => 'قدم 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'تُسیں کِناں محسوس کردے او کہ تُہانڈے مسائل عام طور تے حل کیتے جاندے نیں؟'; + + @override + String get quizConcernsAddressedSubtitle => 'تُہاڈی ذاتی محسوسات تے مبنی'; + + @override + String get quizConcernsVeryWell => 'بہت اچھا'; + + @override + String get quizConcernsFairlyWell => 'ਕਾਫੀ ਚੰਗਾ'; + + @override + String get quizConcernsNotVeryWell => 'ਚੰਗੀ ਤਰ੍ਹਾਂ ਨਹੀਂ'; + + @override + String get quizConcernsVaries => 'ایہہ بہت مختلف ہے'; + + @override + String get quizStepLabel6 => 'STEP 6/6'; + + @override + String get quizSelfResearchTitle => + 'ڈاکٹر سے ملنے سے پہلے، کیا آپ عام طور پر علامات کو خود سمجھنے کی کوشش کرتے ہیں؟'; + + @override + String get quizSelfResearchYes => + 'جی ہاں، میں تحقیق کرتا ہوں اور چیزوں کا سراغ رکھتا ہوں'; + + @override + String get quizSelfResearchSometimes => 'کبھی کبھار'; + + @override + String get quizSelfResearchRarely => 'کبھی کبھار'; + + @override + String get quizSelfResearchNo => + 'نہیں، میں مکمل طور پر پیشہ ور افراد پر انحصار کرتا ہوں'; + + @override + String get captionAvailabilityTitle => + 'صحت کے سوالات دفتر کے اوقات کی پیروی نہیں کرتے.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina ہر وقت دستیاب ہے 24/7۔'; + + @override + String get captionAvailabilityDescription => + 'صاف گوئی اگلی ملاقات کا انتظار نہیں کرنی چاہیے'; + + @override + String get notificationTitle => + 'کیا آپ چاہتے ہیں کہ ہم آپ کی صحت کی علامات پر نظر رکھیں؟'; + + @override + String get notificationDescription => + 'AI آپ کے علامات کی نگرانی کر سکتا ہے اور اگر کچھ توجہ کی ضرورت ہو تو آپ کو آگاہ کر سکتا ہے'; + + @override + String get notificationYes => 'ہاں — اپنی صحت پر نظر رکھیں'; + + @override + String get notificationOnlyImportant => 'ہاں — صرف اگر کچھ اہم تبدیل ہوتا ہے'; + + @override + String get notificationNo => 'ابھی تک یقین نہیں'; + + @override + String get referralSourceTitle => + 'کیا آپ نے ڈاکٹر سے ڈاکٹرینا کے بارے میں سنا؟'; + + @override + String get referralSourceYes => 'ہاں'; + + @override + String get referralSourceNo => 'نہیں'; + + @override + String get processingSectionLabel => 'تُحلیل کر رہے ہیں آپ کے نتائج'; + + @override + String get processingTitle => 'تُہاڈی تجربے نوں ذاتی بنانا'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'بے حد تجربہ Doctorina Pro کے ساتھ'; + + @override + String get paywallAssistantTagline => 'تُہاڈا اسسٹنٹ جو ہمیشہ قریب ہے'; + + @override + String get paywallEnableTrialToggle => 'پتہ نہیں؟ مفت ٹرائل فعال کریں۔'; + + @override + String get paywallPlanYear => 'سالانہ'; + + @override + String get paywallPlanMonthly => 'ماہانہ'; + + @override + String get paywallPlanWeek => 'ہفتہ وار'; + + @override + String get paywallPlanDaily => 'روزانہ'; + + @override + String get paywallPlanYearPrice => '\$39.99 (صرف \$3.34/ہفتہ)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => '58% ਬਚਤ ਕਰੋ'; + + @override + String get paywallContinueBtn => 'جاری رکھو'; + + @override + String get paywallStartTrialBtn => 'مفت ٹرائل شروع کریں'; + + @override + String get paywallSubscriptionDisclaimer => + 'سبسکرپشن خودکار تجدید ہو رہا ہے۔ کبھی بھی منسوخ کریں'; + + @override + String get paywallTermsPrivacy => + 'خدمات کے شرائط | رازداری کی پالیسی'; + + @override + String get paywallPerWeek => 'ہفتہ'; + + @override + String get processingLabel => 'تُمہارے نتائج کا تجزیہ کیا جا رہا ہے'; + + @override + String get paywallCloseTooltip => 'آن بورڈنگ بند کریں'; + + @override + String get paywallRestoreTooltip => 'خریداری بحال کریں'; + + @override + String get paywallRestoreBtn => 'بحال کریں'; + + @override + String get paywallRestoreNoneFound => + 'کوئی فعال سبسکرپشن بحال کرنے کے لیے نہیں ملی.'; + + @override + String get paywallRestoreError => + 'خریداری بحال کرنے میں ناکامی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔'; + + @override + String get paywallPurchaseError => + 'خرید مکمل کرنے میں ناکامی ہوئی۔ براہ کرم بعد میں دوبارہ کوشش کریں.'; + + @override + String get paywallTrialStep1Title => 'آج: فوری رسائی حاصل کریں'; + + @override + String get paywallTrialStep1Description => + 'مکمل رسائی حاصل کریں، کسی بھی وقت AI صحت کے جوابات حاصل کریں۔'; + + @override + String get paywallTrialStep2Title => 'دن 2: ٹرائل کی یاد دہانی'; + + @override + String get paywallTrialStep2Description => + 'ہم آپ کو یاد دہانی بھیجیں گے کہ آپ کا ٹرائل ختم ہونے والا ہے'; + + @override + String get paywallTrialStep3Title => 'دن 3: تجدید'; + + @override + String paywallTrialStep3Description(String date) { + return '$date کو آپ سے چارج کیا جائے گا، کسی بھی وقت منسوخ کریں.'; + } + + @override + String get paywallBenefitsHeader => 'کیا شامل ہے؟'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'نجی اور محفوظ'; + + @override + String get paywallBenefitAiAssistant => 'AI اسسٹنٹ، 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'فوری صحت کے جوابات'; + + @override + String get paywallBenefitScienceInsights => 'صاف، سائنسی بنیاد پر بصیرت'; + + @override + String get paywallBenefitAutoSummaries => 'خودکار گفتگو کے خلاصے'; + + @override + String get paywallBenefitAnyLanguage => 'کسی بھی زبان، کسی بھی وقت'; + + @override + String get paywallPriceUnitPerWeek => 'ہفتے میں'; + + @override + String get paywallOfferTitle => 'ایک بار کی پیشکش'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% چھوٹ'; + } + + @override + String get paywallOfferForeverBadge => 'ہمیشہ'; + + @override + String get paywallOfferDisclaimer => + 'جب آپ اپنی ایک بار کی پیشکش بند کرتے ہیں، تو یہ ختم ہو جاتی ہے!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/ماہ'; + } + + @override + String get paywallOfferLowestPriceBadge => 'ਸਭ ਤੋਂ ਘੱਟ ਕੀਮਤ'; + + @override + String get paywallOfferCancelAnytime => 'کسی بھی وقت منسوخ کریں'; + + @override + String get paywallOfferClaimButton => 'اپنا آفر حاصل کریں'; + + @override + String get paywallOfferAutoRenewable => 'خودکار تجدید سبسکرپشن'; + + @override + String get paywallGiftBoxTitle => 'خاص تحفہ اندر'; + + @override + String get paywallGiftBoxSubtitle => + 'اپنے خاص آفر کو ظاہر کرنے کے لیے ایک ٹچ کریں'; + + @override + String get paywallGiftBoxOpenButton => 'ابھی کھولیں'; + + @override + String get paywallRetryLoadPricesError => + 'سبسکرپشن کے اختیارات لوڈ کرنے میں ناکامی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔'; + + @override + String get paywallPricesUnavailableTitle => + 'سبسکرپشن کی قیمتیں لوڈ نہیں ہو سکیں'; + + @override + String get paywallPricesUnavailableMessage => + 'اپنی کنکشن چیک کریں اور دوبارہ کوشش کریں۔'; + + @override + String get paywallPricesUnavailableRetryButton => 'دوبارہ کوشش کریں'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_pl.dart b/example/lib/src/generated/onboarding/onboarding_localization_pl.dart new file mode 100644 index 0000000..9cdc791 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_pl.dart @@ -0,0 +1,487 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Polish (`pl`). +class OnboardingLocalizationPl extends OnboardingLocalization { + OnboardingLocalizationPl([String locale = 'pl']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ZAAWANSOWANY ASYSTENT ZDROWIA AI'; + + @override + String get welcomeScreenTitle => 'Witamy w Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Zaprojektowane do analizy objawów tak, jak robią to doświadczeni klinicyści — poprzez zrozumienie wzorców, czasu i kontekstu.'; + + @override + String get getStartedBtn => 'Zacznij'; + + @override + String get alreadyHaveAccount => 'Masz już konto? Zaloguj się'; + + @override + String get termsConsent => + 'Kontynuując, zgadzasz się na nasze\nWarunki korzystania | Politykę prywatności'; + + @override + String get personalizationInterruptionTitle => + 'Spersonalizujmy Doctorina dla Ciebie'; + + @override + String get personalizationSectionLabel => 'PERSONALIZACJA'; + + @override + String get personalizationReasonTitle => 'Co cię tu dzisiaj sprowadza?'; + + @override + String get personalizationReasonSymptomsNow => 'Doświadczam teraz objawów'; + + @override + String get personalizationReasonUnderstandChange => + 'Chcę zrozumieć zmianę zdrowia'; + + @override + String get personalizationReasonRuleOutSerious => + 'Chcę wykluczyć coś poważnego'; + + @override + String get personalizationReasonMonitoring => + 'Monitoruję swoje zdrowie proaktywnie'; + + @override + String get continueBtn => 'Kontynuuj'; + + @override + String get captionEmpathyText => + 'Kiedy coś zmienia się w twoim zdrowiu, najtrudniej jest wiedzieć, co ma znaczenie.'; + + @override + String get captionDifferentiatorText => + 'Doctorina koncentruje się na wzorcach objawów i ich czasie — tych samych sygnałach, które lekarze szukają na początku.'; + + @override + String get genderTitle => 'Wybierz swoją płeć'; + + @override + String get genderSubtitle => + 'To pomaga nam dokładniej interpretować objawy i udzielać rekomendacji.'; + + @override + String get genderMale => 'Mężczyzna'; + + @override + String get genderFemale => 'Kobieta'; + + @override + String get genderPreferNotSay => 'Wolę nie mówić'; + + @override + String get ageTitle => 'Ile masz lat?'; + + @override + String get ageSubtitle => + 'Wiek pomaga nam dokładniej ocenić wzorce zdrowotne'; + + @override + String get socialProofLargeTitle => + 'Ponad 48k+ osób\nwybrało Doctorina'; + + @override + String get socialProofDisclaimer => + '*Na podstawie statystyk bazy użytkowników Doctorina'; + + @override + String get developedByDoctors => 'Opracowane przez\nlekarzy'; + + @override + String get quizStepLabel1 => 'KROK 1/6'; + + @override + String get quizHealthSituationTitle => + 'Jak opisałbyś swoją obecną sytuację zdrowotną?'; + + @override + String get quizHealthHealthy => 'Ogólnie czuję się zdrowy'; + + @override + String get quizHealthMinorConcerns => 'Mam ciągłe drobne obawy'; + + @override + String get quizHealthKnownCondition => 'Zarządzam znanym schorzeniem'; + + @override + String get quizHealthUnresolved => 'Zmagam się z czymś nierozwiązanym'; + + @override + String get quizStepLabel2 => 'KROK 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Jak często zazwyczaj odwiedzasz lekarza?'; + + @override + String get quizDoctorVisitRegular => + 'Regularnie (badania kontrolne / wizyty kontrolne)'; + + @override + String get quizDoctorVisitOccasional => 'Okazjonalnie, gdy coś jest nie tak'; + + @override + String get quizDoctorVisitRare => 'Rzadko, tylko w razie potrzeby'; + + @override + String get quizDoctorVisitAvoid => 'Unikasz wizyt u lekarza'; + + @override + String get quizDoctorVisitNever => 'Nigdy nie odwiedziłem lekarza'; + + @override + String get quizStepLabel3 => 'KROK 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Jakie były twoje największe wyzwania związane z opieką zdrowotną do tej pory?'; + + @override + String get quizMultiSelectHint => 'Wybierz tyle, ile chcesz'; + + @override + String get quizChallengeLongWait => 'Długie czasy oczekiwania na wizyty'; + + @override + String get quizChallengeRushedVisits => 'Wizyty wydają się pośpieszne'; + + @override + String get quizChallengeCost => 'Wysoki koszt lub niejasne ceny'; + + @override + String get quizChallengeHardExplain => 'Trudno wszystko jasno wyjaśnić'; + + @override + String get quizChallengeConflictingAdvice => 'Sprzeczne opinie lub porady'; + + @override + String get quizChallengeNone => 'Brak poważnych problemów'; + + @override + String get quizStepLabel4 => 'KROK 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Po wizytach, jak pewny jesteś tego, co ci powiedziano?'; + + @override + String get quizConfidenceNoRightAnswer => 'Nie ma dobrej ani złej odpowiedzi'; + + @override + String get quizConfidenceVeryClear => 'Bardzo jasno, co się dzieje'; + + @override + String get quizConfidenceSomewhatClear => 'Troch jasne'; + + @override + String get quizConfidenceStillUncertain => 'Wciąż niepewne'; + + @override + String get quizConfidenceMoreConfused => + 'Bardziej zdezorientowany niż wcześniej'; + + @override + String get captionDiagnosisVsChange => + 'Wielu ludzi napotyka trudności nie po postawieniu diagnozy, lecz wtedy, gdy objawy zmieniają się z czasem.'; + + @override + String get quizStepLabel5 => 'KROK 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Jak dobrze czujesz, że twoje obawy są zazwyczaj rozwiązywane?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Na podstawie twoich subiektywnych odczuć'; + + @override + String get quizConcernsVeryWell => 'Bardzo dobrze'; + + @override + String get quizConcernsFairlyWell => 'Całkiem dobrze'; + + @override + String get quizConcernsNotVeryWell => 'Nie za dobrze'; + + @override + String get quizConcernsVaries => 'To bardzo różnie bywa'; + + @override + String get quizStepLabel6 => 'KROK 6/6'; + + @override + String get quizSelfResearchTitle => + 'Czy zazwyczaj próbujesz samodzielnie zrozumieć objawy przed wizytą u lekarza?'; + + @override + String get quizSelfResearchYes => 'Tak, badam i śledzę rzeczy'; + + @override + String get quizSelfResearchSometimes => 'Czasami'; + + @override + String get quizSelfResearchRarely => 'Rzadko'; + + @override + String get quizSelfResearchNo => + 'Nie, polegam całkowicie na profesjonalistach'; + + @override + String get captionAvailabilityTitle => + 'Pytania zdrowotne nie podlegają godzinom pracy biura.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina jest dostępna 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Jasność nie powinna czekać na następną wizytę'; + + @override + String get notificationTitle => + 'Czy chcesz, abyśmy sprawdzili Twoje objawy zdrowotne?'; + + @override + String get notificationDescription => + 'AI może monitorować Twoje objawy i powiadomić Cię, jeśli coś może wymagać uwagi'; + + @override + String get notificationYes => 'Tak — obserwuj moje zdrowie'; + + @override + String get notificationOnlyImportant => + 'Tak — tylko jeśli coś ważnego się zmienia'; + + @override + String get notificationNo => 'Jeszcze nie jestem pewny'; + + @override + String get referralSourceTitle => 'Czy słyszałeś o Doctorinie od lekarza?'; + + @override + String get referralSourceYes => 'Tak'; + + @override + String get referralSourceNo => 'Nie'; + + @override + String get processingSectionLabel => 'ANALIZUJĘ TWOJE WYNIKI'; + + @override + String get processingTitle => 'Personalizacja twojego doświadczenia'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Nieograniczone doświadczenie z Doctorina Pro'; + + @override + String get paywallAssistantTagline => + 'TWÓJ ASYSTENT, KTÓRY ZAWSZE JEST BLISKO'; + + @override + String get paywallEnableTrialToggle => + 'Nie jesteś jeszcze pewny? Włącz bezpłatny okres próbny.'; + + @override + String get paywallPlanYear => 'Roczny'; + + @override + String get paywallPlanMonthly => 'Miesięcznie'; + + @override + String get paywallPlanWeek => 'Tygodniowy'; + + @override + String get paywallPlanDaily => 'Codzienny'; + + @override + String get paywallPlanYearPrice => '39,99 \$ (tylko 3,34 \$/tydzień)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'ZAOSZCZĘDŹ 58%'; + + @override + String get paywallContinueBtn => 'Kontynuuj'; + + @override + String get paywallStartTrialBtn => 'Rozpocznij bezpłatny okres próbny'; + + @override + String get paywallSubscriptionDisclaimer => + 'Subskrypcja jest odnawiana automatycznie. Możesz anulować w dowolnym momencie'; + + @override + String get paywallTermsPrivacy => + 'Regulamin | Polityka prywatności'; + + @override + String get paywallPerWeek => 'tydzień'; + + @override + String get processingLabel => 'Analizuję twoje wyniki'; + + @override + String get paywallCloseTooltip => 'Zamknij onboarding'; + + @override + String get paywallRestoreTooltip => 'Przywróć zakupy'; + + @override + String get paywallRestoreBtn => 'Przywróć'; + + @override + String get paywallRestoreNoneFound => + 'Nie znaleziono aktywnej subskrypcji do przywrócenia.'; + + @override + String get paywallRestoreError => + 'Nie udało się przywrócić zakupów. Proszę spróbować ponownie później.'; + + @override + String get paywallPurchaseError => + 'Nie udało się zakończyć zakupu. Proszę spróbować ponownie później.'; + + @override + String get paywallTrialStep1Title => 'Dziś: Uzyskaj natychmiastowy dostęp'; + + @override + String get paywallTrialStep1Description => + 'Odblokuj pełny dostęp, uzyskaj odpowiedzi zdrowotne AI, w każdej chwili.'; + + @override + String get paywallTrialStep2Title => 'Dzień 2: Przypomnienie o próbie'; + + @override + String get paywallTrialStep2Description => + 'Wyślemy Ci przypomnienie, że Twój okres próbny dobiega końca'; + + @override + String get paywallTrialStep3Title => 'Dzień 3: Odnowienie'; + + @override + String paywallTrialStep3Description(String date) { + return 'Zostaniesz obciążony $date, anuluj w dowolnym momencie przed.'; + } + + @override + String get paywallBenefitsHeader => 'CO JEST ZAWARTE'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Prywatne i bezpieczne'; + + @override + String get paywallBenefitAiAssistant => 'Asystent AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => + 'Natychmiastowe odpowiedzi zdrowotne'; + + @override + String get paywallBenefitScienceInsights => + 'Jasne, oparte na nauce spostrzeżenia'; + + @override + String get paywallBenefitAutoSummaries => 'Automatyczne podsumowania rozmów'; + + @override + String get paywallBenefitAnyLanguage => 'Każdy język, w każdej chwili'; + + @override + String get paywallPriceUnitPerWeek => 'za tydzień'; + + @override + String get paywallOfferTitle => 'Jednorazowa oferta'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ZNIŻKI'; + } + + @override + String get paywallOfferForeverBadge => 'NA ZAWSZE'; + + @override + String get paywallOfferDisclaimer => + 'Gdy zamkniesz swoją jednorazową ofertę, zniknie!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mies.'; + } + + @override + String get paywallOfferLowestPriceBadge => 'NAJNIŻSZA CENA KIEDYKOLWIEK'; + + @override + String get paywallOfferCancelAnytime => 'Anuluj w dowolnym momencie'; + + @override + String get paywallOfferClaimButton => 'Zgłoś swoją ofertę'; + + @override + String get paywallOfferAutoRenewable => + 'Subskrypcja automatycznie odnawialna'; + + @override + String get paywallGiftBoxTitle => 'Specjalny prezent w środku'; + + @override + String get paywallGiftBoxSubtitle => + 'Jedno dotknięcie, aby ujawnić swoją specjalną ofertę'; + + @override + String get paywallGiftBoxOpenButton => 'Otwórz teraz'; + + @override + String get paywallRetryLoadPricesError => + 'Nie udało się załadować opcji subskrypcji. Spróbuj ponownie później.'; + + @override + String get paywallPricesUnavailableTitle => + 'Nie można załadować cen subskrypcji'; + + @override + String get paywallPricesUnavailableMessage => + 'Sprawdź swoje połączenie i spróbuj ponownie.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Spróbuj ponownie'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ps.dart b/example/lib/src/generated/onboarding/onboarding_localization_ps.dart new file mode 100644 index 0000000..693807a --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ps.dart @@ -0,0 +1,474 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Pushto Pashto (`ps`). +class OnboardingLocalizationPs extends OnboardingLocalization { + OnboardingLocalizationPs([String locale = 'ps']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'د پرمختللي AI روغتیایی مرستندویه'; + + @override + String get welcomeScreenTitle => 'ښه راغلاست'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'د دې لپاره ډیزاین شوی چې نښې نښانې د تجربې لرونکو کلینیکي متخصصینو په څیر تحلیل کړي — د نمونو، وخت، او شرایطو په پوهیدو سره.'; + + @override + String get getStartedBtn => 'پیل کړئ'; + + @override + String get alreadyHaveAccount => 'لاړ شئ حساب لرئ؟ لاگ ان'; + + @override + String get termsConsent => 'د دوام ورکولو سره، تاسو زموږ سره موافق یاست'; + + @override + String get personalizationInterruptionTitle => + 'راځئ چې د Doctorina لپاره شخصي کړو'; + + @override + String get personalizationSectionLabel => 'شخصي کول'; + + @override + String get personalizationReasonTitle => 'تاسو دلته څه شی راوړي؟'; + + @override + String get personalizationReasonSymptomsNow => 'زه اوس نښې نښانې لرم'; + + @override + String get personalizationReasonUnderstandChange => + 'زه غواړم د روغتیا بدلون پوه شم'; + + @override + String get personalizationReasonRuleOutSerious => + 'زه غواړم چې جدي څه شی رد کړم'; + + @override + String get personalizationReasonMonitoring => 'زه خپل صحت په فعاله توګه څارم'; + + @override + String get continueBtn => 'ادامه'; + + @override + String get captionEmpathyText => + 'کله چې ستاسو په روغتیا کې څه بدلون راشي، پوهیدل چې څه مهم دي تر ټولو سخت دی'; + + @override + String get captionDifferentiatorText => + 'Doctorina د نښو نمونو او وخت باندې تمرکز کوي — هماغه نښې چې کلینیکي د وخت په لومړیو کې لټوي.'; + + @override + String get genderTitle => 'خپل جنس وټاکئ'; + + @override + String get genderSubtitle => + 'دا موږ سره مرسته کوي چې نښې تفسیر کړو او وړاندیزونه په ډیر دقیق ډول ورکړو.'; + + @override + String get genderMale => 'مرد'; + + @override + String get genderFemale => 'ښځه'; + + @override + String get genderPreferNotSay => 'نه غواړم ووایم'; + + @override + String get ageTitle => 'ستاسو عمر څه دی؟'; + + @override + String get ageSubtitle => + 'عمر موږ سره مرسته کوي چې د روغتیا نمونې په ډیر دقیق ډول ارزونه وکړو.'; + + @override + String get socialProofLargeTitle => + 'د 48k+ خلکو\nد Doctorina انتخاب کړی دی'; + + @override + String get socialProofDisclaimer => + '*د Doctorina کاروونکو بنسټیزو احصایو پراساس'; + + @override + String get developedByDoctors => 'د\nډاکټرانو لخوا جوړ شوی'; + + @override + String get quizStepLabel1 => 'ګام ۱/۶'; + + @override + String get quizHealthSituationTitle => + 'تاسو څنګه خپل اوسنی روغتیایی حالت تشریح کوئ؟'; + + @override + String get quizHealthHealthy => 'زه عموماً روغ احساس کوم'; + + @override + String get quizHealthMinorConcerns => 'زه دوامداره کوچني اندیښنې لرم'; + + @override + String get quizHealthKnownCondition => 'زه یوه پیژندل شوې حالت اداره کوم'; + + @override + String get quizHealthUnresolved => 'زه د یو حل نه شوی مسلې سره مخ یم'; + + @override + String get quizStepLabel2 => 'ګام ۲/۶'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'تاسو عموماً څومره وخت وروسته ډاکټر ته ځئ؟'; + + @override + String get quizDoctorVisitRegular => 'باقاعده (چک اپونه / تعقیبونه)'; + + @override + String get quizDoctorVisitOccasional => 'کله نا کله، کله چې څه غلط وي'; + + @override + String get quizDoctorVisitRare => 'ډیر کم، یوازې که اړتیا وي'; + + @override + String get quizDoctorVisitAvoid => 'د ډاکټرانو سره لیدل نه خوښوي'; + + @override + String get quizDoctorVisitNever => 'زه هیڅکله ډاکټر ته نه یم تللی'; + + @override + String get quizStepLabel3 => 'ګام ۳/۶'; + + @override + String get quizBiggestChallengeTitle => + 'تر اوسه پورې د روغتیا پاملرنې سره ستاسو تر ټولو لوی چیلنج څه دی؟'; + + @override + String get quizMultiSelectHint => 'هر څومره چې غواړئ انتخاب کړئ'; + + @override + String get quizChallengeLongWait => 'د ملاقاتونو لپاره اوږد انتظار وختونه'; + + @override + String get quizChallengeRushedVisits => 'د لیدنو احساس تیز دی'; + + @override + String get quizChallengeCost => 'لوړه بیه یا ناڅرګنده بیه'; + + @override + String get quizChallengeHardExplain => 'هر څه په واضح ډول تشریح کول سخت دي'; + + @override + String get quizChallengeConflictingAdvice => 'متضاد نظریات یا مشورې'; + + @override + String get quizChallengeNone => 'هیڅ لویې ستونزې نشته'; + + @override + String get quizStepLabel4 => 'ګام ۴/۶'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'د ملاقاتونو وروسته، تاسو څومره باوري یاست چې څه درته وویل شول؟'; + + @override + String get quizConfidenceNoRightAnswer => 'هیڅ سم یا ناسم ځواب نشته.'; + + @override + String get quizConfidenceVeryClear => 'ډېر روښانه دی چې څه روان دي'; + + @override + String get quizConfidenceSomewhatClear => 'یو څه روښانه'; + + @override + String get quizConfidenceStillUncertain => 'لا یقین'; + + @override + String get quizConfidenceMoreConfused => 'د مخکې نه ډیر مغشوش'; + + @override + String get captionDiagnosisVsChange => + 'ډیر خلک د تشخیص وروسته نه بلکې کله چې نښې نښانې د وخت په تیریدو کې بدلیږي، له ستونزو سره مخ کیږي.'; + + @override + String get quizStepLabel5 => 'ګام ۵/۶'; + + @override + String get quizConcernsAddressedTitle => + 'تاسو څنګه احساس کوئ چې ستاسو اندیښنې معمولا څومره حل کیږي؟'; + + @override + String get quizConcernsAddressedSubtitle => 'ستاسو د احساساتو پراساس'; + + @override + String get quizConcernsVeryWell => 'ډیر ښه'; + + @override + String get quizConcernsFairlyWell => 'مناسبه ده'; + + @override + String get quizConcernsNotVeryWell => 'ډیر ښه نه دی'; + + @override + String get quizConcernsVaries => 'دا ډیر مختلف دی'; + + @override + String get quizStepLabel6 => 'ګام ۶/۶'; + + @override + String get quizSelfResearchTitle => + 'د ډاکټر سره د لیدو نه مخکې، آیا تاسو عموماً هڅه کوئ چې د نښو معنی خپله وپیژنئ؟'; + + @override + String get quizSelfResearchYes => 'هو، زه څیړنه کوم او شیان تعقیبوم'; + + @override + String get quizSelfResearchSometimes => 'کله نا کله'; + + @override + String get quizSelfResearchRarely => 'کمی'; + + @override + String get quizSelfResearchNo => 'نه، زه په بشپړه توګه پر مسلکیانو تکیه کوم'; + + @override + String get captionAvailabilityTitle => + 'د روغتیا پوښتنې دفتري ساعتونه نه تعقیبوي.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina د 24/7 لپاره موجود دی.'; + + @override + String get captionAvailabilityDescription => + 'روښانتیا باید د بل ملاقات لپاره انتظار ونه کړي.'; + + @override + String get notificationTitle => + 'آیا تاسو غواړئ چې موږ ستاسو د روغتیا نښې وګورو؟'; + + @override + String get notificationDescription => + 'AI کولی شي ستاسو نښې وڅاري او تاسو ته خبر درکړي که چیرې څه شی د پاملرنې اړتیا ولري'; + + @override + String get notificationYes => 'هو — زما روغتیا ته پام وکړئ'; + + @override + String get notificationOnlyImportant => 'هو — یوازې که څه مهم بدل شي'; + + @override + String get notificationNo => 'لا ترسیدم'; + + @override + String get referralSourceTitle => + 'آیا تاسو د ډاکټر نه د ډاکټرینا په اړه واوریدل؟'; + + @override + String get referralSourceYes => 'هو'; + + @override + String get referralSourceNo => 'نه'; + + @override + String get processingSectionLabel => 'ستاسو پایلو تحلیل'; + + @override + String get processingTitle => 'ستاسو تجربه شخصي کول'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'د Doctorina Pro سره بې حده تجربه'; + + @override + String get paywallAssistantTagline => 'ستاسو مرسته کوونکی چې تل نږدې دی'; + + @override + String get paywallEnableTrialToggle => 'باور نه لری؟ وړیا آزموینه فعال کړئ.'; + + @override + String get paywallPlanYear => 'سږکال'; + + @override + String get paywallPlanMonthly => 'میاشتنی'; + + @override + String get paywallPlanWeek => 'هفتې'; + + @override + String get paywallPlanDaily => 'ورځنی'; + + @override + String get paywallPlanYearPrice => '\$39.99 (یوازی \$3.34/هفته)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => '58% سپما'; + + @override + String get paywallContinueBtn => 'ادامه'; + + @override + String get paywallStartTrialBtn => 'د وړیا ازموینې پیل'; + + @override + String get paywallSubscriptionDisclaimer => + 'د ګډون ګډون اتومات تازه کیږي. هر وخت لغوه کړئ'; + + @override + String get paywallTermsPrivacy => + 'د خدمت شرایط | د محرمیت پالیسي'; + + @override + String get paywallPerWeek => 'هفته'; + + @override + String get processingLabel => 'ستاسو پایلې تحلیل کیږي'; + + @override + String get paywallCloseTooltip => 'د onboarding بندول'; + + @override + String get paywallRestoreTooltip => 'پېرودنې بیا راګرځول'; + + @override + String get paywallRestoreBtn => 'بېرته راګرځول'; + + @override + String get paywallRestoreNoneFound => 'هیڅ فعال ګډون نه دی موندل شوی.'; + + @override + String get paywallRestoreError => + 'د پیرودنو بیا رغونه ناکامه شوه. مهرباني وکړئ وروسته بیا هڅه وکړئ.'; + + @override + String get paywallPurchaseError => + 'د پېرودنې بشپړول ناکام شول. مهرباني وکړئ وروسته بیا هڅه وکړئ'; + + @override + String get paywallTrialStep1Title => 'نن ورځ: سمدستي لاسرسی ترلاسه کړئ'; + + @override + String get paywallTrialStep1Description => + 'د بشپړ لاسرسي لپاره قفل خلاص کړئ، هر وخت د AI روغتیایي ځوابونه ترلاسه کړئ.'; + + @override + String get paywallTrialStep2Title => 'ورځ ۲: د ازموینې یادونه'; + + @override + String get paywallTrialStep2Description => + 'موږ به تاسو ته یادونه وکړو چې ستاسو آزموینه پای ته رسیږي'; + + @override + String get paywallTrialStep3Title => 'ورځ ۳: نوي کول'; + + @override + String paywallTrialStep3Description(String date) { + return 'تاسو به په $date نیټه چارج شئ، هر وخت مخکې له دې لغوه کړئ.'; + } + + @override + String get paywallBenefitsHeader => 'څه شامل دي'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'خصوصي او خوندي'; + + @override + String get paywallBenefitAiAssistant => 'AI مرسته کوونکی، 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'فوري صحي ځوابونه'; + + @override + String get paywallBenefitScienceInsights => 'روښانه، علمي بنسټیز بصیرتونه'; + + @override + String get paywallBenefitAutoSummaries => 'خودکار خبرې لنډیزونه'; + + @override + String get paywallBenefitAnyLanguage => 'هر ژبه، هر وخت'; + + @override + String get paywallPriceUnitPerWeek => 'په اونۍ کې'; + + @override + String get paywallOfferTitle => 'یو ځل وړاندیز'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% تخفیف'; + } + + @override + String get paywallOfferForeverBadge => 'تلپاتې'; + + @override + String get paywallOfferDisclaimer => + 'کله چې تاسو خپله یو ځل وړاندیز وتړئ، دا له منځه ځي!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/میاشت'; + } + + @override + String get paywallOfferLowestPriceBadge => 'تر ټولو ټیټه بیه'; + + @override + String get paywallOfferCancelAnytime => 'هر وخت لغو کړئ'; + + @override + String get paywallOfferClaimButton => 'ستاسو وړاندیز غوښتنه وکړئ'; + + @override + String get paywallOfferAutoRenewable => 'د اوتوماتیک نوي کولو ګډون'; + + @override + String get paywallGiftBoxTitle => 'خاص تحفه دننه'; + + @override + String get paywallGiftBoxSubtitle => + 'یو ځل ټک وکړئ ترڅو خپل ځانګړی وړاندیز ښکاره کړئ'; + + @override + String get paywallGiftBoxOpenButton => 'اوس پرانیزئ'; + + @override + String get paywallRetryLoadPricesError => + 'د ګډون انتخابونه بار نشول. مهرباني وکړئ وروسته بیا هڅه وکړئ.'; + + @override + String get paywallPricesUnavailableTitle => 'د ګډون بیې بار نشوې'; + + @override + String get paywallPricesUnavailableMessage => + 'خپل اړیکه چیک کړئ او بیا هڅه وکړئ.'; + + @override + String get paywallPricesUnavailableRetryButton => 'یو ځل بیا هڅه وکړئ'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_pt.dart b/example/lib/src/generated/onboarding/onboarding_localization_pt.dart new file mode 100644 index 0000000..1ea0a62 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_pt.dart @@ -0,0 +1,973 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Portuguese (`pt`). +class OnboardingLocalizationPt extends OnboardingLocalization { + OnboardingLocalizationPt([String locale = 'pt']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ASSISTENTE DE SAÚDE AVANÇADO AI'; + + @override + String get welcomeScreenTitle => 'Bem-vindo ao Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Projetado para analisar sintomas da maneira que clínicos experientes fazem — entendendo padrões, tempo e contexto'; + + @override + String get getStartedBtn => 'Começar'; + + @override + String get alreadyHaveAccount => 'Já tem uma conta? Fazer login'; + + @override + String get termsConsent => + 'Ao continuar, você concorda com nossos\nTermos de Serviço | Política de Privacidade'; + + @override + String get personalizationInterruptionTitle => + 'Vamos personalizar Doctorina para você'; + + @override + String get personalizationSectionLabel => 'PERSONALIZAÇÃO'; + + @override + String get personalizationReasonTitle => 'O que traz você aqui hoje?'; + + @override + String get personalizationReasonSymptomsNow => + 'Estou sentindo sintomas agora'; + + @override + String get personalizationReasonUnderstandChange => + 'Quero entender uma mudança de saúde'; + + @override + String get personalizationReasonRuleOutSerious => + 'Quero descartar algo sério'; + + @override + String get personalizationReasonMonitoring => + 'Estou monitorando minha saúde proativamente'; + + @override + String get continueBtn => 'Continuar'; + + @override + String get captionEmpathyText => + 'Quando algo muda na sua saúde, saber o que importa é o mais difícil.'; + + @override + String get captionDifferentiatorText => + 'Doctorina foca em padrões de sintomas e no tempo — os mesmos sinais que os clínicos buscam no início.'; + + @override + String get genderTitle => 'Selecione seu gênero'; + + @override + String get genderSubtitle => + 'Isso nos ajuda a interpretar os sintomas e a dar recomendações com mais precisão.'; + + @override + String get genderMale => 'Masculino'; + + @override + String get genderFemale => 'Feminino'; + + @override + String get genderPreferNotSay => 'Prefiro não dizer'; + + @override + String get ageTitle => 'Qual é a sua idade?'; + + @override + String get ageSubtitle => + 'A idade nos ajuda a avaliar os padrões de saúde com mais precisão.'; + + @override + String get socialProofLargeTitle => + 'Mais de 48k+ pessoas\n escolheram Doctorina'; + + @override + String get socialProofDisclaimer => + '*Baseado nas estatísticas da base de usuários do Doctorina'; + + @override + String get developedByDoctors => 'Desenvolvido por\nMédicos'; + + @override + String get quizStepLabel1 => 'ETAPA 1/6'; + + @override + String get quizHealthSituationTitle => + 'Como você descreveria sua situação de saúde atual?'; + + @override + String get quizHealthHealthy => 'Geralmente me sinto saudável'; + + @override + String get quizHealthMinorConcerns => + 'Tenho preocupações menores em andamento'; + + @override + String get quizHealthKnownCondition => + 'Estou gerenciando uma condição conhecida'; + + @override + String get quizHealthUnresolved => 'Estou lidando com algo não resolvido'; + + @override + String get quizStepLabel2 => 'ETAPA 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Com que frequência você costuma ver um médico?'; + + @override + String get quizDoctorVisitRegular => + 'Regularmente (exames / acompanhamentos)'; + + @override + String get quizDoctorVisitOccasional => + 'Ocasionalmente, quando algo está errado'; + + @override + String get quizDoctorVisitRare => 'Raramente, apenas se necessário'; + + @override + String get quizDoctorVisitAvoid => 'Evitar visitar médicos'; + + @override + String get quizDoctorVisitNever => 'Eu nunca visitei um médico'; + + @override + String get quizStepLabel3 => 'ETAPA 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Qual foi o seu maior desafio com a saúde até agora?'; + + @override + String get quizMultiSelectHint => 'Escolha quantos quiser'; + + @override + String get quizChallengeLongWait => 'Longos tempos de espera para consultas'; + + @override + String get quizChallengeRushedVisits => 'As visitas parecem apressadas'; + + @override + String get quizChallengeCost => 'Alto custo ou preços pouco claros'; + + @override + String get quizChallengeHardExplain => 'Difícil explicar tudo claramente'; + + @override + String get quizChallengeConflictingAdvice => + 'Opiniões ou conselhos conflitantes'; + + @override + String get quizChallengeNone => 'Nenhum problema maior'; + + @override + String get quizStepLabel4 => 'ETAPA 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Após as consultas, quão confiante você se sente sobre o que foi dito?'; + + @override + String get quizConfidenceNoRightAnswer => 'Não há resposta certa ou errada.'; + + @override + String get quizConfidenceVeryClear => + 'Muito claro sobre o que está acontecendo'; + + @override + String get quizConfidenceSomewhatClear => 'Um pouco claro'; + + @override + String get quizConfidenceStillUncertain => 'Ainda incerto'; + + @override + String get quizConfidenceMoreConfused => 'Mais confuso do que antes'; + + @override + String get captionDiagnosisVsChange => + 'Muitas pessoas enfrentam dificuldades não após o diagnóstico mas quando os sintomas mudam ao longo do tempo.'; + + @override + String get quizStepLabel5 => 'ETAPA 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Quão bem você sente que suas preocupações são geralmente abordadas?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Baseado em seus sentimentos subjetivos'; + + @override + String get quizConcernsVeryWell => 'Muito bem'; + + @override + String get quizConcernsFairlyWell => 'Razoavelmente bem'; + + @override + String get quizConcernsNotVeryWell => 'Não muito bem'; + + @override + String get quizConcernsVaries => 'Varia muito'; + + @override + String get quizStepLabel6 => 'ETAPA 6/6'; + + @override + String get quizSelfResearchTitle => + 'Antes de ver um médico, você geralmente tenta entender os sintomas por conta própria?'; + + @override + String get quizSelfResearchYes => 'Sim, eu pesquiso e acompanho as coisas'; + + @override + String get quizSelfResearchSometimes => 'Às vezes'; + + @override + String get quizSelfResearchRarely => 'Raramente'; + + @override + String get quizSelfResearchNo => + 'Não, eu confio totalmente nos profissionais'; + + @override + String get captionAvailabilityTitle => + 'Questões de saúde não seguem o horário de atendimento.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina está disponível 24/7.'; + + @override + String get captionAvailabilityDescription => + 'A clareza não deve esperar pela próxima consulta'; + + @override + String get notificationTitle => + 'Você quer que verifiquemos seus sintomas de saúde?'; + + @override + String get notificationDescription => + 'A IA pode monitorar seus sintomas e alertá-lo se algo precisar de atenção'; + + @override + String get notificationYes => 'Sim — fique de olho na minha saúde'; + + @override + String get notificationOnlyImportant => + 'Sim — apenas se algo importante mudar'; + + @override + String get notificationNo => 'Ainda não tenho certeza'; + + @override + String get referralSourceTitle => + 'Você ouviu falar da Doctorina por um médico?'; + + @override + String get referralSourceYes => 'Sim'; + + @override + String get referralSourceNo => 'Não'; + + @override + String get processingSectionLabel => 'ANALISANDO SEUS RESULTADOS'; + + @override + String get processingTitle => 'Personalizando sua experiência'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Experiência ilimitada com Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'SEU ASSISTENTE QUE ESTÁ SEMPRE PERTO'; + + @override + String get paywallEnableTrialToggle => + 'Não tem certeza ainda? Ative o teste gratuito.'; + + @override + String get paywallPlanYear => 'Anual'; + + @override + String get paywallPlanMonthly => 'Mensal'; + + @override + String get paywallPlanWeek => 'Semanal'; + + @override + String get paywallPlanDaily => 'Diário'; + + @override + String get paywallPlanYearPrice => 'R\$ 39,99 (apenas R\$ 3,34/semana)'; + + @override + String get paywallPlanWeekPrice => 'R\$ 3,99'; + + @override + String get paywallSaveBadge => 'ECONOMIZE 58%'; + + @override + String get paywallContinueBtn => 'Continuar'; + + @override + String get paywallStartTrialBtn => 'Começar teste gratuito'; + + @override + String get paywallSubscriptionDisclaimer => + 'A assinatura é renovável automaticamente. Cancele a qualquer momento'; + + @override + String get paywallTermsPrivacy => + 'Termos de Serviço | Política de Privacidade'; + + @override + String get paywallPerWeek => 'semana'; + + @override + String get processingLabel => 'Analisando seus resultados'; + + @override + String get paywallCloseTooltip => 'Fechar onboarding'; + + @override + String get paywallRestoreTooltip => 'Restaurar compras'; + + @override + String get paywallRestoreBtn => 'Restaurar'; + + @override + String get paywallRestoreNoneFound => + 'Nenhuma assinatura ativa encontrada para restaurar.'; + + @override + String get paywallRestoreError => + 'Falha ao restaurar compras. Por favor, tente novamente mais tarde.'; + + @override + String get paywallPurchaseError => + 'Falha ao completar a compra. Por favor, tente novamente mais tarde.'; + + @override + String get paywallTrialStep1Title => 'Hoje: Acesse instantaneamente'; + + @override + String get paywallTrialStep1Description => + 'Desbloqueie o acesso completo, obtenha respostas de saúde da IA, a qualquer momento.'; + + @override + String get paywallTrialStep2Title => 'Dia 2: Lembrete do trial'; + + @override + String get paywallTrialStep2Description => + 'Nós enviaremos um lembrete de que seu teste está prestes a terminar'; + + @override + String get paywallTrialStep3Title => 'Dia 3: Renovação'; + + @override + String paywallTrialStep3Description(String date) { + return 'Você será cobrado em $date, cancele a qualquer momento antes.'; + } + + @override + String get paywallBenefitsHeader => 'O QUE ESTÁ INCLUÍDO'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privado e seguro'; + + @override + String get paywallBenefitAiAssistant => 'Assistente de IA, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Respostas instantâneas de saúde'; + + @override + String get paywallBenefitScienceInsights => + 'Insights claros e baseados em ciência'; + + @override + String get paywallBenefitAutoSummaries => 'Resumos automáticos de conversas'; + + @override + String get paywallBenefitAnyLanguage => 'Qualquer idioma, a qualquer momento'; + + @override + String get paywallPriceUnitPerWeek => 'por semana'; + + @override + String get paywallOfferTitle => 'Oferta única'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% OFF'; + } + + @override + String get paywallOfferForeverBadge => 'PARA SEMPRE'; + + @override + String get paywallOfferDisclaimer => + 'Uma vez que você fechar sua oferta única, ela se foi!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mês'; + } + + @override + String get paywallOfferLowestPriceBadge => 'MENOR PREÇO JÁ'; + + @override + String get paywallOfferCancelAnytime => 'Cancele a qualquer momento'; + + @override + String get paywallOfferClaimButton => 'Reivindique sua oferta'; + + @override + String get paywallOfferAutoRenewable => 'Assinatura automática'; + + @override + String get paywallGiftBoxTitle => 'Presente especial dentro'; + + @override + String get paywallGiftBoxSubtitle => + 'Um toque para revelar sua oferta especial'; + + @override + String get paywallGiftBoxOpenButton => 'Abrir agora'; + + @override + String get paywallRetryLoadPricesError => + 'Falha ao carregar opções de assinatura. Por favor, tente novamente mais tarde.'; + + @override + String get paywallPricesUnavailableTitle => + 'Não foi possível carregar os preços das assinaturas'; + + @override + String get paywallPricesUnavailableMessage => + 'Verifique sua conexão e tente novamente.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Tente novamente'; + + @override + String get skipOnboardingButton => 'Skip'; +} + +/// The translations for Portuguese, as used in Brazil (`pt_BR`). +class OnboardingLocalizationPtBr extends OnboardingLocalizationPt { + OnboardingLocalizationPtBr() : super('pt_BR'); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ASSISTENTE DE SAÚDE AVANÇADO AI'; + + @override + String get welcomeScreenTitle => 'Bem-vindo ao Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Projetado para analisar sintomas da maneira que clínicos experientes fazem — entendendo padrões, tempo e contexto'; + + @override + String get getStartedBtn => 'Começar'; + + @override + String get alreadyHaveAccount => 'Já tem uma conta? Fazer login'; + + @override + String get termsConsent => + 'Ao continuar, você concorda com nossos\nTermos de Serviço | Política de Privacidade'; + + @override + String get personalizationInterruptionTitle => + 'Vamos personalizar Doctorina para você'; + + @override + String get personalizationSectionLabel => 'PERSONALIZAÇÃO'; + + @override + String get personalizationReasonTitle => 'O que traz você aqui hoje?'; + + @override + String get personalizationReasonSymptomsNow => + 'Estou sentindo sintomas agora'; + + @override + String get personalizationReasonUnderstandChange => + 'Quero entender uma mudança de saúde'; + + @override + String get personalizationReasonRuleOutSerious => + 'Quero descartar algo sério'; + + @override + String get personalizationReasonMonitoring => + 'Estou monitorando minha saúde proativamente'; + + @override + String get continueBtn => 'Continuar'; + + @override + String get captionEmpathyText => + 'Quando algo muda na sua saúde, saber o que importa é o mais difícil.'; + + @override + String get captionDifferentiatorText => + 'Doctorina foca em padrões de sintomas e no tempo — os mesmos sinais que os clínicos buscam no início.'; + + @override + String get genderTitle => 'Selecione seu gênero'; + + @override + String get genderSubtitle => + 'Isso nos ajuda a interpretar os sintomas e a dar recomendações com mais precisão.'; + + @override + String get genderMale => 'Masculino'; + + @override + String get genderFemale => 'Feminino'; + + @override + String get genderPreferNotSay => 'Prefiro não dizer'; + + @override + String get ageTitle => 'Qual é a sua idade?'; + + @override + String get ageSubtitle => + 'A idade nos ajuda a avaliar os padrões de saúde com mais precisão.'; + + @override + String get socialProofLargeTitle => + 'Mais de 48k+ pessoas\n escolheram Doctorina'; + + @override + String get socialProofDisclaimer => + '*Baseado nas estatísticas da base de usuários do Doctorina'; + + @override + String get developedByDoctors => 'Desenvolvido por\nMédicos'; + + @override + String get quizStepLabel1 => 'ETAPA 1/6'; + + @override + String get quizHealthSituationTitle => + 'Como você descreveria sua situação de saúde atual?'; + + @override + String get quizHealthHealthy => 'Geralmente me sinto saudável'; + + @override + String get quizHealthMinorConcerns => + 'Tenho preocupações menores em andamento'; + + @override + String get quizHealthKnownCondition => + 'Estou gerenciando uma condição conhecida'; + + @override + String get quizHealthUnresolved => 'Estou lidando com algo não resolvido'; + + @override + String get quizStepLabel2 => 'ETAPA 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Com que frequência você costuma ver um médico?'; + + @override + String get quizDoctorVisitRegular => + 'Regularmente (exames / acompanhamentos)'; + + @override + String get quizDoctorVisitOccasional => + 'Ocasionalmente, quando algo está errado'; + + @override + String get quizDoctorVisitRare => 'Raramente, apenas se necessário'; + + @override + String get quizDoctorVisitAvoid => 'Evitar visitar médicos'; + + @override + String get quizDoctorVisitNever => 'Eu nunca visitei um médico'; + + @override + String get quizStepLabel3 => 'ETAPA 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Qual foi o seu maior desafio com a saúde até agora?'; + + @override + String get quizMultiSelectHint => 'Escolha quantos quiser'; + + @override + String get quizChallengeLongWait => 'Longos tempos de espera para consultas'; + + @override + String get quizChallengeRushedVisits => 'As visitas parecem apressadas'; + + @override + String get quizChallengeCost => 'Alto custo ou preços pouco claros'; + + @override + String get quizChallengeHardExplain => 'Difícil explicar tudo claramente'; + + @override + String get quizChallengeConflictingAdvice => + 'Opiniões ou conselhos conflitantes'; + + @override + String get quizChallengeNone => 'Nenhum problema maior'; + + @override + String get quizStepLabel4 => 'ETAPA 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Após as consultas, quão confiante você se sente sobre o que foi dito?'; + + @override + String get quizConfidenceNoRightAnswer => 'Não há resposta certa ou errada.'; + + @override + String get quizConfidenceVeryClear => + 'Muito claro sobre o que está acontecendo'; + + @override + String get quizConfidenceSomewhatClear => 'Um pouco claro'; + + @override + String get quizConfidenceStillUncertain => 'Ainda incerto'; + + @override + String get quizConfidenceMoreConfused => 'Mais confuso do que antes'; + + @override + String get captionDiagnosisVsChange => + 'Muitas pessoas enfrentam dificuldades não após o diagnóstico mas quando os sintomas mudam ao longo do tempo.'; + + @override + String get quizStepLabel5 => 'ETAPA 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Quão bem você sente que suas preocupações são geralmente abordadas?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Baseado em seus sentimentos subjetivos'; + + @override + String get quizConcernsVeryWell => 'Muito bem'; + + @override + String get quizConcernsFairlyWell => 'Razoavelmente bem'; + + @override + String get quizConcernsNotVeryWell => 'Não muito bem'; + + @override + String get quizConcernsVaries => 'Varia muito'; + + @override + String get quizStepLabel6 => 'ETAPA 6/6'; + + @override + String get quizSelfResearchTitle => + 'Antes de ver um médico, você geralmente tenta entender os sintomas por conta própria?'; + + @override + String get quizSelfResearchYes => 'Sim, eu pesquiso e acompanho as coisas'; + + @override + String get quizSelfResearchSometimes => 'Às vezes'; + + @override + String get quizSelfResearchRarely => 'Raramente'; + + @override + String get quizSelfResearchNo => + 'Não, eu confio totalmente nos profissionais'; + + @override + String get captionAvailabilityTitle => + 'Questões de saúde não seguem o horário de atendimento.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina está disponível 24/7.'; + + @override + String get captionAvailabilityDescription => + 'A clareza não deve esperar pela próxima consulta'; + + @override + String get notificationTitle => + 'Você quer que verifiquemos seus sintomas de saúde?'; + + @override + String get notificationDescription => + 'A IA pode monitorar seus sintomas e alertá-lo se algo precisar de atenção'; + + @override + String get notificationYes => 'Sim — fique de olho na minha saúde'; + + @override + String get notificationOnlyImportant => + 'Sim — apenas se algo importante mudar'; + + @override + String get notificationNo => 'Ainda não tenho certeza'; + + @override + String get referralSourceTitle => + 'Você ouviu falar da Doctorina por um médico?'; + + @override + String get referralSourceYes => 'Sim'; + + @override + String get referralSourceNo => 'Não'; + + @override + String get processingSectionLabel => 'ANALISANDO SEUS RESULTADOS'; + + @override + String get processingTitle => 'Personalizando sua experiência'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Experiência ilimitada com Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'SEU ASSISTENTE QUE ESTÁ SEMPRE PERTO'; + + @override + String get paywallEnableTrialToggle => + 'Não tem certeza ainda? Ative o teste gratuito.'; + + @override + String get paywallPlanYear => 'Anual'; + + @override + String get paywallPlanMonthly => 'Mensal'; + + @override + String get paywallPlanWeek => 'Semanal'; + + @override + String get paywallPlanDaily => 'Diário'; + + @override + String get paywallPlanYearPrice => 'R\$ 39,99 (apenas R\$ 3,34/semana)'; + + @override + String get paywallPlanWeekPrice => 'R\$ 3,99'; + + @override + String get paywallSaveBadge => 'ECONOMIZE 58%'; + + @override + String get paywallContinueBtn => 'Continuar'; + + @override + String get paywallStartTrialBtn => 'Começar teste gratuito'; + + @override + String get paywallSubscriptionDisclaimer => + 'A assinatura é renovável automaticamente. Cancele a qualquer momento'; + + @override + String get paywallTermsPrivacy => + 'Termos de Serviço | Política de Privacidade'; + + @override + String get paywallPerWeek => 'semana'; + + @override + String get processingLabel => 'Analisando seus resultados'; + + @override + String get paywallCloseTooltip => 'Fechar onboarding'; + + @override + String get paywallRestoreTooltip => 'Restaurar compras'; + + @override + String get paywallRestoreBtn => 'Restaurar'; + + @override + String get paywallRestoreNoneFound => + 'Nenhuma assinatura ativa encontrada para restaurar.'; + + @override + String get paywallRestoreError => + 'Falha ao restaurar compras. Por favor, tente novamente mais tarde.'; + + @override + String get paywallPurchaseError => + 'Falha ao completar a compra. Por favor, tente novamente mais tarde.'; + + @override + String get paywallTrialStep1Title => 'Hoje: Acesse instantaneamente'; + + @override + String get paywallTrialStep1Description => + 'Desbloqueie o acesso completo, obtenha respostas de saúde da IA, a qualquer momento.'; + + @override + String get paywallTrialStep2Title => 'Dia 2: Lembrete do trial'; + + @override + String get paywallTrialStep2Description => + 'Nós enviaremos um lembrete de que seu teste está prestes a terminar'; + + @override + String get paywallTrialStep3Title => 'Dia 3: Renovação'; + + @override + String paywallTrialStep3Description(String date) { + return 'Você será cobrado em $date, cancele a qualquer momento antes.'; + } + + @override + String get paywallBenefitsHeader => 'O QUE ESTÁ INCLUÍDO'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privado e seguro'; + + @override + String get paywallBenefitAiAssistant => 'Assistente de IA, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Respostas instantâneas de saúde'; + + @override + String get paywallBenefitScienceInsights => + 'Insights claros e baseados em ciência'; + + @override + String get paywallBenefitAutoSummaries => 'Resumos automáticos de conversas'; + + @override + String get paywallBenefitAnyLanguage => 'Qualquer idioma, a qualquer momento'; + + @override + String get paywallPriceUnitPerWeek => 'por semana'; + + @override + String get paywallOfferTitle => 'Oferta única'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% OFF'; + } + + @override + String get paywallOfferForeverBadge => 'PARA SEMPRE'; + + @override + String get paywallOfferDisclaimer => + 'Uma vez que você fechar sua oferta única, ela se foi!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mês'; + } + + @override + String get paywallOfferLowestPriceBadge => 'MENOR PREÇO JÁ'; + + @override + String get paywallOfferCancelAnytime => 'Cancele a qualquer momento'; + + @override + String get paywallOfferClaimButton => 'Reivindique sua oferta'; + + @override + String get paywallOfferAutoRenewable => 'Assinatura automática'; + + @override + String get paywallGiftBoxTitle => 'Presente especial dentro'; + + @override + String get paywallGiftBoxSubtitle => + 'Um toque para revelar sua oferta especial'; + + @override + String get paywallGiftBoxOpenButton => 'Abrir agora'; + + @override + String get paywallRetryLoadPricesError => + 'Falha ao carregar opções de assinatura. Por favor, tente novamente mais tarde.'; + + @override + String get paywallPricesUnavailableTitle => + 'Não foi possível carregar os preços das assinaturas'; + + @override + String get paywallPricesUnavailableMessage => + 'Verifique sua conexão e tente novamente.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Tente novamente'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ro.dart b/example/lib/src/generated/onboarding/onboarding_localization_ro.dart new file mode 100644 index 0000000..a4e5762 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ro.dart @@ -0,0 +1,492 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Romanian Moldavian Moldovan (`ro`). +class OnboardingLocalizationRo extends OnboardingLocalization { + OnboardingLocalizationRo([String locale = 'ro']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ASISTENT DE SĂNĂTATE AI AVANSAT'; + + @override + String get welcomeScreenTitle => 'Bun venit la Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Proiectat pentru a analiza simptomele așa cum o fac clinicienii experimentați — înțelegând tiparele, momentul și contextul.'; + + @override + String get getStartedBtn => 'Începe'; + + @override + String get alreadyHaveAccount => + 'Ai deja un cont? Conectează-te'; + + @override + String get termsConsent => + 'Continuând, ești de acord cu\nTermenii și condițiile | Politica de confidențialitate'; + + @override + String get personalizationInterruptionTitle => + 'Să personalizăm Doctorina pentru tine'; + + @override + String get personalizationSectionLabel => 'PERSONALIZARE'; + + @override + String get personalizationReasonTitle => 'Ce te aduce aici astăzi?'; + + @override + String get personalizationReasonSymptomsNow => 'Experimentez simptome acum'; + + @override + String get personalizationReasonUnderstandChange => + 'Vreau să înțeleg o schimbare de sănătate'; + + @override + String get personalizationReasonRuleOutSerious => + 'Vreau să exclud ceva serios'; + + @override + String get personalizationReasonMonitoring => + 'Îmi monitorizez sănătatea proactiv'; + + @override + String get continueBtn => 'Continuare'; + + @override + String get captionEmpathyText => + 'Când ceva se schimbă în sănătatea ta, cel mai greu este să știi ce contează.'; + + @override + String get captionDifferentiatorText => + 'Doctorina se concentrează pe tiparele simptomelor și pe momentul apariției acestora — aceleași semnale pe care clinicienii le caută încă de la început.'; + + @override + String get genderTitle => 'Selectați genul dumneavoastră'; + + @override + String get genderSubtitle => + 'Acest lucru ne ajută să interpretăm simptomele și să oferim recomandări mai precise.'; + + @override + String get genderMale => 'Bărbat'; + + @override + String get genderFemale => 'Femeie'; + + @override + String get genderPreferNotSay => 'Prefer să nu spun'; + + @override + String get ageTitle => 'Care este vârsta ta?'; + + @override + String get ageSubtitle => + 'Vârsta ne ajută să evaluăm mai precis modelele de sănătate.'; + + @override + String get socialProofLargeTitle => + 'Peste 48k+ de persoane\nau ales Doctorina'; + + @override + String get socialProofDisclaimer => + '*Bazat pe statisticile bazei de utilizatori Doctorina'; + + @override + String get developedByDoctors => 'Dezvoltat de\nMedici'; + + @override + String get quizStepLabel1 => 'PASUL 1/6'; + + @override + String get quizHealthSituationTitle => + 'Cum ați descrie situația dumneavoastră actuală de sănătate?'; + + @override + String get quizHealthHealthy => 'Mă simt în general sănătos'; + + @override + String get quizHealthMinorConcerns => 'Am îngrijorări minore în curs'; + + @override + String get quizHealthKnownCondition => 'Îmi gestionez o afecțiune cunoscută'; + + @override + String get quizHealthUnresolved => 'Mă confrunt cu ceva nerezolvat'; + + @override + String get quizStepLabel2 => 'PASUL 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Cât de des mergeți de obicei la doctor?'; + + @override + String get quizDoctorVisitRegular => 'Regulat (controluri / urmăriri)'; + + @override + String get quizDoctorVisitOccasional => + 'Occazional, când ceva nu este în regulă'; + + @override + String get quizDoctorVisitRare => 'Rar, doar dacă este necesar'; + + @override + String get quizDoctorVisitAvoid => 'Evitați vizitele la medici'; + + @override + String get quizDoctorVisitNever => 'Nu am vizitat niciodată un doctor'; + + @override + String get quizStepLabel3 => 'PASUL 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Care a fost cea mai mare provocare pe care ai întâmpinat-o cu sistemul de sănătate până acum?'; + + @override + String get quizMultiSelectHint => 'Alegeți câte doriți'; + + @override + String get quizChallengeLongWait => + 'Timp lung de așteptare pentru programări'; + + @override + String get quizChallengeRushedVisits => 'Vizitele par grăbite'; + + @override + String get quizChallengeCost => 'Cost ridicat sau prețuri neclare'; + + @override + String get quizChallengeHardExplain => 'Dificil de explicat totul clar'; + + @override + String get quizChallengeConflictingAdvice => + 'Opinii sau sfaturi contradictorii'; + + @override + String get quizChallengeNone => 'Nu sunt probleme majore'; + + @override + String get quizStepLabel4 => 'STEP 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'După întâlniri, cât de încrezător te simți în legătură cu ceea ce ți s-a spus?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Nu există un răspuns corect sau greșit.'; + + @override + String get quizConfidenceVeryClear => + 'Foarte clar în legătură cu ceea ce se întâmplă'; + + @override + String get quizConfidenceSomewhatClear => 'Destul de clar'; + + @override + String get quizConfidenceStillUncertain => 'Încă nesigur'; + + @override + String get quizConfidenceMoreConfused => 'Mai confuz decât înainte'; + + @override + String get captionDiagnosisVsChange => + 'Mulți oameni se confruntă nu după diagnostic ci atunci când simptomele se schimbă în timp.'; + + @override + String get quizStepLabel5 => 'PASUL 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Cât de bine simțiți că îngrijorările dumneavoastră sunt de obicei abordate?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Pe baza sentimentelor tale subiective'; + + @override + String get quizConcernsVeryWell => 'Foarte bine'; + + @override + String get quizConcernsFairlyWell => 'Destul de bine'; + + @override + String get quizConcernsNotVeryWell => 'Nu foarte bine'; + + @override + String get quizConcernsVaries => 'Variază mult'; + + @override + String get quizStepLabel6 => 'STEP 6/6'; + + @override + String get quizSelfResearchTitle => + 'Înainte de a vedea un doctor, încerci de obicei să înțelegi simptomele singur?'; + + @override + String get quizSelfResearchYes => 'Da, cerc și urmăresc lucruri'; + + @override + String get quizSelfResearchSometimes => 'Uneori'; + + @override + String get quizSelfResearchRarely => 'Rar'; + + @override + String get quizSelfResearchNo => 'Nu, mă bazez complet pe profesioniști'; + + @override + String get captionAvailabilityTitle => + 'Întrebările de sănătate nu respectă programul de lucru.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina este disponibilă 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Claritatea nu ar trebui să aștepte următoarea programare'; + + @override + String get notificationTitle => + 'Vrei să verificăm simptomele tale de sănătate?'; + + @override + String get notificationDescription => + 'AI poate monitoriza simptomele tale și te poate alerta dacă ceva ar putea necesita atenție'; + + @override + String get notificationYes => 'Da — urmăresc sănătatea mea'; + + @override + String get notificationOnlyImportant => + 'Da — doar dacă se schimbă ceva important'; + + @override + String get notificationNo => 'Nu sunt sigur încă'; + + @override + String get referralSourceTitle => + 'Ați auzit despre Doctorina de la un doctor?'; + + @override + String get referralSourceYes => 'Da'; + + @override + String get referralSourceNo => 'Nu'; + + @override + String get processingSectionLabel => 'ANALIZAREA REZULTATELOR DUMNEAVOASTRĂ'; + + @override + String get processingTitle => 'Personalizând experiența ta'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Experiență nelimitată cu Doctorina Pro'; + + @override + String get paywallAssistantTagline => + 'ASISTENTUL TĂU CARE ESTE ÎNTOTDEAUNA APROAPE'; + + @override + String get paywallEnableTrialToggle => + 'Nu ești sigur încă? Activează perioada de probă gratuită.'; + + @override + String get paywallPlanYear => 'Anual'; + + @override + String get paywallPlanMonthly => 'Lunar'; + + @override + String get paywallPlanWeek => 'Săptămânal'; + + @override + String get paywallPlanDaily => 'Zilnic'; + + @override + String get paywallPlanYearPrice => '\$39.99 (doar \$3.34/săptămână)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'ECONOMISIȚI 58%'; + + @override + String get paywallContinueBtn => 'Continuă'; + + @override + String get paywallStartTrialBtn => 'Începeți perioada de probă gratuită'; + + @override + String get paywallSubscriptionDisclaimer => + 'Abonamentul se reînnoiește automat. Anulați oricând'; + + @override + String get paywallTermsPrivacy => + 'Termeni și condiții | Politica de confidențialitate'; + + @override + String get paywallPerWeek => 'săptămână'; + + @override + String get processingLabel => 'Analizând rezultatele dumneavoastră'; + + @override + String get paywallCloseTooltip => 'Închide onboarding'; + + @override + String get paywallRestoreTooltip => 'Restaurare Achiziții'; + + @override + String get paywallRestoreBtn => 'Restaurare'; + + @override + String get paywallRestoreNoneFound => + 'Nu a fost găsită nicio abonare activă de restaurat.'; + + @override + String get paywallRestoreError => + 'Restaurarea achizițiilor a eșuat. Vă rugăm să încercați din nou mai târziu.'; + + @override + String get paywallPurchaseError => + 'Achiziția nu a fost finalizată. Vă rugăm să încercați din nou mai târziu.'; + + @override + String get paywallTrialStep1Title => 'Astăzi: Obțineți acces instantaneu'; + + @override + String get paywallTrialStep1Description => + 'Dezvăluie accesul complet, obține răspunsuri de sănătate de la AI, oricând.'; + + @override + String get paywallTrialStep2Title => 'Ziua 2: Reminder de probă'; + + @override + String get paywallTrialStep2Description => + 'Îți vom trimite un memento că perioada de probă se apropie de sfârșit'; + + @override + String get paywallTrialStep3Title => 'Ziua 3: Reneware'; + + @override + String paywallTrialStep3Description(String date) { + return 'Veți fi taxat pe $date, anulați oricând înainte.'; + } + + @override + String get paywallBenefitsHeader => 'CE ESTE INCLUS'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Privat și sigur'; + + @override + String get paywallBenefitAiAssistant => 'Asistent AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => + 'Răspunsuri instantanee la sănătate'; + + @override + String get paywallBenefitScienceInsights => + 'Informații clare, bazate pe știință'; + + @override + String get paywallBenefitAutoSummaries => + 'Rezumate automate ale conversațiilor'; + + @override + String get paywallBenefitAnyLanguage => 'Orice limbă, oricând'; + + @override + String get paywallPriceUnitPerWeek => 'pe săptămână'; + + @override + String get paywallOfferTitle => 'Ofertă unică'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% REDUCERE'; + } + + @override + String get paywallOfferForeverBadge => 'FOREVER'; + + @override + String get paywallOfferDisclaimer => + 'Odată ce închideți oferta unică, aceasta dispare!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/lună'; + } + + @override + String get paywallOfferLowestPriceBadge => + 'CEL MAI MIC PREȚ DIN TOATE TIMPURILE'; + + @override + String get paywallOfferCancelAnytime => 'Anulează oricând'; + + @override + String get paywallOfferClaimButton => 'Revendica oferta ta'; + + @override + String get paywallOfferAutoRenewable => 'Abonament cu reînnoire automată'; + + @override + String get paywallGiftBoxTitle => 'Cadou special în interior'; + + @override + String get paywallGiftBoxSubtitle => + 'Un tap pentru a dezvălui oferta ta specială'; + + @override + String get paywallGiftBoxOpenButton => 'Deschide acum'; + + @override + String get paywallRetryLoadPricesError => + 'Nu s-au putut încărca opțiunile de abonament. Vă rugăm să încercați din nou mai târziu.'; + + @override + String get paywallPricesUnavailableTitle => + 'Nu s-au putut încărca prețurile abonamentelor'; + + @override + String get paywallPricesUnavailableMessage => + 'Verificați conexiunea și încercați din nou.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Încercați din nou'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ru.dart b/example/lib/src/generated/onboarding/onboarding_localization_ru.dart new file mode 100644 index 0000000..d978637 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ru.dart @@ -0,0 +1,488 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Russian (`ru`). +class OnboardingLocalizationRu extends OnboardingLocalization { + OnboardingLocalizationRu([String locale = 'ru']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ИИ ПОМОЩНИК ПО ЗДОРОВЬЮ'; + + @override + String get welcomeScreenTitle => 'Добро пожаловать в Doctorina!'; + + @override + String get socialProofTrustedBy => + 'Уже доверяют\n48K+ пользователей'; + + @override + String get welcomeDescription => + 'Помогает понять симптомы, как это сделал бы опытный врач'; + + @override + String get getStartedBtn => 'Начать'; + + @override + String get alreadyHaveAccount => 'Уже есть аккаунт? Войти'; + + @override + String get termsConsent => + 'Продолжая, вы соглашаетесь с нашими\nУсловиями обслуживания | Политикой конфиденциальности'; + + @override + String get personalizationInterruptionTitle => + 'Давайте персонализируем Doctorina для вас'; + + @override + String get personalizationSectionLabel => 'ПЕРСОНАЛИЗАЦИЯ'; + + @override + String get personalizationReasonTitle => 'Что привело вас сюда сегодня?'; + + @override + String get personalizationReasonSymptomsNow => 'У меня сейчас есть симптомы'; + + @override + String get personalizationReasonUnderstandChange => + 'Я хочу понять изменения в здоровье'; + + @override + String get personalizationReasonRuleOutSerious => + 'Я хочу исключить что-то серьезное'; + + @override + String get personalizationReasonMonitoring => + 'Я активно слежу за своим здоровьем'; + + @override + String get continueBtn => 'Продолжить'; + + @override + String get captionEmpathyText => + 'Когда что-то меняется в вашем здоровье, знать, что важно, труднее всего.'; + + @override + String get captionDifferentiatorText => + 'Doctorina фокусируется на паттернах симптомов и времени — тех же сигналах, которые врачи ищут на ранних стадиях.'; + + @override + String get genderTitle => 'Выберите ваш пол'; + + @override + String get genderSubtitle => + 'Это помогает нам более точно интерпретировать симптомы и давать рекомендации'; + + @override + String get genderMale => 'Мужской'; + + @override + String get genderFemale => 'Женский'; + + @override + String get genderPreferNotSay => 'Предпочитаю не говорить'; + + @override + String get ageTitle => 'Сколько вам лет?'; + + @override + String get ageSubtitle => + 'Возраст помогает нам более точно оценивать паттерны здоровья'; + + @override + String get socialProofLargeTitle => + 'Более 48 тыс. человек\nвыбрали Doctorina'; + + @override + String get socialProofDisclaimer => + '*На основе статистики пользователей Doctorina'; + + @override + String get developedByDoctors => 'Разработано\nВрачами'; + + @override + String get quizStepLabel1 => 'ШАГ 1/6'; + + @override + String get quizHealthSituationTitle => + 'Как бы вы описали свое текущее состояние здоровья?'; + + @override + String get quizHealthHealthy => 'Вы в целом чувствуете себя здоровыми'; + + @override + String get quizHealthMinorConcerns => + 'У меня есть постоянные незначительные проблемы'; + + @override + String get quizHealthKnownCondition => + 'Я держу своё заболевание под контролем'; + + @override + String get quizHealthUnresolved => 'Я имею дело с чем-то неразрешенным'; + + @override + String get quizStepLabel2 => 'ШАГ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Как часто вы обычно посещаете врача?'; + + @override + String get quizDoctorVisitRegular => + 'Регулярно (осмотры / контрольные визиты)'; + + @override + String get quizDoctorVisitOccasional => 'Иногда, когда что-то не так'; + + @override + String get quizDoctorVisitRare => 'Редко, только если это необходимо'; + + @override + String get quizDoctorVisitAvoid => 'Избегаете посещения врачей'; + + @override + String get quizDoctorVisitNever => 'Никогда не посещали врача'; + + @override + String get quizStepLabel3 => 'ШАГ 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Какая была ваша самая большая проблема с медицинским обслуживанием до сих пор?'; + + @override + String get quizMultiSelectHint => 'Выбирайте столько, сколько хотите'; + + @override + String get quizChallengeLongWait => 'Долгое время ожидания на прием'; + + @override + String get quizChallengeRushedVisits => 'Визиты кажутся спешными'; + + @override + String get quizChallengeCost => 'Высокая стоимость или неясная цена'; + + @override + String get quizChallengeHardExplain => 'Трудно всё ясно объяснить'; + + @override + String get quizChallengeConflictingAdvice => + 'Противоречивые мнения или советы'; + + @override + String get quizChallengeNone => 'Нет серьезных проблем'; + + @override + String get quizStepLabel4 => 'ШАГ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'После визитов к врачу, насколько вы уверены в том, что вам сказали?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Нет правильного или неправильного ответа'; + + @override + String get quizConfidenceVeryClear => 'Очень ясно, что происходит'; + + @override + String get quizConfidenceSomewhatClear => 'В некоторой степени ясно'; + + @override + String get quizConfidenceStillUncertain => 'Все еще не уверены'; + + @override + String get quizConfidenceMoreConfused => 'Более запутаны, чем раньше'; + + @override + String get captionDiagnosisVsChange => + 'Многие люди сталкиваются c трудностями не после постановки диагноза, а когда симптомы меняются со временем.'; + + @override + String get quizStepLabel5 => 'ШАГ 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Насколько хорошо, по вашему мнению, обычно учитываются ваши беспокойства?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Основываясь на ваших субъективных ощущениях'; + + @override + String get quizConcernsVeryWell => 'Очень хорошо'; + + @override + String get quizConcernsFairlyWell => 'Довольно хорошо'; + + @override + String get quizConcernsNotVeryWell => 'Не очень хорошо'; + + @override + String get quizConcernsVaries => 'Это сильно варьируется'; + + @override + String get quizStepLabel6 => 'ШАГ 6/6'; + + @override + String get quizSelfResearchTitle => + 'Перед визитом к врачу вы обычно пытаетесь разобраться в симптомах самостоятельно?'; + + @override + String get quizSelfResearchYes => 'Да, я исследую и отслеживаю симптомы'; + + @override + String get quizSelfResearchSometimes => 'Иногда'; + + @override + String get quizSelfResearchRarely => 'Редко'; + + @override + String get quizSelfResearchNo => 'Нет, я полностью полагаюсь на специалистов'; + + @override + String get captionAvailabilityTitle => + 'Вопросы о здоровье не зависят от рабочего времени.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina доступна 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Ясность не должна ждать следующей встречи'; + + @override + String get notificationTitle => + 'Хотите, чтобы мы проверяли ваши симптомы здоровья?'; + + @override + String get notificationDescription => + 'Искусственный интеллект может отслеживать ваши симптомы и предупреждать вас, если что-то может потребовать внимания'; + + @override + String get notificationYes => 'Да — следите за моим здоровьем'; + + @override + String get notificationOnlyImportant => + 'Да — только если что-то важное изменится'; + + @override + String get notificationNo => 'Пока не уверен'; + + @override + String get referralSourceTitle => 'Вы слышали о Doctorina от врача?'; + + @override + String get referralSourceYes => 'Да'; + + @override + String get referralSourceNo => 'Нет'; + + @override + String get processingSectionLabel => 'АНАЛИЗ РЕЗУЛЬТАТОВ'; + + @override + String get processingTitle => 'Персонализация вашего опыта'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Неограниченный опыт с Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'ВАШ ПОМОЩНИК, КОТОРЫЙ ВСЕГДА РЯДОМ'; + + @override + String get paywallEnableTrialToggle => + 'Не уверены? Включите бесплатный пробный период.'; + + @override + String get paywallPlanYear => 'Ежегодно'; + + @override + String get paywallPlanMonthly => 'Ежемесячно'; + + @override + String get paywallPlanWeek => 'Еженедельно'; + + @override + String get paywallPlanDaily => 'Ежедневно'; + + @override + String get paywallPlanYearPrice => '39,99 \$ (всего 3,34 \$/неделя)'; + + @override + String get paywallPlanWeekPrice => '3,99 \$'; + + @override + String get paywallSaveBadge => 'СЭКОНОМЬТЕ 58%'; + + @override + String get paywallContinueBtn => 'Продолжить'; + + @override + String get paywallStartTrialBtn => 'Начать бесплатный пробный период'; + + @override + String get paywallSubscriptionDisclaimer => + 'Подписка автоматически продлевается. Отмените в любое время'; + + @override + String get paywallTermsPrivacy => + 'Условия обслуживания | Политика конфиденциальности'; + + @override + String get paywallPerWeek => 'неделя'; + + @override + String get processingLabel => 'Анализируем ваши результаты'; + + @override + String get paywallCloseTooltip => 'Закрыть обучение'; + + @override + String get paywallRestoreTooltip => 'Восстановить покупки'; + + @override + String get paywallRestoreBtn => 'Восстановить'; + + @override + String get paywallRestoreNoneFound => + 'Не найдена активная подписка для восстановления'; + + @override + String get paywallRestoreError => + 'Не удалось восстановить покупки. Пожалуйста, попробуйте позже.'; + + @override + String get paywallPurchaseError => + 'Не удалось завершить покупку. Пожалуйста, попробуйте позже.'; + + @override + String get paywallTrialStep1Title => 'Сегодня: Получите мгновенный доступ'; + + @override + String get paywallTrialStep1Description => + 'Разблокируйте полный доступ, получайте ответы на вопросы о здоровье от ИИ в любое время.'; + + @override + String get paywallTrialStep2Title => 'День 2: Напоминание о триале'; + + @override + String get paywallTrialStep2Description => + 'Мы отправим вам напоминание о том, что ваш пробный период скоро закончится'; + + @override + String get paywallTrialStep3Title => 'День 3: Продление'; + + @override + String paywallTrialStep3Description(String date) { + return 'С вас будет списана сумма $date, отмените в любое время до.'; + } + + @override + String get paywallBenefitsHeader => 'ЧТО ВКЛЮЧЕНО'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Приватно и безопасно'; + + @override + String get paywallBenefitAiAssistant => 'AI-ассистент, 24/7'; + + @override + String get paywallBenefitInstantAnswers => + 'Мгновенные ответы на вопросы о здоровье'; + + @override + String get paywallBenefitScienceInsights => + 'Четкие, научно обоснованные инсайты'; + + @override + String get paywallBenefitAutoSummaries => 'Автоматические резюме разговоров'; + + @override + String get paywallBenefitAnyLanguage => 'Любой язык, в любое время'; + + @override + String get paywallPriceUnitPerWeek => 'в неделю'; + + @override + String get paywallOfferTitle => 'Разовое предложение'; + + @override + String paywallOfferDiscountPercent(int percent) { + return 'СКИДКА $percent%'; + } + + @override + String get paywallOfferForeverBadge => 'НАВСЕГДА'; + + @override + String get paywallOfferDisclaimer => + 'У вас только один шанс воспользоваться этим предложением'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/мес'; + } + + @override + String get paywallOfferLowestPriceBadge => 'САМАЯ НИЗКАЯ ЦЕНА'; + + @override + String get paywallOfferCancelAnytime => 'Отмена в любой момент'; + + @override + String get paywallOfferClaimButton => 'Получить предложение'; + + @override + String get paywallOfferAutoRenewable => 'Автопродляемая подписка'; + + @override + String get paywallGiftBoxTitle => 'Специальный подарок внутри'; + + @override + String get paywallGiftBoxSubtitle => + 'Нажмите, чтобы открыть специальное предложение'; + + @override + String get paywallGiftBoxOpenButton => 'Открыть'; + + @override + String get paywallRetryLoadPricesError => + 'Не удалось загрузить варианты подписки. Пожалуйста, попробуйте позже.'; + + @override + String get paywallPricesUnavailableTitle => + 'Не удалось загрузить цены подписок'; + + @override + String get paywallPricesUnavailableMessage => + 'Проверьте соединение и попробуйте снова.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Попробуйте снова'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_si.dart b/example/lib/src/generated/onboarding/onboarding_localization_si.dart new file mode 100644 index 0000000..51415f8 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_si.dart @@ -0,0 +1,485 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Sinhala Sinhalese (`si`). +class OnboardingLocalizationSi extends OnboardingLocalization { + OnboardingLocalizationSi([String locale = 'si']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'උසස් AI සෞඛ්‍ය සහකාරය'; + + @override + String get welcomeScreenTitle => 'ආයුබෝවන්\nඩොක්ටරිනාවට!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'අත්දැකීම් ඇති වෛද්‍යවරුන්ගේ ආකාරයට ලක්ෂණ විශ්ලේෂණය කිරීමට නිර්මාණය කර ඇත - රටාවන්, කාලය සහ පරිසරය තේරුම් ගනිමින්.'; + + @override + String get getStartedBtn => 'ආරම්භ කරන්න'; + + @override + String get alreadyHaveAccount => + 'ඔබට දැනටමත් ගිණුමක් තිබේද? පිවිසෙන්න'; + + @override + String get termsConsent => + 'ඉදිරියට යාමෙන්, ඔබ අපගේ\nසේවා කොන්දේසි | රහස්‍යතා ප්‍රතිපත්ති ට එකඟ වෙයි'; + + @override + String get personalizationInterruptionTitle => + 'අපි ඔබට Doctorina අභිරුචි කරන්න'; + + @override + String get personalizationSectionLabel => 'පෞද්ගලිකරණය'; + + @override + String get personalizationReasonTitle => 'ඔබට අද මෙහි එන්න හේතුව කුමක්ද?'; + + @override + String get personalizationReasonSymptomsNow => 'මට දැන් ලක්ෂණ තිබේ'; + + @override + String get personalizationReasonUnderstandChange => + 'මට සෞඛ්‍යය වෙනසක් තේරුම් ගන්න ඕනෑ'; + + @override + String get personalizationReasonRuleOutSerious => + 'මට ගැටළුවක් සොයා බැලීමට අවශ්‍යයි'; + + @override + String get personalizationReasonMonitoring => + 'මම මගේ සෞඛ්‍යය ප්‍රතිපත්තිකාරීව නිරීක්ෂණය කරමි'; + + @override + String get continueBtn => 'ඉදිරියට'; + + @override + String get captionEmpathyText => + 'ඔබේ සෞඛ්‍යයෙහි යමක් වෙනස් විය හැකි විට, කුමක් වැදගත්ද යන්න දැන ගැනීම අමාරුයි.'; + + @override + String get captionDifferentiatorText => + 'Doctorina ලක්ෂණ ආකාර සහ කාලය පිළිබඳ අවධානය යොමු කරයි — වෛද්‍යවරුන් ආරම්භයේදී සොයාගන්නා එම සංඥා.'; + + @override + String get genderTitle => 'ඔබගේ ලිංගය තෝරන්න'; + + @override + String get genderSubtitle => + 'මෙය අපට ලක්ෂණ ව්‍යാഖ්‍යාව කිරීමට සහ නිවැරදි නිර්දේශ ලබා දීමට උපකාරී වේ.'; + + @override + String get genderMale => 'පුරුෂ'; + + @override + String get genderFemale => 'කාන්තා'; + + @override + String get genderPreferNotSay => 'කියන්න කැමති නැහැ'; + + @override + String get ageTitle => 'ඔබගේ වයස කීයද?'; + + @override + String get ageSubtitle => 'වයස සෞඛ්‍ය රටා වඩා නිවැරදිව ඇගයීමට අපට උපකාරී වේ.'; + + @override + String get socialProofLargeTitle => + '48k+ කට අධික පුද්ගලයින්\nඩොක්ටරීනාව තෝරා ගෙන ඇත'; + + @override + String get socialProofDisclaimer => '*ඩොක්ටරීනා පරිශීලක පදනම සංඛ්‍යාතය මත'; + + @override + String get developedByDoctors => 'විකසිත කරනු ලැබුවේ\nවෛද්‍යවරුන්'; + + @override + String get quizStepLabel1 => 'පියවර 1/6'; + + @override + String get quizHealthSituationTitle => + 'ඔබගේ වර්තමාන සෞඛ්‍ය තත්ත්වය කෙසේ විස්තර කරනු ඇතද?'; + + @override + String get quizHealthHealthy => 'මට සාමාන්‍යයෙන් සෞඛ්‍යය හොඳයි'; + + @override + String get quizHealthMinorConcerns => 'මට දිගු කාලීන කුඩා ගැටළු ඇත'; + + @override + String get quizHealthKnownCondition => + 'මට දැනටමත් හඳුනාගත් රෝගයක් කළමනාකරණය කරමි'; + + @override + String get quizHealthUnresolved => 'මට විසඳා නොගත් කාරණයක් ඇත'; + + @override + String get quizStepLabel2 => 'පියවර 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'ඔබ සාමාන්‍යයෙන් වෛද්‍යවරයෙකුට කී දුක් විට යන්නෙද?'; + + @override + String get quizDoctorVisitRegular => 'නිතිපතා (පරීක්ෂණ / අනුගමනය)'; + + @override + String get quizDoctorVisitOccasional => 'අවස්ථාමය, කුමක් හෝ වැරදි වුවහොත්'; + + @override + String get quizDoctorVisitRare => 'අඩුම වරක්, අවශ්‍ය නම් පමණක්'; + + @override + String get quizDoctorVisitAvoid => 'වෛද්‍යයන්ට පිවිසීමෙන් වළක්වන්න'; + + @override + String get quizDoctorVisitNever => 'මට කවදාවත් වෛද්‍යවරයෙකුට ගිය නැහැ'; + + @override + String get quizStepLabel3 => 'පියවර 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'ඔබට සෞඛ්‍යය සමඟ දැ bisher ප්‍රධාන අභියෝගය කුමක්ද?'; + + @override + String get quizMultiSelectHint => 'ඔබට කැමති පරිදි තෝරන්න'; + + @override + String get quizChallengeLongWait => 'පැමිණීම් සඳහා දිගු බලාපොරොත්තු කාල'; + + @override + String get quizChallengeRushedVisits => 'සංචාර කාලය ඉක්මනින් යනවා'; + + @override + String get quizChallengeCost => 'ඉහළ වියදම් හෝ පැහැදිලි නොවන මිල'; + + @override + String get quizChallengeHardExplain => + 'සියල්ල පැහැදිලිව පැහැදිලි කිරීමට අපහසුයි'; + + @override + String get quizChallengeConflictingAdvice => 'විරුද්ධ අදහස් හෝ උපදෙස්'; + + @override + String get quizChallengeNone => 'ප්‍රධාන ගැටළු නැත'; + + @override + String get quizStepLabel4 => 'පියවර 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'පරීක්ෂණයන්ට පසු, ඔබට කියා දුන් දේ පිළිබඳ ඔබට කෙසේද විශ්වාසයක් දැනෙන්නේ?'; + + @override + String get quizConfidenceNoRightAnswer => + 'මෙහි නිවැරදි හෝ වැරදි පිළිතුරක් නැත.'; + + @override + String get quizConfidenceVeryClear => 'ඇත්තේ කුමක්දැයි ඉතා පැහැදිලියි'; + + @override + String get quizConfidenceSomewhatClear => 'සමහරක් පැහැදිලි'; + + @override + String get quizConfidenceStillUncertain => 'ආශ්‍රිතයි'; + + @override + String get quizConfidenceMoreConfused => 'ඉතාමත් සංකීර්ණයි'; + + @override + String get captionDiagnosisVsChange => + 'බොහෝ මිනිසුන් වෛද්‍ය වාර්තාවක් ලබා ගැනීමෙන් පසු නොව, ලක්ෂණ වෙනස් වන විට අමාරු වේ.'; + + @override + String get quizStepLabel5 => 'පියවර 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'ඔබේ කණගාටුම් සාමාන්‍යයෙන් කෙසේ හොඳින් සලකා බලනවාද?'; + + @override + String get quizConcernsAddressedSubtitle => 'ඔබේ අත්දැකීම් මත පදනම් වේ'; + + @override + String get quizConcernsVeryWell => 'ඉතා හොඳයි'; + + @override + String get quizConcernsFairlyWell => 'හොඳින්ම'; + + @override + String get quizConcernsNotVeryWell => 'ආසන්නයෙන්ම නැත'; + + @override + String get quizConcernsVaries => 'ඉතා වෙනස් වේ'; + + @override + String get quizStepLabel6 => 'පියවර 6/6'; + + @override + String get quizSelfResearchTitle => + 'ඩොක්ටර්ට යාමට පෙර, ඔබ සාමාන්‍යයෙන් ලක්ෂණ ගැන ඔබටම තේරුම් ගන්න උත්සාහ කරනවාද?'; + + @override + String get quizSelfResearchYes => 'ඔව්, මම පර්යේෂණ කරමි සහ දත්ත අනුගමනය කරමි'; + + @override + String get quizSelfResearchSometimes => 'කෙලෙස'; + + @override + String get quizSelfResearchRarely => 'අඩුම'; + + @override + String get quizSelfResearchNo => + 'නැහැ, මම සම්පූර්ණයෙන්ම වෘත්තීයවේදීන් මත රැඳී සිටිමි'; + + @override + String get captionAvailabilityTitle => + 'සෞඛ්‍ය ප්‍රශ්න කාර්යාල වේලාවන් අනුගමනය නොකරයි.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina සියලු කාලය 24/7 ලබා ගත හැක.'; + + @override + String get captionAvailabilityDescription => + 'සැහැල්ලුව ඊළඟ පත්කිරීම සඳහා බලා සිටිය යුතු නැහැ.'; + + @override + String get notificationTitle => + 'ඔබට අපට ඔබේ සෞඛ්‍ය ලක්ෂණ පිළිබඳව පරීක්ෂා කිරීමට අවසර දිය යුතුද?'; + + @override + String get notificationDescription => + 'AI ඔබේ ලක්ෂණ මනාව නිරීක්ෂණය කරයි සහ කුමක් හෝ අවධානයක් අවශ්‍ය නම් ඔබට දැනුම් දෙයි'; + + @override + String get notificationYes => 'ඔව් — මගේ සෞඛ්‍යය මත නිරීක්ෂණය කරන්න'; + + @override + String get notificationOnlyImportant => + 'ඔව් — වැදගත් වෙනසක් සිදුවන විට පමණක්'; + + @override + String get notificationNo => 'ඉතින් තවමත් විශ්වාස නැහැ'; + + @override + String get referralSourceTitle => + 'ඔබට ඩොක්ටර්ගෙන් ඩොක්ටරීනා ගැන අහන්න ලැබුණාද?'; + + @override + String get referralSourceYes => 'ඔව්'; + + @override + String get referralSourceNo => 'නැහැ'; + + @override + String get processingSectionLabel => 'ඔබේ ප්‍රතිඵල විශ්ලේෂණය කරමින්'; + + @override + String get processingTitle => 'ඔබේ අත්දැකීම පුද්ගලීකරණය කිරීම'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'අසීමිත අත්දැකීම Doctorina Pro සමඟ'; + + @override + String get paywallAssistantTagline => + 'ඔබට සදාකාලිකව ආසන්නයේ සිටින ඔබේ සහකාරයා'; + + @override + String get paywallEnableTrialToggle => + 'ඉතින් තහවුරු කර නැද්ද? නිදහස් පරීක්ෂණය සක්‍රීය කරන්න.'; + + @override + String get paywallPlanYear => 'වාර්ෂික'; + + @override + String get paywallPlanMonthly => 'මාසික'; + + @override + String get paywallPlanWeek => 'සතිපතා'; + + @override + String get paywallPlanDaily => 'දෛනික'; + + @override + String get paywallPlanYearPrice => '\$39.99 (only \$3.34/week)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'සුරකින්න 58%'; + + @override + String get paywallContinueBtn => 'ඉදිරියට'; + + @override + String get paywallStartTrialBtn => 'නිදහස් පරීක්ෂණයක් ආරම්භ කරන්න'; + + @override + String get paywallSubscriptionDisclaimer => + 'අදාළ ගෙවීම් ස්වයං-නවීකරණය වේ. ඕනෑම වේලාවක අවසන් කරන්න'; + + @override + String get paywallTermsPrivacy => + 'සේවා කොන්දේසි | පෞද්ගලිකත්ව ප්‍රතිපත්ති'; + + @override + String get paywallPerWeek => 'සතිය'; + + @override + String get processingLabel => 'ඔබේ ප්‍රතිඵල විශ්ලේෂණය කරමින්'; + + @override + String get paywallCloseTooltip => 'ආරම්භය වසා දැමීම'; + + @override + String get paywallRestoreTooltip => 'මිල ගෙවීම් නැවත ලබා ගන්න'; + + @override + String get paywallRestoreBtn => 'නැවත ලබා ගන්න'; + + @override + String get paywallRestoreNoneFound => + 'නැවත ප්‍රතිසංස්කරණය කිරීමට ක්‍රියාත්මක වශයෙන් සභාපතිත්වයක් නොමැත.'; + + @override + String get paywallRestoreError => + 'මිල ගෙවීම් නැවත ලබා ගැනීමට අසාර්ථකයි. කරුණාකර පසුව නැවත උත්සාහ කරන්න.'; + + @override + String get paywallPurchaseError => + 'මිලදී ගැනීම සම්පූර්ණ කිරීමට අසමත් විය. කරුණාකර පසුව නැවත උත්සාහ කරන්න.'; + + @override + String get paywallTrialStep1Title => 'අද: වහාම ප්‍රවේශය ලබා ගන්න'; + + @override + String get paywallTrialStep1Description => + 'සම්පූර්ණ ප්‍රවේශය අසරණ කරන්න, ඕනෑම වේලාවක AI සෞඛ්‍ය පිළිතුරු ලබා ගන්න.'; + + @override + String get paywallTrialStep2Title => 'දින 2: පරීක්ෂණය මතකයට'; + + @override + String get paywallTrialStep2Description => + 'අපි ඔබට ඔබේ පරීක්ෂණය අවසන් වීමට ආසන්න බව මතකය යවන්නෙමු'; + + @override + String get paywallTrialStep3Title => 'දින 3: නවීකරණය'; + + @override + String paywallTrialStep3Description(String date) { + return '$date දින ඔබට ගාස්තු අය කෙරේ, ඕනෑම වේලාවක අවලංගු කළ හැක.'; + } + + @override + String get paywallBenefitsHeader => 'ඇතුළත් කර ඇති දේ'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'පෞද්ගලික සහ ආරක්ෂිත'; + + @override + String get paywallBenefitAiAssistant => 'ආයුබෝවන් සහායකය, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'තත්කාලික සෞඛ්‍ය පිළිතුරු'; + + @override + String get paywallBenefitScienceInsights => + 'පැහැදිලි, විද්‍යාමය පදනමක් ඇති දැනුම'; + + @override + String get paywallBenefitAutoSummaries => 'ස්වයංක්‍රීය සංවාද සාරාංශ'; + + @override + String get paywallBenefitAnyLanguage => 'ඕනෑම භාෂාවක්, ඕනෑම වේලාවක'; + + @override + String get paywallPriceUnitPerWeek => 'සතියකට'; + + @override + String get paywallOfferTitle => 'එක් වරක් ලබා දෙන යෝජනාව'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% වට්ටම්'; + } + + @override + String get paywallOfferForeverBadge => 'FOREVER'; + + @override + String get paywallOfferDisclaimer => + 'ඔබගේ එක්වරේ යෝජනාව වසා දැමුවහොත්, එය නැති වේ!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/මාසය'; + } + + @override + String get paywallOfferLowestPriceBadge => 'අවම මිල'; + + @override + String get paywallOfferCancelAnytime => 'ඕනෑම වේලාවක අවලංගු කරන්න'; + + @override + String get paywallOfferClaimButton => 'ඔබගේ යෝජනාව ලබා ගන්න'; + + @override + String get paywallOfferAutoRenewable => + 'ස්වයංක්‍රීය නවීකරණය කරන ලද සාමාජිකත්වය'; + + @override + String get paywallGiftBoxTitle => 'විශේෂ තෑග්ගක් ඇතුළේ'; + + @override + String get paywallGiftBoxSubtitle => + 'ඔබේ විශේෂ යෝජනාව හෙළි කිරීමට එක් තට්ටුවක්'; + + @override + String get paywallGiftBoxOpenButton => 'දැන් විවෘත කරන්න'; + + @override + String get paywallRetryLoadPricesError => + 'සබැඳි විකල්ප පූර්ණ කිරීමට අසමත් විය. කරුණාකර පසුව නැවත උත්සාහ කරන්න.'; + + @override + String get paywallPricesUnavailableTitle => 'අභිප්‍රාය මිල ගණන් ලැබිය නොහැක'; + + @override + String get paywallPricesUnavailableMessage => + 'ඔබේ සම්බන්ධතාවය පරීක්ෂා කර නැවත උත්සාහ කරන්න.'; + + @override + String get paywallPricesUnavailableRetryButton => 'යළි උත්සාහ කරන්න'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_sk.dart b/example/lib/src/generated/onboarding/onboarding_localization_sk.dart new file mode 100644 index 0000000..be7fdc5 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_sk.dart @@ -0,0 +1,481 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Slovak (`sk`). +class OnboardingLocalizationSk extends OnboardingLocalization { + OnboardingLocalizationSk([String locale = 'sk']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'POKROČILÝ AI ZDRAVOTNÝ ASISTENT'; + + @override + String get welcomeScreenTitle => 'Vitajte'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Navrhnuté na analýzu symptómov tak, ako to robia skúsení klinici — pochopením vzorcov, načasovania a kontextu.'; + + @override + String get getStartedBtn => 'Začať'; + + @override + String get alreadyHaveAccount => 'Už máte účet? Prihlásiť sa'; + + @override + String get termsConsent => + 'Pokračovaním súhlasíte s našimi\nPodmienkami služby | Zásadami ochrany osobných údajov'; + + @override + String get personalizationInterruptionTitle => + 'Poďme personalizovať Doctorina pre teba'; + + @override + String get personalizationSectionLabel => 'PERSONALIZÁCIA'; + + @override + String get personalizationReasonTitle => 'Čo vás sem dnes priviedlo?'; + + @override + String get personalizationReasonSymptomsNow => 'Momentálne mám príznaky'; + + @override + String get personalizationReasonUnderstandChange => + 'Chcem pochopiť zmenu zdravia'; + + @override + String get personalizationReasonRuleOutSerious => 'Chcem vylúčiť niečo vážne'; + + @override + String get personalizationReasonMonitoring => + 'Svoj zdravotný stav monitorujem proaktívne'; + + @override + String get continueBtn => 'Pokračovať'; + + @override + String get captionEmpathyText => + 'Keď sa niečo zmení vo vašom zdraví, najťažšie je vedieť, čo je dôležité.'; + + @override + String get captionDifferentiatorText => + 'Doctorina sa zameriava na vzory symptómov a ich časovanie — rovnaké signály, ktoré lekári hľadajú už na začiatku.'; + + @override + String get genderTitle => 'Vyberte svoje pohlavie'; + + @override + String get genderSubtitle => + 'To nám pomáha presnejšie interpretovať symptómy a poskytovať odporúčania.'; + + @override + String get genderMale => 'Muž'; + + @override + String get genderFemale => 'Žena'; + + @override + String get genderPreferNotSay => 'Radšej nehovoriť'; + + @override + String get ageTitle => 'Aký je váš vek?'; + + @override + String get ageSubtitle => + 'Vek nám pomáha presnejšie hodnotiť zdravotné vzorce'; + + @override + String get socialProofLargeTitle => + 'Viac ako 48k+ ľudí\nsi vybralo Doctorina'; + + @override + String get socialProofDisclaimer => + '*Na základe štatistík používateľskej základne Doctorina'; + + @override + String get developedByDoctors => 'Vyvinuté od\nlekárov'; + + @override + String get quizStepLabel1 => 'KROK 1/6'; + + @override + String get quizHealthSituationTitle => + 'Ako by ste opísali svoju aktuálnu zdravotnú situáciu?'; + + @override + String get quizHealthHealthy => 'Celkovo sa cítim zdravo'; + + @override + String get quizHealthMinorConcerns => 'Mám pretrvávajúce menšie obavy'; + + @override + String get quizHealthKnownCondition => 'Riadim známu podmienku'; + + @override + String get quizHealthUnresolved => 'Riešim niečo nevyriešené'; + + @override + String get quizStepLabel2 => 'KROK 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Ako často zvyčajne navštevujete lekára?'; + + @override + String get quizDoctorVisitRegular => 'Pravidelne (prehliadky / sledovania)'; + + @override + String get quizDoctorVisitOccasional => 'Občas, keď je niečo zlé'; + + @override + String get quizDoctorVisitRare => 'Zriedka, len ak je to potrebné'; + + @override + String get quizDoctorVisitAvoid => 'Vyhýbate sa návšteve lekárov'; + + @override + String get quizDoctorVisitNever => 'Nikdy som nenavštívil lekára'; + + @override + String get quizStepLabel3 => 'KROK 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Aká bola vaša najväčšia výzva v oblasti zdravotnej starostlivosti doteraz?'; + + @override + String get quizMultiSelectHint => 'Vyberte si, koľko chcete'; + + @override + String get quizChallengeLongWait => 'Dlhé čakacie doby na termíny'; + + @override + String get quizChallengeRushedVisits => 'Návštevy sa zdajú byť uponáhľané'; + + @override + String get quizChallengeCost => 'Vysoké náklady alebo nejasné ceny'; + + @override + String get quizChallengeHardExplain => 'Ťažko všetko jasne vysvetliť'; + + @override + String get quizChallengeConflictingAdvice => 'Konfliktné názory alebo rady'; + + @override + String get quizChallengeNone => 'Žiadne vážne problémy'; + + @override + String get quizStepLabel4 => 'KROK 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Po návštevách, ako si istý, čo ti bolo povedané?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Nie je správna ani nesprávna odpoveď'; + + @override + String get quizConfidenceVeryClear => 'Veľmi jasné, čo sa deje'; + + @override + String get quizConfidenceSomewhatClear => 'Troch jasné'; + + @override + String get quizConfidenceStillUncertain => 'Stále neistý'; + + @override + String get quizConfidenceMoreConfused => 'Viac zmätený ako predtým'; + + @override + String get captionDiagnosisVsChange => + 'Mnohí ľudia bojujú nie po diagnóze , ale keď sa symptómy časom menia.'; + + @override + String get quizStepLabel5 => 'KROK 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Ako dobre sa zvyčajne cítite, že sú vaše obavy riešené?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Na základe vašich subjektívnych pocitov'; + + @override + String get quizConcernsVeryWell => 'Veľmi dobre'; + + @override + String get quizConcernsFairlyWell => 'Celkom dobre'; + + @override + String get quizConcernsNotVeryWell => 'Nie veľmi dobre'; + + @override + String get quizConcernsVaries => 'Veľa sa to líši'; + + @override + String get quizStepLabel6 => 'KROK 6/6'; + + @override + String get quizSelfResearchTitle => + 'Zvyčajne sa snažíte pochopiť symptómy sami pred návštevou lekára?'; + + @override + String get quizSelfResearchYes => 'Áno, skúmam a sledujem veci'; + + @override + String get quizSelfResearchSometimes => 'Niekedy'; + + @override + String get quizSelfResearchRarely => 'Zriedka'; + + @override + String get quizSelfResearchNo => 'Nie, úplne sa spolieham na odborníkov'; + + @override + String get captionAvailabilityTitle => + 'Zdravotné otázky následovať úradné hodiny.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina je k dispozícii 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Jasnosť by nemala čakať na ďalšiu schôdzku'; + + @override + String get notificationTitle => + 'Chcete, aby sme sa zaujímali o vaše zdravotné symptómy?'; + + @override + String get notificationDescription => + 'AI môže monitorovať vaše symptómy a upozorniť vás, ak by niečo mohlo potrebovať pozornosť'; + + @override + String get notificationYes => 'Áno — sledujte moje zdravie'; + + @override + String get notificationOnlyImportant => + 'Áno — len ak sa niečo dôležité zmení'; + + @override + String get notificationNo => 'Ešte nie som si istý'; + + @override + String get referralSourceTitle => 'Počuli ste o Doctorine od lekára?'; + + @override + String get referralSourceYes => 'Áno'; + + @override + String get referralSourceNo => 'Nie'; + + @override + String get processingSectionLabel => 'ANALYZUJEM VAŠE VÝSLEDKY'; + + @override + String get processingTitle => 'Personalizácia vašej skúsenosti'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Neobmedzený zážitok s Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'VÁŠ ASISTENT, KTORÝ JE VŽDY BLÍZKO'; + + @override + String get paywallEnableTrialToggle => + 'Nie ste si ešte istí? Aktivujte bezplatnú skúšobnú verziu.'; + + @override + String get paywallPlanYear => 'Ročný'; + + @override + String get paywallPlanMonthly => 'Mesačne'; + + @override + String get paywallPlanWeek => 'Týždenný'; + + @override + String get paywallPlanDaily => 'Denný'; + + @override + String get paywallPlanYearPrice => '39,99 \$ (iba 3,34 \$/týždeň)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'UŠETRITE 58%'; + + @override + String get paywallContinueBtn => 'Pokračovať'; + + @override + String get paywallStartTrialBtn => 'Začať bezplatnú skúšobnú verziu'; + + @override + String get paywallSubscriptionDisclaimer => + 'Predplatné sa automaticky obnovuje. Zrušiť môžete kedykoľvek'; + + @override + String get paywallTermsPrivacy => + 'Podmienky služby | Zásady ochrany osobných údajov'; + + @override + String get paywallPerWeek => 'týždeň'; + + @override + String get processingLabel => 'Analyzujem vaše výsledky'; + + @override + String get paywallCloseTooltip => 'Zavrieť onboarding'; + + @override + String get paywallRestoreTooltip => 'Obnoviť nákupy'; + + @override + String get paywallRestoreBtn => 'Obnoviť'; + + @override + String get paywallRestoreNoneFound => + 'Nenašiel sa žiadny aktívny predplatný na obnovenie.'; + + @override + String get paywallRestoreError => + 'Obnovenie nákupov sa nepodarilo. Skúste to prosím neskôr.'; + + @override + String get paywallPurchaseError => + 'Nákup sa nepodarilo dokončiť. Skúste to prosím znova neskôr.'; + + @override + String get paywallTrialStep1Title => 'Dnes: Získajte okamžitý prístup'; + + @override + String get paywallTrialStep1Description => + 'Odomknite plný prístup, získajte odpovede na otázky o zdraví od AI, kedykoľvek.'; + + @override + String get paywallTrialStep2Title => 'Deň 2: Pripomienka na skúšku'; + + @override + String get paywallTrialStep2Description => + 'Pošleme vám pripomienku, že vaša skúšobná verzia sa chystá skončiť'; + + @override + String get paywallTrialStep3Title => 'Deň 3: Obnovenie'; + + @override + String paywallTrialStep3Description(String date) { + return 'Budete účtovaní dňa $date, zrušte kedykoľvek predtým.'; + } + + @override + String get paywallBenefitsHeader => 'Čo je zahrnuté'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Súkromné a bezpečné'; + + @override + String get paywallBenefitAiAssistant => 'AI asistent, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Okamžité zdravotné odpovede'; + + @override + String get paywallBenefitScienceInsights => + 'Jasné, vedecky podložené poznatky'; + + @override + String get paywallBenefitAutoSummaries => 'Automatické zhrnutia rozhovorov'; + + @override + String get paywallBenefitAnyLanguage => 'Akýkoľvek jazyk, kedykoľvek'; + + @override + String get paywallPriceUnitPerWeek => 'za týždeň'; + + @override + String get paywallOfferTitle => 'Jednorazová ponuka'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ZĽAVA'; + } + + @override + String get paywallOfferForeverBadge => 'FOREVER'; + + @override + String get paywallOfferDisclaimer => + 'Keď zatvoríte svoju jednorazovú ponuku, je preč!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mes'; + } + + @override + String get paywallOfferLowestPriceBadge => 'LOWEST PRICE EVER'; + + @override + String get paywallOfferCancelAnytime => 'Zrušiť kedykoľvek'; + + @override + String get paywallOfferClaimButton => 'Uplatnite svoju ponuku'; + + @override + String get paywallOfferAutoRenewable => 'Automatické obnovenie predplatného'; + + @override + String get paywallGiftBoxTitle => 'Špeciálny darček vo vnútri'; + + @override + String get paywallGiftBoxSubtitle => + 'Jedno ťuknutie na odhalenie vašej špeciálnej ponuky'; + + @override + String get paywallGiftBoxOpenButton => 'Otvor teraz'; + + @override + String get paywallRetryLoadPricesError => + 'Nepodarilo sa načítať možnosti predplatného. Skúste to prosím neskôr.'; + + @override + String get paywallPricesUnavailableTitle => + 'Nedalo sa načítať ceny predplatného'; + + @override + String get paywallPricesUnavailableMessage => + 'Skontrolujte svoje pripojenie a skúste to znova.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Skúste znova'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_sw.dart b/example/lib/src/generated/onboarding/onboarding_localization_sw.dart new file mode 100644 index 0000000..84f823b --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_sw.dart @@ -0,0 +1,484 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Swahili (`sw`). +class OnboardingLocalizationSw extends OnboardingLocalization { + OnboardingLocalizationSw([String locale = 'sw']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'Msaidizi wa Afya wa AI wa Juu'; + + @override + String get welcomeScreenTitle => 'Karibu'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Imeundwa kuchambua dalili kama madaktari wenye uzoefu — kwa kuelewa mifumo, muda, na muktadha.'; + + @override + String get getStartedBtn => 'Anza'; + + @override + String get alreadyHaveAccount => + 'Je, una akaunti tayari? Ingiza'; + + @override + String get termsConsent => + 'Kwa kuendelea, unakubali Masharti ya Huduma | Sera ya Faragha wetu'; + + @override + String get personalizationInterruptionTitle => + 'Tufanye kuwa wa kibinafsi Doctorina kwa ajili yako'; + + @override + String get personalizationSectionLabel => 'BINA YA MTUMIAJI'; + + @override + String get personalizationReasonTitle => 'Nini kinakuletea hapa leo?'; + + @override + String get personalizationReasonSymptomsNow => 'Ninapata dalili sasa'; + + @override + String get personalizationReasonUnderstandChange => + 'Nataka kuelewa mabadiliko ya afya'; + + @override + String get personalizationReasonRuleOutSerious => + 'Nataka kuondoa kitu cha maana'; + + @override + String get personalizationReasonMonitoring => + 'Ninamonitor afya yangu kwa njia ya proaktifu'; + + @override + String get continueBtn => 'Endelea'; + + @override + String get captionEmpathyText => + 'Wakati kitu kinabadilika katika afya yako, kujua kinachohusika ni kigumu zaidi.'; + + @override + String get captionDifferentiatorText => + 'Doctorina inazingatia mifumo ya dalili na wakati — ishara zile zile ambazo madaktari wanatafuta mapema.'; + + @override + String get genderTitle => 'Chagua jinsia yako'; + + @override + String get genderSubtitle => + 'Hii inatusaidia kutafsiri dalili na kutoa mapendekezo kwa usahihi zaidi'; + + @override + String get genderMale => 'Mwanaume'; + + @override + String get genderFemale => 'Mwanamke'; + + @override + String get genderPreferNotSay => 'Ningependa kutosema'; + + @override + String get ageTitle => 'Ni miaka mingapi?'; + + @override + String get ageSubtitle => + 'Umri hutusaidia kutathmini mifumo ya afya kwa usahihi zaidi.'; + + @override + String get socialProofLargeTitle => + 'Zaidi ya watu 48k+\nwamechagua Doctorina'; + + @override + String get socialProofDisclaimer => + '*Kulingana na takwimu za msingi wa watumiaji wa Doctorina'; + + @override + String get developedByDoctors => 'Imetengenezwa na\nMadaktari'; + + @override + String get quizStepLabel1 => 'HATUA 1/6'; + + @override + String get quizHealthSituationTitle => + 'Ungependa vipi hali yako ya afya kwa sasa?'; + + @override + String get quizHealthHealthy => 'Kwa ujumla najihisi mzima'; + + @override + String get quizHealthMinorConcerns => 'Nina wasiwasi mdogo unaoendelea'; + + @override + String get quizHealthKnownCondition => 'Ninashughulikia hali inayojulikana'; + + @override + String get quizHealthUnresolved => + 'Ninashughulika na jambo lisilo na ufumbuzi'; + + @override + String get quizStepLabel2 => 'STEP 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Unakutana na daktari mara ngapi kwa kawaida?'; + + @override + String get quizDoctorVisitRegular => 'Kawaida (uchunguzi / ufuatiliaji)'; + + @override + String get quizDoctorVisitOccasional => + 'Wakati mwingine, wakati kuna kitu kibaya'; + + @override + String get quizDoctorVisitRare => 'Nadhif, tu ikiwa ni lazima'; + + @override + String get quizDoctorVisitAvoid => 'Epuka kutembelea madaktari'; + + @override + String get quizDoctorVisitNever => 'Sijawahi kutembelea daktari'; + + @override + String get quizStepLabel3 => 'STEP 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Ni changamoto gani kubwa zaidi umekutana nayo katika huduma za afya hadi sasa?'; + + @override + String get quizMultiSelectHint => 'Chagua kadri unavyotaka'; + + @override + String get quizChallengeLongWait => 'Muda mrefu wa kusubiri kwa miadi'; + + @override + String get quizChallengeRushedVisits => 'Ziara zinaonekana kuwa za haraka'; + + @override + String get quizChallengeCost => 'Gharama kubwa au bei isiyoeleweka'; + + @override + String get quizChallengeHardExplain => + 'Ni vigumu kueleza kila kitu kwa uwazi'; + + @override + String get quizChallengeConflictingAdvice => 'Maoni au ushauri unaopingana'; + + @override + String get quizChallengeNone => 'Hakuna matatizo makubwa'; + + @override + String get quizStepLabel4 => 'STEP 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Baada ya miadi, unajisikiaje kuhusu kile ulichosema?'; + + @override + String get quizConfidenceNoRightAnswer => 'Hakuna jibu sahihi au la'; + + @override + String get quizConfidenceVeryClear => 'Niko wazi kuhusu kinachoendelea'; + + @override + String get quizConfidenceSomewhatClear => 'Kidogo wazi'; + + @override + String get quizConfidenceStillUncertain => 'Bado si wazi'; + + @override + String get quizConfidenceMoreConfused => 'Zaidi ya kuch kabla'; + + @override + String get captionDiagnosisVsChange => + 'Watu wengi wanakumbana na shida si baada ya utambuzi bali wakati dalili zinabadilika kwa muda.'; + + @override + String get quizStepLabel5 => 'STEP 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Unajisikiaje kuhusu jinsi wasiwasi wako unavyoshughulikiwa?'; + + @override + String get quizConcernsAddressedSubtitle => 'Kulingana na hisia zako binafsi'; + + @override + String get quizConcernsVeryWell => 'Vizuri'; + + @override + String get quizConcernsFairlyWell => 'Vizuri kidogo'; + + @override + String get quizConcernsNotVeryWell => 'Sijafanya vizuri'; + + @override + String get quizConcernsVaries => 'Inatofautiana sana'; + + @override + String get quizStepLabel6 => 'STEP 6/6'; + + @override + String get quizSelfResearchTitle => + 'Kabla ya kumuona daktari, je, kawaida unajaribu kuelewa dalili mwenyewe?'; + + @override + String get quizSelfResearchYes => 'Ndio, ninatafuta na kufuatilia mambo'; + + @override + String get quizSelfResearchSometimes => 'Wakati mwingine'; + + @override + String get quizSelfResearchRarely => 'Nadhara'; + + @override + String get quizSelfResearchNo => 'Hapana, nategemea kabisa wataalamu'; + + @override + String get captionAvailabilityTitle => + 'Maswali ya afya hayafuati masaa ya ofisi.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina inapatikana 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Uwazi haupaswi kusubiri hadi kuteuliwa kwa pili.'; + + @override + String get notificationTitle => 'Je, unataka tuangalie dalili zako za afya?'; + + @override + String get notificationDescription => + 'AI inaweza kufuatilia dalili zako na kukujulisha ikiwa kuna kitu kinachohitaji umakini'; + + @override + String get notificationYes => 'Ndio — fuatilia afya yangu'; + + @override + String get notificationOnlyImportant => + 'Ndio — tu ikiwa kuna mabadiliko muhimu'; + + @override + String get notificationNo => 'Sijajua bado'; + + @override + String get referralSourceTitle => + 'Je, umesikia kuhusu Doctorina kutoka kwa daktari?'; + + @override + String get referralSourceYes => 'Ndio'; + + @override + String get referralSourceNo => 'Hapana'; + + @override + String get processingSectionLabel => 'KUCHAMBUA MATOKEO YAKO'; + + @override + String get processingTitle => 'Kuboresha uzoefu wako'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Uzoefu usio na mipaka na Doctorina Pro'; + + @override + String get paywallAssistantTagline => + 'ASSISTANT WAKO AMBAE YUKO KARIBU DAIMA'; + + @override + String get paywallEnableTrialToggle => 'Hujui bado? Washa jaribio la bure.'; + + @override + String get paywallPlanYear => 'Mwaka'; + + @override + String get paywallPlanMonthly => 'Kila mwezi'; + + @override + String get paywallPlanWeek => 'Wiki'; + + @override + String get paywallPlanDaily => 'Kila siku'; + + @override + String get paywallPlanYearPrice => '\$39.99 (tu \$3.34/kwanza)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'Hifadhi 58%'; + + @override + String get paywallContinueBtn => 'Endelea'; + + @override + String get paywallStartTrialBtn => 'Anza majaribio ya bure'; + + @override + String get paywallSubscriptionDisclaimer => + 'Usajili unajirudia kiotomatiki. Ghairi wakati wowote'; + + @override + String get paywallTermsPrivacy => + 'Masharti ya Huduma | Sera ya Faragha'; + + @override + String get paywallPerWeek => 'wiki'; + + @override + String get processingLabel => 'Inachambua matokeo yako'; + + @override + String get paywallCloseTooltip => 'Funga kuanzisha'; + + @override + String get paywallRestoreTooltip => 'Rejesha Ununuzi'; + + @override + String get paywallRestoreBtn => 'Rejesha'; + + @override + String get paywallRestoreNoneFound => + 'Hakuna usajili wa kazi uliopatikana ili kurejesha.'; + + @override + String get paywallRestoreError => + 'Imeshindikana kurejesha ununuzi. Tafadhali jaribu tena baadaye.'; + + @override + String get paywallPurchaseError => + 'Imeshindikana kukamilisha ununuzi. Tafadhali jaribu tena baadaye.'; + + @override + String get paywallTrialStep1Title => 'Leo: Pata ufikiaji wa haraka'; + + @override + String get paywallTrialStep1Description => + 'Fungua ufikiaji kamili, pata majibu ya afya ya AI, wakati wowote.'; + + @override + String get paywallTrialStep2Title => 'Siku ya 2: Kumbusho la majaribio'; + + @override + String get paywallTrialStep2Description => + 'Tutakasa ujumbe wa kukukumbusha kwamba majaribio yako yanakaribia kumalizika'; + + @override + String get paywallTrialStep3Title => 'Siku ya 3: Upya'; + + @override + String paywallTrialStep3Description(String date) { + return 'Utatozwa tarehe $date, ghairi wakati wowote kabla.'; + } + + @override + String get paywallBenefitsHeader => 'NINI KILICHOMO?'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Binafsi na salama'; + + @override + String get paywallBenefitAiAssistant => 'Msaidizi wa AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Majibu ya afya ya haraka'; + + @override + String get paywallBenefitScienceInsights => + 'Mawasiliano wazi, yanayotokana na sayansi'; + + @override + String get paywallBenefitAutoSummaries => + 'Muhtasari wa mazungumzo ya otomatiki'; + + @override + String get paywallBenefitAnyLanguage => 'Lugha yoyote, wakati wowote'; + + @override + String get paywallPriceUnitPerWeek => 'kwa wiki'; + + @override + String get paywallOfferTitle => 'Ofa ya mara moja'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% OFF'; + } + + @override + String get paywallOfferForeverBadge => 'DAIMA'; + + @override + String get paywallOfferDisclaimer => + 'Unapofunga ofa yako ya mara moja, imepotea!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mwezi'; + } + + @override + String get paywallOfferLowestPriceBadge => 'BEI YA CHINI ZAIDI'; + + @override + String get paywallOfferCancelAnytime => 'Ghairi wakati wowote'; + + @override + String get paywallOfferClaimButton => 'Dai ofa yako'; + + @override + String get paywallOfferAutoRenewable => 'Usajili unaoendelea kiotomatiki'; + + @override + String get paywallGiftBoxTitle => 'Zawadi maalum ndani'; + + @override + String get paywallGiftBoxSubtitle => + 'Gusa kwa kugusa kufichua ofa yako maalum'; + + @override + String get paywallGiftBoxOpenButton => 'Fungua sasa'; + + @override + String get paywallRetryLoadPricesError => + 'Imeshindikana kupakia chaguzi za usajili. Tafadhali jaribu tena baadaye.'; + + @override + String get paywallPricesUnavailableTitle => 'Haiwezi kupakia bei za usajili'; + + @override + String get paywallPricesUnavailableMessage => + 'Angalia muunganisho wako na ujaribu tena.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Jaribu tena'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ta.dart b/example/lib/src/generated/onboarding/onboarding_localization_ta.dart new file mode 100644 index 0000000..3ed1045 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ta.dart @@ -0,0 +1,495 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tamil (`ta`). +class OnboardingLocalizationTa extends OnboardingLocalization { + OnboardingLocalizationTa([String locale = 'ta']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'மேம்பட்ட AI சுகாதார உதவியாளர்'; + + @override + String get welcomeScreenTitle => 'வரவேற்கிறேன்'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'அனுபவமிக்க மருத்துவர்கள் போல அறிகுறிகளை பகுப்பாய்வு செய்ய வடிவமைக்கப்பட்டுள்ளது - மாதிரிகள், நேரம் மற்றும் சூழலைப் புரிந்து கொண்டு.'; + + @override + String get getStartedBtn => 'தொடங்குங்கள்'; + + @override + String get alreadyHaveAccount => + 'ஏற்கனவே கணக்கு உள்ளதா? உள்நுழையவும்'; + + @override + String get termsConsent => + 'தொடர்வதன் மூலம், நீங்கள் எங்கள் சேவைகள் விதிமுறைகள் | தனியுரிமை கொள்கை உடன் ஒப்புக்கொள்கிறீர்கள்'; + + @override + String get personalizationInterruptionTitle => + 'நாம் தனிப்பயனாக்கலாம் Doctorina உங்களுக்காக'; + + @override + String get personalizationSectionLabel => 'தனிப்பட்ட'; + + @override + String get personalizationReasonTitle => + 'நீங்கள் இன்று இங்கு ஏன் வந்தீர்கள்?'; + + @override + String get personalizationReasonSymptomsNow => + 'நான் இப்போது அறிகுறிகளை அனுபவிக்கிறேன்'; + + @override + String get personalizationReasonUnderstandChange => + 'நான் ஒரு உடல்நிலை மாற்றத்தை புரிந்துகொள்ள விரும்புகிறேன்'; + + @override + String get personalizationReasonRuleOutSerious => + 'நான் ஒரு முக்கியமானதை தவிர்க்க விரும்புகிறேன்'; + + @override + String get personalizationReasonMonitoring => + 'நான் என் ஆரோக்கியத்தை முன்னெச்சரிக்கையாக கண்காணிக்கிறேன்'; + + @override + String get continueBtn => 'தொடர்க'; + + @override + String get captionEmpathyText => + 'உங்கள் உடல்நிலையிலே ஏதாவது மாற்றம் ஏற்பட்டால், என்ன முக்கியம் என்பதை அறிதல் மிகவும் கடினமாக இருக்கும்.'; + + @override + String get captionDifferentiatorText => + 'Doctorina அறிகுறி மாதிரிகள் மற்றும் நேரத்தை மையமாகக் கொண்டு செயல்படுகிறது — மருத்துவர்கள் ஆரம்பத்தில் தேடும் அதே சிக்னல்கள்.'; + + @override + String get genderTitle => 'உங்கள் பாலினத்தை தேர்ந்தெடுக்கவும்'; + + @override + String get genderSubtitle => + 'இது எங்களுக்கு அறிகுறிகளை விளக்கவும், பரிந்துரைகளை மேலும் துல்லியமாக வழங்கவும் உதவுகிறது'; + + @override + String get genderMale => 'ஆண்'; + + @override + String get genderFemale => 'பெண்'; + + @override + String get genderPreferNotSay => 'சொல்ல விரும்பவில்லை'; + + @override + String get ageTitle => 'உங்கள் வயது என்ன?'; + + @override + String get ageSubtitle => + 'வயது நமக்கு ஆரோக்கியத்தின் மாதிரிகளை மேலும் துல்லியமாக மதிப்பீடு செய்ய உதவுகிறது.'; + + @override + String get socialProofLargeTitle => + '48k+ பேர்\nDoctorina-ஐ தேர்ந்தெடுத்துள்ளனர்'; + + @override + String get socialProofDisclaimer => + '*டாக்டரினா பயனர் அடிப்படைக் கணக்கீடுகள் அடிப்படையில்'; + + @override + String get developedByDoctors => 'வளர்த்தது\nமருத்துவர்கள்'; + + @override + String get quizStepLabel1 => 'அடுக்கு 1/6'; + + @override + String get quizHealthSituationTitle => + 'நீங்கள் உங்கள் தற்போதைய உடல்நிலையை எவ்வாறு விவரிக்கிறீர்கள்?'; + + @override + String get quizHealthHealthy => 'நான் பொதுவாக ஆரோக்கியமாக உணர்கிறேன்'; + + @override + String get quizHealthMinorConcerns => 'எனக்கு தொடர்ந்த சிறிய கவலைகள் உள்ளன'; + + @override + String get quizHealthKnownCondition => + 'நான் ஒரு அறியப்பட்ட நிலையை நிர்வகிக்கிறேன்'; + + @override + String get quizHealthUnresolved => 'நான் தீர்க்கப்படாத ஒன்றை கையாள்கிறேன்'; + + @override + String get quizStepLabel2 => 'படி 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'நீங்கள் பொதுவாக எப்போது மருத்துவரை சந்திக்கிறீர்கள்?'; + + @override + String get quizDoctorVisitRegular => 'இயல்பாக (சோதனைகள் / தொடர்ச்சிகள்)'; + + @override + String get quizDoctorVisitOccasional => + 'எப்போது வேண்டுமானாலும், ஏதாவது தவறு இருந்தால்'; + + @override + String get quizDoctorVisitRare => 'அரிதாக, தேவையான போது மட்டும்'; + + @override + String get quizDoctorVisitAvoid => 'மருத்துவர்களிடம் செல்ல விரும்பவில்லை'; + + @override + String get quizDoctorVisitNever => 'நான் ஒருபோதும் மருத்துவரை சந்திக்கவில்லை'; + + @override + String get quizStepLabel3 => 'படி 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'உங்களுக்கு இதுவரை சுகாதாரத்தில் ஏற்பட்ட மிகப்பெரிய சவால் என்ன?'; + + @override + String get quizMultiSelectHint => + 'நீங்கள் விரும்பிய அளவுக்கு தேர்வு செய்யவும்'; + + @override + String get quizChallengeLongWait => + 'முகாமை நேரங்களுக்கு நீண்ட காத்திருப்பு நேரங்கள்'; + + @override + String get quizChallengeRushedVisits => 'சுற்றுகள் விரைந்து போகின்றன'; + + @override + String get quizChallengeCost => 'உயர்ந்த செலவோ அல்லது தெளிவற்ற விலையோ'; + + @override + String get quizChallengeHardExplain => + 'எல்லாவற்றையும் தெளிவாக விளக்குவது கடினம்'; + + @override + String get quizChallengeConflictingAdvice => + 'மோதிக்கும் கருத்துகள் அல்லது ஆலோசனைகள்'; + + @override + String get quizChallengeNone => 'முக்கிய பிரச்சினைகள் இல்லை'; + + @override + String get quizStepLabel4 => 'படி 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'மருத்துவர் சந்திப்புகளுக்குப் பிறகு, நீங்கள் கூறியதைப் பற்றி நீங்கள் எவ்வளவு நம்பிக்கை உள்ளீர்கள்?'; + + @override + String get quizConfidenceNoRightAnswer => 'சரியான அல்லது தவறான பதில் இல்லை'; + + @override + String get quizConfidenceVeryClear => + 'என்ன நடக்கிறது என்பதை மிகவும் தெளிவாகப் புரிந்துள்ளேன்'; + + @override + String get quizConfidenceSomewhatClear => 'சில அளவுக்கு தெளிவாக'; + + @override + String get quizConfidenceStillUncertain => 'இன்னும் உறுதியாக இல்லை'; + + @override + String get quizConfidenceMoreConfused => 'முந்தையதைவிட அதிகமாக குழப்பமாக'; + + @override + String get captionDiagnosisVsChange => + 'பல மக்கள் நோயறிதலுக்குப் பிறகு அல்ல, ஆனால் அறிகுறிகள் காலத்துடன் மாறும் போது சிரமங்களை எதிர்கொள்கிறார்கள்.'; + + @override + String get quizStepLabel5 => 'படி 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'உங்கள் கவலைகள் பொதுவாக எவ்வாறு கையாளப்படுகிறதென நீங்கள் உணர்கிறீர்கள்?'; + + @override + String get quizConcernsAddressedSubtitle => + 'உங்கள் தனிப்பட்ட உணர்வுகளின் அடிப்படையில்'; + + @override + String get quizConcernsVeryWell => 'மிகவும் நல்லது'; + + @override + String get quizConcernsFairlyWell => 'சரியாகவே'; + + @override + String get quizConcernsNotVeryWell => 'சிறப்பாக இல்லை'; + + @override + String get quizConcernsVaries => 'இது மிகவும் மாறுபடுகிறது'; + + @override + String get quizStepLabel6 => 'STEP 6/6'; + + @override + String get quizSelfResearchTitle => + 'ஒரு மருத்துவரை சந்திக்குமுன், நீங்கள் பொதுவாக உங்கள் அறிகுறிகளை நீங்கள் சொந்தமாகப் புரிந்துகொள்ள முயற்சிக்கிறீர்களா?'; + + @override + String get quizSelfResearchYes => + 'ஆம், நான் ஆராய்ச்சி செய்கிறேன் மற்றும் விஷயங்களை கண்காணிக்கிறேன்'; + + @override + String get quizSelfResearchSometimes => 'சில சமயங்களில்'; + + @override + String get quizSelfResearchRarely => 'அரிதாக'; + + @override + String get quizSelfResearchNo => + 'இல்லை, நான் முற்றிலும் தொழில்முனைவோர்களை நம்புகிறேன்'; + + @override + String get captionAvailabilityTitle => + 'ஆரோக்கிய கேள்விகள் அலுவலக நேரங்களை பின்பற்றவில்லை.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 24/7 கிடைக்கிறது.'; + + @override + String get captionAvailabilityDescription => + 'தெளிவுக்கு அடுத்த சந்திப்புக்காக காத்திருக்க வேண்டாம்.'; + + @override + String get notificationTitle => + 'நாங்கள் உங்கள் உடல்நிலை அறிகுறிகளைப் பற்றிய தகவல்களைச் சரிபார்க்க வேண்டுமா?'; + + @override + String get notificationDescription => + 'ஏ.ஐ. உங்கள் அறிகுறிகளை கண்காணித்து, கவனிக்க வேண்டிய ஏதாவது இருந்தால் உங்களை எச்சரிக்க செய்யலாம்'; + + @override + String get notificationYes => 'ஆம் — என் ஆரோக்கியத்தை கவனிக்கவும்'; + + @override + String get notificationOnlyImportant => + 'ஆம் — முக்கியமான மாற்றங்கள் ஏற்பட்டால் மட்டுமே'; + + @override + String get notificationNo => 'இன்னும் உறுதியாக இல்லை'; + + @override + String get referralSourceTitle => + 'நீங்கள் மருத்துவரிடமிருந்து டாக்டரினா பற்றி கேட்டீர்களா?'; + + @override + String get referralSourceYes => 'ஆம்'; + + @override + String get referralSourceNo => 'இல்லை'; + + @override + String get processingSectionLabel => + 'உங்கள் முடிவுகளை பகுப்பாய்வு செய்கிறோம்'; + + @override + String get processingTitle => 'உங்கள் அனுபவத்தை தனிப்பயனாக்குதல்'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Doctorina Pro உடன் எல்லைமீறும் அனுபவம்'; + + @override + String get paywallAssistantTagline => + 'எப்போதும் அருகில் உள்ள உங்கள் உதவியாளர்'; + + @override + String get paywallEnableTrialToggle => + 'இன்னும் உறுதியாக இல்லைவா? இலவச சோதனை இயக்கவும்.'; + + @override + String get paywallPlanYear => 'வருடாந்திர'; + + @override + String get paywallPlanMonthly => 'மாதாந்திரம்'; + + @override + String get paywallPlanWeek => 'வாராந்திர'; + + @override + String get paywallPlanDaily => 'தினசரி'; + + @override + String get paywallPlanYearPrice => '\$39.99 (மட்டும் \$3.34/வாரம்)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => '58% சேமிக்கவும்'; + + @override + String get paywallContinueBtn => 'தொடர்க'; + + @override + String get paywallStartTrialBtn => 'இலவச சோதனை தொடங்கு'; + + @override + String get paywallSubscriptionDisclaimer => + 'சந்தா தானாகவே புதுப்பிக்கப்படுகிறது. எப்போது வேண்டுமானாலும் ரத்து செய்யவும்'; + + @override + String get paywallTermsPrivacy => + 'சேவையின் விதிமுறைகள் | தனியுரிமை கொள்கை'; + + @override + String get paywallPerWeek => 'வாரம்'; + + @override + String get processingLabel => 'உங்கள் முடிவுகளை பகுப்பாய்வு செய்கிறேன்'; + + @override + String get paywallCloseTooltip => 'ஆன்போர்டிங் மூடு'; + + @override + String get paywallRestoreTooltip => 'மீட்டமைக்க வாங்குகள்'; + + @override + String get paywallRestoreBtn => 'மீட்டமை'; + + @override + String get paywallRestoreNoneFound => + 'மீட்டெடுக்க எந்த செயல்பாட்டிற்கும் சந்தா இல்லை.'; + + @override + String get paywallRestoreError => + 'வாங்குதலை மீட்டெடுக்க முடியவில்லை. தயவுசெய்து பிறகு மீண்டும் முயற்சிக்கவும்.'; + + @override + String get paywallPurchaseError => + 'வாங்குதலை முடிக்க முடியவில்லை. தயவுசெய்து பிறகு மீண்டும் முயற்சிக்கவும்.'; + + @override + String get paywallTrialStep1Title => 'இன்று: உடனடி அணுகலைப் பெறுங்கள்'; + + @override + String get paywallTrialStep1Description => + 'முழு அணுகலை திறக்கவும், எப்போது வேண்டுமானாலும் AI சுகாதார பதில்களை பெறவும்.'; + + @override + String get paywallTrialStep2Title => 'இன்று 2: சோதனை நினைவூட்டல்'; + + @override + String get paywallTrialStep2Description => + 'உங்கள் சோதனை முடிவுக்கு வர இருக்கிறது என்பதை நினைவூட்டுகிறோம்'; + + @override + String get paywallTrialStep3Title => '3வது நாள்: புதுப்பிப்பு'; + + @override + String paywallTrialStep3Description(String date) { + return 'நீங்கள் $date அன்று கட்டணம் செலுத்தப்படும், அதற்கு முன் எப்போது வேண்டுமானாலும் ரத்து செய்யலாம்.'; + } + + @override + String get paywallBenefitsHeader => 'என்ன உள்ளடக்கமாக உள்ளது'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'தனிப்பட்ட மற்றும் பாதுகாப்பான'; + + @override + String get paywallBenefitAiAssistant => 'ஏ.ஐ உதவியாளர், 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'உடனடி சுகாதார பதில்கள்'; + + @override + String get paywallBenefitScienceInsights => '명확한 과학 기반 통찰'; + + @override + String get paywallBenefitAutoSummaries => 'தானியங்கி உரையாடல் சுருக்கங்கள்'; + + @override + String get paywallBenefitAnyLanguage => 'எந்த மொழி, எப்போது வேண்டுமானாலும்'; + + @override + String get paywallPriceUnitPerWeek => 'ஒரு வாரத்திற்கு'; + + @override + String get paywallOfferTitle => 'ஒரு முறை சலுகை'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% குறைப்பு'; + } + + @override + String get paywallOfferForeverBadge => 'என்றும்'; + + @override + String get paywallOfferDisclaimer => + 'நீங்கள் உங்கள் ஒரே முறை சலுகையை மூடினால், அது மறைந்து விடும்!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/மாதம்'; + } + + @override + String get paywallOfferLowestPriceBadge => 'எப்போதும் குறைந்த விலை'; + + @override + String get paywallOfferCancelAnytime => + 'எப்போது வேண்டுமானாலும் ரத்து செய்யவும்'; + + @override + String get paywallOfferClaimButton => 'உங்கள் சலுகையை பெறுங்கள்'; + + @override + String get paywallOfferAutoRenewable => 'தானாக புதுப்பிக்கப்படும் சந்தா'; + + @override + String get paywallGiftBoxTitle => 'சிறப்பு பரிசு உள்ளே'; + + @override + String get paywallGiftBoxSubtitle => + 'ஒரு தொட்டில் உங்கள் சிறப்பு சலுகையை வெளிப்படுத்துங்கள்'; + + @override + String get paywallGiftBoxOpenButton => 'இப்போது திறக்கவும்'; + + @override + String get paywallRetryLoadPricesError => + 'சந்தா விருப்பங்களை ஏற்றுவதில் தோல்வி. தயவுசெய்து பிறகு மீண்டும் முயற்சிக்கவும்.'; + + @override + String get paywallPricesUnavailableTitle => 'சந்தா விலைகளை ஏற்ற முடியவில்லை'; + + @override + String get paywallPricesUnavailableMessage => + 'உங்கள் இணைப்பை சரிபார்க்கவும் மற்றும் மீண்டும் முயற்சிக்கவும்.'; + + @override + String get paywallPricesUnavailableRetryButton => 'மீண்டும் முயற்சிக்கவும்'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_te.dart b/example/lib/src/generated/onboarding/onboarding_localization_te.dart new file mode 100644 index 0000000..2f20fed --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_te.dart @@ -0,0 +1,488 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Telugu (`te`). +class OnboardingLocalizationTe extends OnboardingLocalization { + OnboardingLocalizationTe([String locale = 'te']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'అధునాతన AI ఆరోగ్య సహాయకుడు'; + + @override + String get welcomeScreenTitle => 'డాక్టర్‌నా! స్వాగతం'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'అనుభవం ఉన్న వైద్యులు చేసే విధంగా లక్షణాలను విశ్లేషించడానికి రూపొందించబడింది - నమూనాలు, సమయం మరియు సందర్భాన్ని అర్థం చేసుకోవడం ద్వారా.'; + + @override + String get getStartedBtn => 'ప్రారంభించండి'; + + @override + String get alreadyHaveAccount => + 'మీకు ఇప్పటికే ఖాతా ఉందా? లాగిన్'; + + @override + String get termsConsent => + 'కొనసాగించడానికి, మీరు మా\nసేవా నిబంధనలు | గోప్యతా విధానం తో అంగీకరిస్తున్నారు'; + + @override + String get personalizationInterruptionTitle => + 'మనం వ్యక్తిగతీకరించుకుందాం Doctorina మీ కోసం'; + + @override + String get personalizationSectionLabel => 'వ్యక్తిగతీకరణ'; + + @override + String get personalizationReasonTitle => 'మీరు ఇక్కడ ఎందుకు ఉన్నారు?'; + + @override + String get personalizationReasonSymptomsNow => + 'నేను ఇప్పుడు లక్షణాలను అనుభవిస్తున్నాను'; + + @override + String get personalizationReasonUnderstandChange => + 'నేను ఆరోగ్య మార్పును అర్థం చేసుకోవాలనుకుంటున్నాను'; + + @override + String get personalizationReasonRuleOutSerious => + 'నేను తీవ్రమైనదాన్ని తప్పించాలనుకుంటున్నాను'; + + @override + String get personalizationReasonMonitoring => + 'నేను నా ఆరోగ్యాన్ని ముందస్తుగా పర్యవేక్షిస్తున్నాను'; + + @override + String get continueBtn => 'కొనసాగించు'; + + @override + String get captionEmpathyText => + 'మీ ఆరోగ్యంలో ఏదైనా మారితే, ఏమి ముఖ్యమో తెలుసుకోవడం చాలా కష్టం.'; + + @override + String get captionDifferentiatorText => + 'Doctorina లక్షణాల నమూనాలు మరియు సమయంపై దృష్టి పెడుతుంది — ప్రారంభంలో వైద్యులు చూసే అదే సంకేతాలు.'; + + @override + String get genderTitle => 'మీ లింగాన్ని ఎంచుకోండి'; + + @override + String get genderSubtitle => + 'ఇది మాకు లక్షణాలను అర్థం చేసుకోవడానికి మరియు సిఫారసులను మరింత ఖచ్చితంగా ఇవ్వడానికి సహాయపడుతుంది.'; + + @override + String get genderMale => 'పురుషుడు'; + + @override + String get genderFemale => 'స్త్రీ'; + + @override + String get genderPreferNotSay => 'చెప్పాలనుకోను'; + + @override + String get ageTitle => 'మీ వయస్సు ఎంత?'; + + @override + String get ageSubtitle => + 'వయస్సు ఆరోగ్య నమూనాలను మరింత ఖచ్చితంగా అంచనా వేయడంలో సహాయపడుతుంది.'; + + @override + String get socialProofLargeTitle => + '48k+ మందులు\nడాక్టర్‌నా ను ఎంచుకున్నారు'; + + @override + String get socialProofDisclaimer => '*డాక్టరినా వినియోగదారుల గణాంకాల ఆధారంగా'; + + @override + String get developedByDoctors => 'డెవలప్ చేసినది\nడాక్టర్లు'; + + @override + String get quizStepLabel1 => 'దశ 1/6'; + + @override + String get quizHealthSituationTitle => + 'మీ ప్రస్తుత ఆరోగ్య పరిస్థితిని మీరు ఎలా వివరించగలరు?'; + + @override + String get quizHealthHealthy => 'నేను సాధారణంగా ఆరోగ్యంగా ఉన్నాను'; + + @override + String get quizHealthMinorConcerns => + 'నాకు కొనసాగుతున్న చిన్న ఆందోళనలు ఉన్నాయి'; + + @override + String get quizHealthKnownCondition => + 'నేను తెలిసిన పరిస్థితిని నిర్వహిస్తున్నాను'; + + @override + String get quizHealthUnresolved => + 'నేను పరిష్కరించని విషయాన్ని ఎదుర్కొంటున్నాను'; + + @override + String get quizStepLabel2 => 'దశ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'మీరు సాధారణంగా డాక్టర్‌ను ఎంత తరచుగా కలుస్తారు?'; + + @override + String get quizDoctorVisitRegular => 'నియమితంగా (చెక్-అప్స్ / ఫాలో-అప్స్)'; + + @override + String get quizDoctorVisitOccasional => 'అవసరమైతే, ఏదో తప్పుగా ఉన్నప్పుడు'; + + @override + String get quizDoctorVisitRare => 'అత్యంత అరుదుగా, అవసరమైతే మాత్రమే'; + + @override + String get quizDoctorVisitAvoid => 'డాక్టర్లను సందర్శించడం నివారించండి'; + + @override + String get quizDoctorVisitNever => 'నేను ఎప్పుడూ డాక్టర్‌ను సందర్శించలేదు'; + + @override + String get quizStepLabel3 => 'దశ 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'మీరు ఇప్పటివరకు ఆరోగ్య సంరక్షణతో ఎదుర్కొన్న పెద్ద సవాలు ఏమిటి?'; + + @override + String get quizMultiSelectHint => 'మీకు నచ్చినన్ని ఎంచుకోండి'; + + @override + String get quizChallengeLongWait => + 'అపాయింట్‌మెంట్‌ల కోసం దీర్ఘకాలిక వేచి ఉండడం'; + + @override + String get quizChallengeRushedVisits => 'సందర్శనలు త్వరగా జరిగాయి'; + + @override + String get quizChallengeCost => 'అధిక ఖర్చు లేదా స్పష్టమైన ధర లేదు'; + + @override + String get quizChallengeHardExplain => + 'ప్రతి విషయాన్ని స్పష్టంగా వివరించడం కష్టం'; + + @override + String get quizChallengeConflictingAdvice => + 'వివాదాస్పదమైన అభిప్రాయాలు లేదా సలహాలు'; + + @override + String get quizChallengeNone => 'ప్రధాన సమస్యలు లేవు'; + + @override + String get quizStepLabel4 => 'దశ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'మీరు డాక్టర్‌ సమావేశాల తర్వాత మీకు చెప్పిన విషయాలపై ఎంత నమ్మకం కలిగి ఉన్నారు?'; + + @override + String get quizConfidenceNoRightAnswer => 'సరైన లేదా తప్పు సమాధానం లేదు.'; + + @override + String get quizConfidenceVeryClear => 'ఏం జరుగుతుందో చాలా స్పష్టంగా ఉంది'; + + @override + String get quizConfidenceSomewhatClear => 'కొంచెం స్పష్టంగా'; + + @override + String get quizConfidenceStillUncertain => 'ఇంకా అనిశ్చితంగా ఉంది'; + + @override + String get quizConfidenceMoreConfused => 'ముందు కంటే ఎక్కువ గందరగోళంగా'; + + @override + String get captionDiagnosisVsChange => + 'చాలా మంది నిర్ధారణ తర్వాత కాదు కానీ లక్షణాలు కాలంతో పాటు మారినప్పుడు కష్టపడుతారు.'; + + @override + String get quizStepLabel5 => 'దశ 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'మీ ఆందోళనలను సాధారణంగా ఎంత బాగా పరిష్కరిస్తున్నారు?'; + + @override + String get quizConcernsAddressedSubtitle => 'మీ వ్యక్తిగత భావనల ఆధారంగా'; + + @override + String get quizConcernsVeryWell => 'చాలా బాగా'; + + @override + String get quizConcernsFairlyWell => 'సరైనది'; + + @override + String get quizConcernsNotVeryWell => 'చాలా బాగా లేదు'; + + @override + String get quizConcernsVaries => 'ఇది చాలా మారుతుంది'; + + @override + String get quizStepLabel6 => 'దశ 6/6'; + + @override + String get quizSelfResearchTitle => + 'డాక్టర్‌ను చూడకముందు, మీరు సాధారణంగా లక్షణాలను మీరే అర్థం చేసుకోవడానికి ప్రయత్నిస్తారా?'; + + @override + String get quizSelfResearchYes => + 'అవును, నేను పరిశోధన చేస్తాను మరియు విషయాలను ట్రాక్ చేస్తాను'; + + @override + String get quizSelfResearchSometimes => 'కొన్నిసార్లు'; + + @override + String get quizSelfResearchRarely => 'చాలా అరుదుగా'; + + @override + String get quizSelfResearchNo => + 'లేదు, నేను పూర్తిగా నిపుణులపై ఆధారపడుతున్నాను'; + + @override + String get captionAvailabilityTitle => + 'ఆరోగ్య ప్రశ్నలు కార్యాలయ సమయాలను అనుసరించవు .'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 24/7 అందుబాటులో ఉంది.'; + + @override + String get captionAvailabilityDescription => + 'స్పష్టత తదుపరి అపాయింట్‌మెంట్ కోసం వేచి ఉండకూడదు.'; + + @override + String get notificationTitle => + 'మీ ఆరోగ్య లక్షణాలను మేము తనిఖీ చేయాలనుకుంటున్నారా?'; + + @override + String get notificationDescription => + 'AI మీ లక్షణాలను పర్యవేక్షించగలదు మరియు ఏదైనా దృష్టి అవసరం అయితే మీకు హెచ్చరిక ఇవ్వగలదు'; + + @override + String get notificationYes => 'అవును — నా ఆరోగ్యాన్ని గమనించండి'; + + @override + String get notificationOnlyImportant => 'అవును — కేవలం ముఖ్యమైనది మారితే'; + + @override + String get notificationNo => 'ఇంకా ఖచ్చితంగా లేదు'; + + @override + String get referralSourceTitle => + 'మీరు డాక్టర్ నుండి డాక్టోరిన గురించి వినారా?'; + + @override + String get referralSourceYes => 'అవును'; + + @override + String get referralSourceNo => 'లేదు'; + + @override + String get processingSectionLabel => 'మీ ఫలితాలను విశ్లేషిస్తున్నాము'; + + @override + String get processingTitle => 'మీ అనుభవాన్ని వ్యక్తిగతీకరించడం'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => 'అనంత అనుభవం Doctorina Pro తో'; + + @override + String get paywallAssistantTagline => 'మీ దగ్గర ఎప్పుడూ ఉన్న సహాయకుడు'; + + @override + String get paywallEnableTrialToggle => + 'ఇంకా ఖచ్చితంగా తెలియదు? ఉచిత ట్రయల్ ప్రారంభించండి.'; + + @override + String get paywallPlanYear => 'వార్షిక'; + + @override + String get paywallPlanMonthly => 'ప్రతి నెల'; + + @override + String get paywallPlanWeek => 'సామాన్యంగా'; + + @override + String get paywallPlanDaily => 'ప్రతిరోజు'; + + @override + String get paywallPlanYearPrice => '\$39.99 (మాత్రం \$3.34/వారం)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'సేవ్ 58%'; + + @override + String get paywallContinueBtn => 'కొనుగోలు కొనసాగించండి'; + + @override + String get paywallStartTrialBtn => 'ఉచిత ట్రయల్ ప్రారంభించండి'; + + @override + String get paywallSubscriptionDisclaimer => + 'సబ్‌స్క్రిప్షన్ ఆటో-రిన్యూబుల్. ఎప్పుడైనా రద్దు చేయండి'; + + @override + String get paywallTermsPrivacy => + 'సేవా నిబంధనలు | గోప్యతా విధానం'; + + @override + String get paywallPerWeek => 'సప్తాహం'; + + @override + String get processingLabel => 'మీ ఫలితాలను విశ్లేషిస్తున్నాము'; + + @override + String get paywallCloseTooltip => 'ఆన్‌బోర్డింగ్‌ను మూసివేయండి'; + + @override + String get paywallRestoreTooltip => 'కొనుగోళ్లను పునరుద్ధరించు'; + + @override + String get paywallRestoreBtn => 'పునఃస్థాపించు'; + + @override + String get paywallRestoreNoneFound => + 'పునఃస్థాపనకు చెల్లుబాటు అయ్యే సభ్యత్వం కనుగొనబడలేదు.'; + + @override + String get paywallRestoreError => + 'కొనుగోళ్లను పునరుద్ధరించడంలో విఫలమైంది. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.'; + + @override + String get paywallPurchaseError => + 'కొనుగోలు పూర్తి చేయడంలో విఫలమైంది. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.'; + + @override + String get paywallTrialStep1Title => 'ఈ రోజు: తక్షణం ప్రాప్తి పొందండి'; + + @override + String get paywallTrialStep1Description => + 'పూర్తి యాక్సెస్ అన్లాక్ చేయండి, ఎప్పుడైనా AI ఆరోగ్య సమాధానాలు పొందండి.'; + + @override + String get paywallTrialStep2Title => 'రోజు 2: ట్రయల్ గుర్తింపు'; + + @override + String get paywallTrialStep2Description => + 'మీ ట్రయల్ ముగియబోతున్నది అని మేము మీకు గుర్తు చేస్తాము'; + + @override + String get paywallTrialStep3Title => 'రోజు 3: పునరుద్ధరణ'; + + @override + String paywallTrialStep3Description(String date) { + return '$date న మీకు చార్జ్ చేయబడుతుంది, ముందు ఎప్పుడైనా రద్దు చేయండి.'; + } + + @override + String get paywallBenefitsHeader => 'ఏం చేర్చబడింది'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'ప్రైవేట్ మరియు సురక్షిత'; + + @override + String get paywallBenefitAiAssistant => 'AI సహాయకుడు, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'తక్షణ ఆరోగ్య సమాధానాలు'; + + @override + String get paywallBenefitScienceInsights => + 'స్పష్టమైన, శాస్త్రం ఆధారిత అవగాహన'; + + @override + String get paywallBenefitAutoSummaries => 'ఆటో సంభాషణ సారాంశాలు'; + + @override + String get paywallBenefitAnyLanguage => 'ఏ భాష, ఎప్పుడైనా'; + + @override + String get paywallPriceUnitPerWeek => 'ప్రతి వారం'; + + @override + String get paywallOfferTitle => 'ఒక్కసారి ఆఫర్'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% తగ్గింపు'; + } + + @override + String get paywallOfferForeverBadge => 'శాశ్వతంగా'; + + @override + String get paywallOfferDisclaimer => + 'మీరు మీ ఒకసారి ఆఫర్‌ను మూసివేస్తే, అది పోతుంది!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/నెల'; + } + + @override + String get paywallOfferLowestPriceBadge => 'ఎప్పుడూ కనిష్ట ధర'; + + @override + String get paywallOfferCancelAnytime => 'ఎప్పుడైనా రద్దు చేయండి'; + + @override + String get paywallOfferClaimButton => 'మీ ఆఫర్‌ను క్లెయిమ్ చేయండి'; + + @override + String get paywallOfferAutoRenewable => 'ఆటో-రిన్యూవల్ సభ్యత్వం'; + + @override + String get paywallGiftBoxTitle => 'ప్రత్యేక బహుమతి లోపల'; + + @override + String get paywallGiftBoxSubtitle => + 'మీ ప్రత్యేక ఆఫర్‌ను వెల్లడించడానికి ఒక ట్యాప్'; + + @override + String get paywallGiftBoxOpenButton => 'ఇప్పుడు తెరువు'; + + @override + String get paywallRetryLoadPricesError => + 'సబ్‌స్క్రిప్షన్ ఎంపికలను లోడ్ చేయడంలో విఫలమైంది. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.'; + + @override + String get paywallPricesUnavailableTitle => + 'సబ్‌స్క్రిప్షన్ ధరలను లోడ్ చేయలేకపోయాము'; + + @override + String get paywallPricesUnavailableMessage => + 'మీ కనెక్షన్‌ను తనిఖీ చేయండి మరియు మళ్లీ ప్రయత్నించండి.'; + + @override + String get paywallPricesUnavailableRetryButton => 'మరలా ప్రయత్నించండి'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_th.dart b/example/lib/src/generated/onboarding/onboarding_localization_th.dart new file mode 100644 index 0000000..f0c617c --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_th.dart @@ -0,0 +1,481 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Thai (`th`). +class OnboardingLocalizationTh extends OnboardingLocalization { + OnboardingLocalizationTh([String locale = 'th']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ผู้ช่วยด้านสุขภาพ AI ขั้นสูง'; + + @override + String get welcomeScreenTitle => 'ยินดีต้อนรับ'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'ออกแบบมาเพื่อวิเคราะห์อาการเหมือนกับแพทย์ที่มีประสบการณ์—โดยการเข้าใจรูปแบบ เวลา และบริบท'; + + @override + String get getStartedBtn => 'เริ่มต้น'; + + @override + String get alreadyHaveAccount => + 'มีบัญชีอยู่แล้วใช่ไหม? เข้าสู่ระบบ'; + + @override + String get termsConsent => + 'โดยการดำเนินการต่อ คุณยอมรับ\nข้อกำหนดในการให้บริการ | นโยบายความเป็นส่วนตัว'; + + @override + String get personalizationInterruptionTitle => + 'มาทำให้เป็นส่วนตัว Doctorina สำหรับคุณ'; + + @override + String get personalizationSectionLabel => 'การปรับแต่ง'; + + @override + String get personalizationReasonTitle => 'คุณมาที่นี่วันนี้ทำไม?'; + + @override + String get personalizationReasonSymptomsNow => 'ฉันมีอาการตอนนี้'; + + @override + String get personalizationReasonUnderstandChange => + 'ฉันต้องการเข้าใจการเปลี่ยนแปลงด้านสุขภาพ'; + + @override + String get personalizationReasonRuleOutSerious => + 'ฉันต้องการตัดปัญหาที่ร้ายแรงออกไป'; + + @override + String get personalizationReasonMonitoring => + 'ฉันกำลังติดตามสุขภาพของฉันอย่างมีประสิทธิภาพ'; + + @override + String get continueBtn => 'ดำเนินการต่อ'; + + @override + String get captionEmpathyText => + 'เมื่อมีบางอย่างเปลี่ยนแปลงในสุขภาพของคุณ การรู้ว่าสิ่งใดสำคัญที่สุดคือสิ่งที่ยากที่สุด'; + + @override + String get captionDifferentiatorText => + 'Doctorina มุ่งเน้นที่รูปแบบอาการและเวลา — สัญญาณเดียวกันที่แพทย์มองหาในระยะเริ่มต้น.'; + + @override + String get genderTitle => 'เลือกเพศของคุณ'; + + @override + String get genderSubtitle => + 'สิ่งนี้ช่วยให้เราตีความอาการและให้คำแนะนำได้อย่างแม่นยำยิ่งขึ้น'; + + @override + String get genderMale => 'ชาย'; + + @override + String get genderFemale => 'หญิง'; + + @override + String get genderPreferNotSay => 'ไม่ต้องการระบุ'; + + @override + String get ageTitle => 'คุณอายุเท่าไหร่?'; + + @override + String get ageSubtitle => + 'อายุช่วยให้เราประเมินรูปแบบสุขภาพได้อย่างแม่นยำมากขึ้น'; + + @override + String get socialProofLargeTitle => + 'มากกว่า 48,000 คน ได้เลือก Doctorina'; + + @override + String get socialProofDisclaimer => '*อิงจากสถิติฐานผู้ใช้ของ Doctorina'; + + @override + String get developedByDoctors => 'พัฒนาโดย แพทย์'; + + @override + String get quizStepLabel1 => 'ขั้นตอน 1/6'; + + @override + String get quizHealthSituationTitle => + 'คุณจะอธิบายสถานการณ์สุขภาพปัจจุบันของคุณอย่างไร'; + + @override + String get quizHealthHealthy => 'ฉันรู้สึกแข็งแรงโดยทั่วไป'; + + @override + String get quizHealthMinorConcerns => 'ฉันมีปัญหาเล็กน้อยที่ต่อเนื่อง'; + + @override + String get quizHealthKnownCondition => 'ฉันกำลังจัดการกับภาวะที่รู้จัก'; + + @override + String get quizHealthUnresolved => 'ฉันกำลังจัดการกับสิ่งที่ยังไม่ชัดเจน'; + + @override + String get quizStepLabel2 => 'ขั้นตอน 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => 'คุณไปพบแพทย์บ่อยแค่ไหน?'; + + @override + String get quizDoctorVisitRegular => 'เป็นประจำ (การตรวจสุขภาพ / การติดตาม)'; + + @override + String get quizDoctorVisitOccasional => 'บางครั้งเมื่อมีบางอย่างผิดปกติ'; + + @override + String get quizDoctorVisitRare => 'ไม่บ่อยนัก เฉพาะเมื่อจำเป็น'; + + @override + String get quizDoctorVisitAvoid => 'หลีกเลี่ยงการไปหาหมอ'; + + @override + String get quizDoctorVisitNever => 'ฉันไม่เคยไปหาหมอ'; + + @override + String get quizStepLabel3 => 'ขั้นตอน 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'จนถึงตอนนี้ ความท้าทายที่ใหญ่ที่สุดของคุณเกี่ยวกับการดูแลสุขภาพคืออะไร?'; + + @override + String get quizMultiSelectHint => 'เลือกได้ตามต้องการ'; + + @override + String get quizChallengeLongWait => 'เวลารอคอยนานสำหรับการนัดหมาย'; + + @override + String get quizChallengeRushedVisits => 'การเยี่ยมเยียนรู้สึกเร่งรีบ'; + + @override + String get quizChallengeCost => 'ค่าใช้จ่ายสูงหรือต้นทุนที่ไม่ชัดเจน'; + + @override + String get quizChallengeHardExplain => 'ยากที่จะอธิบายทุกอย่างให้ชัดเจน'; + + @override + String get quizChallengeConflictingAdvice => + 'ความคิดเห็นหรือคำแนะนำที่ขัดแย้งกัน'; + + @override + String get quizChallengeNone => 'ไม่มีปัญหาใหญ่'; + + @override + String get quizStepLabel4 => 'ขั้นตอน 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'หลังจากการนัดหมาย คุณรู้สึกมั่นใจแค่ไหนเกี่ยวกับสิ่งที่คุณถูกบอก?'; + + @override + String get quizConfidenceNoRightAnswer => 'ไม่มีคำตอบที่ถูกหรือผิด'; + + @override + String get quizConfidenceVeryClear => 'ชัดเจนเกี่ยวกับสิ่งที่เกิดขึ้น'; + + @override + String get quizConfidenceSomewhatClear => 'ค่อนข้างชัดเจน'; + + @override + String get quizConfidenceStillUncertain => 'ยังไม่แน่ใจ'; + + @override + String get quizConfidenceMoreConfused => 'สับสนมากกว่าก่อน'; + + @override + String get captionDiagnosisVsChange => + 'หลาย คนไม่รู้สึกลำบากหลังจากการวินิจฉัย แต่เมื่ออาการเปลี่ยนแปลงไปตามเวลา'; + + @override + String get quizStepLabel5 => 'ขั้นตอน 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'คุณรู้สึกว่าความกังวลของคุณได้รับการแก้ไขดีแค่ไหน?'; + + @override + String get quizConcernsAddressedSubtitle => + 'ขึ้นอยู่กับความรู้สึกส่วนตัวของคุณ'; + + @override + String get quizConcernsVeryWell => 'ดีมาก'; + + @override + String get quizConcernsFairlyWell => 'ค่อนข้างดี'; + + @override + String get quizConcernsNotVeryWell => 'ไม่ค่อยดี'; + + @override + String get quizConcernsVaries => 'แตกต่างกันมาก'; + + @override + String get quizStepLabel6 => 'ขั้นตอน 6/6'; + + @override + String get quizSelfResearchTitle => + 'ก่อนที่จะพบแพทย์ คุณมักจะพยายามทำความเข้าใจอาการด้วยตัวเองหรือไม่?'; + + @override + String get quizSelfResearchYes => 'ใช่ ฉันทำการวิจัยและติดตามสิ่งต่างๆ'; + + @override + String get quizSelfResearchSometimes => 'บางครั้ง'; + + @override + String get quizSelfResearchRarely => 'นานๆ ครั้ง'; + + @override + String get quizSelfResearchNo => 'ไม่ ฉันพึ่งพามืออาชีพอย่างเต็มที่'; + + @override + String get captionAvailabilityTitle => + 'คำถามเกี่ยวกับสุขภาพ ไม่จำกัด เวลาทำการ.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina พร้อมให้บริการ 24/7。'; + + @override + String get captionAvailabilityDescription => + 'ความชัดเจนไม่ควรรอจนถึงนัดหมายครั้งถัดไป'; + + @override + String get notificationTitle => + 'คุณต้องการให้เราตรวจสอบอาการสุขภาพของคุณไหม?'; + + @override + String get notificationDescription => + 'AI สามารถติดตามอาการของคุณและแจ้งเตือนหากมีสิ่งใดที่อาจต้องให้ความสนใจ'; + + @override + String get notificationYes => 'ใช่ — ดูแลสุขภาพของฉัน'; + + @override + String get notificationOnlyImportant => + 'ใช่ — เฉพาะเมื่อมีการเปลี่ยนแปลงที่สำคัญ'; + + @override + String get notificationNo => 'ยังไม่แน่ใจ'; + + @override + String get referralSourceTitle => + 'คุณได้ยินเกี่ยวกับ Doctorina จากแพทย์หรือไม่?'; + + @override + String get referralSourceYes => 'ใช่'; + + @override + String get referralSourceNo => 'ไม่มี'; + + @override + String get processingSectionLabel => 'กำลังวิเคราะห์ผลลัพธ์ของคุณ'; + + @override + String get processingTitle => 'ปรับแต่งประสบการณ์ของคุณ'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'ประสบการณ์ไม่จำกัดกับ Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'ผู้ช่วยของคุณที่อยู่ใกล้เสมอ'; + + @override + String get paywallEnableTrialToggle => + 'ยังไม่แน่ใจใช่ไหม? เปิดใช้งานการทดลองใช้งานฟรี.'; + + @override + String get paywallPlanYear => 'รายปี'; + + @override + String get paywallPlanMonthly => 'รายเดือน'; + + @override + String get paywallPlanWeek => 'รายสัปดาห์'; + + @override + String get paywallPlanDaily => 'รายวัน'; + + @override + String get paywallPlanYearPrice => '\$39.99 (เพียง \$3.34/สัปดาห์)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'ประหยัด 58%'; + + @override + String get paywallContinueBtn => 'ดำเนินการต่อ'; + + @override + String get paywallStartTrialBtn => 'เริ่มทดลองใช้ฟรี'; + + @override + String get paywallSubscriptionDisclaimer => + 'การสมัครสมาชิกจะต่ออายุโดยอัตโนมัติ ยกเลิกได้ทุกเมื่อ'; + + @override + String get paywallTermsPrivacy => + 'ข้อกำหนดการให้บริการ | นโยบายความเป็นส่วนตัว'; + + @override + String get paywallPerWeek => 'สัปดาห์'; + + @override + String get processingLabel => 'กำลังวิเคราะห์ผลของคุณ'; + + @override + String get paywallCloseTooltip => 'ปิดการแนะนำ'; + + @override + String get paywallRestoreTooltip => 'กู้คืนการซื้อ'; + + @override + String get paywallRestoreBtn => 'กู้คืน'; + + @override + String get paywallRestoreNoneFound => + 'ไม่พบการสมัครสมาชิกที่ใช้งานอยู่เพื่อกู้คืน.'; + + @override + String get paywallRestoreError => + 'ไม่สามารถกู้คืนการซื้อได้ กรุณาลองอีกครั้งในภายหลัง'; + + @override + String get paywallPurchaseError => + 'ไม่สามารถทำการซื้อได้ กรุณาลองอีกครั้งในภายหลัง'; + + @override + String get paywallTrialStep1Title => 'วันนี้: รับการเข้าถึงทันที'; + + @override + String get paywallTrialStep1Description => + 'ปลดล็อกการเข้าถึงทั้งหมด รับคำตอบด้านสุขภาพจาก AI ได้ทุกเมื่อ.'; + + @override + String get paywallTrialStep2Title => 'วันที่ 2: การเตือนความจำทดลอง'; + + @override + String get paywallTrialStep2Description => + 'เราจะส่งการเตือนความจำว่าการทดลองของคุณกำลังจะสิ้นสุด'; + + @override + String get paywallTrialStep3Title => 'วันที่ 3: การต่ออายุ'; + + @override + String paywallTrialStep3Description(String date) { + return 'คุณจะถูกเรียกเก็บเงินในวันที่ $date ยกเลิกได้ตลอดเวลาก่อนหน้านั้น.'; + } + + @override + String get paywallBenefitsHeader => 'รวมอะไรบ้าง'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'เป็นส่วนตัวและปลอดภัย'; + + @override + String get paywallBenefitAiAssistant => 'ผู้ช่วย AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'คำตอบด้านสุขภาพทันที'; + + @override + String get paywallBenefitScienceInsights => + 'ข้อมูลเชิงลึกที่ชัดเจนและมีพื้นฐานทางวิทยาศาสตร์'; + + @override + String get paywallBenefitAutoSummaries => 'สรุปการสนทนาอัตโนมัติ'; + + @override + String get paywallBenefitAnyLanguage => 'ภาษาใดก็ได้ ทุกเวลา'; + + @override + String get paywallPriceUnitPerWeek => 'ต่อสัปดาห์'; + + @override + String get paywallOfferTitle => 'ข้อเสนอครั้งเดียว'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ส่วนลด'; + } + + @override + String get paywallOfferForeverBadge => 'ตลอดไป'; + + @override + String get paywallOfferDisclaimer => + 'เมื่อคุณปิดข้อเสนอครั้งเดียวของคุณ มันจะหายไป!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/เดือน'; + } + + @override + String get paywallOfferLowestPriceBadge => 'ราคาต่ำที่สุดเท่าที่เคยมีมา'; + + @override + String get paywallOfferCancelAnytime => 'ยกเลิกได้ทุกเมื่อ'; + + @override + String get paywallOfferClaimButton => 'เรียกร้องข้อเสนอของคุณ'; + + @override + String get paywallOfferAutoRenewable => 'การสมัครสมาชิกแบบต่ออายุอัตโนมัติ'; + + @override + String get paywallGiftBoxTitle => 'ของขวัญพิเศษข้างใน'; + + @override + String get paywallGiftBoxSubtitle => + 'แตะหนึ่งครั้งเพื่อเปิดเผยข้อเสนอพิเศษของคุณ'; + + @override + String get paywallGiftBoxOpenButton => 'เปิดตอนนี้'; + + @override + String get paywallRetryLoadPricesError => + 'ไม่สามารถโหลดตัวเลือกการสมัครสมาชิกได้ กรุณาลองอีกครั้งในภายหลัง'; + + @override + String get paywallPricesUnavailableTitle => 'ไม่สามารถโหลดราคาสมาชิกได้'; + + @override + String get paywallPricesUnavailableMessage => + 'ตรวจสอบการเชื่อมต่อของคุณและลองอีกครั้ง.'; + + @override + String get paywallPricesUnavailableRetryButton => 'ลองอีกครั้ง'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_tl.dart b/example/lib/src/generated/onboarding/onboarding_localization_tl.dart new file mode 100644 index 0000000..250d829 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_tl.dart @@ -0,0 +1,497 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tagalog (`tl`). +class OnboardingLocalizationTl extends OnboardingLocalization { + OnboardingLocalizationTl([String locale = 'tl']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ADVANCED AI HEALTH ASSISTANT'; + + @override + String get welcomeScreenTitle => 'Maligayang pagdating'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Dinisenyo upang suriin ang mga sintomas tulad ng ginagawa ng mga batikang clinician — sa pamamagitan ng pag-unawa sa mga pattern, timing, at konteksto.'; + + @override + String get getStartedBtn => 'Magsimula'; + + @override + String get alreadyHaveAccount => + 'May account ka na ba? Mag-log In'; + + @override + String get termsConsent => + 'Sa pagpapatuloy, sumasang-ayon ka sa aming Mga Tuntunin ng Serbisyo | Patakaran sa Privacy'; + + @override + String get personalizationInterruptionTitle => + 'I-personalize natin ang Doctorina para sa iyo'; + + @override + String get personalizationSectionLabel => 'PERSONALISASYON'; + + @override + String get personalizationReasonTitle => + 'Ano ang nagdala sa iyo dito ngayon?'; + + @override + String get personalizationReasonSymptomsNow => + 'Nakakaranas ako ng mga sintomas ngayon'; + + @override + String get personalizationReasonUnderstandChange => + 'Gusto kong maunawaan ang pagbabago sa kalusugan'; + + @override + String get personalizationReasonRuleOutSerious => + 'Gusto kong alisin ang posibilidad ng seryosong bagay'; + + @override + String get personalizationReasonMonitoring => + 'Nagmamanman ako ng aking kalusugan nang proaktibo'; + + @override + String get continueBtn => 'Magpatuloy'; + + @override + String get captionEmpathyText => + 'Kapag may nagbago sa iyong kalusugan, ang pinakamahirap ay ang malaman kung ano ang mahalaga.'; + + @override + String get captionDifferentiatorText => + 'Nakatuon ang Doctorina sa mga pattern ng sintomas at timing — ang parehong mga senyales na hinahanap ng mga clinician sa simula.'; + + @override + String get genderTitle => 'Pumili ng iyong kasarian'; + + @override + String get genderSubtitle => + 'Nakakatulong ito sa amin na bigyang-kahulugan ang mga sintomas at magbigay ng mas tumpak na rekomendasyon.'; + + @override + String get genderMale => 'Lalaki'; + + @override + String get genderFemale => 'Babae'; + + @override + String get genderPreferNotSay => 'Ayaw sabihin'; + + @override + String get ageTitle => 'Ano ang iyong edad?'; + + @override + String get ageSubtitle => + 'Ang edad ay tumutulong sa amin na mas tumpak na suriin ang mga pattern ng kalusugan.'; + + @override + String get socialProofLargeTitle => + 'Mahigit 48k+ tao\nang pumili sa Doctorina'; + + @override + String get socialProofDisclaimer => + '*Batay sa mga istatistika ng base ng gumagamit ng Doctorina'; + + @override + String get developedByDoctors => 'Binuo ng\nMga Doktor'; + + @override + String get quizStepLabel1 => 'HAKBANG 1/6'; + + @override + String get quizHealthSituationTitle => + 'Paano mo ilalarawan ang iyong kasalukuyang sitwasyon sa kalusugan?'; + + @override + String get quizHealthHealthy => 'Karaniwan akong nakakaramdam ng malusog'; + + @override + String get quizHealthMinorConcerns => + 'Mayroon akong patuloy na maliliit na alalahanin'; + + @override + String get quizHealthKnownCondition => + 'Nagmamanage ako ng kilalang kondisyon'; + + @override + String get quizHealthUnresolved => 'Mayroon akong hindi nalutas na isyu'; + + @override + String get quizStepLabel2 => 'HAKBANG 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Gaano kadalas kang pumunta sa doktor?'; + + @override + String get quizDoctorVisitRegular => 'Regularly (checkups / follow-ups)'; + + @override + String get quizDoctorVisitOccasional => 'Paminsan-minsan, kapag may mali'; + + @override + String get quizDoctorVisitRare => 'Bihira, kung kinakailangan lamang'; + + @override + String get quizDoctorVisitAvoid => 'Iwasan ang pagbisita sa mga doktor'; + + @override + String get quizDoctorVisitNever => 'Hindi ko pa kailanman nakitang doktor'; + + @override + String get quizStepLabel3 => 'HAKBANG 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Ano ang pinakamalaking hamon mo sa pangangalaga sa kalusugan hanggang ngayon?'; + + @override + String get quizMultiSelectHint => 'Pumili ng marami hangga\'t gusto mo'; + + @override + String get quizChallengeLongWait => + 'Mahahabang oras ng paghihintay para sa mga appointment'; + + @override + String get quizChallengeRushedVisits => 'Mabilis ang mga pagbisita'; + + @override + String get quizChallengeCost => + 'Mataas na gastos o hindi malinaw na pagpepresyo'; + + @override + String get quizChallengeHardExplain => + 'Mahirap ipaliwanag ang lahat nang malinaw'; + + @override + String get quizChallengeConflictingAdvice => + 'Magkasalungat na opinyon o payo'; + + @override + String get quizChallengeNone => 'Walang malalaking isyu'; + + @override + String get quizStepLabel4 => 'HAKBANG 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Pagkatapos ng mga appointment, gaano ka katiyak sa mga sinabi sa iyo?'; + + @override + String get quizConfidenceNoRightAnswer => 'Walang tamang o maling sagot.'; + + @override + String get quizConfidenceVeryClear => + 'Napaka malinaw tungkol sa kung ano ang nangyayari'; + + @override + String get quizConfidenceSomewhatClear => 'Medyo malinaw'; + + @override + String get quizConfidenceStillUncertain => 'Hindi pa sigurado'; + + @override + String get quizConfidenceMoreConfused => 'Mas naguguluhan kaysa dati'; + + @override + String get captionDiagnosisVsChange => + 'Maraming tao ang nahihirapan hindi pagkatapos ng diagnosis kundi kapag nagbabago ang mga sintomas sa paglipas ng panahon.'; + + @override + String get quizStepLabel5 => 'HAKBANG 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Gaano mo nararamdaman na karaniwang natutugunan ang iyong mga alalahanin?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Batay sa iyong mga personal na damdamin'; + + @override + String get quizConcernsVeryWell => 'Napakabuti'; + + @override + String get quizConcernsFairlyWell => 'Medyo mabuti'; + + @override + String get quizConcernsNotVeryWell => 'Hindi masyadong mabuti'; + + @override + String get quizConcernsVaries => 'Sobrang nag-iiba'; + + @override + String get quizStepLabel6 => 'HAKBANG 6/6'; + + @override + String get quizSelfResearchTitle => + 'Bago makita ang doktor, karaniwan bang sinusubukan mong unawain ang mga sintomas sa iyong sarili?'; + + @override + String get quizSelfResearchYes => + 'Oo, nag-re-research at nagtatala ako ng mga bagay'; + + @override + String get quizSelfResearchSometimes => 'Minsan'; + + @override + String get quizSelfResearchRarely => 'Bihira'; + + @override + String get quizSelfResearchNo => + 'Hindi, umaasa ako nang buo sa mga propesyonal'; + + @override + String get captionAvailabilityTitle => + 'Ang mga tanong sa kalusugan ay hindi sumusunod sa mga oras ng opisina.'; + + @override + String get captionAvailabilitySupport => + 'Ang Doctorina ay available 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Hindi dapat maghintay ang kalinawan para sa susunod na appointment.'; + + @override + String get notificationTitle => + 'Gusto mo bang suriin namin ang iyong mga sintomas sa kalusugan?'; + + @override + String get notificationDescription => + 'Maaari mong subaybayan ng AI ang iyong mga sintomas at alertuhan ka kung may kailangan ng atensyon'; + + @override + String get notificationYes => 'Oo — bantayan ang aking kalusugan'; + + @override + String get notificationOnlyImportant => + 'Oo — kung may mahalagang pagbabago lamang'; + + @override + String get notificationNo => 'Hindi pa sigurado'; + + @override + String get referralSourceTitle => + 'Narinig mo ba ang tungkol sa Doctorina mula sa isang doktor?'; + + @override + String get referralSourceYes => 'Oo'; + + @override + String get referralSourceNo => 'Wala'; + + @override + String get processingSectionLabel => 'NINANALISANG IYONG MGA RESULTA'; + + @override + String get processingTitle => 'Pinapersonalisa ang iyong karanasan'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Walang limitasyong karanasan sa Doctorina Pro'; + + @override + String get paywallAssistantTagline => + 'ANG IYONG ASSISTANT NA PALAGING MALAPIT'; + + @override + String get paywallEnableTrialToggle => + 'Hindi ka pa sigurado? I-enable ang libreng pagsubok.'; + + @override + String get paywallPlanYear => 'Taunang'; + + @override + String get paywallPlanMonthly => 'Buwanang'; + + @override + String get paywallPlanWeek => 'Lingguhan'; + + @override + String get paywallPlanDaily => 'Araw-araw'; + + @override + String get paywallPlanYearPrice => '₱2,200 (₱166.67 bawat linggo)'; + + @override + String get paywallPlanWeekPrice => '₱220'; + + @override + String get paywallSaveBadge => 'MAG-SAVE NG 58%'; + + @override + String get paywallContinueBtn => 'Magpatuloy'; + + @override + String get paywallStartTrialBtn => 'Simulan ang Libreng Pagsubok'; + + @override + String get paywallSubscriptionDisclaimer => + 'Ang subscription ay auto-renewable. Maaaring kanselahin anumang oras'; + + @override + String get paywallTermsPrivacy => + 'Mga Tuntunin ng Serbisyo | Patakaran sa Privacy'; + + @override + String get paywallPerWeek => 'linggo'; + + @override + String get processingLabel => 'Sinusuri ang iyong mga resulta'; + + @override + String get paywallCloseTooltip => 'Isara ang onboarding'; + + @override + String get paywallRestoreTooltip => 'Ibalik ang mga Pagbili'; + + @override + String get paywallRestoreBtn => 'Ibalik'; + + @override + String get paywallRestoreNoneFound => + 'Walang aktibong subscription na natagpuan upang maibalik.'; + + @override + String get paywallRestoreError => + 'Nabigo ang pag-restore ng mga pagbili. Pakisubukang muli mamaya.'; + + @override + String get paywallPurchaseError => + 'Nabigo ang kumpletuhin ang pagbili. Pakisubukan muli mamaya.'; + + @override + String get paywallTrialStep1Title => 'Ngayon: Kumuha ng agarang access'; + + @override + String get paywallTrialStep1Description => + 'I-unlock ang buong access, makakuha ng mga sagot sa kalusugan mula sa AI, anumang oras.'; + + @override + String get paywallTrialStep2Title => 'Araw 2: Paalala ng pagsubok'; + + @override + String get paywallTrialStep2Description => + 'Magpapadala kami sa iyo ng paalala na malapit nang matapos ang iyong pagsubok'; + + @override + String get paywallTrialStep3Title => 'Araw 3: Pagpapanibago'; + + @override + String paywallTrialStep3Description(String date) { + return 'Sisingilin ka sa $date, maaari kang mag-cancel anumang oras bago iyon.'; + } + + @override + String get paywallBenefitsHeader => 'ANO ANG KASAMA'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Pribado at ligtas'; + + @override + String get paywallBenefitAiAssistant => 'AI katulong, 24/7'; + + @override + String get paywallBenefitInstantAnswers => + 'Mabilis na mga sagot sa kalusugan'; + + @override + String get paywallBenefitScienceInsights => + 'Malinaw, batay sa siyensya na mga pananaw'; + + @override + String get paywallBenefitAutoSummaries => + 'Mga awtomatikong buod ng pag-uusap'; + + @override + String get paywallBenefitAnyLanguage => 'Anumang wika, anumang oras'; + + @override + String get paywallPriceUnitPerWeek => 'bawat linggo'; + + @override + String get paywallOfferTitle => 'Isang beses na alok'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% DISKWENTO'; + } + + @override + String get paywallOfferForeverBadge => 'MAGPAKAILANMAN'; + + @override + String get paywallOfferDisclaimer => + 'Kapag isinara mo ang iyong isang beses na alok, nawala na ito!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/buwan'; + } + + @override + String get paywallOfferLowestPriceBadge => 'PINAKAMABABANG PRESYO KAILANMAN'; + + @override + String get paywallOfferCancelAnytime => 'Kanselahin anumang oras'; + + @override + String get paywallOfferClaimButton => 'I-claim ang iyong alok'; + + @override + String get paywallOfferAutoRenewable => 'Auto-renewable subscription'; + + @override + String get paywallGiftBoxTitle => 'Espesyal na regalo sa loob'; + + @override + String get paywallGiftBoxSubtitle => + 'Isang tap para ipakita ang iyong espesyal na alok'; + + @override + String get paywallGiftBoxOpenButton => 'Buksan na'; + + @override + String get paywallRetryLoadPricesError => + 'Nabigong i-load ang mga opsyon sa subscription. Pakisubukang muli mamaya.'; + + @override + String get paywallPricesUnavailableTitle => + 'Hindi ma-load ang mga presyo ng subscription'; + + @override + String get paywallPricesUnavailableMessage => + 'Suriin ang iyong koneksyon at subukang muli.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Subukan muli'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_tr.dart b/example/lib/src/generated/onboarding/onboarding_localization_tr.dart new file mode 100644 index 0000000..79484d5 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_tr.dart @@ -0,0 +1,483 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Turkish (`tr`). +class OnboardingLocalizationTr extends OnboardingLocalization { + OnboardingLocalizationTr([String locale = 'tr']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'GELİŞMİŞ YAPAY ZEKÂ SAĞLIK ASİSTANI'; + + @override + String get welcomeScreenTitle => 'Doktorina\'ya Hoş Geldiniz'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Deneyimli kliniklerin yaptığı gibi semptomları analiz etmek için tasarlandı - kalıpları, zamanlamayı ve bağlamı anlayarak.'; + + @override + String get getStartedBtn => 'Başlayın'; + + @override + String get alreadyHaveAccount => + 'Zaten bir hesabınız var mı? Giriş Yap'; + + @override + String get termsConsent => + 'Devam ederek, bizimle\nHizmet Şartları | Gizlilik Politikası üzerinde anlaşıyorsunuz'; + + @override + String get personalizationInterruptionTitle => + 'Hadi kişiselleştirelim Doctorina senin için'; + + @override + String get personalizationSectionLabel => 'KİŞİSELLEŞTİRME'; + + @override + String get personalizationReasonTitle => 'Bugün buraya neden geldiniz?'; + + @override + String get personalizationReasonSymptomsNow => 'Şu anda semptomlar yaşıyorum'; + + @override + String get personalizationReasonUnderstandChange => + 'Bir sağlık değişikliğini anlamak istiyorum'; + + @override + String get personalizationReasonRuleOutSerious => + 'Ciddi bir durumu elemek istiyorum'; + + @override + String get personalizationReasonMonitoring => + 'Sağlığımı proaktif olarak izliyorum'; + + @override + String get continueBtn => 'Devam et'; + + @override + String get captionEmpathyText => + 'Sağlığınızda bir şey değiştiğinde, neyin önemli olduğunu bilmek en zor olandır.'; + + @override + String get captionDifferentiatorText => + 'Doctorina, semptom kalıplarına ve zamanlamaya odaklanır — kliniklerin erken dönemde aradığı aynı sinyaller.'; + + @override + String get genderTitle => 'Cinsiyetinizi seçin'; + + @override + String get genderSubtitle => + 'Bu, semptomları yorumlamamıza ve önerileri daha doğru bir şekilde vermemize yardımcı olur.'; + + @override + String get genderMale => 'Erkek'; + + @override + String get genderFemale => 'Kadın'; + + @override + String get genderPreferNotSay => 'Söylemek istemiyorum'; + + @override + String get ageTitle => 'Yaşınız nedir?'; + + @override + String get ageSubtitle => + 'Yaş, sağlık kalıplarını daha doğru değerlendirmemize yardımcı olur.'; + + @override + String get socialProofLargeTitle => + '48k+ kişi\nDoctorina\'yı seçti'; + + @override + String get socialProofDisclaimer => + '*Doctorina kullanıcı istatistiklerine dayanmaktadır'; + + @override + String get developedByDoctors => 'Geliştirildi\nDoktorlar'; + + @override + String get quizStepLabel1 => 'ADIM 1/6'; + + @override + String get quizHealthSituationTitle => + 'Mevcut sağlık durumunuzu nasıl tanımlarsınız?'; + + @override + String get quizHealthHealthy => 'Genel olarak sağlıklı hissediyorum'; + + @override + String get quizHealthMinorConcerns => 'Devam eden küçük endişelerim var'; + + @override + String get quizHealthKnownCondition => 'Bilinen bir durumu yönetiyorum'; + + @override + String get quizHealthUnresolved => 'Çözülemeyen bir şeyle uğraşıyorum'; + + @override + String get quizStepLabel2 => 'ADIM 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Genellikle ne sıklıkla doktora gidiyorsunuz?'; + + @override + String get quizDoctorVisitRegular => 'Düzenli (kontroller / takipler)'; + + @override + String get quizDoctorVisitOccasional => 'Ara sıra, bir şey yanlış olduğunda'; + + @override + String get quizDoctorVisitRare => 'Nadir, sadece gerekiyorsa'; + + @override + String get quizDoctorVisitAvoid => 'Doktor ziyaretinden kaçının'; + + @override + String get quizDoctorVisitNever => 'Hiç doktora gitmedim'; + + @override + String get quizStepLabel3 => 'ADIM 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Şu ana kadar sağlık hizmetleriyle ilgili en büyük zorluğunuz ne oldu?'; + + @override + String get quizMultiSelectHint => 'İstediğiniz kadar seçin'; + + @override + String get quizChallengeLongWait => 'Randevular için uzun bekleme süreleri'; + + @override + String get quizChallengeRushedVisits => 'Ziyaretler aceleci hissediliyor'; + + @override + String get quizChallengeCost => 'Yüksek maliyet veya belirsiz fiyatlandırma'; + + @override + String get quizChallengeHardExplain => + 'Her şeyi net bir şekilde açıklamak zor'; + + @override + String get quizChallengeConflictingAdvice => + 'Çelişkili görüşler veya tavsiyeler'; + + @override + String get quizChallengeNone => 'Büyük bir sorun yok'; + + @override + String get quizStepLabel4 => 'ADIM 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Randevulardan sonra, size söylenenler hakkında ne kadar eminsiniz?'; + + @override + String get quizConfidenceNoRightAnswer => 'Doğru ya da yanlış cevap yoktur.'; + + @override + String get quizConfidenceVeryClear => 'Ne olduğunu çok net anlıyorum'; + + @override + String get quizConfidenceSomewhatClear => 'Biraz net'; + + @override + String get quizConfidenceStillUncertain => 'Hala belirsiz'; + + @override + String get quizConfidenceMoreConfused => + 'Öncekinden daha fazla kafam karışık'; + + @override + String get captionDiagnosisVsChange => + 'Birçok insan tanıdan sonra değil ama semptomlar zamanla değiştiğinde zorluk yaşıyor.'; + + @override + String get quizStepLabel5 => 'ADIM 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Endişelerinizin genellikle ne kadar iyi ele alındığını hissediyorsunuz?'; + + @override + String get quizConcernsAddressedSubtitle => 'Öznel hislerinize dayanarak'; + + @override + String get quizConcernsVeryWell => 'Çok iyi'; + + @override + String get quizConcernsFairlyWell => 'Oldukça iyi'; + + @override + String get quizConcernsNotVeryWell => 'Pek iyi değil'; + + @override + String get quizConcernsVaries => 'Çok değişiyor'; + + @override + String get quizStepLabel6 => 'ADIM 6/6'; + + @override + String get quizSelfResearchTitle => + 'Bir doktora gitmeden önce, genellikle semptomları kendiniz anlamaya çalışır mısınız?'; + + @override + String get quizSelfResearchYes => 'Evet, araştırma yapıyor ve takip ediyorum'; + + @override + String get quizSelfResearchSometimes => 'Bazen'; + + @override + String get quizSelfResearchRarely => 'Nadiren'; + + @override + String get quizSelfResearchNo => 'Hayır, tamamen profesyonellere güveniyorum'; + + @override + String get captionAvailabilityTitle => + 'Sağlık soruları mesai saatlerini takip etmez .'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 24/7 mevcut.'; + + @override + String get captionAvailabilityDescription => + 'Açıklığın bir sonraki randevu için beklemesi gerekmiyor.'; + + @override + String get notificationTitle => + 'Sağlık semptomlarınızı kontrol etmemizi ister misiniz?'; + + @override + String get notificationDescription => + 'Yapay zeka belirtilerinizi izleyebilir ve bir şeyin dikkat gerektirebileceğini size bildirebilir'; + + @override + String get notificationYes => 'Evet — sağlığımı takip et'; + + @override + String get notificationOnlyImportant => + 'Evet — sadece önemli bir şey değişirse'; + + @override + String get notificationNo => 'Henüz emin değilim'; + + @override + String get referralSourceTitle => 'Doctorina\'yı bir doktordan duydunuz mu?'; + + @override + String get referralSourceYes => 'Evet'; + + @override + String get referralSourceNo => 'Hayır'; + + @override + String get processingSectionLabel => 'SONUÇLARINIZI ANALİZ EDİYORUZ'; + + @override + String get processingTitle => 'Deneyiminizi kişiselleştiriyoruz'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Doctorina Pro ile sınırsız deneyim'; + + @override + String get paywallAssistantTagline => 'HER ZAMAN YANINIZDA OLAN YARDIMCINIZ'; + + @override + String get paywallEnableTrialToggle => + 'Henüz emin değil misiniz? Ücretsiz denemeyi etkinleştir.'; + + @override + String get paywallPlanYear => 'Yıllık'; + + @override + String get paywallPlanMonthly => 'Aylık'; + + @override + String get paywallPlanWeek => 'Haftalık'; + + @override + String get paywallPlanDaily => 'Günlük'; + + @override + String get paywallPlanYearPrice => '39,99 \$ (sadece 3,34 \$/hafta)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'KAYDEDİN %58'; + + @override + String get paywallContinueBtn => 'Devam et'; + + @override + String get paywallStartTrialBtn => 'Ücretsiz deneme başlat'; + + @override + String get paywallSubscriptionDisclaimer => + 'Abonelik otomatik olarak yenilenir. İstediğiniz zaman iptal edin'; + + @override + String get paywallTermsPrivacy => + 'Hizmet Şartları | Gizlilik Politikası'; + + @override + String get paywallPerWeek => 'hafta'; + + @override + String get processingLabel => 'Sonuçlarınızı analiz ediliyor'; + + @override + String get paywallCloseTooltip => 'Eğitimi kapat'; + + @override + String get paywallRestoreTooltip => 'Satın alımları Geri Yükle'; + + @override + String get paywallRestoreBtn => 'Geri Yükle'; + + @override + String get paywallRestoreNoneFound => + 'Geri yüklemek için aktif bir abonelik bulunamadı.'; + + @override + String get paywallRestoreError => + 'Satın alımları geri yüklemede başarısız oldu. Lütfen daha sonra tekrar deneyin.'; + + @override + String get paywallPurchaseError => + 'Satın alma işlemi tamamlanamadı. Lütfen daha sonra tekrar deneyin.'; + + @override + String get paywallTrialStep1Title => 'Bugün: Anında erişim elde edin'; + + @override + String get paywallTrialStep1Description => + 'Tam erişimi aç, her zaman AI sağlık yanıtları al.'; + + @override + String get paywallTrialStep2Title => '2. Gün: Deneme hatırlatıcısı'; + + @override + String get paywallTrialStep2Description => + 'Deneme sürenizin sona ermek üzere olduğunu hatırlatacağız'; + + @override + String get paywallTrialStep3Title => '3. Gün: Yenileme'; + + @override + String paywallTrialStep3Description(String date) { + return '$date tarihinde ücretlendirileceksiniz, istediğiniz zaman iptal edebilirsiniz.'; + } + + @override + String get paywallBenefitsHeader => 'NELER DAHİL?'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Özel ve güvenli'; + + @override + String get paywallBenefitAiAssistant => 'AI asistan, 7/24'; + + @override + String get paywallBenefitInstantAnswers => 'Anında sağlık yanıtları'; + + @override + String get paywallBenefitScienceInsights => + 'Açık, bilimsel temelli içgörüler'; + + @override + String get paywallBenefitAutoSummaries => 'Otomatik konuşma özetleri'; + + @override + String get paywallBenefitAnyLanguage => 'Her dil, her zaman'; + + @override + String get paywallPriceUnitPerWeek => 'haftada'; + + @override + String get paywallOfferTitle => 'Tek seferlik teklif'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% İNDİRİM'; + } + + @override + String get paywallOfferForeverBadge => 'SONSUZ'; + + @override + String get paywallOfferDisclaimer => + 'Tek seferlik teklifinizi kapattığınızda, gitti!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/ay'; + } + + @override + String get paywallOfferLowestPriceBadge => 'EN DÜŞÜK FİYAT'; + + @override + String get paywallOfferCancelAnytime => 'İstediğiniz zaman iptal edin'; + + @override + String get paywallOfferClaimButton => 'Teklifinizi talep edin'; + + @override + String get paywallOfferAutoRenewable => 'Otomatik yenilenen abonelik'; + + @override + String get paywallGiftBoxTitle => 'Özel hediye içinde'; + + @override + String get paywallGiftBoxSubtitle => + 'Tek dokunuşla özel teklifinizi açığa çıkarın'; + + @override + String get paywallGiftBoxOpenButton => 'Şimdi aç'; + + @override + String get paywallRetryLoadPricesError => + 'Abonelik seçeneklerini yüklemek başarısız oldu. Lütfen daha sonra tekrar deneyin.'; + + @override + String get paywallPricesUnavailableTitle => 'Abonelik fiyatları yüklenemedi'; + + @override + String get paywallPricesUnavailableMessage => + 'Bağlantınızı kontrol edin ve tekrar deneyin.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Tekrar dene'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_uk.dart b/example/lib/src/generated/onboarding/onboarding_localization_uk.dart new file mode 100644 index 0000000..c0e1ae0 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_uk.dart @@ -0,0 +1,485 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Ukrainian (`uk`). +class OnboardingLocalizationUk extends OnboardingLocalization { + OnboardingLocalizationUk([String locale = 'uk']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'ПРОДВИНУТИЙ AI МЕДИЧНИЙ АСИСТЕНТ'; + + @override + String get welcomeScreenTitle => 'Ласкаво просимо до Doctorina!'; + + @override + String get socialProofTrustedBy => 'Довіряють'; + + @override + String get welcomeDescription => + 'Розроблено для аналізу симптомів так, як це роблять досвідчені клініцисти — розуміючи патерни, час та контекст.'; + + @override + String get getStartedBtn => 'Почати'; + + @override + String get alreadyHaveAccount => + 'Вже маєте обліковий запис? Увійти'; + + @override + String get termsConsent => + 'Продовжуючи, ви погоджуєтеся з нашими\nУмовами обслуговування | Політикою конфіденційності'; + + @override + String get personalizationInterruptionTitle => + 'Давайте персоналізуємо Doctorina для вас'; + + @override + String get personalizationSectionLabel => 'ПЕРСОНАЛІЗАЦІЯ'; + + @override + String get personalizationReasonTitle => 'Що привело вас сюди сьогодні?'; + + @override + String get personalizationReasonSymptomsNow => 'У мене зараз є симптоми'; + + @override + String get personalizationReasonUnderstandChange => + 'Я хочу зрозуміти зміни здоров\'я'; + + @override + String get personalizationReasonRuleOutSerious => + 'Я хочу виключити щось серйозне'; + + @override + String get personalizationReasonMonitoring => + 'Я моніторю своє здоров\'я проактивно'; + + @override + String get continueBtn => 'Продовжити'; + + @override + String get captionEmpathyText => + 'Коли щось змінюється у вашому здоров\'ї, найважче знати, що важливо.'; + + @override + String get captionDifferentiatorText => + 'Doctorina зосереджується на паттернах симптомів і часі — це ті ж сигнали, які лікарі шукають на ранніх стадіях.'; + + @override + String get genderTitle => 'Виберіть вашу стать'; + + @override + String get genderSubtitle => + 'Це допомагає нам інтерпретувати симптоми та давати рекомендації більш точно.'; + + @override + String get genderMale => 'Чоловічий'; + + @override + String get genderFemale => 'Жіночий'; + + @override + String get genderPreferNotSay => 'Віддаю перевагу не відповідати'; + + @override + String get ageTitle => 'Скільки вам років?'; + + @override + String get ageSubtitle => + 'Вік допомагає нам точніше оцінювати патерни здоров’я.'; + + @override + String get socialProofLargeTitle => + 'Більше ніж 48 тис. людей\nобрали Doctorina'; + + @override + String get socialProofDisclaimer => + '*На основі статистики користувачів Doctorina'; + + @override + String get developedByDoctors => 'Розроблено лікарями'; + + @override + String get quizStepLabel1 => 'КРОК 1/6'; + + @override + String get quizHealthSituationTitle => + 'Як би ви описали свою поточну ситуацію зі здоров\'ям?'; + + @override + String get quizHealthHealthy => 'В цілому почуваюся здорово'; + + @override + String get quizHealthMinorConcerns => 'У мене є постійні незначні проблеми'; + + @override + String get quizHealthKnownCondition => + 'Я тримаю своє захворювання під контролем'; + + @override + String get quizHealthUnresolved => 'Я маю справу з чимось невирішеним'; + + @override + String get quizStepLabel2 => 'КРОК 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Як часто ви зазвичай відвідуєте лікаря?'; + + @override + String get quizDoctorVisitRegular => 'Регулярно (огляди / контрольні візити)'; + + @override + String get quizDoctorVisitOccasional => 'Іноді, коли щось не так'; + + @override + String get quizDoctorVisitRare => 'Рідко, тільки якщо це необхідно'; + + @override + String get quizDoctorVisitAvoid => 'Уникаєте відвідувань лікарів'; + + @override + String get quizDoctorVisitNever => 'Я ніколи не відвідував лікаря'; + + @override + String get quizStepLabel3 => 'КРОК 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Яка ваша найбільша проблема з охороною здоров\'я на сьогоднішній день?'; + + @override + String get quizMultiSelectHint => 'Виберіть стільки, скільки хочете'; + + @override + String get quizChallengeLongWait => 'Тривале очікування на прийом'; + + @override + String get quizChallengeRushedVisits => 'Візити здаються поспішними'; + + @override + String get quizChallengeCost => 'Висока вартість або неясна ціна'; + + @override + String get quizChallengeHardExplain => 'Важко все пояснити чітко'; + + @override + String get quizChallengeConflictingAdvice => 'Суперечливі думки або поради'; + + @override + String get quizChallengeNone => 'Немає серйозних проблем'; + + @override + String get quizStepLabel4 => 'КРОК 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Після прийомів, наскільки ви впевнені в тому, що вам сказали?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Немає правильних чи неправильних відповідей.'; + + @override + String get quizConfidenceVeryClear => 'Дуже чітко розумію, що відбувається'; + + @override + String get quizConfidenceSomewhatClear => 'Досить зрозуміло'; + + @override + String get quizConfidenceStillUncertain => 'Все ще не впевнені'; + + @override + String get quizConfidenceMoreConfused => 'Більш заплутані, ніж раніше'; + + @override + String get captionDiagnosisVsChange => + 'Багато людей стикаються з труднощами не після встановлення діагнозу, а коли симптоми змінюються з часом.'; + + @override + String get quizStepLabel5 => 'КРОК 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Наскільки добре, на вашу думку, зазвичай вирішуються ваші проблеми?'; + + @override + String get quizConcernsAddressedSubtitle => + 'На основі ваших суб\'єктивних відчуттів'; + + @override + String get quizConcernsVeryWell => 'Дуже добре'; + + @override + String get quizConcernsFairlyWell => 'Досить добре'; + + @override + String get quizConcernsNotVeryWell => 'Не дуже добре'; + + @override + String get quizConcernsVaries => 'Це дуже варіюється'; + + @override + String get quizStepLabel6 => 'КРОК 6/6'; + + @override + String get quizSelfResearchTitle => + 'Перед візитом до лікаря, ви зазвичай намагаєтеся самостійно зрозуміти симптоми?'; + + @override + String get quizSelfResearchYes => 'Так, я досліджую та відстежую симптоми'; + + @override + String get quizSelfResearchSometimes => 'Іноді'; + + @override + String get quizSelfResearchRarely => 'Рідко'; + + @override + String get quizSelfResearchNo => 'Ні, я повністю покладаюся на професіоналів'; + + @override + String get captionAvailabilityTitle => + 'Питання про здоров’я не залежать від робочого часу.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina доступна 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Чіткість не повинна чекати наступного прийому.'; + + @override + String get notificationTitle => + 'Хочете, щоб ми перевіряли ваші симптоми здоров\'я?'; + + @override + String get notificationDescription => + 'Штучний інтелект може відстежувати ваші симптоми та сповіщати вас, якщо щось може потребувати уваги'; + + @override + String get notificationYes => 'Так — стежити за своїм здоров\'ям'; + + @override + String get notificationOnlyImportant => + 'Так — тільки якщо щось важливе зміниться'; + + @override + String get notificationNo => 'Поки не впевнений'; + + @override + String get referralSourceTitle => 'Ви чули про Doctorina від лікаря?'; + + @override + String get referralSourceYes => 'Так'; + + @override + String get referralSourceNo => 'Ні'; + + @override + String get processingSectionLabel => 'АНАЛІЗУЄМО ВАШІ РЕЗУЛЬТАТИ'; + + @override + String get processingTitle => 'Персоналізація вашого досвіду'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Безмежний досвід з Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'ВАШ ПОМІЧНИК, ЯКИЙ ЗАВЖДИ ПОРУЧ'; + + @override + String get paywallEnableTrialToggle => + 'Ще не впевнені? Увімкніть безкоштовну пробну версію.'; + + @override + String get paywallPlanYear => 'Щорічний'; + + @override + String get paywallPlanMonthly => 'Щомісячний'; + + @override + String get paywallPlanWeek => 'Щотижневий'; + + @override + String get paywallPlanDaily => 'Щоденно'; + + @override + String get paywallPlanYearPrice => '\$39.99 (лише \$3.34/тиждень)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'ЗЕКОНОМІТЬ 58%'; + + @override + String get paywallContinueBtn => 'Продовжити'; + + @override + String get paywallStartTrialBtn => 'Почати безкоштовну пробну версію'; + + @override + String get paywallSubscriptionDisclaimer => + 'Передплата автоматично поновлюється. Скасуйте в будь-який час'; + + @override + String get paywallTermsPrivacy => + 'Умови обслуговування | Політика конфіденційності'; + + @override + String get paywallPerWeek => 'тиждень'; + + @override + String get processingLabel => 'Аналізуючи ваші результати'; + + @override + String get paywallCloseTooltip => 'Закрити навчання'; + + @override + String get paywallRestoreTooltip => 'Відновити покупки'; + + @override + String get paywallRestoreBtn => 'Відновити'; + + @override + String get paywallRestoreNoneFound => + 'Не знайдено активної підписки для відновлення.'; + + @override + String get paywallRestoreError => + 'Не вдалося відновити покупки. Будь ласка, спробуйте ще раз пізніше.'; + + @override + String get paywallPurchaseError => + 'Не вдалося завершити покупку. Будь ласка, спробуйте ще раз пізніше.'; + + @override + String get paywallTrialStep1Title => 'Сьогодні: Отримайте миттєвий доступ'; + + @override + String get paywallTrialStep1Description => + 'Відкрийте повний доступ, отримуйте відповіді на запитання про здоров\'я від ШІ в будь-який час.'; + + @override + String get paywallTrialStep2Title => 'День 2: Нагадування про тріал'; + + @override + String get paywallTrialStep2Description => + 'Ми надішлемо вам нагадування, що ваш пробний період незабаром закінчиться'; + + @override + String get paywallTrialStep3Title => 'День 3: Подовження'; + + @override + String paywallTrialStep3Description(String date) { + return 'З вас буде списано $date, скасуйте в будь-який час до.'; + } + + @override + String get paywallBenefitsHeader => 'ЩО ВКЛЮЧЕНО'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Приватно та безпечно'; + + @override + String get paywallBenefitAiAssistant => 'AI-асистент, 24/7'; + + @override + String get paywallBenefitInstantAnswers => + 'Миттєві відповіді на питання про здоров\'я'; + + @override + String get paywallBenefitScienceInsights => + 'Чіткі, науково обґрунтовані інсайти'; + + @override + String get paywallBenefitAutoSummaries => 'Автоматичні резюме розмов'; + + @override + String get paywallBenefitAnyLanguage => 'Будь-яка мова, у будь-який час'; + + @override + String get paywallPriceUnitPerWeek => 'за тиждень'; + + @override + String get paywallOfferTitle => 'Одноразова пропозиція'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% ЗНИЖКА'; + } + + @override + String get paywallOfferForeverBadge => 'НАЗАВЖДИ'; + + @override + String get paywallOfferDisclaimer => + 'Якщо ви закриєте свою одноразову пропозицію, вона зникне!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/міс'; + } + + @override + String get paywallOfferLowestPriceBadge => 'НАЙНИЖЧА ЦІНА ЗА УСЕ ЧАС'; + + @override + String get paywallOfferCancelAnytime => 'Скасувати в будь-який час'; + + @override + String get paywallOfferClaimButton => 'Отримати вашу пропозицію'; + + @override + String get paywallOfferAutoRenewable => 'Автоматично поновлювана підписка'; + + @override + String get paywallGiftBoxTitle => 'Спеціальний подарунок всередині'; + + @override + String get paywallGiftBoxSubtitle => + 'Один дотик, щоб відкрити вашу спеціальну пропозицію'; + + @override + String get paywallGiftBoxOpenButton => 'Відкрити зараз'; + + @override + String get paywallRetryLoadPricesError => + 'Не вдалося завантажити варіанти підписки. Будь ласка, спробуйте пізніше.'; + + @override + String get paywallPricesUnavailableTitle => + 'Не вдалося завантажити ціни підписок'; + + @override + String get paywallPricesUnavailableMessage => + 'Перевірте з\'єднання та спробуйте ще раз.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Спробуйте ще раз'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_ur.dart b/example/lib/src/generated/onboarding/onboarding_localization_ur.dart new file mode 100644 index 0000000..1612482 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_ur.dart @@ -0,0 +1,485 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Urdu (`ur`). +class OnboardingLocalizationUr extends OnboardingLocalization { + OnboardingLocalizationUr([String locale = 'ur']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'جدید ترین AI صحت کا معاون'; + + @override + String get welcomeScreenTitle => 'Doctorina میں خوش آمدید!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'تجربہ کار طبیبوں کی طرح علامات کا تجزیہ کرنے کے لیے ڈیزائن کیا گیا ہے — پیٹرن، وقت، اور سیاق و سباق کو سمجھ کر.'; + + @override + String get getStartedBtn => 'شروع کریں'; + + @override + String get alreadyHaveAccount => + 'کیا آپ کے پاس پہلے سے اکاؤنٹ ہے؟ لاگ ان کریں'; + + @override + String get termsConsent => 'جاری رکھنے پر، آپ ہماری'; + + @override + String get personalizationInterruptionTitle => + 'آئیں Doctorina کو آپ کے لیے ذاتی بنائیں'; + + @override + String get personalizationSectionLabel => 'ذاتی نوعیت'; + + @override + String get personalizationReasonTitle => 'آپ آج یہاں کیوں آئے ہیں؟'; + + @override + String get personalizationReasonSymptomsNow => + 'میں ابھی علامات محسوس کر رہا ہوں'; + + @override + String get personalizationReasonUnderstandChange => + 'میں صحت میں تبدیلی کو سمجھنا چاہتا ہوں'; + + @override + String get personalizationReasonRuleOutSerious => + 'میں کچھ سنجیدہ کو خارج کرنا چاہتا ہوں'; + + @override + String get personalizationReasonMonitoring => + 'میں اپنی صحت کی نگرانی فعال طور پر کر رہا ہوں'; + + @override + String get continueBtn => 'جاری رکھیں'; + + @override + String get captionEmpathyText => + 'جب آپ کی صحت میں کچھ تبدیلی آتی ہے تو یہ جاننا کہ کیا اہم ہے سب سے مشکل ہے۔'; + + @override + String get captionDifferentiatorText => + 'ڈاکٹرینا علامات کے پیٹرن اور وقت پر توجہ مرکوز کرتی ہے — وہی اشارے جو معالجین ابتدائی طور پر تلاش کرتے ہیں.'; + + @override + String get genderTitle => 'اپنا جنس منتخب کریں'; + + @override + String get genderSubtitle => + 'یہ ہمیں علامات کی تشریح کرنے اور زیادہ درست طریقے سے سفارشات دینے میں مدد کرتا ہے.'; + + @override + String get genderMale => 'مرد'; + + @override + String get genderFemale => 'عورت'; + + @override + String get genderPreferNotSay => 'کہنے کو ترجیح نہیں'; + + @override + String get ageTitle => 'آپ کی عمر کیا ہے؟'; + + @override + String get ageSubtitle => + 'عمر ہمیں صحت کے پیٹرن کا زیادہ درست اندازہ لگانے میں مدد کرتا ہے.'; + + @override + String get socialProofLargeTitle => + '48 ہزار سے زائد لوگ\nڈاکٹرینا کا انتخاب کر چکے ہیں'; + + @override + String get socialProofDisclaimer => + '*ڈاکٹرینا کے صارفین کی بنیاد کی شماریات پر مبنی'; + + @override + String get developedByDoctors => 'ڈاکٹروں کی جانب سے تیار کردہ\nڈاکٹر'; + + @override + String get quizStepLabel1 => 'مرحلہ 1/6'; + + @override + String get quizHealthSituationTitle => + 'آپ اپنی موجودہ صحت کی صورتحال کو کس طرح بیان کریں گے؟'; + + @override + String get quizHealthHealthy => 'میں عام طور پر صحت مند محسوس کرتا ہوں'; + + @override + String get quizHealthMinorConcerns => 'میرے پاس جاری معمولی خدشات ہیں'; + + @override + String get quizHealthKnownCondition => + 'میں ایک معروف حالت کا انتظام کر رہا ہوں'; + + @override + String get quizHealthUnresolved => + 'میں کسی غیر حل شدہ مسئلے کا سامنا کر رہا ہوں'; + + @override + String get quizStepLabel2 => 'مرحلہ 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'آپ عام طور پر ڈاکٹر سے کتنی بار ملتے ہیں؟'; + + @override + String get quizDoctorVisitRegular => 'باقاعدگی (چیک اپ / فالو اپ)'; + + @override + String get quizDoctorVisitOccasional => 'کبھی کبھار، جب کچھ غلط ہو'; + + @override + String get quizDoctorVisitRare => 'بہت کم، صرف ضرورت پڑنے پر'; + + @override + String get quizDoctorVisitAvoid => 'ڈاکٹروں کے پاس جانا پسند نہیں کرتے'; + + @override + String get quizDoctorVisitNever => 'میں نے کبھی ڈاکٹر سے ملاقات نہیں کی'; + + @override + String get quizStepLabel3 => 'مرحلہ 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'اب تک صحت کی دیکھ بھال کے ساتھ آپ کا سب سے بڑا چیلنج کیا رہا ہے؟'; + + @override + String get quizMultiSelectHint => 'جتنا چاہیں منتخب کریں'; + + @override + String get quizChallengeLongWait => 'طویل انتظار کے اوقات برائے ملاقاتیں'; + + @override + String get quizChallengeRushedVisits => 'ملاقاتیں جلدی محسوس ہوتی ہیں'; + + @override + String get quizChallengeCost => 'اعلی قیمت یا غیر واضح قیمت'; + + @override + String get quizChallengeHardExplain => 'سب کچھ واضح طور پر بیان کرنا مشکل ہے'; + + @override + String get quizChallengeConflictingAdvice => 'متضاد رائے یا مشورہ'; + + @override + String get quizChallengeNone => 'کوئی بڑی مسائل نہیں'; + + @override + String get quizStepLabel4 => 'مرحلہ 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'ملاقاتوں کے بعد، آپ کو بتایا گیا ہے اس بارے میں آپ کتنے پراعتماد ہیں؟'; + + @override + String get quizConfidenceNoRightAnswer => 'کوئی صحیح یا غلط جواب نہیں ہے۔'; + + @override + String get quizConfidenceVeryClear => 'بہت واضح ہے کہ کیا ہو رہا ہے'; + + @override + String get quizConfidenceSomewhatClear => 'کچھ واضح'; + + @override + String get quizConfidenceStillUncertain => 'ابھی بھی غیر یقینی'; + + @override + String get quizConfidenceMoreConfused => 'پہلے سے زیادہ الجھن میں'; + + @override + String get captionDiagnosisVsChange => + 'بہت سے لوگ تشخیص کے بعد نہیں جدوجہد کرتے بلکہ جب علامات وقت کے ساتھ بدلتی ہیں۔'; + + @override + String get quizStepLabel5 => 'مرحلہ 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'آپ کو کس حد تک محسوس ہوتا ہے کہ آپ کی تشویشات کا عموماً خیال رکھا جاتا ہے؟'; + + @override + String get quizConcernsAddressedSubtitle => 'آپ کی ذاتی محسوسات کی بنیاد پر'; + + @override + String get quizConcernsVeryWell => 'بہت اچھا'; + + @override + String get quizConcernsFairlyWell => 'کافی اچھا'; + + @override + String get quizConcernsNotVeryWell => 'زیادہ اچھا نہیں'; + + @override + String get quizConcernsVaries => 'یہ بہت مختلف ہے'; + + @override + String get quizStepLabel6 => 'مرحلہ 6/6'; + + @override + String get quizSelfResearchTitle => + 'ڈاکٹر سے ملنے سے پہلے، کیا آپ عام طور پر علامات کو خود سمجھنے کی کوشش کرتے ہیں؟'; + + @override + String get quizSelfResearchYes => + 'جی ہاں، میں تحقیق کرتا ہوں اور چیزوں کا ریکارڈ رکھتا ہوں'; + + @override + String get quizSelfResearchSometimes => 'کبھی کبھی'; + + @override + String get quizSelfResearchRarely => 'بہت کم'; + + @override + String get quizSelfResearchNo => + 'نہیں، میں مکمل طور پر پیشہ ور افراد پر انحصار کرتا ہوں'; + + @override + String get captionAvailabilityTitle => + 'صحت کے سوالات دفتر کے اوقات کی پیروی نہیں کرتے.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina ہمیشہ دستیاب ہے 24/7.'; + + @override + String get captionAvailabilityDescription => + 'وضاحت کو اگلی ملاقات کا انتظار نہیں کرنا چاہیے'; + + @override + String get notificationTitle => + 'کیا آپ چاہتے ہیں کہ ہم آپ کی صحت کی علامات پر نظر رکھیں؟'; + + @override + String get notificationDescription => + 'AI آپ کے علامات کی نگرانی کر سکتا ہے اور اگر کچھ توجہ کی ضرورت ہو تو آپ کو آگاہ کر سکتا ہے'; + + @override + String get notificationYes => 'جی ہاں — اپنی صحت پر نظر رکھیں'; + + @override + String get notificationOnlyImportant => + 'جی ہاں — صرف اگر کچھ اہم تبدیل ہوتا ہے'; + + @override + String get notificationNo => 'ابھی یقین نہیں ہے'; + + @override + String get referralSourceTitle => + 'کیا آپ نے ڈاکٹر سے ڈاکٹرینا کے بارے میں سنا؟'; + + @override + String get referralSourceYes => 'ہاں'; + + @override + String get referralSourceNo => 'نہیں'; + + @override + String get processingSectionLabel => 'آپ کے نتائج کا تجزیہ کر رہے ہیں'; + + @override + String get processingTitle => 'آپ کے تجربے کو ذاتی بنانا'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Doctorina Pro کے ساتھ لامحدود تجربہ'; + + @override + String get paywallAssistantTagline => 'آپ کا اسسٹنٹ جو ہمیشہ قریب ہے'; + + @override + String get paywallEnableTrialToggle => + 'ابھی تک یقین نہیں؟ مفت آزمائش فعال کریں.'; + + @override + String get paywallPlanYear => 'سالانہ'; + + @override + String get paywallPlanMonthly => 'ماہانہ'; + + @override + String get paywallPlanWeek => 'ہفتہ وار'; + + @override + String get paywallPlanDaily => 'روزانہ'; + + @override + String get paywallPlanYearPrice => '\$39.99 (صرف \$3.34/ہفتہ)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'SAVE 58%'; + + @override + String get paywallContinueBtn => 'جاری رکھیں'; + + @override + String get paywallStartTrialBtn => 'مفت آزمائش شروع کریں'; + + @override + String get paywallSubscriptionDisclaimer => + 'سبسکرپشن خود بخود تجدید ہو رہا ہے۔ کسی بھی وقت منسوخ کریں'; + + @override + String get paywallTermsPrivacy => + 'خدمات کی شرائط | رازداری کی پالیسی'; + + @override + String get paywallPerWeek => 'ہفتہ'; + + @override + String get processingLabel => 'آپ کے نتائج کا تجزیہ کیا جا رہا ہے'; + + @override + String get paywallCloseTooltip => 'آن بورڈنگ بند کریں'; + + @override + String get paywallRestoreTooltip => 'خریداری بحال کریں'; + + @override + String get paywallRestoreBtn => 'بحال کریں'; + + @override + String get paywallRestoreNoneFound => + 'بحالتی سبسکرپشن نہیں ملی جسے بحال کیا جا سکے.'; + + @override + String get paywallRestoreError => + 'خریداری کی بحالی میں ناکامی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔'; + + @override + String get paywallPurchaseError => + 'خریداری مکمل کرنے میں ناکامی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔'; + + @override + String get paywallTrialStep1Title => 'آج: فوری رسائی حاصل کریں'; + + @override + String get paywallTrialStep1Description => + 'مکمل رسائی حاصل کریں، کسی بھی وقت AI صحت کے جوابات حاصل کریں۔'; + + @override + String get paywallTrialStep2Title => 'دن 2: ٹرائل کی یاد دہانی'; + + @override + String get paywallTrialStep2Description => + 'ہم آپ کو یاد دہانی بھیجیں گے کہ آپ کا ٹرائل ختم ہونے والا ہے'; + + @override + String get paywallTrialStep3Title => 'دن 3: تجدید'; + + @override + String paywallTrialStep3Description(String date) { + return 'آپ کو $date کو چارج کیا جائے گا، کسی بھی وقت منسوخ کریں.'; + } + + @override + String get paywallBenefitsHeader => 'کیا شامل ہے'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'نجی اور محفوظ'; + + @override + String get paywallBenefitAiAssistant => 'AI اسسٹنٹ، 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'فوری صحت کے جوابات'; + + @override + String get paywallBenefitScienceInsights => + 'صاف، سائنسی بنیادوں پر مبنی بصیرت'; + + @override + String get paywallBenefitAutoSummaries => 'خودکار گفتگو کے خلاصے'; + + @override + String get paywallBenefitAnyLanguage => 'کسی بھی زبان، کسی بھی وقت'; + + @override + String get paywallPriceUnitPerWeek => 'فی ہفتہ'; + + @override + String get paywallOfferTitle => 'ایک بار کی پیشکش'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% کی چھوٹ'; + } + + @override + String get paywallOfferForeverBadge => 'ہمیشہ'; + + @override + String get paywallOfferDisclaimer => + 'ایک بار جب آپ اپنی پیشکش بند کر دیں گے، یہ ختم ہو جائے گی!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/ماہ'; + } + + @override + String get paywallOfferLowestPriceBadge => 'سب سے کم قیمت کبھی'; + + @override + String get paywallOfferCancelAnytime => 'کبھی بھی منسوخ کریں'; + + @override + String get paywallOfferClaimButton => 'اپنا آفر حاصل کریں'; + + @override + String get paywallOfferAutoRenewable => 'خودکار تجدید سبسکرپشن'; + + @override + String get paywallGiftBoxTitle => 'خاص تحفہ اندر'; + + @override + String get paywallGiftBoxSubtitle => 'ایک ٹیپ سے اپنی خاص پیشکش ظاہر کریں'; + + @override + String get paywallGiftBoxOpenButton => 'اب کھولیں'; + + @override + String get paywallRetryLoadPricesError => + 'سبسکرپشن کے اختیارات لوڈ کرنے میں ناکامی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔'; + + @override + String get paywallPricesUnavailableTitle => + 'سبسکرپشن کی قیمتیں لوڈ نہیں کی جا سکیں'; + + @override + String get paywallPricesUnavailableMessage => + 'اپنی کنکشن چیک کریں اور دوبارہ کوشش کریں'; + + @override + String get paywallPricesUnavailableRetryButton => 'دوبارہ کوشش کریں'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_uz.dart b/example/lib/src/generated/onboarding/onboarding_localization_uz.dart new file mode 100644 index 0000000..d2da25c --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_uz.dart @@ -0,0 +1,491 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Uzbek (`uz`). +class OnboardingLocalizationUz extends OnboardingLocalization { + OnboardingLocalizationUz([String locale = 'uz']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'Rivojlangan AI sog\'liqni saqlash yordamchisi'; + + @override + String get welcomeScreenTitle => 'Doctorina\'ga xush kelibsiz!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Tajribali kliniklar kabi simptomlarni tahlil qilish uchun mo\'ljallangan - naqshlar, vaqt va kontekstni tushunish orqali.'; + + @override + String get getStartedBtn => 'Boshlash'; + + @override + String get alreadyHaveAccount => + 'Allaqachon hisobingiz bormi? Kirish'; + + @override + String get termsConsent => + 'Davom etish orqali siz Xizmat shartlari | Maxfiylik siyosati bilan rozi bo\'lasiz'; + + @override + String get personalizationInterruptionTitle => + 'Doctorina ni siz uchun shaxsiylashtiraylik'; + + @override + String get personalizationSectionLabel => 'Shaxsiylashtirish'; + + @override + String get personalizationReasonTitle => + 'Bugun sizni bu yerga nima olib keldi?'; + + @override + String get personalizationReasonSymptomsNow => 'Men hozir simptomlarim bor'; + + @override + String get personalizationReasonUnderstandChange => + 'Men sog\'liq o\'zgarishini tushunmoqchiman'; + + @override + String get personalizationReasonRuleOutSerious => + 'jiddiy narsani istisno qilmoqchiman'; + + @override + String get personalizationReasonMonitoring => + 'Men salomatligimni proaktiv ravishda kuzataman'; + + @override + String get continueBtn => 'Davom etish'; + + @override + String get captionEmpathyText => + 'Sizning salomatligingizda biror narsa o\'zgarganda, nima muhimligini bilish eng qiyinidir.'; + + @override + String get captionDifferentiatorText => + 'Doctorina simptomlar naqshlari va vaqtiga e\'tibor qaratadi — shifokorlar dastlab qidiradigan bir xil signal.'; + + @override + String get genderTitle => 'Jinsingizni tanlang'; + + @override + String get genderSubtitle => + 'Bu bizga simptomlarni talqin qilish va tavsiyalarni aniqroq berishga yordam beradi'; + + @override + String get genderMale => 'Erkak'; + + @override + String get genderFemale => 'Ayol'; + + @override + String get genderPreferNotSay => 'Aytilmasini afzal ko\'raman'; + + @override + String get ageTitle => 'Yoshingiz nechida?'; + + @override + String get ageSubtitle => + 'Yosh bizga sog\'liqning tendentsiyalarini aniqroq baholashga yordam beradi'; + + @override + String get socialProofLargeTitle => + '48 mingdan ortiq odam\nDoctorina ni tanladi'; + + @override + String get socialProofDisclaimer => + '*Doctorina foydalanuvchilari statistikalariga asoslangan'; + + @override + String get developedByDoctors => 'Tayyorlangan\nShifokorlar tomonidan'; + + @override + String get quizStepLabel1 => '1/6-qadam'; + + @override + String get quizHealthSituationTitle => + 'Hozirgi sog\'lig\'ingizni qanday tasvirlaysiz?'; + + @override + String get quizHealthHealthy => 'Men umuman sog\'lom his qilaman'; + + @override + String get quizHealthMinorConcerns => + 'Men davom etayotgan kichik muammolarim bor'; + + @override + String get quizHealthKnownCondition => 'Men ma\'lum holatni boshqarayapman'; + + @override + String get quizHealthUnresolved => + 'Men hal qilinmagan bir narsani boshdan kechiryapman'; + + @override + String get quizStepLabel2 => '2/6-qadam'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Siz odatda qanchalik tez-tez shifokorga borasiz?'; + + @override + String get quizDoctorVisitRegular => 'Muntazam (tekshiruvlar / kuzatuvlar)'; + + @override + String get quizDoctorVisitOccasional => + 'Ba\'zan, biror narsa noto\'g\'ri bo\'lganda'; + + @override + String get quizDoctorVisitRare => 'Kamdan-kam, faqat zarur bo\'lganda'; + + @override + String get quizDoctorVisitAvoid => 'Shifokorlarga borishni oldini oling'; + + @override + String get quizDoctorVisitNever => 'Men hech qachon shifokorga bormaganman'; + + @override + String get quizStepLabel3 => '3/6-qadam'; + + @override + String get quizBiggestChallengeTitle => + 'Sizning sog\'liqni saqlash bilan bog\'liq eng katta muammoingiz nima? '; + + @override + String get quizMultiSelectHint => 'Xohlaganingizcha tanlang'; + + @override + String get quizChallengeLongWait => 'Qabul uchun uzoq kutish vaqtlar'; + + @override + String get quizChallengeRushedVisits => 'Tadbirlar shoshilinch tuyuladi'; + + @override + String get quizChallengeCost => 'Yuqori narx yoki noaniq narxlar'; + + @override + String get quizChallengeHardExplain => 'Hammasini aniq tushuntirish qiyin'; + + @override + String get quizChallengeConflictingAdvice => + 'Maqsadli fikrlar yoki maslahatlar'; + + @override + String get quizChallengeNone => 'Katta muammolar yo\'q'; + + @override + String get quizStepLabel4 => 'Qadam 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Qabuldan so\'ng, sizga aytilgan narsalarga qanchalik ishonasiz?'; + + @override + String get quizConfidenceNoRightAnswer => + 'To\'g\'ri yoki noto\'g\'ri javob yo\'q'; + + @override + String get quizConfidenceVeryClear => 'Nima bo\'layotgani haqida juda aniq'; + + @override + String get quizConfidenceSomewhatClear => 'Biroz aniq'; + + @override + String get quizConfidenceStillUncertain => 'Hali hamon aniq emasman'; + + @override + String get quizConfidenceMoreConfused => 'Oldingidan ko\'proq chalkashaman'; + + @override + String get captionDiagnosisVsChange => + 'Ko\'p odamlar tashxis qo\'yilgandan keyin emas, balki vaqt o\'tishi bilan simptomlar o\'zgarganda qiyinchiliklarga duch kelishadi.'; + + @override + String get quizStepLabel5 => 'Qadam 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'O\'zingizni xavotirlaringiz odatda qanday hal qilinadi deb his qilasiz?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Sizning subyektiv his-tuyg\'ularingizga asoslangan'; + + @override + String get quizConcernsVeryWell => 'Juda yaxshi'; + + @override + String get quizConcernsFairlyWell => 'Qarishiq yaxshi'; + + @override + String get quizConcernsNotVeryWell => 'Juda yaxshi emas'; + + @override + String get quizConcernsVaries => 'Bu juda farq qiladi'; + + @override + String get quizStepLabel6 => 'Qadam 6/6'; + + @override + String get quizSelfResearchTitle => + 'Doktorga borishdan oldin, odatda, simptomlarni o\'zingiz tushunishga harakat qilasizmi?'; + + @override + String get quizSelfResearchYes => 'Ha, men tadqiqot qilaman va kuzataman'; + + @override + String get quizSelfResearchSometimes => 'Ba\'zan'; + + @override + String get quizSelfResearchRarely => 'kamdan-kam'; + + @override + String get quizSelfResearchNo => + 'Yo\'q, men to\'liq professionalarga tayanaman'; + + @override + String get captionAvailabilityTitle => + 'Sog\'liq savollari ish vaqti bilan bog\'liq emas.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina haftaning 24/7 davomida mavjud.'; + + @override + String get captionAvailabilityDescription => + 'Aniqlik keyingi uchrashuvni kutmasligi kerak'; + + @override + String get notificationTitle => + 'Sizdan sog\'liq simptomlaringizni tekshirishni xohlaysizmi?'; + + @override + String get notificationDescription => + 'AI sizning simptomlaringizni kuzatib borishi va biror narsa e\'tiborni talab qilsa, sizni ogohlantirishi mumkin'; + + @override + String get notificationYes => 'Ha — salomatligimni kuzatib boring'; + + @override + String get notificationOnlyImportant => + 'Ha — faqat muhim o\'zgarishlar bo\'lsa'; + + @override + String get notificationNo => 'Hali ishonch hosil emas'; + + @override + String get referralSourceTitle => + 'Siz Doctorina haqida shifokordan eshitdingizmi?'; + + @override + String get referralSourceYes => 'Ha'; + + @override + String get referralSourceNo => 'Yo\'q'; + + @override + String get processingSectionLabel => 'Natijalaringizni tahlil qilmoqdamiz'; + + @override + String get processingTitle => 'Tajribangizni shaxsiylashtirish'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Cheksiz tajriba Doctorina Pro bilan'; + + @override + String get paywallAssistantTagline => + 'Sizning doimo yoningizda bo\'lgan yordamchingiz'; + + @override + String get paywallEnableTrialToggle => + 'Hali ishonchingiz komil emasmi? Bepul sinovni yoqish.'; + + @override + String get paywallPlanYear => 'Yillik'; + + @override + String get paywallPlanMonthly => 'Oylik'; + + @override + String get paywallPlanWeek => 'Haftalik'; + + @override + String get paywallPlanDaily => 'Kundalik'; + + @override + String get paywallPlanYearPrice => '39.99 dollar (faqat 3.34 dollar/hafta)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => '58% tejang'; + + @override + String get paywallContinueBtn => 'Davom etish'; + + @override + String get paywallStartTrialBtn => 'Bepul sinovni boshlash'; + + @override + String get paywallSubscriptionDisclaimer => + 'Obuna avtomatik ravishda yangilanadi. Istalgan vaqtda bekor qilishingiz mumkin'; + + @override + String get paywallTermsPrivacy => + 'Xizmat shartlari | Maxfiylik siyosati'; + + @override + String get paywallPerWeek => 'hafta'; + + @override + String get processingLabel => 'Natijalaringizni tahlil qilinmoqda'; + + @override + String get paywallCloseTooltip => 'O\'qitishni yopish'; + + @override + String get paywallRestoreTooltip => 'Sotib olishlarni tiklash'; + + @override + String get paywallRestoreBtn => 'Qaytarish'; + + @override + String get paywallRestoreNoneFound => + 'Qayta tiklash uchun faol obuna topilmadi'; + + @override + String get paywallRestoreError => + 'Xaridlarni tiklashda xato. Iltimos, keyinroq qayta urinib ko\'ring.'; + + @override + String get paywallPurchaseError => + 'Sotib olishni yakunlashda xato yuz berdi. Iltimos, keyinroq qayta urinib ko\'ring.'; + + @override + String get paywallTrialStep1Title => 'Bugun: Tezkor kirish oling'; + + @override + String get paywallTrialStep1Description => + 'To\'liq kirishni oching, har doim AI sog\'liq javoblarini oling.'; + + @override + String get paywallTrialStep2Title => '2-kun: Sinov eslatmasi'; + + @override + String get paywallTrialStep2Description => + 'Biz sizga sinov muddati tugashiga yaqinlashayotganingizni eslatamiz'; + + @override + String get paywallTrialStep3Title => '3-kun: Yangilanish'; + + @override + String paywallTrialStep3Description(String date) { + return 'Siz $date kuni to\'lanasiz, istalgan vaqtda bekor qilishingiz mumkin.'; + } + + @override + String get paywallBenefitsHeader => 'NIMA KIRITILGAN'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Shaxsiy va xavfsiz'; + + @override + String get paywallBenefitAiAssistant => 'AI yordamchisi, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Tez tibbiy javoblar'; + + @override + String get paywallBenefitScienceInsights => + 'Aniq, ilmiy asoslangan tushunchalar'; + + @override + String get paywallBenefitAutoSummaries => 'Avtomatik suhbat rezyumelari'; + + @override + String get paywallBenefitAnyLanguage => 'Har qanday til, har doim'; + + @override + String get paywallPriceUnitPerWeek => 'haftasiga'; + + @override + String get paywallOfferTitle => 'Bir martalik taklif'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% chegirma'; + } + + @override + String get paywallOfferForeverBadge => 'ABADIY'; + + @override + String get paywallOfferDisclaimer => + 'Bir martalik taklifingizni yopganingizda, u yo\'q bo\'ladi!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/oy'; + } + + @override + String get paywallOfferLowestPriceBadge => 'ENG YUQORIGI NARX'; + + @override + String get paywallOfferCancelAnytime => 'Istalgan paytda bekor qilish'; + + @override + String get paywallOfferClaimButton => 'Taklifingizni oling'; + + @override + String get paywallOfferAutoRenewable => 'Avtomatik yangilanish obunasi'; + + @override + String get paywallGiftBoxTitle => 'Ichida maxsus sovg\'a'; + + @override + String get paywallGiftBoxSubtitle => + 'Maxsus taklifingizni ochish uchun bitta bosish'; + + @override + String get paywallGiftBoxOpenButton => 'Hozir oching'; + + @override + String get paywallRetryLoadPricesError => + 'Obuna variantlarini yuklashda xato. Iltimos, keyinroq qayta urinib ko\'ring.'; + + @override + String get paywallPricesUnavailableTitle => + 'Obuna narxlarini yuklab bo\'lmadi'; + + @override + String get paywallPricesUnavailableMessage => + 'Aloqangizni tekshirib ko\'ring va qaytadan urinib ko\'ring.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Qayta urinib ko\'ring'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_vi.dart b/example/lib/src/generated/onboarding/onboarding_localization_vi.dart new file mode 100644 index 0000000..e56da33 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_vi.dart @@ -0,0 +1,492 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Vietnamese (`vi`). +class OnboardingLocalizationVi extends OnboardingLocalization { + OnboardingLocalizationVi([String locale = 'vi']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'TRỢ LÝ SỨC KHỎE AI TIÊN TIẾN'; + + @override + String get welcomeScreenTitle => 'Chào mừng đến với Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Được thiết kế để phân tích triệu chứng giống như các bác sĩ lâm sàng có kinh nghiệm — bằng cách hiểu các mẫu, thời gian và ngữ cảnh.'; + + @override + String get getStartedBtn => 'Bắt đầu'; + + @override + String get alreadyHaveAccount => + 'Bạn đã có tài khoản? Đăng Nhập'; + + @override + String get termsConsent => + 'Bằng cách tiếp tục, bạn đồng ý với\nĐiều khoản dịch vụ | Chính sách bảo mật'; + + @override + String get personalizationInterruptionTitle => + 'Hãy cá nhân hóa Doctorina cho bạn'; + + @override + String get personalizationSectionLabel => 'CÁ NHÂN HÓA'; + + @override + String get personalizationReasonTitle => 'Bạn đến đây hôm nay vì lý do gì?'; + + @override + String get personalizationReasonSymptomsNow => + 'Tôi đang trải qua triệu chứng ngay bây giờ'; + + @override + String get personalizationReasonUnderstandChange => + 'Tôi muốn hiểu một sự thay đổi về sức khỏe'; + + @override + String get personalizationReasonRuleOutSerious => + 'Tôi muốn loại trừ điều gì đó nghiêm trọng'; + + @override + String get personalizationReasonMonitoring => + 'Tôi đang theo dõi sức khỏe của mình một cách chủ động'; + + @override + String get continueBtn => 'Tiếp tục'; + + @override + String get captionEmpathyText => + 'Khi có điều gì đó thay đổi trong sức khỏe của bạn, việc biết điều gì quan trọng là khó nhất.'; + + @override + String get captionDifferentiatorText => + 'Doctorina tập trung vào các mẫu triệu chứng và thời gian — những tín hiệu mà các bác sĩ lâm sàng tìm kiếm từ sớm.'; + + @override + String get genderTitle => 'Chọn giới tính của bạn'; + + @override + String get genderSubtitle => + 'Điều này giúp chúng tôi diễn giải triệu chứng và đưa ra khuyến nghị chính xác hơn.'; + + @override + String get genderMale => 'Nam'; + + @override + String get genderFemale => 'Nữ'; + + @override + String get genderPreferNotSay => 'Không muốn nói'; + + @override + String get ageTitle => 'Bạn bao nhiêu tuổi?'; + + @override + String get ageSubtitle => + 'Tuổi giúp chúng tôi đánh giá các mô hình sức khỏe chính xác hơn.'; + + @override + String get socialProofLargeTitle => + 'Hơn 48k+ người\nđã chọn Doctorina'; + + @override + String get socialProofDisclaimer => + '*Dựa trên thống kê người dùng của Doctorina'; + + @override + String get developedByDoctors => 'Phát triển bởi\nBác sĩ'; + + @override + String get quizStepLabel1 => 'BƯỚC 1/6'; + + @override + String get quizHealthSituationTitle => + 'Bạn sẽ mô tả tình trạng sức khỏe hiện tại của mình như thế nào?'; + + @override + String get quizHealthHealthy => 'Tôi thường cảm thấy khỏe mạnh'; + + @override + String get quizHealthMinorConcerns => 'Tôi có những mối quan tâm nhỏ kéo dài'; + + @override + String get quizHealthKnownCondition => + 'Tôi đang quản lý một tình trạng đã biết'; + + @override + String get quizHealthUnresolved => + 'Tôi đang đối phó với một vấn đề chưa được giải quyết'; + + @override + String get quizStepLabel2 => 'BƯỚC 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => + 'Bạn thường gặp bác sĩ bao lâu một lần?'; + + @override + String get quizDoctorVisitRegular => 'Thường xuyên (kiểm tra / theo dõi)'; + + @override + String get quizDoctorVisitOccasional => + 'Thỉnh thoảng, khi có điều gì đó không ổn'; + + @override + String get quizDoctorVisitRare => 'Hiếm khi, chỉ khi cần thiết'; + + @override + String get quizDoctorVisitAvoid => 'Tránh đi khám bác sĩ'; + + @override + String get quizDoctorVisitNever => 'Tôi chưa bao giờ đến bác sĩ'; + + @override + String get quizStepLabel3 => 'BƯỚC 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Thách thức lớn nhất của bạn với chăm sóc sức khỏe cho đến nay là gì?'; + + @override + String get quizMultiSelectHint => 'Chọn bao nhiêu tùy thích'; + + @override + String get quizChallengeLongWait => 'Thời gian chờ lâu cho các cuộc hẹn'; + + @override + String get quizChallengeRushedVisits => 'Các cuộc hẹn cảm thấy vội vã'; + + @override + String get quizChallengeCost => 'Chi phí cao hoặc giá không rõ ràng'; + + @override + String get quizChallengeHardExplain => + 'Khó để giải thích mọi thứ một cách rõ ràng'; + + @override + String get quizChallengeConflictingAdvice => + 'Ý kiến hoặc lời khuyên mâu thuẫn'; + + @override + String get quizChallengeNone => 'Không có vấn đề lớn'; + + @override + String get quizStepLabel4 => 'BƯỚC 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Sau các cuộc hẹn, bạn cảm thấy tự tin như thế nào về những gì bạn đã được nói?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Không có câu trả lời đúng hay sai.'; + + @override + String get quizConfidenceVeryClear => 'Rất rõ ràng về những gì đang xảy ra'; + + @override + String get quizConfidenceSomewhatClear => 'Hơi rõ ràng'; + + @override + String get quizConfidenceStillUncertain => 'Vẫn không chắc chắn'; + + @override + String get quizConfidenceMoreConfused => 'Bối rối hơn trước'; + + @override + String get captionDiagnosisVsChange => + 'Nhiều người gặp khó khăn không phải sau khi chẩn đoán mà khi triệu chứng thay đổi theo thời gian.'; + + @override + String get quizStepLabel5 => 'BƯỚC 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Bạn cảm thấy mối quan tâm của mình thường được giải quyết như thế nào?'; + + @override + String get quizConcernsAddressedSubtitle => + 'Dựa trên cảm giác chủ quan của bạn'; + + @override + String get quizConcernsVeryWell => 'Rất tốt'; + + @override + String get quizConcernsFairlyWell => 'Khá tốt'; + + @override + String get quizConcernsNotVeryWell => 'Không được tốt lắm'; + + @override + String get quizConcernsVaries => 'Nó thay đổi rất nhiều'; + + @override + String get quizStepLabel6 => 'BƯỚC 6/6'; + + @override + String get quizSelfResearchTitle => + 'Trước khi gặp bác sĩ, bạn thường cố gắng tự hiểu các triệu chứng không?'; + + @override + String get quizSelfResearchYes => 'Có, tôi nghiên cứu và theo dõi mọi thứ'; + + @override + String get quizSelfResearchSometimes => 'Đôi khi'; + + @override + String get quizSelfResearchRarely => 'Hiếm khi'; + + @override + String get quizSelfResearchNo => + 'Không, tôi hoàn toàn dựa vào các chuyên gia'; + + @override + String get captionAvailabilityTitle => + 'Câu hỏi về sức khỏe không theo giờ làm việc.'; + + @override + String get captionAvailabilitySupport => + 'Doctorina có có sẵn 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Sự rõ ràng không nên phải chờ đến cuộc hẹn tiếp theo.'; + + @override + String get notificationTitle => + 'Bạn có muốn chúng tôi kiểm tra tình trạng sức khỏe của bạn không?'; + + @override + String get notificationDescription => + 'AI có thể theo dõi triệu chứng của bạn và cảnh báo bạn nếu có điều gì cần chú ý'; + + @override + String get notificationYes => 'Có — theo dõi sức khỏe của tôi'; + + @override + String get notificationOnlyImportant => + 'Có — chỉ khi có điều gì quan trọng thay đổi'; + + @override + String get notificationNo => 'Chưa chắc chắn'; + + @override + String get referralSourceTitle => + 'Bạn có nghe về Doctorina từ một bác sĩ không?'; + + @override + String get referralSourceYes => 'Có'; + + @override + String get referralSourceNo => 'Không'; + + @override + String get processingSectionLabel => 'ĐANG PHÂN TÍCH KẾT QUẢ CỦA BẠN'; + + @override + String get processingTitle => 'Cá nhân hóa trải nghiệm của bạn'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Trải nghiệm không giới hạn với Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'TRỢ LÝ CỦA BẠN LUÔN Ở GẦN'; + + @override + String get paywallEnableTrialToggle => + 'Chưa chắc chắn? Kích hoạt dùng thử miễn phí.'; + + @override + String get paywallPlanYear => 'Hàng năm'; + + @override + String get paywallPlanMonthly => 'Hàng tháng'; + + @override + String get paywallPlanWeek => 'Hàng tuần'; + + @override + String get paywallPlanDaily => 'Hàng ngày'; + + @override + String get paywallPlanYearPrice => '39,99 USD (chỉ 3,34 USD/tuần)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'TIẾT KIỆM 58%'; + + @override + String get paywallContinueBtn => 'Tiếp tục'; + + @override + String get paywallStartTrialBtn => 'Bắt đầu dùng thử miễn phí'; + + @override + String get paywallSubscriptionDisclaimer => + 'Gói đăng ký sẽ tự động gia hạn. Hủy bất cứ lúc nào'; + + @override + String get paywallTermsPrivacy => + 'Điều khoản dịch vụ | Chính sách bảo mật'; + + @override + String get paywallPerWeek => 'tuần'; + + @override + String get processingLabel => 'Đang phân tích kết quả của bạn'; + + @override + String get paywallCloseTooltip => 'Đóng hướng dẫn'; + + @override + String get paywallRestoreTooltip => 'Khôi phục giao dịch'; + + @override + String get paywallRestoreBtn => 'Khôi phục'; + + @override + String get paywallRestoreNoneFound => + 'Không tìm thấy đăng ký hoạt động để khôi phục.'; + + @override + String get paywallRestoreError => + 'Không thể khôi phục giao dịch mua. Vui lòng thử lại sau.'; + + @override + String get paywallPurchaseError => + 'Không thể hoàn tất giao dịch. Vui lòng thử lại sau.'; + + @override + String get paywallTrialStep1Title => + 'Hôm nay: Nhận quyền truy cập ngay lập tức'; + + @override + String get paywallTrialStep1Description => + 'Mở khóa quyền truy cập đầy đủ, nhận câu trả lời sức khỏe AI, bất cứ lúc nào.'; + + @override + String get paywallTrialStep2Title => 'Ngày 2: Nhắc nhở thử nghiệm'; + + @override + String get paywallTrialStep2Description => + 'Chúng tôi sẽ gửi cho bạn một lời nhắc rằng thử nghiệm của bạn sắp kết thúc'; + + @override + String get paywallTrialStep3Title => 'Ngày 3: Gia hạn'; + + @override + String paywallTrialStep3Description(String date) { + return 'Bạn sẽ bị tính phí vào $date, hủy bất cứ lúc nào trước đó.'; + } + + @override + String get paywallBenefitsHeader => 'CÓ GÌ TRONG'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Riêng tư và an toàn'; + + @override + String get paywallBenefitAiAssistant => 'Trợ lý AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => + 'Câu trả lời sức khỏe ngay lập tức'; + + @override + String get paywallBenefitScienceInsights => + 'Thông tin rõ ràng, dựa trên khoa học'; + + @override + String get paywallBenefitAutoSummaries => 'Tóm tắt cuộc trò chuyện tự động'; + + @override + String get paywallBenefitAnyLanguage => 'Bất kỳ ngôn ngữ nào, bất cứ lúc nào'; + + @override + String get paywallPriceUnitPerWeek => 'mỗi tuần'; + + @override + String get paywallOfferTitle => 'Ưu đãi một lần'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% GIẢM GIÁ'; + } + + @override + String get paywallOfferForeverBadge => 'MÃI MÃI'; + + @override + String get paywallOfferDisclaimer => + 'Khi bạn đóng ưu đãi một lần của mình, nó sẽ biến mất!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/tháng'; + } + + @override + String get paywallOfferLowestPriceBadge => 'GIÁ THẤP NHẤT TỪ TRƯỚC ĐẾN NAY'; + + @override + String get paywallOfferCancelAnytime => 'Hủy bất cứ lúc nào'; + + @override + String get paywallOfferClaimButton => 'Nhận ưu đãi của bạn'; + + @override + String get paywallOfferAutoRenewable => 'Đăng ký tự động gia hạn'; + + @override + String get paywallGiftBoxTitle => 'Quà tặng đặc biệt bên trong'; + + @override + String get paywallGiftBoxSubtitle => + 'Chạm một lần để tiết lộ ưu đãi đặc biệt của bạn'; + + @override + String get paywallGiftBoxOpenButton => 'Mở ngay'; + + @override + String get paywallRetryLoadPricesError => + 'Không thể tải tùy chọn đăng ký. Vui lòng thử lại sau.'; + + @override + String get paywallPricesUnavailableTitle => 'Không thể tải giá đăng ký'; + + @override + String get paywallPricesUnavailableMessage => + 'Kiểm tra kết nối của bạn và thử lại.'; + + @override + String get paywallPricesUnavailableRetryButton => 'Thử lại'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_zh.dart b/example/lib/src/generated/onboarding/onboarding_localization_zh.dart new file mode 100644 index 0000000..9ad5fe3 --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_zh.dart @@ -0,0 +1,1324 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Chinese (`zh`). +class OnboardingLocalizationZh extends OnboardingLocalization { + OnboardingLocalizationZh([String locale = 'zh']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => '先进的人工智能健康助手'; + + @override + String get welcomeScreenTitle => '欢迎来到Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => '旨在像经验丰富的临床医生一样分析症状——通过理解模式、时机和背景。'; + + @override + String get getStartedBtn => '开始'; + + @override + String get alreadyHaveAccount => '已经有账户了吗? 登录'; + + @override + String get termsConsent => + '继续即表示您同意我们的\n服务条款 | 隐私政策'; + + @override + String get personalizationInterruptionTitle => + '让我们为您个性化 Doctorina'; + + @override + String get personalizationSectionLabel => '个性化'; + + @override + String get personalizationReasonTitle => '你今天来这里的原因是什么?'; + + @override + String get personalizationReasonSymptomsNow => '我现在有症状'; + + @override + String get personalizationReasonUnderstandChange => '我想了解健康变化'; + + @override + String get personalizationReasonRuleOutSerious => '我想排除一些严重的问题'; + + @override + String get personalizationReasonMonitoring => '我在主动监测我的健康'; + + @override + String get continueBtn => '继续'; + + @override + String get captionEmpathyText => '当你的健康发生变化时,了解重要的事情是最困难的。'; + + @override + String get captionDifferentiatorText => + 'Doctorina专注于症状模式和时机 — 这是临床医生早期寻找的相同信号。'; + + @override + String get genderTitle => '选择您的性别'; + + @override + String get genderSubtitle => '这有助于我们更准确地解释症状并给出建议'; + + @override + String get genderMale => '男性'; + + @override + String get genderFemale => '女性'; + + @override + String get genderPreferNotSay => '不愿透露'; + + @override + String get ageTitle => '你的年龄是多少?'; + + @override + String get ageSubtitle => '年龄帮助我们更准确地评估健康模式'; + + @override + String get socialProofLargeTitle => '超过48k+人\n选择了Doctorina'; + + @override + String get socialProofDisclaimer => '*基于Doctorina用户基础统计'; + + @override + String get developedByDoctors => '由 医生 开发'; + + @override + String get quizStepLabel1 => '步骤 1/6'; + + @override + String get quizHealthSituationTitle => '您如何描述您当前的健康状况?'; + + @override + String get quizHealthHealthy => '我通常感觉健康'; + + @override + String get quizHealthMinorConcerns => '我有持续的轻微担忧'; + + @override + String get quizHealthKnownCondition => '我正在管理已知的病症'; + + @override + String get quizHealthUnresolved => '我正在处理一些未解决的问题'; + + @override + String get quizStepLabel2 => '步骤 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => '你通常多久看一次医生?'; + + @override + String get quizDoctorVisitRegular => '定期(检查/跟进)'; + + @override + String get quizDoctorVisitOccasional => '偶尔,当有问题时'; + + @override + String get quizDoctorVisitRare => '很少,仅在必要时'; + + @override + String get quizDoctorVisitAvoid => '避免看医生'; + + @override + String get quizDoctorVisitNever => '我从未看过医生'; + + @override + String get quizStepLabel3 => '步骤 3/6'; + + @override + String get quizBiggestChallengeTitle => '到目前为止,您在医疗保健方面最大的挑战是什么?'; + + @override + String get quizMultiSelectHint => '可以选择多个'; + + @override + String get quizChallengeLongWait => '预约等待时间长'; + + @override + String get quizChallengeRushedVisits => '就诊感觉匆忙'; + + @override + String get quizChallengeCost => '高成本或不明确的定价'; + + @override + String get quizChallengeHardExplain => '很难清楚地解释一切'; + + @override + String get quizChallengeConflictingAdvice => '相互矛盾的意见或建议'; + + @override + String get quizChallengeNone => '没有重大问题'; + + @override + String get quizStepLabel4 => '步骤 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => '就诊后,您对医生所说的内容有多自信?'; + + @override + String get quizConfidenceNoRightAnswer => '没有对或错的答案'; + + @override + String get quizConfidenceVeryClear => '对发生的事情非常清楚'; + + @override + String get quizConfidenceSomewhatClear => '有点清楚'; + + @override + String get quizConfidenceStillUncertain => '仍然不确定'; + + @override + String get quizConfidenceMoreConfused => '比之前更困惑'; + + @override + String get captionDiagnosisVsChange => + '许多 人们在诊断后并不感到挣扎 ,而是在症状随着时间变化时。'; + + @override + String get quizStepLabel5 => '步骤 5/6'; + + @override + String get quizConcernsAddressedTitle => '您觉得您的担忧通常得到多好的解决?'; + + @override + String get quizConcernsAddressedSubtitle => '基于您的主观感受'; + + @override + String get quizConcernsVeryWell => '很好'; + + @override + String get quizConcernsFairlyWell => '相当好'; + + @override + String get quizConcernsNotVeryWell => '不太好'; + + @override + String get quizConcernsVaries => '变化很大'; + + @override + String get quizStepLabel6 => '步骤 6/6'; + + @override + String get quizSelfResearchTitle => '在看医生之前,您通常会尝试自己理解症状吗?'; + + @override + String get quizSelfResearchYes => '是的,我会研究和跟踪事情'; + + @override + String get quizSelfResearchSometimes => '有时'; + + @override + String get quizSelfResearchRarely => '很少'; + + @override + String get quizSelfResearchNo => '不,我完全依赖专业人士'; + + @override + String get captionAvailabilityTitle => '健康问题 不受 办公时间限制。'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 全天候 24/7 可用。'; + + @override + String get captionAvailabilityDescription => '清晰不应等待下一个预约'; + + @override + String get notificationTitle => '您希望我们关注您的健康症状吗?'; + + @override + String get notificationDescription => 'AI可以监测您的症状,并在需要关注时提醒您'; + + @override + String get notificationYes => '是 — 关注我的健康'; + + @override + String get notificationOnlyImportant => '是 — 仅在重要事项发生变化时'; + + @override + String get notificationNo => '还不确定'; + + @override + String get referralSourceTitle => '您是从医生那里听说Doctorina的吗?'; + + @override + String get referralSourceYes => '是'; + + @override + String get referralSourceNo => '没有'; + + @override + String get processingSectionLabel => '分析您的结果'; + + @override + String get processingTitle => '个性化您的体验'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => '与
Doctorina Pro的无限体验'; + + @override + String get paywallAssistantTagline => '您的助手,随时在您身边'; + + @override + String get paywallEnableTrialToggle => '还不确定?启用免费试用。'; + + @override + String get paywallPlanYear => '年度'; + + @override + String get paywallPlanMonthly => '每月'; + + @override + String get paywallPlanWeek => '每周'; + + @override + String get paywallPlanDaily => '每日'; + + @override + String get paywallPlanYearPrice => '39.99美元(每周仅3.34美元)'; + + @override + String get paywallPlanWeekPrice => '¥27.99'; + + @override + String get paywallSaveBadge => '节省58%'; + + @override + String get paywallContinueBtn => '继续'; + + @override + String get paywallStartTrialBtn => '开始免费试用'; + + @override + String get paywallSubscriptionDisclaimer => '订阅为自动续订。随时取消'; + + @override + String get paywallTermsPrivacy => + '服务条款 | 隐私政策'; + + @override + String get paywallPerWeek => '周'; + + @override + String get processingLabel => '正在分析您的结果'; + + @override + String get paywallCloseTooltip => '关闭入门'; + + @override + String get paywallRestoreTooltip => '恢复购买'; + + @override + String get paywallRestoreBtn => '恢复'; + + @override + String get paywallRestoreNoneFound => '未找到可恢复的有效订阅'; + + @override + String get paywallRestoreError => '恢复购买失败。请稍后再试。'; + + @override + String get paywallPurchaseError => '购买未完成。请稍后再试。'; + + @override + String get paywallTrialStep1Title => '今天:立即获取访问权限'; + + @override + String get paywallTrialStep1Description => '解锁完整访问权限,随时获取人工智能健康答案。'; + + @override + String get paywallTrialStep2Title => '第二天:试用提醒'; + + @override + String get paywallTrialStep2Description => '我们会提醒您试用即将结束'; + + @override + String get paywallTrialStep3Title => '第3天:续订'; + + @override + String paywallTrialStep3Description(String date) { + return '您将在 $date 被收费,随时可以在之前取消。'; + } + + @override + String get paywallBenefitsHeader => '包含内容'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => '私密且安全'; + + @override + String get paywallBenefitAiAssistant => 'AI助手,24/7'; + + @override + String get paywallBenefitInstantAnswers => '即时健康答案'; + + @override + String get paywallBenefitScienceInsights => '清晰的基于科学的见解'; + + @override + String get paywallBenefitAutoSummaries => '自动对话摘要'; + + @override + String get paywallBenefitAnyLanguage => '任何语言,随时可用'; + + @override + String get paywallPriceUnitPerWeek => '每周'; + + @override + String get paywallOfferTitle => '一次性优惠'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% 折扣'; + } + + @override + String get paywallOfferForeverBadge => '永远'; + + @override + String get paywallOfferDisclaimer => '一旦您关闭一次性优惠,它就消失了!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/月'; + } + + @override + String get paywallOfferLowestPriceBadge => '史上最低价'; + + @override + String get paywallOfferCancelAnytime => '随时取消'; + + @override + String get paywallOfferClaimButton => '领取您的优惠'; + + @override + String get paywallOfferAutoRenewable => '自动续订订阅'; + + @override + String get paywallGiftBoxTitle => '里面有特别的礼物'; + + @override + String get paywallGiftBoxSubtitle => '一键揭晓您的特别优惠'; + + @override + String get paywallGiftBoxOpenButton => '立即打开'; + + @override + String get paywallRetryLoadPricesError => '无法加载订阅选项。请稍后再试。'; + + @override + String get paywallPricesUnavailableTitle => '无法加载订阅价格'; + + @override + String get paywallPricesUnavailableMessage => '检查您的连接并重试。'; + + @override + String get paywallPricesUnavailableRetryButton => '再试一次'; + + @override + String get skipOnboardingButton => 'Skip'; +} + +/// The translations for Chinese, as used in China (`zh_CN`). +class OnboardingLocalizationZhCn extends OnboardingLocalizationZh { + OnboardingLocalizationZhCn() : super('zh_CN'); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => '先进的人工智能健康助手'; + + @override + String get welcomeScreenTitle => '欢迎来到Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => '旨在像经验丰富的临床医生一样分析症状——通过理解模式、时机和背景。'; + + @override + String get getStartedBtn => '开始'; + + @override + String get alreadyHaveAccount => '已经有账户了吗? 登录'; + + @override + String get termsConsent => + '继续即表示您同意我们的\n服务条款 | 隐私政策'; + + @override + String get personalizationInterruptionTitle => + '让我们为您个性化 Doctorina'; + + @override + String get personalizationSectionLabel => '个性化'; + + @override + String get personalizationReasonTitle => '你今天来这里的原因是什么?'; + + @override + String get personalizationReasonSymptomsNow => '我现在有症状'; + + @override + String get personalizationReasonUnderstandChange => '我想了解健康变化'; + + @override + String get personalizationReasonRuleOutSerious => '我想排除一些严重的问题'; + + @override + String get personalizationReasonMonitoring => '我在主动监测我的健康'; + + @override + String get continueBtn => '继续'; + + @override + String get captionEmpathyText => '当你的健康发生变化时,了解重要的事情是最困难的。'; + + @override + String get captionDifferentiatorText => + 'Doctorina专注于症状模式和时机 — 这是临床医生早期寻找的相同信号。'; + + @override + String get genderTitle => '选择您的性别'; + + @override + String get genderSubtitle => '这有助于我们更准确地解释症状并给出建议'; + + @override + String get genderMale => '男性'; + + @override + String get genderFemale => '女性'; + + @override + String get genderPreferNotSay => '不愿透露'; + + @override + String get ageTitle => '你的年龄是多少?'; + + @override + String get ageSubtitle => '年龄帮助我们更准确地评估健康模式'; + + @override + String get socialProofLargeTitle => '超过48k+人\n选择了Doctorina'; + + @override + String get socialProofDisclaimer => '*基于Doctorina用户基础统计'; + + @override + String get developedByDoctors => '由 医生 开发'; + + @override + String get quizStepLabel1 => '步骤 1/6'; + + @override + String get quizHealthSituationTitle => '您如何描述您当前的健康状况?'; + + @override + String get quizHealthHealthy => '我通常感觉健康'; + + @override + String get quizHealthMinorConcerns => '我有持续的轻微担忧'; + + @override + String get quizHealthKnownCondition => '我正在管理已知的病症'; + + @override + String get quizHealthUnresolved => '我正在处理一些未解决的问题'; + + @override + String get quizStepLabel2 => '步骤 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => '你通常多久看一次医生?'; + + @override + String get quizDoctorVisitRegular => '定期(检查/跟进)'; + + @override + String get quizDoctorVisitOccasional => '偶尔,当有问题时'; + + @override + String get quizDoctorVisitRare => '很少,仅在必要时'; + + @override + String get quizDoctorVisitAvoid => '避免看医生'; + + @override + String get quizDoctorVisitNever => '我从未看过医生'; + + @override + String get quizStepLabel3 => '步骤 3/6'; + + @override + String get quizBiggestChallengeTitle => '到目前为止,您在医疗保健方面最大的挑战是什么?'; + + @override + String get quizMultiSelectHint => '可以选择多个'; + + @override + String get quizChallengeLongWait => '预约等待时间长'; + + @override + String get quizChallengeRushedVisits => '就诊感觉匆忙'; + + @override + String get quizChallengeCost => '高成本或不明确的定价'; + + @override + String get quizChallengeHardExplain => '很难清楚地解释一切'; + + @override + String get quizChallengeConflictingAdvice => '相互矛盾的意见或建议'; + + @override + String get quizChallengeNone => '没有重大问题'; + + @override + String get quizStepLabel4 => '步骤 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => '就诊后,您对医生所说的内容有多自信?'; + + @override + String get quizConfidenceNoRightAnswer => '没有对或错的答案'; + + @override + String get quizConfidenceVeryClear => '对发生的事情非常清楚'; + + @override + String get quizConfidenceSomewhatClear => '有点清楚'; + + @override + String get quizConfidenceStillUncertain => '仍然不确定'; + + @override + String get quizConfidenceMoreConfused => '比之前更困惑'; + + @override + String get captionDiagnosisVsChange => + '许多 人们在诊断后并不感到挣扎 ,而是在症状随着时间变化时。'; + + @override + String get quizStepLabel5 => '步骤 5/6'; + + @override + String get quizConcernsAddressedTitle => '您觉得您的担忧通常得到多好的解决?'; + + @override + String get quizConcernsAddressedSubtitle => '基于您的主观感受'; + + @override + String get quizConcernsVeryWell => '很好'; + + @override + String get quizConcernsFairlyWell => '相当好'; + + @override + String get quizConcernsNotVeryWell => '不太好'; + + @override + String get quizConcernsVaries => '变化很大'; + + @override + String get quizStepLabel6 => '步骤 6/6'; + + @override + String get quizSelfResearchTitle => '在看医生之前,您通常会尝试自己理解症状吗?'; + + @override + String get quizSelfResearchYes => '是的,我会研究和跟踪事情'; + + @override + String get quizSelfResearchSometimes => '有时'; + + @override + String get quizSelfResearchRarely => '很少'; + + @override + String get quizSelfResearchNo => '不,我完全依赖专业人士'; + + @override + String get captionAvailabilityTitle => '健康问题 不受 办公时间限制。'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 全天候 24/7 可用。'; + + @override + String get captionAvailabilityDescription => '清晰不应等待下一个预约'; + + @override + String get notificationTitle => '您希望我们关注您的健康症状吗?'; + + @override + String get notificationDescription => 'AI可以监测您的症状,并在需要关注时提醒您'; + + @override + String get notificationYes => '是 — 关注我的健康'; + + @override + String get notificationOnlyImportant => '是 — 仅在重要事项发生变化时'; + + @override + String get notificationNo => '还不确定'; + + @override + String get referralSourceTitle => '您是从医生那里听说Doctorina的吗?'; + + @override + String get referralSourceYes => '是'; + + @override + String get referralSourceNo => '没有'; + + @override + String get processingSectionLabel => '分析您的结果'; + + @override + String get processingTitle => '个性化您的体验'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => '与
Doctorina Pro的无限体验'; + + @override + String get paywallAssistantTagline => '您的助手,随时在您身边'; + + @override + String get paywallEnableTrialToggle => '还不确定?启用免费试用。'; + + @override + String get paywallPlanYear => '年度'; + + @override + String get paywallPlanMonthly => '每月'; + + @override + String get paywallPlanWeek => '每周'; + + @override + String get paywallPlanDaily => '每日'; + + @override + String get paywallPlanYearPrice => '39.99美元(每周仅3.34美元)'; + + @override + String get paywallPlanWeekPrice => '¥27.99'; + + @override + String get paywallSaveBadge => '节省58%'; + + @override + String get paywallContinueBtn => '继续'; + + @override + String get paywallStartTrialBtn => '开始免费试用'; + + @override + String get paywallSubscriptionDisclaimer => '订阅为自动续订。随时取消'; + + @override + String get paywallTermsPrivacy => + '服务条款 | 隐私政策'; + + @override + String get paywallPerWeek => '周'; + + @override + String get processingLabel => '正在分析您的结果'; + + @override + String get paywallCloseTooltip => '关闭入门'; + + @override + String get paywallRestoreTooltip => '恢复购买'; + + @override + String get paywallRestoreBtn => '恢复'; + + @override + String get paywallRestoreNoneFound => '未找到可恢复的有效订阅'; + + @override + String get paywallRestoreError => '恢复购买失败。请稍后再试。'; + + @override + String get paywallPurchaseError => '购买未完成。请稍后再试。'; + + @override + String get paywallTrialStep1Title => '今天:立即获取访问权限'; + + @override + String get paywallTrialStep1Description => '解锁完整访问权限,随时获取人工智能健康答案。'; + + @override + String get paywallTrialStep2Title => '第二天:试用提醒'; + + @override + String get paywallTrialStep2Description => '我们会提醒您试用即将结束'; + + @override + String get paywallTrialStep3Title => '第3天:续订'; + + @override + String paywallTrialStep3Description(String date) { + return '您将在 $date 被收费,随时可以在之前取消。'; + } + + @override + String get paywallBenefitsHeader => '包含内容'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => '私密且安全'; + + @override + String get paywallBenefitAiAssistant => 'AI助手,24/7'; + + @override + String get paywallBenefitInstantAnswers => '即时健康答案'; + + @override + String get paywallBenefitScienceInsights => '清晰的基于科学的见解'; + + @override + String get paywallBenefitAutoSummaries => '自动对话摘要'; + + @override + String get paywallBenefitAnyLanguage => '任何语言,随时可用'; + + @override + String get paywallPriceUnitPerWeek => '每周'; + + @override + String get paywallOfferTitle => '一次性优惠'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% 折扣'; + } + + @override + String get paywallOfferForeverBadge => '永远'; + + @override + String get paywallOfferDisclaimer => '一旦您关闭一次性优惠,它就消失了!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/月'; + } + + @override + String get paywallOfferLowestPriceBadge => '史上最低价'; + + @override + String get paywallOfferCancelAnytime => '随时取消'; + + @override + String get paywallOfferClaimButton => '领取您的优惠'; + + @override + String get paywallOfferAutoRenewable => '自动续订订阅'; + + @override + String get paywallGiftBoxTitle => '里面有特别的礼物'; + + @override + String get paywallGiftBoxSubtitle => '一键揭晓您的特别优惠'; + + @override + String get paywallGiftBoxOpenButton => '立即打开'; + + @override + String get paywallRetryLoadPricesError => '无法加载订阅选项。请稍后再试。'; + + @override + String get paywallPricesUnavailableTitle => '无法加载订阅价格'; + + @override + String get paywallPricesUnavailableMessage => '检查您的连接并重试。'; + + @override + String get paywallPricesUnavailableRetryButton => '再试一次'; + + @override + String get skipOnboardingButton => 'Skip'; +} + +/// The translations for Chinese, as used in Hong Kong (`zh_HK`). +class OnboardingLocalizationZhHk extends OnboardingLocalizationZh { + OnboardingLocalizationZhHk() : super('zh_HK'); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => '先進的人工智能健康助手'; + + @override + String get welcomeScreenTitle => '歡迎來到Doctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => '旨在像經驗豐富的臨床醫生一樣分析症狀——通過理解模式、時間和背景。'; + + @override + String get getStartedBtn => '開始使用'; + + @override + String get alreadyHaveAccount => '已經有帳戶了嗎? 登入'; + + @override + String get termsConsent => + '繼續即表示您同意我們的\n服務條款 | 私隱政策'; + + @override + String get personalizationInterruptionTitle => + '讓我們為你個性化 Doctorina'; + + @override + String get personalizationSectionLabel => '個人化'; + + @override + String get personalizationReasonTitle => '你今天來這裡的原因是什麼?'; + + @override + String get personalizationReasonSymptomsNow => '我現在有症狀'; + + @override + String get personalizationReasonUnderstandChange => '我想了解健康變化'; + + @override + String get personalizationReasonRuleOutSerious => '我想排除一些嚴重的問題'; + + @override + String get personalizationReasonMonitoring => '我正在主動監測我的健康'; + + @override + String get continueBtn => '繼續'; + + @override + String get captionEmpathyText => '當你的健康出現變化時,最難的是知道什麼是重要的'; + + @override + String get captionDifferentiatorText => + 'Doctorina 專注於症狀模式和時間 — 醫生早期尋找的相同信號。'; + + @override + String get genderTitle => '選擇你的性別'; + + @override + String get genderSubtitle => '這有助於我們更準確地解釋症狀並提供建議'; + + @override + String get genderMale => '男性'; + + @override + String get genderFemale => '女性'; + + @override + String get genderPreferNotSay => '不想透露'; + + @override + String get ageTitle => '你的年齡是?'; + + @override + String get ageSubtitle => '年齡有助於我們更準確地評估健康模式'; + + @override + String get socialProofLargeTitle => '超過48,000人 已選擇Doctorina'; + + @override + String get socialProofDisclaimer => '*根據Doctorina用戶基礎統計'; + + @override + String get developedByDoctors => '由 醫生 開發'; + + @override + String get quizStepLabel1 => '步驟 1/6'; + + @override + String get quizHealthSituationTitle => '你會如何描述你目前的健康狀況?'; + + @override + String get quizHealthHealthy => '我一般感覺健康'; + + @override + String get quizHealthMinorConcerns => '我有持續的小問題'; + + @override + String get quizHealthKnownCondition => '我正在管理一個已知的病症'; + + @override + String get quizHealthUnresolved => '我正在處理一些未解決的問題'; + + @override + String get quizStepLabel2 => '步驟 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => '你通常多久看一次醫生?'; + + @override + String get quizDoctorVisitRegular => '定期(檢查/跟進)'; + + @override + String get quizDoctorVisitOccasional => '偶爾,當有些不對勁時'; + + @override + String get quizDoctorVisitRare => '很少,只有在必要時'; + + @override + String get quizDoctorVisitAvoid => '避免看醫生'; + + @override + String get quizDoctorVisitNever => '我從未看過醫生'; + + @override + String get quizStepLabel3 => '步驟 3/6'; + + @override + String get quizBiggestChallengeTitle => '到目前為止,您在醫療方面最大的挑戰是什麼?'; + + @override + String get quizMultiSelectHint => '隨意選擇多個'; + + @override + String get quizChallengeLongWait => '長時間等待預約'; + + @override + String get quizChallengeRushedVisits => '訪問感覺匆忙'; + + @override + String get quizChallengeCost => '高昂的費用或不清晰的定價'; + + @override + String get quizChallengeHardExplain => '很難清楚地解釋所有內容'; + + @override + String get quizChallengeConflictingAdvice => '相互矛盾的意見或建議'; + + @override + String get quizChallengeNone => '沒有重大問題'; + + @override + String get quizStepLabel4 => '步驟 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => '在看完醫生後,您對所聽到的內容有多有信心?'; + + @override + String get quizConfidenceNoRightAnswer => '沒有正確或錯誤的答案'; + + @override + String get quizConfidenceVeryClear => '對發生的事情非常清楚'; + + @override + String get quizConfidenceSomewhatClear => '有點清楚'; + + @override + String get quizConfidenceStillUncertain => '仍然不確定'; + + @override + String get quizConfidenceMoreConfused => '比之前更困惑'; + + @override + String get captionDiagnosisVsChange => + '許多 人不是在診斷後 而是在症狀隨時間變化時感到困難'; + + @override + String get quizStepLabel5 => '步驟 5/6'; + + @override + String get quizConcernsAddressedTitle => '你覺得你的關注通常得到多好的解決?'; + + @override + String get quizConcernsAddressedSubtitle => '根據你的主觀感受'; + + @override + String get quizConcernsVeryWell => '非常好'; + + @override + String get quizConcernsFairlyWell => '相當好'; + + @override + String get quizConcernsNotVeryWell => '不太好'; + + @override + String get quizConcernsVaries => '變化很大'; + + @override + String get quizStepLabel6 => '步驟 6/6'; + + @override + String get quizSelfResearchTitle => '在看醫生之前,你通常會試著自己理解症狀嗎?'; + + @override + String get quizSelfResearchYes => '是的,我會研究和追蹤事情'; + + @override + String get quizSelfResearchSometimes => '有時'; + + @override + String get quizSelfResearchRarely => '很少'; + + @override + String get quizSelfResearchNo => '不,我完全依賴專業人士'; + + @override + String get captionAvailabilityTitle => '健康問題 不受 辦公時間限制。'; + + @override + String get captionAvailabilitySupport => + 'Doctorina 是 24/7 可用。'; + + @override + String get captionAvailabilityDescription => '清晰不應該等到下次約診。'; + + @override + String get notificationTitle => '你想讓我們關心你的健康症狀嗎?'; + + @override + String get notificationDescription => 'AI 可以監察您的症狀,並在需要注意的情況下提醒您'; + + @override + String get notificationYes => '是 — 留意我的健康'; + + @override + String get notificationOnlyImportant => '是 — 只有在重要變更時'; + + @override + String get notificationNo => '還不確定'; + + @override + String get referralSourceTitle => '你是從醫生那裡聽說Doctorina的嗎?'; + + @override + String get referralSourceYes => '是'; + + @override + String get referralSourceNo => '沒有'; + + @override + String get processingSectionLabel => '分析您的結果'; + + @override + String get processingTitle => '個人化您的體驗'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => '無限體驗 Doctorina Pro'; + + @override + String get paywallAssistantTagline => '您的助手,隨時在您身邊'; + + @override + String get paywallEnableTrialToggle => '還不確定?啟用免費試用。'; + + @override + String get paywallPlanYear => '每年'; + + @override + String get paywallPlanMonthly => '每月'; + + @override + String get paywallPlanWeek => '每週'; + + @override + String get paywallPlanDaily => '每日'; + + @override + String get paywallPlanYearPrice => '\$39.99(每週只需\$3.34)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => '節省 58%'; + + @override + String get paywallContinueBtn => '繼續'; + + @override + String get paywallStartTrialBtn => '開始免費試用'; + + @override + String get paywallSubscriptionDisclaimer => '訂閱為自動續訂。隨時取消'; + + @override + String get paywallTermsPrivacy => + '服務條款 | 私隱政策'; + + @override + String get paywallPerWeek => '星期'; + + @override + String get processingLabel => '分析您的結果'; + + @override + String get paywallCloseTooltip => '關閉入門指導'; + + @override + String get paywallRestoreTooltip => '恢復購買'; + + @override + String get paywallRestoreBtn => '恢復'; + + @override + String get paywallRestoreNoneFound => '未找到可恢復的有效訂閱。'; + + @override + String get paywallRestoreError => '無法恢復購買。請稍後再試。'; + + @override + String get paywallPurchaseError => '未能完成購買。請稍後再試。'; + + @override + String get paywallTrialStep1Title => '今天:立即獲得訪問權限'; + + @override + String get paywallTrialStep1Description => '解鎖完整訪問,隨時獲得AI健康答案。'; + + @override + String get paywallTrialStep2Title => '第2天:試用提醒'; + + @override + String get paywallTrialStep2Description => '我們會提醒您試用期即將結束'; + + @override + String get paywallTrialStep3Title => '第3天:續訂'; + + @override + String paywallTrialStep3Description(String date) { + return '您將在 $date 被收費,隨時可以在之前取消。'; + } + + @override + String get paywallBenefitsHeader => '包含什麼'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => '私密和安全'; + + @override + String get paywallBenefitAiAssistant => 'AI助手,24/7'; + + @override + String get paywallBenefitInstantAnswers => '即時健康答案'; + + @override + String get paywallBenefitScienceInsights => '清晰的科學基礎見解'; + + @override + String get paywallBenefitAutoSummaries => '自動對話摘要'; + + @override + String get paywallBenefitAnyLanguage => '任何語言,隨時都可以'; + + @override + String get paywallPriceUnitPerWeek => '每週'; + + @override + String get paywallOfferTitle => '一次性優惠'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% 折扣'; + } + + @override + String get paywallOfferForeverBadge => '永遠'; + + @override + String get paywallOfferDisclaimer => '一旦您關閉一次性優惠,它就消失了!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/月'; + } + + @override + String get paywallOfferLowestPriceBadge => '歷史最低價'; + + @override + String get paywallOfferCancelAnytime => '隨時取消'; + + @override + String get paywallOfferClaimButton => '索取您的優惠'; + + @override + String get paywallOfferAutoRenewable => '自動續訂訂閱'; + + @override + String get paywallGiftBoxTitle => '特別的禮物在裡面'; + + @override + String get paywallGiftBoxSubtitle => '一觸即發,揭曉您的特別優惠'; + + @override + String get paywallGiftBoxOpenButton => '立即打開'; + + @override + String get paywallRetryLoadPricesError => '無法加載訂閱選項。請稍後再試。'; + + @override + String get paywallPricesUnavailableTitle => '無法加載訂閱價格'; + + @override + String get paywallPricesUnavailableMessage => '檢查您的連接並重試。'; + + @override + String get paywallPricesUnavailableRetryButton => '再試一次'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/onboarding/onboarding_localization_zu.dart b/example/lib/src/generated/onboarding/onboarding_localization_zu.dart new file mode 100644 index 0000000..9bf212a --- /dev/null +++ b/example/lib/src/generated/onboarding/onboarding_localization_zu.dart @@ -0,0 +1,487 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'onboarding_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Zulu (`zu`). +class OnboardingLocalizationZu extends OnboardingLocalization { + OnboardingLocalizationZu([String locale = 'zu']) : super(locale); + + @override + String get appNameLogo => 'doctorina'; + + @override + String get welcomeTagline => 'I-ADVANCED AI HEALTH ASSISTANT'; + + @override + String get welcomeScreenTitle => 'Wamkelekile kuDoctorina!'; + + @override + String get socialProofTrustedBy => 'Trusted by\n48K+ Users'; + + @override + String get welcomeDescription => + 'Kwakhiwe ukuze kuhlaziywe izimpawu ngendlela abelaphi abanolwazi abenza ngayo — ngokwokuqonda amaphethini, isikhathi, kanye nomongo.'; + + @override + String get getStartedBtn => 'Qala'; + + @override + String get alreadyHaveAccount => + 'Usunayo i-akhawunti? Ngenelela'; + + @override + String get termsConsent => + 'Ngok继续, uyavuma\nImigomo Yesevisi | Inqubomgomo Yobumfihlo'; + + @override + String get personalizationInterruptionTitle => + 'Masenzele Doctorina kuwe'; + + @override + String get personalizationSectionLabel => 'Ukwenza kube ngokwakho'; + + @override + String get personalizationReasonTitle => 'Yini ekulethile namuhla?'; + + @override + String get personalizationReasonSymptomsNow => + 'Ngiyazizwa nginezimpawu manje'; + + @override + String get personalizationReasonUnderstandChange => + 'Ngifuna ukuqonda ushintsho lwezempilo'; + + @override + String get personalizationReasonRuleOutSerious => + 'Ngifuna ukwehlisa okuthile okukhulu'; + + @override + String get personalizationReasonMonitoring => + 'Ngiyazilanda impilo yami ngokuqapha'; + + @override + String get continueBtn => 'Qhubeka'; + + @override + String get captionEmpathyText => + 'Lapho kukhona okushintshayo empilweni yakho, ukwazi ukuthi yini ebalulekile kuyinselele.'; + + @override + String get captionDifferentiatorText => + 'U-Doctorina ugxile ezimpawu nasezikhathini — lezi zimpawu ezibhekwa ngodokotela ekuqaleni.'; + + @override + String get genderTitle => 'Khetha ubulili bakho'; + + @override + String get genderSubtitle => + 'Lokhu kusisiza ukuhunyushwa kwezimpawu nokunikeza izincomo ngokunembile.'; + + @override + String get genderMale => 'Umdlaliso'; + + @override + String get genderFemale => 'Owesifazane'; + + @override + String get genderPreferNotSay => 'Ngifuna ukungasho'; + + @override + String get ageTitle => 'Uneminyaka emingaki?'; + + @override + String get ageSubtitle => + 'Iminyaka isisiza ekuboniseni izimo zempilo ngokunembile.'; + + @override + String get socialProofLargeTitle => + 'Abantu abangaphezu kuka-48k+\nbakhethe uDoctorina'; + + @override + String get socialProofDisclaimer => '*Ngokwezibalo zomsebenzisi beDoctorina'; + + @override + String get developedByDoctors => 'Thuthukiswe ngama
Dokotela'; + + @override + String get quizStepLabel1 => 'ISINYATHE 1/6'; + + @override + String get quizHealthSituationTitle => + 'Ungakuchaza kanjani isimo sakho sempilo njengamanje?'; + + @override + String get quizHealthHealthy => 'Ngij generally ngizizwa ngempilo'; + + @override + String get quizHealthMinorConcerns => 'Ngine zinkinga ezincane eziphakathi'; + + @override + String get quizHealthKnownCondition => 'Ngiyaphatha isimo esaziwa'; + + @override + String get quizHealthUnresolved => 'Ngibhekene nento engaxazululiwe'; + + @override + String get quizStepLabel2 => 'ISINYATHELO 2/6'; + + @override + String get quizDoctorVisitFrequencyTitle => 'Uvame kanjani njalo udokotela?'; + + @override + String get quizDoctorVisitRegular => + 'Ngokujwayelekile (ukuhlolwa / ukulandela)'; + + @override + String get quizDoctorVisitOccasional => + 'Ngezinye izikhathi, uma kukhona okungahambi kahle'; + + @override + String get quizDoctorVisitRare => 'Ngokujwayelekile, kuphela uma kudingeka'; + + @override + String get quizDoctorVisitAvoid => 'Ugwema ukuvakashela odokotela'; + + @override + String get quizDoctorVisitNever => 'Angikaze ngiyodokotela'; + + @override + String get quizStepLabel3 => 'ISINYATHELO 3/6'; + + @override + String get quizBiggestChallengeTitle => + 'Yini okukhulu obhekene nakho kwezempilo kuze kube manje?'; + + @override + String get quizMultiSelectHint => 'Khetha okuningi njengoba uthanda'; + + @override + String get quizChallengeLongWait => + 'Izikhathi ezinde zokulinda ukuze uthole izikhathi'; + + @override + String get quizChallengeRushedVisits => 'Izivakashi zibonakala zisheshayo'; + + @override + String get quizChallengeCost => + 'Izindleko eziphezulu noma amanani angacacile'; + + @override + String get quizChallengeHardExplain => 'Kunzima ukuveza konke ngokucacile'; + + @override + String get quizChallengeConflictingAdvice => + 'Izimvo noma izeluleko eziphikisanayo'; + + @override + String get quizChallengeNone => 'Akukho zinkinga ezinkulu'; + + @override + String get quizStepLabel4 => 'ISINYATHELO 4/6'; + + @override + String get quizConfidenceAfterAppointmentTitle => + 'Ngemuva kwemihlangano, uzizwa unethemba kangakanani ngalokho okukhuluma?'; + + @override + String get quizConfidenceNoRightAnswer => + 'Ayikho impendulo efanele noma engalungile.'; + + @override + String get quizConfidenceVeryClear => 'Kucacile ngempela ukuthi kwenzekani'; + + @override + String get quizConfidenceSomewhatClear => 'Kancane kucacile'; + + @override + String get quizConfidenceStillUncertain => 'Kusazoba'; + + @override + String get quizConfidenceMoreConfused => 'Ngiyaphazama kakhulu kunakuqala'; + + @override + String get captionDiagnosisVsChange => + 'Abantu abaningi abahluleka hhayi ngemuva kokuxilongwa kodwa uma izimpawu zishintsha ngokuhamba kwesikhathi.'; + + @override + String get quizStepLabel5 => 'ISINYATHELO 5/6'; + + @override + String get quizConcernsAddressedTitle => + 'Ukhona kanjani ukuthi izinkinga zakho ngokuvamile zixazululwa?'; + + @override + String get quizConcernsAddressedSubtitle => 'Ngokwezizathu zakho ezithile'; + + @override + String get quizConcernsVeryWell => 'Kuhle kakhulu'; + + @override + String get quizConcernsFairlyWell => 'Kahle kahle'; + + @override + String get quizConcernsNotVeryWell => 'Hhayi kahle'; + + @override + String get quizConcernsVaries => 'Kuhlukile kakhulu'; + + @override + String get quizStepLabel6 => 'ISINYATHELO 6/6'; + + @override + String get quizSelfResearchTitle => + 'Ngaphambi kokubona udokotela, uvame ukuzama ukuqonda izimpawu ngokwakho?'; + + @override + String get quizSelfResearchYes => 'Yebo, ngiyaphenya futhi ngilandela izinto'; + + @override + String get quizSelfResearchSometimes => 'Kwazulu'; + + @override + String get quizSelfResearchRarely => 'Ngokuvamile'; + + @override + String get quizSelfResearchNo => + 'Cha, ngithembele ngokuphelele kubachwepheshe'; + + @override + String get captionAvailabilityTitle => + 'Imibuzo yezempilo ayilandeli amahora ehhovisi.'; + + @override + String get captionAvailabilitySupport => + 'IDoktorina itholakala 24/7.'; + + @override + String get captionAvailabilityDescription => + 'Ukucaciswa akufanele kulinde umhlangano olandelayo.'; + + @override + String get notificationTitle => 'Ingabe ufuna sithinte impilo yakho?'; + + @override + String get notificationDescription => + 'I-AI ingakwazi ukuqapha izimpawu zakho futhi ikwazise uma kukhona okudingekayo ukunakwa'; + + @override + String get notificationYes => 'Yebo — ngibheke impilo yami'; + + @override + String get notificationOnlyImportant => + 'Yebo — kuphela uma kukhona okubalulekile okushintsha'; + + @override + String get notificationNo => 'Angazi kahle'; + + @override + String get referralSourceTitle => 'Uzizwe ngeDoctorina kudokotela?'; + + @override + String get referralSourceYes => 'Yebo'; + + @override + String get referralSourceNo => 'Cha'; + + @override + String get processingSectionLabel => 'UKWENZA UHLUZO LWEZIBONAKALO ZAKHO'; + + @override + String get processingTitle => 'Ukwenza kube ngokwakho'; + + @override + String processingPercentValue(int percent) { + return '$percent%'; + } + + @override + String get paywallHeadline => + 'Ithuba elingenamkhawulo ne- Doctorina Pro'; + + @override + String get paywallAssistantTagline => 'UMSIZI OTHANDA OHLALAYO'; + + @override + String get paywallEnableTrialToggle => 'Awukazi? Vula ukuzama mahhala.'; + + @override + String get paywallPlanYear => 'Unyaka'; + + @override + String get paywallPlanMonthly => 'Ngamaviki'; + + @override + String get paywallPlanWeek => 'Ivyekethwe'; + + @override + String get paywallPlanDaily => 'Nsuku'; + + @override + String get paywallPlanYearPrice => '\$39.99 ( kuphela \$3.34/ngesonto)'; + + @override + String get paywallPlanWeekPrice => '\$3.99'; + + @override + String get paywallSaveBadge => 'GCINA 58%'; + + @override + String get paywallContinueBtn => 'Qhubeka'; + + @override + String get paywallStartTrialBtn => 'Qala ukuj试'; + + @override + String get paywallSubscriptionDisclaimer => + 'Umsizamo lwenziwe ngokuzenzakalelayo. Ungakhansela nganoma yisiphi isikhathi'; + + @override + String get paywallTermsPrivacy => + 'Imigomo Yesevisi | Umthetho Wokuvikela Ubumfihlo'; + + @override + String get paywallPerWeek => 'iveki'; + + @override + String get processingLabel => 'Ukuhlaziya imiphumela yakho'; + + @override + String get paywallCloseTooltip => 'Vala ukuvalelisa'; + + @override + String get paywallRestoreTooltip => 'Buyisela Izithombe'; + + @override + String get paywallRestoreBtn => 'Buyisela'; + + @override + String get paywallRestoreNoneFound => + 'Akukho ukubhalisela okusebenzayo okutholakele ukuze kubuyiswe.'; + + @override + String get paywallRestoreError => + 'Ukuphinda uthole ukuthenga akuphumelelanga. Sicela uzame futhi kamuva.'; + + @override + String get paywallPurchaseError => + 'Ukuphumelela kokuthenga akuphumelelanga. Sicela uzame futhi kamuva.'; + + @override + String get paywallTrialStep1Title => + 'Namuhla: Thola ukufinyelela okusheshayo'; + + @override + String get paywallTrialStep1Description => + 'Vula ukufinyelela okuphelele, thola izimpendulo zezempilo ze-AI, nganoma yisiphi isikhathi.'; + + @override + String get paywallTrialStep2Title => 'Usuku 2: Isikhumbuzo sokuhlola'; + + @override + String get paywallTrialStep2Description => + 'Sizothumela isikhumbuzo sokuthi isikhathi sokuhlola sisondele ekupheleni'; + + @override + String get paywallTrialStep3Title => 'Usuku 3: Ukuvuselela'; + + @override + String paywallTrialStep3Description(String date) { + return 'Uzokwenziwa imali ngo-$date, khansela nganoma yisiphi isikhathi ngaphambi.'; + } + + @override + String get paywallBenefitsHeader => 'OKUHLELWA KUKHONA'; + + @override + String get paywallBenefitsBadgeFree => 'FREE'; + + @override + String get paywallBenefitsBadgePro => 'PRO'; + + @override + String get paywallBenefitPrivateSecure => 'Ubumfihlo nokuphepha'; + + @override + String get paywallBenefitAiAssistant => 'I-Assistant ye-AI, 24/7'; + + @override + String get paywallBenefitInstantAnswers => 'Imphumela wezempilo ozitholayo'; + + @override + String get paywallBenefitScienceInsights => 'Clear, science-based insights'; + + @override + String get paywallBenefitAutoSummaries => + 'Izifinyezo zezingxoxo ezenzakalayo'; + + @override + String get paywallBenefitAnyLanguage => + 'Noma yisiphi isiZulu, nganoma yisiphi isikhathi'; + + @override + String get paywallPriceUnitPerWeek => 'ngaviki'; + + @override + String get paywallOfferTitle => 'Isipesheli esisodwa'; + + @override + String paywallOfferDiscountPercent(int percent) { + return '$percent% KHIPHA'; + } + + @override + String get paywallOfferForeverBadge => 'FOREVER'; + + @override + String get paywallOfferDisclaimer => + 'Uma uvalela isipesheli sakho esisodwa, asisekho!'; + + @override + String paywallOfferPricePerMonth(String price) { + return '$price/mo'; + } + + @override + String get paywallOfferLowestPriceBadge => 'LOWEST PRICE EVER'; + + @override + String get paywallOfferCancelAnytime => 'Khansela nganoma yisiphi isikhathi'; + + @override + String get paywallOfferClaimButton => 'Thola isipesheli sakho'; + + @override + String get paywallOfferAutoRenewable => 'Ukubhaliswa okuzenzakalelayo'; + + @override + String get paywallGiftBoxTitle => 'Ikhadi elikhethekile ngaphakathi'; + + @override + String get paywallGiftBoxSubtitle => + 'Uthumele ukuze uveze okunikezwayo okukhethekile'; + + @override + String get paywallGiftBoxOpenButton => 'Vula manje'; + + @override + String get paywallRetryLoadPricesError => + 'Kwehluleka yükela izinketho zokubhalisela. Sicela uzame futhi kamuva.'; + + @override + String get paywallPricesUnavailableTitle => + 'Ukungakwazi yükela amanani okubhalisela'; + + @override + String get paywallPricesUnavailableMessage => + 'Bheka uxhumano lwakho bese uzama futhi'; + + @override + String get paywallPricesUnavailableRetryButton => 'Zama futhi'; + + @override + String get skipOnboardingButton => 'Skip'; +} diff --git a/example/lib/src/generated/pay/pay_localization.dart b/example/lib/src/generated/pay/pay_localization.dart index 8e4456f..6400ad8 100644 --- a/example/lib/src/generated/pay/pay_localization.dart +++ b/example/lib/src/generated/pay/pay_localization.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! import 'dart:async'; import 'package:flutter/foundation.dart'; @@ -6,18 +6,60 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; +import 'pay_localization_af.dart'; +import 'pay_localization_am.dart'; import 'pay_localization_ar.dart'; +import 'pay_localization_az.dart'; +import 'pay_localization_be.dart'; +import 'pay_localization_bg.dart'; import 'pay_localization_bn.dart'; +import 'pay_localization_ca.dart'; +import 'pay_localization_cs.dart'; +import 'pay_localization_da.dart'; import 'pay_localization_de.dart'; +import 'pay_localization_el.dart'; import 'pay_localization_en.dart'; import 'pay_localization_es.dart'; +import 'pay_localization_fa.dart'; import 'pay_localization_fr.dart'; +import 'pay_localization_gu.dart'; +import 'pay_localization_he.dart'; import 'pay_localization_hi.dart'; +import 'pay_localization_hu.dart'; +import 'pay_localization_id.dart'; import 'pay_localization_it.dart'; +import 'pay_localization_ja.dart'; +import 'pay_localization_kk.dart'; +import 'pay_localization_km.dart'; +import 'pay_localization_kn.dart'; import 'pay_localization_ko.dart'; +import 'pay_localization_lo.dart'; +import 'pay_localization_ml.dart'; +import 'pay_localization_mr.dart'; +import 'pay_localization_ms.dart'; +import 'pay_localization_my.dart'; +import 'pay_localization_ne.dart'; +import 'pay_localization_nl.dart'; +import 'pay_localization_pa.dart'; +import 'pay_localization_pl.dart'; +import 'pay_localization_ps.dart'; import 'pay_localization_pt.dart'; +import 'pay_localization_ro.dart'; import 'pay_localization_ru.dart'; +import 'pay_localization_si.dart'; +import 'pay_localization_sk.dart'; +import 'pay_localization_sw.dart'; +import 'pay_localization_ta.dart'; +import 'pay_localization_te.dart'; +import 'pay_localization_th.dart'; +import 'pay_localization_tl.dart'; +import 'pay_localization_tr.dart'; +import 'pay_localization_uk.dart'; +import 'pay_localization_ur.dart'; +import 'pay_localization_uz.dart'; +import 'pay_localization_vi.dart'; import 'pay_localization_zh.dart'; +import 'pay_localization_zu.dart'; // ignore_for_file: type=lint @@ -105,28 +147,67 @@ abstract class PayLocalization { /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ + Locale('af'), + Locale('am'), Locale('ar'), + Locale('ar', 'EG'), + Locale('az'), + Locale('be'), + Locale('bg'), Locale('bn'), + Locale('ca'), + Locale('cs'), + Locale('da'), Locale('de'), + Locale('el'), Locale('en'), Locale('es'), + Locale('fa'), Locale('fr'), + Locale('gu'), + Locale('he'), Locale('hi'), + Locale('hu'), + Locale('id'), Locale('it'), + Locale('ja'), + Locale('kk'), + Locale('km'), + Locale('kn'), Locale('ko'), + Locale('lo'), + Locale('ml'), + Locale('mr'), + Locale('ms'), + Locale('my'), + Locale('ne'), + Locale('nl'), + Locale('pa'), + Locale('pa', 'PK'), + Locale('pl'), + Locale('ps'), Locale('pt'), Locale('pt', 'BR'), + Locale('ro'), Locale('ru'), + Locale('si'), + Locale('sk'), + Locale('sw'), + Locale('ta'), + Locale('te'), + Locale('th'), + Locale('tl'), + Locale('tr'), + Locale('uk'), + Locale('ur'), + Locale('uz'), + Locale('vi'), Locale('zh'), - Locale('zh', 'CN') + Locale('zh', 'CN'), + Locale('zh', 'HK'), + Locale('zu') ]; - /// Заголовок экрана - /// - /// In en, this message translates to: - /// **'Payment'** - String get title; - /// Пример кнопки /// /// In en, this message translates to: @@ -283,12 +364,6 @@ abstract class PayLocalization { /// **'Donate'** String get donateButton; - /// No description provided for @manageSubscriptionTitle. - /// - /// In en, this message translates to: - /// **'Manage subscription'** - String get manageSubscriptionTitle; - /// No description provided for @subscriptionStatusActiveLabel. /// /// In en, this message translates to: @@ -456,6 +531,102 @@ abstract class PayLocalization { /// In en, this message translates to: /// **'You’ll complete your purchase on Stripe’s secure checkout page.'** String get processingDonationStripeSubtitle; + + /// Переодичность оплаты + /// + /// In en, this message translates to: + /// **'/ week'** + String get perWeek; + + /// Переодичность оплаты + /// + /// In en, this message translates to: + /// **'/ year'** + String get perYear; + + /// Label for the most popular subscription option ribbon + /// + /// In en, this message translates to: + /// **'Most Popular'** + String get premiumMostPopularRibbon; + + /// Tooltip text for close button on premium screen + /// + /// In en, this message translates to: + /// **'Close'** + String get premiumCloseTooltip; + + /// Title of the premium subscription screen + /// + /// In en, this message translates to: + /// **'Doctorina Premium'** + String get premiumTitle; + + /// Section header describing premium features + /// + /// In en, this message translates to: + /// **'What you get with Premium:'** + String get premiumWhatYouGetHeader; + + /// Premium feature: ad-free consultations + /// + /// In en, this message translates to: + /// **'Ad-free consultations'** + String get premiumFeatureAdFree; + + /// Premium feature: faster response times + /// + /// In en, this message translates to: + /// **'Faster replies'** + String get premiumFeatureFasterReplies; + + /// Premium feature: early access to new features + /// + /// In en, this message translates to: + /// **'Early access to new features'** + String get premiumFeatureEarlyAccess; + + /// Time period suffix for weekly subscription price. Shortcat for "per week" + /// + /// In en, this message translates to: + /// **'/week'** + String get premiumPricePerWeek; + + /// Text explaining cancellation policy + /// + /// In en, this message translates to: + /// **'Cancel anytime. No commitment.'** + String get premiumCancelAnytime; + + /// Badge text for limited time offers + /// + /// In en, this message translates to: + /// **'LIMITED TIME'** + String get premiumLimitedTimeBadge; + + /// Auto-renewal consent text with tagged links for Terms and Privacy Policy + /// + /// In en, this message translates to: + /// **'Auto-renews weekly. Cancel anytime in settings. By continuing, you agree to our Terms and

Privacy Policy

.'** + String get premiumAutoRenewsConsent; + + /// Button text to continue with premium subscription + /// + /// In en, this message translates to: + /// **'🎁 Continue with Premium'** + String get premiumContinueButton; + + /// Message about supporting accessible healthcare + /// + /// In en, this message translates to: + /// **'💚 Your support helps keep care accessible'** + String get premiumSupportMessage; + + /// Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе + /// + /// In en, this message translates to: + /// **'Please sign up or log in to complete the purchase.'** + String get subscriptionLoginRequiredError; } class _PayLocalizationDelegate extends LocalizationsDelegate { @@ -468,18 +639,60 @@ class _PayLocalizationDelegate extends LocalizationsDelegate { @override bool isSupported(Locale locale) => [ + 'af', + 'am', 'ar', + 'az', + 'be', + 'bg', 'bn', + 'ca', + 'cs', + 'da', 'de', + 'el', 'en', 'es', + 'fa', 'fr', + 'gu', + 'he', 'hi', + 'hu', + 'id', 'it', + 'ja', + 'kk', + 'km', + 'kn', 'ko', + 'lo', + 'ml', + 'mr', + 'ms', + 'my', + 'ne', + 'nl', + 'pa', + 'pl', + 'ps', 'pt', + 'ro', 'ru', - 'zh' + 'si', + 'sk', + 'sw', + 'ta', + 'te', + 'th', + 'tl', + 'tr', + 'uk', + 'ur', + 'uz', + 'vi', + 'zh', + 'zu' ].contains(locale.languageCode); @override @@ -489,6 +702,22 @@ class _PayLocalizationDelegate extends LocalizationsDelegate { PayLocalization lookupPayLocalization(Locale locale) { // Lookup logic when language+country codes are specified. switch (locale.languageCode) { + case 'ar': + { + switch (locale.countryCode) { + case 'EG': + return PayLocalizationArEg(); + } + break; + } + case 'pa': + { + switch (locale.countryCode) { + case 'PK': + return PayLocalizationPaPk(); + } + break; + } case 'pt': { switch (locale.countryCode) { @@ -502,6 +731,8 @@ PayLocalization lookupPayLocalization(Locale locale) { switch (locale.countryCode) { case 'CN': return PayLocalizationZhCn(); + case 'HK': + return PayLocalizationZhHk(); } break; } @@ -509,30 +740,114 @@ PayLocalization lookupPayLocalization(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { + case 'af': + return PayLocalizationAf(); + case 'am': + return PayLocalizationAm(); case 'ar': return PayLocalizationAr(); + case 'az': + return PayLocalizationAz(); + case 'be': + return PayLocalizationBe(); + case 'bg': + return PayLocalizationBg(); case 'bn': return PayLocalizationBn(); + case 'ca': + return PayLocalizationCa(); + case 'cs': + return PayLocalizationCs(); + case 'da': + return PayLocalizationDa(); case 'de': return PayLocalizationDe(); + case 'el': + return PayLocalizationEl(); case 'en': return PayLocalizationEn(); case 'es': return PayLocalizationEs(); + case 'fa': + return PayLocalizationFa(); case 'fr': return PayLocalizationFr(); + case 'gu': + return PayLocalizationGu(); + case 'he': + return PayLocalizationHe(); case 'hi': return PayLocalizationHi(); + case 'hu': + return PayLocalizationHu(); + case 'id': + return PayLocalizationId(); case 'it': return PayLocalizationIt(); + case 'ja': + return PayLocalizationJa(); + case 'kk': + return PayLocalizationKk(); + case 'km': + return PayLocalizationKm(); + case 'kn': + return PayLocalizationKn(); case 'ko': return PayLocalizationKo(); + case 'lo': + return PayLocalizationLo(); + case 'ml': + return PayLocalizationMl(); + case 'mr': + return PayLocalizationMr(); + case 'ms': + return PayLocalizationMs(); + case 'my': + return PayLocalizationMy(); + case 'ne': + return PayLocalizationNe(); + case 'nl': + return PayLocalizationNl(); + case 'pa': + return PayLocalizationPa(); + case 'pl': + return PayLocalizationPl(); + case 'ps': + return PayLocalizationPs(); case 'pt': return PayLocalizationPt(); + case 'ro': + return PayLocalizationRo(); case 'ru': return PayLocalizationRu(); + case 'si': + return PayLocalizationSi(); + case 'sk': + return PayLocalizationSk(); + case 'sw': + return PayLocalizationSw(); + case 'ta': + return PayLocalizationTa(); + case 'te': + return PayLocalizationTe(); + case 'th': + return PayLocalizationTh(); + case 'tl': + return PayLocalizationTl(); + case 'tr': + return PayLocalizationTr(); + case 'uk': + return PayLocalizationUk(); + case 'ur': + return PayLocalizationUr(); + case 'uz': + return PayLocalizationUz(); + case 'vi': + return PayLocalizationVi(); case 'zh': return PayLocalizationZh(); + case 'zu': + return PayLocalizationZu(); } throw FlutterError( diff --git a/example/lib/src/generated/pay/pay_localization_af.dart b/example/lib/src/generated/pay/pay_localization_af.dart new file mode 100644 index 0000000..3c40540 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_af.dart @@ -0,0 +1,245 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Afrikaans (`af`). +class PayLocalizationAf extends PayLocalization { + PayLocalizationAf([String locale = 'af']) : super(locale); + + @override + String get exampleButton => 'Voorbeeldknoppie'; + + @override + String get donationYesItsAllGoodButton => 'Ja, dit is alles reg!'; + + @override + String get everyContributionHealsTitle => 'Elke bydrae genees!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Jou bydrae help om gratis advies vir ander in nood te finansier'; + + @override + String get payWhatFeelsRightLabel => 'Betaal wat reg voel,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'of hou aan om Doctorina gratis te gebruik, dankie aan ander wat gekies het om te gee'; + + @override + String get oneTimeLabel => 'Eenmalig'; + + @override + String get monthlyLabel => 'Maandeliks'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Kies maandelikse donasiebedrag'; + + @override + String get subscriptionNoAmount => + 'Jy staan op die punt om op \'n maandelikse plan te teken'; + + @override + String subscriptionAmount(String amount) { + return 'Jy teken in op \'n maandelikse plan vir $amount/maand.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Betaling sal aan jou rekening gehef word by bevestiging van aankoop. Die intekening hernu outomaties elke maand tensy outo-hernuing ten minste 24 uur voor die einde van die huidige periode afgeskakel word. Jy kan jou intekening enige tyd in jou rekeninginstellings bestuur of kanselleer. Deur voort te gaan, stem jy in tot ons $termsOfService en $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'Kies eenmalige donasiebedrag'; + + @override + String get mostPeopleGiveHint => 'Meeste mense gee \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Kies geldeenheid'; + + @override + String get processingPaymentSemantics => 'Verwerking van betaling'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Verwerk een eenmalige betaling van $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Verwerk maandelikse betaling van $amount'; + } + + @override + String get thankYouTitle => 'Dankie!'; + + @override + String get thankYouSubtitle => + 'Nou sal nog meer mense gratis advies ontvang — jou ondersteuning is werklik van onskatbare waarde.'; + + @override + String get youContributedLabel => 'Jy het bygedra:'; + + @override + String get perMonth => '/ maand'; + + @override + String get returnToTheMainScreenButton => 'Terug na die hoofskerm'; + + @override + String get termsOfServiceLabel => 'Voorwaardes'; + + @override + String get privacyPolicyLabel => 'Privaatheidsbeleid'; + + @override + String get donateButton => 'Skink'; + + @override + String get subscriptionStatusActiveLabel => 'Aktief'; + + @override + String get subscriptionStatusCanceledLabel => 'Gekanselleer'; + + @override + String get subscriptionStatusPausedLabel => 'Paus'; + + @override + String get subscriptionStatusPendingLabel => 'Hangende'; + + @override + String get subscriptionStatusCreatedLabel => 'Geskep'; + + @override + String get subscriptionStatusTimeoutLabel => 'Tydsduur'; + + @override + String get subscriptionStatusUnknownLabel => 'Onbekend'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina bydraer'; + + @override + String get subscriptionRenews => 'Hernu'; + + @override + String get subscriptionCancelButton => 'Kanselleer intekening'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Is jy seker?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Jou maandelikse ondersteuning hou Doctorina gratis vir mense wat daarop staatmaak, maar nie kan bekostig om te betaal nie. Jou intekening befonds ten minste 10 gratis konsultasies elke maand. As jy gaan, sal minder pasiënte die hulp kry wat hulle nodig het.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Hou die intekening'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Annuleer tog'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Jou maandelikse ondersteuning is suksesvol gekanselleer.'; + + @override + String get subscriptionMalformed => 'Onkorrekte intekeningdata'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Teken in vir maandelikse ondersteuning om dit hier te laat verskyn'; + + @override + String get subscriptionNoSubscriptionsYet => 'Nog geen intekeninge'; + + @override + String get subscriptionCreatedAtDateLabel => 'Subskripsiedatum'; + + @override + String get subscriptionExpiresAtDateLabel => 'Verval'; + + @override + String get subscriptionSubscriptionIdLabel => 'Subskripsie-ID'; + + @override + String get subscriptionProductIdLabel => 'Produk ID'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'Ons kon nie jou betaling verwerk nie'; + + @override + String get errorProcessDonationSubtitle => + 'Iets het verkeerd gegaan met die betaling. Probeer asseblief weer.'; + + @override + String get errorProcessDonationRetryButton => 'Probeer weer'; + + @override + String get processingDonationTitle => 'Verwerking van betaling'; + + @override + String get processingDonationStripeSubtitle => + 'Jy sal jou aankoop op Stripe se veilige afrekenblad voltooi.'; + + @override + String get perWeek => '/ week'; + + @override + String get perYear => '/ jaar'; + + @override + String get premiumMostPopularRibbon => 'Mees gewilde'; + + @override + String get premiumCloseTooltip => 'Sluit'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Wat jy met Premium kry:'; + + @override + String get premiumFeatureAdFree => 'Advertensievrye konsultasies'; + + @override + String get premiumFeatureFasterReplies => 'Vinniger antwoorde'; + + @override + String get premiumFeatureEarlyAccess => + 'Vroegtydige toegang tot nuwe funksies'; + + @override + String get premiumPricePerWeek => '/week'; + + @override + String get premiumCancelAnytime => 'Kanselleer enige tyd. Geen verbintenis.'; + + @override + String get premiumLimitedTimeBadge => 'BEPERKTE TYD'; + + @override + String get premiumAutoRenewsConsent => + 'Hernuwe weekliks. Kanselleer enige tyd in instellings. Deur voort te gaan, stem jy in tot ons Voorwaardes en

Privaatheidsbeleid

.'; + + @override + String get premiumContinueButton => '🎁 Gaan voort met Premium'; + + @override + String get premiumSupportMessage => + '💚 Jou ondersteuning help om sorg toeganklik te hou'; + + @override + String get subscriptionLoginRequiredError => + 'Teken in of log in om die aankoop te voltooi.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_am.dart b/example/lib/src/generated/pay/pay_localization_am.dart new file mode 100644 index 0000000..025210c --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_am.dart @@ -0,0 +1,240 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Amharic (`am`). +class PayLocalizationAm extends PayLocalization { + PayLocalizationAm([String locale = 'am']) : super(locale); + + @override + String get exampleButton => 'እንቅስቃሴ አዝራር'; + + @override + String get donationYesItsAllGoodButton => 'አዎን ሁሉም ጥሩ ነው!'; + + @override + String get everyContributionHealsTitle => 'እያንዳንዱ እንደ ምርኮ ይደርሳል!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'የእርስዎ እንደገና ይህ የነበረ እንደ ወጣት ይህ የነበረ እንደ ወጣት ይህ የነበረ እንደ ወጣት.'; + + @override + String get payWhatFeelsRightLabel => 'እንደሚስማማ ይክፈሉ,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'ወይም ወደ ነጻ ዶክተሪና መጠቀም በሌላው የተመረጡ ምርጥ ምርጥ ነው.'; + + @override + String get oneTimeLabel => 'አንድ ጊዜ'; + + @override + String get monthlyLabel => 'ወርሃዊ'; + + @override + String get chooseMonthlyDonationAmountLabel => 'ወርሃዊ ድጋፍ መጠን ይምረጡ'; + + @override + String get subscriptionNoAmount => 'እባክዎ ወርሃዊ እቅድ ለመውሰድ እንደሚያስችል ነው.'; + + @override + String subscriptionAmount(String amount) { + return 'እርስዎ በ$amount/ወር ወቅታዊ እቅድ ይቀጥላሉ.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'ግዢ ማረጋገጫ በሚረጋገጥበት ጊዜ ክፍያው ወደ ሂሳብዎ ይጭናል። ምዝገባው በየወሩ ራሱን ይዘምናል፣ እስከ አሁኑ የተወሰነ ጊዜ መጨረሻ በፊት 24 ሰዓት ቢገባ auto-renew ከተዘገየ ተግባራዊ ነው። በሂሳብ ማቀናበሪያዎ ውስጥ ምን ጊዜም ምዝገባዎን መንቀሳቀስ ወይም ማቋረጥ ይችላሉ። በመቀጠል $termsOfService እና $privacyPolicy ማረጋገጥ ትስማማላችሁ።'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'አንድ ጊዜ የሚሰጥ ድጋፍ መጠን ይምረጡ'; + + @override + String get mostPeopleGiveHint => 'Most people give \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'ምርጥ ገንዘብ'; + + @override + String get processingPaymentSemantics => 'ክፍያ እንደሚከናወን ነው'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'አንድ ጊዜ የክፍያ ሂደት እንደ $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'እንደ ወርሃዊ ክፍያ ይሰርዝ $amount'; + } + + @override + String get thankYouTitle => 'Amesegenallo!'; + + @override + String get thankYouSubtitle => + 'አሁን በተጨማሪ ሰዎች ነፃ አስተያየት ይቀበሉ — ድጋፍዎ በጣም ዋጋ አለው.'; + + @override + String get youContributedLabel => 'እንደ እርስዎ ያስተዋወቁ:'; + + @override + String get perMonth => '/ ወር'; + + @override + String get returnToTheMainScreenButton => 'ወደ ዋነኛ ገጽ ይመለሱ'; + + @override + String get termsOfServiceLabel => 'የአገልግሎት ውል'; + + @override + String get privacyPolicyLabel => 'የግለሰቦች ፖሊሲ'; + + @override + String get donateButton => 'ድጋፍ'; + + @override + String get subscriptionStatusActiveLabel => 'አካባቢ'; + + @override + String get subscriptionStatusCanceledLabel => 'ተሰርዟል'; + + @override + String get subscriptionStatusPausedLabel => 'እንቅልፍ ያለው'; + + @override + String get subscriptionStatusPendingLabel => 'እንደሚገኝ'; + + @override + String get subscriptionStatusCreatedLabel => 'የተፈጠረ'; + + @override + String get subscriptionStatusTimeoutLabel => 'የጊዜ ወደቀ'; + + @override + String get subscriptionStatusUnknownLabel => 'አይታወቅም'; + + @override + String get subscriptionDoctorinaContributor => 'ዶክተርና ኮንትሪቡተር'; + + @override + String get subscriptionRenews => 'ይደገፍ'; + + @override + String get subscriptionCancelButton => 'የእቅፍ ማቋረጥ'; + + @override + String get subscriptionAreYouSureDialogTitle => 'እምነት አለዎት?'; + + @override + String get subscriptionAreYouSureDialogText => + 'የወርሃዊ ድጋፍዎ ዶክተሪናን ለእንደዚህ የሚያስተዋወቁ ሰዎች ነፃ ይደርሳል ነገር ግን ማንኛውም ይከፈል.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'እንደ ወንጌል ይቀጥሉ'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'እንደዚህ ይቀጥሉ'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'የወርሃዊ ድጋፍዎ በተ成功 ተሰርዟል።'; + + @override + String get subscriptionMalformed => 'የእቅፍ ዝርዝር ውስጥ የተሳሳተ ውሂብ አለ'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'ወደ ወርሃዊ ድጋፍ ይመዝገቡ እንዲታይ እዚህ.'; + + @override + String get subscriptionNoSubscriptionsYet => 'አልተመዘገበም የለም'; + + @override + String get subscriptionCreatedAtDateLabel => 'መዝግብ ቀን'; + + @override + String get subscriptionExpiresAtDateLabel => 'ይወድቃል'; + + @override + String get subscriptionSubscriptionIdLabel => 'መለያ እንደ እቃ ይወዳድር'; + + @override + String get subscriptionProductIdLabel => 'የምርት መለያ'; + + @override + String get subscriptionDialogOkButton => 'እሺ'; + + @override + String get errorProcessDonationTitle => 'ክፍያዎትን ቀጣይ ማድረግ አልቻልንም'; + + @override + String get errorProcessDonationSubtitle => + 'አንድ ነገር በክፍያ ውስጥ ተሳስቷል። እባኮትን ይሞክሩ ድጋፍ ይሁን.'; + + @override + String get errorProcessDonationRetryButton => 'እንደገና ይሞክሩ'; + + @override + String get processingDonationTitle => 'Processing payment'; + + @override + String get processingDonationStripeSubtitle => + 'You’ll complete your purchase on Stripe’s secure checkout page.'; + + @override + String get perWeek => '/ ሳምንት'; + + @override + String get perYear => '/ አመት'; + + @override + String get premiumMostPopularRibbon => 'በጣም ወደፊት የሚሄድ'; + + @override + String get premiumCloseTooltip => 'ዝግጅት'; + + @override + String get premiumTitle => 'ዶክተሪና ፕሪምየም'; + + @override + String get premiumWhatYouGetHeader => 'ፕሪምየም ያገኛሉ:'; + + @override + String get premiumFeatureAdFree => 'የማስታወቂያ ያለው እንደ እንቅስቃሴ እንደ እንቅስቃሴ'; + + @override + String get premiumFeatureFasterReplies => 'የተፈለገ መልስ ይቀርባል'; + + @override + String get premiumFeatureEarlyAccess => 'እንደ ቀዳሚ ዕቅፍ ወደ አዳዲስ ባለቤቶች መድረስ'; + + @override + String get premiumPricePerWeek => '/ሳምንት'; + + @override + String get premiumCancelAnytime => 'እባክዎ ወቅታዊ ይሰርዙ። ምንም ተግባር የለም።'; + + @override + String get premiumLimitedTimeBadge => 'የጊዜ ገደብ'; + + @override + String get premiumAutoRenewsConsent => + 'እርስዎ በሳምንታት ይወዳድሩ ይሆናል። በማስታወቂያ ውስጥ ማቋረጥ ይችላሉ። በመቀጠል ይቅርታ ወደ የእኛ የውል ማስታወቂያ እና

የግለሰቦች የግል ዝርዝር

ይምረጡ።'; + + @override + String get premiumContinueButton => '🎁 ፕሪምየም ጋር ቀጥል'; + + @override + String get premiumSupportMessage => '💚 የእርዳታዎ ድጋፍ እንደ ወንጀል ይደርሳል'; + + @override + String get subscriptionLoginRequiredError => + 'እባክዎ ይመዘገቡ ወይም ይግቡ እንዲሁ ግዢውን ለመጨረስ.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_ar.dart b/example/lib/src/generated/pay/pay_localization_ar.dart index 17ddc02..f3345b7 100644 --- a/example/lib/src/generated/pay/pay_localization_ar.dart +++ b/example/lib/src/generated/pay/pay_localization_ar.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,33 +11,30 @@ class PayLocalizationAr extends PayLocalization { PayLocalizationAr([String locale = 'ar']) : super(locale); @override - String get title => 'قسط'; + String get exampleButton => 'مثال الزر'; @override - String get exampleButton => 'مثال على الزر'; - - @override - String get donationYesItsAllGoodButton => 'نعم، كل شيء جيد!'; + String get donationYesItsAllGoodButton => 'نعم، كل شيء على ما يرام!'; @override String get everyContributionHealsTitle => 'كل مساهمة تشفي!'; @override String get ifThisHelpedYouConsiderSupportingSubtitle => - 'تساهم مساهمتك في تمويل تقديم المشورة المجانية للآخرين المحتاجين.'; + 'مساهمتك تساعد في تمويل تقديم المشورة المجانية للآخرين المحتاجين.'; @override - String get payWhatFeelsRightLabel => 'ادفع ما تشعر أنه مناسب'; + String get payWhatFeelsRightLabel => 'ادفع ما تراه مناسباً,'; @override String get orKeepUsingDoctorinaForFreeLabel => - 'أو استمر في استخدام Doctorina مجانًا، وذلك بفضل الآخرين الذين اختاروا التبرع.'; + 'أو استمر في استخدام Doctorina مجانًا، بفضل الآخرين الذين اختاروا التبرع'; @override - String get oneTimeLabel => 'لمرة واحدة'; + String get oneTimeLabel => 'مرة واحدة'; @override - String get monthlyLabel => 'شهريا'; + String get monthlyLabel => 'شهري'; @override String get chooseMonthlyDonationAmountLabel => 'اختر مبلغ التبرع الشهري'; @@ -47,48 +44,48 @@ class PayLocalizationAr extends PayLocalization { @override String subscriptionAmount(String amount) { - return 'لقد قمت بالاشتراك في خطة شهرية بمبلغ $amount/الشهر.'; + return 'أنت تشترك في خطة شهرية مقابل $amount/الشهر.'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return 'سيتم خصم المبلغ من حسابك عند تأكيد الشراء. يُجدد الاشتراك تلقائيًا شهريًا ما لم يتم إيقاف التجديد التلقائي قبل 24 ساعة على الأقل من نهاية الفترة الحالية. يمكنك إدارة اشتراكك أو إلغاؤه في أي وقت من إعدادات حسابك. بالمتابعة، أنت توافق على $termsOfService و$privacyPolicy.'; + return 'سيتم خصم المبلغ من حسابك عند تأكيد الشراء. يتم تجديد الاشتراك تلقائيًا كل شهر ما لم يتم تعطيل التجديد التلقائي قبل 24 ساعة على الأقل من نهاية الفترة الحالية. يمكنك إدارة أو إلغاء اشتراكك في أي وقت من خلال إعدادات حسابك. بالمتابعة، فإنك توافق على $termsOfService و$privacyPolicy'; } @override String get chooseOneTimeDonationAmountLabel => 'اختر مبلغ التبرع لمرة واحدة'; @override - String get mostPeopleGiveHint => 'معظم الناس يعطون 7 إلى 15 دولارًا'; + String get mostPeopleGiveHint => 'معظم الناس يعطون \$7–\$15'; @override String get selectCurrencyTooltip => 'اختر العملة'; @override - String get processingPaymentSemantics => 'معالجة الدفع'; + String get processingPaymentSemantics => 'جارٍ معالجة الدفع'; @override String processingOneTimePaymentSemantics(String currency, String amount) { - return 'معالجة دفعة لمرة واحدة بقيمة $currency $amount'; + return 'جاري معالجة دفعة لمرة واحدة بقيمة $currency $amount'; } @override String processingMonthlyPaymentSemantics(String amount) { - return 'معالجة الدفع الشهري بقيمة $amount'; + return 'جاري معالجة الدفعة الشهرية بمبلغ $amount'; } @override - String get thankYouTitle => 'شكرًا لك!'; + String get thankYouTitle => 'شكراً لك!'; @override String get thankYouSubtitle => - 'الآن سيحصل المزيد من الأشخاص على نصائح مجانية - دعمك لا يقدر بثمن حقًا.'; + 'الآن سيحصل المزيد من الناس على نصيحة مجانية — دعمك لا يقدر بثمن.'; @override - String get youContributedLabel => 'لقد ساهمت بـ:'; + String get youContributedLabel => 'أنت ساهمت:'; @override - String get perMonth => '/ شهر'; + String get perMonth => '/شهر'; @override String get returnToTheMainScreenButton => 'العودة إلى الشاشة الرئيسية'; @@ -100,34 +97,265 @@ class PayLocalizationAr extends PayLocalization { String get privacyPolicyLabel => 'سياسة الخصوصية'; @override - String get donateButton => 'يتبرع'; + String get donateButton => 'تبرع'; + + @override + String get subscriptionStatusActiveLabel => 'نشط'; + + @override + String get subscriptionStatusCanceledLabel => 'ملغى'; + + @override + String get subscriptionStatusPausedLabel => 'متوقف'; + + @override + String get subscriptionStatusPendingLabel => 'قيد الانتظار'; + + @override + String get subscriptionStatusCreatedLabel => 'تم الإنشاء'; + + @override + String get subscriptionStatusTimeoutLabel => 'انتهاء المهلة'; + + @override + String get subscriptionStatusUnknownLabel => 'غير معروف'; + + @override + String get subscriptionDoctorinaContributor => 'مساهم Doctorina'; + + @override + String get subscriptionRenews => 'يجدد'; + + @override + String get subscriptionCancelButton => 'إلغاء الاشتراك'; + + @override + String get subscriptionAreYouSureDialogTitle => 'هل أنت متأكد؟'; + + @override + String get subscriptionAreYouSureDialogText => + 'دعمك الشهري يجعل Doctorina مجانية للأشخاص الذين يعتمدون عليها ولكن لا يستطيعون تحمل تكاليفها. اشتراكك يمول ما لا يقل عن 10 استشارات مجانية كل شهر. إذا قمت بالإلغاء، سيحصل عدد أقل من المرضى على المساعدة التي يحتاجونها'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'الاحتفاظ بالاشتراك'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'إلغاء على أي حال'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'تم إلغاء دعمك الشهري بنجاح.'; + + @override + String get subscriptionMalformed => 'بيانات الاشتراك غير صحيحة'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'اشترك للحصول على الدعم الشهري ليظهر هنا.'; + + @override + String get subscriptionNoSubscriptionsYet => 'لا توجد اشتراكات حتى الآن'; + + @override + String get subscriptionCreatedAtDateLabel => 'تاريخ الاشتراك'; + + @override + String get subscriptionExpiresAtDateLabel => 'تنتهي'; + + @override + String get subscriptionSubscriptionIdLabel => 'معرّف الاشتراك'; + + @override + String get subscriptionProductIdLabel => 'معرّف المنتج'; + + @override + String get subscriptionDialogOkButton => 'موافق'; + + @override + String get errorProcessDonationTitle => 'لم نتمكن من إتمام عملية الدفع'; + + @override + String get errorProcessDonationSubtitle => + 'حدث خطأ في عملية الدفع.\nيرجى المحاولة مرة أخرى.'; + + @override + String get errorProcessDonationRetryButton => 'إعادة المحاولة'; + + @override + String get processingDonationTitle => 'معالجة الدفع'; + + @override + String get processingDonationStripeSubtitle => + 'ستُكمل عملية الشراء عبر صفحة الدفع الآمنة الخاصة بـ Stripe.'; + + @override + String get perWeek => '/ أسبوع'; + + @override + String get perYear => '/ سنة'; + + @override + String get premiumMostPopularRibbon => 'الأكثر شعبية'; + + @override + String get premiumCloseTooltip => 'إغلاق'; + + @override + String get premiumTitle => 'دوكتورينا بريميوم'; + + @override + String get premiumWhatYouGetHeader => 'ما ستحصل عليه مع البريميوم:'; + + @override + String get premiumFeatureAdFree => 'استشارات بدون إعلانات'; + + @override + String get premiumFeatureFasterReplies => 'ردود أسرع'; + + @override + String get premiumFeatureEarlyAccess => 'الوصول المبكر إلى ميزات جديدة'; + + @override + String get premiumPricePerWeek => '/أسبوع'; + + @override + String get premiumCancelAnytime => 'يمكنك الإلغاء في أي وقت. لا التزام.'; + + @override + String get premiumLimitedTimeBadge => 'عرض محدود الوقت'; + + @override + String get premiumAutoRenewsConsent => + 'تتجدد تلقائيًا أسبوعيًا. يمكنك الإلغاء في أي وقت من الإعدادات. بالاستمرار، فإنك توافق على الشروط و

سياسة الخصوصية

.'; + + @override + String get premiumContinueButton => '🎁 متابعة مع البريميوم'; + + @override + String get premiumSupportMessage => + '💚 دعمك يساعد في الحفاظ على الوصول إلى الرعاية'; + + @override + String get subscriptionLoginRequiredError => + 'يرجى التسجيل أو تسجيل الدخول لإكمال عملية الشراء'; +} + +/// The translations for Arabic, as used in Egypt (`ar_EG`). +class PayLocalizationArEg extends PayLocalizationAr { + PayLocalizationArEg() : super('ar_EG'); + + @override + String get exampleButton => 'مثال الزر'; + + @override + String get donationYesItsAllGoodButton => 'نعم، كل شيء على ما يرام!'; + + @override + String get everyContributionHealsTitle => 'كل مساهمة تشفي!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'مساهمتك تساعد في تمويل تقديم المشورة المجانية للآخرين المحتاجين.'; + + @override + String get payWhatFeelsRightLabel => 'ادفع ما تراه مناسباً,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'أو استمر في استخدام Doctorina مجانًا، بفضل الآخرين الذين اختاروا التبرع'; + + @override + String get oneTimeLabel => 'مرة واحدة'; + + @override + String get monthlyLabel => 'شهري'; + + @override + String get chooseMonthlyDonationAmountLabel => 'اختر مبلغ التبرع الشهري'; + + @override + String get subscriptionNoAmount => 'أنت على وشك الاشتراك في خطة شهرية.'; + + @override + String subscriptionAmount(String amount) { + return 'أنت تشترك في خطة شهرية مقابل $amount/الشهر.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'سيتم خصم المبلغ من حسابك عند تأكيد الشراء. يتم تجديد الاشتراك تلقائيًا كل شهر ما لم يتم تعطيل التجديد التلقائي قبل 24 ساعة على الأقل من نهاية الفترة الحالية. يمكنك إدارة أو إلغاء اشتراكك في أي وقت من خلال إعدادات حسابك. بالمتابعة، فإنك توافق على $termsOfService و$privacyPolicy'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'اختر مبلغ التبرع لمرة واحدة'; + + @override + String get mostPeopleGiveHint => 'معظم الناس يعطون \$7–\$15'; @override - String get manageSubscriptionTitle => 'إدارة الاشتراك'; + String get selectCurrencyTooltip => 'اختر العملة'; @override - String get subscriptionStatusActiveLabel => 'نشيط'; + String get processingPaymentSemantics => 'جارٍ معالجة الدفع'; @override - String get subscriptionStatusCanceledLabel => 'تم الإلغاء'; + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'جاري معالجة دفعة لمرة واحدة بقيمة $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'جاري معالجة الدفعة الشهرية بمبلغ $amount'; + } + + @override + String get thankYouTitle => 'شكراً لك!'; + + @override + String get thankYouSubtitle => + 'الآن سيحصل المزيد من الناس على نصيحة مجانية — دعمك لا يقدر بثمن.'; @override - String get subscriptionStatusPausedLabel => 'متوقف مؤقتًا'; + String get youContributedLabel => 'أنت ساهمت:'; + + @override + String get perMonth => '/شهر'; + + @override + String get returnToTheMainScreenButton => 'العودة إلى الشاشة الرئيسية'; + + @override + String get termsOfServiceLabel => 'شروط الخدمة'; + + @override + String get privacyPolicyLabel => 'سياسة الخصوصية'; + + @override + String get donateButton => 'تبرع'; + + @override + String get subscriptionStatusActiveLabel => 'نشط'; + + @override + String get subscriptionStatusCanceledLabel => 'ملغى'; + + @override + String get subscriptionStatusPausedLabel => 'متوقف'; @override String get subscriptionStatusPendingLabel => 'قيد الانتظار'; @override - String get subscriptionStatusCreatedLabel => 'مخلوق'; + String get subscriptionStatusCreatedLabel => 'تم الإنشاء'; @override - String get subscriptionStatusTimeoutLabel => 'نفذ الوقت'; + String get subscriptionStatusTimeoutLabel => 'انتهاء المهلة'; @override - String get subscriptionStatusUnknownLabel => 'مجهول'; + String get subscriptionStatusUnknownLabel => 'غير معروف'; @override - String get subscriptionDoctorinaContributor => 'مساهم في دكتورينا'; + String get subscriptionDoctorinaContributor => 'مساهم Doctorina'; @override String get subscriptionRenews => 'يجدد'; @@ -140,49 +368,49 @@ class PayLocalizationAr extends PayLocalization { @override String get subscriptionAreYouSureDialogText => - 'دعمكم الشهري يُبقي \"دكتورينا\" مجانيًا لمن يعتمدون عليه ولكنهم غير قادرين على الدفع.\n\nيُغطي اشتراككم ما لا يقل عن ١٠ استشارات مجانية شهريًا.\n\nإذا تركتم الخدمة، فسيقل عدد المرضى الذين يحصلون على المساعدة التي يحتاجونها.'; + 'دعمك الشهري يجعل Doctorina مجانية للأشخاص الذين يعتمدون عليها ولكن لا يستطيعون تحمل تكاليفها. اشتراكك يمول ما لا يقل عن 10 استشارات مجانية كل شهر. إذا قمت بالإلغاء، سيحصل عدد أقل من المرضى على المساعدة التي يحتاجونها'; @override - String get subscriptionAreYouSureDialogKeepButton => 'الحفاظ على الاشتراك'; + String get subscriptionAreYouSureDialogKeepButton => 'الاحتفاظ بالاشتراك'; @override - String get subscriptionAreYouSureDialogCancelButton => 'إلغاء على أية حال'; + String get subscriptionAreYouSureDialogCancelButton => 'إلغاء على أي حال'; @override String get subscriptionYourMonthlySupportCanceledNotification => - 'لقد تم إلغاء الدعم الشهري الخاص بك بنجاح.'; + 'تم إلغاء دعمك الشهري بنجاح.'; @override String get subscriptionMalformed => 'بيانات الاشتراك غير صحيحة'; @override String get subscriptionSignUpForMonthlySupportButton => - 'قم بالتسجيل للحصول على الدعم الشهري حتى يظهر هنا.'; + 'اشترك للحصول على الدعم الشهري ليظهر هنا.'; @override - String get subscriptionNoSubscriptionsYet => 'لا يوجد اشتراكات حتى الآن'; + String get subscriptionNoSubscriptionsYet => 'لا توجد اشتراكات حتى الآن'; @override String get subscriptionCreatedAtDateLabel => 'تاريخ الاشتراك'; @override - String get subscriptionExpiresAtDateLabel => 'تنتهي صلاحيتها'; + String get subscriptionExpiresAtDateLabel => 'تنتهي'; @override - String get subscriptionSubscriptionIdLabel => 'معرف الاشتراك'; + String get subscriptionSubscriptionIdLabel => 'معرّف الاشتراك'; @override - String get subscriptionProductIdLabel => 'معرف المنتج'; + String get subscriptionProductIdLabel => 'معرّف المنتج'; @override - String get subscriptionDialogOkButton => 'نعم'; + String get subscriptionDialogOkButton => 'موافق'; @override - String get errorProcessDonationTitle => 'لم نتمكن من متابعة الدفع الخاص بك'; + String get errorProcessDonationTitle => 'لم نتمكن من إتمام عملية الدفع'; @override String get errorProcessDonationSubtitle => - 'حدث خطأ أثناء الدفع. يُرجى المحاولة مرة أخرى.'; + 'حدث خطأ في عملية الدفع.\nيرجى المحاولة مرة أخرى.'; @override String get errorProcessDonationRetryButton => 'إعادة المحاولة'; @@ -192,5 +420,56 @@ class PayLocalizationAr extends PayLocalization { @override String get processingDonationStripeSubtitle => - 'ستتمكن من إكمال عملية الشراء الخاصة بك على صفحة الدفع الآمنة الخاصة بـ Stripe.'; + 'ستُكمل عملية الشراء عبر صفحة الدفع الآمنة الخاصة بـ Stripe.'; + + @override + String get perWeek => '/ أسبوع'; + + @override + String get perYear => '/ سنة'; + + @override + String get premiumMostPopularRibbon => 'الأكثر شعبية'; + + @override + String get premiumCloseTooltip => 'إغلاق'; + + @override + String get premiumTitle => 'دوكتورينا بريميوم'; + + @override + String get premiumWhatYouGetHeader => 'ما ستحصل عليه مع البريميوم:'; + + @override + String get premiumFeatureAdFree => 'استشارات بدون إعلانات'; + + @override + String get premiumFeatureFasterReplies => 'ردود أسرع'; + + @override + String get premiumFeatureEarlyAccess => 'الوصول المبكر إلى ميزات جديدة'; + + @override + String get premiumPricePerWeek => '/أسبوع'; + + @override + String get premiumCancelAnytime => 'يمكنك الإلغاء في أي وقت. لا التزام.'; + + @override + String get premiumLimitedTimeBadge => 'عرض محدود الوقت'; + + @override + String get premiumAutoRenewsConsent => + 'تتجدد تلقائيًا أسبوعيًا. يمكنك الإلغاء في أي وقت من الإعدادات. بالاستمرار، فإنك توافق على الشروط و

سياسة الخصوصية

.'; + + @override + String get premiumContinueButton => '🎁 متابعة مع البريميوم'; + + @override + String get premiumSupportMessage => + '💚 دعمك يساعد في الحفاظ على الوصول إلى الرعاية'; + + @override + String get subscriptionLoginRequiredError => + 'يرجى التسجيل أو تسجيل الدخول لإكمال عملية الشراء'; } diff --git a/example/lib/src/generated/pay/pay_localization_az.dart b/example/lib/src/generated/pay/pay_localization_az.dart new file mode 100644 index 0000000..5a3e071 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_az.dart @@ -0,0 +1,244 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Azerbaijani (`az`). +class PayLocalizationAz extends PayLocalization { + PayLocalizationAz([String locale = 'az']) : super(locale); + + @override + String get exampleButton => 'Düymə nümunəsi'; + + @override + String get donationYesItsAllGoodButton => 'Bəli, hər şey yaxşıdır!'; + + @override + String get everyContributionHealsTitle => 'Hər bir töhfə şəfa verir!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Sizin töhfəniz başqalarına pulsuz məsləhət almağa kömək edir'; + + @override + String get payWhatFeelsRightLabel => + 'Özünüzü rahat hiss etdiyiniz məbləği ödəyin,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'ya da başqalarının verdiyi sayəsində Doctorina-dan pulsuz istifadə etməyə davam edin'; + + @override + String get oneTimeLabel => 'Bir Dəfə'; + + @override + String get monthlyLabel => 'Aylıq'; + + @override + String get chooseMonthlyDonationAmountLabel => 'Aylıq ianə məbləğini seçin'; + + @override + String get subscriptionNoAmount => 'Siz aylıq plana abunə olmaq üzrəysiniz.'; + + @override + String subscriptionAmount(String amount) { + return 'Aylıq $amount/ay planına abunə olursunuz.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Ödəniş satın alma təsdiq edildikdə hesabınıza yüklənəcək. Abunə hər ay avtomatik olaraq yenilənir, əgər avtomatik yeniləmə cari dövrün bitməsindən ən azı 24 saat əvvəl deaktiv edilməzsə. Abunənizi istənilən vaxt hesab parametrlərinizdə idarə edə və ya ləğv edə bilərsiniz. Davam edərək, $termsOfService və $privacyPolicy ilə razılaşırsınız.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Bir dəfəlik bağış məbləğini seçin'; + + @override + String get mostPeopleGiveHint => 'Çox insanlar \$7–\$15 verir'; + + @override + String get selectCurrencyTooltip => 'Valyuta seçin'; + + @override + String get processingPaymentSemantics => 'Ödəniş emalı'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Bir dəfəlik ödənişin emalı $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Aylıq ödənişin emalı $amount'; + } + + @override + String get thankYouTitle => 'Təşəkkür edirəm!'; + + @override + String get thankYouSubtitle => + 'İndi daha çox insan pulsuz məsləhət alacaq — dəstəyiniz həqiqətən qiymətlidir.'; + + @override + String get youContributedLabel => 'Siz töhfə verdiniz:'; + + @override + String get perMonth => '/ ay'; + + @override + String get returnToTheMainScreenButton => 'Əsas ekrana qayıt'; + + @override + String get termsOfServiceLabel => 'Xidmət Şərtləri'; + + @override + String get privacyPolicyLabel => 'Məxfilik Siyasəti'; + + @override + String get donateButton => 'Bağışla'; + + @override + String get subscriptionStatusActiveLabel => 'Aktiv'; + + @override + String get subscriptionStatusCanceledLabel => 'İmtina edildi'; + + @override + String get subscriptionStatusPausedLabel => 'Dayandırılıb'; + + @override + String get subscriptionStatusPendingLabel => 'Gözləmə'; + + @override + String get subscriptionStatusCreatedLabel => 'Yaradıldı'; + + @override + String get subscriptionStatusTimeoutLabel => 'Vaxt bitdi'; + + @override + String get subscriptionStatusUnknownLabel => 'Naməlum'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina iştirakçı'; + + @override + String get subscriptionRenews => 'Təkrarlanır'; + + @override + String get subscriptionCancelButton => 'Abunəliyi ləğv et'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Əminsiniz?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Sizin aylıq dəstəyiniz Doctorina-nı ödəniş edə bilməyən insanlar üçün pulsuz saxlayır.\n\nSizin abunəliyiniz hər ay ən azı 10 pulsuz konsultasiyanı maliyyələşdirir.\n\nTərk etsəniz, daha az xəstə lazım olan köməyi alacaq.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Abunəliyi saxla'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Hər halda ləğv et'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Aylıq dəstəyiniz uğurla ləğv edilib'; + + @override + String get subscriptionMalformed => 'Yanlış abunə məlumatı'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Aylıq dəstək üçün qeydiyyatdan keçin ki, burada görünsün.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Hələlik abunə yoxdur'; + + @override + String get subscriptionCreatedAtDateLabel => 'Abunə tarixi'; + + @override + String get subscriptionExpiresAtDateLabel => 'Bitir'; + + @override + String get subscriptionSubscriptionIdLabel => 'Abunə ID'; + + @override + String get subscriptionProductIdLabel => 'Məhsul ID'; + + @override + String get subscriptionDialogOkButton => 'Tamam'; + + @override + String get errorProcessDonationTitle => 'Ödəmənizi həyata keçirə bilmədik'; + + @override + String get errorProcessDonationSubtitle => + 'Ödənişdə bir problem yarandı. Zəhmət olmasa, yenidən cəhd edin.'; + + @override + String get errorProcessDonationRetryButton => 'Təkrar cəhd et'; + + @override + String get processingDonationTitle => 'Ödənişin emalı'; + + @override + String get processingDonationStripeSubtitle => + 'Ödəmənizi Stripe-in təhlükəsiz ödəniş səhifəsində tamamlayacaqsınız.'; + + @override + String get perWeek => '/ həftə'; + + @override + String get perYear => '/ il'; + + @override + String get premiumMostPopularRibbon => 'Ən populyar'; + + @override + String get premiumCloseTooltip => 'Bağla'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Premium ilə əldə etdikləriniz:'; + + @override + String get premiumFeatureAdFree => 'Reklamsız konsultasiyalar'; + + @override + String get premiumFeatureFasterReplies => 'Daha sürətli cavablar'; + + @override + String get premiumFeatureEarlyAccess => 'Yeni xüsusiyyətlərə erkən giriş'; + + @override + String get premiumPricePerWeek => '/həftə'; + + @override + String get premiumCancelAnytime => + 'İstədiyiniz zaman ləğv edin. Heç bir öhdəlik yoxdur.'; + + @override + String get premiumLimitedTimeBadge => 'MƏHDUD ZAMAN'; + + @override + String get premiumAutoRenewsConsent => + 'Həftəlik avtomatik yenilənir. İstədiyiniz zaman parametrlərdə ləğv edin. Davam edərək, Şərtlərimizə

Gizlilik Siyasətimizə

razılaşırsınız.'; + + @override + String get premiumContinueButton => '🎁 Premium ilə Davam et'; + + @override + String get premiumSupportMessage => + '💚 Dəstəyiniz, xidmətin əlçatan olmasına kömək edir'; + + @override + String get subscriptionLoginRequiredError => + 'Zəhmət olmasa, satınalmayı tamamlamaq üçün qeydiyyatdan keçin və ya daxil olun.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_be.dart b/example/lib/src/generated/pay/pay_localization_be.dart new file mode 100644 index 0000000..1453fb2 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_be.dart @@ -0,0 +1,245 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Belarusian (`be`). +class PayLocalizationBe extends PayLocalization { + PayLocalizationBe([String locale = 'be']) : super(locale); + + @override + String get exampleButton => 'Прыклад кнопкі'; + + @override + String get donationYesItsAllGoodButton => 'Так, усё добра!'; + + @override + String get everyContributionHealsTitle => 'Кожны ўнёсак лечыць!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Ваш унёсак дапамагае фінансаваць бясплатныя кансультацыі для тых, хто ў іх мае патрэбу.'; + + @override + String get payWhatFeelsRightLabel => 'Плаціце, колькі лічыце правільным,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'ці працягвайце карыстацца Doctorina бясплатна, дзякуючы тым, хто вырашыў ахвяраваць'; + + @override + String get oneTimeLabel => 'Аднаразовы'; + + @override + String get monthlyLabel => 'Штомесячна'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Абярыце суму штомесячнага ахвяравання'; + + @override + String get subscriptionNoAmount => + 'Вы збіраецеся падпісацца на месячны план.'; + + @override + String subscriptionAmount(String amount) { + return 'Вы падпісваецеся на штомесячны план за $amount/месяц.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'З вашага рахунку будзе спісання аплаты пасля пацверджання пакупкі. Падпіска аўтаматычна падаўжаецца кожны месяц, калі аўтапратоўленне не адключана не менш чым за 24 гадзіны да заканчэння бягучага перыяду. Вы можаце кіраваць падпіскай або адмяніць яе ў любы час у наладах уліковага запісу. Працягваючы, вы згаджаецеся з нашымі $termsOfService і $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Абярыце суму аднаразовага ахвяравання'; + + @override + String get mostPeopleGiveHint => 'Большасць людзей дае \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Выберыце валюту'; + + @override + String get processingPaymentSemantics => 'Апрацоўка аплаты'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Апрацоўка аднаразовага плацяжу $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Апрацоўваецца штомесячны плацёж на суму $amount'; + } + + @override + String get thankYouTitle => 'Дзякуй!'; + + @override + String get thankYouSubtitle => + 'Цяпер яшчэ больш людзей атрымаюць бясплатныя парады — ваша падтрымка сапраўды неацэнная'; + + @override + String get youContributedLabel => 'Ваш ўклад:'; + + @override + String get perMonth => '/ месяц'; + + @override + String get returnToTheMainScreenButton => 'Вярнуцца на галоўны экран'; + + @override + String get termsOfServiceLabel => 'Умовы карыстання'; + + @override + String get privacyPolicyLabel => 'Палітыка прыватнасці'; + + @override + String get donateButton => 'Ахвяраваць'; + + @override + String get subscriptionStatusActiveLabel => 'Актыўны'; + + @override + String get subscriptionStatusCanceledLabel => 'Адменена'; + + @override + String get subscriptionStatusPausedLabel => 'Прыпынена'; + + @override + String get subscriptionStatusPendingLabel => 'У чаканні'; + + @override + String get subscriptionStatusCreatedLabel => 'Створана'; + + @override + String get subscriptionStatusTimeoutLabel => 'Тайм-аут'; + + @override + String get subscriptionStatusUnknownLabel => 'Невядома'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina ўкладчык'; + + @override + String get subscriptionRenews => 'Прадоўжваецца'; + + @override + String get subscriptionCancelButton => 'Скасаваць падпіску'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Вы ўпэўнены?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Ваш штомесячны ўнёсак дазваляе Докторына заставацца бясплатнай для людзей, якія на яе спадзяюцца, але не могуць дазволіць сабе плаціць. Ваша падпіска фінансуе не менш за 10 бясплатных кансультацый кожны месяц. Калі вы выйдзеце, менш пацыентаў атрымаюць неабходную дапамогу.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Аставіць падпіску'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Усё роўна скасаваць'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Ваша штомесячная падтрымка\nбыла паспяхова скасавана.'; + + @override + String get subscriptionMalformed => 'Няправільныя дадзеныя падпіскі'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Запішыцеся на штомесячную падтрымку, каб яна з\'яўлялася тут'; + + @override + String get subscriptionNoSubscriptionsYet => 'Падпіскі пакуль няма'; + + @override + String get subscriptionCreatedAtDateLabel => 'Дата падпіскі'; + + @override + String get subscriptionExpiresAtDateLabel => 'Скончаецца'; + + @override + String get subscriptionSubscriptionIdLabel => 'Ідэнтыфікатар падпіскі'; + + @override + String get subscriptionProductIdLabel => 'Ідэнтыфікатар прадукта'; + + @override + String get subscriptionDialogOkButton => 'ОК'; + + @override + String get errorProcessDonationTitle => 'Мы не змаглі апрацаваць ваш плацёж'; + + @override + String get errorProcessDonationSubtitle => + 'Нешта пайшло не так з аплатай. Калі ласка, паспрабуйце зноў.'; + + @override + String get errorProcessDonationRetryButton => 'Паўтарыць'; + + @override + String get processingDonationTitle => 'Апрацоўка плацежу'; + + @override + String get processingDonationStripeSubtitle => + 'Вы завяршыце сваю пакупку на бяспечнай старонцы афармлення замовы Stripe.'; + + @override + String get perWeek => '/ тыдзень'; + + @override + String get perYear => '/ год'; + + @override + String get premiumMostPopularRibbon => 'Найлепшы'; + + @override + String get premiumCloseTooltip => 'Зачыніць'; + + @override + String get premiumTitle => 'Doctorina Прэміум'; + + @override + String get premiumWhatYouGetHeader => 'Што вы атрымліваеце з Преміум:'; + + @override + String get premiumFeatureAdFree => 'Кансультацыі без рэкламы'; + + @override + String get premiumFeatureFasterReplies => 'Хуткія адказы'; + + @override + String get premiumFeatureEarlyAccess => 'Ранній доступ да новых функцый'; + + @override + String get premiumPricePerWeek => '/тыдзень'; + + @override + String get premiumCancelAnytime => + 'Скасуйце ў любы час. Без абавязацельстваў.'; + + @override + String get premiumLimitedTimeBadge => 'АБМЕЖАВАНЫ ЧАС'; + + @override + String get premiumAutoRenewsConsent => + 'Аўтаабнаўленне раз на тыдзень. Скасуйце ў любы час у наладах. Працягваючы, вы згаджаецеся з нашымі Умовамі і

Палітыкай канфідэнцыяльнасці

.'; + + @override + String get premiumContinueButton => '🎁 Працягнуць з Преміум'; + + @override + String get premiumSupportMessage => + '💚 Ваша падтрымка дапамагае зрабіць медыцынскую дапамогу даступнай'; + + @override + String get subscriptionLoginRequiredError => + 'Калі ласка, зарэгіструйцеся або ўвайдзіце, каб завяршыць пакупку'; +} diff --git a/example/lib/src/generated/pay/pay_localization_bg.dart b/example/lib/src/generated/pay/pay_localization_bg.dart new file mode 100644 index 0000000..9355014 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_bg.dart @@ -0,0 +1,243 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Bulgarian (`bg`). +class PayLocalizationBg extends PayLocalization { + PayLocalizationBg([String locale = 'bg']) : super(locale); + + @override + String get exampleButton => 'Пример на бутон'; + + @override + String get donationYesItsAllGoodButton => 'Да, всичко е наред!'; + + @override + String get everyContributionHealsTitle => 'Всяко дарение лекува!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Вашето дарение помага за финансиране на безплатни съвети за други в нужда.'; + + @override + String get payWhatFeelsRightLabel => 'Платете, както ви се струва правилно,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'или продължете да използвате Doctorina безплатно, благодарение на другите, които избраха да дарят.'; + + @override + String get oneTimeLabel => 'Еднократно'; + + @override + String get monthlyLabel => 'Месечно'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Изберете месечна сума за дарение'; + + @override + String get subscriptionNoAmount => 'Вие ще се абонирате за месечен план.'; + + @override + String subscriptionAmount(String amount) { + return 'Вие се абонирате за месечен план за $amount/месец.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Плащането ще бъде начислено на вашата сметка при потвърждение на покупката. Абонаментът се подновява автоматично всеки месец, освен ако автоматичното подновяване не бъде изключено поне 24 часа преди края на текущия период. Можете да управлявате или отменяте абонамента си по всяко време в настройките на вашия акаунт. Като продължавате, вие се съгласявате с нашите $termsOfService и $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Изберете еднократна сума за дарение'; + + @override + String get mostPeopleGiveHint => 'Повечето хора дават \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Изберете валута'; + + @override + String get processingPaymentSemantics => 'Обработка на плащането'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Обработка на еднократно плащане от $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Обработка на месечно плащане от $amount'; + } + + @override + String get thankYouTitle => 'Благодаря!'; + + @override + String get thankYouSubtitle => + 'Сега още повече хора ще получат безплатни съвети — вашата подкрепа е наистина безценна.'; + + @override + String get youContributedLabel => 'Вие допринесохте:'; + + @override + String get perMonth => '/ месец'; + + @override + String get returnToTheMainScreenButton => 'Върнете се на главния екран'; + + @override + String get termsOfServiceLabel => 'Условия за ползване'; + + @override + String get privacyPolicyLabel => 'Политика за поверителност'; + + @override + String get donateButton => 'Дарете'; + + @override + String get subscriptionStatusActiveLabel => 'Активен'; + + @override + String get subscriptionStatusCanceledLabel => 'Отменен'; + + @override + String get subscriptionStatusPausedLabel => 'Пауза'; + + @override + String get subscriptionStatusPendingLabel => 'В очакване'; + + @override + String get subscriptionStatusCreatedLabel => 'Създадено'; + + @override + String get subscriptionStatusTimeoutLabel => 'Времето изтече'; + + @override + String get subscriptionStatusUnknownLabel => 'Неизвестно'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina сътрудник'; + + @override + String get subscriptionRenews => 'Подновява'; + + @override + String get subscriptionCancelButton => 'Отмяна на абонамента'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Сигурни ли сте?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Вашата месечна подкрепа поддържа Doctorina безплатно за хора, които разчитат на него, но не могат да си позволят да платят. \n\nВашата абонаментна такса финансира поне 10 безплатни консултации всеки месец. \n\nАко напуснете, по-малко пациенти ще получат помощта, от която се нуждаят.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Запази абонамента'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Отмени все пак'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Вашата месечна поддръжка е успешно отменена'; + + @override + String get subscriptionMalformed => 'Неправилни данни за абонамент'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Запишете се за месечна поддръжка, за да се появи тук.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Няма абонаменти все още'; + + @override + String get subscriptionCreatedAtDateLabel => 'Дата на абонамента'; + + @override + String get subscriptionExpiresAtDateLabel => 'Изтича'; + + @override + String get subscriptionSubscriptionIdLabel => 'ID на абонамента'; + + @override + String get subscriptionProductIdLabel => 'Идентификатор на продукта'; + + @override + String get subscriptionDialogOkButton => 'ОК'; + + @override + String get errorProcessDonationTitle => + 'Не можахме да обработим плащането ви'; + + @override + String get errorProcessDonationSubtitle => 'Нещо се обърка с плащането.'; + + @override + String get errorProcessDonationRetryButton => 'Опитай отново'; + + @override + String get processingDonationTitle => 'Обработка на плащането'; + + @override + String get processingDonationStripeSubtitle => + 'Ще завършите покупката си на защитената страница за плащане на Stripe.'; + + @override + String get perWeek => '/ седмица'; + + @override + String get perYear => '/ година'; + + @override + String get premiumMostPopularRibbon => 'Най-популярен'; + + @override + String get premiumCloseTooltip => 'Затвори'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Какво получавате с Премиум:'; + + @override + String get premiumFeatureAdFree => 'Консултации без реклами'; + + @override + String get premiumFeatureFasterReplies => 'По-бързи отговори'; + + @override + String get premiumFeatureEarlyAccess => 'Ранен достъп до нови функции'; + + @override + String get premiumPricePerWeek => '/седмица'; + + @override + String get premiumCancelAnytime => 'Отменете по всяко време. Без ангажимент.'; + + @override + String get premiumLimitedTimeBadge => 'ОГРАНИЧЕНО ВРЕМЕ'; + + @override + String get premiumAutoRenewsConsent => + 'Автоматично се подновява седмично. Можете да отмените по всяко време в настройките. Като продължавате, вие се съгласявате с нашите Условия и

Политика за поверителност

.'; + + @override + String get premiumContinueButton => '🎁 Продължи с Премиум'; + + @override + String get premiumSupportMessage => + '💚 Вашата подкрепа помага да се запази достъпността на грижите'; + + @override + String get subscriptionLoginRequiredError => + 'Моля, регистрирайте се или влезте, за да завършите покупката.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_bn.dart b/example/lib/src/generated/pay/pay_localization_bn.dart index 9abad4d..ddc8bee 100644 --- a/example/lib/src/generated/pay/pay_localization_bn.dart +++ b/example/lib/src/generated/pay/pay_localization_bn.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,73 +11,70 @@ class PayLocalizationBn extends PayLocalization { PayLocalizationBn([String locale = 'bn']) : super(locale); @override - String get title => 'পেমেন্ট'; + String get exampleButton => 'বাটন উদাহরণ'; @override - String get exampleButton => 'বোতাম উদাহরণ'; + String get donationYesItsAllGoodButton => 'হ্যাঁ, সব ঠিক আছে!'; @override - String get donationYesItsAllGoodButton => 'হ্যাঁ, এটা সব ভাল!'; - - @override - String get everyContributionHealsTitle => 'প্রতিটি অবদান আরোগ্য!'; + String get everyContributionHealsTitle => 'প্রতিটি অবদান নিরাময় করে!'; @override String get ifThisHelpedYouConsiderSupportingSubtitle => - 'আপনার অবদান প্রয়োজনে অন্যদের জন্য বিনামূল্যে পরামর্শ তহবিল সাহায্য করে.'; + 'আপনার অবদান প্রয়োজনীয়দের জন্য বিনামূল্যে পরামর্শ প্রদানে সহায়তা করে.'; @override - String get payWhatFeelsRightLabel => 'যা সঠিক মনে হয় তাই পরিশোধ করুন,'; + String get payWhatFeelsRightLabel => 'যা মনে হয় ঠিক তাই মূল্য দিন,'; @override String get orKeepUsingDoctorinaForFreeLabel => - 'অথবা বিনামূল্যে ডক্টরিনা ব্যবহার করা চালিয়ে যান, যারা দিতে বেছে নিয়েছেন তাদের ধন্যবাদ।'; + 'অথবা Doctorina-কে বিনামূল্যে ব্যবহার চালিয়ে যান, তাদের ধন্যবাদ যারা দান করতে পছন্দ করেছেন'; @override - String get oneTimeLabel => 'ওয়ান-টাইম'; + String get oneTimeLabel => 'এককালীন'; @override String get monthlyLabel => 'মাসিক'; @override String get chooseMonthlyDonationAmountLabel => - 'মাসিক অনুদান পরিমাণ চয়ন করুন'; + 'মাসিক দান পরিমাণ নির্বাচন করুন'; @override String get subscriptionNoAmount => - 'আপনি একটি মাসিক পরিকল্পনার সদস্যতা নিতে চলেছেন৷'; + 'আপনি একটি মাসিক প্ল্যেনে সদস্যতা নিতে যাচ্ছেন.'; @override String subscriptionAmount(String amount) { - return 'আপনি $amount/মাসের জন্য একটি মাসিক প্ল্যানে সদস্যতা নিচ্ছেন।'; + return 'আপনি $amount/মাসের জন্য একটি মাসিক পরিকল্পনার সদস্যতা নিচ্ছেন'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return 'ক্রয়ের নিশ্চিতকরণে আপনার অ্যাকাউন্টে অর্থ প্রদান করা হবে। সাবস্ক্রিপশন স্বয়ংক্রিয়ভাবে প্রতি মাসে পুনর্নবীকরণ হয় যদি না বর্তমান মেয়াদ শেষ হওয়ার কমপক্ষে 24 ঘন্টা আগে স্বয়ংক্রিয় পুনর্নবীকরণ বন্ধ করা হয়। আপনি আপনার অ্যাকাউন্ট সেটিংসে যেকোনো সময় আপনার সদস্যতা পরিচালনা বা বাতিল করতে পারেন। এগিয়ে যাওয়ার মাধ্যমে, আপনি আমাদের $termsOfService এবং $privacyPolicy-এ সম্মত হন।'; + return 'ক্রয় নিশ্চিতকরণের সময় আপনার অ্যাকাউন্ট থেকে অর্থ চার্জ করা হবে। সাবস্ক্রিপশনটি বর্তমান পর্বের শেষে অন্তত ২৪ ঘণ্টা আগে অটো-রিনিউ বন্ধ না করা পর্যন্ত প্রতি মাসে স্বয়ংক্রিয়ভাবে নবায়ন হয়। আপনি আপনার অ্যাকাউন্ট সেটিংসে যেকোনো সময় সাবস্ক্রিপশন পরিচালনা বা বাতিল করতে পারেন। প্রক্রিয়া চালিয়ে যাওয়ার মাধ্যমে, আপনি আমাদের $termsOfService এবং $privacyPolicy এ সম্মত হচ্ছেন।'; } @override String get chooseOneTimeDonationAmountLabel => - 'এককালীন অনুদানের পরিমাণ চয়ন করুন'; + 'এককালীন অনুদানের পরিমাণ নির্বাচন করুন'; @override - String get mostPeopleGiveHint => 'বেশিরভাগ লোক \$7-\$15 দেয়'; + String get mostPeopleGiveHint => 'বেশিরভাগ মানুষ \$7–\$15 দেন'; @override String get selectCurrencyTooltip => 'মুদ্রা নির্বাচন করুন'; @override - String get processingPaymentSemantics => 'পেমেন্ট প্রক্রিয়াকরণ'; + String get processingPaymentSemantics => 'পেমেন্ট প্রক্রিয়া হচ্ছে'; @override String processingOneTimePaymentSemantics(String currency, String amount) { - return '$currency $amount-এর এককালীন পেমেন্ট প্রক্রিয়া করা হচ্ছে'; + return 'এককালীন পেমেন্ট $currency $amount প্রক্রিয়া চলছে'; } @override String processingMonthlyPaymentSemantics(String amount) { - return '$amount মাসিক পেমেন্ট প্রক্রিয়া করা হচ্ছে'; + return 'প্রতি মাসের পেমেন্ট $amount প্রক্রিয়া হচ্ছে'; } @override @@ -85,7 +82,7 @@ class PayLocalizationBn extends PayLocalization { @override String get thankYouSubtitle => - 'এখন আরও বেশি লোক বিনামূল্যে পরামর্শ পাবে — আপনার সমর্থন সত্যিই অমূল্য।'; + 'এখন আরও অনেক মানুষ বিনামূল্যে পরামর্শ পাবেন — আপনার সহায়তা সত্যিই অপরিমেয়।'; @override String get youContributedLabel => 'আপনি অবদান রেখেছেন:'; @@ -94,10 +91,10 @@ class PayLocalizationBn extends PayLocalization { String get perMonth => '/ মাস'; @override - String get returnToTheMainScreenButton => 'মূল পর্দায় ফিরে যান'; + String get returnToTheMainScreenButton => 'প্রধান পৃষ্ঠায় ফিরে যান'; @override - String get termsOfServiceLabel => 'পরিষেবার শর্তাবলী'; + String get termsOfServiceLabel => 'সেবার শর্তাবলী'; @override String get privacyPolicyLabel => 'গোপনীয়তা নীতি'; @@ -105,9 +102,6 @@ class PayLocalizationBn extends PayLocalization { @override String get donateButton => 'দান করুন'; - @override - String get manageSubscriptionTitle => 'সদস্যতা পরিচালনা করুন'; - @override String get subscriptionStatusActiveLabel => 'সক্রিয়'; @@ -115,58 +109,58 @@ class PayLocalizationBn extends PayLocalization { String get subscriptionStatusCanceledLabel => 'বাতিল'; @override - String get subscriptionStatusPausedLabel => 'বিরতি দেওয়া হয়েছে'; + String get subscriptionStatusPausedLabel => 'বিরতি'; @override String get subscriptionStatusPendingLabel => 'মুলতুবি'; @override - String get subscriptionStatusCreatedLabel => 'তৈরি হয়েছে'; + String get subscriptionStatusCreatedLabel => 'তৈরি করা হয়েছে'; @override - String get subscriptionStatusTimeoutLabel => 'টাইম আউট'; + String get subscriptionStatusTimeoutLabel => 'টাইমআউট'; @override String get subscriptionStatusUnknownLabel => 'অজানা'; @override - String get subscriptionDoctorinaContributor => 'ডক্টরিনা অবদানকারী'; + String get subscriptionDoctorinaContributor => 'ডাক্টরিনা অবদানকারী'; @override - String get subscriptionRenews => 'রিনিউজ'; + String get subscriptionRenews => 'নবায়ন হয়'; @override - String get subscriptionCancelButton => 'সদস্যতা বাতিল করুন'; + String get subscriptionCancelButton => 'সাবস্ক্রিপশন বাতিল করুন'; @override String get subscriptionAreYouSureDialogTitle => 'আপনি কি নিশ্চিত?'; @override String get subscriptionAreYouSureDialogText => - 'আপনার মাসিক সহায়তা এমন লোকদের জন্য ডক্টরিনাকে বিনামূল্যে রাখে যারা এটির উপর নির্ভর করে কিন্তু অর্থ প্রদানের সামর্থ্য রাখে না। \n\nআপনার সদস্যতা তহবিল প্রতি মাসে অন্তত 10 বিনামূল্যে পরামর্শ.\n
আপনি চলে গেলে, কম রোগী তাদের প্রয়োজনীয় সহায়তা পাবেন।'; + 'আপনার মাসিক সহায়তা ডক্টরিনা তাদের জন্য ফ্রি রাখে যারা এতে নির্ভর করে কিন্তু পেমেন্ট করতে পারে না.\n\nআপনার সাবস্ক্রিপশন প্রতি মাসে কমপক্ষে 10টি বিনামূল্যে পরামর্শ প্রদান করে.\nযদি আপনি ছেড়ে যান, তাহলে কম রোগী প্রয়োজনীয় সাহায্য পাবে'; @override String get subscriptionAreYouSureDialogKeepButton => 'সাবস্ক্রিপশন রাখুন'; @override - String get subscriptionAreYouSureDialogCancelButton => 'যাইহোক বাতিল করুন'; + String get subscriptionAreYouSureDialogCancelButton => 'তবুও বাতিল করুন'; @override String get subscriptionYourMonthlySupportCanceledNotification => - 'আপনার মাসিক সমর্থন \nসফলভাবে বাতিল করা হয়েছে।'; + 'আপনার মাসিক সহায়তা সফলভাবে বাতিল করা হয়েছে.'; @override - String get subscriptionMalformed => 'ভুল সাবস্ক্রিপশন ডেটা'; + String get subscriptionMalformed => 'ভুল সাবস্ক্রিপশন তথ্য'; @override String get subscriptionSignUpForMonthlySupportButton => - 'এটি এখানে উপস্থিত হওয়ার জন্য মাসিক সহায়তার জন্য সাইন আপ করুন৷'; + 'মাসিক সহায়তার জন্য সাইন আপ করুন যাতে এটি এখানে প্রদর্শিত হয়'; @override - String get subscriptionNoSubscriptionsYet => 'এখনো কোনো সদস্যতা নেই'; + String get subscriptionNoSubscriptionsYet => 'এখনো কোন সাবস্ক্রিপশন নেই'; @override - String get subscriptionCreatedAtDateLabel => 'সদস্যতা তারিখ'; + String get subscriptionCreatedAtDateLabel => 'সাবস্ক্রিপশন তারিখ'; @override String get subscriptionExpiresAtDateLabel => 'মেয়াদ শেষ'; @@ -175,25 +169,79 @@ class PayLocalizationBn extends PayLocalization { String get subscriptionSubscriptionIdLabel => 'সাবস্ক্রিপশন আইডি'; @override - String get subscriptionProductIdLabel => 'পণ্য আইডি'; + String get subscriptionProductIdLabel => 'পণ্যের আইডি'; @override String get subscriptionDialogOkButton => 'ঠিক আছে'; @override - String get errorProcessDonationTitle => 'আমরা আপনার পেমেন্ট এগোতে পারিনি'; + String get errorProcessDonationTitle => + 'আমরা আপনার পেমেন্ট সম্পন্ন করতে পারিনি'; @override String get errorProcessDonationSubtitle => - 'পেমেন্টে কিছু ভুল হয়েছে।\nআবার চেষ্টা করুন.'; + 'পেমেন্টে কিছু ভুল হয়েছে.\nআবার চেষ্টা করুন.'; @override - String get errorProcessDonationRetryButton => 'আবার চেষ্টা করুন'; + String get errorProcessDonationRetryButton => 'পুনরায় চেষ্টা করুন'; @override - String get processingDonationTitle => 'পেমেন্ট প্রক্রিয়াকরণ'; + String get processingDonationTitle => 'পেমেন্ট প্রক্রিয়াকরণ হচ্ছে'; @override String get processingDonationStripeSubtitle => - 'আপনি স্ট্রাইপের নিরাপদ চেকআউট পৃষ্ঠায় আপনার কেনাকাটা সম্পূর্ণ করবেন।'; + 'আপনি Stripe-এর নিরাপদ চেকআউট পৃষ্ঠায় আপনার ক্রয় সম্পন্ন করবেন।'; + + @override + String get perWeek => '/ সপ্তাহ'; + + @override + String get perYear => '/ বছর'; + + @override + String get premiumMostPopularRibbon => 'সবচেয়ে জনপ্রিয়'; + + @override + String get premiumCloseTooltip => 'বন্ধ করুন'; + + @override + String get premiumTitle => 'ডক্টরিনা প্রিমিয়াম'; + + @override + String get premiumWhatYouGetHeader => 'প্রিমিয়ামের সাথে আপনি যা পাবেন:'; + + @override + String get premiumFeatureAdFree => 'বিজ্ঞাপন-মুক্ত পরামর্শ'; + + @override + String get premiumFeatureFasterReplies => 'দ্রুত উত্তর'; + + @override + String get premiumFeatureEarlyAccess => + 'নতুন বৈশিষ্ট্যের জন্য প্রাথমিক অ্যাক্সেস'; + + @override + String get premiumPricePerWeek => '/সপ্তাহ'; + + @override + String get premiumCancelAnytime => + 'যেকোনো সময় বাতিল করুন। কোনো প্রতিশ্রুতি নেই।'; + + @override + String get premiumLimitedTimeBadge => 'সীমিত সময়'; + + @override + String get premiumAutoRenewsConsent => + 'প্রতি সপ্তাহে স্বয়ংক্রিয়ভাবে নবায়ন হয়। সেটিংসে যেকোনো সময় বাতিল করুন। এগিয়ে যাওয়ার জন্য, আপনি আমাদের শর্তাবলী এবং

গোপনীয়তা নীতি

মেনে নিচ্ছেন।'; + + @override + String get premiumContinueButton => '🎁 প্রিমিয়ামে চালিয়ে যান'; + + @override + String get premiumSupportMessage => + '💚 আপনার সমর্থন চিকিৎসা সেবা সহজলভ্য রাখতে সাহায্য করে'; + + @override + String get subscriptionLoginRequiredError => + 'ক্রয় সম্পন্ন করতে দয়া করে সাইন আপ করুন বা লগ ইন করুন।'; } diff --git a/example/lib/src/generated/pay/pay_localization_ca.dart b/example/lib/src/generated/pay/pay_localization_ca.dart new file mode 100644 index 0000000..cba2372 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_ca.dart @@ -0,0 +1,247 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Catalan Valencian (`ca`). +class PayLocalizationCa extends PayLocalization { + PayLocalizationCa([String locale = 'ca']) : super(locale); + + @override + String get exampleButton => 'Exemple de botó'; + + @override + String get donationYesItsAllGoodButton => 'Sí, està tot bé!'; + + @override + String get everyContributionHealsTitle => 'Cada contribució sana!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'La teva contribució ajuda a finançar consells gratuïts per a altres que ho necessiten'; + + @override + String get payWhatFeelsRightLabel => 'Paga el que et sembli correcte,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'o continua utilitzant Doctorina de franc, gràcies a altres que han escollit donar'; + + @override + String get oneTimeLabel => 'Un cop'; + + @override + String get monthlyLabel => 'Mensual'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Trieu l\'import mensual de donació'; + + @override + String get subscriptionNoAmount => + 'Estàs a punt de subscriure\'t a un pla mensual'; + + @override + String subscriptionAmount(String amount) { + return 'Estàs subscrivint-te a un pla mensual per $amount/mes.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'El pagament es carregarà al teu compte en la confirmació de la compra. La subscripció es renova automàticament cada mes, a menys que l\'auto-renovació estigui desactivada almenys 24 hores abans de la fi del període actual. Pots gestionar o cancel·lar la teva subscripció en qualsevol moment a la configuració del teu compte. En continuar, acceptes els nostres $termsOfService i $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Trieu l\'import de la donació única'; + + @override + String get mostPeopleGiveHint => 'La majoria de la gent dóna \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Selecciona la moneda'; + + @override + String get processingPaymentSemantics => 'Processant el pagament'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Processant un pagament únic de $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Processant el pagament mensual de $amount'; + } + + @override + String get thankYouTitle => 'Gràcies!'; + + @override + String get thankYouSubtitle => + 'Ara encara més persones rebran consells gratuïts — el teu suport és realment inavaluable.'; + + @override + String get youContributedLabel => 'Has contribuït:'; + + @override + String get perMonth => '/ mes'; + + @override + String get returnToTheMainScreenButton => 'Torna a la pantalla principal'; + + @override + String get termsOfServiceLabel => 'Termes de servei'; + + @override + String get privacyPolicyLabel => 'Política de privadesa'; + + @override + String get donateButton => 'Dona'; + + @override + String get subscriptionStatusActiveLabel => 'Actiu'; + + @override + String get subscriptionStatusCanceledLabel => 'Cancel·lat'; + + @override + String get subscriptionStatusPausedLabel => 'Pausat'; + + @override + String get subscriptionStatusPendingLabel => 'Pendent'; + + @override + String get subscriptionStatusCreatedLabel => 'Creat'; + + @override + String get subscriptionStatusTimeoutLabel => 'Temps esgotat'; + + @override + String get subscriptionStatusUnknownLabel => 'Desconegut'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina contribuent'; + + @override + String get subscriptionRenews => 'Renova'; + + @override + String get subscriptionCancelButton => 'Cancel·la la subscripció'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Estàs segur?'; + + @override + String get subscriptionAreYouSureDialogText => + 'El teu suport mensual manté Doctorina gratuït per a les persones que hi confien però no poden pagar. La teva subscripció finança almenys 10 consultes gratuïtes cada mes. Si marxes, menys pacients rebran l\'ajuda que necessiten.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => + 'Mantenir la subscripció'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Cancel·la igualment'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'El teu suport mensual s\'ha cancel·lat amb èxit.'; + + @override + String get subscriptionMalformed => 'Dades d\'abonament incorrectes'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Inscriu-te per a suport mensual perquè aparegui aquí'; + + @override + String get subscriptionNoSubscriptionsYet => 'Encara no hi ha subscripcions'; + + @override + String get subscriptionCreatedAtDateLabel => 'Data de subscripció'; + + @override + String get subscriptionExpiresAtDateLabel => 'Expira'; + + @override + String get subscriptionSubscriptionIdLabel => 'ID de subscripció'; + + @override + String get subscriptionProductIdLabel => 'ID del producte'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'No hem pogut processar el teu pagament'; + + @override + String get errorProcessDonationSubtitle => + 'Alguna cosa ha anat malament amb el pagament. Si us plau, torna a provar.'; + + @override + String get errorProcessDonationRetryButton => 'Torna a provar'; + + @override + String get processingDonationTitle => 'Processant el pagament'; + + @override + String get processingDonationStripeSubtitle => + 'Completaràs la teva compra a la pàgina de pagament segura de Stripe.'; + + @override + String get perWeek => '/ setmana'; + + @override + String get perYear => '/ any'; + + @override + String get premiumMostPopularRibbon => 'Més popular'; + + @override + String get premiumCloseTooltip => 'Tanca'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'El que obtens amb Premium:'; + + @override + String get premiumFeatureAdFree => 'Consultes sense anuncis'; + + @override + String get premiumFeatureFasterReplies => 'Respostes més ràpides'; + + @override + String get premiumFeatureEarlyAccess => 'Accés anticipat a noves funcions'; + + @override + String get premiumPricePerWeek => '/setmana'; + + @override + String get premiumCancelAnytime => + 'Cancel·la en qualsevol moment. Sense compromís.'; + + @override + String get premiumLimitedTimeBadge => 'TEMPS LIMITAT'; + + @override + String get premiumAutoRenewsConsent => + 'Es renova setmanalment. Cancel·la en qualsevol moment a la configuració. En continuar, acceptes els nostres Termes i

Política de Privacitat

.'; + + @override + String get premiumContinueButton => '🎁 Continua amb Premium'; + + @override + String get premiumSupportMessage => + '💚 El teu suport ajuda a mantenir l\'atenció accessible'; + + @override + String get subscriptionLoginRequiredError => + 'Si us plau, registreu-vos o inicieu sessió per completar la compra.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_cs.dart b/example/lib/src/generated/pay/pay_localization_cs.dart new file mode 100644 index 0000000..ebe6fb0 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_cs.dart @@ -0,0 +1,242 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Czech (`cs`). +class PayLocalizationCs extends PayLocalization { + PayLocalizationCs([String locale = 'cs']) : super(locale); + + @override + String get exampleButton => 'Příklad tlačítka'; + + @override + String get donationYesItsAllGoodButton => 'Ano, je to v pořádku!'; + + @override + String get everyContributionHealsTitle => 'Každý příspěvek léčí!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Váš příspěvek pomáhá financovat bezplatné rady pro ostatní v nouzi.'; + + @override + String get payWhatFeelsRightLabel => 'Plaťte, co se zdá správné,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'nebo pokračujte v používání Doctoriny zdarma, díky ostatním, kteří se rozhodli přispět.'; + + @override + String get oneTimeLabel => 'Jednorázový'; + + @override + String get monthlyLabel => 'Měsíčně'; + + @override + String get chooseMonthlyDonationAmountLabel => 'Vyberte měsíční částku daru'; + + @override + String get subscriptionNoAmount => 'Chystáte se přihlásit k měsíčnímu plánu.'; + + @override + String subscriptionAmount(String amount) { + return 'Přihlašujete se k měsíčnímu plánu za $amount/měsíc.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Platba bude stržena z vašeho účtu při potvrzení nákupu. Předplatné se automaticky obnovuje každý měsíc, pokud není automatické obnovení vypnuto nejméně 24 hodin před koncem aktuálního období. Svou předplatné můžete spravovat nebo zrušit kdykoli v nastavení účtu. Pokračováním souhlasíte s našimi $termsOfService a $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Vyberte částku jednorázového daru'; + + @override + String get mostPeopleGiveHint => 'Většina lidí dává \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Vyberte měnu'; + + @override + String get processingPaymentSemantics => 'Zpracování platby'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Zpracování jednorázové platby $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Zpracovávám měsíční platbu ve výši $amount'; + } + + @override + String get thankYouTitle => 'Děkuji!'; + + @override + String get thankYouSubtitle => + 'Nyní ještě více lidí obdrží bezplatné rady — vaše podpora je skutečně neocenitelná.'; + + @override + String get youContributedLabel => 'Přispěl/a jsi:'; + + @override + String get perMonth => '/ měsíc'; + + @override + String get returnToTheMainScreenButton => 'Vrátit se na hlavní obrazovku'; + + @override + String get termsOfServiceLabel => 'Podmínky služby'; + + @override + String get privacyPolicyLabel => 'Zásady ochrany osobních údajů'; + + @override + String get donateButton => 'Darovat'; + + @override + String get subscriptionStatusActiveLabel => 'Aktivní'; + + @override + String get subscriptionStatusCanceledLabel => 'Zrušeno'; + + @override + String get subscriptionStatusPausedLabel => 'Pozastaveno'; + + @override + String get subscriptionStatusPendingLabel => 'Čekající'; + + @override + String get subscriptionStatusCreatedLabel => 'Vytvořeno'; + + @override + String get subscriptionStatusTimeoutLabel => 'Časový limit'; + + @override + String get subscriptionStatusUnknownLabel => 'Neznámý'; + + @override + String get subscriptionDoctorinaContributor => 'Přispěvatel Doctorina'; + + @override + String get subscriptionRenews => 'Obnovuje'; + + @override + String get subscriptionCancelButton => 'Zrušit předplatné'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Jste si jistý?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Vaše měsíční podpora udržuje Doctorinu zdarma pro lidi, kteří se na ni spoléhají, ale nemohou si dovolit platit.\n\nVaše předplatné financuje alespoň 10 bezplatných konzultací každý měsíc.\nPokud odejdete, méně pacientů dostane pomoc, kterou potřebují.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Udržet předplatné'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Zrušit stejně'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Vaše měsíční podpora byla úspěšně zrušena.'; + + @override + String get subscriptionMalformed => 'Nesprávná data předplatného'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Přihlaste se k měsíční podpoře, aby se zde zobrazila.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Zatím žádné předplatné'; + + @override + String get subscriptionCreatedAtDateLabel => 'Datum předplatného'; + + @override + String get subscriptionExpiresAtDateLabel => 'Vyprší'; + + @override + String get subscriptionSubscriptionIdLabel => 'ID předplatného'; + + @override + String get subscriptionProductIdLabel => 'ID produktu'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => 'Nemohli jsme zpracovat vaši platbu'; + + @override + String get errorProcessDonationSubtitle => + 'Něco se pokazilo s platbou. Zkuste to prosím znovu.'; + + @override + String get errorProcessDonationRetryButton => 'Zkusit znovu'; + + @override + String get processingDonationTitle => 'Zpracování platby'; + + @override + String get processingDonationStripeSubtitle => + 'Dokončíte svůj nákup na zabezpečené platební stránce Stripe.'; + + @override + String get perWeek => '/ týden'; + + @override + String get perYear => '/ rok'; + + @override + String get premiumMostPopularRibbon => 'Nejpopulárnější'; + + @override + String get premiumCloseTooltip => 'Zavřít'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Co získáte s prémiovým členstvím:'; + + @override + String get premiumFeatureAdFree => 'Konzultace bez reklam'; + + @override + String get premiumFeatureFasterReplies => 'Rychlejší odpovědi'; + + @override + String get premiumFeatureEarlyAccess => 'Přednostní přístup k novým funkcím'; + + @override + String get premiumPricePerWeek => '/týden'; + + @override + String get premiumCancelAnytime => 'Zrušit kdykoli. Žádný závazek.'; + + @override + String get premiumLimitedTimeBadge => 'OMEZENÝ ČAS'; + + @override + String get premiumAutoRenewsConsent => + 'Automaticky se obnovuje týdně. Zrušit kdykoli v nastavení. Pokračováním souhlasíte s našimi Podmínkami a

Zásadami ochrany osobních údajů

.'; + + @override + String get premiumContinueButton => '🎁 Pokračovat s prémiovým'; + + @override + String get premiumSupportMessage => + '💚 Vaše podpora pomáhá udržovat péči dostupnou'; + + @override + String get subscriptionLoginRequiredError => + 'Prosím, zaregistrujte se nebo se přihlaste, abyste dokončili nákup.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_da.dart b/example/lib/src/generated/pay/pay_localization_da.dart new file mode 100644 index 0000000..6767133 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_da.dart @@ -0,0 +1,245 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Danish (`da`). +class PayLocalizationDa extends PayLocalization { + PayLocalizationDa([String locale = 'da']) : super(locale); + + @override + String get exampleButton => 'Eksempel på knap'; + + @override + String get donationYesItsAllGoodButton => 'Ja, det er alt godt!'; + + @override + String get everyContributionHealsTitle => 'Hver bidrag heler!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Dit bidrag hjælper med at finansiere gratis rådgivning til andre i nød'; + + @override + String get payWhatFeelsRightLabel => 'Betal hvad der føles rigtigt,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'eller bliv ved med at bruge Doctorina gratis, takket være andre der har valgt at give'; + + @override + String get oneTimeLabel => 'Én gang'; + + @override + String get monthlyLabel => 'Månedligt'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Vælg månedligt donationsbeløb'; + + @override + String get subscriptionNoAmount => + 'Du er ved at abonnere på en månedlig plan'; + + @override + String subscriptionAmount(String amount) { + return 'Du abonnerer på en månedlig plan for $amount/måned.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Betalingen vil blive trukket fra din konto ved bekræftelse af køb. Abonnementet fornyes automatisk hver måned, medmindre auto-fornyelse er slået fra mindst 24 timer før slutningen af den nuværende periode. Du kan administrere eller annullere dit abonnement når som helst i dine kontoindstillinger. Ved at fortsætte accepterer du vores $termsOfService og $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'Vælg engangs donationsbeløb'; + + @override + String get mostPeopleGiveHint => 'De fleste mennesker giver \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Vælg valuta'; + + @override + String get processingPaymentSemantics => 'Behandler betaling'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Behandler engangsbetaling på $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Behandler månedlig betaling af $amount'; + } + + @override + String get thankYouTitle => 'Tak!'; + + @override + String get thankYouSubtitle => + 'Nu vil endnu flere mennesker modtage gratis rådgivning — din støtte er virkelig uvurderlig.'; + + @override + String get youContributedLabel => 'Du har bidraget:'; + + @override + String get perMonth => '/ måned'; + + @override + String get returnToTheMainScreenButton => 'Returner til hovedskærmen'; + + @override + String get termsOfServiceLabel => 'Vilkår for service'; + + @override + String get privacyPolicyLabel => 'Privatlivspolitik'; + + @override + String get donateButton => 'Donér'; + + @override + String get subscriptionStatusActiveLabel => 'Aktiv'; + + @override + String get subscriptionStatusCanceledLabel => 'Annulleret'; + + @override + String get subscriptionStatusPausedLabel => 'Paus'; + + @override + String get subscriptionStatusPendingLabel => 'Afventende'; + + @override + String get subscriptionStatusCreatedLabel => 'Oprettet'; + + @override + String get subscriptionStatusTimeoutLabel => 'Timeout'; + + @override + String get subscriptionStatusUnknownLabel => 'Ukendt'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina bidragyder'; + + @override + String get subscriptionRenews => 'Forny'; + + @override + String get subscriptionCancelButton => 'Annuller abonnement'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Er du sikker?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Din månedlige støtte holder Doctorina gratis for folk, der er afhængige af det, men ikke har råd til at betale. Dit abonnement finansierer mindst 10 gratis konsultationer hver måned. Hvis du forlader, vil færre patienter få den hjælp, de har brug for.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Behold abonnement'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Annuller alligevel'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Dit månedlige støtte er blevet annulleret.'; + + @override + String get subscriptionMalformed => 'Forkerte abonnementsdata'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Tilmeld dig månedlig support for at få det til at vises her'; + + @override + String get subscriptionNoSubscriptionsYet => 'Ingen abonnementer endnu'; + + @override + String get subscriptionCreatedAtDateLabel => 'Abonnementsdato'; + + @override + String get subscriptionExpiresAtDateLabel => 'Udløber'; + + @override + String get subscriptionSubscriptionIdLabel => 'Abonnements-ID'; + + @override + String get subscriptionProductIdLabel => 'Produkt-ID'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'Vi kunne ikke gennemføre din betaling'; + + @override + String get errorProcessDonationSubtitle => + 'Noget gik galt med betalingen. Prøv venligst igen.'; + + @override + String get errorProcessDonationRetryButton => 'Prøv igen'; + + @override + String get processingDonationTitle => 'Behandler betaling'; + + @override + String get processingDonationStripeSubtitle => + 'Du afslutter dit køb på Stripes sikre betalingsside.'; + + @override + String get perWeek => '/ uge'; + + @override + String get perYear => '/ år'; + + @override + String get premiumMostPopularRibbon => 'Mest populær'; + + @override + String get premiumCloseTooltip => 'Luk'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Hvad du får med Premium:'; + + @override + String get premiumFeatureAdFree => 'Annoncefri konsultationer'; + + @override + String get premiumFeatureFasterReplies => 'Hurtigere svar'; + + @override + String get premiumFeatureEarlyAccess => 'Tidlig adgang til nye funktioner'; + + @override + String get premiumPricePerWeek => '/uge'; + + @override + String get premiumCancelAnytime => + 'Afbestil når som helst. Ingen forpligtelse.'; + + @override + String get premiumLimitedTimeBadge => 'BEGRÆNSET TID'; + + @override + String get premiumAutoRenewsConsent => + 'Fornyelse hver uge. Annuller når som helst i indstillingerne. Ved at fortsætte accepterer du vores Vilkår og

Privatlivspolitik

.'; + + @override + String get premiumContinueButton => '🎁 Fortsæt med Premium'; + + @override + String get premiumSupportMessage => + '💚 Din støtte hjælper med at holde pleje tilgængelig'; + + @override + String get subscriptionLoginRequiredError => + 'Venligst tilmeld dig eller log ind for at fuldføre købet.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_de.dart b/example/lib/src/generated/pay/pay_localization_de.dart index b198654..230b3e6 100644 --- a/example/lib/src/generated/pay/pay_localization_de.dart +++ b/example/lib/src/generated/pay/pay_localization_de.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,13 +11,10 @@ class PayLocalizationDe extends PayLocalization { PayLocalizationDe([String locale = 'de']) : super(locale); @override - String get title => 'Zahlung'; + String get exampleButton => 'Beispiel-Button'; @override - String get exampleButton => 'Schaltflächenbeispiel'; - - @override - String get donationYesItsAllGoodButton => 'Ja, alles gut!'; + String get donationYesItsAllGoodButton => 'Ja, alles ist in Ordnung!'; @override String get everyContributionHealsTitle => 'Jeder Beitrag heilt!'; @@ -49,35 +46,35 @@ class PayLocalizationDe extends PayLocalization { @override String subscriptionAmount(String amount) { - return 'Sie abonnieren ein Monatsabonnement für $amount/Monat.'; + return 'Du abonnierst einen Monatsplan für $amount/Monat'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return 'Die Zahlung wird Ihrem Konto nach Kaufbestätigung belastet. Das Abonnement verlängert sich automatisch jeden Monat, sofern die automatische Verlängerung nicht mindestens 24 Stunden vor Ablauf des aktuellen Zeitraums deaktiviert wird. Sie können Ihr Abonnement jederzeit in Ihren Kontoeinstellungen verwalten oder kündigen. Indem Sie fortfahren, stimmen Sie unseren $termsOfService und $privacyPolicy zu.'; + return 'Die Zahlung wird Ihrem Konto bei Bestellbestätigung belastet. Das Abonnement verlängert sich automatisch jeden Monat, sofern die automatische Verlängerung nicht mindestens 24 Stunden vor Ablauf des aktuellen Zeitraums deaktiviert wird. Sie können Ihr Abonnement jederzeit in Ihren Kontoeinstellungen verwalten oder kündigen. Durch Fortfahren stimmen Sie unseren $termsOfService und $privacyPolicy zu.'; } @override String get chooseOneTimeDonationAmountLabel => - 'Wählen Sie den einmaligen Spendenbetrag'; + 'Wählen Sie einen einmaligen Spendenbetrag'; @override - String get mostPeopleGiveHint => 'Die meisten Leute geben 7–15 \$'; + String get mostPeopleGiveHint => 'Die meisten geben \$7–\$15'; @override - String get selectCurrencyTooltip => 'Währung wählen'; + String get selectCurrencyTooltip => 'Währung auswählen'; @override - String get processingPaymentSemantics => 'Zahlungsabwicklung'; + String get processingPaymentSemantics => 'Zahlung wird verarbeitet'; @override String processingOneTimePaymentSemantics(String currency, String amount) { - return 'Verarbeite eine einmalige Zahlung von $currency $amount'; + return 'Verarbeite Einmalzahlung von $currency $amount'; } @override String processingMonthlyPaymentSemantics(String amount) { - return 'Monatliche Zahlung von $amount wird bearbeitet'; + return 'Verarbeite monatliche Zahlung von $amount'; } @override @@ -97,25 +94,22 @@ class PayLocalizationDe extends PayLocalization { String get returnToTheMainScreenButton => 'Zurück zum Hauptbildschirm'; @override - String get termsOfServiceLabel => 'Servicebedingungen'; + String get termsOfServiceLabel => 'Nutzungsbedingungen'; @override - String get privacyPolicyLabel => 'Datenschutzrichtlinie'; + String get privacyPolicyLabel => 'Datenschutzerklärung'; @override String get donateButton => 'Spenden'; - @override - String get manageSubscriptionTitle => 'Abonnement verwalten'; - @override String get subscriptionStatusActiveLabel => 'Aktiv'; @override - String get subscriptionStatusCanceledLabel => 'Abgesagt'; + String get subscriptionStatusCanceledLabel => 'Gekündigt'; @override - String get subscriptionStatusPausedLabel => 'Angehalten'; + String get subscriptionStatusPausedLabel => 'Pausiert'; @override String get subscriptionStatusPendingLabel => 'Ausstehend'; @@ -124,16 +118,16 @@ class PayLocalizationDe extends PayLocalization { String get subscriptionStatusCreatedLabel => 'Erstellt'; @override - String get subscriptionStatusTimeoutLabel => 'Time-out'; + String get subscriptionStatusTimeoutLabel => 'Zeitüberschreitung'; @override String get subscriptionStatusUnknownLabel => 'Unbekannt'; @override - String get subscriptionDoctorinaContributor => 'Doctorina-Mitarbeiter'; + String get subscriptionDoctorinaContributor => 'Doctorina-Beitragender'; @override - String get subscriptionRenews => 'Erneuert'; + String get subscriptionRenews => 'Wird erneuert'; @override String get subscriptionCancelButton => 'Abonnement kündigen'; @@ -143,24 +137,24 @@ class PayLocalizationDe extends PayLocalization { @override String get subscriptionAreYouSureDialogText => - 'Mit Ihrer monatlichen Unterstützung bleibt Doctorina für Menschen, die darauf angewiesen sind, sich die Kosten aber nicht leisten können, kostenlos.\n\nIhr Abonnement ermöglicht mindestens 10 kostenlose Konsultationen pro Monat.\nWenn Sie aussteigen, erhalten weniger Patienten die benötigte Hilfe.'; + 'Ihre monatliche Unterstützung hält Doctorina für Menschen, die darauf angewiesen sind, aber nicht zahlen können, kostenlos.\n\nIhr Abonnement finanziert mindestens 10 kostenlose Beratungen pro Monat.\nWenn Sie kündigen, erhalten weniger Patienten die Hilfe, die sie benötigen'; @override - String get subscriptionAreYouSureDialogKeepButton => 'Abonnement behalten'; + String get subscriptionAreYouSureDialogKeepButton => 'Abonnement beibehalten'; @override String get subscriptionAreYouSureDialogCancelButton => 'Trotzdem abbrechen'; @override String get subscriptionYourMonthlySupportCanceledNotification => - 'Ihr monatlicher Support wurde erfolgreich gekündigt.'; + 'Ihre monatliche Unterstützung wurde erfolgreich storniert.'; @override String get subscriptionMalformed => 'Falsche Abonnementdaten'; @override String get subscriptionSignUpForMonthlySupportButton => - 'Melden Sie sich für den monatlichen Support an, damit er hier angezeigt wird.'; + 'Melde dich für monatlichen Support an, damit er hier erscheint'; @override String get subscriptionNoSubscriptionsYet => 'Noch keine Abonnements'; @@ -178,23 +172,74 @@ class PayLocalizationDe extends PayLocalization { String get subscriptionProductIdLabel => 'Produkt-ID'; @override - String get subscriptionDialogOkButton => 'OK'; + String get subscriptionDialogOkButton => 'Ok'; @override String get errorProcessDonationTitle => - 'Wir konnten Ihre Zahlung nicht durchführen'; + 'Wir konnten Ihre Zahlung nicht bearbeiten'; @override String get errorProcessDonationSubtitle => - 'Bei der Zahlung ist ein Fehler aufgetreten.\nBitte versuchen Sie es erneut.'; + 'Bei der Zahlung ist etwas schiefgelaufen.\nBitte versuchen Sie es erneut.'; @override - String get errorProcessDonationRetryButton => 'Wiederholen'; + String get errorProcessDonationRetryButton => 'Erneut versuchen'; @override - String get processingDonationTitle => 'Zahlungsabwicklung'; + String get processingDonationTitle => 'Zahlung wird verarbeitet'; @override String get processingDonationStripeSubtitle => - 'Sie schließen Ihren Einkauf auf der sicheren Checkout-Seite von Stripe ab.'; + 'Sie schließen Ihren Kauf auf der sicheren Checkout-Seite von Stripe ab.'; + + @override + String get perWeek => '/ Woche'; + + @override + String get perYear => '/ Jahr'; + + @override + String get premiumMostPopularRibbon => 'Beliebteste'; + + @override + String get premiumCloseTooltip => 'Schließen'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Was Sie mit Premium erhalten:'; + + @override + String get premiumFeatureAdFree => 'Werbefreie Konsultationen'; + + @override + String get premiumFeatureFasterReplies => 'Schnellere Antworten'; + + @override + String get premiumFeatureEarlyAccess => 'Früherer Zugang zu neuen Funktionen'; + + @override + String get premiumPricePerWeek => '/Woche'; + + @override + String get premiumCancelAnytime => 'Jederzeit kündigen. Keine Verpflichtung.'; + + @override + String get premiumLimitedTimeBadge => 'BEGRENZTE ZEIT'; + + @override + String get premiumAutoRenewsConsent => + 'Auto-renewiert wöchentlich. Jederzeit in den Einstellungen kündigen. Indem Sie fortfahren, stimmen Sie unseren Nutzungsbedingungen und

Datenschutzbestimmungen

zu.'; + + @override + String get premiumContinueButton => '🎁 Mit Premium fortfahren'; + + @override + String get premiumSupportMessage => + '💚 Ihre Unterstützung hilft, die Versorgung zugänglich zu halten'; + + @override + String get subscriptionLoginRequiredError => + 'Bitte melden Sie sich an oder registrieren Sie sich, um den Kauf abzuschließen'; } diff --git a/example/lib/src/generated/pay/pay_localization_el.dart b/example/lib/src/generated/pay/pay_localization_el.dart new file mode 100644 index 0000000..fc09a82 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_el.dart @@ -0,0 +1,247 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Modern Greek (`el`). +class PayLocalizationEl extends PayLocalization { + PayLocalizationEl([String locale = 'el']) : super(locale); + + @override + String get exampleButton => 'Παράδειγμα κουμπιού'; + + @override + String get donationYesItsAllGoodButton => 'Ναι, όλα είναι καλά!'; + + @override + String get everyContributionHealsTitle => 'Κάθε συνεισφορά θεραπεύει!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Η συνεισφορά σας βοηθά στη χρηματοδότηση δωρεάν συμβουλών για άλλους που έχουν ανάγκη.'; + + @override + String get payWhatFeelsRightLabel => 'Πληρώστε αυτό που σας φαίνεται σωστό'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'ή συνεχίστε να χρησιμοποιείτε το Doctorina δωρεάν, χάρη σε άλλους που επέλεξαν να δωρίσουν.'; + + @override + String get oneTimeLabel => 'Μία φορά'; + + @override + String get monthlyLabel => 'Μηνιαίος'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Επιλέξτε το ποσό μηνιαίας δωρεάς'; + + @override + String get subscriptionNoAmount => + 'Είστε έτοιμοι να εγγραφείτε σε ένα μηνιαίο σχέδιο.'; + + @override + String subscriptionAmount(String amount) { + return 'Εγγράφεστε σε ένα μηνιαίο σχέδιο για $amount/μήνα.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Η πληρωμή θα χρεωθεί στον λογαριασμό σας κατά την επιβεβαίωση της αγοράς. Η συνδρομή ανανεώνεται αυτόματα κάθε μήνα, εκτός εάν η αυτόματη ανανέωση απενεργοποιηθεί τουλάχιστον 24 ώρες πριν από την λήξη της τρέχουσας περιόδου. Μπορείτε να διαχειριστείτε ή να ακυρώσετε τη συνδρομή σας οποιαδήποτε στιγμή στις ρυθμίσεις του λογαριασμού σας. Συνεχίζοντας, συμφωνείτε με τους $termsOfService και την $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Επιλέξτε ποσό μιας εφάπαξ δωρεάς'; + + @override + String get mostPeopleGiveHint => 'Οι περισσότεροι άνθρωποι δίνουν \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Επιλέξτε νόμισμα'; + + @override + String get processingPaymentSemantics => 'Επεξεργασία πληρωμής'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Επεξεργασία μιας εφάπαξ πληρωμής $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Επεξεργασία μηνιαίας πληρωμής $amount'; + } + + @override + String get thankYouTitle => 'Ευχαριστώ!'; + + @override + String get thankYouSubtitle => + 'Τώρα ακόμη περισσότεροι άνθρωποι θα λάβουν δωρεάν συμβουλές — η υποστήριξή σας είναι πραγματικά ανεκτίμητη.'; + + @override + String get youContributedLabel => 'Συμβάλατε:'; + + @override + String get perMonth => '/ μήνα'; + + @override + String get returnToTheMainScreenButton => 'Επιστροφή στην κύρια οθόνη'; + + @override + String get termsOfServiceLabel => 'Όροι Υπηρεσίας'; + + @override + String get privacyPolicyLabel => 'Πολιτική Απορρήτου'; + + @override + String get donateButton => 'Δωρεά'; + + @override + String get subscriptionStatusActiveLabel => 'Ενεργό'; + + @override + String get subscriptionStatusCanceledLabel => 'Ακυρώθηκε'; + + @override + String get subscriptionStatusPausedLabel => 'Παύθηκε'; + + @override + String get subscriptionStatusPendingLabel => 'Εκκρεμεί'; + + @override + String get subscriptionStatusCreatedLabel => 'Δημιουργήθηκε'; + + @override + String get subscriptionStatusTimeoutLabel => 'Χρόνος λήξης'; + + @override + String get subscriptionStatusUnknownLabel => 'Άγνωστο'; + + @override + String get subscriptionDoctorinaContributor => 'Συνεργάτης Doctorina'; + + @override + String get subscriptionRenews => 'Ανανεώνει'; + + @override + String get subscriptionCancelButton => 'Ακύρωση συνδρομής'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Είστε σίγουροι;'; + + @override + String get subscriptionAreYouSureDialogText => + 'Η μηνιαία σας υποστήριξη κρατάει το Doctorina δωρεάν για τους ανθρώπους που το χρειάζονται αλλά δεν μπορούν να πληρώσουν.\n\nΗ συνδρομή σας χρηματοδοτεί τουλάχιστον 10 δωρεάν συμβουλές κάθε μήνα.\nΑν φύγετε, λιγότεροι ασθενείς θα λάβουν τη βοήθεια που χρειάζονται.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Διατήρηση συνδρομής'; + + @override + String get subscriptionAreYouSureDialogCancelButton => + 'Ακυρώστε ούτως ή άλλως'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Η μηνιαία υποστήριξή σας ακυρώθηκε με επιτυχία.'; + + @override + String get subscriptionMalformed => 'Λάθος δεδομένα συνδρομής'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Εγγραφείτε για μηνιαία υποστήριξη για να εμφανίζεται εδώ.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Δεν υπάρχουν συνδρομές ακόμα'; + + @override + String get subscriptionCreatedAtDateLabel => 'Η ημερομηνία συνδρομής'; + + @override + String get subscriptionExpiresAtDateLabel => 'Λήγει'; + + @override + String get subscriptionSubscriptionIdLabel => 'Αριθμός Συνδρομής'; + + @override + String get subscriptionProductIdLabel => 'Αριθμός ταυτότητας προϊόντος'; + + @override + String get subscriptionDialogOkButton => 'Εντάξει'; + + @override + String get errorProcessDonationTitle => + 'Δεν μπορέσαμε να προχωρήσουμε την πληρωμή σας'; + + @override + String get errorProcessDonationSubtitle => + 'Κάτι πήγε στραβά με την πληρωμή. Παρακαλώ δοκιμάστε ξανά.'; + + @override + String get errorProcessDonationRetryButton => 'Δοκιμάστε ξανά'; + + @override + String get processingDonationTitle => 'Επεξεργασία πληρωμής'; + + @override + String get processingDonationStripeSubtitle => + 'Θα ολοκληρώσετε την αγορά σας στη ασφαλή σελίδα πληρωμής της Stripe.'; + + @override + String get perWeek => '/ εβδομάδα'; + + @override + String get perYear => '/ χρόνο'; + + @override + String get premiumMostPopularRibbon => 'Πιο Δημοφιλές'; + + @override + String get premiumCloseTooltip => 'Κλείσιμο'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Τι παίρνετε με το Premium:'; + + @override + String get premiumFeatureAdFree => 'Συμβουλές χωρίς διαφημίσεις'; + + @override + String get premiumFeatureFasterReplies => 'Γρηγορότερες απαντήσεις'; + + @override + String get premiumFeatureEarlyAccess => 'Πρώιμη πρόσβαση σε νέες δυνατότητες'; + + @override + String get premiumPricePerWeek => '/εβδομάδα'; + + @override + String get premiumCancelAnytime => + 'Ακυρώστε οποιαδήποτε στιγμή. Χωρίς δέσμευση.'; + + @override + String get premiumLimitedTimeBadge => 'ΠΕΡΙΟΡΙΣΜΕΝΟΣ ΧΡΟΝΟΣ'; + + @override + String get premiumAutoRenewsConsent => + 'Ανανεώνεται αυτόματα κάθε εβδομάδα. Μπορείτε να ακυρώσετε οποιαδήποτε στιγμή στις ρυθμίσεις. Συνεχίζοντας, συμφωνείτε με τους Όρους και την

Πολιτική Απορρήτου

μας.'; + + @override + String get premiumContinueButton => '🎁 Συνεχίστε με το Premium'; + + @override + String get premiumSupportMessage => + '💚 Η υποστήριξή σας βοηθά να διατηρείται η φροντίδα προσβάσιμη'; + + @override + String get subscriptionLoginRequiredError => + 'Παρακαλώ εγγραφείτε ή συνδεθείτε για να ολοκληρώσετε την αγορά.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_en.dart b/example/lib/src/generated/pay/pay_localization_en.dart index 83c725d..bedaa70 100644 --- a/example/lib/src/generated/pay/pay_localization_en.dart +++ b/example/lib/src/generated/pay/pay_localization_en.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'pay_localization.dart'; class PayLocalizationEn extends PayLocalization { PayLocalizationEn([String locale = 'en']) : super(locale); - @override - String get title => 'Payment'; - @override String get exampleButton => 'Button example'; @@ -105,9 +102,6 @@ class PayLocalizationEn extends PayLocalization { @override String get donateButton => 'Donate'; - @override - String get manageSubscriptionTitle => 'Manage subscription'; - @override String get subscriptionStatusActiveLabel => 'Active'; @@ -196,4 +190,55 @@ class PayLocalizationEn extends PayLocalization { @override String get processingDonationStripeSubtitle => 'You’ll complete your purchase on Stripe’s secure checkout page.'; + + @override + String get perWeek => '/ week'; + + @override + String get perYear => '/ year'; + + @override + String get premiumMostPopularRibbon => 'Most Popular'; + + @override + String get premiumCloseTooltip => 'Close'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'What you get with Premium:'; + + @override + String get premiumFeatureAdFree => 'Ad-free consultations'; + + @override + String get premiumFeatureFasterReplies => 'Faster replies'; + + @override + String get premiumFeatureEarlyAccess => 'Early access to new features'; + + @override + String get premiumPricePerWeek => '/week'; + + @override + String get premiumCancelAnytime => 'Cancel anytime. No commitment.'; + + @override + String get premiumLimitedTimeBadge => 'LIMITED TIME'; + + @override + String get premiumAutoRenewsConsent => + 'Auto-renews weekly. Cancel anytime in settings. By continuing, you agree to our Terms and

Privacy Policy

.'; + + @override + String get premiumContinueButton => '🎁 Continue with Premium'; + + @override + String get premiumSupportMessage => + '💚 Your support helps keep care accessible'; + + @override + String get subscriptionLoginRequiredError => + 'Please sign up or log in to complete the purchase.'; } diff --git a/example/lib/src/generated/pay/pay_localization_es.dart b/example/lib/src/generated/pay/pay_localization_es.dart index 90d7eb3..e45c4aa 100644 --- a/example/lib/src/generated/pay/pay_localization_es.dart +++ b/example/lib/src/generated/pay/pay_localization_es.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,14 +10,11 @@ import 'pay_localization.dart'; class PayLocalizationEs extends PayLocalization { PayLocalizationEs([String locale = 'es']) : super(locale); - @override - String get title => 'Pago'; - @override String get exampleButton => 'Ejemplo de botón'; @override - String get donationYesItsAllGoodButton => '¡Sí, está todo bien!'; + String get donationYesItsAllGoodButton => 'Sí, todo está bien!'; @override String get everyContributionHealsTitle => '¡Cada aporte sana!'; @@ -41,7 +38,7 @@ class PayLocalizationEs extends PayLocalization { @override String get chooseMonthlyDonationAmountLabel => - 'Elija el monto de la donación mensual'; + 'Elige la cantidad de donación mensual'; @override String get subscriptionNoAmount => @@ -49,21 +46,20 @@ class PayLocalizationEs extends PayLocalization { @override String subscriptionAmount(String amount) { - return 'Te suscribes a un plan mensual por $amount al mes.'; + return 'Te suscribes a un plan mensual por $amount/mes'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return 'El pago se cargará a tu cuenta al confirmar la compra. La suscripción se renueva automáticamente cada mes, a menos que la desactives al menos 24 horas antes del final del periodo actual. Puedes gestionar o cancelar tu suscripción en cualquier momento desde la configuración de tu cuenta. Al continuar, aceptas nuestros $termsOfService y $privacyPolicy.'; + return 'El pago se cargará a su cuenta al confirmar la compra. La suscripción se renueva automáticamente cada mes a menos que la renovación automática se desactive al menos 24 horas antes de que finalice el período actual. Puede gestionar o cancelar su suscripción en cualquier momento en la configuración de su cuenta. Al proceder, acepta nuestros $termsOfService y $privacyPolicy'; } @override String get chooseOneTimeDonationAmountLabel => - 'Elija el monto de la donación única'; + 'Elija una cantidad de donación única'; @override - String get mostPeopleGiveHint => - 'La mayoría de la gente dona entre \$7 y \$15.'; + String get mostPeopleGiveHint => 'La mayoría da \$7–\$15'; @override String get selectCurrencyTooltip => 'Seleccionar moneda'; @@ -86,29 +82,26 @@ class PayLocalizationEs extends PayLocalization { @override String get thankYouSubtitle => - 'Ahora, aún más personas recibirán asesoramiento gratuito: su apoyo es verdaderamente invaluable.'; + 'Ahora aún más personas recibirán asesoramiento gratuito — tu apoyo es realmente invaluable.'; @override - String get youContributedLabel => 'Usted contribuyó:'; + String get youContributedLabel => 'Has contribuido:'; @override String get perMonth => '/ mes'; @override - String get returnToTheMainScreenButton => 'Regresar a la pantalla principal'; + String get returnToTheMainScreenButton => 'Volver a la pantalla principal'; @override - String get termsOfServiceLabel => 'Condiciones de servicio'; + String get termsOfServiceLabel => 'Términos de servicio'; @override - String get privacyPolicyLabel => 'política de privacidad'; + String get privacyPolicyLabel => 'Política de privacidad'; @override String get donateButton => 'Donar'; - @override - String get manageSubscriptionTitle => 'Administrar suscripción'; - @override String get subscriptionStatusActiveLabel => 'Activo'; @@ -125,7 +118,7 @@ class PayLocalizationEs extends PayLocalization { String get subscriptionStatusCreatedLabel => 'Creado'; @override - String get subscriptionStatusTimeoutLabel => 'Se acabó el tiempo'; + String get subscriptionStatusTimeoutLabel => 'Tiempo de espera'; @override String get subscriptionStatusUnknownLabel => 'Desconocido'; @@ -134,17 +127,17 @@ class PayLocalizationEs extends PayLocalization { String get subscriptionDoctorinaContributor => 'Colaborador de Doctorina'; @override - String get subscriptionRenews => 'Renueva'; + String get subscriptionRenews => 'Se renueva'; @override String get subscriptionCancelButton => 'Cancelar suscripción'; @override - String get subscriptionAreYouSureDialogTitle => '¿Está seguro?'; + String get subscriptionAreYouSureDialogTitle => '¿Estás seguro?'; @override String get subscriptionAreYouSureDialogText => - 'Tu apoyo mensual mantiene Doctorina gratis para quienes dependen de ella pero no pueden pagarla.\n\nTu suscripción financia al menos 10 consultas gratuitas al mes.\nSi te vas, menos pacientes recibirán la ayuda que necesitan.'; + 'Tu apoyo mensual mantiene Doctorina gratuito para las personas que dependen de él pero no pueden pagar.\n\nTu suscripción financia al menos 10 consultas gratuitas cada mes.\nSi te retiras, menos pacientes recibirán la ayuda que necesitan'; @override String get subscriptionAreYouSureDialogKeepButton => 'Mantener suscripción'; @@ -155,14 +148,14 @@ class PayLocalizationEs extends PayLocalization { @override String get subscriptionYourMonthlySupportCanceledNotification => - 'Su apoyo mensual\nha sido cancelado exitosamente.'; + 'Su apoyo mensual ha sido cancelado con éxito.'; @override String get subscriptionMalformed => 'Datos de suscripción incorrectos'; @override String get subscriptionSignUpForMonthlySupportButton => - 'Regístrate para recibir soporte mensual para que aparezca aquí.'; + 'Suscríbete al soporte mensual para que aparezca aquí'; @override String get subscriptionNoSubscriptionsYet => 'Aún no hay suscripciones'; @@ -171,31 +164,84 @@ class PayLocalizationEs extends PayLocalization { String get subscriptionCreatedAtDateLabel => 'Fecha de suscripción'; @override - String get subscriptionExpiresAtDateLabel => 'Caduca'; + String get subscriptionExpiresAtDateLabel => 'Vence'; @override String get subscriptionSubscriptionIdLabel => 'ID de suscripción'; @override - String get subscriptionProductIdLabel => 'Identificación del producto'; + String get subscriptionProductIdLabel => 'ID del producto'; @override - String get subscriptionDialogOkButton => 'De acuerdo'; + String get subscriptionDialogOkButton => 'Aceptar'; @override String get errorProcessDonationTitle => 'No pudimos procesar su pago'; @override String get errorProcessDonationSubtitle => - 'Se produjo un error con el pago. Inténtalo de nuevo.'; + 'Algo salió mal con el pago.\nPor favor, inténtalo de nuevo.'; @override - String get errorProcessDonationRetryButton => 'Rever'; + String get errorProcessDonationRetryButton => 'Reintentar'; @override String get processingDonationTitle => 'Procesando pago'; @override String get processingDonationStripeSubtitle => - 'Completarás tu compra en la página de pago segura de Stripe.'; + 'Completarás tu compra en la página de pago seguro de Stripe.'; + + @override + String get perWeek => '/ semana'; + + @override + String get perYear => '/ año'; + + @override + String get premiumMostPopularRibbon => 'Más Popular'; + + @override + String get premiumCloseTooltip => 'Cerrar'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Lo que obtienes con Premium:'; + + @override + String get premiumFeatureAdFree => 'Consultas sin anuncios'; + + @override + String get premiumFeatureFasterReplies => 'Respuestas más rápidas'; + + @override + String get premiumFeatureEarlyAccess => + 'Acceso anticipado a nuevas funciones'; + + @override + String get premiumPricePerWeek => '/semana'; + + @override + String get premiumCancelAnytime => + 'Cancela en cualquier momento. Sin compromiso.'; + + @override + String get premiumLimitedTimeBadge => 'LIMITADO'; + + @override + String get premiumAutoRenewsConsent => + 'Se renueva automáticamente cada semana. Cancela en cualquier momento en la configuración. Al continuar, aceptas nuestros Términos y

Política de Privacidad

.'; + + @override + String get premiumContinueButton => '🎁 Continuar con Premium'; + + @override + String get premiumSupportMessage => + '💚 Tu apoyo ayuda a mantener la atención accesible'; + + @override + String get subscriptionLoginRequiredError => + 'Por favor, regístrate o inicia sesión para completar la compra'; } diff --git a/example/lib/src/generated/pay/pay_localization_fa.dart b/example/lib/src/generated/pay/pay_localization_fa.dart new file mode 100644 index 0000000..21cbde8 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_fa.dart @@ -0,0 +1,246 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Persian (`fa`). +class PayLocalizationFa extends PayLocalization { + PayLocalizationFa([String locale = 'fa']) : super(locale); + + @override + String get exampleButton => 'مثال دکمه'; + + @override + String get donationYesItsAllGoodButton => 'بله، همه چیز خوب است!'; + + @override + String get everyContributionHealsTitle => 'هر سهم شفابخش است!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'سهم شما در تأمین مالی مشاوره رایگان برای نیازمندان کمک می‌کند.'; + + @override + String get payWhatFeelsRightLabel => 'هر آنچه مناسب می‌بینید پرداخت کنید,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'یا به استفاده رایگان از Doctorina ادامه دهید، سپاس از دیگرانی که انتخاب کردند اهدا کنند'; + + @override + String get oneTimeLabel => 'یک\rبار'; + + @override + String get monthlyLabel => 'ماهانه'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'میزان کمک ماهیانه را انتخاب کنید'; + + @override + String get subscriptionNoAmount => + 'شما در آستانه اشتراک در یک طرح ماهانه هستید.'; + + @override + String subscriptionAmount(String amount) { + return 'شما در حال اشتراک در یک طرح ماهیانه با $amount/ماه هستید'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'پرداخت هنگام تأیید خرید از حساب شما کسر می‌شود. اشتراک به‌طور خودکار هر ماه تمدید می‌شود، مگر اینکه تمدید خودکار حداقل 24 ساعت پیش از پایان دوره جاری غیرفعال شود. شما می‌توانید در هر زمان در تنظیمات حساب کاربری خود اشتراک خود را مدیریت یا لغو کنید. با ادامه، شما با $termsOfService و $privacyPolicy ما موافقت می‌کنید.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'مبلغ کمک یک‌باره را انتخاب کنید'; + + @override + String get mostPeopleGiveHint => 'اکثر مردم \$7–\$15 می‌دهند'; + + @override + String get selectCurrencyTooltip => 'انتخاب ارز'; + + @override + String get processingPaymentSemantics => 'پرداخت در حال پردازش'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'در حال پردازش پرداخت یک1باره $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'در حال پردازش پرداخت ماهانه $amount'; + } + + @override + String get thankYouTitle => 'متشکرم!'; + + @override + String get thankYouSubtitle => + 'اکنون افراد بیشتری از مشاوره رایگان بهره‌مند خواهند شد — حمایت شما بی‌قیمت است.'; + + @override + String get youContributedLabel => 'شما مشارکت کردید:'; + + @override + String get perMonth => '/ ماه'; + + @override + String get returnToTheMainScreenButton => 'بازگشت به صفحه اصلی'; + + @override + String get termsOfServiceLabel => 'شرایط خدمات'; + + @override + String get privacyPolicyLabel => 'سیاست حفظ حریم خصوصی'; + + @override + String get donateButton => 'اهدا'; + + @override + String get subscriptionStatusActiveLabel => 'فعال'; + + @override + String get subscriptionStatusCanceledLabel => 'لغو شده'; + + @override + String get subscriptionStatusPausedLabel => 'معلق'; + + @override + String get subscriptionStatusPendingLabel => 'در انتظار'; + + @override + String get subscriptionStatusCreatedLabel => 'ایجاد شده'; + + @override + String get subscriptionStatusTimeoutLabel => 'مهلت به پایان رسید'; + + @override + String get subscriptionStatusUnknownLabel => 'ناشناخته'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina مشارکت‌کننده'; + + @override + String get subscriptionRenews => 'تمدید می‌شود'; + + @override + String get subscriptionCancelButton => 'لغو اشتراک'; + + @override + String get subscriptionAreYouSureDialogTitle => 'آیا مطمئنید؟'; + + @override + String get subscriptionAreYouSureDialogText => + 'حمایت ماهانه شما، Doctorina را رایگان برای کسانی که به آن اعتماد دارند ولی توان پرداخت ندارند، نگه می‌دهد.\n\nاشتراک شما هر ماه حداقل 10 مشاوره رایگان را تأمین می‌کند.\nاگر ترک کنید، تعداد بیماران کمتری به کمک مورد نیاز خواهند رسید'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'اشتراک را نگه دارید'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'به هر حال لغو کن'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'پشتیبانی ماهانه شما با موفقیت لغو شده است.'; + + @override + String get subscriptionMalformed => 'داده‌های اشتراک نادرست'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'برای پشتیبانی ماهانه ثبت نام کنید تا در اینجا نمایش داده شود'; + + @override + String get subscriptionNoSubscriptionsYet => 'هنوز هیچ اشتراک وجود ندارد'; + + @override + String get subscriptionCreatedAtDateLabel => 'تاریخ اشتراک'; + + @override + String get subscriptionExpiresAtDateLabel => 'منقضی می‌شود'; + + @override + String get subscriptionSubscriptionIdLabel => 'شناسه اشتراک'; + + @override + String get subscriptionProductIdLabel => 'شناسه محصول'; + + @override + String get subscriptionDialogOkButton => 'تأیید'; + + @override + String get errorProcessDonationTitle => + 'پرداخت شما را نمی‌توانستیم پردازش کنیم'; + + @override + String get errorProcessDonationSubtitle => + 'در پرداخت مشکلی پیش آمده.\nلطفاً دوباره تلاش کنید.'; + + @override + String get errorProcessDonationRetryButton => 'مجدد تلاش کنید'; + + @override + String get processingDonationTitle => 'در حال پردازش پرداخت'; + + @override + String get processingDonationStripeSubtitle => + 'شما خرید خود را در صفحه پرداخت امن استرایپ تکمیل خواهید کرد.'; + + @override + String get perWeek => '/ هفته'; + + @override + String get perYear => '/ سال'; + + @override + String get premiumMostPopularRibbon => 'محبوب‌ترین'; + + @override + String get premiumCloseTooltip => 'بستن'; + + @override + String get premiumTitle => 'دکترینا پرمیوم'; + + @override + String get premiumWhatYouGetHeader => 'آنچه با پریمیوم دریافت می‌کنید:'; + + @override + String get premiumFeatureAdFree => 'مشاوره بدون تبلیغات'; + + @override + String get premiumFeatureFasterReplies => 'پاسخ‌های سریع‌تر'; + + @override + String get premiumFeatureEarlyAccess => 'دسترسی زودهنگام به ویژگی‌های جدید'; + + @override + String get premiumPricePerWeek => '/هفته'; + + @override + String get premiumCancelAnytime => + 'هر زمان که بخواهید لغو کنید. هیچ تعهدی وجود ندارد.'; + + @override + String get premiumLimitedTimeBadge => 'زمان محدود'; + + @override + String get premiumAutoRenewsConsent => + 'هر هفته به‌طور خودکار تمدید می‌شود. هر زمان در تنظیمات لغو کنید. با ادامه، شما با شرایط و

سیاست حفظ حریم خصوصی

ما موافقت می‌کنید.'; + + @override + String get premiumContinueButton => '🎁 ادامه با پریمیوم'; + + @override + String get premiumSupportMessage => + '💚 حمایت شما به دسترسی به خدمات درمانی کمک می‌کند'; + + @override + String get subscriptionLoginRequiredError => + 'لطفاً برای تکمیل خرید ثبت‌نام کنید یا وارد شوید.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_fr.dart b/example/lib/src/generated/pay/pay_localization_fr.dart index 33bdbd7..0c40966 100644 --- a/example/lib/src/generated/pay/pay_localization_fr.dart +++ b/example/lib/src/generated/pay/pay_localization_fr.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,70 +10,66 @@ import 'pay_localization.dart'; class PayLocalizationFr extends PayLocalization { PayLocalizationFr([String locale = 'fr']) : super(locale); - @override - String get title => 'Paiement'; - @override String get exampleButton => 'Exemple de bouton'; @override - String get donationYesItsAllGoodButton => 'Oui, tout va bien !'; + String get donationYesItsAllGoodButton => 'Oui, tout va bien!'; @override - String get everyContributionHealsTitle => 'Chaque contribution guérit !'; + String get everyContributionHealsTitle => 'Chaque contribution guérit!'; @override String get ifThisHelpedYouConsiderSupportingSubtitle => - 'Votre contribution aide à financer des conseils gratuits pour les autres dans le besoin.'; + 'Votre contribution aide à financer des conseils gratuits pour ceux dans le besoin.'; @override String get payWhatFeelsRightLabel => 'Payez ce qui vous semble juste,'; @override String get orKeepUsingDoctorinaForFreeLabel => - 'ou continuez à utiliser Doctorina gratuitement, grâce aux autres qui ont choisi de donner.'; + 'ou continuez à utiliser Doctorina gratuitement, grâce à ceux qui ont choisi de donner'; @override - String get oneTimeLabel => 'Une fois'; + String get oneTimeLabel => 'Unique'; @override String get monthlyLabel => 'Mensuel'; @override String get chooseMonthlyDonationAmountLabel => - 'Choisissez le montant du don mensuel'; + 'Choisissez le montant de la donation mensuelle'; @override String get subscriptionNoAmount => - 'Vous êtes sur le point de souscrire à un forfait mensuel.'; + 'Vous êtes sur le point de vous abonner à un plan mensuel.'; @override String subscriptionAmount(String amount) { - return 'Vous souscrivez à un forfait mensuel de $amount/mois.'; + return 'Vous vous abonnez à un forfait mensuel pour $amount/mois'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return 'Le paiement sera débité de votre compte lors de la confirmation de l\'achat. L\'abonnement est automatiquement renouvelé chaque mois, sauf si le renouvellement automatique est désactivé au moins 24 heures avant la fin de la période en cours. Vous pouvez gérer ou résilier votre abonnement à tout moment dans les paramètres de votre compte. En continuant, vous acceptez nos $termsOfService et notre $privacyPolicy.'; + return 'Le paiement sera débité de votre compte lors de la confirmation de l\'achat. L\'abonnement se renouvelle automatiquement chaque mois, sauf si le renouvellement automatique est désactivé au moins 24 heures avant la fin de la période en cours. Vous pouvez gérer ou annuler votre abonnement à tout moment dans les paramètres de votre compte. En continuant, vous acceptez nos $termsOfService et $privacyPolicy.'; } @override String get chooseOneTimeDonationAmountLabel => - 'Choisissez le montant du don unique'; + 'Choisissez un montant de don unique'; @override - String get mostPeopleGiveHint => - 'La plupart des gens donnent entre 7 et 15 \$'; + String get mostPeopleGiveHint => 'La plupart donnent \$7–\$15'; @override - String get selectCurrencyTooltip => 'Sélectionnez la devise'; + String get selectCurrencyTooltip => 'Sélectionner la devise'; @override - String get processingPaymentSemantics => 'Traitement des paiements'; + String get processingPaymentSemantics => 'Traitement du paiement'; @override String processingOneTimePaymentSemantics(String currency, String amount) { - return 'Traitement d\'un paiement unique de $currency $amount'; + return 'Traitement du paiement unique de $currency $amount'; } @override @@ -86,10 +82,10 @@ class PayLocalizationFr extends PayLocalization { @override String get thankYouSubtitle => - 'Désormais, encore plus de personnes bénéficieront de conseils gratuits : votre soutien est vraiment précieux.'; + 'Désormais, encore plus de personnes recevront des conseils gratuits — votre soutien est vraiment inestimable.'; @override - String get youContributedLabel => 'Vous avez contribué :'; + String get youContributedLabel => 'Vous avez contribué:'; @override String get perMonth => '/ mois'; @@ -101,14 +97,11 @@ class PayLocalizationFr extends PayLocalization { String get termsOfServiceLabel => 'Conditions d\'utilisation'; @override - String get privacyPolicyLabel => 'politique de confidentialité'; + String get privacyPolicyLabel => 'Politique de confidentialité'; @override String get donateButton => 'Faire un don'; - @override - String get manageSubscriptionTitle => 'Gérer l\'abonnement'; - @override String get subscriptionStatusActiveLabel => 'Actif'; @@ -125,7 +118,7 @@ class PayLocalizationFr extends PayLocalization { String get subscriptionStatusCreatedLabel => 'Créé'; @override - String get subscriptionStatusTimeoutLabel => 'Temps mort'; + String get subscriptionStatusTimeoutLabel => 'Délai d\'attente'; @override String get subscriptionStatusUnknownLabel => 'Inconnu'; @@ -134,17 +127,17 @@ class PayLocalizationFr extends PayLocalization { String get subscriptionDoctorinaContributor => 'Contributeur de Doctorina'; @override - String get subscriptionRenews => 'Renouvelle'; + String get subscriptionRenews => 'Se renouvelle'; @override String get subscriptionCancelButton => 'Annuler l\'abonnement'; @override - String get subscriptionAreYouSureDialogTitle => 'Es-tu sûr?'; + String get subscriptionAreYouSureDialogTitle => 'Êtes-vous sûr ?'; @override String get subscriptionAreYouSureDialogText => - 'Votre soutien mensuel permet à Doctorina d\'être gratuit pour les personnes qui en dépendent mais n\'ont pas les moyens de payer.\n\nVotre abonnement finance au moins 10 consultations gratuites par mois.\nSi vous vous désabonnez, moins de patients recevront l\'aide dont ils ont besoin.'; + 'Votre soutien mensuel permet à Doctorina de rester gratuit pour les personnes qui en dépendent mais ne peuvent pas se permettre de payer.\n\nVotre abonnement finance au moins 10 consultations gratuites par mois.\nSi vous partez, moins de patients bénéficieront de l\'aide dont ils ont besoin'; @override String get subscriptionAreYouSureDialogKeepButton => 'Garder l\'abonnement'; @@ -154,17 +147,17 @@ class PayLocalizationFr extends PayLocalization { @override String get subscriptionYourMonthlySupportCanceledNotification => - 'Votre abonnement mensuel a bien été annulé.'; + 'Votre soutien mensuel a été annulé avec succès.'; @override String get subscriptionMalformed => 'Données d\'abonnement incorrectes'; @override String get subscriptionSignUpForMonthlySupportButton => - 'Inscrivez-vous au soutien mensuel pour le faire apparaître ici.'; + 'Inscrivez-vous au support mensuel pour qu\'il apparaisse ici'; @override - String get subscriptionNoSubscriptionsYet => 'Pas encore d\'abonnement'; + String get subscriptionNoSubscriptionsYet => 'Pas encore d\'abonnements'; @override String get subscriptionCreatedAtDateLabel => 'Date d\'abonnement'; @@ -176,26 +169,78 @@ class PayLocalizationFr extends PayLocalization { String get subscriptionSubscriptionIdLabel => 'ID d\'abonnement'; @override - String get subscriptionProductIdLabel => 'ID du produit'; + String get subscriptionProductIdLabel => 'ID produit'; @override - String get subscriptionDialogOkButton => 'D\'accord'; + String get subscriptionDialogOkButton => 'Ok'; @override String get errorProcessDonationTitle => - 'Nous n\'avons pas pu traiter votre paiement'; + 'Nous n\'ont pas pu traiter votre paiement'; @override String get errorProcessDonationSubtitle => - 'Une erreur s\'est produite lors du paiement. Veuillez réessayer.'; + 'Un problème est survenu lors du paiement.\nVeuillez réessayer.'; @override String get errorProcessDonationRetryButton => 'Réessayer'; @override - String get processingDonationTitle => 'Traitement des paiements'; + String get processingDonationTitle => 'Paiement en cours de traitement'; @override String get processingDonationStripeSubtitle => - 'Vous finaliserez votre achat sur la page de paiement sécurisée de Stripe.'; + 'Vous finaliserez votre achat sur la page de paiement sécurisé de Stripe.'; + + @override + String get perWeek => '/ semaine'; + + @override + String get perYear => '/ an'; + + @override + String get premiumMostPopularRibbon => 'Le plus populaire'; + + @override + String get premiumCloseTooltip => 'Fermer'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Ce que vous obtenez avec Premium:'; + + @override + String get premiumFeatureAdFree => 'Consultations sans publicité'; + + @override + String get premiumFeatureFasterReplies => 'Réponses plus rapides'; + + @override + String get premiumFeatureEarlyAccess => + 'Accès anticipé aux nouvelles fonctionnalités'; + + @override + String get premiumPricePerWeek => '/semaine'; + + @override + String get premiumCancelAnytime => 'Annulez à tout moment. Aucun engagement.'; + + @override + String get premiumLimitedTimeBadge => 'LIMITÉE DANS LE TEMPS'; + + @override + String get premiumAutoRenewsConsent => + 'Renouvelle automatiquement chaque semaine. Annulez à tout moment dans les paramètres. En continuant, vous acceptez nos Conditions et

Politique de confidentialité

.'; + + @override + String get premiumContinueButton => '🎁 Continuer avec Premium'; + + @override + String get premiumSupportMessage => + '💚 Votre soutien aide à rendre les soins accessibles'; + + @override + String get subscriptionLoginRequiredError => + 'Veuillez vous inscrire ou vous connecter pour finaliser l\'achat.'; } diff --git a/example/lib/src/generated/pay/pay_localization_gu.dart b/example/lib/src/generated/pay/pay_localization_gu.dart new file mode 100644 index 0000000..40eff09 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_gu.dart @@ -0,0 +1,243 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Gujarati (`gu`). +class PayLocalizationGu extends PayLocalization { + PayLocalizationGu([String locale = 'gu']) : super(locale); + + @override + String get exampleButton => 'બટન ઉદાહરણ'; + + @override + String get donationYesItsAllGoodButton => 'હાં, બધું સરસ છે!'; + + @override + String get everyContributionHealsTitle => 'દરેક યોગદાન ચંગું કરે છે!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'તમારું યોગદાન જરૂરમંદ અન્ય લોકોને મફત સલાહ માટે નાણાં પૂરા પાડવામાં મદદરૂપ થાય છે.'; + + @override + String get payWhatFeelsRightLabel => 'જે તમને યોગ્ય લાગે તેમ ચૂકવો,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'અથવા નિ:શુલ્ક Doctorina નો ઉપયોગ ચાલુ રાખો, બીજાઓએ આપવાનું પસંદ કર્યું તે માટે આભાર.'; + + @override + String get oneTimeLabel => 'એક વખત'; + + @override + String get monthlyLabel => 'માસિક'; + + @override + String get chooseMonthlyDonationAmountLabel => 'માસિક દાન રકમ પસંદ કરો'; + + @override + String get subscriptionNoAmount => + 'તમે માસિક યોજનામાં સબ્સ્ક્રાઇબ કરવા જઈ રહ્યા છો.'; + + @override + String subscriptionAmount(String amount) { + return 'તમે $amount/મહિને માટેના માસિક પ્લાનની સબ્સ્ક્રાઇબ કરી રહ્યાં છો'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'ખરીદીની પુષ્ટિ સમયે તમારા ખાતામાં ચુકવણી લેવામાં આવશે. સબ્સ્ક્રિપ્શન આપમેળે દરેક મહિને નવીકરણ થાય છે, જો કે ચાલતા સમયગાળાના અંત પહેલા કનઇ ઓછા 24 કલાકમાં ઓટો-નવિનીકરણ બંધ ન કરાયું હોય તો. તમે તમારા ખાતાની સેટિંગ્સમાં કોઈપણ સમયે તમારી સબ્સ્ક્રિપ્શનનું મેનેજ અથવા રદ્દ કરી શકો છો. આગળ વધવાથી, તમે અમારી $termsOfService અને $privacyPolicy સાથે સહમતિ દર્શાવો છો.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'એક વખતનું દાન રકમ પસંદ કરો'; + + @override + String get mostPeopleGiveHint => 'ઘણાં લોકો \$7–\$15 આપે છે'; + + @override + String get selectCurrencyTooltip => 'કરન્સી પસંદ કરો'; + + @override + String get processingPaymentSemantics => 'ચુકવણી પ્રક્રિયામાં છે'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'એક વખતની ચુકવણી $currency $amount પ્રક્રિયા થઈ રહી છે'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'દરમહિના $amount ની ચુકવણી પ્રક્રિયા કરી રહ્યું છે'; + } + + @override + String get thankYouTitle => 'આભાર!'; + + @override + String get thankYouSubtitle => + 'હવે વધુ લોકોને મફત સલાહ મળશે — તમારો સહારો ખરેખર અમૂલ્ય છે.'; + + @override + String get youContributedLabel => 'તમે યોગદાન આપ્યું:'; + + @override + String get perMonth => 'પ્રતિ મહિનો'; + + @override + String get returnToTheMainScreenButton => 'મુખ્ય સ્ક્રીન પર પાછા જાઓ'; + + @override + String get termsOfServiceLabel => 'સેવાની શરતો'; + + @override + String get privacyPolicyLabel => 'ગોપનીયતા નીતિ'; + + @override + String get donateButton => 'દાન કરો'; + + @override + String get subscriptionStatusActiveLabel => 'સક્રિય'; + + @override + String get subscriptionStatusCanceledLabel => 'રદ થયેલ'; + + @override + String get subscriptionStatusPausedLabel => 'રોકાયું'; + + @override + String get subscriptionStatusPendingLabel => 'બાકી'; + + @override + String get subscriptionStatusCreatedLabel => 'બનાવ્યું'; + + @override + String get subscriptionStatusTimeoutLabel => 'સમય સમાપ્ત'; + + @override + String get subscriptionStatusUnknownLabel => 'અજ્ઞાત'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina યોગદાનકર્તા'; + + @override + String get subscriptionRenews => 'પુનઃનવીનીકરણ'; + + @override + String get subscriptionCancelButton => 'સબ્સ્ક્રિપ્શન રદ કરો'; + + @override + String get subscriptionAreYouSureDialogTitle => 'શું તમે ખાતરી રાખો છો?'; + + @override + String get subscriptionAreYouSureDialogText => + 'તમારી માસિક સહાય ડોક્ટરિનાને તેમ પર નિર્ભર લોકો માટે, જેઓ ચુકવણી કરવા સક્ષમ નથી, મફત રાખે છે. તમારો સબ્સ્ક્રિપ્શન દર મહિને ઓછામાં ઓછા 10 મફત પરામર્શોને ફંડ કરે છે. જો તમે જાઓ તો, ઓછા દર્દીઓને જરૂરી મદદ મળશે.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'સબ્સ્ક્રિપ્શન રાખો'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'તેમ છતાં રદ કરો'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'તમારી માસિક સહાયતા સફળતાપૂર્વક રદ કરવામાં આવી છે.'; + + @override + String get subscriptionMalformed => 'ખોટી સબ્સ્ક્રાઇપશન માહિતી'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'માસિક સહાયતા માટે સાઇન અપ કરો જેથી તે અહીં દેખાય'; + + @override + String get subscriptionNoSubscriptionsYet => 'હજી સુધી કોઈ સબસ્ક્રિપ્શન નથી'; + + @override + String get subscriptionCreatedAtDateLabel => 'સબ્સ્ક્રિપ્શન તારીખ'; + + @override + String get subscriptionExpiresAtDateLabel => 'સમાપ્ત'; + + @override + String get subscriptionSubscriptionIdLabel => 'સબ્સ્ક્રિપ્શન ID'; + + @override + String get subscriptionProductIdLabel => 'ઉત્પાદન આઈડી'; + + @override + String get subscriptionDialogOkButton => 'ઠીક છે'; + + @override + String get errorProcessDonationTitle => + 'અમે તમારી ચુકવણીને આગળ વધારી શક્યા નથી'; + + @override + String get errorProcessDonationSubtitle => + 'ચુકવણીમાં કંઈક ખોટું થયું છે. કૃપા કરીને ફરીથી પ્રયાસ કરો.'; + + @override + String get errorProcessDonationRetryButton => 'પુનઃ પ્રયત્ન કરો'; + + @override + String get processingDonationTitle => 'ચુકવણી પ્રક્રિયા થઇ રહી છે'; + + @override + String get processingDonationStripeSubtitle => + 'તમે Stripe ની સુરક્ષિત ચેકઆઉટ પેજ પર તમારું ખરીદી પૂર્ણ કરશો.'; + + @override + String get perWeek => '/ અઠવાડિયે'; + + @override + String get perYear => '/ વર્ષ'; + + @override + String get premiumMostPopularRibbon => 'સૌથી લોકપ્રિય'; + + @override + String get premiumCloseTooltip => 'બંધ કરો'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'પ્રીમિયમ સાથે તમને શું મળે છે:'; + + @override + String get premiumFeatureAdFree => 'વિજ્ઞાપનમુક્ત પરામર્શ'; + + @override + String get premiumFeatureFasterReplies => 'ઝડપી જવાબો'; + + @override + String get premiumFeatureEarlyAccess => 'નવા ફીચર્સ માટે વહેલો ઍક્સેસ'; + + @override + String get premiumPricePerWeek => '/સપ્તાહ'; + + @override + String get premiumCancelAnytime => 'ક્યારે પણ રદ કરો. કોઈ પ્રતિબદ્ધતા નથી.'; + + @override + String get premiumLimitedTimeBadge => 'સમય મર્યાદિત'; + + @override + String get premiumAutoRenewsConsent => + 'આપોઆપ નવિનીકરણ દર અઠવાડિયે થાય છે. સેટિંગ્સમાં ક્યારેય રદ કરો. આગળ વધીને, તમે અમારી શરતો અને

ગોપનીયતા નીતિ

સાથે સંમત છો.'; + + @override + String get premiumContinueButton => '🎁 પ્રીમિયમ સાથે ચાલુ રાખો'; + + @override + String get premiumSupportMessage => + '💚 તમારો સમર્થન આરોગ્યસંભાળને ઉપલબ્ધ રાખવામાં મદદ કરે છે'; + + @override + String get subscriptionLoginRequiredError => + 'કૃપા કરીને ખરીદી પૂર્ણ કરવા માટે સાઇન અપ કરો અથવા લોગ ઇન કરો'; +} diff --git a/example/lib/src/generated/pay/pay_localization_he.dart b/example/lib/src/generated/pay/pay_localization_he.dart new file mode 100644 index 0000000..b2446cb --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_he.dart @@ -0,0 +1,240 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hebrew (`he`). +class PayLocalizationHe extends PayLocalization { + PayLocalizationHe([String locale = 'he']) : super(locale); + + @override + String get exampleButton => 'כפתור דוגמה'; + + @override + String get donationYesItsAllGoodButton => 'כן, הכל בסדר!'; + + @override + String get everyContributionHealsTitle => 'כל תרומה מרפאת!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'התרומה שלך עוזרת לממן ייעוץ חינם למי שזקוקים לו.'; + + @override + String get payWhatFeelsRightLabel => 'שלמו לפי מה שמרגיש נכון,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'או המשך להשתמש ב-Doctorina בחינם, תודה לאחרים שבחרו לתרום'; + + @override + String get oneTimeLabel => 'פעם אחת'; + + @override + String get monthlyLabel => 'חודשי'; + + @override + String get chooseMonthlyDonationAmountLabel => 'בחר את סכום התרומה החודשית'; + + @override + String get subscriptionNoAmount => 'את/ה עומד/ת להירשם לתוכנית חודשית.'; + + @override + String subscriptionAmount(String amount) { + return 'אתה נרשם לתוכנית חודשית בעלות $amount/חודש'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'חיוב יתבצע מחשבונך עם אישור הרכישה. המנוי מתחדש אוטומטית כל חודש, אלא אם כן כיבית את החידוש האוטומטי לפחות 24 שעות לפני תום התקופה הנוכחית. באפשרותך לנהל או לבטל את המנוי בכל עת בהגדרות החשבון שלך. בהמשך, אתה מסכים ל-$termsOfService ו-$privacyPolicy שלנו.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'בחר סכום תרומה חד-פעמית'; + + @override + String get mostPeopleGiveHint => 'רוב האנשים נותנים \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'בחר מטבע'; + + @override + String get processingPaymentSemantics => 'תשלום בעיבוד'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'מעבד תשלום חד-פעמי של $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'מעבד תשלום חודשי בסכום $amount'; + } + + @override + String get thankYouTitle => 'תודה!'; + + @override + String get thankYouSubtitle => + 'עכשיו עוד יותר אנשים יקבלו ייעוץ חינמי — התמיכה שלך באמת יקרה מפז.'; + + @override + String get youContributedLabel => 'תרמת:'; + + @override + String get perMonth => '/ חודש'; + + @override + String get returnToTheMainScreenButton => 'חזרה למסך הראשי'; + + @override + String get termsOfServiceLabel => 'תנאי שימוש'; + + @override + String get privacyPolicyLabel => 'מדיניות פרטיות'; + + @override + String get donateButton => 'תרום'; + + @override + String get subscriptionStatusActiveLabel => 'פעיל'; + + @override + String get subscriptionStatusCanceledLabel => 'מבוטל'; + + @override + String get subscriptionStatusPausedLabel => 'מושהה'; + + @override + String get subscriptionStatusPendingLabel => 'ממתין'; + + @override + String get subscriptionStatusCreatedLabel => 'נוצר'; + + @override + String get subscriptionStatusTimeoutLabel => 'פג הזמן'; + + @override + String get subscriptionStatusUnknownLabel => 'לא ידוע'; + + @override + String get subscriptionDoctorinaContributor => 'תורם של Doctorina'; + + @override + String get subscriptionRenews => 'מתחדש'; + + @override + String get subscriptionCancelButton => 'בטל מנוי'; + + @override + String get subscriptionAreYouSureDialogTitle => 'האם אתה בטוח?'; + + @override + String get subscriptionAreYouSureDialogText => + 'התמיכה החודשית שלך שומרת על Doctorina כחינמית לאלה התלויים בה אך אינם יכולים לשלם.\n\nהמנוי שלך מממן לפחות 10 התייעצויות חינם בכל חודש.\nאם תעזוב, פחות מטופלים יקבלו את העזרה הנדרשת'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'השאר את המנוי'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'בטל בכל זאת'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'התמיכה החודשית שלך בוטלה בהצלחה.'; + + @override + String get subscriptionMalformed => 'נתוני מנוי שגוויים'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'הרשם לתמיכה חודשית כדי שתופיע כאן'; + + @override + String get subscriptionNoSubscriptionsYet => 'עדיין אין מנויים'; + + @override + String get subscriptionCreatedAtDateLabel => 'תאריך מנוי'; + + @override + String get subscriptionExpiresAtDateLabel => 'תפוג'; + + @override + String get subscriptionSubscriptionIdLabel => 'מזהה מנוי'; + + @override + String get subscriptionProductIdLabel => 'מזהה מוצר'; + + @override + String get subscriptionDialogOkButton => 'אישור'; + + @override + String get errorProcessDonationTitle => 'לא הצלחנו לעבד את התשלום שלך'; + + @override + String get errorProcessDonationSubtitle => 'משהו השתבש בתשלום.\nאנא נסה שוב.'; + + @override + String get errorProcessDonationRetryButton => 'נסה שוב'; + + @override + String get processingDonationTitle => 'תשלום בעיבוד'; + + @override + String get processingDonationStripeSubtitle => + 'תשלים את הרכישה שלך בדף התשלום המאובטח של Stripe.'; + + @override + String get perWeek => '/ שבוע'; + + @override + String get perYear => '/ שנה'; + + @override + String get premiumMostPopularRibbon => 'הכי פופולרי'; + + @override + String get premiumCloseTooltip => 'סגור'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'מה שאתה מקבל עם פרימיום:'; + + @override + String get premiumFeatureAdFree => 'ייעוץ ללא פרסומות'; + + @override + String get premiumFeatureFasterReplies => 'תשובות מהירות יותר'; + + @override + String get premiumFeatureEarlyAccess => 'גישה מוקדמת לתכונות חדשות'; + + @override + String get premiumPricePerWeek => '/שבוע'; + + @override + String get premiumCancelAnytime => 'בטל בכל עת. אין התחייבות.'; + + @override + String get premiumLimitedTimeBadge => 'זמן מוגבל'; + + @override + String get premiumAutoRenewsConsent => + 'מתחדש אוטומטית מדי שבוע. ניתן לבטל בכל עת בהגדרות. בהמשך, אתה מסכים לתנאים ול

מדיניות הפרטיות

שלנו.'; + + @override + String get premiumContinueButton => '🎁 המשך עם פרימיום'; + + @override + String get premiumSupportMessage => + '💚 התמיכה שלך עוזרת לשמור על נגישות טיפול'; + + @override + String get subscriptionLoginRequiredError => + 'אנא הירשם או התחבר כדי להשלים את הרכישה.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_hi.dart b/example/lib/src/generated/pay/pay_localization_hi.dart index d8dc9c8..5731c3c 100644 --- a/example/lib/src/generated/pay/pay_localization_hi.dart +++ b/example/lib/src/generated/pay/pay_localization_hi.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'pay_localization.dart'; class PayLocalizationHi extends PayLocalization { PayLocalizationHi([String locale = 'hi']) : super(locale); - @override - String get title => 'भुगतान'; - @override String get exampleButton => 'बटन उदाहरण'; @@ -20,44 +17,44 @@ class PayLocalizationHi extends PayLocalization { String get donationYesItsAllGoodButton => 'हाँ, सब ठीक है!'; @override - String get everyContributionHealsTitle => - 'हर योगदान से स्वास्थ्य लाभ होता है!'; + String get everyContributionHealsTitle => 'हर योगदान से चंगा होता है!'; @override String get ifThisHelpedYouConsiderSupportingSubtitle => - 'आपके योगदान से जरूरतमंद लोगों को मुफ्त सलाह देने में मदद मिलती है।'; + 'आपका योगदान जरूरतमंदों के लिए नि:शुल्क सलाह के वित्त पोषण में मदद करता है.'; @override - String get payWhatFeelsRightLabel => 'जो उचित लगे, वही भुगतान करें,'; + String get payWhatFeelsRightLabel => 'जो सही लगे उतना ही भुगतान करें,'; @override String get orKeepUsingDoctorinaForFreeLabel => - 'या फिर डॉक्टरिना का निःशुल्क उपयोग करते रहें, उन लोगों का धन्यवाद जिन्होंने इसे देने का निर्णय लिया।'; + 'या Doctorina को मुफ्त में इस्तेमाल करते रहें, उन लोगों का धन्यवाद जिन्होंने देने का विकल्प चुना'; @override - String get oneTimeLabel => 'वन टाइम'; + String get oneTimeLabel => 'एक बार'; @override - String get monthlyLabel => 'महीने के'; + String get monthlyLabel => 'मासिक'; @override String get chooseMonthlyDonationAmountLabel => 'मासिक दान राशि चुनें'; @override - String get subscriptionNoAmount => 'आप मासिक योजना की सदस्यता लेने वाले हैं।'; + String get subscriptionNoAmount => + 'आप एक मासिक योजना की सदस्यता लेने वाले हैं.'; @override String subscriptionAmount(String amount) { - return 'आप $amount/माह की मासिक योजना की सदस्यता ले रहे हैं।'; + return 'आप $amount/माह के लिए मासिक योजना की सदस्यता ले रहे हैं'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return 'खरीदारी की पुष्टि होने पर आपके खाते से भुगतान लिया जाएगा। सदस्यता हर महीने स्वतः नवीनीकृत हो जाती है, जब तक कि वर्तमान अवधि समाप्त होने से कम से कम 24 घंटे पहले स्वतः नवीनीकरण बंद न कर दिया जाए। आप अपनी खाता सेटिंग में कभी भी अपनी सदस्यता प्रबंधित या रद्द कर सकते हैं। आगे बढ़कर, आप हमारी $termsOfService और $privacyPolicy से सहमत होते हैं।'; + return 'खरीद की पुष्टि पर आपके खाते से शुल्क लिया जाएगा। सदस्यता हर महीने स्वतः नवीनीकृत हो जाती है जब तक कि वर्तमान अवधि के अंत से कम से कम 24 घंटे पहले ऑटो-नवीनीकरण बंद न कर दिया जाए। आप अपने खाते की सेटिंग में कभी भी अपनी सदस्यता को प्रबंधित या रद्द कर सकते हैं। आगे बढ़ने पर, आप हमारे $termsOfService और $privacyPolicy से सहमत होते हैं।'; } @override - String get chooseOneTimeDonationAmountLabel => 'एकमुश्त दान राशि चुनें'; + String get chooseOneTimeDonationAmountLabel => 'एक बार के दान की राशि चुनें'; @override String get mostPeopleGiveHint => 'अधिकांश लोग \$7–\$15 देते हैं'; @@ -66,16 +63,16 @@ class PayLocalizationHi extends PayLocalization { String get selectCurrencyTooltip => 'मुद्रा चुनें'; @override - String get processingPaymentSemantics => 'संसाधन संबंधी भुगतान'; + String get processingPaymentSemantics => 'भुगतान संसाधित हो रहा है'; @override String processingOneTimePaymentSemantics(String currency, String amount) { - return '$currency $amount का एकमुश्त भुगतान संसाधित किया जा रहा है'; + return 'एकमुश्त भुगतान $currency $amount संसाधित हो रहा है'; } @override String processingMonthlyPaymentSemantics(String amount) { - return '$amount का मासिक भुगतान संसाधित किया जा रहा है'; + return 'मासिक भुगतान $amount संसाधित किया जा रहा है'; } @override @@ -83,13 +80,13 @@ class PayLocalizationHi extends PayLocalization { @override String get thankYouSubtitle => - 'अब और भी अधिक लोगों को निःशुल्क सलाह मिलेगी - आपका सहयोग सचमुच अमूल्य है।'; + 'अब और भी अधिक लोग नि:शुल्क सलाह प्राप्त करेंगे — आपका समर्थन वास्तव में अमूल्य है.'; @override String get youContributedLabel => 'आपने योगदान दिया:'; @override - String get perMonth => '/ महीना'; + String get perMonth => '/ माह'; @override String get returnToTheMainScreenButton => 'मुख्य स्क्रीन पर लौटें'; @@ -103,14 +100,11 @@ class PayLocalizationHi extends PayLocalization { @override String get donateButton => 'दान करें'; - @override - String get manageSubscriptionTitle => 'सदस्यता प्रबंधित करें'; - @override String get subscriptionStatusActiveLabel => 'सक्रिय'; @override - String get subscriptionStatusCanceledLabel => 'रद्द'; + String get subscriptionStatusCanceledLabel => 'रद्द किया गया'; @override String get subscriptionStatusPausedLabel => 'रुका हुआ'; @@ -119,46 +113,46 @@ class PayLocalizationHi extends PayLocalization { String get subscriptionStatusPendingLabel => 'लंबित'; @override - String get subscriptionStatusCreatedLabel => 'बनाया था'; + String get subscriptionStatusCreatedLabel => 'बनाया गया'; @override - String get subscriptionStatusTimeoutLabel => 'समय समाप्ति'; + String get subscriptionStatusTimeoutLabel => 'समय समाप्त'; @override String get subscriptionStatusUnknownLabel => 'अज्ञात'; @override - String get subscriptionDoctorinaContributor => 'डॉक्टरिना योगदानकर्ता'; + String get subscriptionDoctorinaContributor => 'Doctorina योगदानकर्ता'; @override - String get subscriptionRenews => 'नवीनिकृत'; + String get subscriptionRenews => 'नवीनीकरण होता है'; @override String get subscriptionCancelButton => 'सदस्यता रद्द करें'; @override - String get subscriptionAreYouSureDialogTitle => 'क्या आपको यकीन है?'; + String get subscriptionAreYouSureDialogTitle => 'क्या आप सुनिश्चित हैं?'; @override String get subscriptionAreYouSureDialogText => - 'आपके मासिक सहयोग से डॉक्टरिना उन लोगों के लिए मुफ़्त है जो इस पर निर्भर हैं लेकिन भुगतान नहीं कर सकते।\n\nआपकी सदस्यता से हर महीने कम से कम 10 मुफ़्त परामर्श मिलते हैं।\nअगर आप इसे छोड़ देते हैं, तो कम मरीज़ों को ज़रूरी मदद मिल पाएगी।'; + 'आपका मासिक सहयोग उन लोगों के लिए डॉक्टरिना को निःशुल्क बनाए रखता है जो उस पर निर्भर हैं लेकिन भुगतान करने में असमर्थ हैं.\n\nआपकी सदस्यता प्रति माह कम से कम 10 मुफ्त परामर्शों को वित्तपोषित करती है.\nयदि आप छोड़ देते हैं, तो कम मरीजों को आवश्यक सहायता मिलेगी'; @override - String get subscriptionAreYouSureDialogKeepButton => 'सदस्यता बनाए रखें'; + String get subscriptionAreYouSureDialogKeepButton => 'सदस्यता रखें'; @override String get subscriptionAreYouSureDialogCancelButton => 'फिर भी रद्द करें'; @override String get subscriptionYourMonthlySupportCanceledNotification => - 'आपका मासिक समर्थन\nसफलतापूर्वक रद्द कर दिया गया है।'; + 'आपकी मासिक सहायता सफलतापूर्वक रद्द कर दी गई है.'; @override String get subscriptionMalformed => 'गलत सदस्यता डेटा'; @override String get subscriptionSignUpForMonthlySupportButton => - 'मासिक सहायता के लिए साइन अप करें ताकि यह यहां प्रदर्शित हो सके।'; + 'मासिक सहायता के लिए साइन अप करें ताकि यह यहाँ दिखाई दे'; @override String get subscriptionNoSubscriptionsYet => 'अभी तक कोई सदस्यता नहीं'; @@ -167,31 +161,83 @@ class PayLocalizationHi extends PayLocalization { String get subscriptionCreatedAtDateLabel => 'सदस्यता तिथि'; @override - String get subscriptionExpiresAtDateLabel => 'समय-सीमा समाप्त'; + String get subscriptionExpiresAtDateLabel => 'समाप्त'; @override String get subscriptionSubscriptionIdLabel => 'सदस्यता आईडी'; @override - String get subscriptionProductIdLabel => 'उत्पाद आयडी'; + String get subscriptionProductIdLabel => 'उत्पाद आईडी'; @override String get subscriptionDialogOkButton => 'ठीक है'; @override - String get errorProcessDonationTitle => 'हम आपका भुगतान आगे नहीं बढ़ा सके'; + String get errorProcessDonationTitle => 'हम आपका भुगतान संसाधित नहीं कर सके'; @override String get errorProcessDonationSubtitle => - 'भुगतान में कुछ गड़बड़ी हुई है।\nकृपया पुनः प्रयास करें।'; + 'भुगतान में कुछ गड़बड़ हो गई.\nकृपया पुनः प्रयास करें.'; @override - String get errorProcessDonationRetryButton => 'पुन: प्रयास करें'; + String get errorProcessDonationRetryButton => 'पुनः प्रयास करें'; @override - String get processingDonationTitle => 'संसाधन संबंधी भुगतान'; + String get processingDonationTitle => 'भुगतान संसाधित हो रहा है'; @override String get processingDonationStripeSubtitle => 'आप अपनी खरीदारी Stripe के सुरक्षित चेकआउट पृष्ठ पर पूरी करेंगे।'; + + @override + String get perWeek => '/ सप्ताह'; + + @override + String get perYear => '/ वर्ष'; + + @override + String get premiumMostPopularRibbon => 'सबसे लोकप्रिय'; + + @override + String get premiumCloseTooltip => 'बंद करें'; + + @override + String get premiumTitle => 'Doctorina प्रीमियम'; + + @override + String get premiumWhatYouGetHeader => 'प्रीमियम के साथ आपको क्या मिलता है:'; + + @override + String get premiumFeatureAdFree => 'बिना विज्ञापन के परामर्श'; + + @override + String get premiumFeatureFasterReplies => 'तेज़ उत्तर'; + + @override + String get premiumFeatureEarlyAccess => 'नई सुविधाओं तक जल्दी पहुंच'; + + @override + String get premiumPricePerWeek => '/सप्ताह'; + + @override + String get premiumCancelAnytime => + 'किसी भी समय रद्द करें। कोई प्रतिबद्धता नहीं।'; + + @override + String get premiumLimitedTimeBadge => 'सीमित समय'; + + @override + String get premiumAutoRenewsConsent => + 'स्वतः नवीनीकरण साप्ताहिक होता है। सेटिंग्स में कभी भी रद्द करें। जारी रखने पर, आप हमारी शर्तें और

गोपनीयता नीति

से सहमत होते हैं।'; + + @override + String get premiumContinueButton => '🎁 प्रीमियम के साथ जारी रखें'; + + @override + String get premiumSupportMessage => + '💚 आपका समर्थन देखभाल को सुलभ रखने में मदद करता है'; + + @override + String get subscriptionLoginRequiredError => + 'कृपया खरीदारी पूरी करने के लिए साइन अप करें या लॉग इन करें'; } diff --git a/example/lib/src/generated/pay/pay_localization_hu.dart b/example/lib/src/generated/pay/pay_localization_hu.dart new file mode 100644 index 0000000..4e6fe23 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_hu.dart @@ -0,0 +1,246 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hungarian (`hu`). +class PayLocalizationHu extends PayLocalization { + PayLocalizationHu([String locale = 'hu']) : super(locale); + + @override + String get exampleButton => 'Gomb példa'; + + @override + String get donationYesItsAllGoodButton => 'Igen, minden rendben van!'; + + @override + String get everyContributionHealsTitle => 'Minden hozzájárulás gyógyít!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'A hozzájárulása segít ingyenes tanácsokat finanszírozni mások számára.'; + + @override + String get payWhatFeelsRightLabel => 'Fizess, ami jól esik,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'vagy továbbra is ingyen használhatod a Doctorinát, köszönhetően másoknak, akik úgy döntöttek, hogy adnak.'; + + @override + String get oneTimeLabel => 'Egyszeri'; + + @override + String get monthlyLabel => 'Havi'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Válassza ki a havi adomány összegét'; + + @override + String get subscriptionNoAmount => + 'Ön most egy havi tervre kíván előfizetni.'; + + @override + String subscriptionAmount(String amount) { + return 'Havi előfizetést vásárolsz $amount/hó.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'A díjat a vásárlás megerősítésekor terheljük a fiókjára. A előfizetés automatikusan megújul minden hónapban, hacsak az automatikus megújítást nem kapcsolja ki legalább 24 órával a jelenlegi időszak vége előtt. Bármikor kezelheti vagy lemondhatja előfizetését a fiókbeállításokban. A folytatással elfogadja $termsOfService és $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Válasszon egy összegű egyszeri adományt'; + + @override + String get mostPeopleGiveHint => 'A legtöbb ember \$7–\$15-t ad'; + + @override + String get selectCurrencyTooltip => 'Válassza ki a valutát'; + + @override + String get processingPaymentSemantics => 'Fizetés feldolgozása'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Egyszeri $currency $amount összegű kifizetés feldolgozása'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Havi $amount összegű kifizetés feldolgozása'; + } + + @override + String get thankYouTitle => 'Köszönöm!'; + + @override + String get thankYouSubtitle => + 'Most még több ember kap ingyenes tanácsot — a támogatása valóban felbecsülhetetlen.'; + + @override + String get youContributedLabel => 'Hozzájárultál:'; + + @override + String get perMonth => '/ hónap'; + + @override + String get returnToTheMainScreenButton => 'Vissza a főképernyőre'; + + @override + String get termsOfServiceLabel => 'Szolgáltatási feltételek'; + + @override + String get privacyPolicyLabel => 'Adatvédelmi irányelvek'; + + @override + String get donateButton => 'Adományozás'; + + @override + String get subscriptionStatusActiveLabel => 'Aktív'; + + @override + String get subscriptionStatusCanceledLabel => 'Lemondva'; + + @override + String get subscriptionStatusPausedLabel => 'Szüneteltetve'; + + @override + String get subscriptionStatusPendingLabel => 'Függő'; + + @override + String get subscriptionStatusCreatedLabel => 'Létrehozva'; + + @override + String get subscriptionStatusTimeoutLabel => 'Időkorlát'; + + @override + String get subscriptionStatusUnknownLabel => 'Ismeretlen'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina hozzájáruló'; + + @override + String get subscriptionRenews => 'Megújítja'; + + @override + String get subscriptionCancelButton => 'Előfizetés lemondása'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Biztos benne?'; + + @override + String get subscriptionAreYouSureDialogText => + 'A havi támogatásod ingyenessé teszi a Doctorinát azok számára, akik rá vannak utalva, de nem engedhetik meg maguknak, hogy fizessenek.\n\nA te előfizetésed legalább 10 ingyenes konzultációt finanszíroz havonta.\nHa elmész, kevesebb beteg kapja meg a szükséges segítséget.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Előfizetés megtartása'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Mégis törlés'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'A havi támogatás sikeresen lemondva.'; + + @override + String get subscriptionMalformed => 'Hibás előfizetési adatok'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Iratkozzon fel havi támogatásra, hogy itt megjelenjen.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Még nincsenek előfizetések'; + + @override + String get subscriptionCreatedAtDateLabel => 'Előfizetés dátuma'; + + @override + String get subscriptionExpiresAtDateLabel => 'Lejár'; + + @override + String get subscriptionSubscriptionIdLabel => 'Előfizetési azonosító'; + + @override + String get subscriptionProductIdLabel => 'Termékazonosító'; + + @override + String get subscriptionDialogOkButton => 'Rendben'; + + @override + String get errorProcessDonationTitle => + 'Nem tudtuk feldolgozni a kifizetését'; + + @override + String get errorProcessDonationSubtitle => + 'Hiba történt a fizetéssel. Kérjük, próbálja újra.'; + + @override + String get errorProcessDonationRetryButton => 'Újrapróbálkozás'; + + @override + String get processingDonationTitle => 'Fizetés feldolgozása'; + + @override + String get processingDonationStripeSubtitle => + 'A vásárlását a Stripe biztonságos pénztári oldalán fejezheti be.'; + + @override + String get perWeek => '/ hét'; + + @override + String get perYear => '/ év'; + + @override + String get premiumMostPopularRibbon => 'Legnépszerűbb'; + + @override + String get premiumCloseTooltip => 'Bezárás'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'A prémium szolgáltatások, amiket kap:'; + + @override + String get premiumFeatureAdFree => 'Hirdetésmentes konzultációk'; + + @override + String get premiumFeatureFasterReplies => 'Gyorsabb válaszok'; + + @override + String get premiumFeatureEarlyAccess => 'Korai hozzáférés az új funkciókhoz'; + + @override + String get premiumPricePerWeek => '/hét'; + + @override + String get premiumCancelAnytime => + 'Bármikor lemondhatja. Nincs kötelezettség.'; + + @override + String get premiumLimitedTimeBadge => 'KORLÁTOZOTT IDŐ'; + + @override + String get premiumAutoRenewsConsent => + 'Hetente automatikusan megújul. Bármikor lemondhatja a beállításokban. A folytatással elfogadja Felhasználási feltételeinket és

Adatvédelmi irányelveinket

.'; + + @override + String get premiumContinueButton => '🎁 Folytatás Prémium'; + + @override + String get premiumSupportMessage => + '💚 A támogatása segít, hogy a gondozás elérhető maradjon'; + + @override + String get subscriptionLoginRequiredError => + 'A vásárlás befejezéséhez kérjük, regisztráljon vagy jelentkezzen be.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_id.dart b/example/lib/src/generated/pay/pay_localization_id.dart new file mode 100644 index 0000000..afbcdae --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_id.dart @@ -0,0 +1,244 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Indonesian (`id`). +class PayLocalizationId extends PayLocalization { + PayLocalizationId([String locale = 'id']) : super(locale); + + @override + String get exampleButton => 'Contoh tombol'; + + @override + String get donationYesItsAllGoodButton => 'Ya, semuanya baik-baik saja!'; + + @override + String get everyContributionHealsTitle => 'Setiap kontribusi menyembuhkan!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Kontribusimu membantu mendanai saran gratis bagi mereka yang membutuhkan.'; + + @override + String get payWhatFeelsRightLabel => 'Bayar apa yang terasa tepat,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'atau terus menggunakan Doctorina secara gratis, berkat orang lain yang memilih untuk memberi'; + + @override + String get oneTimeLabel => 'Sekali'; + + @override + String get monthlyLabel => 'Bulanan'; + + @override + String get chooseMonthlyDonationAmountLabel => 'Pilih jumlah donasi bulanan'; + + @override + String get subscriptionNoAmount => 'Anda akan berlangganan paket bulanan.'; + + @override + String subscriptionAmount(String amount) { + return 'Anda berlangganan paket bulanan dengan $amount/bulan'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Pembayaran akan dikenakan ke akun Anda saat konfirmasi pembelian. Langganan akan diperpanjang secara otomatis setiap bulan kecuali perpanjangan otomatis dimatikan setidaknya 24 jam sebelum akhir periode saat ini. Anda dapat mengelola atau membatalkan langganan Anda kapan saja di pengaturan akun Anda. Dengan melanjutkan, Anda menyetujui $termsOfService dan $privacyPolicy kami.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Pilih jumlah donasi satu kali'; + + @override + String get mostPeopleGiveHint => 'Kebanyakan orang memberikan \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Pilih mata uang'; + + @override + String get processingPaymentSemantics => 'Memproses pembayaran'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Memproses pembayaran satu kali senilai $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Memproses pembayaran bulanan sebesar $amount'; + } + + @override + String get thankYouTitle => 'Terima kasih!'; + + @override + String get thankYouSubtitle => + 'Sekarang semakin banyak orang akan menerima saran gratis — dukungan Anda benar-benar tak ternilai'; + + @override + String get youContributedLabel => 'Anda berkontribusi:'; + + @override + String get perMonth => '/ bulan'; + + @override + String get returnToTheMainScreenButton => 'Kembali ke layar utama'; + + @override + String get termsOfServiceLabel => 'Syarat Layanan'; + + @override + String get privacyPolicyLabel => 'Kebijakan Privasi'; + + @override + String get donateButton => 'Donasi'; + + @override + String get subscriptionStatusActiveLabel => 'Aktif'; + + @override + String get subscriptionStatusCanceledLabel => 'Dibatalkan'; + + @override + String get subscriptionStatusPausedLabel => 'Dijeda'; + + @override + String get subscriptionStatusPendingLabel => 'Tertunda'; + + @override + String get subscriptionStatusCreatedLabel => 'Dibuat'; + + @override + String get subscriptionStatusTimeoutLabel => 'Waktu habis'; + + @override + String get subscriptionStatusUnknownLabel => 'Tidak diketahui'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina kontributor'; + + @override + String get subscriptionRenews => 'Memperbarui'; + + @override + String get subscriptionCancelButton => 'Batalkan langganan'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Apakah Anda yakin?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Dukungan bulanan Anda membuat Doctorina tetap gratis bagi orang-orang yang mengandalkannya namun tidak mampu membayar. Langganan Anda mendanai setidaknya 10 konsultasi gratis setiap bulan. Jika Anda berhenti, lebih sedikit pasien yang akan mendapatkan bantuan yang mereka butuhkan.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Pertahankan langganan'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Batal saja'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Dukungan bulanan Anda\ntelah berhasil dibatalkan.'; + + @override + String get subscriptionMalformed => 'Data langganan salah'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Daftar untuk dukungan bulanan agar muncul di sini.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Belum ada langganan'; + + @override + String get subscriptionCreatedAtDateLabel => 'Tanggal langganan'; + + @override + String get subscriptionExpiresAtDateLabel => 'Berakhir'; + + @override + String get subscriptionSubscriptionIdLabel => 'ID Langganan'; + + @override + String get subscriptionProductIdLabel => 'ID Produk'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'Kami tidak dapat memproses pembayaran Anda'; + + @override + String get errorProcessDonationSubtitle => + 'Terjadi kesalahan pada pembayaran. Silakan coba lagi.'; + + @override + String get errorProcessDonationRetryButton => 'Coba lagi'; + + @override + String get processingDonationTitle => 'Memproses pembayaran'; + + @override + String get processingDonationStripeSubtitle => + 'Anda akan menyelesaikan pembelian Anda di halaman checkout aman Stripe.'; + + @override + String get perWeek => '/ minggu'; + + @override + String get perYear => '/ tahun'; + + @override + String get premiumMostPopularRibbon => 'Paling Populer'; + + @override + String get premiumCloseTooltip => 'Tutup'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => + 'Apa yang Anda dapatkan dengan Premium:'; + + @override + String get premiumFeatureAdFree => 'Konsultasi tanpa iklan'; + + @override + String get premiumFeatureFasterReplies => 'Balasan lebih cepat'; + + @override + String get premiumFeatureEarlyAccess => 'Akses awal ke fitur baru'; + + @override + String get premiumPricePerWeek => '/minggu'; + + @override + String get premiumCancelAnytime => 'Batalkan kapan saja. Tanpa komitmen.'; + + @override + String get premiumLimitedTimeBadge => 'WAKTU TERBATAS'; + + @override + String get premiumAutoRenewsConsent => + 'Auto-renews setiap minggu. Batalkan kapan saja di pengaturan. Dengan melanjutkan, Anda setuju dengan Ketentuan dan

Kebijakan Privasi

.'; + + @override + String get premiumContinueButton => '🎁 Lanjutkan dengan Premium'; + + @override + String get premiumSupportMessage => + '💚 Dukungan Anda membantu menjaga aksesibilitas perawatan'; + + @override + String get subscriptionLoginRequiredError => + 'Silakan daftar atau masuk untuk menyelesaikan pembelian.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_it.dart b/example/lib/src/generated/pay/pay_localization_it.dart index 309a9e1..2719157 100644 --- a/example/lib/src/generated/pay/pay_localization_it.dart +++ b/example/lib/src/generated/pay/pay_localization_it.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'pay_localization.dart'; class PayLocalizationIt extends PayLocalization { PayLocalizationIt([String locale = 'it']) : super(locale); - @override - String get title => 'Pagamento'; - @override String get exampleButton => 'Esempio di pulsante'; @@ -24,17 +21,17 @@ class PayLocalizationIt extends PayLocalization { @override String get ifThisHelpedYouConsiderSupportingSubtitle => - 'Il tuo contributo aiuta a finanziare la consulenza gratuita per altre persone bisognose.'; + 'Il tuo contributo aiuta a finanziare consulenze gratuite per chi ne ha bisogno.'; @override - String get payWhatFeelsRightLabel => 'Paga quello che ritieni giusto,'; + String get payWhatFeelsRightLabel => 'Paga quanto ritieni giusto,'; @override String get orKeepUsingDoctorinaForFreeLabel => - 'oppure continua a usare Doctorina gratuitamente, grazie ad altri che hanno scelto di donare.'; + 'o continua a usare Doctorina gratuitamente, grazie a chi ha scelto di donare'; @override - String get oneTimeLabel => 'Una volta'; + String get oneTimeLabel => 'Una tantum'; @override String get monthlyLabel => 'Mensile'; @@ -44,36 +41,34 @@ class PayLocalizationIt extends PayLocalization { 'Scegli l\'importo della donazione mensile'; @override - String get subscriptionNoAmount => - 'Stai per sottoscrivere un abbonamento mensile.'; + String get subscriptionNoAmount => 'Stai per iscriverti a un piano mensile.'; @override String subscriptionAmount(String amount) { - return 'Stai sottoscrivendo un abbonamento mensile per $amount/mese.'; + return 'Ti stai abbonando a un piano mensile per $amount/mese'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return 'Il pagamento verrà addebitato sul tuo account alla conferma dell\'acquisto. L\'abbonamento si rinnova automaticamente ogni mese, a meno che il rinnovo automatico non venga disattivato almeno 24 ore prima della fine del periodo in corso. Puoi gestire o annullare l\'abbonamento in qualsiasi momento nelle impostazioni del tuo account. Procedendo, accetti i nostri $termsOfService e la $privacyPolicy.'; + return 'Il pagamento verrà addebitato sul tuo conto al momento della conferma dell\'acquisto. L\'abbonamento si rinnova automaticamente ogni mese a meno che il rinnovo automatico non venga disattivato almeno 24 ore prima della fine del periodo corrente. Puoi gestire o annullare il tuo abbonamento in qualsiasi momento nelle impostazioni del tuo account. Procedendo, accetti i nostri $termsOfService e $privacyPolicy.'; } @override String get chooseOneTimeDonationAmountLabel => - 'Scegli l\'importo della donazione una tantum'; + 'Scegli un importo di donazione una tantum'; @override - String get mostPeopleGiveHint => - 'La maggior parte delle persone dona dai 7 ai 15 dollari'; + String get mostPeopleGiveHint => 'La maggior parte dà \$7–\$15'; @override - String get selectCurrencyTooltip => 'Seleziona la valuta'; + String get selectCurrencyTooltip => 'Seleziona valuta'; @override - String get processingPaymentSemantics => 'Elaborazione del pagamento'; + String get processingPaymentSemantics => 'Pagamento in elaborazione'; @override String processingOneTimePaymentSemantics(String currency, String amount) { - return 'Elaborazione di un pagamento una tantum di $currency $amount'; + return 'Elaborazione del pagamento una tantum di $currency $amount'; } @override @@ -86,7 +81,7 @@ class PayLocalizationIt extends PayLocalization { @override String get thankYouSubtitle => - 'Ora ancora più persone riceveranno consulenza gratuita: il vostro supporto è davvero inestimabile.'; + 'Ora ancora più persone riceveranno consigli gratuiti — il tuo supporto è davvero inestimabile.'; @override String get youContributedLabel => 'Hai contribuito:'; @@ -101,13 +96,10 @@ class PayLocalizationIt extends PayLocalization { String get termsOfServiceLabel => 'Termini di servizio'; @override - String get privacyPolicyLabel => 'politica sulla riservatezza'; + String get privacyPolicyLabel => 'Informativa sulla privacy'; @override - String get donateButton => 'Donare'; - - @override - String get manageSubscriptionTitle => 'Gestisci l\'abbonamento'; + String get donateButton => 'Dona'; @override String get subscriptionStatusActiveLabel => 'Attivo'; @@ -119,13 +111,13 @@ class PayLocalizationIt extends PayLocalization { String get subscriptionStatusPausedLabel => 'In pausa'; @override - String get subscriptionStatusPendingLabel => 'In attesa di'; + String get subscriptionStatusPendingLabel => 'In attesa'; @override String get subscriptionStatusCreatedLabel => 'Creato'; @override - String get subscriptionStatusTimeoutLabel => 'Tempo scaduto'; + String get subscriptionStatusTimeoutLabel => 'Timeout'; @override String get subscriptionStatusUnknownLabel => 'Sconosciuto'; @@ -134,7 +126,7 @@ class PayLocalizationIt extends PayLocalization { String get subscriptionDoctorinaContributor => 'Collaboratore di Doctorina'; @override - String get subscriptionRenews => 'Rinnova'; + String get subscriptionRenews => 'Si rinnova'; @override String get subscriptionCancelButton => 'Annulla abbonamento'; @@ -144,31 +136,30 @@ class PayLocalizationIt extends PayLocalization { @override String get subscriptionAreYouSureDialogText => - 'Il tuo contributo mensile mantiene Doctorina gratuito per le persone che ne fanno affidamento ma non possono permettersi di pagare.\n\nIl tuo abbonamento finanzia almeno 10 consulenze gratuite ogni mese.\nSe abbandoni l\'abbonamento, meno pazienti riceveranno l\'assistenza di cui hanno bisogno.'; + 'Il tuo supporto mensile mantiene Doctorina gratuita per le persone che ne hanno bisogno ma non possono permettersi di pagare.\n\nIl tuo abbonamento finanzia almeno 10 consulti gratuiti ogni mese.\nSe te ne vai, meno pazienti riceveranno l\'aiuto di cui hanno bisogno'; @override - String get subscriptionAreYouSureDialogKeepButton => - 'Mantieni l\'abbonamento'; + String get subscriptionAreYouSureDialogKeepButton => 'Mantieni abbonamento'; @override String get subscriptionAreYouSureDialogCancelButton => 'Annulla comunque'; @override String get subscriptionYourMonthlySupportCanceledNotification => - 'Il tuo supporto mensile\nè stato annullato con successo.'; + 'Il tuo supporto mensile è stato annullato con successo.'; @override String get subscriptionMalformed => 'Dati di abbonamento errati'; @override String get subscriptionSignUpForMonthlySupportButton => - 'Iscriviti al supporto mensile per vederlo apparire qui.'; + 'Iscriviti per il supporto mensile affinché compaia qui'; @override - String get subscriptionNoSubscriptionsYet => 'Nessun abbonamento ancora'; + String get subscriptionNoSubscriptionsYet => 'Ancora nessun abbonamento'; @override - String get subscriptionCreatedAtDateLabel => 'Data di sottoscrizione'; + String get subscriptionCreatedAtDateLabel => 'Data di abbonamento'; @override String get subscriptionExpiresAtDateLabel => 'Scade'; @@ -180,23 +171,76 @@ class PayLocalizationIt extends PayLocalization { String get subscriptionProductIdLabel => 'ID prodotto'; @override - String get subscriptionDialogOkButton => 'OK'; + String get subscriptionDialogOkButton => 'Ok'; @override String get errorProcessDonationTitle => - 'Non siamo riusciti a procedere con il pagamento'; + 'Non siamo riusciti ad elaborare il tuo pagamento'; @override String get errorProcessDonationSubtitle => - 'Si è verificato un errore durante il pagamento.\nRiprova.'; + 'Qualcosa è andato storto con il pagamento.\nPer favore riprova.'; @override String get errorProcessDonationRetryButton => 'Riprova'; @override - String get processingDonationTitle => 'Elaborazione del pagamento'; + String get processingDonationTitle => 'Pagamento in elaborazione'; @override String get processingDonationStripeSubtitle => - 'Completerai il tuo acquisto sulla pagina di pagamento sicura di Stripe.'; + 'Completerai il tuo acquisto sulla pagina di checkout sicura di Stripe.'; + + @override + String get perWeek => '/ settimana'; + + @override + String get perYear => '/ anno'; + + @override + String get premiumMostPopularRibbon => 'Più Popolare'; + + @override + String get premiumCloseTooltip => 'Chiudi'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Cosa ottieni con Premium:'; + + @override + String get premiumFeatureAdFree => 'Consultazioni senza pubblicità'; + + @override + String get premiumFeatureFasterReplies => 'Risposte più rapide'; + + @override + String get premiumFeatureEarlyAccess => + 'Accesso anticipato a nuove funzionalità'; + + @override + String get premiumPricePerWeek => '/settimana'; + + @override + String get premiumCancelAnytime => + 'Annulla in qualsiasi momento. Nessun impegno.'; + + @override + String get premiumLimitedTimeBadge => 'LIMITATO'; + + @override + String get premiumAutoRenewsConsent => + 'Si rinnova automaticamente ogni settimana. Annulla in qualsiasi momento nelle impostazioni. Continuando, accetti i nostri Termini e

Informativa sulla privacy

.'; + + @override + String get premiumContinueButton => '🎁 Continua con Premium'; + + @override + String get premiumSupportMessage => + '💚 Il tuo supporto aiuta a mantenere l\'assistenza accessibile'; + + @override + String get subscriptionLoginRequiredError => + 'Per completare l\'acquisto, registrati o accedi'; } diff --git a/example/lib/src/generated/pay/pay_localization_ja.dart b/example/lib/src/generated/pay/pay_localization_ja.dart new file mode 100644 index 0000000..0620471 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_ja.dart @@ -0,0 +1,238 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Japanese (`ja`). +class PayLocalizationJa extends PayLocalization { + PayLocalizationJa([String locale = 'ja']) : super(locale); + + @override + String get exampleButton => 'ボタン例'; + + @override + String get donationYesItsAllGoodButton => 'はい、大丈夫です!'; + + @override + String get everyContributionHealsTitle => 'すべての貢献が癒しをもたらす!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'あなたのご支援は、困っている他の方への無料相談の資金に役立ちます。'; + + @override + String get payWhatFeelsRightLabel => 'お好きな金額でお支払いください,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'または、寄付を選んだ他の方々のおかげでDoctorinaを無料で使い続ける'; + + @override + String get oneTimeLabel => '一回限り'; + + @override + String get monthlyLabel => '毎月'; + + @override + String get chooseMonthlyDonationAmountLabel => '毎月の寄付金額を選択'; + + @override + String get subscriptionNoAmount => 'あなたは今、月額プランに加入しようとしています.'; + + @override + String subscriptionAmount(String amount) { + return 'あなたは月額プランに$amount/月で加入しています.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return '決済が購入確定時にお客様のアカウントに請求されます。現在の期間終了の少なくとも24時間前に自動更新がオフにされない限り、サブスクリプションは毎月自動的に更新されます。アカウント設定でいつでもサブスクリプションを管理またはキャンセルできます。続行することで、$termsOfServiceと$privacyPolicyに同意したとみなされます'; + } + + @override + String get chooseOneTimeDonationAmountLabel => '一度限りの寄付金額を選択'; + + @override + String get mostPeopleGiveHint => 'ほとんどの人は\$7–\$15を寄付する'; + + @override + String get selectCurrencyTooltip => '通貨を選択'; + + @override + String get processingPaymentSemantics => '支払い処理中'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return '一度限りの支払い $currency $amount を処理中'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return '$amountの月額支払いを処理中'; + } + + @override + String get thankYouTitle => 'ありがとうございます!'; + + @override + String get thankYouSubtitle => + 'さらに多くの人が無料のアドバイスを受けられるようになりました — あなたのサポートは本当にかけがえのないものです.'; + + @override + String get youContributedLabel => 'あなたの貢献:'; + + @override + String get perMonth => '/月'; + + @override + String get returnToTheMainScreenButton => 'メイン画面に戻る'; + + @override + String get termsOfServiceLabel => '利用規約'; + + @override + String get privacyPolicyLabel => 'プライバシーポリシー'; + + @override + String get donateButton => '寄付する'; + + @override + String get subscriptionStatusActiveLabel => '有効'; + + @override + String get subscriptionStatusCanceledLabel => 'キャンセル済み'; + + @override + String get subscriptionStatusPausedLabel => '一時停止'; + + @override + String get subscriptionStatusPendingLabel => '保留中'; + + @override + String get subscriptionStatusCreatedLabel => '作成済み'; + + @override + String get subscriptionStatusTimeoutLabel => 'タイムアウト'; + + @override + String get subscriptionStatusUnknownLabel => '不明'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina 貢献者'; + + @override + String get subscriptionRenews => '更新'; + + @override + String get subscriptionCancelButton => 'サブスクリプションをキャンセル'; + + @override + String get subscriptionAreYouSureDialogTitle => '本当ですか?'; + + @override + String get subscriptionAreYouSureDialogText => + 'あなたの月額サポートにより、支払いが難しい方でも Doctorina を無料で利用できるようになります. あなたのサブスクリプションにより、毎月最低10回の無料相談が提供されます. 退会すると、必要な支援を受ける患者さんが減少します'; + + @override + String get subscriptionAreYouSureDialogKeepButton => '定期購読を継続'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'とにかくキャンセル'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'あなたの月間サポートは正常にキャンセルされました。'; + + @override + String get subscriptionMalformed => 'サブスクリプションデータが正しくありません'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + '月間サポートに登録すると、ここに表示されます。'; + + @override + String get subscriptionNoSubscriptionsYet => 'まだサブスクリプションはありません'; + + @override + String get subscriptionCreatedAtDateLabel => '契約日'; + + @override + String get subscriptionExpiresAtDateLabel => '有効期限'; + + @override + String get subscriptionSubscriptionIdLabel => 'サブスクリプションID'; + + @override + String get subscriptionProductIdLabel => '製品ID'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => 'お支払いを処理できませんでした'; + + @override + String get errorProcessDonationSubtitle => '支払いに問題が発生しました。\nもう一度お試しください。'; + + @override + String get errorProcessDonationRetryButton => '再試行'; + + @override + String get processingDonationTitle => '支払い処理中'; + + @override + String get processingDonationStripeSubtitle => + 'Stripeの安全なチェックアウトページでご購入を完了します.'; + + @override + String get perWeek => '/ 週'; + + @override + String get perYear => '/ 年'; + + @override + String get premiumMostPopularRibbon => '最も人気'; + + @override + String get premiumCloseTooltip => '閉じる'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'プレミアムで得られるもの:'; + + @override + String get premiumFeatureAdFree => '広告なしの相談'; + + @override + String get premiumFeatureFasterReplies => 'より速い返信'; + + @override + String get premiumFeatureEarlyAccess => '新機能への早期アクセス'; + + @override + String get premiumPricePerWeek => '/週'; + + @override + String get premiumCancelAnytime => 'いつでもキャンセルできます。コミットメントはありません。'; + + @override + String get premiumLimitedTimeBadge => '期間限定'; + + @override + String get premiumAutoRenewsConsent => + '毎週自動更新されます。設定でいつでもキャンセルできます。続行することで、利用規約および

プライバシーポリシー

に同意したことになります。'; + + @override + String get premiumContinueButton => '🎁 プレミアムで続ける'; + + @override + String get premiumSupportMessage => '💚 あなたのサポートがケアのアクセスを維持します'; + + @override + String get subscriptionLoginRequiredError => '購入を完了するにはサインアップまたはログインしてください。'; +} diff --git a/example/lib/src/generated/pay/pay_localization_kk.dart b/example/lib/src/generated/pay/pay_localization_kk.dart new file mode 100644 index 0000000..2d1027f --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_kk.dart @@ -0,0 +1,247 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kazakh (`kk`). +class PayLocalizationKk extends PayLocalization { + PayLocalizationKk([String locale = 'kk']) : super(locale); + + @override + String get exampleButton => 'Түйме мысалы'; + + @override + String get donationYesItsAllGoodButton => 'Иә, бәрі жақсы!'; + + @override + String get everyContributionHealsTitle => 'Әрбір үлес емдейді!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Сіздің үлесіңіз басқаларға тегін кеңес алуға көмектеседі.'; + + @override + String get payWhatFeelsRightLabel => 'Дұрыс деп есептегеніңізді төлеңіз'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'немесе басқалардың бергені үшін Doctorina-ны тегін пайдалануды жалғастырыңыз.'; + + @override + String get oneTimeLabel => 'Бір рет'; + + @override + String get monthlyLabel => 'Ай сайынғы'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Ай сайынғы қайырымдылық мөлшерін таңдаңыз'; + + @override + String get subscriptionNoAmount => + 'Сіз ай сайынғы жоспарға жазылуға дайынсыз.'; + + @override + String subscriptionAmount(String amount) { + return '$amount/айына арналған айлық жоспарға жазыласыз.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Төлем сатып алу расталған кезде сіздің шотыңызға алынады. Жазылым әр ай сайын автоматты түрде жаңартылады, егер ағымдағы кезеңнің аяқталуына 24 сағат қалғанда автоматты жаңартуды өшірмесеңіз. Сіз кез келген уақытта өзіңіздің есептік жазбаңыздың параметрлерінде жазылымыңызды басқара аласыз немесе тоқтата аласыз. Алға қарай отырып, сіз біздің $termsOfService және $privacyPolicy келісесіз.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Біржолғы қайырымдылық сомасын таңдаңыз'; + + @override + String get mostPeopleGiveHint => 'Көптеген адамдар \$7–\$15 береді'; + + @override + String get selectCurrencyTooltip => 'Валютаны таңдаңыз'; + + @override + String get processingPaymentSemantics => 'Төлемді өңдеу'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Біржолғы төлемді өңдеу $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return '$amount сом мөлшеріндегі ай сайынғы төлемді өңдеу'; + } + + @override + String get thankYouTitle => 'Рахмет!'; + + @override + String get thankYouSubtitle => + 'Енді тағы да көп адамдар тегін кеңес алады — сіздің қолдауыңыз шын мәнінде бағасыз.'; + + @override + String get youContributedLabel => 'Сіз үлес қостыңыз:'; + + @override + String get perMonth => '/ ай'; + + @override + String get returnToTheMainScreenButton => 'Негізгі экранға оралу'; + + @override + String get termsOfServiceLabel => 'Қызмет көрсету шарттары'; + + @override + String get privacyPolicyLabel => 'Жеке деректерді қорғау саясаты'; + + @override + String get donateButton => 'Қаржы аудару'; + + @override + String get subscriptionStatusActiveLabel => 'Белсенді'; + + @override + String get subscriptionStatusCanceledLabel => 'Бас тартылды'; + + @override + String get subscriptionStatusPausedLabel => 'Тоқтатылды'; + + @override + String get subscriptionStatusPendingLabel => 'Күтілуде'; + + @override + String get subscriptionStatusCreatedLabel => 'Жасалды'; + + @override + String get subscriptionStatusTimeoutLabel => 'Уақыт аяқталды'; + + @override + String get subscriptionStatusUnknownLabel => 'Белгісіз'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina серіктесі'; + + @override + String get subscriptionRenews => 'Жаңартады'; + + @override + String get subscriptionCancelButton => 'Жазылымды тоқтату'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Сіз сенімдісіз бе?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Сіздің ай сайынғы қолдауыңыз Doctorina-ны оған тәуелді, бірақ төлей алмайтын адамдар үшін тегін ұстап тұрады.\n\nСіздің жазылымыңыз ай сайын кемінде 10 тегін консультацияны қаржыландырады.\nЕгер сіз кетсеңіз, аз науқастар қажетті көмекті ала алмайды.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Жазылымды сақтау'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Әрине, тоқтатыңыз'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Сіздің ай сайынғы қолдауыңыз сәтті тоқтатылды.'; + + @override + String get subscriptionMalformed => 'Жазылым деректері дұрыс емес'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Ай сайынғы қолдау үшін тіркеліңіз, ол мұнда пайда болады.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Әлі жазылымдар жоқ'; + + @override + String get subscriptionCreatedAtDateLabel => 'Жазылу күні'; + + @override + String get subscriptionExpiresAtDateLabel => 'Мерзімі аяқталады'; + + @override + String get subscriptionSubscriptionIdLabel => 'Жазылым ID'; + + @override + String get subscriptionProductIdLabel => 'Өнім идентификаторы'; + + @override + String get subscriptionDialogOkButton => 'Жақсы'; + + @override + String get errorProcessDonationTitle => + 'Біз сіздің төлеміңізді өңдей алмадық'; + + @override + String get errorProcessDonationSubtitle => + 'Төлеммен байланысты бір нәрсе дұрыс емес. Қайтадан әрекет етіп көріңіз.'; + + @override + String get errorProcessDonationRetryButton => 'Қайтадан әрекет етіңіз'; + + @override + String get processingDonationTitle => 'Төлемді өңдеу'; + + @override + String get processingDonationStripeSubtitle => + 'Сіз Stripe-тың қауіпсіз төлем бетінде сатып алуыңызды аяқтайсыз.'; + + @override + String get perWeek => '/ апта'; + + @override + String get perYear => '/ жыл'; + + @override + String get premiumMostPopularRibbon => 'Ең танымал'; + + @override + String get premiumCloseTooltip => 'Жабу'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Премиуммен не алатыныңыз:'; + + @override + String get premiumFeatureAdFree => 'Жарнамасыз консультациялар'; + + @override + String get premiumFeatureFasterReplies => 'Жылдам жауаптар'; + + @override + String get premiumFeatureEarlyAccess => + 'Жаңа мүмкіндіктерге ерте қол жеткізу'; + + @override + String get premiumPricePerWeek => '/апта'; + + @override + String get premiumCancelAnytime => + 'Кез келген уақытта тоқтата аласыз. Міндеттеме жоқ.'; + + @override + String get premiumLimitedTimeBadge => 'ШЕКТЕУЛІ УАҚЫТ'; + + @override + String get premiumAutoRenewsConsent => + 'Аптасына бір рет автоматты түрде жаңартылады. Орнатуларда кез келген уақытта тоқтата аласыз. Жалғастыра отырып, сіз біздің Шарттарымызға және

Құпиялылық саясатымызға

келісесіз.'; + + @override + String get premiumContinueButton => '🎁 Премиуммен жалғастыру'; + + @override + String get premiumSupportMessage => + '💚 Сіздің қолдауыңыз күтімді қолжетімді етеді'; + + @override + String get subscriptionLoginRequiredError => + 'Сатып алуды аяқтау үшін тіркеліңіз немесе кіріңіз.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_km.dart b/example/lib/src/generated/pay/pay_localization_km.dart new file mode 100644 index 0000000..6e3faf2 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_km.dart @@ -0,0 +1,243 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Khmer Central Khmer (`km`). +class PayLocalizationKm extends PayLocalization { + PayLocalizationKm([String locale = 'km']) : super(locale); + + @override + String get exampleButton => 'ឧទាហរណ៍ប៊ូតុង'; + + @override + String get donationYesItsAllGoodButton => 'បាទ វាធ្វើឱ្យគ្រប់យ៉ាងល្អ!'; + + @override + String get everyContributionHealsTitle => 'ការបរិច្ចាគរាល់យ៉ាងគឺជាសុខភាព!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'ការរួមចំណែករបស់អ្នកជួយផ្តល់ប្រាក់ចំណេញសម្រាប់ការប្រឹក្សាដោយឥតគិតថ្លៃសម្រាប់អ្នកដទៃដែលត្រូវការនោះ។'; + + @override + String get payWhatFeelsRightLabel => 'បង់អ្វីដែលមានអារម្មណ៍ត្រឹមត្រូវ,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'ឬរក្សាអោយប្រើDoctorina ដោយឥតគិតថ្លៃ សូមអរគុណដល់អ្នកដទៃដែលបានជ្រើសរើសឲ្យ'; + + @override + String get oneTimeLabel => 'មួយដង'; + + @override + String get monthlyLabel => 'ប្រចាំខែ'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'ជ្រើសរើសចំនួនការបរិច្ចាគប្រចាំខែ'; + + @override + String get subscriptionNoAmount => + 'អ្នកកំពុងតែចុះឈ្មោះសម្រាប់ផែនការប្រចាំខែ។'; + + @override + String subscriptionAmount(String amount) { + return 'អ្នកកំពុងជាវផែនការប្រចាំខែសម្រាប់ $amount/ខែ។'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'ការទូទាត់នឹងត្រូវគេគិតថ្លៃទៅកាន់គណនីរបស់អ្នកនៅពេលដែលបានបញ្ជាក់ការទិញ។ ការជាវនឹងត្រូវបានធ្វើឡើងដោយស្វ័យប្រវត្តិរៀងរាល់ខែ បើមិនមានការបិទការធ្វើឡើងដោយស្វ័យប្រវត្តិយ៉ាងហោចណាស់ 24 ម៉ោងមុនចុងបញ្ចប់រយៈពេលបច្ចុប្បន្ន។ អ្នកអាចគ្រប់គ្រងឬបោះបង់ការជាវរបស់អ្នកនៅក្នុងការកំណត់គណនីរបស់អ្នក។ ដោយបន្ត អ្នកយល់ព្រមទៅនឹង $termsOfService និង $privacyPolicy។'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'ជ្រើសរើសចំនួនបរិច្ចាគមួយដង'; + + @override + String get mostPeopleGiveHint => 'មនុស្សភាគច្រើនផ្តល់ \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'ជ្រើសរើសរូបិយវត្ថុ'; + + @override + String get processingPaymentSemantics => 'កំពុងដំណើរការបង់ប្រាក់'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'កំពុងដំណើរការបង់ប្រាក់មួយដង $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'កំពុងដំណើរការការទូទាត់ប្រចាំខែ $amount'; + } + + @override + String get thankYouTitle => 'សូមអរគុណ!'; + + @override + String get thankYouSubtitle => + 'ឥឡូវនេះមនុស្សច្រើនទៀតនឹងទទួលបានការប្រឹក្សាដោយឥតគិតថ្លៃ — ការគាំទ្ររបស់អ្នកមានតម្លៃពិតៗ។'; + + @override + String get youContributedLabel => 'អ្នកបានចូលរួម:'; + + @override + String get perMonth => '/ ខែ'; + + @override + String get returnToTheMainScreenButton => 'ត្រឡប់ទៅអេក្រង់សំខាន់'; + + @override + String get termsOfServiceLabel => 'លក្ខខណ្ឌនៃសេវាកម្ម'; + + @override + String get privacyPolicyLabel => 'គោលការណ៍ឯកជនភាព'; + + @override + String get donateButton => 'បរិច្ចាគ'; + + @override + String get subscriptionStatusActiveLabel => 'សកម្ម'; + + @override + String get subscriptionStatusCanceledLabel => 'បានបោះបង់'; + + @override + String get subscriptionStatusPausedLabel => 'បានបញ្ឈប់'; + + @override + String get subscriptionStatusPendingLabel => 'កំពុងរង់ចាំ'; + + @override + String get subscriptionStatusCreatedLabel => 'បានបង្កើត'; + + @override + String get subscriptionStatusTimeoutLabel => 'ពេលវេលាដំណើរការ'; + + @override + String get subscriptionStatusUnknownLabel => 'មិនដឹង'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina contributor'; + + @override + String get subscriptionRenews => 'កំណត់ឡើងវិញ'; + + @override + String get subscriptionCancelButton => 'បោះបង់ការជាវ'; + + @override + String get subscriptionAreYouSureDialogTitle => 'តើអ្នកប្រាកដទេ?'; + + @override + String get subscriptionAreYouSureDialogText => + 'ការគាំទ្រប្រចាំខែរបស់អ្នករក្សា Doctorina ឱ្យឥតគិតថ្លៃសម្រាប់មនុស្សដែលពឹងផ្អែកលើវា ប៉ុន្តែមិនអាចបង់ប្រាក់បានទេ។\n\nការបញ្ជាទិញរបស់អ្នកផ្តល់ថវិកាសម្រាប់ការពិគ្រោះយោបល់ឥតគិតថ្លៃយ៉ាងហោចណាស់ 10 ការពិគ្រោះក្នុងមួយខែ។\nប្រសិនបើអ្នកចាកចេញ អ្នកជំងឺតិចជាងនឹងទទួលបានជំនួយដែលពួកគេត្រូវការ។'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'រក្សាអាណត្តិ'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'បោះបង់ទៅវិញ'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'ការគាំទ្រប្រចាំខែរបស់អ្នកត្រូវបានបោះបង់ដោយជោគជ័យ'; + + @override + String get subscriptionMalformed => 'ទិន្នន័យការជាវមិនត្រឹមត្រូវ'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'ចុះឈ្មោះសម្រាប់ការគាំទ្រប្រចាំខែដើម្បីឱ្យវាបង្ហាញនៅទីនេះ។'; + + @override + String get subscriptionNoSubscriptionsYet => 'មិនមានការបញ្ជាទិញទេ'; + + @override + String get subscriptionCreatedAtDateLabel => 'ថ្ងៃបង្កើតការជាវ'; + + @override + String get subscriptionExpiresAtDateLabel => 'Expires'; + + @override + String get subscriptionSubscriptionIdLabel => 'លេខសម្គាល់ការជាវ'; + + @override + String get subscriptionProductIdLabel => 'លេខសម្គាល់ផលិតផល'; + + @override + String get subscriptionDialogOkButton => 'យល់ព្រម'; + + @override + String get errorProcessDonationTitle => 'យើងមិនអាចបន្តការទូទាត់របស់អ្នកបានទេ'; + + @override + String get errorProcessDonationSubtitle => + 'មានបញ្ហាដែលមិនបានសម្រេចជាមួយការទូទាត់។ សូមព្យាយាមម្តងទៀត។'; + + @override + String get errorProcessDonationRetryButton => 'Retry'; + + @override + String get processingDonationTitle => 'កំពុងដំណើរការបង់ប្រាក់'; + + @override + String get processingDonationStripeSubtitle => + 'អ្នកនឹងបញ្ចប់ការទិញរបស់អ្នកនៅលើទំព័រទិញទំនិញសុវត្ថិភាពរបស់ Stripe។'; + + @override + String get perWeek => '/ សប្តាហ៍'; + + @override + String get perYear => '/ ឆ្នាំ'; + + @override + String get premiumMostPopularRibbon => 'ពេញនិយមបំផុត'; + + @override + String get premiumCloseTooltip => 'បិទ'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'អ្វីដែលអ្នកទទួលបានជាមួយ Premium:'; + + @override + String get premiumFeatureAdFree => 'ការពិគ្រោះយោបល់ដោយគ្មានពាណិជ្ជកម្ម'; + + @override + String get premiumFeatureFasterReplies => 'ការឆ្លើយតបលឿន'; + + @override + String get premiumFeatureEarlyAccess => 'ការចូលដំណើរការថ្មី'; + + @override + String get premiumPricePerWeek => '/សប្តាហ៍'; + + @override + String get premiumCancelAnytime => 'បោះបង់បានគ្រប់ពេល។ គ្មានការប្តេជ្ញា។'; + + @override + String get premiumLimitedTimeBadge => 'ពេលវេលាមានកំណត់'; + + @override + String get premiumAutoRenewsConsent => + 'អាចធ្វើការបន្តដោយស្វ័យប្រវត្តិរៀងរាល់សប្តាហ៍។ បោះបង់បានគ្រប់ពេលនៅក្នុងការកំណត់។ ដោយបន្ត អ្នកយល់ព្រមទៅនឹង ល័ក្ខខ័ណ្ឌ និង

គោលការណ៍ឯកជន

។'; + + @override + String get premiumContinueButton => '🎁 បន្តជាមួយ Premium'; + + @override + String get premiumSupportMessage => + '💚 ការគាំទ្ររបស់អ្នកជួយរក្សាឱ្យការថែទាំអាចចូលដំណើរការ'; + + @override + String get subscriptionLoginRequiredError => + 'សូមចុះឈ្មោះឬចូលប្រើដើម្បីបញ្ចប់ការទិញ។'; +} diff --git a/example/lib/src/generated/pay/pay_localization_kn.dart b/example/lib/src/generated/pay/pay_localization_kn.dart new file mode 100644 index 0000000..0893409 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_kn.dart @@ -0,0 +1,247 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kannada (`kn`). +class PayLocalizationKn extends PayLocalization { + PayLocalizationKn([String locale = 'kn']) : super(locale); + + @override + String get exampleButton => 'ಬಟನ್ ಉದಾಹರಣೆ'; + + @override + String get donationYesItsAllGoodButton => 'ಹೌದು, ಎಲ್ಲವೂ ಚೆನ್ನಾಗಿದೆ!'; + + @override + String get everyContributionHealsTitle => 'ಪ್ರತಿ ಕೊಡುಗೆ ಗುಣಮುಖವಾಗಿಸುತ್ತದೆ!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'ನಿಮ್ಮ ಕೊಡುಗೆ ಇತರರಿಗೆ ಉಚಿತ ಸಲಹೆಗಳನ್ನು ನೀಡಲು ನೆರವಾಗುತ್ತದೆ.'; + + @override + String get payWhatFeelsRightLabel => 'ನೀವು ಅನುಭವಿಸುವುದನ್ನು ಪಾವತಿಸಿ,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'ಅಥವಾ ಇತರರು ನೀಡಲು ಆಯ್ಕೆ ಮಾಡಿದ ಕಾರಣದಿಂದ ಡಾಕ್ಟರಿನಾ ಅನ್ನು ಉಚಿತವಾಗಿ ಬಳಸುತ್ತಿರಿ.'; + + @override + String get oneTimeLabel => 'ಒಮ್ಮೆ'; + + @override + String get monthlyLabel => 'ಮಾಸಿಕ'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'ತಿಂಗಳ ದಾನದ ಮೊತ್ತವನ್ನು ಆಯ್ಕೆಮಾಡಿ'; + + @override + String get subscriptionNoAmount => + 'ನೀವು ಮಾಸಿಕ ಯೋಜನೆಗೆ ಚಂದಾ ನೀಡಲು ಹೋಗುತ್ತಿದ್ದೀರಿ.'; + + @override + String subscriptionAmount(String amount) { + return 'ನೀವು $amount/ತಿಂಗಳು ಮಾಸಿಕ ಯೋಜನೆಗೆ ಚಂದಾ ನೀಡುತ್ತಿದ್ದೀರಿ.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'ಖರೀದಿಯ ದೃಢೀಕರಣದಾಗೆ ನಿಮ್ಮ ಖಾತೆಗೆ ಪಾವತಿ ವಿಧಿಸಲಾಗುತ್ತದೆ. ಚಂದಾ ಪ್ರತಿ ತಿಂಗಳು ಸ್ವಯಂ-ನವೀಕರಣವಾಗುತ್ತದೆ, ಪ್ರಸ್ತುತ ಅವಧಿಯ ಕೊನೆಯಿಂದ ಕನಿಷ್ಠ 24 ಗಂಟೆಗಳ ಹಿಂದೆ ಸ್ವಯಂ-ನವೀಕರಣವನ್ನು ನಿಲ್ಲಿಸದಿದ್ದರೆ. ನೀವು ಯಾವಾಗಲೂ ನಿಮ್ಮ ಖಾತೆ ಸೆಟಿಂಗ್‌ಗಳಲ್ಲಿ ನಿಮ್ಮ ಚಂದಾವನ್ನು ನಿರ್ವಹಿಸಬಹುದು ಅಥವಾ ರದ್ದು ಮಾಡಬಹುದು. ಮುಂದುವರಿಯುವ ಮೂಲಕ, ನೀವು ನಮ್ಮ $termsOfService ಮತ್ತು $privacyPolicy ಗೆ ಒಪ್ಪುತ್ತೀರಿ.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'ಒಂದು ಬಾರಿ ದಾನದ ಮೊತ್ತವನ್ನು ಆಯ್ಕೆಮಾಡಿ'; + + @override + String get mostPeopleGiveHint => '\$7–\$15 ಅನ್ನು ಬಹಳಷ್ಟು ಜನ ನೀಡುತ್ತಾರೆ'; + + @override + String get selectCurrencyTooltip => 'ನಗದು ಆಯ್ಕೆ ಮಾಡಿ'; + + @override + String get processingPaymentSemantics => 'ಪಾವತಿ ಪ್ರಕ್ರಿಯೆ'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'ಒಮ್ಮೆ ಮಾತ್ರದ ಪಾವತಿಯನ್ನು $currency $amount ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತಿದೆ'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return '$amount ನ ಮಾಸಿಕ ಪಾವತಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತಿದೆ'; + } + + @override + String get thankYouTitle => 'ಧನ್ಯವಾದಗಳು!'; + + @override + String get thankYouSubtitle => + 'ಈಗ ಹೆಚ್ಚು ಜನರು ಉಚಿತ ಸಲಹೆ ಪಡೆಯುತ್ತಾರೆ — ನಿಮ್ಮ ಬೆಂಬಲ ಅತ್ಯಂತ ಅಮೂಲ್ಯವಾಗಿದೆ.'; + + @override + String get youContributedLabel => 'ನೀವು ಕೊಡುಗೆ ನೀಡಿದ್ದೀರಿ:'; + + @override + String get perMonth => '/ ತಿಂಗಳು'; + + @override + String get returnToTheMainScreenButton => 'ಪ್ರಮುಖ ಪರದೆಗೆ ಹಿಂತಿರುಗಿ'; + + @override + String get termsOfServiceLabel => 'ಸೇವಾ ಶರತ್ತುಗಳು'; + + @override + String get privacyPolicyLabel => 'ಗೋಪ್ಯತಾ ನೀತಿ'; + + @override + String get donateButton => 'ದಾನ ಮಾಡಿ'; + + @override + String get subscriptionStatusActiveLabel => 'ಸಕ್ರಿಯ'; + + @override + String get subscriptionStatusCanceledLabel => 'ರದ್ದು ಮಾಡಲಾಗಿದೆ'; + + @override + String get subscriptionStatusPausedLabel => 'ನಿಲ್ಲಿಸಲಾಗಿದೆ'; + + @override + String get subscriptionStatusPendingLabel => 'ಬಾಕಿ'; + + @override + String get subscriptionStatusCreatedLabel => 'ಸೃಷ್ಟಿಸಲಾಗಿದೆ'; + + @override + String get subscriptionStatusTimeoutLabel => 'ಕಾಲಾವಧಿ ಮುಗಿಯಿತು'; + + @override + String get subscriptionStatusUnknownLabel => 'ಅಜ್ಞಾತ'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina ಕೊಡುಗೈ'; + + @override + String get subscriptionRenews => 'ಪುನರಾರಂಭ'; + + @override + String get subscriptionCancelButton => 'ಚಂದಾ ರದ್ದುಪಡಿಸಿ'; + + @override + String get subscriptionAreYouSureDialogTitle => 'ನೀವು ಖಚಿತವಾಗಿದ್ದೀರಾ?'; + + @override + String get subscriptionAreYouSureDialogText => + 'ನಿಮ್ಮ ಮಾಸಿಕ ಬೆಂಬಲವು ಡಾಕ್ಟರಿನಾವನ್ನು ಉಚಿತವಾಗಿ ಬಳಸುವವರಿಗೆ, ಆದರೆ ಪಾವತಿಸಲು ಸಾಧ್ಯವಾಗದವರಿಗೆ, ಉಚಿತವಾಗಿರಿಸುತ್ತದೆ.\n\nನಿಮ್ಮ ಚಂದಾ ಪ್ರತಿ ತಿಂಗಳು ಕನಿಷ್ಠ 10 ಉಚಿತ ಸಲಹೆಗಳನ್ನು ಹಣಕಾಸು ಮಾಡುತ್ತದೆ.\nನೀವು ಹೊರಹೋಗಿದರೆ, ಹೆಚ್ಚು ರೋಗಿಗಳಿಗೆ ಅಗತ್ಯವಿರುವ ಸಹಾಯವನ್ನು ಪಡೆಯಲು ಕಷ್ಟವಾಗುತ್ತದೆ.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'ಚಂದಾ ಮುಂದುವರಿಯಿರಿ'; + + @override + String get subscriptionAreYouSureDialogCancelButton => + 'ಇನ್ನು ಮುಂದೆ ರದ್ದುಪಡಿಸಿ'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'ನಿಮ್ಮ ಮಾಸಿಕ ಬೆಂಬಲ ಯಶಸ್ವಿಯಾಗಿ ರದ್ದು ಮಾಡಲಾಗಿದೆ.'; + + @override + String get subscriptionMalformed => 'ತಪ್ಪಾದ ಚಂದಾ ಡೇಟಾ'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'ಮಾಸಿಕ ಬೆಂಬಲಕ್ಕಾಗಿ ನೋಂದಣಿ ಮಾಡಿ ಇದನ್ನು ಇಲ್ಲಿ ತೋರಿಸಲು.'; + + @override + String get subscriptionNoSubscriptionsYet => 'ಇನ್ನೂ ಯಾವುದೇ ಚಂದಾ ಇಲ್ಲ'; + + @override + String get subscriptionCreatedAtDateLabel => 'ಚಂದಾ ದಿನಾಂಕ'; + + @override + String get subscriptionExpiresAtDateLabel => 'ಅವಧಿ ಮುಗಿಯುತ್ತದೆ'; + + @override + String get subscriptionSubscriptionIdLabel => 'ಚಂದಾ ಐಡಿ'; + + @override + String get subscriptionProductIdLabel => 'ಉತ್ಪನ್ನ ಐಡಿ'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'ನಾವು ನಿಮ್ಮ ಪಾವತಿಯನ್ನು ಮುಂದುವರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ'; + + @override + String get errorProcessDonationSubtitle => + 'ಪಾವತಿಯಲ್ಲಿ ಏನಾದರೂ ತಪ್ಪಾಗಿದೆ. ದಯವಿಟ್ಟು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.'; + + @override + String get errorProcessDonationRetryButton => 'ಮರು ಪ್ರಯತ್ನಿಸಿ'; + + @override + String get processingDonationTitle => 'ಪಾವತಿ ಪ್ರಕ್ರಿಯೆ'; + + @override + String get processingDonationStripeSubtitle => + 'ನೀವು ಸ್ಟ್ರೈಪ್‌ನ ಸುರಕ್ಷಿತ ಚೆಕ್‌ಔಟ್ ಪುಟದಲ್ಲಿ ನಿಮ್ಮ ಖರೀದಿಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತೀರಿ.'; + + @override + String get perWeek => '/ ವಾರ'; + + @override + String get perYear => '/ ವರ್ಷ'; + + @override + String get premiumMostPopularRibbon => 'ಅತ್ಯಂತ ಜನಪ್ರಿಯ'; + + @override + String get premiumCloseTooltip => 'ಮುಚ್ಚಿ'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'ಪ್ರೀಮಿಯಂನೊಂದಿಗೆ ನೀವು ಏನು ಪಡೆಯುತ್ತೀರಿ:'; + + @override + String get premiumFeatureAdFree => 'ಜಾಹೀರಾತು ಇಲ್ಲದ ಸಲಹೆಗಳು'; + + @override + String get premiumFeatureFasterReplies => 'ವೇಗದ ಉತ್ತರಗಳು'; + + @override + String get premiumFeatureEarlyAccess => 'ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳಿಗೆ ಮುಂಚಿನ ಪ್ರವೇಶ'; + + @override + String get premiumPricePerWeek => '/ವಾರ'; + + @override + String get premiumCancelAnytime => + 'ಯಾವಾಗ ಬೇಕಾದರೂ ರದ್ದುಪಡಿಸಬಹುದು. ಯಾವುದೇ ಬದ್ಧತೆ ಇಲ್ಲ.'; + + @override + String get premiumLimitedTimeBadge => 'ಕಾಲ ಮಿತಿಯ'; + + @override + String get premiumAutoRenewsConsent => + 'ಆಟೋ-ನವೀಕರಣ ವಾರಕ್ಕೆ ಒಮ್ಮೆ. ಸೆಟಿಂಗ್‌ಗಳಲ್ಲಿ ಯಾವಾಗಲಾದರೂ ರದ್ದುಪಡಿಸಬಹುದು. ಮುಂದುವರಿಯುವ ಮೂಲಕ, ನೀವು ನಮ್ಮ ನಿಯಮಗಳು ಮತ್ತು

ಗೋಪ್ಯತಾ ನೀತಿ

ಗೆ ಒಪ್ಪುತ್ತೀರಿ.'; + + @override + String get premiumContinueButton => '🎁 ಪ್ರೀಮಿಯಮ್ ಜೊತೆಗೆ ಮುಂದುವರಿಯಿರಿ'; + + @override + String get premiumSupportMessage => + '💚 ನಿಮ್ಮ ಬೆಂಬಲವು ಆರೈಕೆವನ್ನು ಲಭ್ಯವಾಗಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ'; + + @override + String get subscriptionLoginRequiredError => + 'ದಯವಿಟ್ಟು ಖರೀದಿಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಸೈನ್ ಅಪ್ ಅಥವಾ ಲಾಗ್ ಇನ್ ಮಾಡಿ'; +} diff --git a/example/lib/src/generated/pay/pay_localization_ko.dart b/example/lib/src/generated/pay/pay_localization_ko.dart index cf317f9..c3923c5 100644 --- a/example/lib/src/generated/pay/pay_localization_ko.dart +++ b/example/lib/src/generated/pay/pay_localization_ko.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'pay_localization.dart'; class PayLocalizationKo extends PayLocalization { PayLocalizationKo([String locale = 'ko']) : super(locale); - @override - String get title => '지불'; - @override String get exampleButton => '버튼 예시'; @@ -20,46 +17,46 @@ class PayLocalizationKo extends PayLocalization { String get donationYesItsAllGoodButton => '네, 다 괜찮아요!'; @override - String get everyContributionHealsTitle => '모든 기여는 치유를 가져다줍니다!'; + String get everyContributionHealsTitle => '모든 기여가 치유됩니다!'; @override String get ifThisHelpedYouConsiderSupportingSubtitle => - '귀하의 기부금은 도움이 필요한 다른 사람들에게 무료 상담을 제공하는 데 도움이 됩니다.'; + '여러분의 기여는 도움이 필요한 사람들에게 무료 상담을 제공하는 데 도움을 줍니다.'; @override - String get payWhatFeelsRightLabel => '옳다고 생각되는 금액을 지불하세요.'; + String get payWhatFeelsRightLabel => '적당하다고 느끼는 만큼 지불하세요,'; @override String get orKeepUsingDoctorinaForFreeLabel => - '또는 다른 사람들이 기부를 선택했기 때문에 Doctorina를 계속 무료로 사용할 수 있습니다.'; + '또는 기부를 선택한 다른 사람들 덕분에 Doctorina를 무료로 계속 사용하세요'; @override String get oneTimeLabel => '일회성'; @override - String get monthlyLabel => '월간 간행물'; + String get monthlyLabel => '매월'; @override - String get chooseMonthlyDonationAmountLabel => '월 기부 금액을 선택하세요'; + String get chooseMonthlyDonationAmountLabel => '매월 기부 금액 선택'; @override - String get subscriptionNoAmount => '월간 요금제를 구독하려고 합니다.'; + String get subscriptionNoAmount => '귀하는 월간 플랜을 구독하려고 합니다.'; @override String subscriptionAmount(String amount) { - return '$amount/월에 월간 요금제를 구독하고 있습니다.'; + return '당신은 $amount/월의 월간 플랜을 구독하고 있습니다'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return '구매 확인 시 계정으로 요금이 청구됩니다. 현재 구독 기간 종료 최소 24시간 전에 자동 갱신을 해제하지 않으면 구독은 매달 자동으로 갱신됩니다. 계정 설정에서 언제든지 구독을 관리하거나 취소할 수 있습니다. 계속 진행하시면 $termsOfService 및 $privacyPolicy에 동의하는 것으로 간주됩니다.'; + return '구매 확인 시 결제가 계정에서 이루어집니다. 구독은 현재 기간 종료 최소 24시간 전까지 자동 갱신이 꺼지지 않으면 매월 자동으로 갱신됩니다. 계정 설정에서 언제든지 구독을 관리하거나 취소할 수 있습니다. 진행함으로써 귀하는 당사의 $termsOfService 및 $privacyPolicy에 동의하게 됩니다.'; } @override - String get chooseOneTimeDonationAmountLabel => '일회 기부 금액을 선택하세요'; + String get chooseOneTimeDonationAmountLabel => '일회성 기부 금액 선택'; @override - String get mostPeopleGiveHint => '대부분의 사람들은 \$7~\$15를 기부합니다.'; + String get mostPeopleGiveHint => '대부분은 \$7–\$15 줍니다'; @override String get selectCurrencyTooltip => '통화 선택'; @@ -69,12 +66,12 @@ class PayLocalizationKo extends PayLocalization { @override String processingOneTimePaymentSemantics(String currency, String amount) { - return '$currency $amount의 일회성 결제 처리 중'; + return '일회성 결제 $currency $amount 처리 중'; } @override String processingMonthlyPaymentSemantics(String amount) { - return '$amount의 월별 지불 처리 중'; + return '월별 결제 $amount 처리 중'; } @override @@ -82,10 +79,10 @@ class PayLocalizationKo extends PayLocalization { @override String get thankYouSubtitle => - '이제 더 많은 사람들이 무료 상담을 받게 될 것입니다. 여러분의 지원은 정말 귀중합니다.'; + '이제 더 많은 사람들이 무료 상담을 받게 됩니다 — 당신의 지원은 정말 귀중합니다.'; @override - String get youContributedLabel => '귀하의 기여:'; + String get youContributedLabel => '기여하셨습니다:'; @override String get perMonth => '/ 월'; @@ -94,7 +91,7 @@ class PayLocalizationKo extends PayLocalization { String get returnToTheMainScreenButton => '메인 화면으로 돌아가기'; @override - String get termsOfServiceLabel => '서비스 약관'; + String get termsOfServiceLabel => '이용 약관'; @override String get privacyPolicyLabel => '개인정보 보호정책'; @@ -103,61 +100,58 @@ class PayLocalizationKo extends PayLocalization { String get donateButton => '기부하기'; @override - String get manageSubscriptionTitle => '구독 관리'; + String get subscriptionStatusActiveLabel => '활성'; @override - String get subscriptionStatusActiveLabel => '활동적인'; + String get subscriptionStatusCanceledLabel => '취소됨'; @override - String get subscriptionStatusCanceledLabel => '취소'; + String get subscriptionStatusPausedLabel => '일시정지'; @override - String get subscriptionStatusPausedLabel => '일시 중지됨'; - - @override - String get subscriptionStatusPendingLabel => '보류 중'; + String get subscriptionStatusPendingLabel => '보류중'; @override String get subscriptionStatusCreatedLabel => '생성됨'; @override - String get subscriptionStatusTimeoutLabel => '타임아웃'; + String get subscriptionStatusTimeoutLabel => '시간 초과'; @override - String get subscriptionStatusUnknownLabel => '알려지지 않은'; + String get subscriptionStatusUnknownLabel => '알 수 없음'; @override - String get subscriptionDoctorinaContributor => '닥터리나 기고자'; + String get subscriptionDoctorinaContributor => 'Doctorina 기여자'; @override - String get subscriptionRenews => '갱신하다'; + String get subscriptionRenews => '갱신'; @override String get subscriptionCancelButton => '구독 취소'; @override - String get subscriptionAreYouSureDialogTitle => '정말이에요?'; + String get subscriptionAreYouSureDialogTitle => '정말 확실합니까?'; @override String get subscriptionAreYouSureDialogText => - '월간 후원을 통해 Doctorina를 무료로 이용하실 수 있습니다. 부담스러운 분들을 위해 Doctorina를 무료로 제공해 드립니다.\n\n구독을 통해 매달 최소 10회의 무료 상담을 받으실 수 있습니다.\n구독을 중단하시면 필요한 도움을 받을 수 있는 환자가 줄어들게 됩니다.'; + '매달의 지원 덕분에 Doctorina는 비용을 감당할 수 없는 이용자들에게 무료로 제공됩니다.\n\n구독을 통해 매달 최소 10회의 무료 상담이 지원됩니다.\n구독을 취소하면, 필요한 도움을 받는 환자가 줄어듭니다'; @override String get subscriptionAreYouSureDialogKeepButton => '구독 유지'; @override - String get subscriptionAreYouSureDialogCancelButton => '어쨌든 취소하세요'; + String get subscriptionAreYouSureDialogCancelButton => '그래도 취소'; @override String get subscriptionYourMonthlySupportCanceledNotification => - '월간 지원이\n취소되었습니다.'; + '월간 지원이 성공적으로 취소되었습니다.'; @override String get subscriptionMalformed => '잘못된 구독 데이터'; @override String get subscriptionSignUpForMonthlySupportButton => - '여기에 표시되려면 월별 지원에 가입하세요.'; + '월간 지원에 가입하여 여기에 표시되도록 하세요'; @override String get subscriptionNoSubscriptionsYet => '아직 구독이 없습니다'; @@ -175,21 +169,70 @@ class PayLocalizationKo extends PayLocalization { String get subscriptionProductIdLabel => '제품 ID'; @override - String get subscriptionDialogOkButton => '좋아요'; + String get subscriptionDialogOkButton => '확인'; @override - String get errorProcessDonationTitle => '결제를 진행할 수 없습니다.'; + String get errorProcessDonationTitle => '결제를 처리하지 못했습니다'; @override String get errorProcessDonationSubtitle => '결제 과정에서 문제가 발생했습니다.\n다시 시도해 주세요.'; @override - String get errorProcessDonationRetryButton => '다시 해 보다'; + String get errorProcessDonationRetryButton => '다시 시도'; @override String get processingDonationTitle => '결제 처리 중'; @override String get processingDonationStripeSubtitle => - 'Stripe의 안전한 결제 페이지에서 구매를 완료하세요.'; + 'Stripe의 안전한 결제 페이지에서 구매를 완료합니다.'; + + @override + String get perWeek => '/ 주'; + + @override + String get perYear => '/ 년'; + + @override + String get premiumMostPopularRibbon => '가장 인기 있는'; + + @override + String get premiumCloseTooltip => '닫기'; + + @override + String get premiumTitle => '닥터리나 프리미엄'; + + @override + String get premiumWhatYouGetHeader => '프리미엄으로 얻는 것:'; + + @override + String get premiumFeatureAdFree => '광고 없는 상담'; + + @override + String get premiumFeatureFasterReplies => '더 빠른 응답'; + + @override + String get premiumFeatureEarlyAccess => '새로운 기능에 대한 조기 액세스'; + + @override + String get premiumPricePerWeek => '/주'; + + @override + String get premiumCancelAnytime => '언제든지 취소할 수 있습니다. 약정이 없습니다.'; + + @override + String get premiumLimitedTimeBadge => '한정 시간'; + + @override + String get premiumAutoRenewsConsent => + '매주 자동 갱신됩니다. 설정에서 언제든지 취소할 수 있습니다. 계속 진행하면 약관

개인정보 처리방침

에 동의하는 것입니다.'; + + @override + String get premiumContinueButton => '🎁 프리미엄으로 계속하기'; + + @override + String get premiumSupportMessage => '💚 당신의 지원은 치료를 접근 가능하게 유지하는 데 도움이 됩니다'; + + @override + String get subscriptionLoginRequiredError => '구매를 완료하려면 가입하거나 로그인하세요.'; } diff --git a/example/lib/src/generated/pay/pay_localization_lo.dart b/example/lib/src/generated/pay/pay_localization_lo.dart new file mode 100644 index 0000000..06f9e07 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_lo.dart @@ -0,0 +1,241 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Lao (`lo`). +class PayLocalizationLo extends PayLocalization { + PayLocalizationLo([String locale = 'lo']) : super(locale); + + @override + String get exampleButton => 'ຕົວຢ່າງປຸ່ມ'; + + @override + String get donationYesItsAllGoodButton => 'ແມ່ນ, ທຸກຢ່າງດີ!'; + + @override + String get everyContributionHealsTitle => 'Cada contribución sana!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'ການສະໜອງຂອງທ່ານຊ່ວຍໃຫ້ມີຄໍາແນະນຳຟຣີສໍາລັບຄົນອື່ນ.'; + + @override + String get payWhatFeelsRightLabel => 'Pay what feels right,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'ou continuez à utiliser Doctorina gratuitement, grâce à ceux qui ont choisi de donner.'; + + @override + String get oneTimeLabel => 'ຄັ້ງແທ້'; + + @override + String get monthlyLabel => 'ປະເດັນປະຈໍາເດືອນ'; + + @override + String get chooseMonthlyDonationAmountLabel => 'ເລືອກຈຳນວນການບິນເດືອນ'; + + @override + String get subscriptionNoAmount => 'ທ່ານກຳລັງຈະລົງຄະແນນໃນແຜນປະຈໍາໃດ.'; + + @override + String subscriptionAmount(String amount) { + return 'ທ່ານກຳລັງສະແດງໃນແຜນປະຈໍາເດືອນສໍາລັບ $amount/ເດືອນ.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Payment will be charged to your account at confirmation of purchase. The subscription automatically renews every month unless auto-renew is turned off at least 24 hours before the end of the current period. You can manage or cancel your subscription anytime in your account settings. By proceeding, you agree to our $termsOfService and $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'ເລືອກຈຳນວນການບອກບິນຄັ້ງໃດ'; + + @override + String get mostPeopleGiveHint => 'Most people give \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'ເລືອກເງິນ'; + + @override + String get processingPaymentSemantics => 'ກະຕຸນການຊໍາລະເງິນ'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Processing one-time payment of $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'ກຳລັງປະຕິບັດການຈ່າຍເງິນແບບເດືອນຈິງຂອງ $amount'; + } + + @override + String get thankYouTitle => 'Thank you!'; + + @override + String get thankYouSubtitle => + 'Тепер ще більше людей отримають безкоштовні поради — ваша підтримка справді безцінна.'; + + @override + String get youContributedLabel => 'ທ່ານໄດ້ລົງຄະແນນ:'; + + @override + String get perMonth => '/ tháng'; + + @override + String get returnToTheMainScreenButton => 'ກັບໄປສູ່ໜ້າຫຼັກ'; + + @override + String get termsOfServiceLabel => 'Termini di Servizio'; + + @override + String get privacyPolicyLabel => 'Política de Privacidad'; + + @override + String get donateButton => 'Donate'; + + @override + String get subscriptionStatusActiveLabel => 'Активен'; + + @override + String get subscriptionStatusCanceledLabel => 'ຍົກເລີກ'; + + @override + String get subscriptionStatusPausedLabel => 'Pausu'; + + @override + String get subscriptionStatusPendingLabel => 'ລໍຖໍ່'; + + @override + String get subscriptionStatusCreatedLabel => 'ສ້າງແລ້ວ'; + + @override + String get subscriptionStatusTimeoutLabel => 'Timeout'; + + @override + String get subscriptionStatusUnknownLabel => 'ບໍ່ຮູ້'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina contributor'; + + @override + String get subscriptionRenews => 'Renews'; + + @override + String get subscriptionCancelButton => 'ຍົກເລີກສະມາຊິກ'; + + @override + String get subscriptionAreYouSureDialogTitle => 'ທ່ານແນ່ໃຈບໍ?'; + + @override + String get subscriptionAreYouSureDialogText => + 'ການສະມັກສະມາຊິກຂອງທ່ານຊ່ວຍໃຫ້ Doctorina ສຽງຟຣີສໍາລັບຄົນທີ່ໃຊ້ງານແຕ່ບໍ່ສາມາດຈ່າຍເງິນ. \n\nການສະມັກສະມາຊິກຂອງທ່ານໃຫ້ທຶນສຳລັບບັນດາການປຶກສາຟຣີຢ່າງນໍາສູງສິບຄັ້ງໃນເດືອນ. \n\nຖ້າທ່ານເຂົ້າອອກ, ຄົນເປັນລະບົບຈະໄດ້ຮັບຄວາມຊ່ວຍທີ່ຈິງ.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'ຮັບສະມາຊິກ'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'ຍົກເລີກຢັງ'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Вашата месечна поддръжка е успешно отменена'; + + @override + String get subscriptionMalformed => 'Incorrect subscription data'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Sign up for monthly support to have it appear here.'; + + @override + String get subscriptionNoSubscriptionsYet => 'ບໍ່ມີການສະມັກສະມາດຍັງ'; + + @override + String get subscriptionCreatedAtDateLabel => 'ວັນທີສະຖານທີ່ສະມັກສະມາຊິກ'; + + @override + String get subscriptionExpiresAtDateLabel => 'Expira'; + + @override + String get subscriptionSubscriptionIdLabel => 'ID de suscripción'; + + @override + String get subscriptionProductIdLabel => 'Product ID'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'ຂໍອະໄພ, ບໍ່ສາມາດດຳເນີນການຊຳລະເງິນຂອງທ່ານ'; + + @override + String get errorProcessDonationSubtitle => 'ມີບັດສະພາບກັບການຈ່າຍເງິນ.'; + + @override + String get errorProcessDonationRetryButton => 'ລອງໃໝ່'; + + @override + String get processingDonationTitle => 'ກະຕຸ້ນການຊໍາລະເງິນ'; + + @override + String get processingDonationStripeSubtitle => + 'ທ່ານຈະເລີ່ມການຊື້ສິນຄ້າໃນໜ້າທີ່ຊື້ສິນຄ້າປອນຄວາມປອດໄພຂອງ Stripe.'; + + @override + String get perWeek => '/ week'; + + @override + String get perYear => '/ ປີ'; + + @override + String get premiumMostPopularRibbon => 'ຍອດນິຍົມສູງສຸດ'; + + @override + String get premiumCloseTooltip => 'ປິດ'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'ສິ່ງທີ່ທ່ານໄດ້ຮັບກັບສະຖານະສູງສິນຄ້າ:'; + + @override + String get premiumFeatureAdFree => 'ການປຶກສາບໍ່ມີແບນເຄື່ອງ'; + + @override + String get premiumFeatureFasterReplies => 'ຄຳຕອບທີ່ໄວກວ່າ'; + + @override + String get premiumFeatureEarlyAccess => 'ການເຂົ້າເຖິມໃໝ່ສໍາລັບຄຸນສົມບັດ'; + + @override + String get premiumPricePerWeek => '/week'; + + @override + String get premiumCancelAnytime => 'ຍົກເລີກໃນເວລາໃດກໍ່ໄດ້. ບໍ່ມີຄວາມຜິດຊອບ.'; + + @override + String get premiumLimitedTimeBadge => 'ລະດັບເວລາຈຳກັດ'; + + @override + String get premiumAutoRenewsConsent => + 'ອະນຸຍາດໃຫ້ປ່ອນໃໝ່ທຸກອາທິດ. ຍົກເລີກໃດໆໃນການຕັ້ງຄ່າ. ດໍາເນີນຕໍ່, ທ່ານຍອມຮັບກັບ ເງິນຄ່າ ແລະ

ນະໂບຍານຄວາມສໍາລັບຂໍ້ມູນສ່ວນບຸກຄົນ

.'; + + @override + String get premiumContinueButton => '🎁 ຕິດຕາມກັບສະມາດສະມາດສະມາດສະມາດ'; + + @override + String get premiumSupportMessage => + '💚 ການເສີມເສດທີ່ທໍາໃຫ້ການບໍລິການເຂົ້າເຖິງ'; + + @override + String get subscriptionLoginRequiredError => + 'ກະລຸນາລົງທະບຽນຫຼືເຂົ້າໃຊ້ເພື່ອສົກສິນການຊື້.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_ml.dart b/example/lib/src/generated/pay/pay_localization_ml.dart new file mode 100644 index 0000000..66db91d --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_ml.dart @@ -0,0 +1,250 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malayalam (`ml`). +class PayLocalizationMl extends PayLocalization { + PayLocalizationMl([String locale = 'ml']) : super(locale); + + @override + String get exampleButton => 'ബട്ടൺ ഉദാഹരണം'; + + @override + String get donationYesItsAllGoodButton => 'അതെ, എല്ലാം നല്ലതാണ്!'; + + @override + String get everyContributionHealsTitle => 'പ്രതിയോഗം രോഗം ഭേദമാക്കുന്നു!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'നിങ്ങളുടെ സംഭാവന മറ്റുള്ളവർക്കുള്ള സൗജന്യ ഉപദേശം ഫണ്ടുചെയ്യാൻ സഹായിക്കുന്നു.'; + + @override + String get payWhatFeelsRightLabel => + 'ശരിയായതായി തോന്നുന്നതിന്റെ അടിസ്ഥാനത്തിൽ പണം നൽകുക'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'അല്ലെങ്കിൽ ഡോക്ടറിനയെ സൗജന്യമായി ഉപയോഗിക്കണം, നൽകാൻ തിരഞ്ഞെടുക്കുന്ന മറ്റുള്ളവർക്കു നന്ദി.'; + + @override + String get oneTimeLabel => 'ഒരിക്കൽ'; + + @override + String get monthlyLabel => 'മാസിക'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'മാസിക സംഭാവനയുടെ തുക തിരഞ്ഞെടുക്കുക'; + + @override + String get subscriptionNoAmount => + 'നിങ്ങൾ ഒരു മാസിക പദ്ധതിയിൽ സബ്സ്ക്രൈബ് ചെയ്യാൻ പോകുന്നു.'; + + @override + String subscriptionAmount(String amount) { + return 'നിങ്ങൾ $amount/മാസം എന്ന മാസിക പദ്ധതിക്ക് സബ്സ്ക്രൈബ് ചെയ്യുന്നു.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'കുറഞ്ഞത് 24 മണിക്കൂറുകൾ മുമ്പ് ഓട്ടോ-നവീകരണം ഓഫ് ചെയ്യാത്ത പക്ഷം, വാങ്ങൽ സ്ഥിരീകരണത്തിൽ നിങ്ങളുടെ അക്കൗണ്ടിൽ പണമടയ്ക്കും. സബ്സ്ക്രിപ്ഷൻ ഓരോ മാസവും സ്വയം പുതുക്കുന്നു. നിങ്ങൾക്ക് നിങ്ങളുടെ അക്കൗണ്ട് ക്രമീകരണങ്ങളിൽ എപ്പോഴും നിങ്ങളുടെ സബ്സ്ക്രിപ്ഷൻ കൈകാര്യം ചെയ്യാനും റദ്ദാക്കാനും കഴിയും. മുന്നോട്ട് പോകുന്നതിലൂടെ, നിങ്ങൾ ഞങ്ങളുടെ $termsOfServiceയും $privacyPolicyയും അംഗീകരിക്കുന്നു.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'ഒരിക്കൽ ദാനം നൽകാനുള്ള തുക തിരഞ്ഞെടുക്കുക'; + + @override + String get mostPeopleGiveHint => 'അധികം ആളുകൾ \$7–\$15 നൽകുന്നു'; + + @override + String get selectCurrencyTooltip => 'നാണയം തിരഞ്ഞെടുക്കുക'; + + @override + String get processingPaymentSemantics => 'പണമടയ്ക്കുന്നു'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return '$currency $amount എന്ന ഒരു തവണയുടെ പണമടയ്ക്കൽ പ്രക്രിയ'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return '$amount എന്ന മാസിക പണമടയ്ക്കൽ പ്രോസസ്സ് ചെയ്യുന്നു'; + } + + @override + String get thankYouTitle => 'നന്ദി!'; + + @override + String get thankYouSubtitle => + 'ഇപ്പോൾ കൂടുതൽ ആളുകൾ സൗജന്യ ഉപദേശം ലഭിക്കും — നിങ്ങളുടെ പിന്തുണ വാസ്തവത്തിൽ വിലമതിക്കാനാവാത്തതാണ്.'; + + @override + String get youContributedLabel => 'നിങ്ങൾ സംഭാവന നൽകി:'; + + @override + String get perMonth => '/ മാസം'; + + @override + String get returnToTheMainScreenButton => 'പ്രധാന സ്ക്രീനിലേക്ക് മടങ്ങുക'; + + @override + String get termsOfServiceLabel => 'സേവനത്തിന്റെ നിബന്ധനകൾ'; + + @override + String get privacyPolicyLabel => 'ഗോപ്പനീയത നയം'; + + @override + String get donateButton => 'ദാനം ചെയ്യുക'; + + @override + String get subscriptionStatusActiveLabel => 'സജീവം'; + + @override + String get subscriptionStatusCanceledLabel => 'റദ്ദാക്കപ്പെട്ടു'; + + @override + String get subscriptionStatusPausedLabel => 'നിർത്തിയിരിക്കുന്നു'; + + @override + String get subscriptionStatusPendingLabel => 'പ്രതീക്ഷിച്ച'; + + @override + String get subscriptionStatusCreatedLabel => 'സൃഷ്ടിച്ചു'; + + @override + String get subscriptionStatusTimeoutLabel => 'Timeout'; + + @override + String get subscriptionStatusUnknownLabel => 'അറിയപ്പെടുന്നില്ല'; + + @override + String get subscriptionDoctorinaContributor => 'ഡോക്ടറിനയുടെ സഹയോജകൻ'; + + @override + String get subscriptionRenews => 'പുനരാവൃത്തി'; + + @override + String get subscriptionCancelButton => 'സബ്സ്ക്രിപ്ഷൻ റദ്ദാക്കുക'; + + @override + String get subscriptionAreYouSureDialogTitle => 'നിങ്ങൾ ഉറപ്പാണോ?'; + + @override + String get subscriptionAreYouSureDialogText => + 'നിങ്ങളുടെ മാസിക പിന്തുണ ഡോക്ടറിനയെ അവയ്ക്ക് ആശ്രയിക്കുന്ന, പക്ഷേ പണം നൽകാൻ കഴിയാത്ത ആളുകൾക്കായി സൗജന്യമായി നിലനിര്‍ത്തുന്നു. നിങ്ങളുടെ സബ്സ്ക്രിപ്ഷൻ ഓരോ മാസവും കുറഞ്ഞത് 10 സൗജന്യ കൺസൾട്ടേഷനുകൾക്ക് ഫണ്ടിംഗ് നൽകുന്നു. നിങ്ങൾ വിടുകയാണെങ്കിൽ, കുറച്ച് രോഗികൾക്ക് അവർക്ക് ആവശ്യമുള്ള സഹായം ലഭ്യമാകില്ല.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => + 'സബ്സ്ക്രിപ്ഷൻ നിലനിർത്തുക'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'റദ്ദാക്കുക'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'നിങ്ങളുടെ മാസിക പിന്തുണ വിജയകരമായി റദ്ദാക്കപ്പെട്ടു'; + + @override + String get subscriptionMalformed => 'തെറ്റായ സബ്സ്ക്രിപ്ഷൻ ഡാറ്റ'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'മാസിക പിന്തുണയ്ക്കായി സൈൻ അപ്പ് ചെയ്യുക, ഇത് ഇവിടെ പ്രത്യക്ഷപ്പെടാൻ.'; + + @override + String get subscriptionNoSubscriptionsYet => + 'എന്തെങ്കിലും സബ്സ്ക്രിപ്ഷനുകൾ ഇല്ല'; + + @override + String get subscriptionCreatedAtDateLabel => 'സബ്സ്ക്രിപ്ഷൻ തീയതി'; + + @override + String get subscriptionExpiresAtDateLabel => 'കാലാവധി അവസാനിക്കുന്നു'; + + @override + String get subscriptionSubscriptionIdLabel => 'സബ്സ്ക്രിപ്ഷൻ ഐഡി'; + + @override + String get subscriptionProductIdLabel => 'Product ID'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'നിങ്ങളുടെ പണമടയ്ക്കൽ മുന്നോട്ട് കൊണ്ടുപോകാൻ കഴിയുന്നില്ല'; + + @override + String get errorProcessDonationSubtitle => + 'പേയ്മെന്റിൽ എന്തോ തെറ്റായി. ദയവായി വീണ്ടും ശ്രമിക്കുക.'; + + @override + String get errorProcessDonationRetryButton => 'മറുപടി നൽകുക'; + + @override + String get processingDonationTitle => 'പണമടയ്ക്കൽ പ്രോസസ്സ് ചെയ്യുന്നു'; + + @override + String get processingDonationStripeSubtitle => + 'നിങ്ങൾ സ്റ്റ്രൈപ്പിന്റെ സുരക്ഷിതമായ ചെക്ക്‌ഔട്ട് പേജിൽ നിങ്ങളുടെ വാങ്ങൽ പൂർത്തിയാക്കും.'; + + @override + String get perWeek => '/ ആഴ്ച'; + + @override + String get perYear => '/ വർഷം'; + + @override + String get premiumMostPopularRibbon => 'ഏറ്റവും പ്രശസ്തം'; + + @override + String get premiumCloseTooltip => 'അടയ്ക്കുക'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => + 'പ്രീമിയം ഉപയോഗിച്ചാൽ നിങ്ങൾക്ക് ലഭിക്കുന്നതെന്ത്:'; + + @override + String get premiumFeatureAdFree => 'വ്യാപനമില്ലാത്ത ഉപദേശങ്ങൾ'; + + @override + String get premiumFeatureFasterReplies => 'വേഗത്തിലുള്ള മറുപടികൾ'; + + @override + String get premiumFeatureEarlyAccess => + 'പുതിയ ഫീച്ചറുകൾക്ക് നേരത്തെ പ്രവേശനം'; + + @override + String get premiumPricePerWeek => '/ആഴ്ച'; + + @override + String get premiumCancelAnytime => 'എപ്പോഴും റദ്ദാക്കാം. പ്രതിബദ്ധത ഇല്ല.'; + + @override + String get premiumLimitedTimeBadge => 'LIMITED TIME'; + + @override + String get premiumAutoRenewsConsent => + 'ആട്ടോമാറ്റിക് ആയി ആഴ്ചയിൽ ഒരിക്കൽ പുതുക്കുന്നു. ക്രമീകരണങ്ങളിൽ എപ്പോഴും റദ്ദാക്കാം. തുടരുന്നതിലൂടെ, നിങ്ങൾ ഞങ്ങളുടെ നിബന്ധനകൾയും

സ്വകാര്യതാ നയം

യും അംഗീകരിക്കുന്നു.'; + + @override + String get premiumContinueButton => '🎁 പ്രീമിയം തുടരുക'; + + @override + String get premiumSupportMessage => + '💚 നിങ്ങളുടെ പിന്തുണ ആരോഗ്യപരിചരണം ലഭ്യമാക്കാൻ സഹായിക്കുന്നു'; + + @override + String get subscriptionLoginRequiredError => + 'കൃപയോടെ സൈൻ അപ്പ് ചെയ്യുക അല്ലെങ്കിൽ ലോഗിൻ ചെയ്യുക വാങ്ങൽ പൂർത്തിയാക്കാൻ.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_mr.dart b/example/lib/src/generated/pay/pay_localization_mr.dart new file mode 100644 index 0000000..36029eb --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_mr.dart @@ -0,0 +1,243 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Marathi (`mr`). +class PayLocalizationMr extends PayLocalization { + PayLocalizationMr([String locale = 'mr']) : super(locale); + + @override + String get exampleButton => 'बटण उदाहरण'; + + @override + String get donationYesItsAllGoodButton => 'होय, सर्व काही छान आहे!'; + + @override + String get everyContributionHealsTitle => 'प्रत्येक योगदान बरे करते!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'तुमचे योगदान गरजू असलेल्या इतरांना मोफत सल्ला पुरवण्यासाठी निधी उभारण्यास मदत करते.'; + + @override + String get payWhatFeelsRightLabel => 'जशी रक्कम योग्य वाटते ती भरा,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'किंवा Doctorina मोफत वापरत रहा, ज्यांनी देण्याची निवड केली त्यांच्यामुळे'; + + @override + String get oneTimeLabel => 'एकदाच'; + + @override + String get monthlyLabel => 'मासिक'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'दरमहिन्याची देणगी रक्कम निवडा'; + + @override + String get subscriptionNoAmount => 'आपण मासिक योजनेची सदस्यता घेणार आहात.'; + + @override + String subscriptionAmount(String amount) { + return 'आपण $amount/महिना दराने मासिक योजनेची सदस्यता घेत आहात.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'खरेदीची पुष्टी झाल्यावर तुमच्या खात्यावर पैसे आकारले जातील. जर चालू कालावधीच्या शेवटी किमान 24 तास आधी ऑटो-नूतनीकरण बंद केले गेले नाही तर सदस्यता दरमहिन्याला आपोआप नूतनीकृत होते. तुम्ही तुमच्या खात्याच्या सेटिंग्जमध्ये कधीही सदस्यता व्यवस्थापित किंवा रद्द करू शकता. पुढे जाताना, तुम्ही आमच्या $termsOfService आणि $privacyPolicy शी सहमती दर्शवता'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'एकदाच देणगी रक्कम निवडा'; + + @override + String get mostPeopleGiveHint => 'बहुतेक लोक \$7–\$15 देतात'; + + @override + String get selectCurrencyTooltip => 'चलन निवडा'; + + @override + String get processingPaymentSemantics => 'पेमेंट प्रक्रिया चालू'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'एकदाच पेमेंट $currency $amount ची प्रक्रिया चालू आहे'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'प्रति महिन्याचे $amount पेमेंट प्रक्रियेत आहे'; + } + + @override + String get thankYouTitle => 'धन्यवाद!'; + + @override + String get thankYouSubtitle => + 'आता आणखी जास्त लोकांना मोफत सल्ला मिळेल — तुमचा पाठिंबा खरंच अमूल्य आहे.'; + + @override + String get youContributedLabel => 'तुम्ही योगदान दिले:'; + + @override + String get perMonth => '/महिना'; + + @override + String get returnToTheMainScreenButton => 'मुख्य स्क्रीनवर परत जा'; + + @override + String get termsOfServiceLabel => 'सेवा अटी'; + + @override + String get privacyPolicyLabel => 'गोपनीयता धोरण'; + + @override + String get donateButton => 'देणगी द्या'; + + @override + String get subscriptionStatusActiveLabel => 'सक्रिय'; + + @override + String get subscriptionStatusCanceledLabel => 'रद्द केले'; + + @override + String get subscriptionStatusPausedLabel => 'थांबलेले'; + + @override + String get subscriptionStatusPendingLabel => 'प्रलंबित'; + + @override + String get subscriptionStatusCreatedLabel => 'निर्मित'; + + @override + String get subscriptionStatusTimeoutLabel => 'टाइमआउट'; + + @override + String get subscriptionStatusUnknownLabel => 'अज्ञात'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina योगदानकर्ता'; + + @override + String get subscriptionRenews => 'नूतनीकरण करते'; + + @override + String get subscriptionCancelButton => 'सदस्यता रद्द करा'; + + @override + String get subscriptionAreYouSureDialogTitle => 'तुम्हाला खात्री आहे का?'; + + @override + String get subscriptionAreYouSureDialogText => + 'तुमचा मासिक पाठिंबा त्या लोकांसाठी Doctorina मोफत ठेवतो जे त्यावर अवलंबून आहेत परंतु पैसे देता येत नाहीत. तुमचे सदस्यत्व प्रत्येक महिन्यात किमान 10 मोफत सल्लामसलतींचा निधी पुरवते. जर तुम्ही सदस्यता रद्द केली, तर कमी रुग्णांना त्यांना आवश्यक मदत मिळेल'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'सदस्यता ठेवा'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'तरीही रद्द करा'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'आपला मासिक समर्थन यशस्वीरित्या रद्द केला आहे.'; + + @override + String get subscriptionMalformed => 'चुकीची सदस्यता माहिती'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'महिन्याच्या सहाय्यासाठी साइन अप करा जेणेकरून ते येथे दिसेल.'; + + @override + String get subscriptionNoSubscriptionsYet => 'अद्याप सदस्यता नाही'; + + @override + String get subscriptionCreatedAtDateLabel => 'सदस्यता दिनांक'; + + @override + String get subscriptionExpiresAtDateLabel => 'मुदत संपते'; + + @override + String get subscriptionSubscriptionIdLabel => 'सदस्यता आयडी'; + + @override + String get subscriptionProductIdLabel => 'उत्पादन आयडी'; + + @override + String get subscriptionDialogOkButton => 'ठीक आहे'; + + @override + String get errorProcessDonationTitle => + 'आम्ही तुमचे पेमेंट पुढे नेऊ शकत नाही'; + + @override + String get errorProcessDonationSubtitle => + 'पेमेंटमध्ये काहीतरी चुकलं.\nकृपया पुन्हा प्रयत्न करा.'; + + @override + String get errorProcessDonationRetryButton => 'पुन्हा प्रयत्न करा'; + + @override + String get processingDonationTitle => 'भरणा प्रक्रियेत आहे'; + + @override + String get processingDonationStripeSubtitle => + 'तुमची खरेदी Stripe च्या सुरक्षित चेकआउट पृष्ठावर पूर्ण होईल.'; + + @override + String get perWeek => '/ आठवडा'; + + @override + String get perYear => '/ वर्ष'; + + @override + String get premiumMostPopularRibbon => 'सर्वाधिक लोकप्रिय'; + + @override + String get premiumCloseTooltip => 'बंद करा'; + + @override + String get premiumTitle => 'डॉक्टरिना प्रीमियम'; + + @override + String get premiumWhatYouGetHeader => 'प्रीमियमसह तुम्हाला काय मिळेल:'; + + @override + String get premiumFeatureAdFree => 'अ‍ॅड-फ्री सल्ले'; + + @override + String get premiumFeatureFasterReplies => 'जलद प्रतिसाद'; + + @override + String get premiumFeatureEarlyAccess => 'नवीन वैशिष्ट्यांसाठी लवकर प्रवेश'; + + @override + String get premiumPricePerWeek => '/आठवडा'; + + @override + String get premiumCancelAnytime => 'कधीही रद्द करा. कोणतेही बंधन नाही.'; + + @override + String get premiumLimitedTimeBadge => 'मर्यादित वेळ'; + + @override + String get premiumAutoRenewsConsent => + 'आत्म-नवीनीकरण साप्ताहिक आहे. सेटिंग्जमध्ये कधीही रद्द करा. पुढे जात असताना, तुम्ही आमच्या अटी आणि

गोपनीयता धोरण

सह सहमत आहात.'; + + @override + String get premiumContinueButton => '🎁 प्रीमियमसह पुढे जा'; + + @override + String get premiumSupportMessage => + '💚 तुमचा समर्थन आरोग्य सेवा उपलब्ध ठेवण्यात मदत करतो'; + + @override + String get subscriptionLoginRequiredError => + 'खरेदी पूर्ण करण्यासाठी कृपया साइन अप करा किंवा लॉग इन करा'; +} diff --git a/example/lib/src/generated/pay/pay_localization_ms.dart b/example/lib/src/generated/pay/pay_localization_ms.dart new file mode 100644 index 0000000..6977b60 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_ms.dart @@ -0,0 +1,244 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malay (`ms`). +class PayLocalizationMs extends PayLocalization { + PayLocalizationMs([String locale = 'ms']) : super(locale); + + @override + String get exampleButton => 'Contoh butang'; + + @override + String get donationYesItsAllGoodButton => 'Ya, semuanya baik!'; + + @override + String get everyContributionHealsTitle => 'Setiap sumbangan menyembuhkan!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Sumbangan anda membantu membiayai nasihat percuma untuk orang lain yang memerlukan.'; + + @override + String get payWhatFeelsRightLabel => 'Bayar apa yang terasa betul,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'atau terus menggunakan Doctorina secara percuma, terima kasih kepada orang lain yang memilih untuk memberi.'; + + @override + String get oneTimeLabel => 'Sekali'; + + @override + String get monthlyLabel => 'Bulanan'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Pilih jumlah sumbangan bulanan'; + + @override + String get subscriptionNoAmount => 'Anda akan melanggan pelan bulanan.'; + + @override + String subscriptionAmount(String amount) { + return 'Anda melanggan pelan bulanan pada $amount/bulan.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Pembayaran akan dikenakan pada akaun anda setelah pengesahan pembelian. Langganan secara automatik akan diperbaharui setiap bulan kecuali auto-renew dimatikan sekurang-kurangnya 24 jam sebelum akhir tempoh semasa. Anda boleh mengurus atau membatalkan langganan anda pada bila-bila masa dalam tetapan akaun anda. Dengan meneruskan, anda bersetuju dengan $termsOfService dan $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Pilih jumlah sumbangan sekali sahaja'; + + @override + String get mostPeopleGiveHint => 'Kebanyakan orang memberi \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Pilih mata wang'; + + @override + String get processingPaymentSemantics => 'Memproses pembayaran'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Memproses pembayaran sekali gus sebanyak $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Memproses pembayaran bulanan sebanyak $amount'; + } + + @override + String get thankYouTitle => 'Terima kasih!'; + + @override + String get thankYouSubtitle => + 'Kini lebih ramai orang akan menerima nasihat percuma — sokongan anda sangat berharga.'; + + @override + String get youContributedLabel => 'Anda menyumbang:'; + + @override + String get perMonth => '/ bulan'; + + @override + String get returnToTheMainScreenButton => 'Kembali ke skrin utama'; + + @override + String get termsOfServiceLabel => 'Terma Perkhidmatan'; + + @override + String get privacyPolicyLabel => 'Dasar Privasi'; + + @override + String get donateButton => 'Derma'; + + @override + String get subscriptionStatusActiveLabel => 'Aktif'; + + @override + String get subscriptionStatusCanceledLabel => 'Dibatalkan'; + + @override + String get subscriptionStatusPausedLabel => 'Dihentikan'; + + @override + String get subscriptionStatusPendingLabel => 'Tertunda'; + + @override + String get subscriptionStatusCreatedLabel => 'Dicipta'; + + @override + String get subscriptionStatusTimeoutLabel => 'Timeout'; + + @override + String get subscriptionStatusUnknownLabel => 'Tidak diketahui'; + + @override + String get subscriptionDoctorinaContributor => 'Penyumbang Doctorina'; + + @override + String get subscriptionRenews => 'Memperbaharui'; + + @override + String get subscriptionCancelButton => 'Batalkan langganan'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Adakah anda pasti?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Sokongan bulanan anda memastikan Doctorina percuma untuk orang yang bergantung padanya tetapi tidak mampu membayar. Langganan anda membiayai sekurang-kurangnya 10 konsultasi percuma setiap bulan. Jika anda pergi, lebih sedikit pesakit akan mendapat bantuan yang mereka perlukan.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Simpan langganan'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Batalkan juga'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Sokongan Bulanan anda telah berjaya dibatalkan'; + + @override + String get subscriptionMalformed => 'Data langganan tidak betul'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Daftar untuk sokongan bulanan agar ia muncul di sini.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Tiada langganan lagi'; + + @override + String get subscriptionCreatedAtDateLabel => 'Tarikh langganan'; + + @override + String get subscriptionExpiresAtDateLabel => 'Tamat'; + + @override + String get subscriptionSubscriptionIdLabel => 'ID Langganan'; + + @override + String get subscriptionProductIdLabel => 'ID Produk'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'Kami tidak dapat meneruskan pembayaran anda'; + + @override + String get errorProcessDonationSubtitle => + 'Sesuatu yang tidak kena dengan pembayaran.'; + + @override + String get errorProcessDonationRetryButton => 'Cuba lagi'; + + @override + String get processingDonationTitle => 'Memproses pembayaran'; + + @override + String get processingDonationStripeSubtitle => + 'Anda akan menyelesaikan pembelian anda di halaman pembayaran selamat Stripe.'; + + @override + String get perWeek => '/ minggu'; + + @override + String get perYear => '/ tahun'; + + @override + String get premiumMostPopularRibbon => 'Paling Popular'; + + @override + String get premiumCloseTooltip => 'Tutup'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Apa yang anda dapat dengan Premium:'; + + @override + String get premiumFeatureAdFree => 'Perundingan tanpa iklan'; + + @override + String get premiumFeatureFasterReplies => 'Jawapan yang lebih pantas'; + + @override + String get premiumFeatureEarlyAccess => 'Akses awal kepada ciri baru'; + + @override + String get premiumPricePerWeek => '/minggu'; + + @override + String get premiumCancelAnytime => 'Batalkan bila-bila masa. Tiada komitmen.'; + + @override + String get premiumLimitedTimeBadge => 'MASA TERHAD'; + + @override + String get premiumAutoRenewsConsent => + 'Diperbaharui secara automatik setiap minggu. Batalkan bila-bila masa dalam tetapan. Dengan meneruskan, anda bersetuju dengan Terma dan

Dasar Privasi

kami.'; + + @override + String get premiumContinueButton => '🎁 Teruskan dengan Premium'; + + @override + String get premiumSupportMessage => + '💚 Sokongan anda membantu memastikan penjagaan dapat diakses'; + + @override + String get subscriptionLoginRequiredError => + 'Sila daftar atau log masuk untuk menyelesaikan pembelian.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_my.dart b/example/lib/src/generated/pay/pay_localization_my.dart new file mode 100644 index 0000000..a084ae5 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_my.dart @@ -0,0 +1,244 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Burmese (`my`). +class PayLocalizationMy extends PayLocalization { + PayLocalizationMy([String locale = 'my']) : super(locale); + + @override + String get exampleButton => 'Contoh butang'; + + @override + String get donationYesItsAllGoodButton => 'Ya, semuanya baik!'; + + @override + String get everyContributionHealsTitle => 'Setiap sumbangan menyembuhkan!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Sumbangan anda membantu membiayai nasihat percuma untuk orang lain yang memerlukan.'; + + @override + String get payWhatFeelsRightLabel => 'Bayar apa yang terasa betul'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'atau terus menggunakan Doctorina secara percuma, terima kasih kepada mereka yang memilih untuk memberi.'; + + @override + String get oneTimeLabel => 'Sekali'; + + @override + String get monthlyLabel => 'Bulanan'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Pilih jumlah sumbangan bulanan'; + + @override + String get subscriptionNoAmount => 'Anda akan melanggan pelan bulanan.'; + + @override + String subscriptionAmount(String amount) { + return 'Anda melanggan pelan bulanan untuk $amount/bulan.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Pembayaran akan dikenakan pada akun anda saat konfirmasi pembelian. Langganan secara otomatis diperbarui setiap bulan kecuali pembaruan otomatis dimatikan setidaknya 24 jam sebelum akhir periode saat ini. Anda dapat mengelola atau membatalkan langganan kapan saja di pengaturan akun anda. Dengan melanjutkan, anda setuju dengan $termsOfService dan $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Pilih jumlah sumbangan sekali sahaja'; + + @override + String get mostPeopleGiveHint => 'Kebanyakan orang memberi \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Pilih mata wang'; + + @override + String get processingPaymentSemantics => 'Memproses pembayaran'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Memproses pembayaran sekali sahaja sebanyak $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Memproses pembayaran bulanan sebanyak $amount'; + } + + @override + String get thankYouTitle => 'Terima kasih!'; + + @override + String get thankYouSubtitle => + 'Kini lebih ramai orang akan menerima nasihat percuma — sokongan anda benar-benar tidak ternilai.'; + + @override + String get youContributedLabel => 'Anda menyumbang:'; + + @override + String get perMonth => '/ bulan'; + + @override + String get returnToTheMainScreenButton => 'Kembali ke skrin utama'; + + @override + String get termsOfServiceLabel => 'Terma Perkhidmatan'; + + @override + String get privacyPolicyLabel => 'Dasar Privasi'; + + @override + String get donateButton => 'Derma'; + + @override + String get subscriptionStatusActiveLabel => 'Aktif'; + + @override + String get subscriptionStatusCanceledLabel => 'Dibatalkan'; + + @override + String get subscriptionStatusPausedLabel => 'Dihentikan'; + + @override + String get subscriptionStatusPendingLabel => 'Tertunda'; + + @override + String get subscriptionStatusCreatedLabel => 'Dicipta'; + + @override + String get subscriptionStatusTimeoutLabel => 'Tamat'; + + @override + String get subscriptionStatusUnknownLabel => 'Tidak diketahui'; + + @override + String get subscriptionDoctorinaContributor => 'Penyumbang Doctorina'; + + @override + String get subscriptionRenews => 'Diperbaharui'; + + @override + String get subscriptionCancelButton => 'Batalkan langganan'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Adakah anda pasti?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Sokongan bulanan anda memastikan Doctorina percuma untuk orang yang bergantung padanya tetapi tidak mampu membayar. Langganan anda membiayai sekurang-kurangnya 10 konsultasi percuma setiap bulan. Jika anda pergi, lebih sedikit pesakit akan mendapat bantuan yang mereka perlukan.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Simpan langganan'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Batalkan juga'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Sokongan Bulanan anda telah berjaya dibatalkan'; + + @override + String get subscriptionMalformed => 'Data langganan tidak betul'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Daftar untuk sokongan bulanan untuk menampilkannya di sini.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Tiada langganan lagi'; + + @override + String get subscriptionCreatedAtDateLabel => 'Tarikh langganan'; + + @override + String get subscriptionExpiresAtDateLabel => 'Tamat'; + + @override + String get subscriptionSubscriptionIdLabel => 'ID Langganan'; + + @override + String get subscriptionProductIdLabel => 'ID Produk'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'Kami tidak dapat memproses pembayaran anda'; + + @override + String get errorProcessDonationSubtitle => + 'Sesuatu yang tidak kena dengan pembayaran. Sila cuba lagi.'; + + @override + String get errorProcessDonationRetryButton => 'Cuba'; + + @override + String get processingDonationTitle => 'Memproses pembayaran'; + + @override + String get processingDonationStripeSubtitle => + 'Anda akan menyelesaikan pembelian anda di halaman pembayaran selamat Stripe.'; + + @override + String get perWeek => '/ minggu'; + + @override + String get perYear => '/ နှစ်'; + + @override + String get premiumMostPopularRibbon => 'Paling Popular'; + + @override + String get premiumCloseTooltip => 'Tutup'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Apa yang anda dapat dengan Premium:'; + + @override + String get premiumFeatureAdFree => 'Perundingan tanpa iklan'; + + @override + String get premiumFeatureFasterReplies => 'Balasan yang lebih cepat'; + + @override + String get premiumFeatureEarlyAccess => 'Akses awal kepada ciri-ciri baru'; + + @override + String get premiumPricePerWeek => '/minggu'; + + @override + String get premiumCancelAnytime => 'Batal bila-bila masa. Tiada komitmen.'; + + @override + String get premiumLimitedTimeBadge => 'MASA TERHAD'; + + @override + String get premiumAutoRenewsConsent => + 'Auto-renews setiap minggu. Batalkan bila-bila masa dalam tetapan. Dengan meneruskan, anda bersetuju dengan Terma dan

Dasar Privasi

.'; + + @override + String get premiumContinueButton => '🎁 Teruskan dengan Premium'; + + @override + String get premiumSupportMessage => + '💚 Sokongan anda membantu memastikan penjagaan dapat diakses'; + + @override + String get subscriptionLoginRequiredError => + 'ကျေးဇူးပြု၍ ဝင်ရောက်ပါ သို့မဟုတ် စာရင်းသွင်းပါ။'; +} diff --git a/example/lib/src/generated/pay/pay_localization_ne.dart b/example/lib/src/generated/pay/pay_localization_ne.dart new file mode 100644 index 0000000..b1dc01c --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_ne.dart @@ -0,0 +1,247 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Nepali (`ne`). +class PayLocalizationNe extends PayLocalization { + PayLocalizationNe([String locale = 'ne']) : super(locale); + + @override + String get exampleButton => 'बटन उदाहरण'; + + @override + String get donationYesItsAllGoodButton => 'हो, सबै ठीक छ!'; + + @override + String get everyContributionHealsTitle => 'प्रत्येक योगदानले निको पार्छ!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'तपाईंको योगदानले अन्यलाई आवश्यक परामर्शको लागि कोष जुटाउन मद्दत गर्दछ'; + + @override + String get payWhatFeelsRightLabel => 'जुन कुरा सही लाग्छ, त्यै तिर्नुहोस्,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'वा डोक्टरिनालाई निःशुल्क प्रयोग गर्न जारी राख्नुहोस्, अरूले दिन रोजेकोमा धन्यवाद।'; + + @override + String get oneTimeLabel => 'एक पटक'; + + @override + String get monthlyLabel => 'मासिक'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'महिनावारी दानको रकम छान्नुहोस्'; + + @override + String get subscriptionNoAmount => + 'तपाईं मासिक योजनामा सदस्यता लिन जाँदै हुनुहुन्छ।'; + + @override + String subscriptionAmount(String amount) { + return 'तपाईं $amount/महिना को लागि मासिक योजनामा सदस्यता लिइरहनु भएको छ।'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'खरिदको पुष्टि गर्दा तपाईंको खातामा भुक्तानी चार्ज गरिनेछ। सदस्यता स्वचालित रूपमा प्रत्येक महिना नवीकरण हुन्छ जबसम्म स्वचालित नवीकरण हालको अवधिको अन्त्य हुनु भन्दा कम्तिमा २४ घण्टा अघि बन्द गरिएको छैन। तपाईं आफ्नो खाता सेटिङमा कुनै पनि समयमा आफ्नो सदस्यता व्यवस्थापन गर्न वा रद्द गर्न सक्नुहुन्छ। अगाडि बढ्नाले, तपाईं हाम्रो $termsOfService र $privacyPolicy मा सहमत हुनुहुन्छ।'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'एक पटकको दानको रकम छान्नुहोस्'; + + @override + String get mostPeopleGiveHint => 'धेरै मानिसहरूले \$7–\$15 दिन्छन्'; + + @override + String get selectCurrencyTooltip => 'मुद्रा चयन गर्नुहोस्'; + + @override + String get processingPaymentSemantics => 'भुक्तानी प्रक्रिया गर्दै'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'एकल भुक्तानी प्रक्रिया गर्दै $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'महिनाको भुक्तानी $amount प्रक्रिया गर्दै'; + } + + @override + String get thankYouTitle => 'धन्यवाद!'; + + @override + String get thankYouSubtitle => + 'अब अझ धेरै मानिसहरूले निःशुल्क सल्लाह प्राप्त गर्नेछन् - तपाईंको समर्थन साँच्चै अमूल्य छ।'; + + @override + String get youContributedLabel => 'तपाईंले योगदान दिनुभयो:'; + + @override + String get perMonth => '/ महिना'; + + @override + String get returnToTheMainScreenButton => 'मुख्य स्क्रिनमा फर्कनुहोस्'; + + @override + String get termsOfServiceLabel => 'सेवाको शर्तहरू'; + + @override + String get privacyPolicyLabel => 'गोपनीयता नीति'; + + @override + String get donateButton => 'दान गर्नुहोस्'; + + @override + String get subscriptionStatusActiveLabel => 'सक्रिय'; + + @override + String get subscriptionStatusCanceledLabel => 'रद्द गरियो'; + + @override + String get subscriptionStatusPausedLabel => 'रोकेको'; + + @override + String get subscriptionStatusPendingLabel => 'विचाराधीन'; + + @override + String get subscriptionStatusCreatedLabel => 'सिर्जना गरियो'; + + @override + String get subscriptionStatusTimeoutLabel => 'समय समाप्त'; + + @override + String get subscriptionStatusUnknownLabel => 'अज्ञात'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina योगदानकर्ता'; + + @override + String get subscriptionRenews => 'नवीकरण'; + + @override + String get subscriptionCancelButton => 'सदस्यता रद्द गर्नुहोस्'; + + @override + String get subscriptionAreYouSureDialogTitle => 'के तपाईँ निश्चित हुनुहुन्छ?'; + + @override + String get subscriptionAreYouSureDialogText => + 'तपाईंको मासिक समर्थनले डोक्टरिनालाई तिर्न नसक्ने व्यक्तिहरूका लागि निःशुल्क राख्न मद्दत गर्दछ। तपाईंको सदस्यता प्रत्येक महिना कम्तिमा १० निःशुल्क परामर्शको लागि कोष प्रदान गर्दछ। यदि तपाईं जानुहुन्छ भने, कम बिरामीहरूले आवश्यक सहयोग पाउनेछन्।'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'सदस्यता राख्नुहोस्'; + + @override + String get subscriptionAreYouSureDialogCancelButton => + 'यद्यपि रद्द गर्नुहोस्'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'तपाईंको मासिक समर्थन सफलतापूर्वक रद्द गरिएको छ।'; + + @override + String get subscriptionMalformed => 'गलत सदस्यता डेटा'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'महिनावारी समर्थनको लागि साइन अप गर्नुहोस् ताकि यो यहाँ देखियोस्।'; + + @override + String get subscriptionNoSubscriptionsYet => 'अझै कुनै सदस्यता छैन'; + + @override + String get subscriptionCreatedAtDateLabel => 'सदस्यता मिति'; + + @override + String get subscriptionExpiresAtDateLabel => 'समाप्त हुन्छ'; + + @override + String get subscriptionSubscriptionIdLabel => 'सदस्यता ID'; + + @override + String get subscriptionProductIdLabel => 'उत्पादन ID'; + + @override + String get subscriptionDialogOkButton => 'ठीक छ'; + + @override + String get errorProcessDonationTitle => + 'हामी तपाईंको भुक्तानी प्रक्रिया गर्न सक्दैनौं'; + + @override + String get errorProcessDonationSubtitle => + 'भुक्तानीमा केहि समस्या भयो। कृपया पुनः प्रयास गर्नुहोस्।'; + + @override + String get errorProcessDonationRetryButton => 'पुनः प्रयास गर्नुहोस्'; + + @override + String get processingDonationTitle => 'भुक्तानी प्रक्रिया गर्दै'; + + @override + String get processingDonationStripeSubtitle => + 'तपाईं स्ट्राइपको सुरक्षित चेकआउट पृष्ठमा आफ्नो खरिद पूरा गर्नुहुनेछ।'; + + @override + String get perWeek => '/ हप्ता'; + + @override + String get perYear => '/ वर्ष'; + + @override + String get premiumMostPopularRibbon => 'सबैभन्दा लोकप्रिय'; + + @override + String get premiumCloseTooltip => 'बन्द गर्नुहोस्'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'प्रीमियमसँग के पाउनुहुन्छ:'; + + @override + String get premiumFeatureAdFree => 'विज्ञापन-मुक्त परामर्श'; + + @override + String get premiumFeatureFasterReplies => 'छिटो जवाफ'; + + @override + String get premiumFeatureEarlyAccess => 'नयाँ सुविधाहरूमा प्रारम्भिक पहुँच'; + + @override + String get premiumPricePerWeek => '/सप्ताह'; + + @override + String get premiumCancelAnytime => + 'कुनै पनि समयमा रद्द गर्नुहोस्। कुनै प्रतिबद्धता छैन।'; + + @override + String get premiumLimitedTimeBadge => 'सीमित समय'; + + @override + String get premiumAutoRenewsConsent => + 'प्रति हप्ता स्वचालित रूपमा नवीकरण हुन्छ। सेटिङमा कुनै पनि समयमा रद्द गर्नुहोस्। जारी राख्दा, तपाईं हाम्रो शर्तहरू

गोपनीयता नीति

सँग सहमत हुनुहुन्छ।'; + + @override + String get premiumContinueButton => '🎁 प्रीमियमसँग जारी राख्नुहोस्'; + + @override + String get premiumSupportMessage => + '💚 तपाईँको समर्थनले स्वास्थ्य सेवा पहुँचयोग्य राख्न मद्दत गर्दछ'; + + @override + String get subscriptionLoginRequiredError => + 'कृपया सदस्यता लिनुहोस् वा लग इन गर्नुहोस् किनकि खरिद पूरा गर्न आवश्यक छ.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_nl.dart b/example/lib/src/generated/pay/pay_localization_nl.dart new file mode 100644 index 0000000..5c4ae9c --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_nl.dart @@ -0,0 +1,245 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Dutch Flemish (`nl`). +class PayLocalizationNl extends PayLocalization { + PayLocalizationNl([String locale = 'nl']) : super(locale); + + @override + String get exampleButton => 'Knopvoorbeeld'; + + @override + String get donationYesItsAllGoodButton => 'Ja, het is allemaal goed!'; + + @override + String get everyContributionHealsTitle => 'Elke bijdrage geneest!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Uw bijdrage helpt om gratis advies voor anderen in nood te financieren.'; + + @override + String get payWhatFeelsRightLabel => 'Betaal wat goed voelt'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'of blijf Doctorina gratis gebruiken, dankzij anderen die ervoor hebben gekozen om te geven.'; + + @override + String get oneTimeLabel => 'Eenmalig'; + + @override + String get monthlyLabel => 'Maandelijks'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Kies het maandelijkse donatiebedrag'; + + @override + String get subscriptionNoAmount => + 'Je staat op het punt je in te schrijven voor een maandplan.'; + + @override + String subscriptionAmount(String amount) { + return 'U abonneert zich op een maandplan voor $amount/maand.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Betaling wordt in rekening gebracht op uw account bij bevestiging van aankoop. Het abonnement wordt automatisch elke maand verlengd, tenzij de automatische verlenging ten minste 24 uur voor het einde van de huidige periode is uitgeschakeld. U kunt uw abonnement op elk moment beheren of annuleren in uw accountinstellingen. Door door te gaan, gaat u akkoord met onze $termsOfService en $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'Kies eenmalig donatiebedrag'; + + @override + String get mostPeopleGiveHint => 'De meeste mensen geven \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Selecteer valuta'; + + @override + String get processingPaymentSemantics => 'Betaling verwerken'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Verwerkt een eenmalige betaling van $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Verwerking van maandelijkse betaling van $amount'; + } + + @override + String get thankYouTitle => 'Dank je!'; + + @override + String get thankYouSubtitle => + 'Nu zullen nog meer mensen gratis advies ontvangen — uw steun is echt onschatbaar.'; + + @override + String get youContributedLabel => 'Je hebt bijgedragen:'; + + @override + String get perMonth => '/ maand'; + + @override + String get returnToTheMainScreenButton => 'Terug naar het hoofdscherm'; + + @override + String get termsOfServiceLabel => 'Algemene Voorwaarden'; + + @override + String get privacyPolicyLabel => 'Privacybeleid'; + + @override + String get donateButton => 'Doneren'; + + @override + String get subscriptionStatusActiveLabel => 'Actief'; + + @override + String get subscriptionStatusCanceledLabel => 'Geannuleerd'; + + @override + String get subscriptionStatusPausedLabel => 'Pauze'; + + @override + String get subscriptionStatusPendingLabel => 'In afwachting'; + + @override + String get subscriptionStatusCreatedLabel => 'Aangemaakt'; + + @override + String get subscriptionStatusTimeoutLabel => 'Timeout'; + + @override + String get subscriptionStatusUnknownLabel => 'Onbekend'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina contributor'; + + @override + String get subscriptionRenews => 'Verlengt'; + + @override + String get subscriptionCancelButton => 'Abonnement annuleren'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Weet je het zeker?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Jouw maandelijkse ondersteuning houdt Doctorina gratis voor mensen die erop vertrouwen maar het zich niet kunnen veroorloven om te betalen. Jouw abonnement financiert minstens 10 gratis consulten per maand. Als je vertrekt, krijgen minder patiënten de hulp die ze nodig hebben.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Houd abonnement'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Toch annuleren'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Uw maandelijkse ondersteuning is succesvol geannuleerd'; + + @override + String get subscriptionMalformed => 'Onjuiste abonnementsgegevens'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Meld je aan voor maandelijkse ondersteuning om het hier te laten verschijnen.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Nog geen abonnementen'; + + @override + String get subscriptionCreatedAtDateLabel => 'Abonnementsdatum'; + + @override + String get subscriptionExpiresAtDateLabel => 'Verloopt'; + + @override + String get subscriptionSubscriptionIdLabel => 'Abonnements-ID'; + + @override + String get subscriptionProductIdLabel => 'Product ID'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'We konden uw betaling niet verwerken'; + + @override + String get errorProcessDonationSubtitle => + 'Er is iets misgegaan met de betaling. Probeer het alstublieft opnieuw.'; + + @override + String get errorProcessDonationRetryButton => 'Opnieuw proberen'; + + @override + String get processingDonationTitle => 'Betaling verwerken'; + + @override + String get processingDonationStripeSubtitle => + 'U voltooit uw aankoop op de veilige afrekenpagina van Stripe.'; + + @override + String get perWeek => '/ week'; + + @override + String get perYear => '/ jaar'; + + @override + String get premiumMostPopularRibbon => 'Meest Populair'; + + @override + String get premiumCloseTooltip => 'Sluiten'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Wat u krijgt met Premium:'; + + @override + String get premiumFeatureAdFree => 'Advertentievrije consultaties'; + + @override + String get premiumFeatureFasterReplies => 'Snellere antwoorden'; + + @override + String get premiumFeatureEarlyAccess => 'Vroeg toegang tot nieuwe functies'; + + @override + String get premiumPricePerWeek => '/week'; + + @override + String get premiumCancelAnytime => + 'Annuleer op elk moment. Geen verplichtingen.'; + + @override + String get premiumLimitedTimeBadge => 'BEPERKTE TIJD'; + + @override + String get premiumAutoRenewsConsent => + 'Auto-renews wekelijks. Annuleer op elk moment in de instellingen. Door door te gaan, stemt u in met onze Voorwaarden en

Privacybeleid

.'; + + @override + String get premiumContinueButton => '🎁 Doorgaan met Premium'; + + @override + String get premiumSupportMessage => + '💚 Jouw steun helpt de zorg toegankelijk te houden'; + + @override + String get subscriptionLoginRequiredError => + 'Gelieve u aan te melden of in te loggen om de aankoop te voltooien.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_pa.dart b/example/lib/src/generated/pay/pay_localization_pa.dart new file mode 100644 index 0000000..f56ec31 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_pa.dart @@ -0,0 +1,481 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Panjabi Punjabi (`pa`). +class PayLocalizationPa extends PayLocalization { + PayLocalizationPa([String locale = 'pa']) : super(locale); + + @override + String get exampleButton => 'ਬਟਨ ਉਦਾਹਰਨ'; + + @override + String get donationYesItsAllGoodButton => 'ਹਾਂ, ਇਹ ਸਭ ਠੀਕ ਹੈ!'; + + @override + String get everyContributionHealsTitle => 'ਹਰ ਯੋਗਦਾਨ ਠੀਕ ਕਰਦਾ ਹੈ!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'ਤੁਹਾਡੀ ਯੋਗਦਾਨ ਦੂਜਿਆਂ ਦੀ ਲੋੜ ਵਿੱਚ ਮੁਫ਼ਤ ਸਲਾਹ ਦੇਣ ਲਈ ਫੰਡ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ.'; + + @override + String get payWhatFeelsRightLabel => + 'ਜੋ ਸਹੀ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ, ਉਸਦਾ ਭੁਗਤਾਨ ਕਰੋ'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'ਜਾਂ ਡਾਕਟਰਿਨਾ ਨੂੰ ਮੁਫਤ ਵਰਤਣਾ ਜਾਰੀ ਰੱਖੋ, ਉਹਨਾਂ ਦਾ ਧੰਨਵਾਦ ਜੋ ਦੇਣ ਦੀ ਚੋਣ ਕੀਤੀ.'; + + @override + String get oneTimeLabel => 'ਇੱਕ ਵਾਰੀ'; + + @override + String get monthlyLabel => 'ਮਾਸਿਕ'; + + @override + String get chooseMonthlyDonationAmountLabel => 'ਮਹੀਨਾਵਾਰ ਦਾਨ ਦੀ ਰਕਮ ਚੁਣੋ'; + + @override + String get subscriptionNoAmount => + 'ਤੁਸੀਂ ਇੱਕ ਮਹੀਨਾਵਾਰ ਯੋਜਨਾ ਲਈ ਸਬਸਕ੍ਰਾਈਬ ਕਰਨ ਵਾਲੇ ਹੋ.'; + + @override + String subscriptionAmount(String amount) { + return 'ਤੁਸੀਂ $amount/ਮਹੀਨੇ ਲਈ ਇੱਕ ਮਹੀਨਾਵਾਰ ਯੋਜਨਾ ਲਈ ਸਬਸਕ੍ਰਾਈਬ ਕਰ ਰਹੇ ਹੋ.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'ਭੁਗਤਾਨ ਤੁਹਾਡੇ ਖਾਤੇ \'ਤੇ ਖਰੀਦ ਦੀ ਪੁਸ਼ਟੀ \'ਤੇ ਚਾਰਜ ਕੀਤਾ ਜਾਵੇਗਾ। ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਹਰ ਮਹੀਨੇ ਆਪਣੇ ਆਪ ਨਵੀਨੀਕਰਨ ਕਰਦਾ ਹੈ ਜੇਕਰ ਆਟੋ-ਨਵੀਨੀਕਰਨ ਮੌਜੂਦਾ ਸਮੇਂ ਦੇ ਅੰਤ ਤੋਂ ਘੱਟ ਤੋਂ ਘੱਟ 24 ਘੰਟੇ ਪਹਿਲਾਂ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਗਿਆ। ਤੁਸੀਂ ਆਪਣੇ ਖਾਤੇ ਦੀ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਕਿਸੇ ਵੀ ਸਮੇਂ ਆਪਣੀ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਦਾ ਪ੍ਰਬੰਧ ਜਾਂ ਰੱਦ ਕਰ ਸਕਦੇ ਹੋ। ਅੱਗੇ ਵਧਣ ਨਾਲ, ਤੁਸੀਂ ਸਾਡੇ $termsOfService ਅਤੇ $privacyPolicy ਨਾਲ ਸਹਿਮਤ ਹੋ ਜਾਂਦੇ ਹੋ.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'ਇੱਕ ਵਾਰੀ ਦੀ ਦਾਨ ਦੀ ਰਕਮ ਚੁਣੋ'; + + @override + String get mostPeopleGiveHint => 'ਜ਼ਿਆਦਾਤਰ ਲੋਕ \$7–\$15 ਦਿੰਦੇ ਹਨ'; + + @override + String get selectCurrencyTooltip => 'ਮੁਦਰਾ ਚੁਣੋ'; + + @override + String get processingPaymentSemantics => 'ਭੁਗਤਾਨ ਪ੍ਰਕਿਰਿਆ'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'ਇੱਕ ਵਾਰੀ ਦੇ ਭੁਗਤਾਨ ਦੀ ਪ੍ਰਕਿਰਿਆ $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'ਮਹੀਨਾਵਾਰ ਭੁਗਤਾਨ $amount ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰ ਰਹੇ ਹਾਂ'; + } + + @override + String get thankYouTitle => 'ਧੰਨਵਾਦ!'; + + @override + String get thankYouSubtitle => + 'ਹੁਣ ਹੋਰ ਲੋਕ ਮੁਫਤ ਸਲਾਹ ਪ੍ਰਾਪਤ ਕਰਨਗੇ — ਤੁਹਾਡਾ ਸਮਰਥਨ ਸੱਚਮੁੱਚ ਬੇਮਿਸਾਲ ਹੈ.'; + + @override + String get youContributedLabel => 'ਤੁਸੀਂ ਯੋਗਦਾਨ ਦਿੱਤਾ:'; + + @override + String get perMonth => '/ ਮਹੀਨਾ'; + + @override + String get returnToTheMainScreenButton => 'ਮੁੱਖ ਸਕ੍ਰੀਨ \'ਤੇ ਵਾਪਸ ਜਾਓ'; + + @override + String get termsOfServiceLabel => 'ਸੇਵਾ ਦੇ ਨਿਯਮ'; + + @override + String get privacyPolicyLabel => 'ਗੋਪਨੀਯਤਾ ਨੀਤੀ'; + + @override + String get donateButton => 'ਦਾਨ ਕਰੋ'; + + @override + String get subscriptionStatusActiveLabel => 'ਸਰਗਰਮ'; + + @override + String get subscriptionStatusCanceledLabel => 'ਰੱਦ'; + + @override + String get subscriptionStatusPausedLabel => 'ਰੁਕਿਆ'; + + @override + String get subscriptionStatusPendingLabel => 'ਲੰਬਿਤ'; + + @override + String get subscriptionStatusCreatedLabel => 'ਬਣਾਇਆ'; + + @override + String get subscriptionStatusTimeoutLabel => 'Timeout'; + + @override + String get subscriptionStatusUnknownLabel => 'ਅਣਜਾਣ'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina ਸਹਿਯੋਗੀ'; + + @override + String get subscriptionRenews => 'ਨਵੀਨੀਕਰਨ'; + + @override + String get subscriptionCancelButton => 'ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਰੱਦ ਕਰੋ'; + + @override + String get subscriptionAreYouSureDialogTitle => 'ਕੀ ਤੁਸੀਂ ਯਕੀਨੀ ਹੋ?'; + + @override + String get subscriptionAreYouSureDialogText => + 'ਤੁਹਾਡੀ ਮਹੀਨਾਵਾਰੀ ਸਹਾਇਤਾ ਡਾਕਟਰਿਨਾ ਨੂੰ ਉਹਨਾਂ ਲੋਕਾਂ ਲਈ ਮੁਫਤ ਰੱਖਦੀ ਹੈ ਜੋ ਇਸ \'ਤੇ ਨਿਰਭਰ ਹਨ ਪਰ ਭੁਗਤਾਨ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਨਹੀਂ ਰੱਖਦੇ। ਤੁਹਾਡੀ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਹਰ ਮਹੀਨੇ ਘੱਟੋ-ਘੱਟ 10 ਮੁਫਤ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਨੂੰ ਫੰਡ ਕਰਦੀ ਹੈ। ਜੇ ਤੁਸੀਂ ਛੱਡ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਘੱਟ ਮਰੀਜ਼ਾਂ ਨੂੰ ਉਹ ਸਹਾਇਤਾ ਮਿਲੇਗੀ ਜਿਸ ਦੀ ਉਨ੍ਹਾਂ ਨੂੰ ਲੋੜ ਹੈ.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਰੱਖੋ'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'ਕੈਂਸਲ ਕਰੋ'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'ਤੁਹਾਡੀ ਮਹੀਨਾਵਾਰੀ ਸਹਾਇਤਾ ਸਫਲਤਾਪੂਰਵਕ ਰੱਦ ਕੀਤੀ ਗਈ ਹੈ'; + + @override + String get subscriptionMalformed => 'ਗਲਤ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਡੇਟਾ'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'ਮਹੀਨਾਵਾਰ ਸਹਾਇਤਾ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ ਤਾਂ ਜੋ ਇਹ ਇੱਥੇ ਦਿਖਾਈ ਦੇਵੇ.'; + + @override + String get subscriptionNoSubscriptionsYet => 'ਕੋਈ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਨਹੀਂ'; + + @override + String get subscriptionCreatedAtDateLabel => 'ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਦੀ ਤਾਰੀਖ'; + + @override + String get subscriptionExpiresAtDateLabel => 'ਮਿਆਦ ਖਤਮ ਹੋ ਰਹੀ ਹੈ'; + + @override + String get subscriptionSubscriptionIdLabel => 'ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਆਈਡੀ'; + + @override + String get subscriptionProductIdLabel => 'Product ID'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'ਅਸੀਂ ਤੁਹਾਡਾ ਭੁਗਤਾਨ ਅੱਗੇ ਨਹੀਂ ਵਧਾ ਸਕੇ'; + + @override + String get errorProcessDonationSubtitle => + 'ਭੁਗਤਾਨ ਵਿੱਚ ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।'; + + @override + String get errorProcessDonationRetryButton => 'ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ'; + + @override + String get processingDonationTitle => 'ਭੁਗਤਾਨ ਪ੍ਰਕਿਰਿਆ'; + + @override + String get processingDonationStripeSubtitle => + 'ਤੁਸੀਂ ਸਟ੍ਰਾਈਪ ਦੇ ਸੁਰੱਖਿਅਤ ਚੈਕਆਉਟ ਪੇਜ \'ਤੇ ਆਪਣੀ ਖਰੀਦਾਰੀ ਪੂਰੀ ਕਰੋਗੇ।'; + + @override + String get perWeek => '/ ਹਫਤਾ'; + + @override + String get perYear => '/ ਸਾਲ'; + + @override + String get premiumMostPopularRibbon => 'ਸਭ ਤੋਂ ਪ੍ਰਸਿੱਧ'; + + @override + String get premiumCloseTooltip => 'ਬੰਦ ਕਰੋ'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'ਤੁਹਾਨੂੰ ਪ੍ਰੀਮੀਅਮ ਨਾਲ ਕੀ ਮਿਲਦਾ ਹੈ:'; + + @override + String get premiumFeatureAdFree => 'ਬਿਨਾ ਵਿਗਿਆਪਨ ਦੇ ਸਲਾਹ-ਮਸ਼ਵਰੇ'; + + @override + String get premiumFeatureFasterReplies => 'ਜ਼ਿਆਦਾ ਤੇਜ਼ ਜਵਾਬ'; + + @override + String get premiumFeatureEarlyAccess => 'ਨਵੇਂ ਫੀਚਰਾਂ ਲਈ ਜਲਦੀ ਪਹੁੰਚ'; + + @override + String get premiumPricePerWeek => '/ਹਫ਼ਤਾ'; + + @override + String get premiumCancelAnytime => 'ਕਦੇ ਵੀ ਰੱਦ ਕਰੋ। ਕੋਈ ਵਚਨਬੱਧਤਾ ਨਹੀਂ।'; + + @override + String get premiumLimitedTimeBadge => 'LIMITED TIME'; + + @override + String get premiumAutoRenewsConsent => + 'ਹਫ਼ਤੇ ਵਿੱਚ ਆਟੋ-ਨਵੀਨੀਕਰਨ ਹੁੰਦਾ ਹੈ। ਸੈਟਿੰਗਜ਼ ਵਿੱਚ ਕਿਸੇ ਵੀ ਸਮੇਂ ਰੱਦ ਕਰੋ। ਜਾਰੀ ਰੱਖਣ ਨਾਲ, ਤੁਸੀਂ ਸਾਡੇ ਨਿਯਮ ਅਤੇ

ਗੋਪਨੀਯਤਾ ਨੀਤੀ

ਨਾਲ ਸਹਿਮਤ ਹੋ।'; + + @override + String get premiumContinueButton => '🎁 ਪ੍ਰੀਮੀਅਮ ਨਾਲ ਜਾਰੀ ਰੱਖੋ'; + + @override + String get premiumSupportMessage => + '💚 ਤੁਹਾਡਾ ਸਹਿਯੋਗ ਸਿਹਤ ਸੇਵਾਵਾਂ ਨੂੰ ਪਹੁੰਚਯੋਗ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ'; + + @override + String get subscriptionLoginRequiredError => + 'ਕਿਰਪਾ ਕਰਕੇ ਖਰੀਦ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਜਾਂ ਲੌਗ ਇਨ ਕਰੋ.'; +} + +/// The translations for Panjabi Punjabi, as used in Pakistan (`pa_PK`). +class PayLocalizationPaPk extends PayLocalizationPa { + PayLocalizationPaPk() : super('pa_PK'); + + @override + String get exampleButton => 'بٹن مثال'; + + @override + String get donationYesItsAllGoodButton => 'ہاں، سب ٹھیک ہے!'; + + @override + String get everyContributionHealsTitle => 'ہر شراکت شفا بخشتا ہے!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'تہاڈی شراکت ضرورت مند افراد نوں مفت مشورہ فراہم کرنے وچ مددگار ہے.'; + + @override + String get payWhatFeelsRightLabel => 'جو مناسب لگے، اوہی رقم ادا کرو,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'یا پھر مفت وچ Doctorina استعمال کردے رہو، اوہناں دا شکریہ جنہاں نے عطیہ دین دا فیصلہ کیتا.'; + + @override + String get oneTimeLabel => 'اک واری'; + + @override + String get monthlyLabel => 'ماہانہ'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'ماہانہ عطیہ کی رقم منتخب کریں'; + + @override + String get subscriptionNoAmount => + 'تُسیں اک ماہانہ پلان لئی سبسکرائب کرن جا رہے او'; + + @override + String subscriptionAmount(String amount) { + return 'تُسیں $amount/مہینہ لئی ماہانہ پلان تے سبسکرائب کر رہے او.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'تصدیق خریداری کے وقت آپ کے اکاؤنٹ سے رقم وصول کی جائے گی. سبسکرپشن خود بخود ہر مہینے تجدید ہو جاتی ہے جب تک کہ موجودہ مدت کے اختتام سے کم از کم 24 گھنٹے قبل خودکار تجدید بند نہ کی جائے. آپ کسی بھی وقت اپنے اکاؤنٹ کی ترتیبات میں اپنی سبسکرپشن کو منظم یا منسوخ کر سکتے ہیں. آگے بڑھ کر آپ ہمارے $termsOfService اور $privacyPolicy سے اتفاق کرتے ہیں'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'ایک وقتی عطیہ رقم منتخب کریں'; + + @override + String get mostPeopleGiveHint => 'اکثر لوگ \$7–\$15 دیتے ہیں'; + + @override + String get selectCurrencyTooltip => 'کرنسی منتخب کریں'; + + @override + String get processingPaymentSemantics => 'ادائیگی جاری ہے'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'ایک وقتی ادائیگی $currency $amount کی پراسیسنگ ہو رہی ہے'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'ماہانہ ادائیگی $amount کی پراسیسنگ ہو رہی ہے'; + } + + @override + String get thankYouTitle => 'تہاڈا شکریہ!'; + + @override + String get thankYouSubtitle => + 'ہن ہور لوگ مفت مشورہ حاصل کرنگے — تُہاڈی حمایت واقعی انمول اے'; + + @override + String get youContributedLabel => 'تُسی حصہ ڈالا:'; + + @override + String get perMonth => '/ مہینہ'; + + @override + String get returnToTheMainScreenButton => 'مین اسکرین ول واپس جائیں'; + + @override + String get termsOfServiceLabel => 'سروس دیاں شرائط'; + + @override + String get privacyPolicyLabel => 'رازداری پالیسی'; + + @override + String get donateButton => 'دان کرو'; + + @override + String get subscriptionStatusActiveLabel => 'فعال'; + + @override + String get subscriptionStatusCanceledLabel => 'منسوخ'; + + @override + String get subscriptionStatusPausedLabel => 'معطل'; + + @override + String get subscriptionStatusPendingLabel => 'زیر التواء'; + + @override + String get subscriptionStatusCreatedLabel => 'تخلیق کیا'; + + @override + String get subscriptionStatusTimeoutLabel => 'ٹائم آؤٹ'; + + @override + String get subscriptionStatusUnknownLabel => 'نامعلوم'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina ਯੋਗਦਾਨਕਰਤਾ'; + + @override + String get subscriptionRenews => 'تجدید'; + + @override + String get subscriptionCancelButton => 'سبسکرپشن منسوخ کریں'; + + @override + String get subscriptionAreYouSureDialogTitle => 'تُسی پکے او؟'; + + @override + String get subscriptionAreYouSureDialogText => + 'توانڈی ماہانہ مدد ڈاکٹرینا نوں انہاں لوکاں لئی مفت رکھدی اے جڑے اوہ تے منحصر نیں پر خرچ برداشت نئیں کر سکدے۔ توانڈی رکنیت ہر مہینے کم از کم ۱۰ مفت مشاورت فراہم کردی اے۔ جے تسی چھڈ دیو، تاں کٹ مریض اوہ مدد حاصل کر سکن گے جیہڑی اوہناں نوں درکار اے'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'ركنيت برقرار رکھو'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'ਫਿਰ ਵੀ ਰੱਦ ਕਰੋ'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'تہاڈی ماہانہ سپورٹ کامیابی نال منسوخ کیتی گئی اے'; + + @override + String get subscriptionMalformed => 'غلط سبسکرپشن ڈیٹا'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'ماہانہ سپورٹ کے لیے سائن اپ کریں تاکہ یہ یہاں ظاہر ہو'; + + @override + String get subscriptionNoSubscriptionsYet => 'ہن تک کوئی سبسکرپشن نہیں'; + + @override + String get subscriptionCreatedAtDateLabel => 'سبسکرپشن کی تاریخ'; + + @override + String get subscriptionExpiresAtDateLabel => 'ختم'; + + @override + String get subscriptionSubscriptionIdLabel => 'رکنیت شناخت'; + + @override + String get subscriptionProductIdLabel => 'پروڈکٹ آئی ڈی'; + + @override + String get subscriptionDialogOkButton => 'ٹھیک'; + + @override + String get errorProcessDonationTitle => 'اسی تہاڈی ادائیگی جاری نہیں کر سکے'; + + @override + String get errorProcessDonationSubtitle => + 'ادائیگی میں کچھ غلط ہو گیا. براہ مہربانی دوبارہ کوشش کریں.'; + + @override + String get errorProcessDonationRetryButton => 'دوبارہ کوشش کریں'; + + @override + String get processingDonationTitle => 'ادائیگی عمل میں ہے'; + + @override + String get processingDonationStripeSubtitle => + 'تُسی Stripe دے محفوظ چیک آؤٹ صفحے تے اپنی خریداری مکمل کرنگے.'; + + @override + String get perWeek => '/ ہفتہ'; + + @override + String get perYear => '/ سال'; + + @override + String get premiumMostPopularRibbon => 'سب سے مقبول'; + + @override + String get premiumCloseTooltip => 'بند کرو'; + + @override + String get premiumTitle => 'ڈاکٹرینا پریمیم'; + + @override + String get premiumWhatYouGetHeader => 'پریمیم کے ساتھ آپ کو کیا ملتا ہے:'; + + @override + String get premiumFeatureAdFree => 'اشتہارات سے پاک مشاورت'; + + @override + String get premiumFeatureFasterReplies => 'تیز جوابات'; + + @override + String get premiumFeatureEarlyAccess => 'نئی خصوصیات تک جلد رسائی'; + + @override + String get premiumPricePerWeek => '/ہفتہ'; + + @override + String get premiumCancelAnytime => + 'کسی بھی وقت منسوخ کریں۔ کوئی پابندی نہیں۔'; + + @override + String get premiumLimitedTimeBadge => 'محدود وقت'; + + @override + String get premiumAutoRenewsConsent => + 'ہر ہفتے خودکار تجدید ہوتی ہے۔ سیٹنگز میں کبھی بھی منسوخ کریں۔ جاری رکھنے سے، آپ ہماری شرائط اور

رازداری کی پالیسی

سے اتفاق کرتے ہیں۔'; + + @override + String get premiumContinueButton => '🎁 پریمیم کے ساتھ جاری رکھیں'; + + @override + String get premiumSupportMessage => + '💚 آپ کی حمایت صحت کی دیکھ بھال کو قابل رسائی رکھنے میں مدد کرتی ہے'; + + @override + String get subscriptionLoginRequiredError => + 'ਕਿਰਪਾ ਕਰਕੇ ਖਰੀਦਾਰੀ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ ਜਾਂ ਲਾਗਇਨ ਕਰੋ.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_pl.dart b/example/lib/src/generated/pay/pay_localization_pl.dart new file mode 100644 index 0000000..c1a3d20 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_pl.dart @@ -0,0 +1,245 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Polish (`pl`). +class PayLocalizationPl extends PayLocalization { + PayLocalizationPl([String locale = 'pl']) : super(locale); + + @override + String get exampleButton => 'Przykład przycisku'; + + @override + String get donationYesItsAllGoodButton => 'Tak, wszystko w porządku!'; + + @override + String get everyContributionHealsTitle => 'Każdy wkład leczy!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Twoja wpłata pomaga finansować darmowe porady dla innych potrzebujących'; + + @override + String get payWhatFeelsRightLabel => 'Płać, co uważasz za słuszne,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'lub korzystaj dalej z Doctorina za darmo, dzięki innym, którzy zdecydowali się pomóc.'; + + @override + String get oneTimeLabel => 'Jednorazowy'; + + @override + String get monthlyLabel => 'Miesięcznie'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Wybierz kwotę miesięcznej darowizny'; + + @override + String get subscriptionNoAmount => 'Zaraz subskrybujesz plan miesięczny'; + + @override + String subscriptionAmount(String amount) { + return 'Subskrybujesz plan miesięczny za $amount/miesiąc.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Opłata zostanie pobrana z Twojego konta po potwierdzeniu zakupu. Subskrypcja automatycznie odnawia się co miesiąc, chyba że automatyczne odnawianie zostanie wyłączone co najmniej 24 godziny przed końcem bieżącego okresu. Możesz zarządzać lub anulować swoją subskrypcję w dowolnym momencie w ustawieniach konta. Kontynuując, zgadzasz się na nasze $termsOfService i $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Wybierz kwotę jednorazowej darowizny'; + + @override + String get mostPeopleGiveHint => 'Większość ludzi daje 7–15 \$'; + + @override + String get selectCurrencyTooltip => 'Wybierz walutę'; + + @override + String get processingPaymentSemantics => 'Przetwarzanie płatności'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Przetwarzanie jednorazowej płatności w wysokości $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Przetwarzanie miesięcznej płatności w wysokości $amount'; + } + + @override + String get thankYouTitle => 'Dziękuję!'; + + @override + String get thankYouSubtitle => + 'Teraz jeszcze więcej osób otrzyma darmowe porady — twoje wsparcie jest naprawdę nieocenione.'; + + @override + String get youContributedLabel => 'Wniosłeś: '; + + @override + String get perMonth => '/ miesiąc'; + + @override + String get returnToTheMainScreenButton => 'Powrót do ekranu głównego'; + + @override + String get termsOfServiceLabel => 'Warunki korzystania z usługi'; + + @override + String get privacyPolicyLabel => 'Polityka prywatności'; + + @override + String get donateButton => 'Darowizna'; + + @override + String get subscriptionStatusActiveLabel => 'Aktywny'; + + @override + String get subscriptionStatusCanceledLabel => 'Anulowane'; + + @override + String get subscriptionStatusPausedLabel => 'Wstrzymano'; + + @override + String get subscriptionStatusPendingLabel => 'Oczekujące'; + + @override + String get subscriptionStatusCreatedLabel => 'Utworzono'; + + @override + String get subscriptionStatusTimeoutLabel => 'Przekroczono czas oczekiwania'; + + @override + String get subscriptionStatusUnknownLabel => 'Nieznany'; + + @override + String get subscriptionDoctorinaContributor => 'Współpracownik Doctorina'; + + @override + String get subscriptionRenews => 'Odnawia się'; + + @override + String get subscriptionCancelButton => 'Anuluj subskrypcję'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Czy jesteś pewny?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Twoje miesięczne wsparcie utrzymuje Doctorinę darmową dla osób, które z niej korzystają, ale nie mogą sobie pozwolić na opłatę. Twoja subskrypcja finansuje co najmniej 10 darmowych konsultacji każdego miesiąca. Jeśli odejdziesz, mniej pacjentów otrzyma pomoc, której potrzebują.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Zachowaj subskrypcję'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Anuluj mimo to'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Twoje miesięczne wsparcie zostało pomyślnie anulowane'; + + @override + String get subscriptionMalformed => 'Nieprawidłowe dane subskrypcyjne'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Zarejestruj się na miesięczne wsparcie, aby pojawiło się tutaj'; + + @override + String get subscriptionNoSubscriptionsYet => 'Brak subskrypcji'; + + @override + String get subscriptionCreatedAtDateLabel => 'Data subskrypcji'; + + @override + String get subscriptionExpiresAtDateLabel => 'Wygasa'; + + @override + String get subscriptionSubscriptionIdLabel => 'Identyfikator subskrypcji'; + + @override + String get subscriptionProductIdLabel => 'ID produktu'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'Nie mogliśmy zrealizować twojej płatności'; + + @override + String get errorProcessDonationSubtitle => + 'Coś poszło nie tak z płatnością. Spróbuj ponownie.'; + + @override + String get errorProcessDonationRetryButton => 'Spróbuj ponownie'; + + @override + String get processingDonationTitle => 'Przetwarzanie płatności'; + + @override + String get processingDonationStripeSubtitle => + 'Zakup zostanie zrealizowany na bezpiecznej stronie płatności Stripe.'; + + @override + String get perWeek => '/ tydzień'; + + @override + String get perYear => '/ rok'; + + @override + String get premiumMostPopularRibbon => 'Najpopularniejszy'; + + @override + String get premiumCloseTooltip => 'Zamknij'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Co zyskujesz z Premium:'; + + @override + String get premiumFeatureAdFree => 'Konsultacje bez reklam'; + + @override + String get premiumFeatureFasterReplies => 'Szybsze odpowiedzi'; + + @override + String get premiumFeatureEarlyAccess => 'Wczesny dostęp do nowych funkcji'; + + @override + String get premiumPricePerWeek => '/tydzień'; + + @override + String get premiumCancelAnytime => + 'Anuluj w dowolnym momencie. Bez zobowiązań.'; + + @override + String get premiumLimitedTimeBadge => 'OGRANICZONY CZAS'; + + @override + String get premiumAutoRenewsConsent => + 'Automatycznie odnawia się co tydzień. Możesz anulować w dowolnym momencie w ustawieniach. Kontynuując, zgadzasz się z naszymi Warunkami i

Polityką prywatności

.'; + + @override + String get premiumContinueButton => '🎁 Kontynuuj z Premium'; + + @override + String get premiumSupportMessage => + '💚 Twoje wsparcie pomaga utrzymać dostęp do opieki'; + + @override + String get subscriptionLoginRequiredError => + 'Proszę zarejestrować się lub zalogować, aby dokończyć zakupy.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_ps.dart b/example/lib/src/generated/pay/pay_localization_ps.dart new file mode 100644 index 0000000..602cf37 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_ps.dart @@ -0,0 +1,243 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Pushto Pashto (`ps`). +class PayLocalizationPs extends PayLocalization { + PayLocalizationPs([String locale = 'ps']) : super(locale); + + @override + String get exampleButton => 'د تڼۍ مثال'; + + @override + String get donationYesItsAllGoodButton => 'هو، هر څه ښه دي!'; + + @override + String get everyContributionHealsTitle => 'هر مرسته شفا ورکوي!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'ستاسو مرسته د نورو اړتیا لرونکو لپاره وړیا مشورې تمویلوي.'; + + @override + String get payWhatFeelsRightLabel => 'هغه څه ورکړئ چې سم احساس کوي'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'یا د نورو له خوا د ورکړې له امله د ډاکټرینا کارول وړیا وساتئ.'; + + @override + String get oneTimeLabel => 'یو ځل'; + + @override + String get monthlyLabel => 'میاشتنی'; + + @override + String get chooseMonthlyDonationAmountLabel => 'د میاشتني مرسته مقدار وټاکئ'; + + @override + String get subscriptionNoAmount => + 'تاسو د میاشتني پلان لپاره ګډون کولو ته چمتو یاست.'; + + @override + String subscriptionAmount(String amount) { + return 'تاسو د $amount/میاشت لپاره د میاشتني پلان لپاره ګډون کوئ.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'د پېرود تایید په وخت کې به ستاسو حساب ته پیسې چارج شي. ګډون هره میاشت په اوتومات ډول نوي کیږي، مګر که د اوسني دورې پای ته رسیدو ۲۴ ساعته مخکې د اوتومات نوي کولو بندول نه وي. تاسو کولی شئ هر وخت په خپل حساب کې د ګډون مدیریت یا لغوه کړئ. د مخکې تګ سره، تاسو زموږ $termsOfService او $privacyPolicy ته موافق یاست.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'یو ځل د مرستې اندازه وټاکئ'; + + @override + String get mostPeopleGiveHint => 'زیاتره خلک \$7–\$15 ورکوي'; + + @override + String get selectCurrencyTooltip => 'پیسه انتخاب کړئ'; + + @override + String get processingPaymentSemantics => 'د پیسو پروسس کول'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'د یو ځل تادیه پروسس کول $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'د میاشتني تادیې پروسس کول $amount'; + } + + @override + String get thankYouTitle => 'مننه!'; + + @override + String get thankYouSubtitle => + 'اوس ډیر خلک وړیا مشورې ترلاسه کوي — ستاسو ملاتړ واقعاً بې حده دی.'; + + @override + String get youContributedLabel => 'تاسو مرسته وکړه:'; + + @override + String get perMonth => '/ میاشت'; + + @override + String get returnToTheMainScreenButton => 'بېرته اصلي سکرین ته لاړ شئ'; + + @override + String get termsOfServiceLabel => 'د خدمتونو شرایط'; + + @override + String get privacyPolicyLabel => 'د پټتیا پالیسي'; + + @override + String get donateButton => 'مرسته وکړئ'; + + @override + String get subscriptionStatusActiveLabel => 'فعال'; + + @override + String get subscriptionStatusCanceledLabel => 'لغو شو'; + + @override + String get subscriptionStatusPausedLabel => 'موقوف'; + + @override + String get subscriptionStatusPendingLabel => 'په تمه'; + + @override + String get subscriptionStatusCreatedLabel => 'جوړ شو'; + + @override + String get subscriptionStatusTimeoutLabel => 'وخت تېر شو'; + + @override + String get subscriptionStatusUnknownLabel => 'نامعلوم'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina همکار'; + + @override + String get subscriptionRenews => 'نوېږي'; + + @override + String get subscriptionCancelButton => 'د ګډون لغوه'; + + @override + String get subscriptionAreYouSureDialogTitle => 'تاسو باوري یاست؟'; + + @override + String get subscriptionAreYouSureDialogText => + 'ستاسو میاشتنی ملاتړ د ډاکټرینا لپاره وړیا ساتي د هغو خلکو لپاره چې پرې تکیه کوي مګر د تادیې توان نلري.\n\nستاسو ګډون هره میاشت لږ تر لږه ۱۰ وړیا مشورې تمویلوي.\nکه تاسو لاړ شئ، لږ ناروغان به هغه مرسته ترلاسه کړي چې ورته اړتیا لري.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'د ګډون ساتل'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'په هر حال لغوه کړئ'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'ستاسو میاشتنی ملاتړ په بریالیتوب سره لغوه شو.'; + + @override + String get subscriptionMalformed => 'د نشتون ناسم معلومات'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'د میاشتني ملاتړ لپاره لاسلیک وکړئ ترڅو دلته څرګند شي.'; + + @override + String get subscriptionNoSubscriptionsYet => 'ترتیبونه لا نه دي'; + + @override + String get subscriptionCreatedAtDateLabel => 'د ګډون نیټه'; + + @override + String get subscriptionExpiresAtDateLabel => 'پایان می‌یابد'; + + @override + String get subscriptionSubscriptionIdLabel => 'د ګډون ID'; + + @override + String get subscriptionProductIdLabel => 'د محصول ID'; + + @override + String get subscriptionDialogOkButton => 'ښه'; + + @override + String get errorProcessDonationTitle => 'موږ ستاسو تادیه نه شو ترسره کولی'; + + @override + String get errorProcessDonationSubtitle => + 'د پیسو سره څه غلطه شوه. مهرباني وکړئ بیا هڅه وکړئ.'; + + @override + String get errorProcessDonationRetryButton => 'دوباره هڅه وکړئ'; + + @override + String get processingDonationTitle => 'د پیسو پروسس کول'; + + @override + String get processingDonationStripeSubtitle => + 'تاسو به د سټرایپ د خوندي چک آوټ پاڼې په مرسته خپل پیرود بشپړ کړئ.'; + + @override + String get perWeek => '/ هفته'; + + @override + String get perYear => '/ کال'; + + @override + String get premiumMostPopularRibbon => 'ډیر مشهور'; + + @override + String get premiumCloseTooltip => 'بندول'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'څه چې تاسو د Premium سره ترلاسه کوئ:'; + + @override + String get premiumFeatureAdFree => 'مشورې بې اعلاناتو'; + + @override + String get premiumFeatureFasterReplies => 'چټک ځوابونه'; + + @override + String get premiumFeatureEarlyAccess => + 'د نوو ځانګړتیاوو لپاره مخکینی لاسرسی'; + + @override + String get premiumPricePerWeek => '/هفته'; + + @override + String get premiumCancelAnytime => 'هر وخت لغو کړئ. هیڅ ژمنه نشته.'; + + @override + String get premiumLimitedTimeBadge => 'محدود وخت'; + + @override + String get premiumAutoRenewsConsent => + 'هر هفته به طور خودکار تمدید می‌شود. هر زمان در تنظیمات لغو کنید. با ادامه، شما با شرایط و

سیاست حفظ حریم خصوصی

ما موافقت می‌کنید.'; + + @override + String get premiumContinueButton => '🎁 د پریمیوم سره دوام ورکړئ'; + + @override + String get premiumSupportMessage => + '💚 ملاتړ مو د روغتیا پاملرنې د لاسرسي ساتلو کې مرسته کوي'; + + @override + String get subscriptionLoginRequiredError => + 'مهرباني وکړئ د پېرود بشپړولو لپاره نوم لیکنه وکړئ یا لاگ ان شئ.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_pt.dart b/example/lib/src/generated/pay/pay_localization_pt.dart index e5a8e62..3fa8fff 100644 --- a/example/lib/src/generated/pay/pay_localization_pt.dart +++ b/example/lib/src/generated/pay/pay_localization_pt.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'pay_localization.dart'; class PayLocalizationPt extends PayLocalization { PayLocalizationPt([String locale = 'pt']) : super(locale); - @override - String get title => 'Pagamento'; - @override String get exampleButton => 'Exemplo de botão'; @@ -20,21 +17,21 @@ class PayLocalizationPt extends PayLocalization { String get donationYesItsAllGoodButton => 'Sim, está tudo bem!'; @override - String get everyContributionHealsTitle => 'Toda contribuição cura!'; + String get everyContributionHealsTitle => 'Cada contribuição cura!'; @override String get ifThisHelpedYouConsiderSupportingSubtitle => - 'Sua contribuição ajuda a financiar aconselhamento gratuito para outras pessoas necessitadas.'; + 'Sua contribuição ajuda a financiar conselhos gratuitos para quem precisa.'; @override - String get payWhatFeelsRightLabel => 'Pague o que achar certo,'; + String get payWhatFeelsRightLabel => 'Pague o que parecer certo,'; @override String get orKeepUsingDoctorinaForFreeLabel => - 'ou continue usando o Doctorina gratuitamente, graças a outros que escolheram doar.'; + 'ou continue usando o Doctorina de graça, graças àqueles que escolheram doar'; @override - String get oneTimeLabel => 'Única vez'; + String get oneTimeLabel => 'Único'; @override String get monthlyLabel => 'Mensal'; @@ -49,12 +46,12 @@ class PayLocalizationPt extends PayLocalization { @override String subscriptionAmount(String amount) { - return 'Você está assinando um plano mensal de $amount/mês.'; + return 'Você está assinando um plano mensal por $amount/mês'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return 'O pagamento será cobrado em sua conta na confirmação da compra. A assinatura é renovada automaticamente todos os meses, a menos que a renovação automática seja desativada pelo menos 24 horas antes do final do período atual. Você pode gerenciar ou cancelar sua assinatura a qualquer momento nas configurações da sua conta. Ao prosseguir, você concorda com nossos $termsOfService e $privacyPolicy.'; + return 'O pagamento será cobrado na sua conta na confirmação da compra. A assinatura é renovada automaticamente a cada mês, a menos que a renovação automática seja desativada pelo menos 24 horas antes do final do período atual. Você pode gerenciar ou cancelar sua assinatura a qualquer momento nas configurações da sua conta. Ao prosseguir, você concorda com nossos $termsOfService e $privacyPolicy.'; } @override @@ -62,11 +59,10 @@ class PayLocalizationPt extends PayLocalization { 'Escolha o valor da doação única'; @override - String get mostPeopleGiveHint => - 'A maioria das pessoas doa de US\$ 7 a US\$ 15'; + String get mostPeopleGiveHint => 'A maioria dá \$7–\$15'; @override - String get selectCurrencyTooltip => 'Selecione a moeda'; + String get selectCurrencyTooltip => 'Selecionar moeda'; @override String get processingPaymentSemantics => 'Processando pagamento'; @@ -86,7 +82,7 @@ class PayLocalizationPt extends PayLocalization { @override String get thankYouSubtitle => - 'Agora, ainda mais pessoas receberão aconselhamento gratuito — seu apoio é realmente inestimável.'; + 'Agora, ainda mais pessoas receberão conselhos gratuitos — seu apoio é realmente inestimável.'; @override String get youContributedLabel => 'Você contribuiu:'; @@ -98,17 +94,14 @@ class PayLocalizationPt extends PayLocalization { String get returnToTheMainScreenButton => 'Voltar para a tela principal'; @override - String get termsOfServiceLabel => 'Termos de Serviço'; + String get termsOfServiceLabel => 'Termos de serviço'; @override - String get privacyPolicyLabel => 'política de Privacidade'; + String get privacyPolicyLabel => 'Política de Privacidade'; @override String get donateButton => 'Doar'; - @override - String get manageSubscriptionTitle => 'Gerenciar assinatura'; - @override String get subscriptionStatusActiveLabel => 'Ativo'; @@ -116,7 +109,7 @@ class PayLocalizationPt extends PayLocalization { String get subscriptionStatusCanceledLabel => 'Cancelado'; @override - String get subscriptionStatusPausedLabel => 'Pausado'; + String get subscriptionStatusPausedLabel => 'Em pausa'; @override String get subscriptionStatusPendingLabel => 'Pendente'; @@ -125,13 +118,13 @@ class PayLocalizationPt extends PayLocalization { String get subscriptionStatusCreatedLabel => 'Criado'; @override - String get subscriptionStatusTimeoutLabel => 'Tempo esgotado'; + String get subscriptionStatusTimeoutLabel => 'Tempo de espera'; @override String get subscriptionStatusUnknownLabel => 'Desconhecido'; @override - String get subscriptionDoctorinaContributor => 'Colaborador da Doctorina'; + String get subscriptionDoctorinaContributor => 'Colaborador do Doctorina'; @override String get subscriptionRenews => 'Renova'; @@ -140,11 +133,11 @@ class PayLocalizationPt extends PayLocalization { String get subscriptionCancelButton => 'Cancelar assinatura'; @override - String get subscriptionAreYouSureDialogTitle => 'Tem certeza?'; + String get subscriptionAreYouSureDialogTitle => 'Você tem certeza?'; @override String get subscriptionAreYouSureDialogText => - 'Seu apoio mensal mantém o Doctorina gratuito para pessoas que dependem dele, mas não podem pagar.\n\nSua assinatura financia pelo menos 10 consultas gratuitas por mês.\nSe você sair, menos pacientes receberão a ajuda de que precisam.'; + 'Seu apoio mensal mantém o Doctorina gratuito para as pessoas que dele dependem, mas não podem pagar.\n\nSua assinatura financia pelo menos 10 consultas gratuitas por mês.\nSe você sair, menos pacientes receberão a ajuda de que precisam'; @override String get subscriptionAreYouSureDialogKeepButton => 'Manter assinatura'; @@ -154,17 +147,17 @@ class PayLocalizationPt extends PayLocalization { @override String get subscriptionYourMonthlySupportCanceledNotification => - 'Seu suporte mensal\nfoi cancelado com sucesso.'; + 'Seu apoio mensal foi cancelado com sucesso.'; @override String get subscriptionMalformed => 'Dados de assinatura incorretos'; @override String get subscriptionSignUpForMonthlySupportButton => - 'Cadastre-se para receber suporte mensal para que ele apareça aqui.'; + 'Inscreva-se para o suporte mensal para que ele apareça aqui'; @override - String get subscriptionNoSubscriptionsYet => 'Nenhuma assinatura ainda'; + String get subscriptionNoSubscriptionsYet => 'Ainda não há assinaturas'; @override String get subscriptionCreatedAtDateLabel => 'Data de assinatura'; @@ -173,21 +166,21 @@ class PayLocalizationPt extends PayLocalization { String get subscriptionExpiresAtDateLabel => 'Expira'; @override - String get subscriptionSubscriptionIdLabel => 'ID da assinatura'; + String get subscriptionSubscriptionIdLabel => 'ID de assinatura'; @override String get subscriptionProductIdLabel => 'ID do produto'; @override - String get subscriptionDialogOkButton => 'OK'; + String get subscriptionDialogOkButton => 'Ok'; @override String get errorProcessDonationTitle => - 'Não foi possível prosseguir com o seu pagamento'; + 'Não foi possível processar seu pagamento'; @override String get errorProcessDonationSubtitle => - 'Ocorreu um erro com o pagamento.\nTente novamente.'; + 'Algo deu errado com o pagamento.\nPor favor, tente novamente.'; @override String get errorProcessDonationRetryButton => 'Tentar novamente'; @@ -197,16 +190,65 @@ class PayLocalizationPt extends PayLocalization { @override String get processingDonationStripeSubtitle => - 'Você concluirá sua compra na página de checkout segura do Stripe.'; + 'Você concluirá sua compra na página de checkout seguro da Stripe.'; + + @override + String get perWeek => '/ semana'; + + @override + String get perYear => '/ ano'; + + @override + String get premiumMostPopularRibbon => 'Mais Popular'; + + @override + String get premiumCloseTooltip => 'Fechar'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'O que você recebe com o Premium:'; + + @override + String get premiumFeatureAdFree => 'Consultas sem anúncios'; + + @override + String get premiumFeatureFasterReplies => 'Respostas mais rápidas'; + + @override + String get premiumFeatureEarlyAccess => 'Acesso antecipado a novos recursos'; + + @override + String get premiumPricePerWeek => '/semana'; + + @override + String get premiumCancelAnytime => + 'Cancele a qualquer momento. Sem compromisso.'; + + @override + String get premiumLimitedTimeBadge => 'LIMITADO NO TEMPO'; + + @override + String get premiumAutoRenewsConsent => + 'Renova automaticamente toda semana. Cancele a qualquer momento nas configurações. Ao continuar, você concorda com nossos Termos e

Política de Privacidade

.'; + + @override + String get premiumContinueButton => '🎁 Continuar com Premium'; + + @override + String get premiumSupportMessage => + '💚 Seu apoio ajuda a manter os cuidados acessíveis'; + + @override + String get subscriptionLoginRequiredError => + 'Por favor, inscreva-se ou faça login para concluir a compra.'; } /// The translations for Portuguese, as used in Brazil (`pt_BR`). class PayLocalizationPtBr extends PayLocalizationPt { PayLocalizationPtBr() : super('pt_BR'); - @override - String get title => 'Pagamento'; - @override String get exampleButton => 'Exemplo de botão'; @@ -214,21 +256,21 @@ class PayLocalizationPtBr extends PayLocalizationPt { String get donationYesItsAllGoodButton => 'Sim, está tudo bem!'; @override - String get everyContributionHealsTitle => 'Toda contribuição cura!'; + String get everyContributionHealsTitle => 'Cada contribuição cura!'; @override String get ifThisHelpedYouConsiderSupportingSubtitle => - 'Sua contribuição ajuda a financiar aconselhamento gratuito para outras pessoas necessitadas.'; + 'Sua contribuição ajuda a financiar conselhos gratuitos para quem precisa.'; @override - String get payWhatFeelsRightLabel => 'Pague o que achar certo,'; + String get payWhatFeelsRightLabel => 'Pague o que parecer certo,'; @override String get orKeepUsingDoctorinaForFreeLabel => - 'ou continue usando o Doctorina gratuitamente, graças a outros que escolheram doar.'; + 'ou continue usando o Doctorina de graça, graças àqueles que escolheram doar'; @override - String get oneTimeLabel => 'Única vez'; + String get oneTimeLabel => 'Único'; @override String get monthlyLabel => 'Mensal'; @@ -243,12 +285,12 @@ class PayLocalizationPtBr extends PayLocalizationPt { @override String subscriptionAmount(String amount) { - return 'Você está assinando um plano mensal de $amount/mês.'; + return 'Você está assinando um plano mensal por $amount/mês'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return 'O pagamento será cobrado em sua conta na confirmação da compra. A assinatura é renovada automaticamente todos os meses, a menos que a renovação automática seja desativada pelo menos 24 horas antes do final do período atual. Você pode gerenciar ou cancelar sua assinatura a qualquer momento nas configurações da sua conta. Ao prosseguir, você concorda com nossos $termsOfService e $privacyPolicy.'; + return 'O pagamento será cobrado na sua conta na confirmação da compra. A assinatura é renovada automaticamente a cada mês, a menos que a renovação automática seja desativada pelo menos 24 horas antes do final do período atual. Você pode gerenciar ou cancelar sua assinatura a qualquer momento nas configurações da sua conta. Ao prosseguir, você concorda com nossos $termsOfService e $privacyPolicy.'; } @override @@ -256,11 +298,10 @@ class PayLocalizationPtBr extends PayLocalizationPt { 'Escolha o valor da doação única'; @override - String get mostPeopleGiveHint => - 'A maioria das pessoas doa de US\$ 7 a US\$ 15'; + String get mostPeopleGiveHint => 'A maioria dá \$7–\$15'; @override - String get selectCurrencyTooltip => 'Selecione a moeda'; + String get selectCurrencyTooltip => 'Selecionar moeda'; @override String get processingPaymentSemantics => 'Processando pagamento'; @@ -280,7 +321,7 @@ class PayLocalizationPtBr extends PayLocalizationPt { @override String get thankYouSubtitle => - 'Agora, ainda mais pessoas receberão aconselhamento gratuito — seu apoio é realmente inestimável.'; + 'Agora, ainda mais pessoas receberão conselhos gratuitos — seu apoio é realmente inestimável.'; @override String get youContributedLabel => 'Você contribuiu:'; @@ -292,17 +333,14 @@ class PayLocalizationPtBr extends PayLocalizationPt { String get returnToTheMainScreenButton => 'Voltar para a tela principal'; @override - String get termsOfServiceLabel => 'Termos de Serviço'; + String get termsOfServiceLabel => 'Termos de serviço'; @override - String get privacyPolicyLabel => 'política de Privacidade'; + String get privacyPolicyLabel => 'Política de Privacidade'; @override String get donateButton => 'Doar'; - @override - String get manageSubscriptionTitle => 'Gerenciar assinatura'; - @override String get subscriptionStatusActiveLabel => 'Ativo'; @@ -310,7 +348,7 @@ class PayLocalizationPtBr extends PayLocalizationPt { String get subscriptionStatusCanceledLabel => 'Cancelado'; @override - String get subscriptionStatusPausedLabel => 'Pausado'; + String get subscriptionStatusPausedLabel => 'Em pausa'; @override String get subscriptionStatusPendingLabel => 'Pendente'; @@ -319,13 +357,13 @@ class PayLocalizationPtBr extends PayLocalizationPt { String get subscriptionStatusCreatedLabel => 'Criado'; @override - String get subscriptionStatusTimeoutLabel => 'Tempo esgotado'; + String get subscriptionStatusTimeoutLabel => 'Tempo de espera'; @override String get subscriptionStatusUnknownLabel => 'Desconhecido'; @override - String get subscriptionDoctorinaContributor => 'Colaborador da Doctorina'; + String get subscriptionDoctorinaContributor => 'Colaborador do Doctorina'; @override String get subscriptionRenews => 'Renova'; @@ -334,11 +372,11 @@ class PayLocalizationPtBr extends PayLocalizationPt { String get subscriptionCancelButton => 'Cancelar assinatura'; @override - String get subscriptionAreYouSureDialogTitle => 'Tem certeza?'; + String get subscriptionAreYouSureDialogTitle => 'Você tem certeza?'; @override String get subscriptionAreYouSureDialogText => - 'Seu apoio mensal mantém o Doctorina gratuito para pessoas que dependem dele, mas não podem pagar.\n\nSua assinatura financia pelo menos 10 consultas gratuitas por mês.\nSe você sair, menos pacientes receberão a ajuda de que precisam.'; + 'Seu apoio mensal mantém o Doctorina gratuito para as pessoas que dele dependem, mas não podem pagar.\n\nSua assinatura financia pelo menos 10 consultas gratuitas por mês.\nSe você sair, menos pacientes receberão a ajuda de que precisam'; @override String get subscriptionAreYouSureDialogKeepButton => 'Manter assinatura'; @@ -348,17 +386,17 @@ class PayLocalizationPtBr extends PayLocalizationPt { @override String get subscriptionYourMonthlySupportCanceledNotification => - 'Seu suporte mensal\nfoi cancelado com sucesso.'; + 'Seu apoio mensal foi cancelado com sucesso.'; @override String get subscriptionMalformed => 'Dados de assinatura incorretos'; @override String get subscriptionSignUpForMonthlySupportButton => - 'Cadastre-se para receber suporte mensal para que ele apareça aqui.'; + 'Inscreva-se para o suporte mensal para que ele apareça aqui'; @override - String get subscriptionNoSubscriptionsYet => 'Nenhuma assinatura ainda'; + String get subscriptionNoSubscriptionsYet => 'Ainda não há assinaturas'; @override String get subscriptionCreatedAtDateLabel => 'Data de assinatura'; @@ -367,21 +405,21 @@ class PayLocalizationPtBr extends PayLocalizationPt { String get subscriptionExpiresAtDateLabel => 'Expira'; @override - String get subscriptionSubscriptionIdLabel => 'ID da assinatura'; + String get subscriptionSubscriptionIdLabel => 'ID de assinatura'; @override String get subscriptionProductIdLabel => 'ID do produto'; @override - String get subscriptionDialogOkButton => 'OK'; + String get subscriptionDialogOkButton => 'Ok'; @override String get errorProcessDonationTitle => - 'Não foi possível prosseguir com o seu pagamento'; + 'Não foi possível processar seu pagamento'; @override String get errorProcessDonationSubtitle => - 'Ocorreu um erro com o pagamento.\nTente novamente.'; + 'Algo deu errado com o pagamento.\nPor favor, tente novamente.'; @override String get errorProcessDonationRetryButton => 'Tentar novamente'; @@ -391,5 +429,57 @@ class PayLocalizationPtBr extends PayLocalizationPt { @override String get processingDonationStripeSubtitle => - 'Você concluirá sua compra na página de checkout segura do Stripe.'; + 'Você concluirá sua compra na página de checkout seguro da Stripe.'; + + @override + String get perWeek => '/ semana'; + + @override + String get perYear => '/ ano'; + + @override + String get premiumMostPopularRibbon => 'Mais Popular'; + + @override + String get premiumCloseTooltip => 'Fechar'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'O que você recebe com o Premium:'; + + @override + String get premiumFeatureAdFree => 'Consultas sem anúncios'; + + @override + String get premiumFeatureFasterReplies => 'Respostas mais rápidas'; + + @override + String get premiumFeatureEarlyAccess => 'Acesso antecipado a novos recursos'; + + @override + String get premiumPricePerWeek => '/semana'; + + @override + String get premiumCancelAnytime => + 'Cancele a qualquer momento. Sem compromisso.'; + + @override + String get premiumLimitedTimeBadge => 'LIMITADO NO TEMPO'; + + @override + String get premiumAutoRenewsConsent => + 'Renova automaticamente toda semana. Cancele a qualquer momento nas configurações. Ao continuar, você concorda com nossos Termos e

Política de Privacidade

.'; + + @override + String get premiumContinueButton => '🎁 Continuar com Premium'; + + @override + String get premiumSupportMessage => + '💚 Seu apoio ajuda a manter os cuidados acessíveis'; + + @override + String get subscriptionLoginRequiredError => + 'Por favor, inscreva-se ou faça login para concluir a compra.'; } diff --git a/example/lib/src/generated/pay/pay_localization_ro.dart b/example/lib/src/generated/pay/pay_localization_ro.dart new file mode 100644 index 0000000..61a1c65 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_ro.dart @@ -0,0 +1,244 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Romanian Moldavian Moldovan (`ro`). +class PayLocalizationRo extends PayLocalization { + PayLocalizationRo([String locale = 'ro']) : super(locale); + + @override + String get exampleButton => 'Exemplu de buton'; + + @override + String get donationYesItsAllGoodButton => 'Da, totul este bine!'; + + @override + String get everyContributionHealsTitle => 'Fiecare contribuție vindecă!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Contribuția dumneavoastră ajută la finanțarea sfaturilor gratuite pentru alții care au nevoie.'; + + @override + String get payWhatFeelsRightLabel => 'Plătește ce simți că este corect,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'sau continuați să folosiți Doctorina gratuit, mulțumită altora care au ales să ofere.'; + + @override + String get oneTimeLabel => 'O singură dată'; + + @override + String get monthlyLabel => 'Lunar'; + + @override + String get chooseMonthlyDonationAmountLabel => 'Alegeți suma donației lunare'; + + @override + String get subscriptionNoAmount => + 'Ești pe cale să te abonezi la un plan lunar.'; + + @override + String subscriptionAmount(String amount) { + return 'Te abonezi la un plan lunar pentru $amount/luna.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Plata va fi debitata din contul dumneavoastră la confirmarea achiziției. Abonamentul se reînnoiește automat în fiecare lună, cu excepția cazului în care reînnoirea automată este dezactivată cu cel puțin 24 de ore înainte de sfârșitul perioadei curente. Puteți gestiona sau anula abonamentul oricând în setările contului dumneavoastră. Continuând, sunteți de acord cu $termsOfService și $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'Alegeți suma donației unice'; + + @override + String get mostPeopleGiveHint => 'Cei mai mulți oameni oferă \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Selectați moneda'; + + @override + String get processingPaymentSemantics => 'Se procesează plata'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Se procesează o plată unică de $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Se procesează plata lunară de $amount'; + } + + @override + String get thankYouTitle => 'Mulțumesc!'; + + @override + String get thankYouSubtitle => + 'Acum, și mai mulți oameni vor primi sfaturi gratuite - sprijinul tău este cu adevărat neprețuit.'; + + @override + String get youContributedLabel => 'Ați contribuit:'; + + @override + String get perMonth => '/ lună'; + + @override + String get returnToTheMainScreenButton => + 'Întoarceți-vă la ecranul principal'; + + @override + String get termsOfServiceLabel => 'Termeni și condiții'; + + @override + String get privacyPolicyLabel => 'Politica de confidențialitate'; + + @override + String get donateButton => 'Donează'; + + @override + String get subscriptionStatusActiveLabel => 'Activ'; + + @override + String get subscriptionStatusCanceledLabel => 'Anulat'; + + @override + String get subscriptionStatusPausedLabel => 'Pausat'; + + @override + String get subscriptionStatusPendingLabel => 'În așteptare'; + + @override + String get subscriptionStatusCreatedLabel => 'Creat'; + + @override + String get subscriptionStatusTimeoutLabel => 'Timp epuizat'; + + @override + String get subscriptionStatusUnknownLabel => 'Necunoscut'; + + @override + String get subscriptionDoctorinaContributor => 'Contribuitor Doctorina'; + + @override + String get subscriptionRenews => 'Se reînnoiește'; + + @override + String get subscriptionCancelButton => 'Anulează abonamentul'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Ești sigur?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Sprijinul tău lunar menține Doctorina gratuit pentru persoanele care se bazează pe el, dar nu își permit să plătească. Abonamentul tău finanțează cel puțin 10 consultații gratuite în fiecare lună. Dacă pleci, mai puțini pacienți vor primi ajutorul de care au nevoie.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Păstrează abonamentul'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Anulează oricum'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Suportul tău lunar a fost anulat cu succes.'; + + @override + String get subscriptionMalformed => 'Date de abonament incorecte'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Înscrieți-vă pentru suport lunar pentru a-l avea aici.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Nu există abonamente încă'; + + @override + String get subscriptionCreatedAtDateLabel => 'Data abonamentului'; + + @override + String get subscriptionExpiresAtDateLabel => 'Expiră'; + + @override + String get subscriptionSubscriptionIdLabel => 'ID de abonament'; + + @override + String get subscriptionProductIdLabel => 'ID produs'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'Nu am putut procesa plata dumneavoastră'; + + @override + String get errorProcessDonationSubtitle => + 'Ceva a mers prost cu plata. Vă rugăm să încercați din nou.'; + + @override + String get errorProcessDonationRetryButton => 'Reîncercați'; + + @override + String get processingDonationTitle => 'Se procesează plata'; + + @override + String get processingDonationStripeSubtitle => + 'Veți finaliza achiziția pe pagina de plată securizată a Stripe.'; + + @override + String get perWeek => '/ săptămână'; + + @override + String get perYear => '/ an'; + + @override + String get premiumMostPopularRibbon => 'Cel mai popular'; + + @override + String get premiumCloseTooltip => 'Închide'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Ce obții cu Premium:'; + + @override + String get premiumFeatureAdFree => 'Consultații fără reclame'; + + @override + String get premiumFeatureFasterReplies => 'Răspunsuri mai rapide'; + + @override + String get premiumFeatureEarlyAccess => 'Acces timpuriu la noi funcții'; + + @override + String get premiumPricePerWeek => '/săptămână'; + + @override + String get premiumCancelAnytime => 'Anulează oricând. Fără angajament.'; + + @override + String get premiumLimitedTimeBadge => 'OFERTĂ LIMITATĂ'; + + @override + String get premiumAutoRenewsConsent => + 'Se reînnoiește automat săptămânal. Anulează oricând în setări. Continuând, ești de acord cu Termenii și

Politica de confidențialitate

.'; + + @override + String get premiumContinueButton => '🎁 Continuare cu Premium'; + + @override + String get premiumSupportMessage => + '💚 Sprijinul tău ajută la menținerea accesibilității îngrijirii'; + + @override + String get subscriptionLoginRequiredError => + 'Vă rugăm să vă înscrieți sau să vă conectați pentru a finaliza achiziția.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_ru.dart b/example/lib/src/generated/pay/pay_localization_ru.dart index f622dc4..0d7df49 100644 --- a/example/lib/src/generated/pay/pay_localization_ru.dart +++ b/example/lib/src/generated/pay/pay_localization_ru.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,32 +10,28 @@ import 'pay_localization.dart'; class PayLocalizationRu extends PayLocalization { PayLocalizationRu([String locale = 'ru']) : super(locale); - @override - String get title => 'Оплата'; - @override String get exampleButton => 'Пример кнопки'; @override - String get donationYesItsAllGoodButton => 'Да, все хорошо!'; + String get donationYesItsAllGoodButton => 'Да, всё в порядке!'; @override String get everyContributionHealsTitle => 'Каждый вклад лечит!'; @override String get ifThisHelpedYouConsiderSupportingSubtitle => - 'Ваш вклад поможет финансировать бесплатные консультации для других нуждающихся.'; + 'Ваш вклад помогает финансировать бесплатные консультации для тех, кто в них нуждается.'; @override - String get payWhatFeelsRightLabel => - 'Платите столько, сколько считаете нужным,'; + String get payWhatFeelsRightLabel => 'Платите, сколько считаете правильным,'; @override String get orKeepUsingDoctorinaForFreeLabel => - 'или продолжайте пользоваться Doctorina бесплатно, благодаря другим, кто решил пожертвовать.'; + 'или продолжайте пользоваться Doctorina бесплатно, благодаря тем, кто решил пожертвовать'; @override - String get oneTimeLabel => 'Один раз'; + String get oneTimeLabel => 'Одноразовый'; @override String get monthlyLabel => 'Ежемесячно'; @@ -46,39 +42,39 @@ class PayLocalizationRu extends PayLocalization { @override String get subscriptionNoAmount => - 'Вы собираетесь оформить подписку на ежемесячный план.'; + 'Вы собираетесь подписаться на месячный план.'; @override String subscriptionAmount(String amount) { - return 'Вы оформляете ежемесячную подписку на $amount/месяц.'; + return 'Вы подписываетесь на ежемесячный план за $amount/месяц.'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return 'Оплата будет списана с вашего счёта при подтверждении покупки. Подписка автоматически продлевается каждый месяц, если автоматическое продление не будет отключено как минимум за 24 часа до окончания текущего периода. Вы можете управлять подпиской или отменить её в любое время в настройках своей учётной записи. Продолжая, вы соглашаетесь с нашими $termsOfService и $privacyPolicy.'; + return 'С вашего счета будет списана оплата после подтверждения покупки. Подписка автоматически продлевается каждый месяц, если функция автопродления не отключена как минимум за 24 часа до окончания текущего периода. Вы можете управлять подпиской или отменить её в любое время в настройках аккаунта. Продолжая, вы соглашаетесь с нашими $termsOfService и $privacyPolicy.'; } @override String get chooseOneTimeDonationAmountLabel => - 'Выберите сумму единовременного пожертвования'; + 'Выберите сумму разового пожертвования'; @override - String get mostPeopleGiveHint => 'Большинство людей дают 7–15 долларов'; + String get mostPeopleGiveHint => 'Большинство людей дают \$7–\$15'; @override String get selectCurrencyTooltip => 'Выберите валюту'; @override - String get processingPaymentSemantics => 'Обработка платежа'; + String get processingPaymentSemantics => 'Обработка оплаты'; @override String processingOneTimePaymentSemantics(String currency, String amount) { - return 'Обработка единовременного платежа в размере $currency $amount'; + return 'Обработка единовременного платежа $currency $amount'; } @override String processingMonthlyPaymentSemantics(String amount) { - return 'Обработка ежемесячного платежа в размере $amount'; + return 'Обрабатывается ежемесячный платеж на сумму $amount'; } @override @@ -86,10 +82,10 @@ class PayLocalizationRu extends PayLocalization { @override String get thankYouSubtitle => - 'Теперь еще больше людей получат бесплатные консультации — ваша поддержка действительно бесценна.'; + 'Теперь еще больше людей получат бесплатные советы — ваша поддержка действительно неоценима'; @override - String get youContributedLabel => 'Вы внесли свой вклад:'; + String get youContributedLabel => 'Ваш вклад:'; @override String get perMonth => '/ месяц'; @@ -98,31 +94,28 @@ class PayLocalizationRu extends PayLocalization { String get returnToTheMainScreenButton => 'Вернуться на главный экран'; @override - String get termsOfServiceLabel => 'Условия обслуживания'; + String get termsOfServiceLabel => 'Пользовательское соглашение'; @override - String get privacyPolicyLabel => 'политика конфиденциальности'; + String get privacyPolicyLabel => 'Политика конфиденциальности'; @override String get donateButton => 'Пожертвовать'; @override - String get manageSubscriptionTitle => 'Управление подпиской'; + String get subscriptionStatusActiveLabel => 'Активный'; @override - String get subscriptionStatusActiveLabel => 'Активна'; + String get subscriptionStatusCanceledLabel => 'Отменено'; @override - String get subscriptionStatusCanceledLabel => 'Отменена'; - - @override - String get subscriptionStatusPausedLabel => 'Приостановлена'; + String get subscriptionStatusPausedLabel => 'Приостановлено'; @override String get subscriptionStatusPendingLabel => 'В ожидании'; @override - String get subscriptionStatusCreatedLabel => 'Создана'; + String get subscriptionStatusCreatedLabel => 'Создано'; @override String get subscriptionStatusTimeoutLabel => 'Тайм-аут'; @@ -131,10 +124,10 @@ class PayLocalizationRu extends PayLocalization { String get subscriptionStatusUnknownLabel => 'Неизвестно'; @override - String get subscriptionDoctorinaContributor => 'Участник Doctorina'; + String get subscriptionDoctorinaContributor => 'Doctorina вкладчик'; @override - String get subscriptionRenews => 'Обновляется'; + String get subscriptionRenews => 'Продлевается'; @override String get subscriptionCancelButton => 'Отменить подписку'; @@ -144,31 +137,30 @@ class PayLocalizationRu extends PayLocalization { @override String get subscriptionAreYouSureDialogText => - 'Ваша ежемесячная поддержка позволяет людям, которые пользуются Doctorina, но не могут позволить себе платить, получать бесплатную подписку.\n\nВаша подписка покрывает как минимум 10 бесплатных консультаций в месяц.\nЕсли вы откажетесь от услуг, меньше пациентов получат необходимую им помощь.'; + 'Ваша ежемесячная поддержка позволяет Докторине оставаться бесплатной для людей, которые на неё рассчитывают, но не могут позволить себе платить. Ваша подписка финансирует не менее 10 бесплатных консультаций каждый месяц. Если вы уйдёте, меньше пациентов получат необходимую помощь.'; @override - String get subscriptionAreYouSureDialogKeepButton => 'Сохранить подписку'; + String get subscriptionAreYouSureDialogKeepButton => 'Оставить подписку'; @override - String get subscriptionAreYouSureDialogCancelButton => - 'Отменить в любом случае'; + String get subscriptionAreYouSureDialogCancelButton => 'Все равно отменить'; @override String get subscriptionYourMonthlySupportCanceledNotification => 'Ваша ежемесячная поддержка\nбыла успешно отменена.'; @override - String get subscriptionMalformed => 'Некорректные данные подписки'; + String get subscriptionMalformed => 'Неверные данные подписки'; @override String get subscriptionSignUpForMonthlySupportButton => - 'Оформите ежемесячную поддержку, чтобы она появилась здесь.'; + 'Подпишитесь на ежемесячную поддержку, чтобы она отображалась здесь'; @override String get subscriptionNoSubscriptionsYet => 'Подписок пока нет'; @override - String get subscriptionCreatedAtDateLabel => 'Дата оформления подписки'; + String get subscriptionCreatedAtDateLabel => 'Дата подписки'; @override String get subscriptionExpiresAtDateLabel => 'Истекает'; @@ -180,22 +172,74 @@ class PayLocalizationRu extends PayLocalization { String get subscriptionProductIdLabel => 'Идентификатор продукта'; @override - String get subscriptionDialogOkButton => 'Хорошо'; + String get subscriptionDialogOkButton => 'ОК'; @override String get errorProcessDonationTitle => 'Мы не смогли обработать ваш платеж'; @override String get errorProcessDonationSubtitle => - 'Произошла ошибка при оплате.\nПопробуйте ещё раз.'; + 'Что-то пошло не так с оплатой. Пожалуйста, попробуйте снова.'; @override - String get errorProcessDonationRetryButton => 'Повторить попытку'; + String get errorProcessDonationRetryButton => 'Повторить'; @override String get processingDonationTitle => 'Обработка платежа'; @override String get processingDonationStripeSubtitle => - 'Покупку можно завершить на защищенной странице оформления заказа Stripe.'; + 'Вы завершите покупку на защищённой странице оформления заказа Stripe.'; + + @override + String get perWeek => '/ неделя'; + + @override + String get perYear => '/ год'; + + @override + String get premiumMostPopularRibbon => 'Самый популярный'; + + @override + String get premiumCloseTooltip => 'Закрыть'; + + @override + String get premiumTitle => 'Doctorina Премиум'; + + @override + String get premiumWhatYouGetHeader => 'Что вы получаете с Премиум:'; + + @override + String get premiumFeatureAdFree => 'Консультации без рекламы'; + + @override + String get premiumFeatureFasterReplies => 'Быстрые ответы'; + + @override + String get premiumFeatureEarlyAccess => 'Ранний доступ к новым функциям'; + + @override + String get premiumPricePerWeek => '/неделя'; + + @override + String get premiumCancelAnytime => + 'Отмените в любое время. Без обязательств.'; + + @override + String get premiumLimitedTimeBadge => 'ОГРАНИЧЕННОЕ ВРЕМЯ'; + + @override + String get premiumAutoRenewsConsent => + 'Автообновление каждую неделю. Отменить в любое время в настройках. Продолжая, вы соглашаетесь с нашими Условиями и

Политикой конфиденциальности

.'; + + @override + String get premiumContinueButton => '🎁 Продолжить с Премиум'; + + @override + String get premiumSupportMessage => + '💚 Ваша поддержка помогает сделать медицинскую помощь доступной'; + + @override + String get subscriptionLoginRequiredError => + 'Пожалуйста, зарегистрируйтесь или войдите, чтобы завершить покупку'; } diff --git a/example/lib/src/generated/pay/pay_localization_si.dart b/example/lib/src/generated/pay/pay_localization_si.dart new file mode 100644 index 0000000..1534953 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_si.dart @@ -0,0 +1,243 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Sinhala Sinhalese (`si`). +class PayLocalizationSi extends PayLocalization { + PayLocalizationSi([String locale = 'si']) : super(locale); + + @override + String get exampleButton => 'බොත්තම උදාහරණය'; + + @override + String get donationYesItsAllGoodButton => 'ඔව්, සියල්ල හොඳයි!'; + + @override + String get everyContributionHealsTitle => 'සෑම දායකත්වයක්ම සුවය ලබා දෙයි!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'ඔබගේ දායකත්වය අනවශ්‍යයින්ට නිදහස් උපදෙස් ලබා දීමට මූල්‍ය සහය වශයෙන් උපකාරී වේ.'; + + @override + String get payWhatFeelsRightLabel => 'ඔබට හොඳින් හැඟෙන පරිදි ගෙවන්න,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'හෝ ඩොක්ටරිනාව නොමිලේ භාවිතා කරමින් සිටින්න, ලබා දීමට තෝරා ගත් අය thanks.'; + + @override + String get oneTimeLabel => 'එක් වරක්'; + + @override + String get monthlyLabel => 'මාසික'; + + @override + String get chooseMonthlyDonationAmountLabel => 'මාසික දායකත්ව මුදල තෝරන්න'; + + @override + String get subscriptionNoAmount => + 'ඔබ මාසික සැලැස්මකට සාමාජිකත්වය ලබා ගැනීමට යන්නෙහි.'; + + @override + String subscriptionAmount(String amount) { + return 'ඔබ $amount/මාසිකය සඳහා මාසික සැලැස්මකට සම්බන්ධ වෙමින් සිටී.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'ගෙවීම් ඔබේ ගිණුමට මිලදී ගැනීමේ තහවුරු කිරීමේදී අය කරනු ලැබේ. සාමාජිකත්වය සෑම මාසයකම ස්වයංක්‍රීයව නැවත නවීකරණය වේ, වර්තමාන කාලය අවසන් වීමට අවම වශයෙන් පැය 24 කින් පෙර ස්වයංක්‍රීය නැවත නවීකරණය අක්‍රිය කර නොමැතිනම්. ඔබට ඔබේ ගිණුම් සැකසුම් තුළ ඕනෑම වේලාවක ඔබේ සාමාජිකත්වය කළමනාකරණය කිරීමට හෝ අවලංගු කිරීමට හැක. ඉදිරියට යන විට, ඔබ අපගේ $termsOfService සහ $privacyPolicy සමඟ එකඟ වෙයි.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'එක්වර දායකත්ව මුදල තෝරන්න'; + + @override + String get mostPeopleGiveHint => 'බොහෝ මිනිසුන් \$7–\$15 දෙනවා'; + + @override + String get selectCurrencyTooltip => 'මුදල් තෝරන්න'; + + @override + String get processingPaymentSemantics => 'ගෙවීම් සැකසීම'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'එකවර ගෙවීමක් සකස් කරමින් $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return '$amount මාසික ගෙවීමක් සැකසීම'; + } + + @override + String get thankYouTitle => 'ස්තූතියි!'; + + @override + String get thankYouSubtitle => + 'දැන් තවත් බොහෝ දෙනෙකුට නොමිලේ උපදෙස් ලැබෙනු ඇත - ඔබගේ සහය වටිනාකමක් වේ.'; + + @override + String get youContributedLabel => 'ඔබ දායක විය:'; + + @override + String get perMonth => '/ මාසය'; + + @override + String get returnToTheMainScreenButton => 'ප්‍රධාන තිරයට ආපසු යන්න'; + + @override + String get termsOfServiceLabel => 'සේවා කොන්දේසි'; + + @override + String get privacyPolicyLabel => 'රහස්‍යතා ප්‍රතිපත්තිය'; + + @override + String get donateButton => 'දෙනුම් කරන්න'; + + @override + String get subscriptionStatusActiveLabel => 'සක්‍රීය'; + + @override + String get subscriptionStatusCanceledLabel => 'අවලංගු කරන ලදී'; + + @override + String get subscriptionStatusPausedLabel => 'අත්හිටුවා ඇත'; + + @override + String get subscriptionStatusPendingLabel => 'පැමිණිල්ලක්'; + + @override + String get subscriptionStatusCreatedLabel => 'නිර්මාණය කරන ලදී'; + + @override + String get subscriptionStatusTimeoutLabel => 'කාලය අවසන්'; + + @override + String get subscriptionStatusUnknownLabel => 'අදහස් නැත'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina දායකයා'; + + @override + String get subscriptionRenews => 'නවීකරණය'; + + @override + String get subscriptionCancelButton => 'අභෝෂණය කරන්න'; + + @override + String get subscriptionAreYouSureDialogTitle => 'ඔබට විශ්වාසද?'; + + @override + String get subscriptionAreYouSureDialogText => + 'ඔබගේ මාසික සහයෝගය ඩොක්ටර්නාව එයට යටත් වන, නමුත් ගෙවීමට නොහැකි පුද්ගලයන් සඳහා නොමිලේ තබා ගන්නා බවයි. ඔබගේ සාමාජිකත්වය මාසිකව අවම වශයෙන් 10 නොමිලේ උපදේශන සඳහා අරමුදල් සපයයි. ඔබ පිටවන්නේ නම්, අඩු රෝගීන්ට අවශ්‍ය ආධාරය ලැබෙන්නේ නැත.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'අභිජනනය තබා ගන්න'; + + @override + String get subscriptionAreYouSureDialogCancelButton => + 'අවශ්‍ය නම් අවලංගු කරන්න'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'ඔබගේ මාසික සහය සාර්ථකව අවලංගු කර ඇත.'; + + @override + String get subscriptionMalformed => 'අසත්‍ය සභාපති දත්ත'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'මාසික සහය සඳහා ලියාපදිංචි වන්න එය මෙහි පෙනී යාමට.'; + + @override + String get subscriptionNoSubscriptionsYet => 'ඉතින් කිසිදු සභාපතිත්වයක් නැත'; + + @override + String get subscriptionCreatedAtDateLabel => 'අභිජනන දිනය'; + + @override + String get subscriptionExpiresAtDateLabel => 'අවසන් වේ'; + + @override + String get subscriptionSubscriptionIdLabel => 'අභිජනන ID'; + + @override + String get subscriptionProductIdLabel => 'නිෂ්පාදන හැඳුනුම්පත'; + + @override + String get subscriptionDialogOkButton => 'හරි'; + + @override + String get errorProcessDonationTitle => 'අපි ඔබගේ ගෙවීම ක්‍රියාත්මක කර නොහැක'; + + @override + String get errorProcessDonationSubtitle => + 'ගෙවීම් වලින් කුමක් හෝ වැරදි විය. කරුණාකර නැවත උත්සාහ කරන්න.'; + + @override + String get errorProcessDonationRetryButton => 'නැවත උත්සාහ කරන්න'; + + @override + String get processingDonationTitle => 'ගෙවීම් සැකසීම'; + + @override + String get processingDonationStripeSubtitle => + 'ඔබට Stripe හි ආරක්ෂිත ගෙවීම් පිටුවේ ඔබේ මිලදී ගැනීම සම්පූර්ණ කරනු ඇත.'; + + @override + String get perWeek => '/ සතිය'; + + @override + String get perYear => '/ වසර'; + + @override + String get premiumMostPopularRibbon => 'Najpopularniji'; + + @override + String get premiumCloseTooltip => 'Zapri'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Kaj dobite s Premium:'; + + @override + String get premiumFeatureAdFree => 'Rekli nevidljive konsultacije'; + + @override + String get premiumFeatureFasterReplies => 'Hitra odgovora'; + + @override + String get premiumFeatureEarlyAccess => 'Hitra na novim funkcijama'; + + @override + String get premiumPricePerWeek => '/teden'; + + @override + String get premiumCancelAnytime => 'Prekliči kadarkoli. Brez obveznosti.'; + + @override + String get premiumLimitedTimeBadge => 'OMEJENO ČAS'; + + @override + String get premiumAutoRenewsConsent => + 'Automatski se obnavlja svake nedelje. Otkaži u bilo kojem trenutku u postavkama. Nastavljanjem se slažeš s našim Uslovima i

Politikom privatnosti

.'; + + @override + String get premiumContinueButton => '🎁 Nastavi s Premium'; + + @override + String get premiumSupportMessage => + '💚 Tava podpora pomaga ohranjati dostopno oskrbo'; + + @override + String get subscriptionLoginRequiredError => + 'කරුණාකර මිලදී ගැනීම සම්පූර්ණ කිරීමට ලියාපදිංචි වන්න හෝ පිවිසෙන්න.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_sk.dart b/example/lib/src/generated/pay/pay_localization_sk.dart new file mode 100644 index 0000000..c28a8cf --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_sk.dart @@ -0,0 +1,242 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Slovak (`sk`). +class PayLocalizationSk extends PayLocalization { + PayLocalizationSk([String locale = 'sk']) : super(locale); + + @override + String get exampleButton => 'Príklad tlačidla'; + + @override + String get donationYesItsAllGoodButton => 'Áno, je to všetko v poriadku!'; + + @override + String get everyContributionHealsTitle => 'Každý príspevok lieči!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Vaša príspevok pomáha financovať bezplatné poradenstvo pre ostatných v núdzi'; + + @override + String get payWhatFeelsRightLabel => 'Zaplaťte, čo sa vám zdá správne,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'alebo pokračujte v používaní Doctorina zadarmo, vďaka ostatným, ktorí sa rozhodli prispieť.'; + + @override + String get oneTimeLabel => 'Jednorazový'; + + @override + String get monthlyLabel => 'Mesačne'; + + @override + String get chooseMonthlyDonationAmountLabel => 'Vyberte mesačnú sumu daru'; + + @override + String get subscriptionNoAmount => 'Chystáte sa prihlásiť na mesačný plán.'; + + @override + String subscriptionAmount(String amount) { + return 'Prihlasujete sa na mesačný plán za $amount/mesiac.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Platba bude účtovaná na váš účet po potvrdení nákupu. Predplatné sa automaticky obnovuje každý mesiac, pokiaľ nie je automatické obnovenie vypnuté najmenej 24 hodín pred koncom aktuálneho obdobia. Svoje predplatné môžete spravovať alebo zrušiť kedykoľvek v nastaveniach účtu. Pokračovaním súhlasíte s našimi $termsOfService a $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Vyberte sumu jednorazového daru'; + + @override + String get mostPeopleGiveHint => 'Väčšina ľudí dáva 7–15 \$'; + + @override + String get selectCurrencyTooltip => 'Vyberte menu'; + + @override + String get processingPaymentSemantics => 'Spracovanie platby'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Spracovanie jednorazovej platby $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Spracovanie mesačnej platby vo výške $amount'; + } + + @override + String get thankYouTitle => 'Ďakujem!'; + + @override + String get thankYouSubtitle => + 'Teraz ešte viac ľudí dostane bezplatné rady — vaša podpora je naozaj neoceniteľná.'; + + @override + String get youContributedLabel => 'Prispeli ste:'; + + @override + String get perMonth => '/ mesiac'; + + @override + String get returnToTheMainScreenButton => 'Návrat na hlavnú obrazovku'; + + @override + String get termsOfServiceLabel => 'Podmienky služby'; + + @override + String get privacyPolicyLabel => 'Zásady ochrany osobných údajov'; + + @override + String get donateButton => 'Darovať'; + + @override + String get subscriptionStatusActiveLabel => 'Aktívne'; + + @override + String get subscriptionStatusCanceledLabel => 'Zrušené'; + + @override + String get subscriptionStatusPausedLabel => 'Pozastavené'; + + @override + String get subscriptionStatusPendingLabel => 'Čaká sa'; + + @override + String get subscriptionStatusCreatedLabel => 'Vytvorené'; + + @override + String get subscriptionStatusTimeoutLabel => 'Časový limit'; + + @override + String get subscriptionStatusUnknownLabel => 'Neznáme'; + + @override + String get subscriptionDoctorinaContributor => 'Prispievateľ Doctorina'; + + @override + String get subscriptionRenews => 'Obnovuje sa'; + + @override + String get subscriptionCancelButton => 'Zrušiť predplatné'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Ste si istí?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Vaša mesačná podpora udržuje Doctorinu bezplatnou pre ľudí, ktorí sa na ňu spoliehajú, ale nemôžu si ju dovoliť zaplatiť. Vaša predplatné financuje aspoň 10 bezplatných konzultácií každý mesiac. Ak odídete, menej pacientov dostane pomoc, ktorú potrebujú.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Udržať predplatné'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Zrušiť aj tak'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Vaša mesačná podpora bola úspešne zrušená.'; + + @override + String get subscriptionMalformed => 'Nesprávne údaje o predplatnom'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Prihláste sa na mesačnú podporu, aby sa tu zobrazila.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Žiadne predplatné zatiaľ'; + + @override + String get subscriptionCreatedAtDateLabel => 'Dátum predplatného'; + + @override + String get subscriptionExpiresAtDateLabel => 'Expiruje'; + + @override + String get subscriptionSubscriptionIdLabel => 'ID predplatného'; + + @override + String get subscriptionProductIdLabel => 'ID produktu'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => 'Nemohli sme spracovať vašu platbu'; + + @override + String get errorProcessDonationSubtitle => + 'Niečo sa pokazilo s platbou. Skúste to prosím znova.'; + + @override + String get errorProcessDonationRetryButton => 'Skúsiť znova'; + + @override + String get processingDonationTitle => 'Spracovanie platby'; + + @override + String get processingDonationStripeSubtitle => + 'Nákup dokončíte na zabezpečenej stránke Stripe.'; + + @override + String get perWeek => '/ týždeň'; + + @override + String get perYear => '/ rok'; + + @override + String get premiumMostPopularRibbon => 'Najobľúbenejšie'; + + @override + String get premiumCloseTooltip => 'Zavrieť'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Čo získate s prémiou:'; + + @override + String get premiumFeatureAdFree => 'Konzultácie bez reklám'; + + @override + String get premiumFeatureFasterReplies => 'Rýchlejšie odpovede'; + + @override + String get premiumFeatureEarlyAccess => 'Prednostný prístup k novým funkciám'; + + @override + String get premiumPricePerWeek => '/týždeň'; + + @override + String get premiumCancelAnytime => 'Zrušte kedykoľvek. Žiadne záväzky.'; + + @override + String get premiumLimitedTimeBadge => 'OBMEDZENÝ ČAS'; + + @override + String get premiumAutoRenewsConsent => + 'Automaticky sa obnovuje každý týždeň. Zrušiť kedykoľvek v nastaveniach. Pokračovaním súhlasíte s našimi Podmienkami a

Zásadami ochrany osobných údajov

.'; + + @override + String get premiumContinueButton => '🎁 Pokračovať s prémiovým'; + + @override + String get premiumSupportMessage => + '💚 Vaša podpora pomáha udržiavať prístupnú starostlivosť'; + + @override + String get subscriptionLoginRequiredError => + 'Prosím, zaregistrujte sa alebo sa prihláste, aby ste dokončili nákup.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_sw.dart b/example/lib/src/generated/pay/pay_localization_sw.dart new file mode 100644 index 0000000..9680110 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_sw.dart @@ -0,0 +1,245 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Swahili (`sw`). +class PayLocalizationSw extends PayLocalization { + PayLocalizationSw([String locale = 'sw']) : super(locale); + + @override + String get exampleButton => 'Mfano wa kitufe'; + + @override + String get donationYesItsAllGoodButton => 'Ndiyo, kila kitu ni sawa!'; + + @override + String get everyContributionHealsTitle => 'Kila mchango huponya!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Mchango wako husaidia kufadhili ushauri wa bure kwa wengine wanaohitaji.'; + + @override + String get payWhatFeelsRightLabel => 'Lipa kile unachohisi kinafaa,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'au endelea kutumia Doctorina bure, asante kwa wengine waliokuchagua kutoa.'; + + @override + String get oneTimeLabel => 'Mara Moja'; + + @override + String get monthlyLabel => 'Kila mwezi'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Chagua kiasi cha michango ya kila mwezi'; + + @override + String get subscriptionNoAmount => + 'Unaelekea kujisajili kwa mpango wa kila mwezi.'; + + @override + String subscriptionAmount(String amount) { + return 'Unajiandikisha kwenye mpango wa kila mwezi kwa $amount/mwezi'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Malipo yatachukuliwa kwenye akaunti yako wakati uthibitisho wa ununuzi. Usajili unasasisha kikamilifu kila mwezi isipokuwa auto-renew imezimwa angalau masaa 24 kabla ya kumalizika kwa kipindi cha sasa. Unaweza kusimamia au kufuta usajili wako wakati wowote katika mipangilio ya akaunti yako. Kwa kuendelea, unakubali $termsOfService na $privacyPolicy yetu.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Chagua kiasi cha mchango wa mara moja'; + + @override + String get mostPeopleGiveHint => 'Watu wengi hutoa \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Chagua sarafu'; + + @override + String get processingPaymentSemantics => 'Inachakata malipo'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Inasindika malipo ya mara moja ya $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Inashughulikia malipo ya kila mwezi $amount'; + } + + @override + String get thankYouTitle => 'Asante!'; + + @override + String get thankYouSubtitle => + 'Sasa watu wengi zaidi watapokea ushauri wa bure — msaada wako ni wa thamani sana.'; + + @override + String get youContributedLabel => 'Ulichangia:'; + + @override + String get perMonth => 'kwa mwezi'; + + @override + String get returnToTheMainScreenButton => 'Rudi kwenye skrini kuu'; + + @override + String get termsOfServiceLabel => 'Masharti ya Huduma'; + + @override + String get privacyPolicyLabel => 'Sera ya Faragha'; + + @override + String get donateButton => 'Changia'; + + @override + String get subscriptionStatusActiveLabel => 'Hai'; + + @override + String get subscriptionStatusCanceledLabel => 'Imeghairiwa'; + + @override + String get subscriptionStatusPausedLabel => 'Imesitishwa'; + + @override + String get subscriptionStatusPendingLabel => 'Inasubiri'; + + @override + String get subscriptionStatusCreatedLabel => 'Imeundwa'; + + @override + String get subscriptionStatusTimeoutLabel => 'Wakati umekwisha'; + + @override + String get subscriptionStatusUnknownLabel => 'Haijulikani'; + + @override + String get subscriptionDoctorinaContributor => 'Mchangiaji wa Doctorina'; + + @override + String get subscriptionRenews => 'Inafanya upya'; + + @override + String get subscriptionCancelButton => 'Futa usajili'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Una uhakika?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Uchangiaji wako wa kila mwezi unafanya Doctorina iwe bure kwa watu wanaotegemea lakini hawawezi kulipa. Usajili wako unafadhili angalau 10 ushauri wa bure kila mwezi. Ikiwa utaondoka, wagonjwa wachache watapata msaada wanaohitaji.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Endelea na usajili'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Futa hata hivyo'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Msaada wako wa kila mwezi umesitishwa kwa mafanikio.'; + + @override + String get subscriptionMalformed => 'Taarifa za usajili si sahihi'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Jisajili kwa msaada wa kila mwezi ili ionekane hapa'; + + @override + String get subscriptionNoSubscriptionsYet => 'Bado hakuna usajili'; + + @override + String get subscriptionCreatedAtDateLabel => 'Tarehe ya usajili'; + + @override + String get subscriptionExpiresAtDateLabel => 'Inamalizika'; + + @override + String get subscriptionSubscriptionIdLabel => 'Kitambulisho cha Usajili'; + + @override + String get subscriptionProductIdLabel => 'Kitambulisho cha Bidhaa'; + + @override + String get subscriptionDialogOkButton => 'Sawa'; + + @override + String get errorProcessDonationTitle => 'Hatukuweza kuendelea na malipo yako'; + + @override + String get errorProcessDonationSubtitle => + 'Kitu kilikwenda vibaya na malipo. Tafadhali jaribu tena.'; + + @override + String get errorProcessDonationRetryButton => 'Jaribu tena'; + + @override + String get processingDonationTitle => 'Inachakata malipo'; + + @override + String get processingDonationStripeSubtitle => + 'Utakamilisha ununuzi wako kwenye ukurasa wa malipo salama wa Stripe.'; + + @override + String get perWeek => '/ wiki'; + + @override + String get perYear => '/ mwaka'; + + @override + String get premiumMostPopularRibbon => 'Maarufu Zaidi'; + + @override + String get premiumCloseTooltip => 'Funga'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Kile unachopata na Premium:'; + + @override + String get premiumFeatureAdFree => 'Mikutano bila matangazo'; + + @override + String get premiumFeatureFasterReplies => 'Majibu ya haraka'; + + @override + String get premiumFeatureEarlyAccess => + 'Upatikanaji wa mapema wa vipengele vipya'; + + @override + String get premiumPricePerWeek => '/wiki'; + + @override + String get premiumCancelAnytime => 'Avboka när som helst. Ingen bindning.'; + + @override + String get premiumLimitedTimeBadge => 'WAKATI WA KIKOMO'; + + @override + String get premiumAutoRenewsConsent => + 'Auto-renews kila wiki. Ghairi wakati wowote kwenye mipangilio. Kwa kuendelea, unakubali Masharti na

Sera ya Faragha

.'; + + @override + String get premiumContinueButton => '🎁 Fortsätt med Premium'; + + @override + String get premiumSupportMessage => + '💚 Msaada wako husaidia kuweka huduma kuwa na upatikanaji'; + + @override + String get subscriptionLoginRequiredError => + 'Tafadhali jiandikishe au ingia ili kukamilisha ununuzi.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_ta.dart b/example/lib/src/generated/pay/pay_localization_ta.dart new file mode 100644 index 0000000..671d039 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_ta.dart @@ -0,0 +1,250 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tamil (`ta`). +class PayLocalizationTa extends PayLocalization { + PayLocalizationTa([String locale = 'ta']) : super(locale); + + @override + String get exampleButton => 'எடுத்துக்காட்டு பட்டன்'; + + @override + String get donationYesItsAllGoodButton => 'ஆம், எல்லாம் சரி!'; + + @override + String get everyContributionHealsTitle => 'ஒவ்வொரு பங்களிப்பும் குணமாக்கும்!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'உங்கள் பங்களிப்பு, உதவி தேவைப்படும் மற்றவர்களுக்கு இலவச ஆலோசனைகளை நிதியுதவி செய்கிறது.'; + + @override + String get payWhatFeelsRightLabel => + 'உங்களுக்கு சரியாக தோன்றும் அளவு செலுத்துங்கள்,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'அல்லது இலவசமாக Doctorina-ஐ பயன்படுத்தி தொடரவும், தானாக கொடுக்கத் தேர்ந்தெடுத்தவர்களுக்கு நன்றி.'; + + @override + String get oneTimeLabel => 'ஒரே முறை'; + + @override + String get monthlyLabel => 'மாதாந்திர'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'மாதாந்திர நன்கொடைக் தொகையை தேர்ந்தெடுக்கவும்'; + + @override + String get subscriptionNoAmount => + 'நீங்கள் மாதாந்திர திட்டத்திற்கு சந்தா பெறப்போகிறீர்கள்.'; + + @override + String subscriptionAmount(String amount) { + return 'நீங்கள் $amount/மாதம் என மாதாந்திர திட்டத்தில் சேர்கிறீர்கள்'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'கொள்முதல் உறுதிப்படுத்தலின் போது உங்கள் கணக்கில் கட்டணம் வசூலிக்கப்படும். சந்தா தானாக ஒவ்வொரு மாதமும் புதுப்பிக்கப்படுகிறது, \'auto-renew\' குறைந்தது 24 மணி நேரம் முன்பு நிறுத்தப்படவில்லை என்றால். நீங்கள் எப்பொழுதும் உங்கள் கணக்கு அமைப்புகளில் சந்தாவைக் கையாளவோ அல்லது ரத்துசெய்யவோ முடியும். தொடர்வதன் மூலம், நீங்கள் எங்கள் $termsOfService மற்றும் $privacyPolicy உடன் ஒப்புக்கொள்கிறீர்கள்.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'ஒரே முறை நன்கொடை தொகையை தேர்வு செய்யவும்'; + + @override + String get mostPeopleGiveHint => 'பலர் \$7–\$15 கொடுப்பார்கள்'; + + @override + String get selectCurrencyTooltip => 'நாணயத்தைத் தேர்வு செய்க'; + + @override + String get processingPaymentSemantics => 'கட்டணம் செயலாக்கப்படுகிறது'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'ஒரே முறை கட்டணம் $currency $amount செயலாக்கப்படுகிறது'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'மாதாந்திர $amount கட்டணத்தை செயலாக்குகிறது'; + } + + @override + String get thankYouTitle => 'நன்றி!'; + + @override + String get thankYouSubtitle => + 'இப்போது மேலும் பலர் இலவச ஆலோசனையை பெறுவார்கள் — உங்கள் ஆதரவு உண்மையாக அমূল்யமாகும்.'; + + @override + String get youContributedLabel => 'நீங்கள் பங்களித்தீர்கள்:'; + + @override + String get perMonth => 'ஒரு மாதத்திற்கு'; + + @override + String get returnToTheMainScreenButton => 'முதன்மை திரைக்கு திரும்பு'; + + @override + String get termsOfServiceLabel => 'சேவை விதிமுறைகள்'; + + @override + String get privacyPolicyLabel => 'தனியுரிமைக் கொள்கை'; + + @override + String get donateButton => 'தானம் செய்'; + + @override + String get subscriptionStatusActiveLabel => 'செயலில்'; + + @override + String get subscriptionStatusCanceledLabel => 'ரத்து செய்யப்பட்டது'; + + @override + String get subscriptionStatusPausedLabel => 'இடைநிறுத்தப்பட்டது'; + + @override + String get subscriptionStatusPendingLabel => 'நிலுவையில்'; + + @override + String get subscriptionStatusCreatedLabel => 'உருவாக்கப்பட்டது'; + + @override + String get subscriptionStatusTimeoutLabel => 'நேரம் முடிந்தது'; + + @override + String get subscriptionStatusUnknownLabel => 'தெரியவில்லை'; + + @override + String get subscriptionDoctorinaContributor => 'டாக்டரினா பங்களிப்பாளர்'; + + @override + String get subscriptionRenews => 'புதுப்பிக்கும்'; + + @override + String get subscriptionCancelButton => 'சந்தாவை இரத்து'; + + @override + String get subscriptionAreYouSureDialogTitle => + 'நீங்கள் உறுதியாக இருக்கிறீர்களா?'; + + @override + String get subscriptionAreYouSureDialogText => + 'உங்கள் மாதாந்திர ஆதரவு, கட்டணம் செலுத்த முடியாத, அதில் நம்பிக்கை வைக்கும் நபர்களுக்காக Doctorina ஐ இலவசமாக வைத்திருக்கிறது. உங்கள் சந்தா ஒவ்வொரு மாதமும் குறைந்தபட்சம் 10 இலவச ஆலோசனைகளை நிதியளிக்கிறது. நீங்கள் விட்டு விட்டு போனால், குறைவான நோயாளிகள் தேவையான உதவியைப் பெறுவார்கள்.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => + 'சந்தாவை வைத்துக் கொள்ளவும்'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'எனினும் ரத்து செய்'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'உங்கள் மாதாந்திர ஆதரவு வெற்றிகரமாக ரத்துசெய்யப்பட்டது.'; + + @override + String get subscriptionMalformed => 'தவறான சந்தா தரவு'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'மாதாந்திர ஆதரவிற்காக பதிவு செய்யவும், அது இங்கு தோன்றும்'; + + @override + String get subscriptionNoSubscriptionsYet => 'இன்னும் சந்தாக்கள் இல்லை'; + + @override + String get subscriptionCreatedAtDateLabel => 'சந்தா தேதி'; + + @override + String get subscriptionExpiresAtDateLabel => 'முடிவடையும்'; + + @override + String get subscriptionSubscriptionIdLabel => 'சந்தா ஐடி'; + + @override + String get subscriptionProductIdLabel => 'தயாரிப்பு ஐடி'; + + @override + String get subscriptionDialogOkButton => 'சரி'; + + @override + String get errorProcessDonationTitle => + 'உங்கள் கட்டணத்தை செயல்படுத்த முடியவில்லை'; + + @override + String get errorProcessDonationSubtitle => + 'பணம் செலுத்துவதில் ஏதும் தவறானது. தயவுசெய்து மீண்டும் முயற்சிக்கவும்.'; + + @override + String get errorProcessDonationRetryButton => 'மீண்டும் முயற்சி'; + + @override + String get processingDonationTitle => 'கட்டணம் செயலாக்கப்படுகிறது'; + + @override + String get processingDonationStripeSubtitle => + 'நீங்கள் Stripe’s பாதுகாப்பான செக்அவுட் பக்கத்தில் உங்கள் வாங்கலை முடிப்பீர்கள்.'; + + @override + String get perWeek => '/ வாரம்'; + + @override + String get perYear => '/ வருடம்'; + + @override + String get premiumMostPopularRibbon => 'மிகவும் பிரபலமான'; + + @override + String get premiumCloseTooltip => 'மூடு'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'பிரீமியத்தில் நீங்கள் பெறுவது:'; + + @override + String get premiumFeatureAdFree => 'விளம்பரமில்லா ஆலோசனைகள்'; + + @override + String get premiumFeatureFasterReplies => 'விரைவான பதில்கள்'; + + @override + String get premiumFeatureEarlyAccess => + 'புதிய அம்சங்களுக்கு முன்கூட்டிய அணுகல்'; + + @override + String get premiumPricePerWeek => '/வாரம்'; + + @override + String get premiumCancelAnytime => + 'எப்போது வேண்டுமானாலும் ரத்து செய்யவும். எந்த கட்டுப்பாடும் இல்லை.'; + + @override + String get premiumLimitedTimeBadge => 'காலக்கெடு'; + + @override + String get premiumAutoRenewsConsent => + 'தினசரி புதுப்பிக்கப்படுகிறது. அமைப்புகளில் எப்போது வேண்டுமானாலும் ரத்து செய்யவும். தொடர்வதன் மூலம், நீங்கள் எங்கள் விதிமுறைகள் மற்றும்

தனியுரிமை கொள்கை

க்கு ஒப்புக்கொள்கிறீர்கள்.'; + + @override + String get premiumContinueButton => '🎁 பிரீமியத்துடன் தொடரவும்'; + + @override + String get premiumSupportMessage => + '💚 உங்கள் ஆதரவு சிகிச்சையை அணுகக்கூடியதாக வைத்திருக்க உதவுகிறது'; + + @override + String get subscriptionLoginRequiredError => + 'தயவுசெய்து பதிவு செய்யவும் அல்லது உள்நுழையவும் வாங்கலை முடிக்க.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_te.dart b/example/lib/src/generated/pay/pay_localization_te.dart new file mode 100644 index 0000000..8791e1e --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_te.dart @@ -0,0 +1,245 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Telugu (`te`). +class PayLocalizationTe extends PayLocalization { + PayLocalizationTe([String locale = 'te']) : super(locale); + + @override + String get exampleButton => 'బటన్ ఉదాహరణ'; + + @override + String get donationYesItsAllGoodButton => 'అవును, అన్నీ బాగున్నాయి!'; + + @override + String get everyContributionHealsTitle => 'ప్రతి తోడ్పాటు నయం చేస్తుంది!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'మీ సహకారం అవసరమయ్యే వారికి ఉచిత సలహా అందించడానికి నిధులను అందిస్తుంది.'; + + @override + String get payWhatFeelsRightLabel => 'మీ భావనకు అనుగుణంగా చెల్లించండి,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'లేదా ఉచితంగా Doctorina ని వాడుతూ ఉండండి, ఇవ్వడానికి ఎంచుకున్న ఇతరుల కారణంగా'; + + @override + String get oneTimeLabel => 'ఒకసారి'; + + @override + String get monthlyLabel => 'నెలసరి'; + + @override + String get chooseMonthlyDonationAmountLabel => 'నెలసరి దానం మొత్తం ఎంచుకోండి'; + + @override + String get subscriptionNoAmount => + 'మీరు నెలసరి ప్రణాళికకు సబ్dస్క్రైబ్ అవ్వబోతున్నారు.'; + + @override + String subscriptionAmount(String amount) { + return 'మీరు $amount/నెలకు నెలవారీ ప్లాన్‌కు సభ్యత్వం పొందుతున్నారు.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'కొనుగోలు నిర్ధారణ సమయంలో మీ ఖాతాకు చెల్లింపు వసూలు చేయబడుతుంది. ప్రస్తుత కాలం ముగియడానికి కనీసం 24 గంటల ముందు ఆటో-రెన్యూవ్ ఆఫ్ చేయబడకపోతే, సబ్‌స్క్రిప్షన్ ప్రతి నెల ఆటోమేటిక్‌గా నవీకరించబడుతుంది. మీరు మీ ఖాతా సెట్టింగ్లలో ఏ సందర్భానైనా సబ్‌స్క్రిప్షన్‌ను నిర్వహించవచ్చు లేదా రద్దు చేయవచ్చు. కొనసాగించడం ద్వారా, మీరు మా $termsOfService మరియు $privacyPolicy కి ఆమోదం తెలిపుతున్నారు'; + } + + @override + String get chooseOneTimeDonationAmountLabel => 'ఒకసారి దానం మొత్తం ఎంచుకోండి'; + + @override + String get mostPeopleGiveHint => 'బహుళ మంది \$7–\$15 ఇస్తారు'; + + @override + String get selectCurrencyTooltip => 'కరెన్సీని ఎంచుకోండి'; + + @override + String get processingPaymentSemantics => 'చెల్లింపు ప్రాసెస్ అవుతోంది'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'ఒక్కసారి చెల్లింపు $currency $amount ప్రాసెస్ జరుగుతోంది'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'నెలవారీ చెల్లింపు $amountను ప్రాసెస్ అవుతోంది'; + } + + @override + String get thankYouTitle => 'ధన్యవాదాలు!'; + + @override + String get thankYouSubtitle => + 'ఇప్పుడు మరింత మంది ఉచిత సలహా పొందగలుగుతారు — మీ మద్దతు నిజానికి అమూల్యమైనది.'; + + @override + String get youContributedLabel => 'మీరు తోడ్పడినారు:'; + + @override + String get perMonth => '/నెల'; + + @override + String get returnToTheMainScreenButton => 'ముఖ్య తెరకు తిరిగి వెళ్లండి'; + + @override + String get termsOfServiceLabel => 'సేవా నిబంధనలు'; + + @override + String get privacyPolicyLabel => 'గోప్యతా విధానం'; + + @override + String get donateButton => 'దానం చేయండి'; + + @override + String get subscriptionStatusActiveLabel => 'సక్రియ'; + + @override + String get subscriptionStatusCanceledLabel => 'రద్దైంది'; + + @override + String get subscriptionStatusPausedLabel => 'ఆపివేయబడింది'; + + @override + String get subscriptionStatusPendingLabel => 'పెండింగ్'; + + @override + String get subscriptionStatusCreatedLabel => 'సృష్టించబడింది'; + + @override + String get subscriptionStatusTimeoutLabel => 'సమయం ముగిసింది'; + + @override + String get subscriptionStatusUnknownLabel => 'తెలియదు'; + + @override + String get subscriptionDoctorinaContributor => 'డాక్టరినా కాంట్రిబ్యూటర్'; + + @override + String get subscriptionRenews => 'నవీకరిస్తుంది'; + + @override + String get subscriptionCancelButton => 'సబ్‌స్క్రిప్షన్ రద్దు'; + + @override + String get subscriptionAreYouSureDialogTitle => 'మీరు ఖచ్చితంగా ఉన్నారా?'; + + @override + String get subscriptionAreYouSureDialogText => + 'మీ నెలవారీ సహాయం, చెల్లించడానికి వీలు లేని, దాని మీద ఆధారపడే వారికి డాక్టరినా ని ఉచితంగా ఉంచుతుంది. మీ సభ్యత్వం ప్రతి నెల కనీసం 10 ఉచిత సలహాలను ఫాండ్ చేస్తుంది. మీరు వెళ్లిపోతే, తక్కువ రోగులకు అవసరమైన సహాయం అందదు'; + + @override + String get subscriptionAreYouSureDialogKeepButton => + 'సబ్‌స్క్రిప్షన్ కొనసాగించు'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'ఏమైనా రद्दు చేయండి'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'మీ నెలవారీ మద్దతు విజయవంతంగా రద్దు చేయబడింది.'; + + @override + String get subscriptionMalformed => 'చెల్లని సబ్‌స్క్రిప్షన్ డేటా'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'నెలసరి మద్దతు కోసం నమోదు అవ్వండి, తద్వారా ఇది ఇక్కడ కనిపిస్తుంది'; + + @override + String get subscriptionNoSubscriptionsYet => + 'ఇంకా ఎలాంటి సబ్‌స్క్రిప్షన్లు లేవు'; + + @override + String get subscriptionCreatedAtDateLabel => 'సబ్‌స్క్రిప్షన్ తేదీ'; + + @override + String get subscriptionExpiresAtDateLabel => 'ముగుస్తుంది'; + + @override + String get subscriptionSubscriptionIdLabel => 'సబ్‌స్క్రిప్షన్ ID'; + + @override + String get subscriptionProductIdLabel => 'ఉత్పత్తి గుర్తింపు'; + + @override + String get subscriptionDialogOkButton => 'సరే'; + + @override + String get errorProcessDonationTitle => 'మేము మీ చెల్లింపును కొనసాగించలేము'; + + @override + String get errorProcessDonationSubtitle => + 'చెల్లింపు సమయంలో ఏదో తప్పు జరిగింది. దయచేసి మళ్లీ ప్రయత్నించండి.'; + + @override + String get errorProcessDonationRetryButton => 'మళ్లీ ప్రయత్నించండి'; + + @override + String get processingDonationTitle => 'చెల్లింపు ప్రాసెస్ అవుతోంది'; + + @override + String get processingDonationStripeSubtitle => + 'మీరు Stripe యొక్క సురక్షిత చెల్లింపు పేజీలో మీ కొనుగోలును పూర్తిచేస్తారు.'; + + @override + String get perWeek => '/ వారానికి'; + + @override + String get perYear => '/ సంవత్సరం'; + + @override + String get premiumMostPopularRibbon => 'అత్యంత ప్రజాదరణ'; + + @override + String get premiumCloseTooltip => 'మూసివేయి'; + + @override + String get premiumTitle => 'డాక్టర్ ప్రీమియం'; + + @override + String get premiumWhatYouGetHeader => 'ప్రీమియం తో మీరు పొందే విషయాలు:'; + + @override + String get premiumFeatureAdFree => 'విజ్ఞాపనలేని సలహాలు'; + + @override + String get premiumFeatureFasterReplies => 'తక్షణ సమాధానాలు'; + + @override + String get premiumFeatureEarlyAccess => 'కొత్త ఫీచర్లకు ముందస్తు ప్రాప్తి'; + + @override + String get premiumPricePerWeek => '/సప్తాహం'; + + @override + String get premiumCancelAnytime => + 'ఎప్పుడైనా రద్దు చేయండి. ఎలాంటి బంధనాలు లేవు.'; + + @override + String get premiumLimitedTimeBadge => 'సమయ పరిమితి'; + + @override + String get premiumAutoRenewsConsent => + 'ప్రతి వారం ఆటో-రిన్యూ అవుతుంది. సెట్టింగ్స్‌లో ఎప్పుడైనా రద్దు చేయండి. కొనసాగితే, మా నిబంధనలు మరియు

గోప్యతా విధానం

ని మీరు అంగీకరిస్తున్నారు.'; + + @override + String get premiumContinueButton => '🎁 ప్రీమియమ్‌తో కొనసాగండి'; + + @override + String get premiumSupportMessage => + '💚 మీ మద్దతు ఆరోగ్య సంరక్షణను అందుబాటులో ఉంచడంలో సహాయపడుతుంది'; + + @override + String get subscriptionLoginRequiredError => + 'దయచేసి కొనుగోళ్లు పూర్తి చేయడానికి సైన్ అప్ చేయండి లేదా లాగ్ ఇన్ అవ్వండి.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_th.dart b/example/lib/src/generated/pay/pay_localization_th.dart new file mode 100644 index 0000000..e01f0ab --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_th.dart @@ -0,0 +1,242 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Thai (`th`). +class PayLocalizationTh extends PayLocalization { + PayLocalizationTh([String locale = 'th']) : super(locale); + + @override + String get exampleButton => 'ปุ่มตัวอย่าง'; + + @override + String get donationYesItsAllGoodButton => 'ใช่, ทุกอย่างเรียบร้อย!'; + + @override + String get everyContributionHealsTitle => 'ทุกการมีส่วนร่วมเยียวยา!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'การสนับสนุนของคุณช่วยจัดสรรทุนสำหรับคำแนะนำฟรีแก่ผู้ที่ต้องการความช่วยเหลือ.'; + + @override + String get payWhatFeelsRightLabel => 'จ่ายตามที่คุณรู้สึกว่าเหมาะสม,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'หรือใช้ Doctorina ได้ฟรีต่อไป, ขอบคุณคนอื่นที่เลือกที่จะให้.'; + + @override + String get oneTimeLabel => 'ครั้งเดียว'; + + @override + String get monthlyLabel => 'รายเดือน'; + + @override + String get chooseMonthlyDonationAmountLabel => 'เลือกจำนวนเงินบริจาครายเดือน'; + + @override + String get subscriptionNoAmount => 'คุณกำลังจะสมัครแผนรายเดือน.'; + + @override + String subscriptionAmount(String amount) { + return 'คุณกำลังสมัครแผนรายเดือนในราคา $amount/เดือน'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'การชำระเงินจะถูกเรียกเก็บจากบัญชีของคุณเมื่อยืนยันการซื้อ การสมัครสมาชิกจะต่ออายุอัตโนมัติทุกเดือน เว้นแต่จะปิดการต่ออายุอัตโนมัติอย่างน้อย 24 ชั่วโมงก่อนสิ้นสุดรอบปัจจุบัน คุณสามารถจัดการหรือยกเลิกการสมัครสมาชิกของคุณได้ทุกเมื่อในตั้งค่าบัญชีของคุณ โดยการดำเนินการต่อ คุณยอมรับ $termsOfService และ $privacyPolicy ของเรา.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'เลือกจำนวนเงินบริจาคครั้งเดียว'; + + @override + String get mostPeopleGiveHint => 'คนส่วนใหญ่ให้ \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'เลือกสกุลเงิน'; + + @override + String get processingPaymentSemantics => 'กำลังดำเนินการชำระเงิน'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'กำลังดำเนินการชำระเงินเพียงครั้งเดียว $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'กำลังดำเนินการชำระเงินรายเดือน $amount'; + } + + @override + String get thankYouTitle => 'ขอบคุณ!'; + + @override + String get thankYouSubtitle => + 'ตอนนี้ผู้คนมากขึ้นจะได้รับคำแนะนำฟรี — การสนับสนุนของคุณมีค่ามหาศาล.'; + + @override + String get youContributedLabel => 'คุณมีส่วนร่วม:'; + + @override + String get perMonth => 'ต่อเดือน'; + + @override + String get returnToTheMainScreenButton => 'กลับไปยังหน้าหลัก'; + + @override + String get termsOfServiceLabel => 'ข้อกำหนดการให้บริการ'; + + @override + String get privacyPolicyLabel => 'นโยบายความเป็นส่วนตัว'; + + @override + String get donateButton => 'บริจาค'; + + @override + String get subscriptionStatusActiveLabel => 'ใช้งานอยู่'; + + @override + String get subscriptionStatusCanceledLabel => 'ถูกยกเลิก'; + + @override + String get subscriptionStatusPausedLabel => 'หยุดชั่วคราว'; + + @override + String get subscriptionStatusPendingLabel => 'รอดำเนินการ'; + + @override + String get subscriptionStatusCreatedLabel => 'สร้างแล้ว'; + + @override + String get subscriptionStatusTimeoutLabel => 'หมดเวลา'; + + @override + String get subscriptionStatusUnknownLabel => 'ไม่ทราบ'; + + @override + String get subscriptionDoctorinaContributor => 'ผู้มีส่วนร่วม Doctorina'; + + @override + String get subscriptionRenews => 'ต่ออายุ'; + + @override + String get subscriptionCancelButton => 'ยกเลิกการสมัคร'; + + @override + String get subscriptionAreYouSureDialogTitle => 'คุณแน่ใจหรือ?'; + + @override + String get subscriptionAreYouSureDialogText => + 'การสนับสนุนรายเดือนของคุณทำให้ Doctorina เป็นบริการฟรีสำหรับผู้ที่พึ่งพาแต่ไม่สามารถจ่ายได้. การสมัครสมาชิกของคุณสนับสนุนอย่างน้อย 10 ครั้งปรึกษาฟรีในแต่ละเดือน. หากคุณออกไป ผู้ป่วยจะได้รับความช่วยเหลือน้อยลง.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'คงการสมัครสมาชิก'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'ยกเลิกอยู่ดี'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'การสนับสนุนรายเดือนของคุณถูกยกเลิกเรียบร้อยแล้ว.'; + + @override + String get subscriptionMalformed => 'ข้อมูลการสมัครไม่ถูกต้อง'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'ลงทะเบียนรับการสนับสนุนรายเดือนเพื่อให้ปรากฏที่นี่'; + + @override + String get subscriptionNoSubscriptionsYet => 'ยังไม่มีการสมัครสมาชิก'; + + @override + String get subscriptionCreatedAtDateLabel => 'วันที่สมัครสมาชิก'; + + @override + String get subscriptionExpiresAtDateLabel => 'หมดอายุ'; + + @override + String get subscriptionSubscriptionIdLabel => 'รหัสการสมัคร'; + + @override + String get subscriptionProductIdLabel => 'รหัสผลิตภัณฑ์'; + + @override + String get subscriptionDialogOkButton => 'ตกลง'; + + @override + String get errorProcessDonationTitle => 'ไม่สามารถดำเนินการชำระเงินของคุณ'; + + @override + String get errorProcessDonationSubtitle => + 'มีบางอย่างผิดพลาดกับการชำระเงิน. กรุณาลองใหม่อีกครั้ง.'; + + @override + String get errorProcessDonationRetryButton => 'ลองใหม่'; + + @override + String get processingDonationTitle => 'กำลังดำเนินการชำระเงิน'; + + @override + String get processingDonationStripeSubtitle => + 'คุณจะทำการซื้อของคุณให้เสร็จสิ้นบนหน้าชำระเงินที่ปลอดภัยของ Stripe.'; + + @override + String get perWeek => '/ สัปดาห์'; + + @override + String get perYear => '/ ปี'; + + @override + String get premiumMostPopularRibbon => 'ยอดนิยมที่สุด'; + + @override + String get premiumCloseTooltip => 'ปิด'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'สิ่งที่คุณจะได้รับจากพรีเมียม:'; + + @override + String get premiumFeatureAdFree => 'การปรึกษาที่ไม่มีโฆษณา'; + + @override + String get premiumFeatureFasterReplies => 'การตอบกลับที่รวดเร็วขึ้น'; + + @override + String get premiumFeatureEarlyAccess => 'การเข้าถึงฟีเจอร์ใหม่ก่อนใคร'; + + @override + String get premiumPricePerWeek => '/สัปดาห์'; + + @override + String get premiumCancelAnytime => 'ยกเลิกได้ตลอดเวลา ไม่มีข้อผูกพัน'; + + @override + String get premiumLimitedTimeBadge => 'ข้อเสนอจำกัดเวลา'; + + @override + String get premiumAutoRenewsConsent => + 'ต่ออายุอัตโนมัติทุกสัปดาห์ ยกเลิกได้ทุกเมื่อในการตั้งค่า โดยการดำเนินการต่อ คุณยอมรับ ข้อกำหนด และ

นโยบายความเป็นส่วนตัว

.'; + + @override + String get premiumContinueButton => '🎁 ดำเนินการต่อด้วยพรีเมียม'; + + @override + String get premiumSupportMessage => + '💚 การสนับสนุนของคุณช่วยให้การดูแลเข้าถึงได้'; + + @override + String get subscriptionLoginRequiredError => + 'กรุณาลงทะเบียนหรือเข้าสู่ระบบเพื่อทำการซื้อให้เสร็จสิ้น'; +} diff --git a/example/lib/src/generated/pay/pay_localization_tl.dart b/example/lib/src/generated/pay/pay_localization_tl.dart new file mode 100644 index 0000000..d2e5e9e --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_tl.dart @@ -0,0 +1,250 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tagalog (`tl`). +class PayLocalizationTl extends PayLocalization { + PayLocalizationTl([String locale = 'tl']) : super(locale); + + @override + String get exampleButton => 'Halimbawa ng pindutan'; + + @override + String get donationYesItsAllGoodButton => 'Oo, ayos lang!'; + + @override + String get everyContributionHealsTitle => + 'Bawat kontribusyon ay nagpapagaling!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Ang iyong kontribusyon ay tumutulong sa pagpondo ng libreng payo para sa iba na nangangailangan.'; + + @override + String get payWhatFeelsRightLabel => 'Magbayad ng nararamdaman mong tama'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'o patuloy na gamitin ang Doctorina nang libre, salamat sa iba na pumili na magbigay.'; + + @override + String get oneTimeLabel => 'Isang Beses'; + + @override + String get monthlyLabel => 'Buwanang'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Pumili ng halaga ng buwanang donasyon'; + + @override + String get subscriptionNoAmount => + 'Ikaw ay malapit nang mag-subscribe sa isang buwanang plano.'; + + @override + String subscriptionAmount(String amount) { + return 'Nag-subscribe ka sa isang buwanang plano para sa $amount/buwan.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Ang bayad ay sisingilin sa iyong account sa pagkumpirma ng pagbili. Ang subscription ay awtomatikong magre-renew bawat buwan maliban kung ang auto-renew ay pinatigil nang hindi bababa sa 24 na oras bago ang katapusan ng kasalukuyang panahon. Maaari mong pamahalaan o kanselahin ang iyong subscription anumang oras sa iyong mga setting ng account. Sa pagpapatuloy, sumasang-ayon ka sa aming $termsOfService at $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Pumili ng halaga ng isang beses na donasyon'; + + @override + String get mostPeopleGiveHint => + 'Karamihan sa mga tao ay nagbibigay ng \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Pumili ng pera'; + + @override + String get processingPaymentSemantics => 'Nagpoproseso ng bayad'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Pinoproseso ang isang beses na pagbabayad ng $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Pinoproseso ang buwanang bayad na $amount'; + } + + @override + String get thankYouTitle => 'Salamat!'; + + @override + String get thankYouSubtitle => + 'Ngayon, mas maraming tao ang makakatanggap ng libreng payo — ang iyong suporta ay talagang mahalaga.'; + + @override + String get youContributedLabel => 'Nag-ambag ka:'; + + @override + String get perMonth => '/ buwan'; + + @override + String get returnToTheMainScreenButton => 'Bumalik sa pangunahing screen'; + + @override + String get termsOfServiceLabel => 'Mga Tuntunin ng Serbisyo'; + + @override + String get privacyPolicyLabel => 'Patakaran sa Privacy'; + + @override + String get donateButton => 'Mag-donate'; + + @override + String get subscriptionStatusActiveLabel => 'Aktibo'; + + @override + String get subscriptionStatusCanceledLabel => 'Nakansela'; + + @override + String get subscriptionStatusPausedLabel => 'Nakatigil'; + + @override + String get subscriptionStatusPendingLabel => 'Naka-pending'; + + @override + String get subscriptionStatusCreatedLabel => 'Nalikha'; + + @override + String get subscriptionStatusTimeoutLabel => 'Timeout'; + + @override + String get subscriptionStatusUnknownLabel => 'Hindi pa alam'; + + @override + String get subscriptionDoctorinaContributor => 'Katuwang ni Doctorina'; + + @override + String get subscriptionRenews => 'Nag-renew'; + + @override + String get subscriptionCancelButton => 'Kanselahin ang subscription'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Sigurado ka ba?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Ang iyong buwanang suporta ay nagpapanatili sa Doctorina na libre para sa mga tao na umaasa dito ngunit hindi kayang magbayad. Ang iyong subscription ay nagpopondo ng hindi bababa sa 10 libreng konsultasyon bawat buwan. Kung aalis ka, mas kaunting pasyente ang makakatanggap ng tulong na kailangan nila.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => + 'Panatilihin ang subscription'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Kanselahin pa rin'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Ang iyong buwanang suporta ay matagumpay na nakansela'; + + @override + String get subscriptionMalformed => 'Maling datos ng subscription'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Mag-sign up para sa buwanang suporta upang lumitaw ito dito.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Wala pang mga subscription'; + + @override + String get subscriptionCreatedAtDateLabel => 'Petsa ng subscription'; + + @override + String get subscriptionExpiresAtDateLabel => 'Mag-e-expire'; + + @override + String get subscriptionSubscriptionIdLabel => 'Subscription ID'; + + @override + String get subscriptionProductIdLabel => 'Product ID'; + + @override + String get subscriptionDialogOkButton => 'Ok'; + + @override + String get errorProcessDonationTitle => + 'Hindi namin maipagpatuloy ang iyong bayad'; + + @override + String get errorProcessDonationSubtitle => + 'May nangyaring mali sa pagbabayad. Pakisubukan muli.'; + + @override + String get errorProcessDonationRetryButton => 'Subukan muli'; + + @override + String get processingDonationTitle => 'Pinoproseso ang bayad'; + + @override + String get processingDonationStripeSubtitle => + 'Kakailanganin mong tapusin ang iyong pagbili sa secure na pahina ng checkout ng Stripe.'; + + @override + String get perWeek => '/ linggo'; + + @override + String get perYear => '/ taon'; + + @override + String get premiumMostPopularRibbon => 'Pinaka Sikat'; + + @override + String get premiumCloseTooltip => 'Isara'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Ano ang makukuha mo sa Premium:'; + + @override + String get premiumFeatureAdFree => 'Walang patalastas na konsultasyon'; + + @override + String get premiumFeatureFasterReplies => 'Mas mabilis na mga sagot'; + + @override + String get premiumFeatureEarlyAccess => + 'Maagang pag-access sa mga bagong tampok'; + + @override + String get premiumPricePerWeek => '/linggo'; + + @override + String get premiumCancelAnytime => + 'Kanselahin anumang oras. Walang obligasyon.'; + + @override + String get premiumLimitedTimeBadge => 'LIMITED TIME'; + + @override + String get premiumAutoRenewsConsent => + 'Awtomatikong nag-renew tuwing linggo. Kanselahin anumang oras sa mga setting. Sa pagpapatuloy, sumasang-ayon ka sa aming Mga Tuntunin at

Patakaran sa Privacy

.'; + + @override + String get premiumContinueButton => '🎁 Magpatuloy sa Premium'; + + @override + String get premiumSupportMessage => + '💚 Ang iyong suporta ay tumutulong upang mapanatiling accessible ang pangangalaga'; + + @override + String get subscriptionLoginRequiredError => + 'Mangyaring mag-sign up o mag-log in upang makumpleto ang pagbili.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_tr.dart b/example/lib/src/generated/pay/pay_localization_tr.dart new file mode 100644 index 0000000..185e4e9 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_tr.dart @@ -0,0 +1,243 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Turkish (`tr`). +class PayLocalizationTr extends PayLocalization { + PayLocalizationTr([String locale = 'tr']) : super(locale); + + @override + String get exampleButton => 'Buton örneği'; + + @override + String get donationYesItsAllGoodButton => 'Evet, her şey yolunda!'; + + @override + String get everyContributionHealsTitle => 'Her katkı şifa verir!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Katkınız, ihtiyacı olanlara ücretsiz tavsiye sağlanmasına yardımcı olur.'; + + @override + String get payWhatFeelsRightLabel => 'Doğru hissettiğiniz tutarı ödeyin,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'veya Doctorina\'yı ücretsiz kullanmaya devam edin, bağış yapmayı seçen diğerleri sayesinde'; + + @override + String get oneTimeLabel => 'Tek seferlik'; + + @override + String get monthlyLabel => 'Aylık'; + + @override + String get chooseMonthlyDonationAmountLabel => 'Aylık bağış miktarını seç'; + + @override + String get subscriptionNoAmount => 'Aylık plana abone olmaya üzeresiniz.'; + + @override + String subscriptionAmount(String amount) { + return 'Aylık plan için $amount/ay ile abone oluyorsunuz.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Ödeme, satın alma onayında hesabınızdan tahsil edilecektir. Abonelik, otomatik yenileme en az 24 saat önce kapatılmadıkça her ay otomatik olarak yenilenir. Aboneliğinizi hesap ayarlarınızdan istediğiniz zaman yönetebilir veya iptal edebilirsiniz. Devam ederek, $termsOfService ve $privacyPolicy kabul etmiş olursunuz'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Tek seferlik bağış tutarını seçin'; + + @override + String get mostPeopleGiveHint => 'Çoğu insan \$7–\$15 veriyor'; + + @override + String get selectCurrencyTooltip => 'Para birimi seç'; + + @override + String get processingPaymentSemantics => 'Ödeme işleniyor'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Tek seferlik $currency $amount ödemesi işleniyor'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Aylık $amount ödemesi işleniyor'; + } + + @override + String get thankYouTitle => 'Teşekkürler!'; + + @override + String get thankYouSubtitle => + 'Artık daha fazla insan ücretsiz danışmanlık alacak — desteğiniz gerçekten paha biçilmez.'; + + @override + String get youContributedLabel => 'Katkıda bulundunuz:'; + + @override + String get perMonth => '/ay'; + + @override + String get returnToTheMainScreenButton => 'Ana ekrana dön'; + + @override + String get termsOfServiceLabel => 'Hizmet Şartları'; + + @override + String get privacyPolicyLabel => 'Gizlilik Politikası'; + + @override + String get donateButton => 'Bağış Yap'; + + @override + String get subscriptionStatusActiveLabel => 'Aktif'; + + @override + String get subscriptionStatusCanceledLabel => 'İptal Edildi'; + + @override + String get subscriptionStatusPausedLabel => 'Askıya alındı'; + + @override + String get subscriptionStatusPendingLabel => 'Beklemede'; + + @override + String get subscriptionStatusCreatedLabel => 'Oluşturuldu'; + + @override + String get subscriptionStatusTimeoutLabel => 'Zaman Aşımı'; + + @override + String get subscriptionStatusUnknownLabel => 'Bilinmiyor'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina katkıcısı'; + + @override + String get subscriptionRenews => 'Yenilenir'; + + @override + String get subscriptionCancelButton => 'Aboneli iptal et'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Emin misin?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Aylık desteğiniz, ödemeye gücü olmayan ancak ona ihtiyaç duyan kişiler için Doctorina’nın ücretsiz kalmasını sağlar. Aboneliğiniz her ay en az 10 ücretsiz danışmanlık sağlar. Eğer ayrılırsanız, daha az hasta ihtiyaç duydukları yardımı alır'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Aboneliği sürdür'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Yine de iptal et'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Aylık desteğiniz başarıyla iptal edildi.'; + + @override + String get subscriptionMalformed => 'Yanlış abonelik verisi'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Aylık destek için kaydolun, böylece burada görünecek'; + + @override + String get subscriptionNoSubscriptionsYet => 'Henüz abonelik yok'; + + @override + String get subscriptionCreatedAtDateLabel => 'Abonelik tarihi'; + + @override + String get subscriptionExpiresAtDateLabel => 'Sona erer'; + + @override + String get subscriptionSubscriptionIdLabel => 'Abonelik Kimliği'; + + @override + String get subscriptionProductIdLabel => 'Ürün Kimliği'; + + @override + String get subscriptionDialogOkButton => 'Tamam'; + + @override + String get errorProcessDonationTitle => 'Ödemenizi işleme koyamadık'; + + @override + String get errorProcessDonationSubtitle => + 'Ödemede bir sorun oldu. Lütfen tekrar deneyin.'; + + @override + String get errorProcessDonationRetryButton => 'Tekrar Dene'; + + @override + String get processingDonationTitle => 'Ödeme işleniyor'; + + @override + String get processingDonationStripeSubtitle => + 'Satın alımınızı Stripe\'ın güvenli ödeme sayfasında tamamlayacaksınız.'; + + @override + String get perWeek => '/ hafta'; + + @override + String get perYear => '/ yıl'; + + @override + String get premiumMostPopularRibbon => 'En Popüler'; + + @override + String get premiumCloseTooltip => 'Kapat'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Premium ile neler elde edersiniz:'; + + @override + String get premiumFeatureAdFree => 'Reklamsız danışmanlık'; + + @override + String get premiumFeatureFasterReplies => 'Daha hızlı yanıtlar'; + + @override + String get premiumFeatureEarlyAccess => 'Yeni özelliklere erken erişim'; + + @override + String get premiumPricePerWeek => '/hafta'; + + @override + String get premiumCancelAnytime => + 'İstediğiniz zaman iptal edin. Taahhüt yok.'; + + @override + String get premiumLimitedTimeBadge => 'SINIRLI SÜRE'; + + @override + String get premiumAutoRenewsConsent => + 'Her hafta otomatik yenilenir. İstediğiniz zaman ayarlardan iptal edin. Devam ederek, Şartlarımızı ve

Gizlilik Politikasını

kabul etmiş olursunuz.'; + + @override + String get premiumContinueButton => '🎁 Premium ile Devam Et'; + + @override + String get premiumSupportMessage => + '💚 Desteğiniz, sağlık hizmetlerinin erişilebilir kalmasına yardımcı oluyor'; + + @override + String get subscriptionLoginRequiredError => + 'Satın alımı tamamlamak için lütfen kaydolun veya giriş yapın.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_uk.dart b/example/lib/src/generated/pay/pay_localization_uk.dart new file mode 100644 index 0000000..49e10a7 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_uk.dart @@ -0,0 +1,245 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Ukrainian (`uk`). +class PayLocalizationUk extends PayLocalization { + PayLocalizationUk([String locale = 'uk']) : super(locale); + + @override + String get exampleButton => 'Приклад кнопки'; + + @override + String get donationYesItsAllGoodButton => 'Так, все добре!'; + + @override + String get everyContributionHealsTitle => 'Кожен внесок лікує!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Ваш внесок допомагає фінансувати безкоштовні поради для інших, хто цього потребує.'; + + @override + String get payWhatFeelsRightLabel => 'Заплатіть, як вважаєте за потрібне,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'або продовжуйте користуватися Doctorina безкоштовно, завдяки іншим, хто вирішив пожертвувати'; + + @override + String get oneTimeLabel => 'Одноразовий'; + + @override + String get monthlyLabel => 'Щомісяця'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Оберіть суму щомісячного внеску'; + + @override + String get subscriptionNoAmount => + 'Ви збираєтеся підписатися на місячний план.'; + + @override + String subscriptionAmount(String amount) { + return 'Ви підписуєтеся на місячний план за $amount/місяць.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Платіж буде стягнуто з вашого рахунку під час підтвердження покупки. Підписка автоматично поновлюється щомісяця, якщо автоматичне поновлення не вимкнено принаймні за 24 години до закінчення поточного періоду. Ви можете керувати або скасувати свою підписку в будь-який час у налаштуваннях вашого облікового запису. Продовжуючи, ви погоджуєтеся з нашими $termsOfService та $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Виберіть суму одноразового пожертвування'; + + @override + String get mostPeopleGiveHint => 'Більшість людей дають \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Виберіть валюту'; + + @override + String get processingPaymentSemantics => 'Обробка платежу'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Обробка одноразового платежу на $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Обробка щомісячного платежу $amount'; + } + + @override + String get thankYouTitle => 'Дякуємо!'; + + @override + String get thankYouSubtitle => + 'Тепер ще більше людей отримуватимуть безкоштовні поради — ваша підтримка справді безцінна.'; + + @override + String get youContributedLabel => 'Ви внесли:'; + + @override + String get perMonth => '/ місяць'; + + @override + String get returnToTheMainScreenButton => 'Повернутися на головний екран'; + + @override + String get termsOfServiceLabel => 'Умови надання послуг'; + + @override + String get privacyPolicyLabel => 'Політика конфіденційності'; + + @override + String get donateButton => 'Пожертвувати'; + + @override + String get subscriptionStatusActiveLabel => 'Активний'; + + @override + String get subscriptionStatusCanceledLabel => 'Скасовано'; + + @override + String get subscriptionStatusPausedLabel => 'Призупинено'; + + @override + String get subscriptionStatusPendingLabel => 'Очікує'; + + @override + String get subscriptionStatusCreatedLabel => 'Створено'; + + @override + String get subscriptionStatusTimeoutLabel => 'Тайм-аут'; + + @override + String get subscriptionStatusUnknownLabel => 'Невідомо'; + + @override + String get subscriptionDoctorinaContributor => 'учасник Doctorina'; + + @override + String get subscriptionRenews => 'Оновлюється'; + + @override + String get subscriptionCancelButton => 'Скасувати підписку'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Ви впевнені?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Ваш щомісячний внесок підтримує Doctorina безкоштовно для людей, які покладаються на нього, але не можуть дозволити собі платити. Ваша підписка фінансує принаймні 10 безкоштовних консультацій щомісяця. Якщо ви підете, менше пацієнтів отримають допомогу, в якій вони потребують.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Зберегти підписку'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Все одно скасувати'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Ваш щомісячний внесок було успішно скасовано'; + + @override + String get subscriptionMalformed => 'Неправильні дані підписки'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Підпишіться на щомісячну підтримку, щоб вона з’явилася тут.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Поки немає підписок'; + + @override + String get subscriptionCreatedAtDateLabel => 'Дата підписки'; + + @override + String get subscriptionExpiresAtDateLabel => 'Закінчується'; + + @override + String get subscriptionSubscriptionIdLabel => 'ID підписки'; + + @override + String get subscriptionProductIdLabel => 'Ідентифікатор продукту'; + + @override + String get subscriptionDialogOkButton => 'Гаразд'; + + @override + String get errorProcessDonationTitle => 'Ми не змогли обробити ваш платіж'; + + @override + String get errorProcessDonationSubtitle => + 'Щось пішло не так з оплатою. Будь ласка, спробуйте ще раз.'; + + @override + String get errorProcessDonationRetryButton => 'Спробувати знову'; + + @override + String get processingDonationTitle => 'Обробка платежу'; + + @override + String get processingDonationStripeSubtitle => + 'Ви завершите покупку на захищеній сторінці оплати Stripe.'; + + @override + String get perWeek => '/ тиждень'; + + @override + String get perYear => '/ рік'; + + @override + String get premiumMostPopularRibbon => 'Найпопулярніший'; + + @override + String get premiumCloseTooltip => 'Закрити'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Що ви отримуєте з Premium:'; + + @override + String get premiumFeatureAdFree => 'Консультації без реклами'; + + @override + String get premiumFeatureFasterReplies => 'Швидші відповіді'; + + @override + String get premiumFeatureEarlyAccess => 'Ранній доступ до нових функцій'; + + @override + String get premiumPricePerWeek => '/тиждень'; + + @override + String get premiumCancelAnytime => + 'Скасуйте в будь-який час. Без зобов\'язань.'; + + @override + String get premiumLimitedTimeBadge => 'ОБМЕЖЕНИЙ ЧАС'; + + @override + String get premiumAutoRenewsConsent => + 'Автоматично поновлюється щотижня. Скасуйте в будь-який час у налаштуваннях. Продовжуючи, ви погоджуєтеся з нашими Умовами та

Політикою конфіденційності

.'; + + @override + String get premiumContinueButton => '🎁 Продовжити з Premium'; + + @override + String get premiumSupportMessage => + '💚 Ваша підтримка допомагає зберегти доступність медичної допомоги'; + + @override + String get subscriptionLoginRequiredError => + 'Будь ласка, зареєструйтесь або увійдіть, щоб завершити покупку.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_ur.dart b/example/lib/src/generated/pay/pay_localization_ur.dart new file mode 100644 index 0000000..41cf33d --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_ur.dart @@ -0,0 +1,246 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Urdu (`ur`). +class PayLocalizationUr extends PayLocalization { + PayLocalizationUr([String locale = 'ur']) : super(locale); + + @override + String get exampleButton => 'بٹن کی مثال'; + + @override + String get donationYesItsAllGoodButton => 'ہاں، سب ٹھیک ہے!'; + + @override + String get everyContributionHealsTitle => 'ہر شراکت شفا بخش ہے!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'آپ کی شراکت ضرورت مندوں کو مفت مشورہ فراہم کرنے میں مالی امداد کرتی ہے.'; + + @override + String get payWhatFeelsRightLabel => 'جو صحیح محسوس ہو وہ ادا کریں,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'یا مفت میں Doctorina استعمال کرتے رہیں، ان لوگوں کا شکریہ جنہوں نے دینے کا انتخاب کیا'; + + @override + String get oneTimeLabel => 'ایک بار'; + + @override + String get monthlyLabel => 'ماہانہ'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'ماہانہ عطیہ کی رقم منتخب کریں'; + + @override + String get subscriptionNoAmount => + 'آپ ایک ماہانہ منصوبے کی رکنیت لینے والے ہیں.'; + + @override + String subscriptionAmount(String amount) { + return 'آپ $amount/مہینے کے لیے ماہانہ پلان کی رکنیت لے رہے ہیں'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'ادائیگی آپ کے اکاؤنٹ سے خریداری کی توثیق پر وصول کی جائے گی۔ سبسکرپشن ہر ماہ خود بخود تجدید ہو جاتی ہے جب تک کہ موجودہ مدت کے اختتام سے کم از کم 24 گھنٹے قبل خود کار تجدید بند نہ کر دی جائے۔ آپ کسی بھی وقت اپنے اکاؤنٹ کی ترتیبات میں اپنی سبسکرپشن کو منظم یا منسوخ کر سکتے ہیں۔ جاری رکھتے ہوئے، آپ ہماری $termsOfService اور $privacyPolicy سے متفق ہیں۔'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'یک باری عطیے کی رقم کا انتخاب کریں'; + + @override + String get mostPeopleGiveHint => 'زیادہ تر لوگ \$7–\$15 دیتے ہیں'; + + @override + String get selectCurrencyTooltip => 'کرنسی منتخب کریں'; + + @override + String get processingPaymentSemantics => 'ادائیگی جاری ہے'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'ایک وقتی ادائیگی $currency $amount کی پروسیسنگ'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'ماہانہ ادائیگی $amount کی پراسیسنگ'; + } + + @override + String get thankYouTitle => 'شکریہ!'; + + @override + String get thankYouSubtitle => + 'اب مزید افراد مفت مشورہ حاصل کریں گے — آپ کی حمایت واقعی انمول ہے'; + + @override + String get youContributedLabel => 'آپ نے حصہ ڈالا:'; + + @override + String get perMonth => '/ ماہ'; + + @override + String get returnToTheMainScreenButton => 'مین اسکرین پر واپس جائیں'; + + @override + String get termsOfServiceLabel => 'خدمات کی شرائط'; + + @override + String get privacyPolicyLabel => 'رازداری کی پالیسی'; + + @override + String get donateButton => 'عطیہ دیں'; + + @override + String get subscriptionStatusActiveLabel => 'فعال'; + + @override + String get subscriptionStatusCanceledLabel => 'منسوخ'; + + @override + String get subscriptionStatusPausedLabel => 'معطل'; + + @override + String get subscriptionStatusPendingLabel => 'زیر التواء'; + + @override + String get subscriptionStatusCreatedLabel => 'تخلیق کیا گیا'; + + @override + String get subscriptionStatusTimeoutLabel => 'وقت ختم'; + + @override + String get subscriptionStatusUnknownLabel => 'نامعلوم'; + + @override + String get subscriptionDoctorinaContributor => 'ڈاکٹرینا تعاون کنندہ'; + + @override + String get subscriptionRenews => 'تجدید'; + + @override + String get subscriptionCancelButton => 'رکنیت منسوخ کریں'; + + @override + String get subscriptionAreYouSureDialogTitle => 'کیا آپ کو یقین ہے؟'; + + @override + String get subscriptionAreYouSureDialogText => + 'آپ کی ماہانہ مدد ڈاکٹرائنا کو ان لوگوں کے لیے مفت رکھتی ہے جو اس پر انحصار کرتے ہیں لیکن ادائیگی کرنے کی استطاعت نہیں رکھتے۔ آپ کی سبسکرپشن ہر ماہ کم از کم 10 مفت مشاورت کی فنڈنگ کرتی ہے۔ اگر آپ چھوڑ دیتے ہیں تو کم مریض وہ مدد حاصل کر سکیں گے جس کی انہیں ضرورت ہے۔'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'رکنیت برقرار رکھیں'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'بہر حال منسوخ کریں'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'آپ کی ماہانہ معاونت\nکامیابی سے منسوخ کر دی گئی ہے.'; + + @override + String get subscriptionMalformed => 'غلط سبسکرپشن ڈیٹا'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'ماہانہ مدد کے لیے سائن اپ کریں تاکہ یہ یہاں ظاہر ہو.'; + + @override + String get subscriptionNoSubscriptionsYet => 'ابھی کوئی سبسکرپشن نہیں'; + + @override + String get subscriptionCreatedAtDateLabel => 'سبسکرپشن کی تاریخ'; + + @override + String get subscriptionExpiresAtDateLabel => 'ختم'; + + @override + String get subscriptionSubscriptionIdLabel => 'سبسکرپشن شناخت'; + + @override + String get subscriptionProductIdLabel => 'پروڈکٹ آئی ڈی'; + + @override + String get subscriptionDialogOkButton => 'اوکے'; + + @override + String get errorProcessDonationTitle => + 'ہم آپ کی ادائیگی کو آگے نہیں بڑھا سکے'; + + @override + String get errorProcessDonationSubtitle => + 'ادائیگی میں کچھ غلط ہو گئی۔ براہ کرم دوبارہ کوشش کریں۔'; + + @override + String get errorProcessDonationRetryButton => 'دوبارہ کوشش کریں'; + + @override + String get processingDonationTitle => 'ادائیگی کی کارروائی جاری ہے'; + + @override + String get processingDonationStripeSubtitle => + 'آپ اپنی خریداری Stripe کے محفوظ چیک آؤٹ صفحے پر مکمل کریں گے.'; + + @override + String get perWeek => '/ ہفتہ'; + + @override + String get perYear => '/ سال'; + + @override + String get premiumMostPopularRibbon => 'سب سے مقبول'; + + @override + String get premiumCloseTooltip => 'بند کریں'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'آپ کو پریمیم کے ساتھ کیا ملتا ہے:'; + + @override + String get premiumFeatureAdFree => 'اشتہارات سے پاک مشاورت'; + + @override + String get premiumFeatureFasterReplies => 'تیز جواب'; + + @override + String get premiumFeatureEarlyAccess => 'نئی خصوصیات تک جلد رسائی'; + + @override + String get premiumPricePerWeek => '/ہفتہ'; + + @override + String get premiumCancelAnytime => + 'کسی بھی وقت منسوخ کریں۔ کوئی پابندی نہیں۔'; + + @override + String get premiumLimitedTimeBadge => 'محدود وقت'; + + @override + String get premiumAutoRenewsConsent => + 'ہر ہفتے خود بخود تجدید ہوتا ہے۔ سیٹنگز میں کبھی بھی منسوخ کریں۔ جاری رکھنے پر، آپ ہماری شرائط اور

رازداری کی پالیسی

سے اتفاق کرتے ہیں۔'; + + @override + String get premiumContinueButton => '🎁 پریمیم کے ساتھ جاری رکھیں'; + + @override + String get premiumSupportMessage => + '💚 آپ کی حمایت صحت کی دیکھ بھال کو قابل رسائی رکھنے میں مدد کرتی ہے'; + + @override + String get subscriptionLoginRequiredError => + 'براہ کرم خریداری مکمل کرنے کے لیے سائن اپ کریں یا لاگ ان کریں۔'; +} diff --git a/example/lib/src/generated/pay/pay_localization_uz.dart b/example/lib/src/generated/pay/pay_localization_uz.dart new file mode 100644 index 0000000..6552312 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_uz.dart @@ -0,0 +1,249 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Uzbek (`uz`). +class PayLocalizationUz extends PayLocalization { + PayLocalizationUz([String locale = 'uz']) : super(locale); + + @override + String get exampleButton => 'Tugma misoli'; + + @override + String get donationYesItsAllGoodButton => 'Ha, hammasi yaxshi!'; + + @override + String get everyContributionHealsTitle => 'Har bir hissa shifo beradi!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Sizning hissangiz yordamga muhtojlar uchun bepul maslahatlar moliyalashtirishga yordam beradi.'; + + @override + String get payWhatFeelsRightLabel => + 'Sizga to\'g\'ri kelgan miqdorni to\'lang,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'yoki boshqalar sovg\'a qilishni tanlaganlari tufayli Doctorina-dan bepul foydalanishda davom eting'; + + @override + String get oneTimeLabel => 'Bir martalik'; + + @override + String get monthlyLabel => 'Oylik'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Oylik xayriya miqdorini tanlang'; + + @override + String get subscriptionNoAmount => + 'Siz oylik reja uchun obuna bo‘lish arafidasiz.'; + + @override + String subscriptionAmount(String amount) { + return 'Siz $amount/oy narxi bilan oylik reja uchun obuna bo\'lyapsiz'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Xarid tasdiqlanganda hisobingizdan to\'lov olinadi. Obuna avtomatik ravishda har oy yangilanadi, agar avtomatik yangilanish joriy davr tugashidan kamida 24 soat oldin o\'chirilmagan bo\'lsa. Hisob sozlamalarida obunangizni istalgan vaqtda boshqarishingiz yoki bekor qilishingiz mumkin. Davom etish orqali siz bizning $termsOfService va $privacyPolicy ga rozilik bildirasiz.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Bir martalik xayriya miqdorini tanlang'; + + @override + String get mostPeopleGiveHint => 'Aksariyat odamlar \$7–\$15 beradi'; + + @override + String get selectCurrencyTooltip => 'Valyutani tanlang'; + + @override + String get processingPaymentSemantics => 'To\'lov qayta ishlanmoqda'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Bir martalik to\'lov $currency $amount qayta ishlanmoqda'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Har oy $amount to\'lovi qayta ishlanmoqda'; + } + + @override + String get thankYouTitle => 'Rahmat!'; + + @override + String get thankYouSubtitle => + 'Endi yanada ko‘proq odamlar bepul maslahat oladi — qo‘llab-quvvatlashingiz haqiqatan ham bebaho.'; + + @override + String get youContributedLabel => 'Siz hissa qo‘shdingiz:'; + + @override + String get perMonth => '/ oy'; + + @override + String get returnToTheMainScreenButton => 'Asosiy ekranga qaytish'; + + @override + String get termsOfServiceLabel => 'Xizmat ko\'rsatish shartlari'; + + @override + String get privacyPolicyLabel => 'Maxfiylik siyosati'; + + @override + String get donateButton => 'Xayriya qiling'; + + @override + String get subscriptionStatusActiveLabel => 'Faol'; + + @override + String get subscriptionStatusCanceledLabel => 'Bekor qilindi'; + + @override + String get subscriptionStatusPausedLabel => 'To‘xtatilgan'; + + @override + String get subscriptionStatusPendingLabel => 'Kutilmoqda'; + + @override + String get subscriptionStatusCreatedLabel => 'Yaratildi'; + + @override + String get subscriptionStatusTimeoutLabel => 'Vaqt tugadi'; + + @override + String get subscriptionStatusUnknownLabel => 'Noma\'lum'; + + @override + String get subscriptionDoctorinaContributor => + 'Doctorina hissa qo\'shuvchisi'; + + @override + String get subscriptionRenews => 'Yangilanadi'; + + @override + String get subscriptionCancelButton => 'Obunani bekor qilish'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Ishonchingiz komilmi?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Har oy bergan yordamlaringiz, Doctorina xizmatidan to\'lovga qodir bo\'lmagan, unga tayanadigan odamlarga bepul bo‘lib qolishiga imkon beradi.\n\nA\'zolik to\'lovingiz har oy kamida 10 ta bepul konsultatsiyani moliyalashtiradi.\nAgar chiqib ketsangiz, kamroq bemor zarur yordam oladi'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Obunani saqlang'; + + @override + String get subscriptionAreYouSureDialogCancelButton => + 'Shunday bo‘lsa ham bekor qil'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Sizning oylik qo‘llab-quvvatlashingiz muvaffaqiyatli bekor qilindi.'; + + @override + String get subscriptionMalformed => 'Noto\'g\'ri obuna ma\'lumotlari'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Oylik qo\'llab-quvvatlashga obuna bo\'ling, shunda u bu yerda paydo bo\'ladi'; + + @override + String get subscriptionNoSubscriptionsYet => 'Hozircha obuna yo\'q'; + + @override + String get subscriptionCreatedAtDateLabel => 'Obuna sanasi'; + + @override + String get subscriptionExpiresAtDateLabel => 'Muddati tugaydi'; + + @override + String get subscriptionSubscriptionIdLabel => 'Obuna ID'; + + @override + String get subscriptionProductIdLabel => 'Mahsulot ID'; + + @override + String get subscriptionDialogOkButton => 'Tasdiqlash'; + + @override + String get errorProcessDonationTitle => + 'To\'lovingizni amalga oshira olmadik'; + + @override + String get errorProcessDonationSubtitle => + 'Toʻlovda xatolik yuz berdi.\nIltimos, qayta urinib koʻring.'; + + @override + String get errorProcessDonationRetryButton => 'Qayta urinib ko\'ring'; + + @override + String get processingDonationTitle => 'Toʻlov qayta ishlanmoqda'; + + @override + String get processingDonationStripeSubtitle => + 'Siz Stripe\'ning xavfsiz to\'lov sahifasida xaridingizni yakunlaysiz.'; + + @override + String get perWeek => '/ hafta'; + + @override + String get perYear => '/ yil'; + + @override + String get premiumMostPopularRibbon => 'Eng mashhur'; + + @override + String get premiumCloseTooltip => 'Yopish'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Premium bilan oladigan narsalaringiz:'; + + @override + String get premiumFeatureAdFree => 'Reklamasiz maslahatlar'; + + @override + String get premiumFeatureFasterReplies => 'Tezroq javoblar'; + + @override + String get premiumFeatureEarlyAccess => 'Yangi funksiyalarga erta kirish'; + + @override + String get premiumPricePerWeek => '/hafta'; + + @override + String get premiumCancelAnytime => + 'Istalgan vaqtda bekor qiling. Hech qanday majburiyat yo\'q.'; + + @override + String get premiumLimitedTimeBadge => 'Maqsadli vaqt'; + + @override + String get premiumAutoRenewsConsent => + 'Har hafta avtomatik yangilanadi. Har qanday vaqtda sozlamalarda bekor qilishingiz mumkin. Davom etish orqali siz Shartlar va

Maxfiylik siyosati

bilan rozi bo\'lasiz.'; + + @override + String get premiumContinueButton => '🎁 Premium bilan davom etish'; + + @override + String get premiumSupportMessage => + '💚 Sizning qo\'llab-quvvatlashingiz tibbiy xizmatlarni mavjud qiladi'; + + @override + String get subscriptionLoginRequiredError => + 'Iltimos, xaridni yakunlash uchun ro\'yxatdan o\'ting yoki tizimga kiring.'; +} diff --git a/example/lib/src/generated/pay/pay_localization_vi.dart b/example/lib/src/generated/pay/pay_localization_vi.dart new file mode 100644 index 0000000..44de04e --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_vi.dart @@ -0,0 +1,244 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Vietnamese (`vi`). +class PayLocalizationVi extends PayLocalization { + PayLocalizationVi([String locale = 'vi']) : super(locale); + + @override + String get exampleButton => 'Nút ví dụ'; + + @override + String get donationYesItsAllGoodButton => 'Vâng, mọi thứ đều ổn!'; + + @override + String get everyContributionHealsTitle => 'Mỗi đóng góp đều chữa lành!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Sự đóng góp của bạn giúp tài trợ cho lời khuyên miễn phí cho những người cần giúp đỡ.'; + + @override + String get payWhatFeelsRightLabel => 'Trả số tiền mà bạn cảm thấy hợp lý,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'hoặc tiếp tục sử dụng Doctorina miễn phí, nhờ những người khác đã chọn đóng góp'; + + @override + String get oneTimeLabel => 'Một lần'; + + @override + String get monthlyLabel => 'Hàng tháng'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Chọn số tiền quyên góp hàng tháng'; + + @override + String get subscriptionNoAmount => 'Bạn sắp đăng ký gói hàng tháng.'; + + @override + String subscriptionAmount(String amount) { + return 'Bạn đang đăng ký gói hàng tháng với $amount/tháng.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Khi xác nhận mua hàng, khoản thanh toán sẽ được tính vào tài khoản của bạn. Đăng ký tự động gia hạn mỗi tháng trừ khi tính năng tự động gia hạn bị tắt ít nhất 24 giờ trước khi kết thúc kỳ hiện tại. Bạn có thể quản lý hoặc hủy đăng ký bất cứ lúc nào trong cài đặt tài khoản. Bằng cách tiếp tục, bạn đồng ý với $termsOfService và $privacyPolicy'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Chọn số tiền quyên góp một lần'; + + @override + String get mostPeopleGiveHint => 'Hầu hết mọi người cho \$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Chọn loại tiền tệ'; + + @override + String get processingPaymentSemantics => 'Đang xử lý thanh toán'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Đang xử lý thanh toán một lần $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Đang xử lý thanh toán hàng tháng với $amount'; + } + + @override + String get thankYouTitle => 'Cảm ơn bạn!'; + + @override + String get thankYouSubtitle => + 'Bây giờ, càng nhiều người sẽ nhận được tư vấn miễn phí — sự hỗ trợ của bạn thật vô giá.'; + + @override + String get youContributedLabel => 'Bạn đã đóng góp:'; + + @override + String get perMonth => '/tháng'; + + @override + String get returnToTheMainScreenButton => 'Trở về màn hình chính'; + + @override + String get termsOfServiceLabel => 'Điều khoản dịch vụ'; + + @override + String get privacyPolicyLabel => 'Chính sách bảo mật'; + + @override + String get donateButton => 'Quyên góp'; + + @override + String get subscriptionStatusActiveLabel => 'Hoạt động'; + + @override + String get subscriptionStatusCanceledLabel => 'Đã hủy'; + + @override + String get subscriptionStatusPausedLabel => 'Tạm dừng'; + + @override + String get subscriptionStatusPendingLabel => 'Chờ xử lý'; + + @override + String get subscriptionStatusCreatedLabel => 'Đã tạo'; + + @override + String get subscriptionStatusTimeoutLabel => 'Hết thời gian'; + + @override + String get subscriptionStatusUnknownLabel => 'Không xác định'; + + @override + String get subscriptionDoctorinaContributor => 'Người đóng góp Doctorina'; + + @override + String get subscriptionRenews => 'Gia hạn'; + + @override + String get subscriptionCancelButton => 'Hủy đăng ký'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Bạn có chắc không?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Hỗ trợ hàng tháng của bạn giúp Doctorina miễn phí cho những người dựa vào nó nhưng không đủ khả năng chi trả. Đăng ký của bạn tài trợ ít nhất 10 buổi tư vấn miễn phí mỗi tháng. Nếu bạn rời đi, sẽ có ít bệnh nhân nhận được sự giúp đỡ cần thiết'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Giữ đăng ký'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Dù sao cũng hủy'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Hỗ trợ hàng tháng của bạn đã được hủy thành công.'; + + @override + String get subscriptionMalformed => 'Dữ liệu đăng ký không chính xác'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Đăng ký nhận hỗ trợ hàng tháng để nó xuất hiện ở đây'; + + @override + String get subscriptionNoSubscriptionsYet => 'Chưa có đăng ký nào'; + + @override + String get subscriptionCreatedAtDateLabel => 'Ngày đăng ký'; + + @override + String get subscriptionExpiresAtDateLabel => 'Hết hạn'; + + @override + String get subscriptionSubscriptionIdLabel => 'Mã đăng ký'; + + @override + String get subscriptionProductIdLabel => 'Mã sản phẩm'; + + @override + String get subscriptionDialogOkButton => 'Đồng ý'; + + @override + String get errorProcessDonationTitle => + 'Chúng tôi không thể xử lý thanh toán của bạn'; + + @override + String get errorProcessDonationSubtitle => + 'Đã xảy ra sự cố với thanh toán. Vui lòng thử lại.'; + + @override + String get errorProcessDonationRetryButton => 'Thử lại'; + + @override + String get processingDonationTitle => 'Đang xử lý thanh toán'; + + @override + String get processingDonationStripeSubtitle => + 'Bạn sẽ hoàn tất giao dịch mua hàng trên trang thanh toán bảo mật của Stripe.'; + + @override + String get perWeek => '/ tuần'; + + @override + String get perYear => '/ năm'; + + @override + String get premiumMostPopularRibbon => 'Phổ biến nhất'; + + @override + String get premiumCloseTooltip => 'Đóng'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Những gì bạn nhận được với Premium:'; + + @override + String get premiumFeatureAdFree => 'Tư vấn không có quảng cáo'; + + @override + String get premiumFeatureFasterReplies => 'Phản hồi nhanh hơn'; + + @override + String get premiumFeatureEarlyAccess => 'Truy cập sớm vào các tính năng mới'; + + @override + String get premiumPricePerWeek => '/tuần'; + + @override + String get premiumCancelAnytime => 'Hủy bất cứ lúc nào. Không cam kết.'; + + @override + String get premiumLimitedTimeBadge => 'THỜI GIAN CÓ HẠN'; + + @override + String get premiumAutoRenewsConsent => + 'Tự động gia hạn hàng tuần. Hủy bất cứ lúc nào trong cài đặt. Bằng cách tiếp tục, bạn đồng ý với Điều khoản

Chính sách Bảo mật

.'; + + @override + String get premiumContinueButton => '🎁 Tiếp tục với Premium'; + + @override + String get premiumSupportMessage => + '💚 Sự hỗ trợ của bạn giúp giữ cho dịch vụ chăm sóc dễ tiếp cận'; + + @override + String get subscriptionLoginRequiredError => + 'Vui lòng đăng ký hoặc đăng nhập để hoàn tất việc mua hàng'; +} diff --git a/example/lib/src/generated/pay/pay_localization_zh.dart b/example/lib/src/generated/pay/pay_localization_zh.dart index 5a16ffe..49ced0a 100644 --- a/example/lib/src/generated/pay/pay_localization_zh.dart +++ b/example/lib/src/generated/pay/pay_localization_zh.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,81 +10,77 @@ import 'pay_localization.dart'; class PayLocalizationZh extends PayLocalization { PayLocalizationZh([String locale = 'zh']) : super(locale); - @override - String get title => '支付'; - @override String get exampleButton => '按钮示例'; @override - String get donationYesItsAllGoodButton => '是的,一切都很好!'; + String get donationYesItsAllGoodButton => '是的,一切都好!'; @override - String get everyContributionHealsTitle => '每一次贡献都会带来治愈!'; + String get everyContributionHealsTitle => '每一份贡献都能治愈!'; @override String get ifThisHelpedYouConsiderSupportingSubtitle => - '您的捐款有助于为有需要的人提供免费建议。'; + '您的捐助有助于资助为有需要的人提供的免费建议.'; @override - String get payWhatFeelsRightLabel => '支付合适的费用,'; + String get payWhatFeelsRightLabel => '支付你觉得合适的金额,'; @override - String get orKeepUsingDoctorinaForFreeLabel => - '或者继续免费使用 Doctorina,感谢其他选择捐赠的人。'; + String get orKeepUsingDoctorinaForFreeLabel => '或继续免费使用Doctorina,感谢选择捐赠的他人'; @override - String get oneTimeLabel => '一度'; + String get oneTimeLabel => '一次性'; @override String get monthlyLabel => '每月'; @override - String get chooseMonthlyDonationAmountLabel => '选择每月捐款金额'; + String get chooseMonthlyDonationAmountLabel => '选择每月捐赠金额'; @override - String get subscriptionNoAmount => '您即将订阅月度计划。'; + String get subscriptionNoAmount => '您即将订阅月度计划.'; @override String subscriptionAmount(String amount) { - return '您正在订阅每月 $amount 的月度计划。'; + return '您正在订阅月计划,费用为 $amount/月'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return '确认购买后,款项将从您的账户中扣除。除非在当前订阅期结束前至少 24 小时关闭自动续订,否则订阅将每月自动续订。您可以随时在账户设置中管理或取消订阅。继续操作即表示您同意我们的$termsOfService和$privacyPolicy。'; + return '购买确认后,费用将从您的账户中扣除。订阅会每月自动续订,除非在当前周期结束前至少24小时关闭自动续订。您可以随时在账户设置中管理或取消订阅。继续操作即表示您同意我们的 $termsOfService 和 $privacyPolicy.'; } @override - String get chooseOneTimeDonationAmountLabel => '选择一次性捐款金额'; + String get chooseOneTimeDonationAmountLabel => '选择一次性捐赠金额'; @override - String get mostPeopleGiveHint => '大多数人捐赠 7 至 15 美元'; + String get mostPeopleGiveHint => '大多数人给\$7–\$15'; @override String get selectCurrencyTooltip => '选择货币'; @override - String get processingPaymentSemantics => '处理付款'; + String get processingPaymentSemantics => '正在处理付款'; @override String processingOneTimePaymentSemantics(String currency, String amount) { - return '正在处理一次性付款 $currency $amount'; + return '正在处理一次性支付 $currency $amount'; } @override String processingMonthlyPaymentSemantics(String amount) { - return '处理每月 $amount 的付款'; + return '正在处理$amount的月付款'; } @override - String get thankYouTitle => '谢谢你!'; + String get thankYouTitle => '谢谢!'; @override - String get thankYouSubtitle => '现在将有更多的人获得免费建议——您的支持确实非常宝贵。'; + String get thankYouSubtitle => '现在会有更多人获得免费的建议——您的支持真是无价的.'; @override - String get youContributedLabel => '您贡献了:'; + String get youContributedLabel => '您贡献:'; @override String get perMonth => '/ 月'; @@ -99,34 +95,31 @@ class PayLocalizationZh extends PayLocalization { String get privacyPolicyLabel => '隐私政策'; @override - String get donateButton => '捐'; - - @override - String get manageSubscriptionTitle => '管理订阅'; + String get donateButton => '捐赠'; @override - String get subscriptionStatusActiveLabel => '积极的'; + String get subscriptionStatusActiveLabel => '激活'; @override - String get subscriptionStatusCanceledLabel => '取消'; + String get subscriptionStatusCanceledLabel => '已取消'; @override String get subscriptionStatusPausedLabel => '已暂停'; @override - String get subscriptionStatusPendingLabel => '待办的'; + String get subscriptionStatusPendingLabel => '待处理'; @override - String get subscriptionStatusCreatedLabel => '创建'; + String get subscriptionStatusCreatedLabel => '已创建'; @override - String get subscriptionStatusTimeoutLabel => '暂停'; + String get subscriptionStatusTimeoutLabel => '超时'; @override String get subscriptionStatusUnknownLabel => '未知'; @override - String get subscriptionDoctorinaContributor => 'Doctorina 撰稿人'; + String get subscriptionDoctorinaContributor => 'Doctorina贡献者'; @override String get subscriptionRenews => '续订'; @@ -139,137 +132,182 @@ class PayLocalizationZh extends PayLocalization { @override String get subscriptionAreYouSureDialogText => - '您的每月支持将使那些依赖 Doctorina 但无力支付的患者能够免费使用。\n\n您的订阅费用每月至少可支持 10 次免费咨询。\n如果您离开,获得所需帮助的患者将会减少。'; + '您的每月支持使Doctorina对那些依赖它却负担不起费用的人保持免费。\n\n您的订阅每月至少资助10次免费咨询。\n如果您离开,获得所需帮助的患者会减少'; @override - String get subscriptionAreYouSureDialogKeepButton => '保持订阅'; + String get subscriptionAreYouSureDialogKeepButton => '保留订阅'; @override String get subscriptionAreYouSureDialogCancelButton => '仍然取消'; @override String get subscriptionYourMonthlySupportCanceledNotification => - '您的每月支持已成功取消。'; + '您的每月支持已成功取消.'; @override - String get subscriptionMalformed => '订阅数据不正确'; + String get subscriptionMalformed => '错误的订阅数据'; @override - String get subscriptionSignUpForMonthlySupportButton => '注册每月支持以使其出现在这里。'; + String get subscriptionSignUpForMonthlySupportButton => '注册月度支持,让它显示在这里'; @override - String get subscriptionNoSubscriptionsYet => '尚未订阅'; + String get subscriptionNoSubscriptionsYet => '还没有订阅'; @override String get subscriptionCreatedAtDateLabel => '订阅日期'; @override - String get subscriptionExpiresAtDateLabel => '过期'; + String get subscriptionExpiresAtDateLabel => '到期'; @override - String get subscriptionSubscriptionIdLabel => '订阅 ID'; + String get subscriptionSubscriptionIdLabel => '订阅ID'; @override - String get subscriptionProductIdLabel => '产品 ID'; + String get subscriptionProductIdLabel => '产品ID'; @override - String get subscriptionDialogOkButton => '好的'; + String get subscriptionDialogOkButton => '确定'; @override - String get errorProcessDonationTitle => '我们无法继续您的付款'; + String get errorProcessDonationTitle => '我们无法处理您的付款'; @override - String get errorProcessDonationSubtitle => '付款出现问题。\n请重试。'; + String get errorProcessDonationSubtitle => '支付时出错。\n请再试一次.'; @override String get errorProcessDonationRetryButton => '重试'; @override - String get processingDonationTitle => '处理付款'; + String get processingDonationTitle => '正在处理付款'; + + @override + String get processingDonationStripeSubtitle => '您将在Stripe的安全结账页面完成购买。'; + + @override + String get perWeek => '/ 周'; @override - String get processingDonationStripeSubtitle => '您将在 Stripe 的安全结账页面上完成购买。'; + String get perYear => '/ 年'; + + @override + String get premiumMostPopularRibbon => '最受欢迎'; + + @override + String get premiumCloseTooltip => '关闭'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => '您获得的高级版内容:'; + + @override + String get premiumFeatureAdFree => '无广告咨询'; + + @override + String get premiumFeatureFasterReplies => '更快的回复'; + + @override + String get premiumFeatureEarlyAccess => '提前访问新功能'; + + @override + String get premiumPricePerWeek => '/周'; + + @override + String get premiumCancelAnytime => '随时取消。没有承诺。'; + + @override + String get premiumLimitedTimeBadge => '限时'; + + @override + String get premiumAutoRenewsConsent => + '每周自动续订。随时在设置中取消。继续即表示您同意我们的条款

隐私政策

。'; + + @override + String get premiumContinueButton => '🎁 继续使用高级版'; + + @override + String get premiumSupportMessage => '💚 你的支持帮助保持医疗服务的可及性'; + + @override + String get subscriptionLoginRequiredError => '请注册或登录以完成购买。'; } /// The translations for Chinese, as used in China (`zh_CN`). class PayLocalizationZhCn extends PayLocalizationZh { PayLocalizationZhCn() : super('zh_CN'); - @override - String get title => '支付'; - @override String get exampleButton => '按钮示例'; @override - String get donationYesItsAllGoodButton => '是的,一切都很好!'; + String get donationYesItsAllGoodButton => '是的,一切都好!'; @override - String get everyContributionHealsTitle => '每一次贡献都会带来治愈!'; + String get everyContributionHealsTitle => '每一份贡献都能治愈!'; @override String get ifThisHelpedYouConsiderSupportingSubtitle => - '您的捐款有助于为有需要的人提供免费建议。'; + '您的捐助有助于资助为有需要的人提供的免费建议.'; @override - String get payWhatFeelsRightLabel => '支付合适的费用,'; + String get payWhatFeelsRightLabel => '支付你觉得合适的金额,'; @override - String get orKeepUsingDoctorinaForFreeLabel => - '或者继续免费使用 Doctorina,感谢其他选择捐赠的人。'; + String get orKeepUsingDoctorinaForFreeLabel => '或继续免费使用Doctorina,感谢选择捐赠的他人'; @override - String get oneTimeLabel => '一度'; + String get oneTimeLabel => '一次性'; @override String get monthlyLabel => '每月'; @override - String get chooseMonthlyDonationAmountLabel => '选择每月捐款金额'; + String get chooseMonthlyDonationAmountLabel => '选择每月捐赠金额'; @override - String get subscriptionNoAmount => '您即将订阅月度计划。'; + String get subscriptionNoAmount => '您即将订阅月度计划.'; @override String subscriptionAmount(String amount) { - return '您正在订阅每月 $amount 的月度计划。'; + return '您正在订阅月计划,费用为 $amount/月'; } @override String subscriptionInfo(String termsOfService, String privacyPolicy) { - return '确认购买后,款项将从您的账户中扣除。除非在当前订阅期结束前至少 24 小时关闭自动续订,否则订阅将每月自动续订。您可以随时在账户设置中管理或取消订阅。继续操作即表示您同意我们的$termsOfService和$privacyPolicy。'; + return '购买确认后,费用将从您的账户中扣除。订阅会每月自动续订,除非在当前周期结束前至少24小时关闭自动续订。您可以随时在账户设置中管理或取消订阅。继续操作即表示您同意我们的 $termsOfService 和 $privacyPolicy.'; } @override - String get chooseOneTimeDonationAmountLabel => '选择一次性捐款金额'; + String get chooseOneTimeDonationAmountLabel => '选择一次性捐赠金额'; @override - String get mostPeopleGiveHint => '大多数人捐赠 7 至 15 美元'; + String get mostPeopleGiveHint => '大多数人给\$7–\$15'; @override String get selectCurrencyTooltip => '选择货币'; @override - String get processingPaymentSemantics => '处理付款'; + String get processingPaymentSemantics => '正在处理付款'; @override String processingOneTimePaymentSemantics(String currency, String amount) { - return '正在处理一次性付款 $currency $amount'; + return '正在处理一次性支付 $currency $amount'; } @override String processingMonthlyPaymentSemantics(String amount) { - return '处理每月 $amount 的付款'; + return '正在处理$amount的月付款'; } @override - String get thankYouTitle => '谢谢你!'; + String get thankYouTitle => '谢谢!'; @override - String get thankYouSubtitle => '现在将有更多的人获得免费建议——您的支持确实非常宝贵。'; + String get thankYouSubtitle => '现在会有更多人获得免费的建议——您的支持真是无价的.'; @override - String get youContributedLabel => '您贡献了:'; + String get youContributedLabel => '您贡献:'; @override String get perMonth => '/ 月'; @@ -284,34 +322,31 @@ class PayLocalizationZhCn extends PayLocalizationZh { String get privacyPolicyLabel => '隐私政策'; @override - String get donateButton => '捐'; - - @override - String get manageSubscriptionTitle => '管理订阅'; + String get donateButton => '捐赠'; @override - String get subscriptionStatusActiveLabel => '积极的'; + String get subscriptionStatusActiveLabel => '激活'; @override - String get subscriptionStatusCanceledLabel => '取消'; + String get subscriptionStatusCanceledLabel => '已取消'; @override String get subscriptionStatusPausedLabel => '已暂停'; @override - String get subscriptionStatusPendingLabel => '待办的'; + String get subscriptionStatusPendingLabel => '待处理'; @override - String get subscriptionStatusCreatedLabel => '创建'; + String get subscriptionStatusCreatedLabel => '已创建'; @override - String get subscriptionStatusTimeoutLabel => '暂停'; + String get subscriptionStatusTimeoutLabel => '超时'; @override String get subscriptionStatusUnknownLabel => '未知'; @override - String get subscriptionDoctorinaContributor => 'Doctorina 撰稿人'; + String get subscriptionDoctorinaContributor => 'Doctorina贡献者'; @override String get subscriptionRenews => '续订'; @@ -324,54 +359,330 @@ class PayLocalizationZhCn extends PayLocalizationZh { @override String get subscriptionAreYouSureDialogText => - '您的每月支持将使那些依赖 Doctorina 但无力支付的患者能够免费使用。\n\n您的订阅费用每月至少可支持 10 次免费咨询。\n如果您离开,获得所需帮助的患者将会减少。'; + '您的每月支持使Doctorina对那些依赖它却负担不起费用的人保持免费。\n\n您的订阅每月至少资助10次免费咨询。\n如果您离开,获得所需帮助的患者会减少'; @override - String get subscriptionAreYouSureDialogKeepButton => '保持订阅'; + String get subscriptionAreYouSureDialogKeepButton => '保留订阅'; @override String get subscriptionAreYouSureDialogCancelButton => '仍然取消'; @override String get subscriptionYourMonthlySupportCanceledNotification => - '您的每月支持已成功取消。'; + '您的每月支持已成功取消.'; @override - String get subscriptionMalformed => '订阅数据不正确'; + String get subscriptionMalformed => '错误的订阅数据'; @override - String get subscriptionSignUpForMonthlySupportButton => '注册每月支持以使其出现在这里。'; + String get subscriptionSignUpForMonthlySupportButton => '注册月度支持,让它显示在这里'; @override - String get subscriptionNoSubscriptionsYet => '尚未订阅'; + String get subscriptionNoSubscriptionsYet => '还没有订阅'; @override String get subscriptionCreatedAtDateLabel => '订阅日期'; @override - String get subscriptionExpiresAtDateLabel => '过期'; + String get subscriptionExpiresAtDateLabel => '到期'; @override - String get subscriptionSubscriptionIdLabel => '订阅 ID'; + String get subscriptionSubscriptionIdLabel => '订阅ID'; @override - String get subscriptionProductIdLabel => '产品 ID'; + String get subscriptionProductIdLabel => '产品ID'; @override - String get subscriptionDialogOkButton => '好的'; + String get subscriptionDialogOkButton => '确定'; @override - String get errorProcessDonationTitle => '我们无法继续您的付款'; + String get errorProcessDonationTitle => '我们无法处理您的付款'; @override - String get errorProcessDonationSubtitle => '付款出现问题。\n请重试。'; + String get errorProcessDonationSubtitle => '支付时出错。\n请再试一次.'; @override String get errorProcessDonationRetryButton => '重试'; @override - String get processingDonationTitle => '处理付款'; + String get processingDonationTitle => '正在处理付款'; + + @override + String get processingDonationStripeSubtitle => '您将在Stripe的安全结账页面完成购买。'; + + @override + String get perWeek => '/ 周'; + + @override + String get perYear => '/ 年'; + + @override + String get premiumMostPopularRibbon => '最受欢迎'; + + @override + String get premiumCloseTooltip => '关闭'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => '您获得的高级版内容:'; + + @override + String get premiumFeatureAdFree => '无广告咨询'; + + @override + String get premiumFeatureFasterReplies => '更快的回复'; + + @override + String get premiumFeatureEarlyAccess => '提前访问新功能'; + + @override + String get premiumPricePerWeek => '/周'; + + @override + String get premiumCancelAnytime => '随时取消。没有承诺。'; + + @override + String get premiumLimitedTimeBadge => '限时'; + + @override + String get premiumAutoRenewsConsent => + '每周自动续订。随时在设置中取消。继续即表示您同意我们的条款

隐私政策

。'; + + @override + String get premiumContinueButton => '🎁 继续使用高级版'; + + @override + String get premiumSupportMessage => '💚 你的支持帮助保持医疗服务的可及性'; + + @override + String get subscriptionLoginRequiredError => '请注册或登录以完成购买。'; +} + +/// The translations for Chinese, as used in Hong Kong (`zh_HK`). +class PayLocalizationZhHk extends PayLocalizationZh { + PayLocalizationZhHk() : super('zh_HK'); + + @override + String get exampleButton => '按鈕示例'; + + @override + String get donationYesItsAllGoodButton => '係,一切都好!'; + + @override + String get everyContributionHealsTitle => '每一份貢獻都能治癒!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + '你嘅捐助有助籌款提供免費建議畀有需要嘅人.'; + + @override + String get payWhatFeelsRightLabel => '隨心付費,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => '或者繼續免費使用Doctorina,多虧其他人選擇捐助.'; + + @override + String get oneTimeLabel => '一次性'; + + @override + String get monthlyLabel => '每月'; + + @override + String get chooseMonthlyDonationAmountLabel => '揀選每月捐款金額'; + + @override + String get subscriptionNoAmount => '你即將訂閱每月計劃.'; + + @override + String subscriptionAmount(String amount) { + return '你而家訂閱每月計劃,費用 $amount/月.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return '確認購買時,付款將會從你嘅帳戶扣款。除非喺本期結束前至少24小時關閉自動續訂,否則訂閱會每個月自動續訂。你可隨時喺你嘅帳戶設定入面管理或取消訂閱。繼續操作即表示你同意我哋嘅 $termsOfService 同 $privacyPolicy'; + } + + @override + String get chooseOneTimeDonationAmountLabel => '揀一次性捐款金額'; + + @override + String get mostPeopleGiveHint => '大部分人俾 \$7–\$15'; + + @override + String get selectCurrencyTooltip => '選擇貨幣'; + + @override + String get processingPaymentSemantics => '處理付款'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return '處理一次性付款 $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return '緊處理每月 $amount 嘅付款'; + } + + @override + String get thankYouTitle => '多謝!'; + + @override + String get thankYouSubtitle => '而家有更多人會獲得免費建議 — 你嘅支持真係無價'; + + @override + String get youContributedLabel => '你嘅貢獻:'; + + @override + String get perMonth => '/月'; + + @override + String get returnToTheMainScreenButton => '返回主畫面'; + + @override + String get termsOfServiceLabel => '服務條款'; + + @override + String get privacyPolicyLabel => '私隱政策'; + + @override + String get donateButton => '捐款'; + + @override + String get subscriptionStatusActiveLabel => '使用中'; + + @override + String get subscriptionStatusCanceledLabel => '已取消'; + + @override + String get subscriptionStatusPausedLabel => '暫停'; + + @override + String get subscriptionStatusPendingLabel => '待處理'; + + @override + String get subscriptionStatusCreatedLabel => '已創建'; + + @override + String get subscriptionStatusTimeoutLabel => '逾時'; + + @override + String get subscriptionStatusUnknownLabel => '未知'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina 貢獻者'; + + @override + String get subscriptionRenews => '續訂'; + + @override + String get subscriptionCancelButton => '取消訂閱'; + + @override + String get subscriptionAreYouSureDialogTitle => '你確定?'; + + @override + String get subscriptionAreYouSureDialogText => + '你每月嘅支持令Doctorina可以免費俾有需要但負擔唔起費用嘅人用。你嘅訂閱每個月至少資助10次免費諮詢。如果你停止訂閱,會有較少病人可以得到佢哋所需嘅幫助'; + + @override + String get subscriptionAreYouSureDialogKeepButton => '保留訂閱'; + + @override + String get subscriptionAreYouSureDialogCancelButton => '仍然取消'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + '你嘅每月支援已成功取消.'; + + @override + String get subscriptionMalformed => '訂閱資料錯誤'; + + @override + String get subscriptionSignUpForMonthlySupportButton => '登記每月支援,即可喺呢度出現'; + + @override + String get subscriptionNoSubscriptionsYet => '未有訂閱'; + + @override + String get subscriptionCreatedAtDateLabel => '訂閱日期'; + + @override + String get subscriptionExpiresAtDateLabel => '到期'; + + @override + String get subscriptionSubscriptionIdLabel => '訂閱編號'; + + @override + String get subscriptionProductIdLabel => '產品編號'; + + @override + String get subscriptionDialogOkButton => '好'; + + @override + String get errorProcessDonationTitle => '我哋未能處理你嘅付款'; + + @override + String get errorProcessDonationSubtitle => '付款出咗問題。請再試一次。'; + + @override + String get errorProcessDonationRetryButton => '重試'; + + @override + String get processingDonationTitle => '處理付款'; + + @override + String get processingDonationStripeSubtitle => '你會喺Stripe嘅安全結賬頁完成購買.'; + + @override + String get perWeek => '/ 星期'; + + @override + String get perYear => '/ 年'; + + @override + String get premiumMostPopularRibbon => '最受歡迎'; + + @override + String get premiumCloseTooltip => '關閉'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => '您在Premium中獲得的內容:'; + + @override + String get premiumFeatureAdFree => '無廣告諮詢'; + + @override + String get premiumFeatureFasterReplies => '更快的回覆'; + + @override + String get premiumFeatureEarlyAccess => '提前獲得新功能'; + + @override + String get premiumPricePerWeek => '/週'; + + @override + String get premiumCancelAnytime => '隨時取消。無需承諾。'; + + @override + String get premiumLimitedTimeBadge => '限時'; + + @override + String get premiumAutoRenewsConsent => + '每週自動續訂。隨時在設置中取消。繼續即表示您同意我們的條款

隱私政策

。'; + + @override + String get premiumContinueButton => '🎁 繼續使用高級版'; + + @override + String get premiumSupportMessage => '💚 你的支持有助於保持醫療服務的可及性'; @override - String get processingDonationStripeSubtitle => '您将在 Stripe 的安全结账页面上完成购买。'; + String get subscriptionLoginRequiredError => '請註冊或登入以完成購買。'; } diff --git a/example/lib/src/generated/pay/pay_localization_zu.dart b/example/lib/src/generated/pay/pay_localization_zu.dart new file mode 100644 index 0000000..5d32a21 --- /dev/null +++ b/example/lib/src/generated/pay/pay_localization_zu.dart @@ -0,0 +1,246 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'pay_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Zulu (`zu`). +class PayLocalizationZu extends PayLocalization { + PayLocalizationZu([String locale = 'zu']) : super(locale); + + @override + String get exampleButton => 'Isibonelo sebhathini'; + + @override + String get donationYesItsAllGoodButton => 'Yebo, konke kulungile!'; + + @override + String get everyContributionHealsTitle => 'Yonke iminikelo iyaphilisa!'; + + @override + String get ifThisHelpedYouConsiderSupportingSubtitle => + 'Ukuphakela kwakho kusiza ukuxhasa izeluleko zamahhala kwabanye abadinga.'; + + @override + String get payWhatFeelsRightLabel => 'Khuluma lokho okukhuluma,'; + + @override + String get orKeepUsingDoctorinaForFreeLabel => + 'noma uqhubeke usebenzisa uDoctorina mahhala, ngenxa kwabanye abakhethe ukuba banike.'; + + @override + String get oneTimeLabel => 'Okwesikhathi'; + + @override + String get monthlyLabel => 'Ngamaviki'; + + @override + String get chooseMonthlyDonationAmountLabel => + 'Khetha inani lesibonelelo sokuqala ngenyanga'; + + @override + String get subscriptionNoAmount => 'Uzozokubhalisela kuhlelo lwamaviki.'; + + @override + String subscriptionAmount(String amount) { + return 'Uthenga uhlelo lwamaviki oluhamba phambili lwe $amount/inyanga.'; + } + + @override + String subscriptionInfo(String termsOfService, String privacyPolicy) { + return 'Imali izokwehliswa kwi-akhawunti yakho uma uqinisekiswa kokuthenga. Ukubhalisela ukuvuselelwa ngokuzenzakalelayo njalo ngenyanga ngaphandle kokuthi ukuvuselelwa okuzenzakalelayo kukhanseliwe okungenani amahora angama-24 ngaphambi kokuphela kwesikhathi samanje. Ungaphatha noma ukhansele ukubhalisela kwakho nganoma yisiphi isikhathi kuzilungiselelo ze-akhawunti yakho. Ngokuhamba phambili, uvuma $termsOfService kanye $privacyPolicy.'; + } + + @override + String get chooseOneTimeDonationAmountLabel => + 'Khetha inani lesipho esisodwa'; + + @override + String get mostPeopleGiveHint => 'Abantu abaningi banika u-\$7–\$15'; + + @override + String get selectCurrencyTooltip => 'Khetha imali'; + + @override + String get processingPaymentSemantics => 'Ukucubungula ukukhokha'; + + @override + String processingOneTimePaymentSemantics(String currency, String amount) { + return 'Processing one-time payment of $currency $amount'; + } + + @override + String processingMonthlyPaymentSemantics(String amount) { + return 'Processing monthly payment of $amount'; + } + + @override + String get thankYouTitle => 'Ngiyabonga!'; + + @override + String get thankYouSubtitle => + 'Manje abantu bazothola izeluleko zamahhala — ukwesekwa kwakho kubalulekile.'; + + @override + String get youContributedLabel => 'Uphumelele:'; + + @override + String get perMonth => '/ inyanga'; + + @override + String get returnToTheMainScreenButton => 'Buyela esikrinini esiyinhloko'; + + @override + String get termsOfServiceLabel => 'Imigomo Yesevisi'; + + @override + String get privacyPolicyLabel => 'Umthetho Wokuphepha Kwedatha'; + + @override + String get donateButton => 'Phakela'; + + @override + String get subscriptionStatusActiveLabel => 'Kusebenza'; + + @override + String get subscriptionStatusCanceledLabel => 'Khanjwa'; + + @override + String get subscriptionStatusPausedLabel => 'Kumisiwe'; + + @override + String get subscriptionStatusPendingLabel => 'Kuphendulwa'; + + @override + String get subscriptionStatusCreatedLabel => 'Dale'; + + @override + String get subscriptionStatusTimeoutLabel => 'Isikhathi sokuphelelwa'; + + @override + String get subscriptionStatusUnknownLabel => 'Ayazi'; + + @override + String get subscriptionDoctorinaContributor => 'Doctorina umnikazi'; + + @override + String get subscriptionRenews => 'Iphinda'; + + @override + String get subscriptionCancelButton => 'Khansela ubhaliso'; + + @override + String get subscriptionAreYouSureDialogTitle => 'Uqinisekile?'; + + @override + String get subscriptionAreYouSureDialogText => + 'Ukuxhaswa kwakho kwenyanga kwenza uDoctorina atholakale mahhala kubantu abathembela kuwo kodwa abangakwazi ukukhokha.\n\nUhlelo lwakho luhlinzeka ngokuqinisekile ngama-consultation angama-10 mahhala nyangazonke.\nUma uhamba, abanye abaguli bazothola usizo oluncane.'; + + @override + String get subscriptionAreYouSureDialogKeepButton => 'Gcina ubhaliso'; + + @override + String get subscriptionAreYouSureDialogCancelButton => 'Khansela kanjalo'; + + @override + String get subscriptionYourMonthlySupportCanceledNotification => + 'Ukusekela kwenyanga yakho kuphumelele.'; + + @override + String get subscriptionMalformed => 'Imininingwane yokubhalisela engalungile'; + + @override + String get subscriptionSignUpForMonthlySupportButton => + 'Bhalisela ukwesekwa kwenyanga ukuze kubonakale lapha.'; + + @override + String get subscriptionNoSubscriptionsYet => 'Akukho okubhalisile okwamanje'; + + @override + String get subscriptionCreatedAtDateLabel => 'Usuku lokubhalisela'; + + @override + String get subscriptionExpiresAtDateLabel => 'Uphuma'; + + @override + String get subscriptionSubscriptionIdLabel => 'I-ID yokubhalisela'; + + @override + String get subscriptionProductIdLabel => 'Umkhiqizo ID'; + + @override + String get subscriptionDialogOkButton => 'Kulungile'; + + @override + String get errorProcessDonationTitle => + 'Asikwazanga ukuqhubeka nekhokhelo lakho'; + + @override + String get errorProcessDonationSubtitle => + 'Kwenzi okuthile ngekhadi. Sicela uzame futhi.'; + + @override + String get errorProcessDonationRetryButton => 'Phinda'; + + @override + String get processingDonationTitle => 'Ukucubungula ukukhokha'; + + @override + String get processingDonationStripeSubtitle => + 'Uzokhuluma ukuthenga kwakho ekhasini eliphephile le-Stripe.'; + + @override + String get perWeek => '/ isonto'; + + @override + String get perYear => '/ unyaka'; + + @override + String get premiumMostPopularRibbon => 'Okudumile kakhulu'; + + @override + String get premiumCloseTooltip => 'Vala'; + + @override + String get premiumTitle => 'Doctorina Premium'; + + @override + String get premiumWhatYouGetHeader => 'Okuthola ngePremium:'; + + @override + String get premiumFeatureAdFree => 'Ukuxhumana ngaphandle kwezikhangiso'; + + @override + String get premiumFeatureFasterReplies => 'Impendulo ezisheshayo'; + + @override + String get premiumFeatureEarlyAccess => + 'Ukufinyelela kwangaphambili ezici ezintsha'; + + @override + String get premiumPricePerWeek => '/iviki'; + + @override + String get premiumCancelAnytime => + 'Ungakwazi ukuhoxisa nganoma yisiphi isikhathi. Akukho ukuzibophezela.'; + + @override + String get premiumLimitedTimeBadge => 'ISIKHATHI EHLANGANISEKILE'; + + @override + String get premiumAutoRenewsConsent => + 'Iyaqhubeka njalo ngesonto. Ungayicisha nganoma yisiphi isikhathi kuzilungiselelo. Ngok继续, uyavuma Imigomo yethu kanye

Inqubomgomo Yezimfihlo

.'; + + @override + String get premiumContinueButton => '🎁 Qhubeka nePremium'; + + @override + String get premiumSupportMessage => + '💚 Ukusekela kwakho kusiza ukugcina ukunakekelwa kutholakala'; + + @override + String get subscriptionLoginRequiredError => + 'Sicela ubhalise noma ungene ukuze uqedele ukuthenga.'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization.dart b/example/lib/src/generated/profiles/profiles_localization.dart new file mode 100644 index 0000000..cf00f9e --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization.dart @@ -0,0 +1,1403 @@ +// This file is generated, do not edit it manually! +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:intl/intl.dart' as intl; + +import 'profiles_localization_af.dart'; +import 'profiles_localization_am.dart'; +import 'profiles_localization_ar.dart'; +import 'profiles_localization_az.dart'; +import 'profiles_localization_be.dart'; +import 'profiles_localization_bg.dart'; +import 'profiles_localization_bn.dart'; +import 'profiles_localization_ca.dart'; +import 'profiles_localization_cs.dart'; +import 'profiles_localization_da.dart'; +import 'profiles_localization_de.dart'; +import 'profiles_localization_el.dart'; +import 'profiles_localization_en.dart'; +import 'profiles_localization_es.dart'; +import 'profiles_localization_fa.dart'; +import 'profiles_localization_fr.dart'; +import 'profiles_localization_gu.dart'; +import 'profiles_localization_he.dart'; +import 'profiles_localization_hi.dart'; +import 'profiles_localization_hu.dart'; +import 'profiles_localization_id.dart'; +import 'profiles_localization_it.dart'; +import 'profiles_localization_ja.dart'; +import 'profiles_localization_kk.dart'; +import 'profiles_localization_km.dart'; +import 'profiles_localization_kn.dart'; +import 'profiles_localization_ko.dart'; +import 'profiles_localization_lo.dart'; +import 'profiles_localization_ml.dart'; +import 'profiles_localization_mr.dart'; +import 'profiles_localization_ms.dart'; +import 'profiles_localization_my.dart'; +import 'profiles_localization_ne.dart'; +import 'profiles_localization_nl.dart'; +import 'profiles_localization_pa.dart'; +import 'profiles_localization_pl.dart'; +import 'profiles_localization_ps.dart'; +import 'profiles_localization_pt.dart'; +import 'profiles_localization_ro.dart'; +import 'profiles_localization_ru.dart'; +import 'profiles_localization_si.dart'; +import 'profiles_localization_sk.dart'; +import 'profiles_localization_sw.dart'; +import 'profiles_localization_ta.dart'; +import 'profiles_localization_te.dart'; +import 'profiles_localization_th.dart'; +import 'profiles_localization_tl.dart'; +import 'profiles_localization_tr.dart'; +import 'profiles_localization_uk.dart'; +import 'profiles_localization_ur.dart'; +import 'profiles_localization_uz.dart'; +import 'profiles_localization_vi.dart'; +import 'profiles_localization_zh.dart'; +import 'profiles_localization_zu.dart'; + +// ignore_for_file: type=lint + +/// Callers can lookup localized strings with an instance of ProfilesLocalization +/// returned by `ProfilesLocalization.of(context)`. +/// +/// Applications need to include `ProfilesLocalization.delegate()` in their app's +/// `localizationDelegates` list, and the locales they support in the app's +/// `supportedLocales` list. For example: +/// +/// ```dart +/// import 'profiles/profiles_localization.dart'; +/// +/// return MaterialApp( +/// localizationsDelegates: ProfilesLocalization.localizationsDelegates, +/// supportedLocales: ProfilesLocalization.supportedLocales, +/// home: MyApplicationHome(), +/// ); +/// ``` +/// +/// ## Update pubspec.yaml +/// +/// Please make sure to update your pubspec.yaml to include the following +/// packages: +/// +/// ```yaml +/// dependencies: +/// # Internationalization support. +/// flutter_localizations: +/// sdk: flutter +/// intl: any # Use the pinned version from flutter_localizations +/// +/// # Rest of dependencies +/// ``` +/// +/// ## iOS Applications +/// +/// iOS applications define key application metadata, including supported +/// locales, in an Info.plist file that is built into the application bundle. +/// To configure the locales supported by your app, you’ll need to edit this +/// file. +/// +/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. +/// Then, in the Project Navigator, open the Info.plist file under the Runner +/// project’s Runner folder. +/// +/// Next, select the Information Property List item, select Add Item from the +/// Editor menu, then select Localizations from the pop-up menu. +/// +/// Select and expand the newly-created Localizations item then, for each +/// locale your application supports, add a new item and select the locale +/// you wish to add from the pop-up menu in the Value field. This list should +/// be consistent with the languages listed in the ProfilesLocalization.supportedLocales +/// property. +abstract class ProfilesLocalization { + ProfilesLocalization(String locale) + : localeName = intl.Intl.canonicalizedLocale(locale.toString()); + + final String localeName; + + static ProfilesLocalization of(BuildContext context) { + return Localizations.of( + context, ProfilesLocalization)!; + } + + static const LocalizationsDelegate delegate = + _ProfilesLocalizationDelegate(); + + /// A list of this localizations delegate along with the default localizations + /// delegates. + /// + /// Returns a list of localizations delegates containing this delegate along with + /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, + /// and GlobalWidgetsLocalizations.delegate. + /// + /// Additional delegates can be added by appending to this list in + /// MaterialApp. This list does not have to be used at all if a custom list + /// of delegates is preferred or required. + static const List> localizationsDelegates = + >[ + delegate, + GlobalMaterialLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + ]; + + /// A list of this localizations delegate's supported locales. + static const List supportedLocales = [ + Locale('af'), + Locale('am'), + Locale('ar'), + Locale('ar', 'EG'), + Locale('az'), + Locale('be'), + Locale('bg'), + Locale('bn'), + Locale('ca'), + Locale('cs'), + Locale('da'), + Locale('de'), + Locale('el'), + Locale('en'), + Locale('es'), + Locale('fa'), + Locale('fr'), + Locale('gu'), + Locale('he'), + Locale('hi'), + Locale('hu'), + Locale('id'), + Locale('it'), + Locale('ja'), + Locale('kk'), + Locale('km'), + Locale('kn'), + Locale('ko'), + Locale('lo'), + Locale('ml'), + Locale('mr'), + Locale('ms'), + Locale('my'), + Locale('ne'), + Locale('nl'), + Locale('pa'), + Locale('pa', 'PK'), + Locale('pl'), + Locale('ps'), + Locale('pt'), + Locale('pt', 'BR'), + Locale('ro'), + Locale('ru'), + Locale('si'), + Locale('sk'), + Locale('sw'), + Locale('ta'), + Locale('te'), + Locale('th'), + Locale('tl'), + Locale('tr'), + Locale('uk'), + Locale('ur'), + Locale('uz'), + Locale('vi'), + Locale('zh'), + Locale('zh', 'CN'), + Locale('zh', 'HK'), + Locale('zu') + ]; + + /// Title for side menu section + /// + /// In en, this message translates to: + /// **'Health Records'** + String get chatDrawerTitle; + + /// Badge that indicates new profile + /// + /// In en, this message translates to: + /// **'NEW'** + String get chatDrawerBadgeNew; + + /// Title for banner on side menu + /// + /// In en, this message translates to: + /// **'Create your Health Record'** + String get bannerTitle; + + /// Description for banner on side menu + /// + /// In en, this message translates to: + /// **'At the end of your consultation, add your profile.'** + String get bannerSubtitle; + + /// Title for banner on side menu for add more prfiles + /// + /// In en, this message translates to: + /// **'Add more profiles'** + String get bannerMoreProfilesTitle; + + /// Description for banner on side menu for add more profiles + /// + /// In en, this message translates to: + /// **'Start a consultation for someone else to create their profile.'** + String get bannerMoreProfilesSubtitle; + + /// Title for banner on side menu for anonymous user + /// + /// In en, this message translates to: + /// **'Sign up to create your Health Record'** + String get bannerSignUp; + + /// No description provided for @errorRetryButton. + /// + /// In en, this message translates to: + /// **'Retry'** + String get errorRetryButton; + + /// Error snackbar shown when profile deletion fails + /// + /// In en, this message translates to: + /// **'Failed to delete profile'** + String get dashboardDeleteError; + + /// Error snackbar shown when profile summary loading fails + /// + /// In en, this message translates to: + /// **'Failed to load profile summary'** + String get dashboardSummaryLoadError; + + /// More menu item label to open full profile record + /// + /// In en, this message translates to: + /// **'View Full Record'** + String get dashboardMenuViewFullRecord; + + /// More menu item label to share profile + /// + /// In en, this message translates to: + /// **'Share'** + String get dashboardMenuShare; + + /// More menu item label to delete profile + /// + /// In en, this message translates to: + /// **'Delete'** + String get dashboardMenuDelete; + + /// Health metric label for age + /// + /// In en, this message translates to: + /// **'Age'** + String get dashboardMetricAgeLabel; + + /// Health metric label for age as number + /// + /// In en, this message translates to: + /// **'{value, plural, one{{value} year} other{{value} years}}'** + String dashboardMetricAgeNumLabel(num value); + + /// Health metric label for weight + /// + /// In en, this message translates to: + /// **'Weight'** + String get dashboardMetricWeightLabel; + + /// Health metric label for weight as number + /// + /// In en, this message translates to: + /// **'{value} kg'** + String dashboardMetricWeightNumLabel(num value); + + /// Health metric label for height + /// + /// In en, this message translates to: + /// **'Height'** + String get dashboardMetricHeightLabel; + + /// Health metric label for height as number + /// + /// In en, this message translates to: + /// **'{value} cm'** + String dashboardMetricHeightNumLabel(num value); + + /// Fallback text when metric data is missing + /// + /// In en, this message translates to: + /// **'-'** + String get dashboardMetricNotAvailable; + + /// Medical info row title for allergies + /// + /// In en, this message translates to: + /// **'Allergies'** + String get dashboardInfoAllergiesTitle; + + /// Medical info row title for chronic conditions + /// + /// In en, this message translates to: + /// **'Chronic'** + String get dashboardInfoChronicTitle; + + /// Medical info row title for medication + /// + /// In en, this message translates to: + /// **'Medication'** + String get dashboardInfoMedicationTitle; + + /// Medical info row title for devices + /// + /// In en, this message translates to: + /// **'Devices'** + String get dashboardInfoDevicesTitle; + + /// Navigation card label for consultations + /// + /// In en, this message translates to: + /// **'Consultations'** + String get dashboardNavigationConsultations; + + /// Navigation card label for documents + /// + /// In en, this message translates to: + /// **'Documents'** + String get dashboardNavigationDocuments; + + /// No description provided for @dashboardDeleteRecordTitle. + /// + /// In en, this message translates to: + /// **'Delete Health Record?'** + String get dashboardDeleteRecordTitle; + + /// No description provided for @dashboardDeleteRecordSubtitle. + /// + /// In en, this message translates to: + /// **'This will permanently remove your health data and can’t be undone. You’ll lose the context we use to guide you.'** + String get dashboardDeleteRecordSubtitle; + + /// No description provided for @dashboardDeleteRecordCancel. + /// + /// In en, this message translates to: + /// **'Cancel'** + String get dashboardDeleteRecordCancel; + + /// No description provided for @dashboardDeleteRecordConfirm. + /// + /// In en, this message translates to: + /// **'Delete'** + String get dashboardDeleteRecordConfirm; + + /// No description provided for @dashboardDeleteRecordLoading. + /// + /// In en, this message translates to: + /// **'Deleting your health record...'** + String get dashboardDeleteRecordLoading; + + /// No description provided for @dashboardDeleteRecordError. + /// + /// In en, this message translates to: + /// **'Failed to delete profile'** + String get dashboardDeleteRecordError; + + /// No description provided for @dashboardDeleteRecordSuccessTitle. + /// + /// In en, this message translates to: + /// **'Health record deleted'** + String get dashboardDeleteRecordSuccessTitle; + + /// No description provided for @dashboardDeleteRecordSuccessSubtitle. + /// + /// In en, this message translates to: + /// **'You can create a new one anytime by chatting with the assistant.'** + String get dashboardDeleteRecordSuccessSubtitle; + + /// No description provided for @dashboardDeleteRecordSuccessButton. + /// + /// In en, this message translates to: + /// **'Return to Chat'** + String get dashboardDeleteRecordSuccessButton; + + /// Title for screen with health records in edit mode + /// + /// In en, this message translates to: + /// **'Editing'** + String get dataEditingScreenTitle; + + /// Error message on failed load data + /// + /// In en, this message translates to: + /// **'Failed to load profile data'** + String get dataFailedToLoadError; + + /// No description provided for @dataRecordSavedTitle. + /// + /// In en, this message translates to: + /// **'Changes saved'** + String get dataRecordSavedTitle; + + /// No description provided for @dataRecordSavedSubtitle. + /// + /// In en, this message translates to: + /// **'Your information has been successfully updated.'** + String get dataRecordSavedSubtitle; + + /// No description provided for @dataRecordSavedButton. + /// + /// In en, this message translates to: + /// **'Return to profile'** + String get dataRecordSavedButton; + + /// No description provided for @dataRecordUpdateError. + /// + /// In en, this message translates to: + /// **'Failed to update profile data'** + String get dataRecordUpdateError; + + /// No description provided for @dataRecordDiscardTitle. + /// + /// In en, this message translates to: + /// **'Discard changes?'** + String get dataRecordDiscardTitle; + + /// No description provided for @dataRecordDiscardSubtitle. + /// + /// In en, this message translates to: + /// **'You made some changes to your profile.
Save them before you go, or discard them.'** + String get dataRecordDiscardSubtitle; + + /// No description provided for @dataRecordDiscardCancel. + /// + /// In en, this message translates to: + /// **'Keep editing'** + String get dataRecordDiscardCancel; + + /// No description provided for @dataRecordDiscardConfirm. + /// + /// In en, this message translates to: + /// **'Discard'** + String get dataRecordDiscardConfirm; + + /// No description provided for @dataRecordEditTooltip. + /// + /// In en, this message translates to: + /// **'Edit'** + String get dataRecordEditTooltip; + + /// Tooltip for add record button + /// + /// In en, this message translates to: + /// **'Add record'** + String get dataRecordAddTag; + + /// Search field on consultations screen + /// + /// In en, this message translates to: + /// **'Search'** + String get consultationsSearch; + + /// Nothing was found + /// + /// In en, this message translates to: + /// **'No results found'** + String get consultationsSearchEmpty; + + /// More menu item label to download document + /// + /// In en, this message translates to: + /// **'Download'** + String get documentsMenuDownload; + + /// More menu item label to share document + /// + /// In en, this message translates to: + /// **'Share'** + String get documentsMenuShare; + + /// More menu item label to delete document + /// + /// In en, this message translates to: + /// **'Delete'** + String get documentsMenuDelete; + + /// Placeholder for empty documents list + /// + /// In en, this message translates to: + /// **'No documents found'** + String get documentsEmptyList; + + /// No description provided for @documentsDeleteTitle. + /// + /// In en, this message translates to: + /// **'Delete this document?'** + String get documentsDeleteTitle; + + /// No description provided for @documentsDeleteSubtitle. + /// + /// In en, this message translates to: + /// **'This file will be permanently removed'** + String get documentsDeleteSubtitle; + + /// No description provided for @documentsDeleteCancel. + /// + /// In en, this message translates to: + /// **'Cancel'** + String get documentsDeleteCancel; + + /// No description provided for @documentsDeleteButton. + /// + /// In en, this message translates to: + /// **'Delete'** + String get documentsDeleteButton; + + /// No description provided for @documentsMoreActionsTooltip. + /// + /// In en, this message translates to: + /// **'More actions'** + String get documentsMoreActionsTooltip; + + /// No description provided for @profilesSearch. + /// + /// In en, this message translates to: + /// **'Search'** + String get profilesSearch; + + /// No description provided for @profilesEmptyList. + /// + /// In en, this message translates to: + /// **'No profiles found'** + String get profilesEmptyList; + + /// No description provided for @profilesViewMore. + /// + /// In en, this message translates to: + /// **'View more'** + String get profilesViewMore; + + /// No description provided for @profilesMore. + /// + /// In en, this message translates to: + /// **'More'** + String get profilesMore; + + /// No description provided for @profilesAnnouncementTitle1. + /// + /// In en, this message translates to: + /// **'Doctorina now remembers your health'** + String get profilesAnnouncementTitle1; + + /// No description provided for @profilesAnnouncementSubtitle1. + /// + /// In en, this message translates to: + /// **'Your consultations now build and update your Health Record automatically.'** + String get profilesAnnouncementSubtitle1; + + /// No description provided for @profilesAnnouncementTitle2. + /// + /// In en, this message translates to: + /// **'Your Health Record, your rules'** + String get profilesAnnouncementTitle2; + + /// No description provided for @profilesAnnouncementSubtitle2. + /// + /// In en, this message translates to: + /// **'View, edit, or add symptoms, medications, history, or documents anytime.'** + String get profilesAnnouncementSubtitle2; + + /// No description provided for @profilesAnnouncementTitle3. + /// + /// In en, this message translates to: + /// **'Care for your whole family'** + String get profilesAnnouncementTitle3; + + /// No description provided for @profilesAnnouncementSubtitle3. + /// + /// In en, this message translates to: + /// **'Create a Health Record for your loved ones, your kids, parents, or partner.'** + String get profilesAnnouncementSubtitle3; + + /// No description provided for @profilesAnnouncementTitle4. + /// + /// In en, this message translates to: + /// **'Ready to save your Health Record?'** + String get profilesAnnouncementTitle4; + + /// No description provided for @profilesAnnouncementSubtitle4. + /// + /// In en, this message translates to: + /// **'After your consultation, tap “Add profile” to save it.'** + String get profilesAnnouncementSubtitle4; + + /// No description provided for @profilesNextButton. + /// + /// In en, this message translates to: + /// **'Next'** + String get profilesNextButton; + + /// No description provided for @profilesStartButton. + /// + /// In en, this message translates to: + /// **'Start a consultation'** + String get profilesStartButton; + + /// No description provided for @profilesLaterButton. + /// + /// In en, this message translates to: + /// **'Maybe later'** + String get profilesLaterButton; + + /// Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля) + /// + /// In en, this message translates to: + /// **'Close'** + String get profileSuccessCloseButton; + + /// Заголовок шапки PDF-файла с медицинской картой пациента (без имени) + /// + /// In en, this message translates to: + /// **'Health Record'** + String get pdfHeaderTitle; + + /// Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента + /// + /// In en, this message translates to: + /// **'Health Record — {name}'** + String pdfHeaderTitleWithName(String name); + + /// text button for show more text + /// + /// In en, this message translates to: + /// **'...more'** + String get expandableFieldMore; + + /// text button for show less text + /// + /// In en, this message translates to: + /// **'...less'** + String get expandableFieldLess; + + /// No description provided for @profiles_button_addnew. + /// + /// In en, this message translates to: + /// **'Add new profile'** + String get profiles_button_addnew; + + /// No description provided for @profiles_label_addnew. + /// + /// In en, this message translates to: + /// **'Create a profile to save the details of this consultation.'** + String get profiles_label_addnew; + + /// No description provided for @profiles_label_health_records_hint. + /// + /// In en, this message translates to: + /// **'You can assess it anytime in your Health Records'** + String get profiles_label_health_records_hint; + + /// No description provided for @profiles_label_keep_talking_hint. + /// + /// In en, this message translates to: + /// **'If you have more questions about this or anything related, feel free to keep talking with me. I\'m here to help'** + String get profiles_label_keep_talking_hint; + + /// No description provided for @profile_section_basic_title. + /// + /// In en, this message translates to: + /// **'General Information'** + String get profile_section_basic_title; + + /// No description provided for @profile_section_basic_name_label. + /// + /// In en, this message translates to: + /// **'Name'** + String get profile_section_basic_name_label; + + /// No description provided for @profile_section_basic_name_placeholder. + /// + /// In en, this message translates to: + /// **'John Doe'** + String get profile_section_basic_name_placeholder; + + /// No description provided for @profile_section_basic_first_name_label. + /// + /// In en, this message translates to: + /// **'First name'** + String get profile_section_basic_first_name_label; + + /// No description provided for @profile_section_basic_first_name_placeholder. + /// + /// In en, this message translates to: + /// **'John'** + String get profile_section_basic_first_name_placeholder; + + /// No description provided for @profile_section_basic_last_name_label. + /// + /// In en, this message translates to: + /// **'Last name'** + String get profile_section_basic_last_name_label; + + /// No description provided for @profile_section_basic_last_name_placeholder. + /// + /// In en, this message translates to: + /// **'Doe'** + String get profile_section_basic_last_name_placeholder; + + /// No description provided for @profile_section_basic_sex_label. + /// + /// In en, this message translates to: + /// **'Sex'** + String get profile_section_basic_sex_label; + + /// No description provided for @profile_section_basic_sex_placeholder. + /// + /// In en, this message translates to: + /// **'Please select'** + String get profile_section_basic_sex_placeholder; + + /// No description provided for @profile_section_basic_sex_options_male. + /// + /// In en, this message translates to: + /// **'Male'** + String get profile_section_basic_sex_options_male; + + /// No description provided for @profile_section_basic_sex_options_female. + /// + /// In en, this message translates to: + /// **'Female'** + String get profile_section_basic_sex_options_female; + + /// No description provided for @profile_section_basic_sex_options_other. + /// + /// In en, this message translates to: + /// **'Other'** + String get profile_section_basic_sex_options_other; + + /// No description provided for @profile_section_basic_date_of_birth_label. + /// + /// In en, this message translates to: + /// **'Date of Birth'** + String get profile_section_basic_date_of_birth_label; + + /// No description provided for @profile_section_basic_date_of_birth_placeholder. + /// + /// In en, this message translates to: + /// **'YYYY-MM-DD'** + String get profile_section_basic_date_of_birth_placeholder; + + /// No description provided for @profile_section_basic_age_str_label. + /// + /// In en, this message translates to: + /// **'Age'** + String get profile_section_basic_age_str_label; + + /// No description provided for @profile_section_basic_age_str_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. 30'** + String get profile_section_basic_age_str_placeholder; + + /// No description provided for @profile_section_basic_phonenumber_label. + /// + /// In en, this message translates to: + /// **'Phone number'** + String get profile_section_basic_phonenumber_label; + + /// No description provided for @profile_section_basic_phonenumber_placeholder. + /// + /// In en, this message translates to: + /// **'+xxx xxx xxx xxx'** + String get profile_section_basic_phonenumber_placeholder; + + /// No description provided for @profile_section_basic_email_label. + /// + /// In en, this message translates to: + /// **'Email'** + String get profile_section_basic_email_label; + + /// No description provided for @profile_section_basic_email_placeholder. + /// + /// In en, this message translates to: + /// **'example@example.com'** + String get profile_section_basic_email_placeholder; + + /// No description provided for @profile_section_basic_location_label. + /// + /// In en, this message translates to: + /// **'Location'** + String get profile_section_basic_location_label; + + /// No description provided for @profile_section_basic_location_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. City, Country'** + String get profile_section_basic_location_placeholder; + + /// No description provided for @profile_section_body_diet_title. + /// + /// In en, this message translates to: + /// **'Body & Diet'** + String get profile_section_body_diet_title; + + /// No description provided for @profile_section_body_diet_height_str_label. + /// + /// In en, this message translates to: + /// **'Height'** + String get profile_section_body_diet_height_str_label; + + /// No description provided for @profile_section_body_diet_height_str_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. 180 cm'** + String get profile_section_body_diet_height_str_placeholder; + + /// No description provided for @profile_section_body_diet_weight_str_label. + /// + /// In en, this message translates to: + /// **'Weight'** + String get profile_section_body_diet_weight_str_label; + + /// No description provided for @profile_section_body_diet_weight_str_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. 75 kg'** + String get profile_section_body_diet_weight_str_placeholder; + + /// No description provided for @profile_section_body_diet_menstrual_cycle_label. + /// + /// In en, this message translates to: + /// **'Menstrual Cycle'** + String get profile_section_body_diet_menstrual_cycle_label; + + /// No description provided for @profile_section_body_diet_menstrual_cycle_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. Regular, Irregular'** + String get profile_section_body_diet_menstrual_cycle_placeholder; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_label. + /// + /// In en, this message translates to: + /// **'Dietary Restrictions'** + String get profile_section_body_diet_dietary_restrictions_label; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_placeholder. + /// + /// In en, this message translates to: + /// **'Please select'** + String get profile_section_body_diet_dietary_restrictions_placeholder; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_hint. + /// + /// In en, this message translates to: + /// **'Let us know what you eat and any restrictions you have'** + String get profile_section_body_diet_dietary_restrictions_hint; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_none. + /// + /// In en, this message translates to: + /// **'None'** + String get profile_section_body_diet_dietary_restrictions_options_none; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_vegetarian. + /// + /// In en, this message translates to: + /// **'Vegetarian'** + String get profile_section_body_diet_dietary_restrictions_options_vegetarian; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_vegan. + /// + /// In en, this message translates to: + /// **'Vegan'** + String get profile_section_body_diet_dietary_restrictions_options_vegan; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_gluten_free. + /// + /// In en, this message translates to: + /// **'Gluten Free'** + String get profile_section_body_diet_dietary_restrictions_options_gluten_free; + + /// No description provided for @profile_section_body_diet_bmi_label. + /// + /// In en, this message translates to: + /// **'Body Mass Index (BMI)'** + String get profile_section_body_diet_bmi_label; + + /// No description provided for @profile_section_body_diet_bmi_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. 24.5'** + String get profile_section_body_diet_bmi_placeholder; + + /// No description provided for @profile_section_health_profile_title. + /// + /// In en, this message translates to: + /// **'Health Profile'** + String get profile_section_health_profile_title; + + /// No description provided for @profile_section_health_profile_chronic_illnesses_label. + /// + /// In en, this message translates to: + /// **'Chronic Illnesses'** + String get profile_section_health_profile_chronic_illnesses_label; + + /// No description provided for @profile_section_health_profile_chronic_illnesses_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. Diabetes Type 2 '** + String get profile_section_health_profile_chronic_illnesses_placeholder; + + /// No description provided for @profile_section_health_profile_chronic_illnesses_hint. + /// + /// In en, this message translates to: + /// **'Please list all chronic diseases and include when they were diagnosed and any complications.'** + String get profile_section_health_profile_chronic_illnesses_hint; + + /// No description provided for @profile_section_health_profile_past_illnesses_label. + /// + /// In en, this message translates to: + /// **'Past Illnesses'** + String get profile_section_health_profile_past_illnesses_label; + + /// No description provided for @profile_section_health_profile_past_illnesses_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. Frequent common cold'** + String get profile_section_health_profile_past_illnesses_placeholder; + + /// No description provided for @profile_section_health_profile_past_illnesses_hint. + /// + /// In en, this message translates to: + /// **'Please list serious illnesses you had in the past, even if you recovered.'** + String get profile_section_health_profile_past_illnesses_hint; + + /// No description provided for @profile_section_health_profile_surgical_history_label. + /// + /// In en, this message translates to: + /// **'Surgical History'** + String get profile_section_health_profile_surgical_history_label; + + /// No description provided for @profile_section_health_profile_surgical_history_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. Appendectomy'** + String get profile_section_health_profile_surgical_history_placeholder; + + /// No description provided for @profile_section_health_profile_surgical_history_hint. + /// + /// In en, this message translates to: + /// **'Please list all surgeries and include the year and whether there were any complications.'** + String get profile_section_health_profile_surgical_history_hint; + + /// No description provided for @profile_section_health_profile_occasional_medications_label. + /// + /// In en, this message translates to: + /// **'Occasionally used Medications'** + String get profile_section_health_profile_occasional_medications_label; + + /// No description provided for @profile_section_health_profile_occasional_medications_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. Ibuprofen '** + String get profile_section_health_profile_occasional_medications_placeholder; + + /// No description provided for @profile_section_health_profile_occasional_medications_hint. + /// + /// In en, this message translates to: + /// **'Please list medications you take from time to time (for example: painkillers, allergy medications), including the dose and reason for use.'** + String get profile_section_health_profile_occasional_medications_hint; + + /// No description provided for @profile_section_health_profile_regular_medications_label. + /// + /// In en, this message translates to: + /// **'Regular Medications'** + String get profile_section_health_profile_regular_medications_label; + + /// No description provided for @profile_section_health_profile_regular_medications_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. Metformin '** + String get profile_section_health_profile_regular_medications_placeholder; + + /// No description provided for @profile_section_health_profile_regular_medications_hint. + /// + /// In en, this message translates to: + /// **'Please list all medications you take regularly, including the name, dose, how many times per day you take it, and what condition it is for.'** + String get profile_section_health_profile_regular_medications_hint; + + /// No description provided for @profile_section_health_profile_allergies_label. + /// + /// In en, this message translates to: + /// **'Allergies'** + String get profile_section_health_profile_allergies_label; + + /// No description provided for @profile_section_health_profile_allergies_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. Penicillin – causes rash'** + String get profile_section_health_profile_allergies_placeholder; + + /// No description provided for @profile_section_health_profile_allergies_hint. + /// + /// In en, this message translates to: + /// **'Please list all allergies (medications, food, environmental), and describe what reaction you have (for example: rash, swelling, breathing problems).'** + String get profile_section_health_profile_allergies_hint; + + /// No description provided for @profile_section_health_profile_special_conditions_label. + /// + /// In en, this message translates to: + /// **'Special Conditions'** + String get profile_section_health_profile_special_conditions_label; + + /// No description provided for @profile_section_health_profile_special_conditions_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. Pregnancy, Disability'** + String get profile_section_health_profile_special_conditions_placeholder; + + /// No description provided for @profile_section_health_profile_special_conditions_hint. + /// + /// In en, this message translates to: + /// **'If you have any important medical conditions that doctors should always know about (for example: pregnancy, implanted devices, disabilities, anticoagulation therapy), please describe them. If none, you can leave this blank.'** + String get profile_section_health_profile_special_conditions_hint; + + /// No description provided for @profile_section_health_profile_family_history_label. + /// + /// In en, this message translates to: + /// **'Family History'** + String get profile_section_health_profile_family_history_label; + + /// No description provided for @profile_section_health_profile_family_history_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. Heart Disease, Cancer'** + String get profile_section_health_profile_family_history_placeholder; + + /// No description provided for @profile_section_health_profile_family_history_hint. + /// + /// In en, this message translates to: + /// **'Please describe important diseases in your family (for example: diabetes, hypertension, heart disease, cancer, genetic diseases) and specify which family member had the condition.'** + String get profile_section_health_profile_family_history_hint; + + /// No description provided for @profile_section_health_profile_social_lifestyle_factors_label. + /// + /// In en, this message translates to: + /// **'Social & Lifestyle Factors'** + String get profile_section_health_profile_social_lifestyle_factors_label; + + /// No description provided for @profile_section_health_profile_social_lifestyle_factors_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. Smoking, Alcohol consumption'** + String + get profile_section_health_profile_social_lifestyle_factors_placeholder; + + /// No description provided for @profile_section_health_profile_social_lifestyle_factors_hint. + /// + /// In en, this message translates to: + /// **'Please describe lifestyle factors that can affect your health, such as smoking, alcohol, physical activity, diet, sleep, and occupation.'** + String get profile_section_health_profile_social_lifestyle_factors_hint; + + /// No description provided for @profile_section_health_profile_devices_label. + /// + /// In en, this message translates to: + /// **'Medical Devices'** + String get profile_section_health_profile_devices_label; + + /// No description provided for @profile_section_health_profile_devices_placeholder. + /// + /// In en, this message translates to: + /// **'e.g. Pacemaker, Hearing aid, Insulin pump'** + String get profile_section_health_profile_devices_placeholder; + + /// No description provided for @profile_section_health_profile_devices_hint. + /// + /// In en, this message translates to: + /// **'Please list any medical devices you use or have implanted, such as pacemakers, insulin pumps, hearing aids, prosthetics, or other assistive or monitoring devices. Include relevant details if applicable.'** + String get profile_section_health_profile_devices_hint; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_omnivorous. + /// + /// In en, this message translates to: + /// **'Omnivorous'** + String get profile_section_body_diet_dietary_restrictions_options_omnivorous; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_fast_food. + /// + /// In en, this message translates to: + /// **'Fast Food'** + String get profile_section_body_diet_dietary_restrictions_options_fast_food; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_pescatarian. + /// + /// In en, this message translates to: + /// **'Pescatarian'** + String get profile_section_body_diet_dietary_restrictions_options_pescatarian; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_lactose_free. + /// + /// In en, this message translates to: + /// **'Lactose-Free'** + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_low_sodium. + /// + /// In en, this message translates to: + /// **'Low-sodium diet'** + String get profile_section_body_diet_dietary_restrictions_options_low_sodium; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_low_sugar. + /// + /// In en, this message translates to: + /// **'Low-sugar diet'** + String get profile_section_body_diet_dietary_restrictions_options_low_sugar; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_cardiac. + /// + /// In en, this message translates to: + /// **'Cardiac diet'** + String get profile_section_body_diet_dietary_restrictions_options_cardiac; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_renal. + /// + /// In en, this message translates to: + /// **'Renal diet'** + String get profile_section_body_diet_dietary_restrictions_options_renal; + + /// No description provided for @profile_section_body_diet_dietary_restrictions_options_other. + /// + /// In en, this message translates to: + /// **'Other'** + String get profile_section_body_diet_dietary_restrictions_options_other; +} + +class _ProfilesLocalizationDelegate + extends LocalizationsDelegate { + const _ProfilesLocalizationDelegate(); + + @override + Future load(Locale locale) { + return SynchronousFuture( + lookupProfilesLocalization(locale)); + } + + @override + bool isSupported(Locale locale) => [ + 'af', + 'am', + 'ar', + 'az', + 'be', + 'bg', + 'bn', + 'ca', + 'cs', + 'da', + 'de', + 'el', + 'en', + 'es', + 'fa', + 'fr', + 'gu', + 'he', + 'hi', + 'hu', + 'id', + 'it', + 'ja', + 'kk', + 'km', + 'kn', + 'ko', + 'lo', + 'ml', + 'mr', + 'ms', + 'my', + 'ne', + 'nl', + 'pa', + 'pl', + 'ps', + 'pt', + 'ro', + 'ru', + 'si', + 'sk', + 'sw', + 'ta', + 'te', + 'th', + 'tl', + 'tr', + 'uk', + 'ur', + 'uz', + 'vi', + 'zh', + 'zu' + ].contains(locale.languageCode); + + @override + bool shouldReload(_ProfilesLocalizationDelegate old) => false; +} + +ProfilesLocalization lookupProfilesLocalization(Locale locale) { + // Lookup logic when language+country codes are specified. + switch (locale.languageCode) { + case 'ar': + { + switch (locale.countryCode) { + case 'EG': + return ProfilesLocalizationArEg(); + } + break; + } + case 'pa': + { + switch (locale.countryCode) { + case 'PK': + return ProfilesLocalizationPaPk(); + } + break; + } + case 'pt': + { + switch (locale.countryCode) { + case 'BR': + return ProfilesLocalizationPtBr(); + } + break; + } + case 'zh': + { + switch (locale.countryCode) { + case 'CN': + return ProfilesLocalizationZhCn(); + case 'HK': + return ProfilesLocalizationZhHk(); + } + break; + } + } + + // Lookup logic when only language code is specified. + switch (locale.languageCode) { + case 'af': + return ProfilesLocalizationAf(); + case 'am': + return ProfilesLocalizationAm(); + case 'ar': + return ProfilesLocalizationAr(); + case 'az': + return ProfilesLocalizationAz(); + case 'be': + return ProfilesLocalizationBe(); + case 'bg': + return ProfilesLocalizationBg(); + case 'bn': + return ProfilesLocalizationBn(); + case 'ca': + return ProfilesLocalizationCa(); + case 'cs': + return ProfilesLocalizationCs(); + case 'da': + return ProfilesLocalizationDa(); + case 'de': + return ProfilesLocalizationDe(); + case 'el': + return ProfilesLocalizationEl(); + case 'en': + return ProfilesLocalizationEn(); + case 'es': + return ProfilesLocalizationEs(); + case 'fa': + return ProfilesLocalizationFa(); + case 'fr': + return ProfilesLocalizationFr(); + case 'gu': + return ProfilesLocalizationGu(); + case 'he': + return ProfilesLocalizationHe(); + case 'hi': + return ProfilesLocalizationHi(); + case 'hu': + return ProfilesLocalizationHu(); + case 'id': + return ProfilesLocalizationId(); + case 'it': + return ProfilesLocalizationIt(); + case 'ja': + return ProfilesLocalizationJa(); + case 'kk': + return ProfilesLocalizationKk(); + case 'km': + return ProfilesLocalizationKm(); + case 'kn': + return ProfilesLocalizationKn(); + case 'ko': + return ProfilesLocalizationKo(); + case 'lo': + return ProfilesLocalizationLo(); + case 'ml': + return ProfilesLocalizationMl(); + case 'mr': + return ProfilesLocalizationMr(); + case 'ms': + return ProfilesLocalizationMs(); + case 'my': + return ProfilesLocalizationMy(); + case 'ne': + return ProfilesLocalizationNe(); + case 'nl': + return ProfilesLocalizationNl(); + case 'pa': + return ProfilesLocalizationPa(); + case 'pl': + return ProfilesLocalizationPl(); + case 'ps': + return ProfilesLocalizationPs(); + case 'pt': + return ProfilesLocalizationPt(); + case 'ro': + return ProfilesLocalizationRo(); + case 'ru': + return ProfilesLocalizationRu(); + case 'si': + return ProfilesLocalizationSi(); + case 'sk': + return ProfilesLocalizationSk(); + case 'sw': + return ProfilesLocalizationSw(); + case 'ta': + return ProfilesLocalizationTa(); + case 'te': + return ProfilesLocalizationTe(); + case 'th': + return ProfilesLocalizationTh(); + case 'tl': + return ProfilesLocalizationTl(); + case 'tr': + return ProfilesLocalizationTr(); + case 'uk': + return ProfilesLocalizationUk(); + case 'ur': + return ProfilesLocalizationUr(); + case 'uz': + return ProfilesLocalizationUz(); + case 'vi': + return ProfilesLocalizationVi(); + case 'zh': + return ProfilesLocalizationZh(); + case 'zu': + return ProfilesLocalizationZu(); + } + + throw FlutterError( + 'ProfilesLocalization.delegate failed to load unsupported locale "$locale". This is likely ' + 'an issue with the localizations generation tool. Please file an issue ' + 'on GitHub with a reproducible sample app and the gen-l10n configuration ' + 'that was used.'); +} diff --git a/example/lib/src/generated/profiles/profiles_localization_af.dart b/example/lib/src/generated/profiles/profiles_localization_af.dart new file mode 100644 index 0000000..df33af7 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_af.dart @@ -0,0 +1,580 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Afrikaans (`af`). +class ProfilesLocalizationAf extends ProfilesLocalization { + ProfilesLocalizationAf([String locale = 'af']) : super(locale); + + @override + String get chatDrawerTitle => 'Gesondheidsrekords'; + + @override + String get chatDrawerBadgeNew => 'NUWE'; + + @override + String get bannerTitle => 'Skep jou Gesondheidsrekord'; + + @override + String get bannerSubtitle => + 'Aan die einde van jou konsultasie, voeg jou profiel by.'; + + @override + String get bannerMoreProfilesTitle => 'Voeg meer profiele by'; + + @override + String get bannerMoreProfilesSubtitle => + 'Begin \'n konsultasie vir iemand anders om hul profiel te skep'; + + @override + String get bannerSignUp => 'Teken in om jou Gesondheidsrekord te skep'; + + @override + String get errorRetryButton => 'Probeer weer'; + + @override + String get dashboardDeleteError => 'Kon nie profiel verwyder nie'; + + @override + String get dashboardSummaryLoadError => 'Kon nie profielopsomming laai nie'; + + @override + String get dashboardMenuViewFullRecord => 'Blaai Volledige Rekord'; + + @override + String get dashboardMenuShare => 'Deel'; + + @override + String get dashboardMenuDelete => 'Verwyder'; + + @override + String get dashboardMetricAgeLabel => ' ouderdom'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value jare', + one: '$value jaar', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Gewig'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Hoogte'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Allergieë'; + + @override + String get dashboardInfoChronicTitle => 'Chronies'; + + @override + String get dashboardInfoMedicationTitle => 'Medikasie'; + + @override + String get dashboardInfoDevicesTitle => 'Toestelle'; + + @override + String get dashboardNavigationConsultations => 'Konsultasies'; + + @override + String get dashboardNavigationDocuments => 'Dokumente'; + + @override + String get dashboardDeleteRecordTitle => 'Verwyder Gesondheidsrekord?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Dit sal jou gesondheidsdata permanent verwyder en kan nie ongedaan gemaak word nie. Jy sal die konteks verloor wat ons gebruik om jou te lei.'; + + @override + String get dashboardDeleteRecordCancel => 'Kanselleer'; + + @override + String get dashboardDeleteRecordConfirm => 'Verwyder'; + + @override + String get dashboardDeleteRecordLoading => + 'Verwydering van jou gesondheidsrekord...'; + + @override + String get dashboardDeleteRecordError => 'Kon nie profiel verwyder nie'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Gesondheidsrekord verwyder'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Jy kan enige tyd \'n nuwe een skep deur met die assistent te gesels.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Terug na Klets'; + + @override + String get dataEditingScreenTitle => 'Wysig'; + + @override + String get dataFailedToLoadError => 'Kon nie profieldata laai'; + + @override + String get dataRecordSavedTitle => 'Veranderinge gestoor'; + + @override + String get dataRecordSavedSubtitle => + 'Jou inligting is suksesvol opgedateer.'; + + @override + String get dataRecordSavedButton => 'Terug na profiel'; + + @override + String get dataRecordUpdateError => 'Kon nie profieldata opdateer nie'; + + @override + String get dataRecordDiscardTitle => 'Veranderings verwerp?'; + + @override + String get dataRecordDiscardSubtitle => + 'U het \'n paar veranderinge aan u profiel gemaak. Stoor dit voordat u gaan, of verwerp dit.'; + + @override + String get dataRecordDiscardCancel => 'Hou aan om te redigeer'; + + @override + String get dataRecordDiscardConfirm => 'Verwerp'; + + @override + String get dataRecordEditTooltip => 'Wysig'; + + @override + String get dataRecordAddTag => 'Voeg rekord by'; + + @override + String get consultationsSearch => 'Soek'; + + @override + String get consultationsSearchEmpty => 'Geen resultate gevind'; + + @override + String get documentsMenuDownload => 'Aflaai'; + + @override + String get documentsMenuShare => 'Deel'; + + @override + String get documentsMenuDelete => 'Verwyder'; + + @override + String get documentsEmptyList => 'Geen dokumente gevind'; + + @override + String get documentsDeleteTitle => 'Verwyder hierdie dokument?'; + + @override + String get documentsDeleteSubtitle => + 'Hierdie lêer sal permanent verwyder word'; + + @override + String get documentsDeleteCancel => 'Kanselleer'; + + @override + String get documentsDeleteButton => 'Verwyder'; + + @override + String get documentsMoreActionsTooltip => 'Meer aksies'; + + @override + String get profilesSearch => 'Soek'; + + @override + String get profilesEmptyList => 'Geen profiele gevind'; + + @override + String get profilesViewMore => 'Bekyk meer'; + + @override + String get profilesMore => 'Meer'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina onthou nou jou gesondheid'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Jou konsultasies bou en werk nou jou Gesondheidsrekord outomaties op.'; + + @override + String get profilesAnnouncementTitle2 => 'Jou Gesondheidsrekord, jou reëls'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Beskou, wysig of voeg simptome, medikasie, geskiedenis of dokumente enige tyd by.'; + + @override + String get profilesAnnouncementTitle3 => 'Versorging vir jou hele gesin'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Skep \'n Gesondheidsrekord vir jou geliefdes, jou kinders, ouers of maat.'; + + @override + String get profilesAnnouncementTitle4 => + 'Gereed om jou Gesondheidsrekord te stoor?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Na u konsultasie, tik op “Voeg profiel by” om dit te stoor.'; + + @override + String get profilesNextButton => 'Volgende'; + + @override + String get profilesStartButton => 'Begin \'n konsultasie'; + + @override + String get profilesLaterButton => 'Miskien later'; + + @override + String get profileSuccessCloseButton => 'Sluit'; + + @override + String get pdfHeaderTitle => 'Gesondheidsrekord'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Gesondheidsrekord — $name'; + } + + @override + String get expandableFieldMore => '...meer'; + + @override + String get expandableFieldLess => '...minder'; + + @override + String get profiles_button_addnew => 'Voeg nuwe profiel by'; + + @override + String get profiles_label_addnew => + 'Skep \'n profiel om die besonderhede van hierdie konsultasie te stoor'; + + @override + String get profiles_label_health_records_hint => + 'Jy kan dit te eniger tyd in jou Gesondheidsrekords besigtig'; + + @override + String get profiles_label_keep_talking_hint => + 'As jy meer vrae het oor dit of iets daaraan verwant, voel vry om voort te gesels met my. Ek is hier om te help'; + + @override + String get profile_section_basic_title => 'Algemene inligting'; + + @override + String get profile_section_basic_name_label => 'Naam'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Voornaam'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Familienaam'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Geslag'; + + @override + String get profile_section_basic_sex_placeholder => 'Kies asseblief'; + + @override + String get profile_section_basic_sex_options_male => 'Man'; + + @override + String get profile_section_basic_sex_options_female => 'Vrou'; + + @override + String get profile_section_basic_sex_options_other => 'Ander'; + + @override + String get profile_section_basic_date_of_birth_label => 'Geboortedatum'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Ouderdom'; + + @override + String get profile_section_basic_age_str_placeholder => 'bv. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Telefoonnommer'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-pos'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Ligging'; + + @override + String get profile_section_basic_location_placeholder => 'bv. Stad, Land'; + + @override + String get profile_section_body_diet_title => 'Liggaam & Dieet'; + + @override + String get profile_section_body_diet_height_str_label => 'Lengte'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'bv. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Gewig'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'bv. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menstruele Siklus'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'bv. Gereeld, Ongereeld'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Dieetbeperkings'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Kies asseblief'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Laat weet wat jy eet en enige beperkings wat jy het'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Geen'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetaries'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Glutenvry'; + + @override + String get profile_section_body_diet_bmi_label => + 'Liggaamsmassa-indeks (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'bv. 24.5'; + + @override + String get profile_section_health_profile_title => 'Gesondheidsprofiel'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Kroniese Siektes'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'bv. Diabetes Tipe 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Lys al die chroniese siektes en sluit in wanneer hulle gediagnoseer is en enige komplikasies.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Eerdere siektes'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'bv. Gereelde verkoues'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Gee asseblief \'n lys van ernstige siektes wat jy in die verlede gehad het, selfs al het jy herstel.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Chirurgiese geskiedenis'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'bv. Appendektomie'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Verskaf asseblief \'n lys van alle operasies en sluit die jaar in en of daar enige komplikasies was.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Sporadies Gebruikte Medikasie'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'bv. Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Gee asseblief \'n lys van medikasie wat u van tyd tot tyd neem (byvoorbeeld: pynstillers, allergiemedikasie), insluitend die dosis en rede vir gebruik.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Gereelde Medikasie'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'bv. Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Gee asseblief \'n lys van alle medikasie wat jy gereeld neem, insluitend die naam, dosis, hoeveel keer per dag jy dit neem, en waarvoor dit is.'; + + @override + String get profile_section_health_profile_allergies_label => 'Allergieë'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'bv. Penisillien – veroorsaak uitslag'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Gee asseblief \'n lys van alle allergieë (medikasie, kos, omgewings), en beskryf watter reaksie jy het (byvoorbeeld: uitslag, swelling, asemhalingsprobleme).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Spesiale Toestande'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'bv. Swangerskap, Gestremdheid'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'As u enige belangrike mediese toestande het wat dokters altyd moet weet (byvoorbeeld: swangerskap, ingeplante toestelle, gestremdhede, antikoagulasieterapie), beskryf dit asseblief. As daar geen is nie, kan u dit leeg laat.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Familiegeskiedenis'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'bv. hartsiekte, kanker'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Beskryf asseblief belangrike siektes in jou gesin (byvoorbeeld: diabetes, hipertensie, hartsiektes, kanker, genetiese siektes) en spesifiseer watter familielid die toestand gehad het.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Sosiale & Leefstylfaktore'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'bv. Rook, Alkoholgebruik'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Beskryf asseblief lewenstylfaktore wat jou gesondheid kan beïnvloed, soos rook, alkohol, fisiese aktiwiteit, dieet, slaap en beroep.'; + + @override + String get profile_section_health_profile_devices_label => + 'Mediese Toestelle'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'bv. hartstimulator, hoortoestel, insulienpomp'; + + @override + String get profile_section_health_profile_devices_hint => + 'Gee asseblief \'n lys van enige mediese toestelle wat u gebruik of geïmplanteer het, soos pacemakers, insulienpompe, gehoorapparate, prostetika of ander assistiewe of moniteringstoestelle. Sluit relevante besonderhede in indien van toepassing.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Alleseter'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Vinnigkos'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescatarian'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Laktosevry'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Lae-natriumdieet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Lae-suikerdieet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Hartdieet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Nierdieet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Ander'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_am.dart b/example/lib/src/generated/profiles/profiles_localization_am.dart new file mode 100644 index 0000000..d0d2a7e --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_am.dart @@ -0,0 +1,568 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Amharic (`am`). +class ProfilesLocalizationAm extends ProfilesLocalization { + ProfilesLocalizationAm([String locale = 'am']) : super(locale); + + @override + String get chatDrawerTitle => 'የጤና መዝገቦች'; + + @override + String get chatDrawerBadgeNew => 'አዲስ'; + + @override + String get bannerTitle => 'የጤና መዝገብዎን ይፍጠሩ'; + + @override + String get bannerSubtitle => 'እባኮትን የእርዳታዎን መጨረሻ ላይ የእርስዎን መገኛ ያከብሩ።'; + + @override + String get bannerMoreProfilesTitle => 'ተጨማሪ ፕሮፋይሎች አክል'; + + @override + String get bannerMoreProfilesSubtitle => 'ለሌላ ሰው እንዲያወጣ የእርዳታ ሂደት ይጀምሩ.'; + + @override + String get bannerSignUp => 'የጤና መዝግብ ለማድረግ ይመዝገቡ'; + + @override + String get errorRetryButton => 'እንደገና ይሞክሩ'; + + @override + String get dashboardDeleteError => 'መገናኛ መረጃ ማጥፊያ አልተሳካም'; + + @override + String get dashboardSummaryLoadError => 'የፕሮፋይል ማጠቃለያ ማስታወቂያ አልተገኘም'; + + @override + String get dashboardMenuViewFullRecord => 'ሙሉ መዝገብ እይታ'; + + @override + String get dashboardMenuShare => 'አጋራ'; + + @override + String get dashboardMenuDelete => 'አጥፍ'; + + @override + String get dashboardMetricAgeLabel => 'እድሜ'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value ዓመታት', + one: '$value ዓመት', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'ክብደት'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value ኪ.ግ'; + } + + @override + String get dashboardMetricHeightLabel => 'ከፍታ'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value ሴ.ሜ'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'አለምም'; + + @override + String get dashboardInfoChronicTitle => 'ክሮኒክ'; + + @override + String get dashboardInfoMedicationTitle => 'መድሃኒት'; + + @override + String get dashboardInfoDevicesTitle => 'መሣሪያዎች'; + + @override + String get dashboardNavigationConsultations => 'ኮንስልታሽን'; + + @override + String get dashboardNavigationDocuments => 'ሰነዶች'; + + @override + String get dashboardDeleteRecordTitle => 'የጤና መዝገብ ማጥፋት እባክዎት?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'ይህ የጤና ውሂብዎን በወይዘር ይሰርዝ እና አይታወቅም። እንደ እንደ መመሪያ የምንጠቀምበት አካል ይጠፋል።'; + + @override + String get dashboardDeleteRecordCancel => 'እንደገና ይቆም'; + + @override + String get dashboardDeleteRecordConfirm => 'አጥፍ'; + + @override + String get dashboardDeleteRecordLoading => 'የእንክብካቤ መዝገብዎን እንደሚሰርዝ...'; + + @override + String get dashboardDeleteRecordError => 'መግለጫ መረጃ ማጥፋት አልቻልኩም'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'የጤና መዝገብ ወይዘር ተሰርዟል'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'እባክዎ ከአስተያየት ጋር በመደወል አዲስ አንዱን መፍጠር ይችላሉ።'; + + @override + String get dashboardDeleteRecordSuccessButton => 'ወደ ውይይት ተመለስ'; + + @override + String get dataEditingScreenTitle => 'እንደ እንቅስቃሴ'; + + @override + String get dataFailedToLoadError => 'መገናኛ ውስጥ የማይገኝ መረጃ መግኘት አልቻልኩም'; + + @override + String get dataRecordSavedTitle => 'ለውጦች ተያይዞ ተያይዞ ተያይዞ'; + + @override + String get dataRecordSavedSubtitle => 'መረጃዎት በተሳካ ሁኔታ ተዘጋጅቷል።'; + + @override + String get dataRecordSavedButton => 'መገናኛ ወደ መገኛ ይመለሱ'; + + @override + String get dataRecordUpdateError => 'መገናኛ ውሂብ መረጃ ማዘመን አልቻልኩም'; + + @override + String get dataRecordDiscardTitle => 'ለውጦችን ይወድዱ?'; + + @override + String get dataRecordDiscardSubtitle => + 'በመገለጫዎ ላይ አንዳንድ ለውጦችን አድርገዋል። ከመውጣትዎ በፊት ያስቀምጧቸው ወይም ይተዉአቸው።'; + + @override + String get dataRecordDiscardCancel => '`ማስተካከያውን ይቀጥሉ`'; + + @override + String get dataRecordDiscardConfirm => '`ተወው`'; + + @override + String get dataRecordEditTooltip => 'አርትዕ'; + + @override + String get dataRecordAddTag => 'መዝግብ ያክል'; + + @override + String get consultationsSearch => 'ፈልግ'; + + @override + String get consultationsSearchEmpty => 'የተገኙ ውጤቶች የለም'; + + @override + String get documentsMenuDownload => 'ዳውንሎድ'; + + @override + String get documentsMenuShare => 'አጋራ'; + + @override + String get documentsMenuDelete => 'አጥፍ'; + + @override + String get documentsEmptyList => 'ምንም ሰነዶች አልተገኙም'; + + @override + String get documentsDeleteTitle => '`ይህን ሰነድ ማጥፋት ይፈልጋሉ?`'; + + @override + String get documentsDeleteSubtitle => '`ይህ ፋይል ለዘላለም ይወገዳል።`'; + + @override + String get documentsDeleteCancel => 'እንደገና ይቆም'; + + @override + String get documentsDeleteButton => 'አጥፍ'; + + @override + String get documentsMoreActionsTooltip => 'ተጨማሪ እርምጃዎች'; + + @override + String get profilesSearch => 'ፈልግ'; + + @override + String get profilesEmptyList => 'ምንም መገለጫ አልተገኘም'; + + @override + String get profilesViewMore => 'ተጨማሪ ይመልከቱ'; + + @override + String get profilesMore => 'ተጨማሪ'; + + @override + String get profilesAnnouncementTitle1 => 'ዶክተሪና እንደ ጤናዎት ይወስዳል'; + + @override + String get profilesAnnouncementSubtitle1 => + 'የእርዳታዎችዎ አሁን የጤና መዝገብዎን በራስ ማዕከል ይገነባል እና ይዘው ይዘው ይዘው ይዘው.'; + + @override + String get profilesAnnouncementTitle2 => 'የእርግጥ መዝገብ፣ የእርስዎ ደንብ'; + + @override + String get profilesAnnouncementSubtitle2 => + 'ምርመራዎችን፣ መድሃኒቶችን፣ ታሪክን ወይም ሰነዶችን በየጊዜው ይመልከቱ፣ ይሻሽሉ ወይም ይጨምሩ።'; + + @override + String get profilesAnnouncementTitle3 => 'እርዳታ ለአንድ ቤተሰብ ሁሉ'; + + @override + String get profilesAnnouncementSubtitle3 => + 'የወዳጆችዎ ጤና መዝገብ ይፍጠሩ፣ ለልጆችዎ፣ እናቶችዎ፣ ወይም ባልዎ።'; + + @override + String get profilesAnnouncementTitle4 => 'የጤና መዝግብዎን ለመያዝ ዝግጁ ነው?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'ከኮንስልታሽንዎ በኋላ \"ፕሮፋይል አክስት\" ይጫኑ እንዲያውም ይቀመጡ።'; + + @override + String get profilesNextButton => 'ቀጣይ'; + + @override + String get profilesStartButton => 'ኮንስልታሽን ይጀምሩ'; + + @override + String get profilesLaterButton => 'አሁን አይደለም'; + + @override + String get profileSuccessCloseButton => 'ዝግጅት'; + + @override + String get pdfHeaderTitle => 'የጤና መዝገብ'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'ጤና መዝገብ — $name'; + } + + @override + String get expandableFieldMore => '...በተጨማሪ'; + + @override + String get expandableFieldLess => '...አነሱ'; + + @override + String get profiles_button_addnew => 'አዲስ ፕሮፋይል አክል'; + + @override + String get profiles_label_addnew => 'አንድ ፕሮፋይል ይፍጠሩ እንደዚህ የምንኖር ዝርዝር ይቀመጡ.'; + + @override + String get profiles_label_health_records_hint => + 'በእርስዎ የጤና መዝገቦች ውስጥ እሱን በማንኛውም ጊዜ ማየት ይችላሉ'; + + @override + String get profiles_label_keep_talking_hint => + 'ይህ ወይም ከዚህ ጋር የተያያዘ ማንኛውም ጥያቄ ካለዎት, ከእኔ ጋር መቀጠል ነፃ ይችላሉ. እርዳታ ለማቅረብ እዚህ ነኝ'; + + @override + String get profile_section_basic_title => 'አጠቃላይ መረጃ'; + + @override + String get profile_section_basic_name_label => 'ስም'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'የመጀመሪያ ስም'; + + @override + String get profile_section_basic_first_name_placeholder => 'ዮሐንስ'; + + @override + String get profile_section_basic_last_name_label => 'የቤተሰብ ስም'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'ፆታ'; + + @override + String get profile_section_basic_sex_placeholder => 'እባክዎ ይምረጡ'; + + @override + String get profile_section_basic_sex_options_male => 'ወንድ'; + + @override + String get profile_section_basic_sex_options_female => 'ሴት'; + + @override + String get profile_section_basic_sex_options_other => 'ሌላ'; + + @override + String get profile_section_basic_date_of_birth_label => 'የትውልድ ቀን'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'ዕድሜ'; + + @override + String get profile_section_basic_age_str_placeholder => 'ለምሳሌ 30'; + + @override + String get profile_section_basic_phonenumber_label => 'ስልክ ቁጥር'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ኢሜል'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'ቦታ'; + + @override + String get profile_section_basic_location_placeholder => 'ለምሳሌ ከተማ, አገር'; + + @override + String get profile_section_body_diet_title => 'ሰውነት & አመጋገብ'; + + @override + String get profile_section_body_diet_height_str_label => 'ቁመት'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'ለምሳሌ 180 ሴሜ'; + + @override + String get profile_section_body_diet_weight_str_label => 'ክብደት'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'ለምሳሌ 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menstrual Cycle'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'ለምሳሌ መደበኛ, የተለዋዋጭ'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'የምግብ ገደቦች'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'እባክዎን ይምረጡ'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'እባክዎን የምታይ ምግብ እና የሚከበሩ ነገሮች እንዲያውቁን እንደምን እንደምን ይነግሩን'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'የምግብ ገደብ የለም'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'ቬጂታሪያን'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'ቪጋን'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'የግሉቲን ነፃ'; + + @override + String get profile_section_body_diet_bmi_label => 'የአካል ብዛት መጠን (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ለምሳሌ 24.5'; + + @override + String get profile_section_health_profile_title => 'Առողջության պրոֆիլ'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'ቋሚ ሕመሞች'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'የዳይባትስ ዓይነት 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'እባክዎ ሁሉንም የወቅታዊ ሕመሞች ይዘጋጁ እና የተወሰኑትን ወቅታዊ ሕመሞች እና የተከሰቱትን ይጨምሩ።'; + + @override + String get profile_section_health_profile_past_illnesses_label => 'ያለፉ ሕመሶች'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'እንደ አስቀድሞ የተከሰተ የተወሰነ የበሽታ ዝርዝር'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'እባክዎ በአስቀድሞ የነበሩትን ከባድ በሽታዎች ዝርዝር ያቀርቡ፣ ወይም እንኳን እንደተወው እንኳን.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'የቀርጸ-ቀትር ታሪክ'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'ለምሳሌ አፐንደክቶሚ'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'እባኮትን ሁሉንም ቀደም በተከታታይ የተደረጉ ምርመራዎችን ይዘው ዓመቱን እና የሚኖሩትን ችግኝ ይጨምሩ።'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'አንዳንድ ጊዜ የሚጠቀሙ መድሀኒቶች'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'እንደ ኢቡፕሮፍን'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'እባክዎ ከጊዜ ወደ ጊዜ የምንዛሬ የሚወስዱ መድሃኒቶችን ይዘጋጁ (ለምሳሌ፡ የህመም መድሃኒቶች፣ የአለም መድሃኒቶች)፣ የወሰነ መጠን እና የምንዛሬ ምክንያት ጨምር.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'የተደጋጋሚ መድሃኒቶች'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'እንደ ምሳሌ መትፎርሚን'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'እባክዎ በተደጋጋሚ የምንቀበል መድሃኒቶች ዝርዝር ይዘው ይጻፉ፣ የመድሃኒቱን ስም፣ ድምፅ፣ በየቀኑ ምን ጊዜ ይወስዳሉ እና ለምን ነው የሚያገለግል ይጻፉ።'; + + @override + String get profile_section_health_profile_allergies_label => 'አለርጂዎች'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'እንደ ፔኒሲሊን – በረሃብ ይከሰታል'; + + @override + String get profile_section_health_profile_allergies_hint => + 'እባኮትን ሁሉንም አለማይ የሚያስከትሉ እንደ መድሃኒቶች፣ ምግብ፣ እና አካባቢ ያለው አለማይ ዝርዝር ይዘው ይጻፉ፣ እና የምን እንደ ምልክት ይገልጹ (ለምሳሌ፡ ቀስተ ቀስተ ወይም እንደ መታወቂያ ችግኝ ወይም እንደ መታወቂያ ችግኝ ወይም እንደ መታወቂያ ችግኝ).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'ልዩ ሁኔታዎች'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'ለምሳሌ እርግዝና, እጥረት'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'ዶክተሮች ሁልጊዜ መረጃ ሊያገኙ የሚገባው ከሚኖርዎት አስፈላጊ የሕክምና ሁኔታዎች አንዳንድ ምሳሌዎች እንደ እንቅልፍ ወይም የተገነባ መሳሪያዎች፣ እንደ አንዳንድ የተወሰኑ የሕክምና ሂደቶች ይገኙ። ከሆነ ይቅርታ ይቀርባሉ።'; + + @override + String get profile_section_health_profile_family_history_label => 'የቤተሰብ ታሪክ'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ለምሳሌ፣ የልብ በሽታ፣ ካንሰር'; + + @override + String get profile_section_health_profile_family_history_hint => + 'እባኮትን በቤተሰብዎ ውስጥ ያሉ አስፈላጊ 病 ይገልጹ (ለምሳሌ: ዳይቦቲስ, የደም ግፊት, የልብ በሽታ, ካንሰር, የወርሃዊ በሽታዎች) እና ያንን የተለየ ቤተሰብ አባል ይገልጹ.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'ማህበራዊ እና የሕይወት ልማዶች'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'ለምሳሌ መጥላት, የአልኮል ጥቅም'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'እባኮትን ወደ ጤናዎ የሚያወዳድሩ የእንቅስቃሴ አካላት ይግለጹ፣ እንደ መሳሪያ መጠጣት፣ አልኮል፣ አካል እንቅስቃሴ፣ ዳይት፣ እንቅልፍ እና ሥራ.'; + + @override + String get profile_section_health_profile_devices_label => 'የሕክምና መሣሪያዎች'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'ለምሳሌ ፔስመከር, የጆሮ እርዳታ, የኢንስሊን ፓምፕ'; + + @override + String get profile_section_health_profile_devices_hint => + 'እባኮትን የምንጭ መሳሪያዎች ወይም የተገነባ መሳሪያዎች ዝርዝር ያቀርቡ፣ እንደ ፓስሜከር፣ የኢንሱሊን ፓም፣ የስም ማስታወቂያዎች፣ ፕሮስቴቲክ ወይም ሌላ የሚያገለግል ወይም የሚከታተል መሳሪያዎች። ከሚገባ ዝርዝር ያካትቱ።'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'ሁሉንም የሚበላ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ፈጣን ምግብ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'ፔስካታሪያን'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'የላክቶዝ ነጻ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'ዝቅተኛ ጨው ያለ የምግብ ስርዓት'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'ዝቅተኛ ስኳር ያለው የምግብ አመጋገብ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'የልብ ምግብ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'የኩስት ምግብ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'ሌላ'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ar.dart b/example/lib/src/generated/profiles/profiles_localization_ar.dart new file mode 100644 index 0000000..49b9301 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ar.dart @@ -0,0 +1,1137 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Arabic (`ar`). +class ProfilesLocalizationAr extends ProfilesLocalization { + ProfilesLocalizationAr([String locale = 'ar']) : super(locale); + + @override + String get chatDrawerTitle => 'سجلات الصحة'; + + @override + String get chatDrawerBadgeNew => 'جديد'; + + @override + String get bannerTitle => 'أنشئ سجل صحتك'; + + @override + String get bannerSubtitle => 'في نهاية استشارتك، أضف ملفك الشخصي'; + + @override + String get bannerMoreProfilesTitle => 'أضف المزيد من الملفات الشخصية'; + + @override + String get bannerMoreProfilesSubtitle => + 'ابدأ استشارة لشخص آخر لإنشاء ملفه الشخصي'; + + @override + String get bannerSignUp => 'سجل لإنشاء سجل صحتك'; + + @override + String get errorRetryButton => 'إعادة المحاولة'; + + @override + String get dashboardDeleteError => 'فشل حذف الملف الشخصي'; + + @override + String get dashboardSummaryLoadError => 'فشل تحميل ملخص الملف الشخصي'; + + @override + String get dashboardMenuViewFullRecord => 'عرض السجل الكامل'; + + @override + String get dashboardMenuShare => 'شارك'; + + @override + String get dashboardMenuDelete => 'حذف'; + + @override + String get dashboardMetricAgeLabel => 'العمر'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value سنوات', + one: '$value سنة', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'الوزن'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value كجم'; + } + + @override + String get dashboardMetricHeightLabel => 'الطول'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value سم'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'الحساسية'; + + @override + String get dashboardInfoChronicTitle => 'مزمن'; + + @override + String get dashboardInfoMedicationTitle => 'الأدوية'; + + @override + String get dashboardInfoDevicesTitle => 'الأجهزة'; + + @override + String get dashboardNavigationConsultations => 'استشارات'; + + @override + String get dashboardNavigationDocuments => 'المستندات'; + + @override + String get dashboardDeleteRecordTitle => 'هل تريد حذف السجل الصحي؟'; + + @override + String get dashboardDeleteRecordSubtitle => + 'سيؤدي ذلك إلى إزالة بيانات صحتك بشكل دائم ولا يمكن التراجع عنه. ستفقد السياق الذي نستخدمه لإرشادك.'; + + @override + String get dashboardDeleteRecordCancel => 'إلغاء'; + + @override + String get dashboardDeleteRecordConfirm => 'حذف'; + + @override + String get dashboardDeleteRecordLoading => 'جارٍ حذف سجل صحتك...'; + + @override + String get dashboardDeleteRecordError => 'فشل في حذف الملف الشخصي'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'تم حذف السجل الصحي'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'يمكنك إنشاء واحدة جديدة في أي وقت من خلال الدردشة مع المساعد.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'العودة إلى الدردشة'; + + @override + String get dataEditingScreenTitle => 'تعديل'; + + @override + String get dataFailedToLoadError => 'فشل تحميل بيانات الملف الشخصي'; + + @override + String get dataRecordSavedTitle => 'تم حفظ التغييرات'; + + @override + String get dataRecordSavedSubtitle => 'تم تحديث معلوماتك بنجاح'; + + @override + String get dataRecordSavedButton => 'العودة إلى الملف الشخصي'; + + @override + String get dataRecordUpdateError => 'فشل في تحديث بيانات الملف الشخصي'; + + @override + String get dataRecordDiscardTitle => 'هل تريدDiscard التغييرات؟'; + + @override + String get dataRecordDiscardSubtitle => + 'لقد قمت بإجراء بعض التغييرات على ملفك الشخصي. احفظها قبل أن تذهب، أو تخلص منها.'; + + @override + String get dataRecordDiscardCancel => 'استمر في التحرير'; + + @override + String get dataRecordDiscardConfirm => 'تجاهل'; + + @override + String get dataRecordEditTooltip => 'تعديل'; + + @override + String get dataRecordAddTag => 'أضف سجل'; + + @override + String get consultationsSearch => 'بحث'; + + @override + String get consultationsSearchEmpty => 'لم يتم العثور على نتائج'; + + @override + String get documentsMenuDownload => 'تحميل'; + + @override + String get documentsMenuShare => 'شارك'; + + @override + String get documentsMenuDelete => 'حذف'; + + @override + String get documentsEmptyList => 'لا توجد مستندات'; + + @override + String get documentsDeleteTitle => 'هل تريد حذف هذا المستند؟'; + + @override + String get documentsDeleteSubtitle => 'سيتم حذف هذا الملف بشكل دائم'; + + @override + String get documentsDeleteCancel => 'إلغاء'; + + @override + String get documentsDeleteButton => 'حذف'; + + @override + String get documentsMoreActionsTooltip => 'إجراءات إضافية'; + + @override + String get profilesSearch => 'بحث'; + + @override + String get profilesEmptyList => 'لم يتم العثور على ملفات شخصية'; + + @override + String get profilesViewMore => 'عرض المزيد'; + + @override + String get profilesMore => 'المزيد'; + + @override + String get profilesAnnouncementTitle1 => 'دوكتورينا الآن تتذكر صحتك'; + + @override + String get profilesAnnouncementSubtitle1 => + 'استشاراتك الآن تبني وتحدث سجل صحتك تلقائيًا.'; + + @override + String get profilesAnnouncementTitle2 => 'سجل صحتك، قواعدك'; + + @override + String get profilesAnnouncementSubtitle2 => + 'عرض أو تعديل أو إضافة الأعراض أو الأدوية أو التاريخ أو المستندات في أي وقت'; + + @override + String get profilesAnnouncementTitle3 => 'اعتنِ بكل عائلتك'; + + @override + String get profilesAnnouncementSubtitle3 => + 'أنشئ سجل صحي لأحبائك، أطفالك، والديك، أو شريكك.'; + + @override + String get profilesAnnouncementTitle4 => 'هل أنت مستعد لحفظ سجل صحتك؟'; + + @override + String get profilesAnnouncementSubtitle4 => + 'بعد الاستشارة، اضغط على \"إضافة ملف\" لحفظه.'; + + @override + String get profilesNextButton => 'التالي'; + + @override + String get profilesStartButton => 'ابدأ استشارة'; + + @override + String get profilesLaterButton => 'ربما لاحقًا'; + + @override + String get profileSuccessCloseButton => 'إغلاق'; + + @override + String get pdfHeaderTitle => 'سجل الصحة'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'سجل الصحة — $name'; + } + + @override + String get expandableFieldMore => '...المزيد'; + + @override + String get expandableFieldLess => 'أقل'; + + @override + String get profiles_button_addnew => 'إضافة ملف جديد'; + + @override + String get profiles_label_addnew => 'أنشئ ملفًا لحفظ تفاصيل هذه الاستشارة'; + + @override + String get profiles_label_health_records_hint => + 'يمكنك الاطلاع عليه في أي وقت في سجلاتك الصحية'; + + @override + String get profiles_label_keep_talking_hint => + 'إذا كان لديك المزيد من الأسئلة حول هذا أو أي شيء ذي صلة، فلا تتردد في الاستمرار في الحديث معي. أنا هنا للمساعدة'; + + @override + String get profile_section_basic_title => 'معلومات عامة'; + + @override + String get profile_section_basic_name_label => 'الاسم'; + + @override + String get profile_section_basic_name_placeholder => 'جون دو'; + + @override + String get profile_section_basic_first_name_label => 'الاسم الأول'; + + @override + String get profile_section_basic_first_name_placeholder => 'جون'; + + @override + String get profile_section_basic_last_name_label => 'اسم العائلة'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'الجنس'; + + @override + String get profile_section_basic_sex_placeholder => 'يرجى الاختيار'; + + @override + String get profile_section_basic_sex_options_male => 'ذكر'; + + @override + String get profile_section_basic_sex_options_female => 'أنثى'; + + @override + String get profile_section_basic_sex_options_other => 'آخر'; + + @override + String get profile_section_basic_date_of_birth_label => 'تاريخ الميلاد'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'العمر'; + + @override + String get profile_section_basic_age_str_placeholder => 'مثلاً 30'; + + @override + String get profile_section_basic_phonenumber_label => 'رقم الهاتف'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'البريد الإلكتروني'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'الموقع'; + + @override + String get profile_section_basic_location_placeholder => + 'مثال: المدينة، الدولة'; + + @override + String get profile_section_body_diet_title => 'الجسم والنظام الغذائي'; + + @override + String get profile_section_body_diet_height_str_label => 'الطول'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'مثال: 180 سم'; + + @override + String get profile_section_body_diet_weight_str_label => 'الوزن'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'مثلاً 75 كجم'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'الدورة الشهرية'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'مثلاً منتظمة، غير منتظمة'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'قيود غذائية'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'يرجى الاختيار'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'أخبرنا بما تأكله وأي قيود لديك'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'لا شيء'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'نباتي'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'نباتي صارم'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'خالٍ من الغلوتين'; + + @override + String get profile_section_body_diet_bmi_label => 'مؤشر كتلة الجسم (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'مثلاً 24.5'; + + @override + String get profile_section_health_profile_title => 'الملف الصحي'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'أمراض مزمنة'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'مثل السكري من النوع الثاني'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'يرجى سرد جميع الأمراض المزمنة وذكر متى تم تشخيصها وأي مضاعفات.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'الأمراض السابقة'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'مثل: نزلة برد شائعة متكررة'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'يرجى سرد الأمراض الخطيرة التي عانيت منها في الماضي، حتى لو كنت قد تعافيت.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'التاريخ الجراحي'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'مثال: استئصال الزائدة الدودية'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'يرجى سرد جميع العمليات الجراحية وذكر السنة وما إذا كانت هناك أي مضاعفات'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'الأدوية المستخدمة أحيانًا'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'مثل إيبوبروفين'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'يرجى إدراج الأدوية التي تتناولها من وقت لآخر (على سبيل المثال: مسكنات الألم، أدوية الحساسية)، بما في ذلك الجرعة وسبب الاستخدام.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'الأدوية المنتظمة'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'مثل ميتفورمين'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'يرجى سرد جميع الأدوية التي تتناولها بانتظام، بما في ذلك الاسم، الجرعة، عدد المرات التي تتناولها في اليوم، وما هي الحالة التي تستخدم من أجلها.'; + + @override + String get profile_section_health_profile_allergies_label => 'الحساسية'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'مثل: البنسلين - يسبب طفح جلدي'; + + @override + String get profile_section_health_profile_allergies_hint => + 'يرجى سرد جميع الحساسية (الأدوية، الطعام، البيئة)، ووصف رد الفعل الذي لديك (على سبيل المثال: طفح جلدي، تورم، مشاكل في التنفس).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'الحالات الخاصة'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'مثلاً الحمل، الإعاقة'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'إذا كان لديك أي حالات طبية مهمة يجب أن يعرفها الأطباء دائمًا (على سبيل المثال: الحمل، الأجهزة المزروعة، الإعاقات، العلاج بمضادات التخثر)، يرجى وصفها. إذا لم يكن هناك، يمكنك ترك هذا الحقل فارغًا.'; + + @override + String get profile_section_health_profile_family_history_label => + 'التاريخ العائلي'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'مثلاً: أمراض القلب، السرطان'; + + @override + String get profile_section_health_profile_family_history_hint => + 'يرجى وصف الأمراض المهمة في عائلتك (على سبيل المثال: السكري، ارتفاع ضغط الدم، أمراض القلب، السرطان، الأمراض الوراثية) وتحديد أي فرد من العائلة كان لديه الحالة.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'العوامل الاجتماعية ونمط الحياة'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'مثال: التدخين، تناول الكحول'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'يرجى وصف عوامل نمط الحياة التي يمكن أن تؤثر على صحتك، مثل التدخين، الكحول، النشاط البدني، النظام الغذائي، النوم، والمهنة.'; + + @override + String get profile_section_health_profile_devices_label => 'الأجهزة الطبية'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'مثلاً منظم ضربات القلب، جهاز مساعدة السمع، مضخة الإنسولين'; + + @override + String get profile_section_health_profile_devices_hint => + 'يرجى إدراج أي أجهزة طبية تستخدمها أو تم زرعها، مثل أجهزة تنظيم ضربات القلب، مضخات الأنسولين، أجهزة السمع، الأطراف الصناعية، أو أي أجهزة مساعدة أو مراقبة أخرى. أدرج التفاصيل ذات الصلة إذا كانت متاحة.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'آكل اللحوم والنباتات'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'الوجبات السريعة'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'بيسكاتاريان'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'خالي من اللاكتوز'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'نظام غذائي منخفض الصوديوم'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'نظام غذائي منخفض السكر'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'حمية قلبية'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'حمية كلوية'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'أخرى'; +} + +/// The translations for Arabic, as used in Egypt (`ar_EG`). +class ProfilesLocalizationArEg extends ProfilesLocalizationAr { + ProfilesLocalizationArEg() : super('ar_EG'); + + @override + String get chatDrawerTitle => 'سجلات الصحة'; + + @override + String get chatDrawerBadgeNew => 'جديد'; + + @override + String get bannerTitle => 'أنشئ سجل صحتك'; + + @override + String get bannerSubtitle => 'في نهاية استشارتك، أضف ملفك الشخصي'; + + @override + String get bannerMoreProfilesTitle => 'أضف المزيد من الملفات الشخصية'; + + @override + String get bannerMoreProfilesSubtitle => + 'ابدأ استشارة لشخص آخر لإنشاء ملفه الشخصي'; + + @override + String get bannerSignUp => 'سجل لإنشاء سجل صحتك'; + + @override + String get errorRetryButton => 'إعادة المحاولة'; + + @override + String get dashboardDeleteError => 'فشل حذف الملف الشخصي'; + + @override + String get dashboardSummaryLoadError => 'فشل تحميل ملخص الملف الشخصي'; + + @override + String get dashboardMenuViewFullRecord => 'عرض السجل الكامل'; + + @override + String get dashboardMenuShare => 'شارك'; + + @override + String get dashboardMenuDelete => 'حذف'; + + @override + String get dashboardMetricAgeLabel => 'العمر'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value سنوات', + one: '$value سنة', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'الوزن'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value كجم'; + } + + @override + String get dashboardMetricHeightLabel => 'الطول'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value سم'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'الحساسية'; + + @override + String get dashboardInfoChronicTitle => 'مزمن'; + + @override + String get dashboardInfoMedicationTitle => 'الأدوية'; + + @override + String get dashboardInfoDevicesTitle => 'الأجهزة'; + + @override + String get dashboardNavigationConsultations => 'استشارات'; + + @override + String get dashboardNavigationDocuments => 'المستندات'; + + @override + String get dashboardDeleteRecordTitle => 'هل تريد حذف السجل الصحي؟'; + + @override + String get dashboardDeleteRecordSubtitle => + 'سيؤدي ذلك إلى إزالة بيانات صحتك بشكل دائم ولا يمكن التراجع عنه. ستفقد السياق الذي نستخدمه لإرشادك.'; + + @override + String get dashboardDeleteRecordCancel => 'إلغاء'; + + @override + String get dashboardDeleteRecordConfirm => 'حذف'; + + @override + String get dashboardDeleteRecordLoading => 'جارٍ حذف سجل صحتك...'; + + @override + String get dashboardDeleteRecordError => 'فشل في حذف الملف الشخصي'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'تم حذف السجل الصحي'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'يمكنك إنشاء واحدة جديدة في أي وقت من خلال الدردشة مع المساعد.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'العودة إلى الدردشة'; + + @override + String get dataEditingScreenTitle => 'تعديل'; + + @override + String get dataFailedToLoadError => 'فشل تحميل بيانات الملف الشخصي'; + + @override + String get dataRecordSavedTitle => 'تم حفظ التغييرات'; + + @override + String get dataRecordSavedSubtitle => 'تم تحديث معلوماتك بنجاح'; + + @override + String get dataRecordSavedButton => 'العودة إلى الملف الشخصي'; + + @override + String get dataRecordUpdateError => 'فشل في تحديث بيانات الملف الشخصي'; + + @override + String get dataRecordDiscardTitle => 'هل تريدDiscard التغييرات؟'; + + @override + String get dataRecordDiscardSubtitle => + 'لقد قمت بإجراء بعض التغييرات على ملفك الشخصي. احفظها قبل أن تذهب، أو تخلص منها.'; + + @override + String get dataRecordDiscardCancel => 'استمر في التحرير'; + + @override + String get dataRecordDiscardConfirm => 'تجاهل'; + + @override + String get dataRecordEditTooltip => 'تعديل'; + + @override + String get dataRecordAddTag => 'أضف سجل'; + + @override + String get consultationsSearch => 'بحث'; + + @override + String get consultationsSearchEmpty => 'لم يتم العثور على نتائج'; + + @override + String get documentsMenuDownload => 'تحميل'; + + @override + String get documentsMenuShare => 'شارك'; + + @override + String get documentsMenuDelete => 'حذف'; + + @override + String get documentsEmptyList => 'لا توجد مستندات'; + + @override + String get documentsDeleteTitle => 'هل تريد حذف هذا المستند؟'; + + @override + String get documentsDeleteSubtitle => 'سيتم حذف هذا الملف بشكل دائم'; + + @override + String get documentsDeleteCancel => 'إلغاء'; + + @override + String get documentsDeleteButton => 'حذف'; + + @override + String get documentsMoreActionsTooltip => 'إجراءات إضافية'; + + @override + String get profilesSearch => 'بحث'; + + @override + String get profilesEmptyList => 'لم يتم العثور على ملفات شخصية'; + + @override + String get profilesViewMore => 'عرض المزيد'; + + @override + String get profilesMore => 'المزيد'; + + @override + String get profilesAnnouncementTitle1 => 'دوكتورينا الآن تتذكر صحتك'; + + @override + String get profilesAnnouncementSubtitle1 => + 'استشاراتك الآن تبني وتحدث سجل صحتك تلقائيًا.'; + + @override + String get profilesAnnouncementTitle2 => 'سجل صحتك، قواعدك'; + + @override + String get profilesAnnouncementSubtitle2 => + 'عرض أو تعديل أو إضافة الأعراض أو الأدوية أو التاريخ أو المستندات في أي وقت'; + + @override + String get profilesAnnouncementTitle3 => 'اعتنِ بكل عائلتك'; + + @override + String get profilesAnnouncementSubtitle3 => + 'أنشئ سجل صحي لأحبائك، أطفالك، والديك، أو شريكك.'; + + @override + String get profilesAnnouncementTitle4 => 'هل أنت مستعد لحفظ سجل صحتك؟'; + + @override + String get profilesAnnouncementSubtitle4 => + 'بعد الاستشارة، اضغط على \"إضافة ملف\" لحفظه.'; + + @override + String get profilesNextButton => 'التالي'; + + @override + String get profilesStartButton => 'ابدأ استشارة'; + + @override + String get profilesLaterButton => 'ربما لاحقًا'; + + @override + String get profileSuccessCloseButton => 'إغلاق'; + + @override + String get pdfHeaderTitle => 'سجل الصحة'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'سجل الصحة — $name'; + } + + @override + String get expandableFieldMore => '...المزيد'; + + @override + String get expandableFieldLess => 'أقل'; + + @override + String get profiles_button_addnew => 'إضافة ملف جديد'; + + @override + String get profiles_label_addnew => 'أنشئ ملفًا لحفظ تفاصيل هذه الاستشارة'; + + @override + String get profiles_label_health_records_hint => + 'يمكنك الاطلاع عليه في أي وقت في سجلاتك الصحية'; + + @override + String get profiles_label_keep_talking_hint => + 'إذا كان لديك المزيد من الأسئلة حول هذا أو أي شيء ذي صلة، فلا تتردد في الاستمرار في الحديث معي. أنا هنا للمساعدة'; + + @override + String get profile_section_basic_title => 'معلومات عامة'; + + @override + String get profile_section_basic_name_label => 'الاسم'; + + @override + String get profile_section_basic_name_placeholder => 'جون دو'; + + @override + String get profile_section_basic_first_name_label => 'الاسم الأول'; + + @override + String get profile_section_basic_first_name_placeholder => 'جون'; + + @override + String get profile_section_basic_last_name_label => 'اسم العائلة'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'الجنس'; + + @override + String get profile_section_basic_sex_placeholder => 'يرجى الاختيار'; + + @override + String get profile_section_basic_sex_options_male => 'ذكر'; + + @override + String get profile_section_basic_sex_options_female => 'أنثى'; + + @override + String get profile_section_basic_sex_options_other => 'آخر'; + + @override + String get profile_section_basic_date_of_birth_label => 'تاريخ الميلاد'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'العمر'; + + @override + String get profile_section_basic_age_str_placeholder => 'مثلاً 30'; + + @override + String get profile_section_basic_phonenumber_label => 'رقم الهاتف'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'البريد الإلكتروني'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'الموقع'; + + @override + String get profile_section_basic_location_placeholder => + 'مثال: المدينة، الدولة'; + + @override + String get profile_section_body_diet_title => 'الجسم والنظام الغذائي'; + + @override + String get profile_section_body_diet_height_str_label => 'الطول'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'مثال: 180 سم'; + + @override + String get profile_section_body_diet_weight_str_label => 'الوزن'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'مثلاً 75 كجم'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'الدورة الشهرية'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'مثلاً منتظمة، غير منتظمة'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'قيود غذائية'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'يرجى الاختيار'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'أخبرنا بما تأكله وأي قيود لديك'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'لا شيء'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'نباتي'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'نباتي صارم'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'خالٍ من الغلوتين'; + + @override + String get profile_section_body_diet_bmi_label => 'مؤشر كتلة الجسم (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'مثلاً 24.5'; + + @override + String get profile_section_health_profile_title => 'الملف الصحي'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'أمراض مزمنة'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'مثل السكري من النوع الثاني'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'يرجى سرد جميع الأمراض المزمنة وذكر متى تم تشخيصها وأي مضاعفات.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'الأمراض السابقة'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'مثل: نزلة برد شائعة متكررة'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'يرجى سرد الأمراض الخطيرة التي عانيت منها في الماضي، حتى لو كنت قد تعافيت.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'التاريخ الجراحي'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'مثال: استئصال الزائدة الدودية'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'يرجى سرد جميع العمليات الجراحية وذكر السنة وما إذا كانت هناك أي مضاعفات'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'الأدوية المستخدمة أحيانًا'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'مثل إيبوبروفين'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'يرجى إدراج الأدوية التي تتناولها من وقت لآخر (على سبيل المثال: مسكنات الألم، أدوية الحساسية)، بما في ذلك الجرعة وسبب الاستخدام.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'الأدوية المنتظمة'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'مثل ميتفورمين'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'يرجى سرد جميع الأدوية التي تتناولها بانتظام، بما في ذلك الاسم، الجرعة، عدد المرات التي تتناولها في اليوم، وما هي الحالة التي تستخدم من أجلها.'; + + @override + String get profile_section_health_profile_allergies_label => 'الحساسية'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'مثل: البنسلين - يسبب طفح جلدي'; + + @override + String get profile_section_health_profile_allergies_hint => + 'يرجى سرد جميع الحساسية (الأدوية، الطعام، البيئة)، ووصف رد الفعل الذي لديك (على سبيل المثال: طفح جلدي، تورم، مشاكل في التنفس).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'الحالات الخاصة'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'مثلاً الحمل، الإعاقة'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'إذا كان لديك أي حالات طبية مهمة يجب أن يعرفها الأطباء دائمًا (على سبيل المثال: الحمل، الأجهزة المزروعة، الإعاقات، العلاج بمضادات التخثر)، يرجى وصفها. إذا لم يكن هناك، يمكنك ترك هذا الحقل فارغًا.'; + + @override + String get profile_section_health_profile_family_history_label => + 'التاريخ العائلي'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'مثلاً: أمراض القلب، السرطان'; + + @override + String get profile_section_health_profile_family_history_hint => + 'يرجى وصف الأمراض المهمة في عائلتك (على سبيل المثال: السكري، ارتفاع ضغط الدم، أمراض القلب، السرطان، الأمراض الوراثية) وتحديد أي فرد من العائلة كان لديه الحالة.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'العوامل الاجتماعية ونمط الحياة'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'مثال: التدخين، تناول الكحول'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'يرجى وصف عوامل نمط الحياة التي يمكن أن تؤثر على صحتك، مثل التدخين، الكحول، النشاط البدني، النظام الغذائي، النوم، والمهنة.'; + + @override + String get profile_section_health_profile_devices_label => 'الأجهزة الطبية'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'مثلاً منظم ضربات القلب، جهاز مساعدة السمع، مضخة الإنسولين'; + + @override + String get profile_section_health_profile_devices_hint => + 'يرجى إدراج أي أجهزة طبية تستخدمها أو تم زرعها، مثل أجهزة تنظيم ضربات القلب، مضخات الأنسولين، أجهزة السمع، الأطراف الصناعية، أو أي أجهزة مساعدة أو مراقبة أخرى. أدرج التفاصيل ذات الصلة إذا كانت متاحة.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'آكل اللحوم والنباتات'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'الوجبات السريعة'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'بيسكاتاريان'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'خالي من اللاكتوز'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'نظام غذائي منخفض الصوديوم'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'نظام غذائي منخفض السكر'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'حمية قلبية'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'حمية كلوية'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'أخرى'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_az.dart b/example/lib/src/generated/profiles/profiles_localization_az.dart new file mode 100644 index 0000000..25547ed --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_az.dart @@ -0,0 +1,584 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Azerbaijani (`az`). +class ProfilesLocalizationAz extends ProfilesLocalization { + ProfilesLocalizationAz([String locale = 'az']) : super(locale); + + @override + String get chatDrawerTitle => 'Sağlıq qeydləri'; + + @override + String get chatDrawerBadgeNew => 'YENİ'; + + @override + String get bannerTitle => 'Sağlıq Qeydinizi Yaradın'; + + @override + String get bannerSubtitle => 'Müsahibənizin sonunda profilinizi əlavə edin.'; + + @override + String get bannerMoreProfilesTitle => 'Daha çox profil əlavə et'; + + @override + String get bannerMoreProfilesSubtitle => + 'Başqa biri üçün profilini yaratmaq üçün konsultasiyaya başlayın.'; + + @override + String get bannerSignUp => + 'Sağlıq Qeydinizi yaratmaq üçün qeydiyyatdan keçin'; + + @override + String get errorRetryButton => 'Təkrar cəhd et'; + + @override + String get dashboardDeleteError => 'Profili silmək mümkün olmadı'; + + @override + String get dashboardSummaryLoadError => + 'Profil xülasəsini yükləmək mümkün olmadı'; + + @override + String get dashboardMenuViewFullRecord => 'Tam qeydiyyatı görün'; + + @override + String get dashboardMenuShare => 'Paylaş'; + + @override + String get dashboardMenuDelete => 'Sil'; + + @override + String get dashboardMetricAgeLabel => 'Yaş'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value il', + one: '$value il', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Çəki'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Hündürlük'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value sm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Alergiyalar'; + + @override + String get dashboardInfoChronicTitle => 'Xroniki'; + + @override + String get dashboardInfoMedicationTitle => 'Dərmanlar'; + + @override + String get dashboardInfoDevicesTitle => 'Cihazlar'; + + @override + String get dashboardNavigationConsultations => 'Müsahibələr'; + + @override + String get dashboardNavigationDocuments => 'Sənədlər'; + + @override + String get dashboardDeleteRecordTitle => 'Tibb qeydini silmək? '; + + @override + String get dashboardDeleteRecordSubtitle => + 'Bu, sağlamlıq məlumatlarınızı daimi olaraq siləcək və geri qaytarmaq mümkün olmayacaq. Sizi yönləndirmək üçün istifadə etdiyimiz konteksti itirəcəksiniz.'; + + @override + String get dashboardDeleteRecordCancel => 'İmtina et'; + + @override + String get dashboardDeleteRecordConfirm => 'Sil'; + + @override + String get dashboardDeleteRecordLoading => + 'Sizin sağlamlıq qeydinizi silmək...'; + + @override + String get dashboardDeleteRecordError => 'Profil silinmədi'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Sağlamlıq qeydi silindi'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Asistentlə söhbət edərək istənilən vaxt yeni birini yarada bilərsiniz.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Çat\'a qayıt'; + + @override + String get dataEditingScreenTitle => 'Redaktə'; + + @override + String get dataFailedToLoadError => 'Profil məlumatları yüklənmədi'; + + @override + String get dataRecordSavedTitle => 'Dəyişikliklər saxlanıldı'; + + @override + String get dataRecordSavedSubtitle => + 'Məlumatlarınız müvəffəqiyyətlə yeniləndi.'; + + @override + String get dataRecordSavedButton => 'Profilə qayıt'; + + @override + String get dataRecordUpdateError => + 'Profil məlumatlarını yeniləmək mümkün olmadı'; + + @override + String get dataRecordDiscardTitle => 'Dəyişiklikləri ləğv edəsiniz? '; + + @override + String get dataRecordDiscardSubtitle => + 'Profilinizdə bəzi dəyişikliklər etmisiniz. Getməzdən əvvəl onları yadda saxlayın, ya da ləğv edin.'; + + @override + String get dataRecordDiscardCancel => 'Düzəliş etməyə davam et'; + + @override + String get dataRecordDiscardConfirm => 'Atmaq'; + + @override + String get dataRecordEditTooltip => 'Redaktə et'; + + @override + String get dataRecordAddTag => 'Qeyd əlavə et'; + + @override + String get consultationsSearch => 'Axtar'; + + @override + String get consultationsSearchEmpty => 'Heç bir nəticə tapılmadı'; + + @override + String get documentsMenuDownload => 'Yüklə'; + + @override + String get documentsMenuShare => 'Paylaş'; + + @override + String get documentsMenuDelete => 'Sil'; + + @override + String get documentsEmptyList => 'Heç bir sənəd tapılmadı'; + + @override + String get documentsDeleteTitle => 'Bu sənədi silmək istəyirsiniz?'; + + @override + String get documentsDeleteSubtitle => 'Bu fayl daimi olaraq silinəcək'; + + @override + String get documentsDeleteCancel => 'İmtina et'; + + @override + String get documentsDeleteButton => 'Sil'; + + @override + String get documentsMoreActionsTooltip => 'Digər əməliyyatlar'; + + @override + String get profilesSearch => 'Axtar'; + + @override + String get profilesEmptyList => 'Heç bir profil tapılmadı'; + + @override + String get profilesViewMore => 'Daha çox bax'; + + @override + String get profilesMore => 'Daha'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina artıq sağlamlığınızı xatırlayır'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Müsahibələriniz indi Sizin Sağlamlıq Qeydinizi avtomatik olaraq yaradır və yeniləyir.'; + + @override + String get profilesAnnouncementTitle2 => + 'Sizin Sağlıq Qeydin, sizin qaydalarınız'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Simptomları, dərmanları, tarixi və ya sənədləri istənilən vaxt görün, redaktə edin və ya əlavə edin.'; + + @override + String get profilesAnnouncementTitle3 => 'Bütün ailəniz üçün qayğı'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Sevdikləriniz, uşaqlarınız, valideynləriniz və ya tərəfdaşınız üçün Sağlamlıq Qeydi yaradın.'; + + @override + String get profilesAnnouncementTitle4 => + 'Sağlamlıq Qeydini saxlamağa hazırsınız? '; + + @override + String get profilesAnnouncementSubtitle4 => + 'Müsahibənizdən sonra \"Profil əlavə et\" düyməsini basın.'; + + @override + String get profilesNextButton => 'Növbəti'; + + @override + String get profilesStartButton => 'Müsahibəyə başlayın'; + + @override + String get profilesLaterButton => 'Bəlkə sonra'; + + @override + String get profileSuccessCloseButton => 'Bağla'; + + @override + String get pdfHeaderTitle => 'Tibbî qeyd'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Tibb qeyd — $name'; + } + + @override + String get expandableFieldMore => '...daha çox'; + + @override + String get expandableFieldLess => '...daha az'; + + @override + String get profiles_button_addnew => 'Yeni profil əlavə et'; + + @override + String get profiles_label_addnew => + 'Bu konsultasiyanın detalları üçün profil yaradın.'; + + @override + String get profiles_label_health_records_hint => + 'Sağlamlıq qeydlərinizdə onu istənilən vaxt qiymətləndirə bilərsiniz'; + + @override + String get profiles_label_keep_talking_hint => + 'Əgər bu barədə və ya əlaqəli hər hansı başqa sualınız varsa, mənimlə danışmağa davam etməkdən çəkinməyin. Mən kömək üçün buradayam'; + + @override + String get profile_section_basic_title => 'Ümumi məlumat'; + + @override + String get profile_section_basic_name_label => 'Ad'; + + @override + String get profile_section_basic_name_placeholder => 'Ad Soyad'; + + @override + String get profile_section_basic_first_name_label => 'Ad'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Soyad'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Cinsiyyət'; + + @override + String get profile_section_basic_sex_placeholder => 'Zəhmət olmasa seçin'; + + @override + String get profile_section_basic_sex_options_male => 'Kişi'; + + @override + String get profile_section_basic_sex_options_female => 'Qadın'; + + @override + String get profile_section_basic_sex_options_other => 'Digər'; + + @override + String get profile_section_basic_date_of_birth_label => 'Doğum tarixi'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Yaş'; + + @override + String get profile_section_basic_age_str_placeholder => 'məsələn 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Telefon nömrəsi'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-poçt'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Yer'; + + @override + String get profile_section_basic_location_placeholder => + 'məsələn Şəhər, Ölkə'; + + @override + String get profile_section_body_diet_title => 'Bədən & Qidalanma'; + + @override + String get profile_section_body_diet_height_str_label => 'Boy'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'məsələn 180 sm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Çəki'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'məsələn 75 kq'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menstruasiya Dövrü'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'məsələn: Müntəzəm, Nizamsız'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Qida məhdudiyyətləri'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Zəhmət olmasa seçin'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Nə yediyinizi və hər hansı məhdudiyyətlərinizi bizə bildirin'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Heç biri'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetarian'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Veqan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Glutensiz'; + + @override + String get profile_section_body_diet_bmi_label => + 'Bədən Kütləsi İndeksi (BKİ)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'məsələn 24.5'; + + @override + String get profile_section_health_profile_title => 'Sağlamlıq Profili'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Xroniki Xəstəliklər'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'məsələn, Tip 2 diabet'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Zəhmət olmasa, bütün xroniki xəstəlikləri siyahıya alın və onların nə vaxt diaqnoz edildiyini və hər hansı bir komplikasiyanı daxil edin.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Keçmiş Xəstəliklər'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'məsələn, tez-tez baş verən soyuqdəymə'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Zəhmət olmasa, keçmişdə yaşadığınız ciddi xəstəlikləri qeyd edin, bərpa olsanız belə.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Cərrahi tarixçə'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'məsələn Apendektomiya'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Zəhmət olmasa, bütün cərrahiyyələri siyahıya alın və ilini və hər hansı bir komplikasiyanın olub-olmadığını daxil edin.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Bəzən istifadə olunan dərmanlar'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'İbuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Zaman-zaman qəbul etdiyiniz dərmanları (məsələn: ağrı kəsicilər, allergiya dərmanları) siyahıya alın, dozasını və istifadənin səbəbini daxil edin.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Müntəzəm Dərmanlar'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'məsələn: Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Zəhmət olmasa, müntəzəm qəbul etdiyiniz bütün dərmanları, adını, dozasını, gündə neçə dəfə qəbul etdiyinizi və hansı xəstəlik üçün olduğunu qeyd edin.'; + + @override + String get profile_section_health_profile_allergies_label => 'Allergiyalar'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'məsələn: Penisilin - döküntü yaradır'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Zəhmət olmasa, bütün allergiyaları (dərmanlar, qida, ətraf mühit) qeyd edin və hansı reaksiya verdiyinizi təsvir edin (məsələn: səpmə, şişmə, nəfəs alma problemləri).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Xüsusi Vəziyyətlər'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'məsələn Hamiləlik, Əlillik'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Həkimlərin həmişə bilməli olduğu hər hansı vacib tibbi vəziyyətiniz varsa (məsələn: hamiləlik, implantasiya olunmuş cihazlar, əlillik, antikoaqulyant terapiya), xahiş edirik, onları təsvir edin. Heç biri yoxdursa, bunu boş qoya bilərsiniz.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Ailə tarixçəsi'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'məsələn, Ürək xəstəliyi, Xərçəng'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Zəhmət olmasa, ailənizdəki vacib xəstəlikləri təsvir edin (məsələn: şəkərli diabet, hipertoniya, ürək xəstəliyi, xərçəng, irsi xəstəliklər) və hansı ailə üzvünün bu xəstəlikdən əziyyət çəkdiyini qeyd edin.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Sosial & Həyat Tərzi Amilləri'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'məsələn Siqaret çəkmə, Alkoqol istehlakı'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Sağlığınıza təsir edə biləcək həyat tərzi amillərini, məsələn, siqaret çəkmə, spirt, fiziki fəaliyyət, pəhriz, yuxu və peşə kimi təsvir edin.'; + + @override + String get profile_section_health_profile_devices_label => 'Tibbi Cihazlar'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'məs. Ürək stimulyatoru, Eşitmə cihazı, İnsulin nasosu'; + + @override + String get profile_section_health_profile_devices_hint => + 'İstifadə etdiyiniz və ya implantasiya olunmuş hər hansı tibbi cihazları, məsələn, ürək stimulyatorları, insulin pompaları, eşitmə cihazları, protezlər və ya digər köməkçi və ya monitorinq cihazlarını qeyd edin. Əgər uyğun gəlirsə, müvafiq detalları daxil edin.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Hər şeyi yeyən'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Fast Food'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescatarian'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Laktozsuz'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Az duzlu pəhriz'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Az şəkərli pəhriz'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Ürək pəhrizi'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Böyrək pəhrizi'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Digər'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_be.dart b/example/lib/src/generated/profiles/profiles_localization_be.dart new file mode 100644 index 0000000..eefd103 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_be.dart @@ -0,0 +1,583 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Belarusian (`be`). +class ProfilesLocalizationBe extends ProfilesLocalization { + ProfilesLocalizationBe([String locale = 'be']) : super(locale); + + @override + String get chatDrawerTitle => 'Медыцынскія запісы'; + + @override + String get chatDrawerBadgeNew => 'НОВЫ'; + + @override + String get bannerTitle => 'Стварыце сваю медыцынскую картку'; + + @override + String get bannerSubtitle => + 'У канцы вашай кансультацыі дадайце свой профіль'; + + @override + String get bannerMoreProfilesTitle => 'Дадаць больш профіляў'; + + @override + String get bannerMoreProfilesSubtitle => + 'Пачніце кансультацыю для кагосьці іншага, каб стварыць іх профіль'; + + @override + String get bannerSignUp => + 'Зарэгіструйцеся, каб стварыць сваю медыцынскую картку'; + + @override + String get errorRetryButton => 'Паўтарыць'; + + @override + String get dashboardDeleteError => 'Не ўдалося выдаліць профіль'; + + @override + String get dashboardSummaryLoadError => 'Не ўдалося загрузіць рэзюмэ профілю'; + + @override + String get dashboardMenuViewFullRecord => 'Праглядзець поўную запіс'; + + @override + String get dashboardMenuShare => 'Падзяліцца'; + + @override + String get dashboardMenuDelete => 'Выдаліць'; + + @override + String get dashboardMetricAgeLabel => 'Узрост'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value гады', + one: '$value год', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Вага'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value кг'; + } + + @override + String get dashboardMetricHeightLabel => 'Рост'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value см'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'Аллергіі'; + + @override + String get dashboardInfoChronicTitle => 'Хранічны'; + + @override + String get dashboardInfoMedicationTitle => 'Медыкаменты'; + + @override + String get dashboardInfoDevicesTitle => 'Прылады'; + + @override + String get dashboardNavigationConsultations => 'Кансультацыі'; + + @override + String get dashboardNavigationDocuments => 'Дакументы'; + + @override + String get dashboardDeleteRecordTitle => 'Выдаліць медыцынскую запіс?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Гэта назаўжды выдаліць вашы дадзеныя аб здароўі і не можа быць адменена. Вы страціце кантэкст, які мы выкарыстоўваем для вашага кіраўніцтва.'; + + @override + String get dashboardDeleteRecordCancel => 'Скасаванне'; + + @override + String get dashboardDeleteRecordConfirm => 'Выдаліць'; + + @override + String get dashboardDeleteRecordLoading => + 'Выдаленне вашай медыцынскай запісы...'; + + @override + String get dashboardDeleteRecordError => 'Не ўдалося выдаліць профіль'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Запіс аб здароўі выдалены'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Вы можаце стварыць новы ў любы час, размаўляючы з памочнікам.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Вярнуцца ў чат'; + + @override + String get dataEditingScreenTitle => 'Рэдагаванне'; + + @override + String get dataFailedToLoadError => 'Не ўдалося загрузіць дадзеныя профілю'; + + @override + String get dataRecordSavedTitle => 'Змены захаваны'; + + @override + String get dataRecordSavedSubtitle => + 'Ваша інфармацыя была паспяхова абноўлена.'; + + @override + String get dataRecordSavedButton => 'Вярнуцца да профілю'; + + @override + String get dataRecordUpdateError => 'Не ўдалося абнавіць дадзеныя профілю'; + + @override + String get dataRecordDiscardTitle => 'Адмяніць змены?'; + + @override + String get dataRecordDiscardSubtitle => + 'Вы ўнеслі змены ў свой профіль. Захавайце іх перад тым, як сыходзіць, або адкіньце.'; + + @override + String get dataRecordDiscardCancel => 'Працягнуць рэдагаванне'; + + @override + String get dataRecordDiscardConfirm => 'Скасаваць'; + + @override + String get dataRecordEditTooltip => 'Рэдагаваць'; + + @override + String get dataRecordAddTag => 'Дадаць запіс'; + + @override + String get consultationsSearch => 'Пошук'; + + @override + String get consultationsSearchEmpty => 'Рэзультатаў не знойдзена'; + + @override + String get documentsMenuDownload => 'Спампаваць'; + + @override + String get documentsMenuShare => 'Падзяліцца'; + + @override + String get documentsMenuDelete => 'Выдаліць'; + + @override + String get documentsEmptyList => 'Документы не знойдзены'; + + @override + String get documentsDeleteTitle => 'Выдаліць гэты дакумент?'; + + @override + String get documentsDeleteSubtitle => 'Гэты файл будзе назаўжды выдалены'; + + @override + String get documentsDeleteCancel => 'Скасаванне'; + + @override + String get documentsDeleteButton => 'Выдаліць'; + + @override + String get documentsMoreActionsTooltip => 'Іншыя дзеянні'; + + @override + String get profilesSearch => 'Пошук'; + + @override + String get profilesEmptyList => 'Профілі не знойдзены'; + + @override + String get profilesViewMore => 'Паказаць яшчэ'; + + @override + String get profilesMore => 'Яшчэ'; + + @override + String get profilesAnnouncementTitle1 => + 'Доктарына цяпер памятае пра ваша здароўе'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Вашы кансультацыі цяпер аўтаматычна фармуюць і абнаўляюць вашу медыцынскую картку.'; + + @override + String get profilesAnnouncementTitle2 => + 'Ваша медыцынская картка, вашыя правілы'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Глядзіце, рэдагуйце або дадавайце сімптомы, лекі, гісторыю або дакументы ў любы час'; + + @override + String get profilesAnnouncementTitle3 => 'Даглядайце за ўсёй вашай сям\'ёй'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Стварыце медыцынскую картку для сваіх блізкіх, дзяцей, бацькоў або партнёра.'; + + @override + String get profilesAnnouncementTitle4 => + 'Гатовы захаваць вашу медыцынскую картку?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Пасля кансультацыі націсніце «Дадаць профіль», каб захаваць яго.'; + + @override + String get profilesNextButton => 'Далей'; + + @override + String get profilesStartButton => 'Пачаць кансультацыю'; + + @override + String get profilesLaterButton => 'Магчыма пазней'; + + @override + String get profileSuccessCloseButton => 'Закрыць'; + + @override + String get pdfHeaderTitle => 'Медыцынская карта'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Медыцынская карта — $name'; + } + + @override + String get expandableFieldMore => '...большей'; + + @override + String get expandableFieldLess => '...менш'; + + @override + String get profiles_button_addnew => 'Дадаць профіль'; + + @override + String get profiles_label_addnew => + 'Стварыце профіль, каб захаваць дадзеныя гэтай кансультацыі.'; + + @override + String get profiles_label_health_records_hint => + 'Вы можаце атрымаць доступ да яго ў любы час у Медыцынскіх запісах'; + + @override + String get profiles_label_keep_talking_hint => + 'Калі ў вас ёсць яшчэ пытанні пра гэта ці пра ўсё, што з гэтым звязана, не саромейцеся працягваць размаўляць са мной. Я тут, каб дапамагчы'; + + @override + String get profile_section_basic_title => 'Агульная інфармацыя'; + + @override + String get profile_section_basic_name_label => 'Імя'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Імя'; + + @override + String get profile_section_basic_first_name_placeholder => 'Іван'; + + @override + String get profile_section_basic_last_name_label => 'Прозвішча'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Пол'; + + @override + String get profile_section_basic_sex_placeholder => 'Калі ласка, абярыце'; + + @override + String get profile_section_basic_sex_options_male => 'Мужчына'; + + @override + String get profile_section_basic_sex_options_female => 'Жанчына'; + + @override + String get profile_section_basic_sex_options_other => 'Іншае'; + + @override + String get profile_section_basic_date_of_birth_label => 'Дата нараджэння'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'ГГГГ-ММ-ДД'; + + @override + String get profile_section_basic_age_str_label => 'Узрост'; + + @override + String get profile_section_basic_age_str_placeholder => 'напрыклад, 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Нумар тэлефона'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Электронная пошта'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Месцазнаходжанне'; + + @override + String get profile_section_basic_location_placeholder => + 'напрыклад Горад, Краіна'; + + @override + String get profile_section_body_diet_title => 'Цела & Харчаванне'; + + @override + String get profile_section_body_diet_height_str_label => 'Рост'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'напрыклад 180 см'; + + @override + String get profile_section_body_diet_weight_str_label => 'Вага'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'напрыклад, 75 кг'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Менструальны цыкл'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'напрыклад Рэгулярны, Нерэгулярны'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Дыетычныя абмежаванні'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Калі ласка, абярыце'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Скажыце нам, што вы ясьце і якія ў вас ёсць абмежаванні'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Няма'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Вегетарыянец'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Веган'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Без Глютэна'; + + @override + String get profile_section_body_diet_bmi_label => 'Індэкс масы цела (ІМТ)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'напрыклад 24.5'; + + @override + String get profile_section_health_profile_title => 'Профіль здароўя'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Хранічныя захворванні'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'напр. цукровы дыябет 2 тыпу'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Калі ласка, пералічыце ўсе хранічныя захворванні і ўкажыце, калі яны былі дыягнаставаны, а таксама любыя ўскладненні'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Перанесеныя захворванні'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'напр. частыя прастуды'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Калі ласка, пералічыце сур\'ёзныя захворванні, якія ў вас былі ў мінулым, нават калі вы выздаравелі'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Хірургічны анамнез'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'e.g. Appendectomy'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Калі ласка, пералічыце ўсе аперацыі і ўкажыце год, а таксама ці былі якія-небудзь ускладненні'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Лекі, якія ўжываюцца зрэдку'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'напр. Ібупрофен'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Калі ласка, пералічыце лекі, якія вы прымаеце час ад часу (напрыклад: абязбольвальныя, лекі ад алергіі), уключаючы дозу і прычыну выкарыстання'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Пастаянныя лекі'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'напр. Метформін'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Калі ласка, пералічыце ўсе лекі, якія вы прымаеце рэгулярна, уключаючы назву, дозу, колькі разоў на дзень вы іх прымаеце і для якога стану яны прызначаны.'; + + @override + String get profile_section_health_profile_allergies_label => 'Алергіі'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'напр. пеніцылін – выклікае сып'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Калі ласка, пералічыце ўсе алергіі (лекі, прадукты, навакольнае асяроддзе) і апішыце, якая рэакцыя ў вас узнікае (напрыклад: сып, ацёк, праблемы з дыханнем).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Асаблівыя станы здароўя'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'напрыклад, цяжарнасць, інваліднасць'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Калі ў вас ёсць якія-небудзь важныя медыцынскія ўмовы, пра якія лекары заўсёды павінны ведаць (напрыклад: цяжарнасць, імплантаваныя прылады, інваліднасць, тэрапія антыкаагулянтамі), калі ласка, апішыце іх. Калі няма, вы можаце пакінуць гэта поле пустым.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Сямейны анамнез'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'напрыклад: хвароба сэрца, рак'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Калі ласка, апішыце важныя хваробы ў вашай сям\'і (напрыклад: цукровы дыябет, гіпертанія, хваробы сэрца, рак, генетычныя захворванні) і ўкажыце, у якога члена сям\'і была гэтая хвароба.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Сацыяльныя фактары і фактары ладу жыцця'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'напрыклад, курэнне, ужыванне алкаголю'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Калі ласка, апішыце фактары ладу жыцця, якія могуць уплываць на ваша здароўе, такія як курэнне, алкаголь, фізічная актыўнасць, дыета, сон і прафесія.'; + + @override + String get profile_section_health_profile_devices_label => + 'Медыцынскія прылады'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'напрыклад: Кардыястымулятар, Слухавы апарат, Інсулінавая помпа'; + + @override + String get profile_section_health_profile_devices_hint => + 'Калі ласка, пералічыце любыя медыцынскія прылады, якія вы выкарыстоўваеце або якія ў вас імплантаваны, такія як кардыястымулятары, інсулінавые помпы, слыхавыя апараты, пратэзы або іншыя дапаможныя або маніторынгавыя прылады. Уключыце адпаведныя дэталі, калі гэта прымяняецца.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Усёядны'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Фастфуд'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Пескатарыянец'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Без лактозы'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Дыета з нізкім утрыманнем натрыю'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Дыета з нізкім утрыманнем цукру'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Кардыялогічная дыета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Нырачны рацыён'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Іншае'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_bg.dart b/example/lib/src/generated/profiles/profiles_localization_bg.dart new file mode 100644 index 0000000..387ab56 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_bg.dart @@ -0,0 +1,581 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Bulgarian (`bg`). +class ProfilesLocalizationBg extends ProfilesLocalization { + ProfilesLocalizationBg([String locale = 'bg']) : super(locale); + + @override + String get chatDrawerTitle => 'Медицински записи'; + + @override + String get chatDrawerBadgeNew => 'НОВ'; + + @override + String get bannerTitle => 'Създайте своя здравен запис'; + + @override + String get bannerSubtitle => 'В края на консултацията добавете профила си.'; + + @override + String get bannerMoreProfilesTitle => 'Добави още профили'; + + @override + String get bannerMoreProfilesSubtitle => + 'Започнете консултация за някой друг, за да създадете профила му.'; + + @override + String get bannerSignUp => + 'Регистрирайте се, за да създадете здравния си запис'; + + @override + String get errorRetryButton => 'Опитай отново'; + + @override + String get dashboardDeleteError => 'Неуспешно изтриване на профила'; + + @override + String get dashboardSummaryLoadError => + 'Неуспешно зареждане на резюме на профила'; + + @override + String get dashboardMenuViewFullRecord => 'Преглед на пълния запис'; + + @override + String get dashboardMenuShare => 'Сподели'; + + @override + String get dashboardMenuDelete => 'Изтрий'; + + @override + String get dashboardMetricAgeLabel => 'Възраст'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value години', + one: '$value година', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Тегло'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Височина'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Алергии'; + + @override + String get dashboardInfoChronicTitle => 'Хроничен'; + + @override + String get dashboardInfoMedicationTitle => 'Лекарства'; + + @override + String get dashboardInfoDevicesTitle => 'Устройства'; + + @override + String get dashboardNavigationConsultations => 'Консултации'; + + @override + String get dashboardNavigationDocuments => 'Документи'; + + @override + String get dashboardDeleteRecordTitle => 'Изтриване на здравен запис?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Това ще премахне трайно вашите здравни данни и не може да бъде отменено. Ще загубите контекста, който използваме, за да ви водим.'; + + @override + String get dashboardDeleteRecordCancel => 'Отмяна'; + + @override + String get dashboardDeleteRecordConfirm => 'Изтрий'; + + @override + String get dashboardDeleteRecordLoading => 'Изтривам вашия здравен запис...'; + + @override + String get dashboardDeleteRecordError => 'Неуспешно изтриване на профил'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Здравният запис е изтрит'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Можете да създадете нов по всяко време, като разговаряте с асистента.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Върнете се в чата'; + + @override + String get dataEditingScreenTitle => 'Редактиране'; + + @override + String get dataFailedToLoadError => 'Неуспешно зареждане на данни за профила'; + + @override + String get dataRecordSavedTitle => 'Промените са запазени'; + + @override + String get dataRecordSavedSubtitle => + 'Вашата информация беше успешно актуализирана.'; + + @override + String get dataRecordSavedButton => 'Върнете се в профила'; + + @override + String get dataRecordUpdateError => + 'Неуспешно обновяване на данните за профила'; + + @override + String get dataRecordDiscardTitle => 'Отказване на промените?'; + + @override + String get dataRecordDiscardSubtitle => + 'Направихте някои промени в профила си. Запазете ги, преди да си тръгнете, или ги отхвърлете.'; + + @override + String get dataRecordDiscardCancel => 'Продължете да редактирате'; + + @override + String get dataRecordDiscardConfirm => 'Изтрий'; + + @override + String get dataRecordEditTooltip => 'Редактиране'; + + @override + String get dataRecordAddTag => 'Добави запис'; + + @override + String get consultationsSearch => 'Търсене'; + + @override + String get consultationsSearchEmpty => 'Не са намерени резултати'; + + @override + String get documentsMenuDownload => 'Изтегли'; + + @override + String get documentsMenuShare => 'Сподели'; + + @override + String get documentsMenuDelete => 'Изтрий'; + + @override + String get documentsEmptyList => 'Не са намерени документи'; + + @override + String get documentsDeleteTitle => 'Да изтрием ли този документ?'; + + @override + String get documentsDeleteSubtitle => 'Този файл ще бъде трайно премахнат'; + + @override + String get documentsDeleteCancel => 'Отмяна'; + + @override + String get documentsDeleteButton => 'Изтрий'; + + @override + String get documentsMoreActionsTooltip => 'Още действия'; + + @override + String get profilesSearch => 'Търсене'; + + @override + String get profilesEmptyList => 'Не са намерени профили'; + + @override + String get profilesViewMore => 'Виж още'; + + @override + String get profilesMore => 'Още'; + + @override + String get profilesAnnouncementTitle1 => 'Doctorina вече помни вашето здраве'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Вашите консултации сега автоматично изграждат и актуализират вашата Здравна карта.'; + + @override + String get profilesAnnouncementTitle2 => + 'Вашата здравна карта, вашите правила'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Прегледайте, редактирайте или добавяйте симптоми, лекарства, история или документи по всяко време.'; + + @override + String get profilesAnnouncementTitle3 => 'Грижа за цялото семейство'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Създайте здравен запис за вашите близки, деца, родители или партньор.'; + + @override + String get profilesAnnouncementTitle4 => + 'Готови ли сте да запазите здравния си запис?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'След консултацията натиснете „Добави профил“, за да го запазите.'; + + @override + String get profilesNextButton => 'Напред'; + + @override + String get profilesStartButton => 'Започнете консултация'; + + @override + String get profilesLaterButton => 'Може би по-късно'; + + @override + String get profileSuccessCloseButton => 'Затвори'; + + @override + String get pdfHeaderTitle => 'Медицинска карта'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Медицинска карта — $name'; + } + + @override + String get expandableFieldMore => '...повече'; + + @override + String get expandableFieldLess => '...по-малко'; + + @override + String get profiles_button_addnew => 'Добави нов профил'; + + @override + String get profiles_label_addnew => + 'Създайте профил, за да запазите детайлите на тази консултация'; + + @override + String get profiles_label_health_records_hint => + 'Можете да го прегледате по всяко време в здравните си записи'; + + @override + String get profiles_label_keep_talking_hint => + 'Ако имате още въпроси за това или за нещо свързано, не се колебайте да продължите да говорите с мен. Аз съм тук, за да помогна'; + + @override + String get profile_section_basic_title => 'Обща информация'; + + @override + String get profile_section_basic_name_label => 'Име'; + + @override + String get profile_section_basic_name_placeholder => 'Иван Иванов'; + + @override + String get profile_section_basic_first_name_label => 'Име'; + + @override + String get profile_section_basic_first_name_placeholder => 'Иван'; + + @override + String get profile_section_basic_last_name_label => 'Фамилия'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Пол'; + + @override + String get profile_section_basic_sex_placeholder => 'Моля, изберете'; + + @override + String get profile_section_basic_sex_options_male => 'Мъж'; + + @override + String get profile_section_basic_sex_options_female => 'Жена'; + + @override + String get profile_section_basic_sex_options_other => 'Друго'; + + @override + String get profile_section_basic_date_of_birth_label => 'Дата на раждане'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'ГГГГ-ММ-ДД'; + + @override + String get profile_section_basic_age_str_label => 'Възраст'; + + @override + String get profile_section_basic_age_str_placeholder => 'напр. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Телефонен номер'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Имейл'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Местоположение'; + + @override + String get profile_section_basic_location_placeholder => + 'напр. Град, Държава'; + + @override + String get profile_section_body_diet_title => 'Тяло & Хранене'; + + @override + String get profile_section_body_diet_height_str_label => 'Височина'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'напр. 180 см'; + + @override + String get profile_section_body_diet_weight_str_label => 'Тегло'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'напр. 75 кг'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Менструален цикъл'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'напр. Редовен, Нередовен'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Диетични ограничения'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Моля, изберете'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Кажете ни какво ядете и какви ограничения имате'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Няма ограничения'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Вегетарианска диета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Веган'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Без глутен'; + + @override + String get profile_section_body_diet_bmi_label => + 'Индекс на телесна маса (ИТМ)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'напр. 24.5'; + + @override + String get profile_section_health_profile_title => 'Здравен профил'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Хронични заболявания'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'напр. Диабет тип 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Моля, посочете всички хронични заболявания и включете кога са били диагностицирани и всякакви усложнения.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Предишни заболявания'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'напр. Чести настинки'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Моля, посочете сериозни заболявания, които сте имали в миналото, дори и да сте се възстановили.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Хирургична анамнеза'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'напр. апендектомия'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Моля, изброите всички операции и включете годината и дали е имало усложнения.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Понякога използвани лекарства'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'напр. Ибупрофен'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Моля, посочете медикаменти, които приемате от време на време (например: болкоуспокояващи, медикаменти за алергия), включително дозата и причината за употреба.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Редовни лекарства'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'напр. Метформин'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Моля, посочете всички лекарства, които приемате редовно, включително името, дозата, колко пъти на ден ги приемате и за какво състояние са.'; + + @override + String get profile_section_health_profile_allergies_label => 'Алергии'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'напр. Пеницилин – причинява обрив'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Моля, посочете всички алергии (медикаменти, храни, околна среда) и опишете каква реакция имате (например: обрив, подуване, проблеми с дишането).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Специални състояния'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'напр. Бременност, Инвалидност'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Ако имате важни медицински състояния, за които лекарите винаги трябва да знаят (например: бременност, имплантирани устройства, увреждания, антикоагулантна терапия), моля, опишете ги. Ако нямате, можете да оставите това поле празно.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Семейна анамнеза'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'напр. сърдечни заболявания, рак'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Моля, опишете важни заболявания в семейството си (например: диабет, хипертония, сърдечни заболявания, рак, генетични заболявания) и посочете кой член на семейството е имал състоянието.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Социални и фактори, свързани с начина на живот'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'напр. Пушене, Консумация на алкохол'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Моля, опишете факторите на начина на живот, които могат да повлияят на вашето здраве, като пушене, алкохол, физическа активност, диета, сън и професия.'; + + @override + String get profile_section_health_profile_devices_label => + 'Медицински устройства'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'напр. Пейсмейкър, Слухов апарат, Инсулинова помпа'; + + @override + String get profile_section_health_profile_devices_hint => + 'Моля, посочете всички медицински устройства, които използвате или имате имплантирани, като пейсмейкъри, инсулинови помпи, слухови апарати, протези или други помощни или мониторингови устройства. Включете съответните детайли, ако е приложимо.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Всеяден'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Бърза храна'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Пескатарианец'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Без лактоза'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Диета с ниско съдържание на сол'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Диета с ниско съдържание на захар'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Сърдечна диета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Бъбречна диета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Друго'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_bn.dart b/example/lib/src/generated/profiles/profiles_localization_bn.dart new file mode 100644 index 0000000..32bb3a0 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_bn.dart @@ -0,0 +1,580 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Bengali Bangla (`bn`). +class ProfilesLocalizationBn extends ProfilesLocalization { + ProfilesLocalizationBn([String locale = 'bn']) : super(locale); + + @override + String get chatDrawerTitle => 'স্বাস্থ্য রেকর্ড'; + + @override + String get chatDrawerBadgeNew => 'নতুন'; + + @override + String get bannerTitle => 'আপনার স্বাস্থ্য রেকর্ড তৈরি করুন'; + + @override + String get bannerSubtitle => 'আপনার পরামর্শের শেষে, আপনার প্রোফাইল যোগ করুন।'; + + @override + String get bannerMoreProfilesTitle => 'আরও প্রোফাইল যোগ করুন'; + + @override + String get bannerMoreProfilesSubtitle => + 'অন্যের জন্য পরামর্শ শুরু করুন যাতে তাদের প্রোফাইল তৈরি করা যায়।'; + + @override + String get bannerSignUp => 'আপনার স্বাস্থ্য রেকর্ড তৈরি করতে সাইন আপ করুন'; + + @override + String get errorRetryButton => 'পুনরায় চেষ্টা করুন'; + + @override + String get dashboardDeleteError => 'প্রোফাইল মুছতে ব্যর্থ'; + + @override + String get dashboardSummaryLoadError => 'প্রোফাইল সারাংশ লোড করতে ব্যর্থ'; + + @override + String get dashboardMenuViewFullRecord => 'সম্পূর্ণ রেকর্ড দেখুন'; + + @override + String get dashboardMenuShare => 'শেয়ার'; + + @override + String get dashboardMenuDelete => 'মুছুন'; + + @override + String get dashboardMetricAgeLabel => 'বয়স'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value বছর', + one: '$value বছর', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'ওজন'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'উচ্চতা'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value সেমি'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'অ্যালার্জি'; + + @override + String get dashboardInfoChronicTitle => 'ক্রনিক'; + + @override + String get dashboardInfoMedicationTitle => 'ঔষধ'; + + @override + String get dashboardInfoDevicesTitle => 'ডিভাইস'; + + @override + String get dashboardNavigationConsultations => 'পরামর্শ'; + + @override + String get dashboardNavigationDocuments => 'নথি'; + + @override + String get dashboardDeleteRecordTitle => 'স্বাস্থ্য রেকর্ড মুছে ফেলবেন?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'এটি আপনার স্বাস্থ্য তথ্য স্থায়ীভাবে মুছে ফেলবে এবং এটি পূর্বাবস্থায় ফিরিয়ে আনা যাবে না। আপনি আমাদের আপনাকে নির্দেশনা দিতে ব্যবহৃত প্রেক্ষাপট হারাবেন।'; + + @override + String get dashboardDeleteRecordCancel => 'বাতিল'; + + @override + String get dashboardDeleteRecordConfirm => 'মুছে ফেলুন'; + + @override + String get dashboardDeleteRecordLoading => + 'আপনার স্বাস্থ্য রেকর্ড মুছে ফেলা হচ্ছে...'; + + @override + String get dashboardDeleteRecordError => 'প্রোফাইল মুছতে ব্যর্থ'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'স্বাস্থ্য রেকর্ড মুছে ফেলা হয়েছে'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'আপনি যেকোনো সময় সহকারীর সাথে চ্যাট করে একটি নতুন তৈরি করতে পারেন।'; + + @override + String get dashboardDeleteRecordSuccessButton => 'চ্যাটে ফিরে যান'; + + @override + String get dataEditingScreenTitle => 'সম্পাদনা'; + + @override + String get dataFailedToLoadError => 'প্রোফাইল ডেটা লোড করতে ব্যর্থ'; + + @override + String get dataRecordSavedTitle => 'পরিবর্তনগুলি সংরক্ষিত হয়েছে'; + + @override + String get dataRecordSavedSubtitle => 'আপনার তথ্য সফলভাবে আপডেট করা হয়েছে।'; + + @override + String get dataRecordSavedButton => 'প্রোফাইলে ফিরে যান'; + + @override + String get dataRecordUpdateError => 'প্রোফাইল ডেটা আপডেট করতে ব্যর্থ'; + + @override + String get dataRecordDiscardTitle => 'পরিবর্তনগুলি বাতিল করবেন?'; + + @override + String get dataRecordDiscardSubtitle => + 'আপনি আপনার প্রোফাইলে কিছু পরিবর্তন করেছেন। যাওয়ার আগে সেগুলি সংরক্ষণ করুন, অথবা বাতিল করুন।'; + + @override + String get dataRecordDiscardCancel => 'সম্পাদনা চালিয়ে যান'; + + @override + String get dataRecordDiscardConfirm => 'বাতিল করুন'; + + @override + String get dataRecordEditTooltip => 'সম্পাদনা'; + + @override + String get dataRecordAddTag => 'রেকর্ড যোগ করুন'; + + @override + String get consultationsSearch => 'অনুসন্ধান'; + + @override + String get consultationsSearchEmpty => 'কোন ফলাফল পাওয়া যায়নি'; + + @override + String get documentsMenuDownload => 'ডাউনলোড'; + + @override + String get documentsMenuShare => 'শেয়ার'; + + @override + String get documentsMenuDelete => 'মুছুন'; + + @override + String get documentsEmptyList => 'কোনো নথি পাওয়া যায়নি'; + + @override + String get documentsDeleteTitle => 'এই নথিটি মুছে ফেলতে চান?'; + + @override + String get documentsDeleteSubtitle => 'এই ফাইলটি স্থায়ীভাবে মুছে ফেলা হবে'; + + @override + String get documentsDeleteCancel => 'বাতিল'; + + @override + String get documentsDeleteButton => 'মুছে ফেলুন'; + + @override + String get documentsMoreActionsTooltip => 'আরও অ্যাকশন'; + + @override + String get profilesSearch => 'অনুসন্ধান'; + + @override + String get profilesEmptyList => 'কোনো প্রোফাইল পাওয়া যায়নি'; + + @override + String get profilesViewMore => 'আরও দেখুন'; + + @override + String get profilesMore => 'আরও'; + + @override + String get profilesAnnouncementTitle1 => + 'ডক্টরিনা এখন আপনার স্বাস্থ্য মনে রাখে'; + + @override + String get profilesAnnouncementSubtitle1 => + 'আপনার পরামর্শগুলি এখন স্বয়ংক্রিয়ভাবে আপনার স্বাস্থ্য রেকর্ড তৈরি এবং আপডেট করে।'; + + @override + String get profilesAnnouncementTitle2 => + 'আপনার স্বাস্থ্য রেকর্ড, আপনার নিয়ম'; + + @override + String get profilesAnnouncementSubtitle2 => + 'কোনও সময়ে লক্ষণ, ওষুধ, ইতিহাস বা নথি দেখুন, সম্পাদনা করুন বা যোগ করুন।'; + + @override + String get profilesAnnouncementTitle3 => 'আপনার পুরো পরিবারের যত্ন নিন'; + + @override + String get profilesAnnouncementSubtitle3 => + 'আপনার প্রিয়জন, আপনার সন্তান, বাবা-মা বা সঙ্গীর জন্য একটি স্বাস্থ্য রেকর্ড তৈরি করুন।'; + + @override + String get profilesAnnouncementTitle4 => + 'আপনার স্বাস্থ্য রেকর্ড সংরক্ষণের জন্য প্রস্তুত?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'আপনার পরামর্শের পরে, এটি সংরক্ষণ করতে \"প্রোফাইল যোগ করুন\" ট্যাপ করুন।'; + + @override + String get profilesNextButton => 'পরবর্তী'; + + @override + String get profilesStartButton => 'একটি পরামর্শ শুরু করুন'; + + @override + String get profilesLaterButton => 'পরে হয়তো'; + + @override + String get profileSuccessCloseButton => 'বন্ধ করুন'; + + @override + String get pdfHeaderTitle => 'স্বাস্থ্য রেকর্ড'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'স্বাস্থ্য রেকর্ড — $name'; + } + + @override + String get expandableFieldMore => '...আরও'; + + @override + String get expandableFieldLess => '...কম'; + + @override + String get profiles_button_addnew => 'নতুন প্রোফাইল যোগ করুন'; + + @override + String get profiles_label_addnew => + 'এই পরামর্শের বিস্তারিত তথ্য সংরক্ষণ করতে একটি প্রোফাইল তৈরি করুন।'; + + @override + String get profiles_label_health_records_hint => + 'আপনি এটি যে কোনো সময় আপনার Health Records-এ অ্যাক্সেস করতে পারবেন'; + + @override + String get profiles_label_keep_talking_hint => + 'যদি এ সম্পর্কে বা এ সংক্রান্ত যেকোনো বিষয়ে আপনার আরও প্রশ্ন থাকে, বিনা দ্বিধায় আমার সঙ্গে কথা বলতে থাকুন। আমি সাহায্য করার জন্য এখানে আছি'; + + @override + String get profile_section_basic_title => 'সাধারণ তথ্য'; + + @override + String get profile_section_basic_name_label => 'নাম'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'প্রথম নাম'; + + @override + String get profile_section_basic_first_name_placeholder => 'জন'; + + @override + String get profile_section_basic_last_name_label => 'নামের শেষাংশ'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'লিঙ্গ'; + + @override + String get profile_section_basic_sex_placeholder => + 'অনুগ্রহ করে নির্বাচন করুন'; + + @override + String get profile_section_basic_sex_options_male => 'পুরুষ'; + + @override + String get profile_section_basic_sex_options_female => 'নারী'; + + @override + String get profile_section_basic_sex_options_other => 'অন্যান্য'; + + @override + String get profile_section_basic_date_of_birth_label => 'জন্ম তারিখ'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'বয়স'; + + @override + String get profile_section_basic_age_str_placeholder => 'যেমন 30'; + + @override + String get profile_section_basic_phonenumber_label => 'ফোন নম্বর'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ইমেল'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'অবস্থান'; + + @override + String get profile_section_basic_location_placeholder => 'যেমন শহর, দেশ'; + + @override + String get profile_section_body_diet_title => 'শরীর & খাদ্য'; + + @override + String get profile_section_body_diet_height_str_label => 'উচ্চতা'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'যেমন 180 সেমি'; + + @override + String get profile_section_body_diet_weight_str_label => 'ওজন'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'উদাহরণ: 75 কেজি'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'মাসিক চক্র'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'যেমন: নিয়মিত, অনিয়মিত'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'খাদ্যগত সীমাবদ্ধতা'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'অনুগ্রহ করে নির্বাচন করুন'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'আপনি কী খান এবং আপনার কোনো সীমাবদ্ধতা আছে কি তা আমাদের জানান'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'কোনোটাই নেই'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'শাকাহারী'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'ভেগান'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'গ্লুটেন মুক্ত'; + + @override + String get profile_section_body_diet_bmi_label => 'শরীরের ভর সূচক (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'যেমন 24.5'; + + @override + String get profile_section_health_profile_title => 'স্বাস্থ্য প্রোফাইল'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'দীর্ঘস্থায়ী রোগ'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'যেমন: টাইপ ২ ডায়াবেটিস'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'দয়া করে সমস্ত দীর্ঘস্থায়ী রোগের তালিকা করুন এবং কখন সেগুলি নির্ণয় করা হয়েছিল এবং কোনও জটিলতা অন্তর্ভুক্ত করুন।'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'পূর্ববর্তী অসুস্থতা'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'যেমন: ঘন ঘন সাধারণ সর্দি'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'আপনি যে গুরুতর রোগগুলি অতীতে ভুগেছেন সেগুলি তালিকাভুক্ত করুন, এমনকি আপনি সুস্থ হয়ে উঠলেও।'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'অস্ত্রোপচারের ইতিহাস'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'যেমন অ্যাপেনডেকটমি'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'সমস্ত সার্জারি তালিকাভুক্ত করুন এবং বছর এবং কোনও জটিলতা ছিল কিনা তা অন্তর্ভুক্ত করুন।'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'কখনও কখনও ব্যবহৃত ওষুধ'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'যেমন: আইবুপ্রোফেন'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'আপনি কখনও কখনও যে ওষুধগুলি নেন (যেমন: ব্যথানাশক, অ্যালার্জির ওষুধ) সেগুলি, ডোজ এবং ব্যবহারের কারণ সহ তালিকাভুক্ত করুন'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'নিয়মিত ওষুধ'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'যেমন: মেটফর্মিন'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'আপনি নিয়মিত যে সমস্ত ওষুধ গ্রহণ করেন, তার নাম, ডোজ, দিনে কতবার গ্রহণ করেন এবং এটি কোন অবস্থার জন্য তা তালিকাভুক্ত করুন'; + + @override + String get profile_section_health_profile_allergies_label => 'অ্যালার্জি'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'যেমন: পেনিসিলিন – র্যাশ সৃষ্টি করে'; + + @override + String get profile_section_health_profile_allergies_hint => + 'সমস্ত অ্যালার্জি (ওষুধ, খাবার, পরিবেশ) তালিকাভুক্ত করুন এবং আপনি কী ধরনের প্রতিক্রিয়া দেখান তা বর্ণনা করুন (যেমন: র্যাশ, ফোলা, শ্বাসকষ্ট)।'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'বিশেষ অবস্থা'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'যেমন গর্ভাবস্থা, প্রতিবন্ধতা'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'যদি আপনার কোনো গুরুত্বপূর্ণ চিকিৎসা অবস্থান থাকে যা ডাক্তারদের সর্বদা জানা উচিত (যেমন: গর্ভাবস্থা, প্রতিস্থাপিত ডিভাইস, অক্ষমতা, অ্যান্টিকোঅ্যাগুলেশন থেরাপি), দয়া করে সেগুলি বর্ণনা করুন। যদি না থাকে, আপনি এটি খালি রাখতে পারেন।'; + + @override + String get profile_section_health_profile_family_history_label => + 'পারিবারিক ইতিহাস'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'উদাহরণ: হৃদরোগ, ক্যান্সার'; + + @override + String get profile_section_health_profile_family_history_hint => + 'আপনার পরিবারের গুরুত্বপূর্ণ রোগগুলি বর্ণনা করুন (যেমন: ডায়াবেটিস, উচ্চ রক্তচাপ, হৃদরোগ, ক্যান্সার, জেনেটিক রোগ) এবং নির্দিষ্ট করুন কোন পরিবারের সদস্যের এই অবস্থাটি ছিল।'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'সামাজিক & জীবনধারা উপাদানসমূহ'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'যেমন: ধূমপান, মদ্যপান'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'আপনার স্বাস্থ্যের উপর প্রভাব ফেলতে পারে এমন জীবনযাত্রার উপাদানগুলি বর্ণনা করুন, যেমন ধূমপান, মদ্যপান, শারীরিক কার্যকলাপ, খাদ্য, ঘুম এবং পেশা।'; + + @override + String get profile_section_health_profile_devices_label => + 'চিকিৎসা যন্ত্রপাতি'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'যেমন পেসমেকার, শ্রবণ সহায়ক, ইনসুলিন পাম্প'; + + @override + String get profile_section_health_profile_devices_hint => + 'আপনি যে কোনও চিকিৎসা ডিভাইস ব্যবহার করেন বা প্রতিস্থাপন করেছেন, যেমন পেসমেকার, ইনসুলিন পাম্প, শ্রবণযন্ত্র, প্রতিস্থাপন বা অন্যান্য সহায়ক বা পর্যবেক্ষণ ডিভাইসের তালিকা করুন। প্রযোজ্য হলে প্রাসঙ্গিক বিবরণ অন্তর্ভুক্ত করুন।'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'সর্বাহারী'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ফাস্ট ফুড'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'পেস্কাটেরিয়ান'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'ল্যাকটোজ-মুক্ত'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'কম সোডিয়াম আহার'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'কম চিনি ডায়েট'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'হৃদরোগের খাদ্য'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'কিডনি ডায়েট'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'অন্যান্য'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ca.dart b/example/lib/src/generated/profiles/profiles_localization_ca.dart new file mode 100644 index 0000000..627a0ec --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ca.dart @@ -0,0 +1,586 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Catalan Valencian (`ca`). +class ProfilesLocalizationCa extends ProfilesLocalization { + ProfilesLocalizationCa([String locale = 'ca']) : super(locale); + + @override + String get chatDrawerTitle => 'Registres de salut'; + + @override + String get chatDrawerBadgeNew => 'NOU'; + + @override + String get bannerTitle => 'Crea el teu Registre de Salut'; + + @override + String get bannerSubtitle => + 'Al final de la teva consulta, afegeix el teu perfil.'; + + @override + String get bannerMoreProfilesTitle => 'Afegir més perfils'; + + @override + String get bannerMoreProfilesSubtitle => + 'Inicia una consulta per a algú altre per crear el seu perfil'; + + @override + String get bannerSignUp => 'Inscriu-te per crear el teu Registre de Salut'; + + @override + String get errorRetryButton => 'Torna a provar'; + + @override + String get dashboardDeleteError => 'No s\'ha pogut eliminar el perfil'; + + @override + String get dashboardSummaryLoadError => + 'No s\'ha pogut carregar el resum del perfil'; + + @override + String get dashboardMenuViewFullRecord => 'Veure registre complet'; + + @override + String get dashboardMenuShare => 'Compartir'; + + @override + String get dashboardMenuDelete => 'Esborrar'; + + @override + String get dashboardMetricAgeLabel => 'Edat'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value anys', + one: '$value any', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Pes'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Alçada'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Al·lèrgies'; + + @override + String get dashboardInfoChronicTitle => 'Crònic'; + + @override + String get dashboardInfoMedicationTitle => 'Medicament'; + + @override + String get dashboardInfoDevicesTitle => 'Dispositius'; + + @override + String get dashboardNavigationConsultations => 'Consultes'; + + @override + String get dashboardNavigationDocuments => 'Documents'; + + @override + String get dashboardDeleteRecordTitle => 'Esborrar registre de salut?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Això eliminarà permanentment les teves dades de salut i no es podrà desfer. Perdràs el context que fem servir per guiar-te.'; + + @override + String get dashboardDeleteRecordCancel => 'Cancel·la'; + + @override + String get dashboardDeleteRecordConfirm => 'Esborrar'; + + @override + String get dashboardDeleteRecordLoading => + 'Eliminant el teu registre de salut...'; + + @override + String get dashboardDeleteRecordError => 'No s\'ha pogut eliminar el perfil'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Registre de salut eliminat'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Pots crear-ne un de nou en qualsevol moment xerrant amb l\'assistent.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Torna al xat'; + + @override + String get dataEditingScreenTitle => 'Editant'; + + @override + String get dataFailedToLoadError => + 'No s\'ha pogut carregar les dades del perfil'; + + @override + String get dataRecordSavedTitle => 'Canvis desats'; + + @override + String get dataRecordSavedSubtitle => + 'La teva informació s\'ha actualitzat correctament.'; + + @override + String get dataRecordSavedButton => 'Torna al perfil'; + + @override + String get dataRecordUpdateError => + 'No s\'ha pogut actualitzar les dades del perfil'; + + @override + String get dataRecordDiscardTitle => 'Descartar canvis?'; + + @override + String get dataRecordDiscardSubtitle => + 'Heu fet alguns canvis al vostre perfil. Deseu-los abans de marxar, o deseu-los.'; + + @override + String get dataRecordDiscardCancel => 'Segueix editant'; + + @override + String get dataRecordDiscardConfirm => 'Descartar'; + + @override + String get dataRecordEditTooltip => 'Editar'; + + @override + String get dataRecordAddTag => 'Afegir registre'; + + @override + String get consultationsSearch => 'Cerca'; + + @override + String get consultationsSearchEmpty => 'No s\'han trobat resultats'; + + @override + String get documentsMenuDownload => 'Descarregar'; + + @override + String get documentsMenuShare => 'Compartir'; + + @override + String get documentsMenuDelete => 'Esborrar'; + + @override + String get documentsEmptyList => 'No s\'han trobat documents'; + + @override + String get documentsDeleteTitle => 'Esborrar aquest document?'; + + @override + String get documentsDeleteSubtitle => + 'Aquest fitxer serà eliminat de manera permanent'; + + @override + String get documentsDeleteCancel => 'Cancel·la'; + + @override + String get documentsDeleteButton => 'Esborrar'; + + @override + String get documentsMoreActionsTooltip => 'Més accions'; + + @override + String get profilesSearch => 'Cerca'; + + @override + String get profilesEmptyList => 'No s\'han trobat perfils'; + + @override + String get profilesViewMore => 'Veure\'n més'; + + @override + String get profilesMore => 'Més'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina ara recorda la teva salut'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Les teves consultes ara construeixen i actualitzen automàticament el teu Registre de Salut.'; + + @override + String get profilesAnnouncementTitle2 => + 'El teu registre de salut, les teves regles'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Veure, editar o afegir símptomes, medicaments, historial o documents en qualsevol moment.'; + + @override + String get profilesAnnouncementTitle3 => 'Cura per a tota la teva família'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Crea un registre de salut per als teus éssers estimats, els teus fills, pares o parella.'; + + @override + String get profilesAnnouncementTitle4 => + 'Preparat per desar el teu historial mèdic?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Després de la teva consulta, toca \"Afegir perfil\" per desar-ho.'; + + @override + String get profilesNextButton => 'Següent'; + + @override + String get profilesStartButton => 'Iniciar una consulta'; + + @override + String get profilesLaterButton => 'Potser més tard'; + + @override + String get profileSuccessCloseButton => 'Tanca'; + + @override + String get pdfHeaderTitle => 'Fitxa de salut'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Registre de salut — $name'; + } + + @override + String get expandableFieldMore => '...més'; + + @override + String get expandableFieldLess => '...menys'; + + @override + String get profiles_button_addnew => 'Afegir nou perfil'; + + @override + String get profiles_label_addnew => + 'Crea un perfil per desar els detalls d\'aquesta consulta'; + + @override + String get profiles_label_health_records_hint => + 'Pots consultar-ho en qualsevol moment als teus registres de salut'; + + @override + String get profiles_label_keep_talking_hint => + 'Si tens més preguntes sobre això o qualsevol cosa relacionada, no dubtis a seguir parlant amb mi. Estic aquí per ajudar-te'; + + @override + String get profile_section_basic_title => 'Informació general'; + + @override + String get profile_section_basic_name_label => 'Nom'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Nom'; + + @override + String get profile_section_basic_first_name_placeholder => 'Joan'; + + @override + String get profile_section_basic_last_name_label => 'Cognom'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Sexe'; + + @override + String get profile_section_basic_sex_placeholder => 'Seleccioneu'; + + @override + String get profile_section_basic_sex_options_male => 'Home'; + + @override + String get profile_section_basic_sex_options_female => 'Dona'; + + @override + String get profile_section_basic_sex_options_other => 'Altre'; + + @override + String get profile_section_basic_date_of_birth_label => 'Data de naixement'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Edat'; + + @override + String get profile_section_basic_age_str_placeholder => 'p. ex. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Número de telèfon'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Correu electrònic'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Ubicació'; + + @override + String get profile_section_basic_location_placeholder => + 'p. ex. Ciutat, País'; + + @override + String get profile_section_body_diet_title => 'Cos & Dieta'; + + @override + String get profile_section_body_diet_height_str_label => 'Alçada'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'p. ex. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Pes'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'p. ex. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Cicle Menstrual'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'p. ex. Regular, Irregular'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Restriccions Alimentàries'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Si us plau seleccioneu'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Feu-nos saber què mengeu i quines restriccions teniu'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Cap'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetarià'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegà'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Sense gluten'; + + @override + String get profile_section_body_diet_bmi_label => + 'Índex de massa corporal (IMC)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'p. ex. 24.5'; + + @override + String get profile_section_health_profile_title => 'Perfil de salut'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Malalties cròniques'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'p. ex. Diabetis Tipus 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Si us plau, enumereu totes les malalties cròniques i incloeu quan van ser diagnosticades i qualsevol complicació.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Malalties anteriors'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'per exemple, refredats comuns freqüents'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Si us plau, enumera les malalties greus que has tingut en el passat, fins i tot si t\'has recuperat'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Historial Quirúrgic'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'p. ex. apendicectomia'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Si us plau, enumera totes les cirurgies i inclou l\'any i si hi va haver complicacions.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Medicaments d\'ús ocasional'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'per exemple, Ibuprofè'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Si us plau, enumereu els medicaments que preneu de tant en tant (per exemple: analgèsics, medicaments per a al·lèrgies), incloent la dosi i el motiu d\'ús.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Medicació habitual'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'per exemple, Metformina'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Si us plau, enumera tots els medicaments que prens regularment, incloent el nom, la dosi, quantes vegades al dia ho prens i per a quina condició és.'; + + @override + String get profile_section_health_profile_allergies_label => 'Al·lèrgies'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'per exemple, penicil·la – causa erupció'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Si us plau, enumera totes les al·lèrgies (medicaments, aliments, ambientals) i descriu quina reacció tens (per exemple: erupció, inflor, problemes respiratoris).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Condicions especials'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'p. ex. Embaràs, Discapacitat'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Si teniu alguna condició mèdica important que els metges haurien de conèixer sempre (per exemple: embaràs, dispositius implantats, discapacitats, teràpia anticoagulant), si us plau, descriviu-les. Si no en teniu, podeu deixar-ho en blanc.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Antecedents Familiars'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'p. ex. Malaltia Cardíaca, Càncer'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Si us plau, descriviu les malalties importants de la vostra família (per exemple: diabetis, hipertensió, malaltia cardíaca, càncer, malalties genètiques) i especifiqueu quin membre de la família tenia la condició.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Factors socials & d\'estil de vida'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'p. ex. Fumar, Consum d\'alcohol'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Si us plau, descriviu els factors de l\'estil de vida que poden afectar la vostra salut, com ara el tabaquisme, l\'alcohol, l\'activitat física, la dieta, el son i la professió.'; + + @override + String get profile_section_health_profile_devices_label => + 'Dispositius mèdics'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'p. ex. marcapassos, audiòfon, bomba d\'insulina'; + + @override + String get profile_section_health_profile_devices_hint => + 'Si us plau, enumera qualsevol dispositiu mèdic que utilitzis o que tinguis implantat, com ara marcapassos, bombes d\'insulina, audiòfons, pròtesis o altres dispositius d\'assistència o de monitoratge. Inclou detalls rellevants si escau.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Omnívor'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Menjar ràpid'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetarià'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Sense lactosa'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Dieta baixa en sodi'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Dieta baixa en sucre'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Dieta cardíaca'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Dieta renal'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Altres'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_cs.dart b/example/lib/src/generated/profiles/profiles_localization_cs.dart new file mode 100644 index 0000000..31a30ec --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_cs.dart @@ -0,0 +1,582 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Czech (`cs`). +class ProfilesLocalizationCs extends ProfilesLocalization { + ProfilesLocalizationCs([String locale = 'cs']) : super(locale); + + @override + String get chatDrawerTitle => 'Zdravotní záznamy'; + + @override + String get chatDrawerBadgeNew => 'NOVÉ'; + + @override + String get bannerTitle => 'Vytvořte si zdravotní záznam'; + + @override + String get bannerSubtitle => 'Na konci konzultace přidejte svůj profil.'; + + @override + String get bannerMoreProfilesTitle => 'Přidat další profily'; + + @override + String get bannerMoreProfilesSubtitle => + 'Začněte konzultaci pro někoho jiného, aby vytvořil svůj profil.'; + + @override + String get bannerSignUp => + 'Zaregistrujte se a vytvořte si svůj zdravotní záznam'; + + @override + String get errorRetryButton => 'Zkusit znovu'; + + @override + String get dashboardDeleteError => 'Nepodařilo se smazat profil'; + + @override + String get dashboardSummaryLoadError => + 'Nepodařilo se načíst shrnutí profilu'; + + @override + String get dashboardMenuViewFullRecord => 'Zobrazit úplný záznam'; + + @override + String get dashboardMenuShare => 'Sdílet'; + + @override + String get dashboardMenuDelete => 'Smazat'; + + @override + String get dashboardMetricAgeLabel => 'Věk'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value roky', + one: '$value rok', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Hmotnost'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Výška'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Alergie'; + + @override + String get dashboardInfoChronicTitle => 'Chronické'; + + @override + String get dashboardInfoMedicationTitle => 'Léky'; + + @override + String get dashboardInfoDevicesTitle => 'Zařízení'; + + @override + String get dashboardNavigationConsultations => 'Konzultace'; + + @override + String get dashboardNavigationDocuments => 'Dokumenty'; + + @override + String get dashboardDeleteRecordTitle => 'Smazat zdravotní záznam?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Toto trvale odstraní vaše zdravotní údaje a nelze to vrátit zpět. Ztratíte kontext, který používáme k tomu, abychom vás vedli.'; + + @override + String get dashboardDeleteRecordCancel => 'Zrušit'; + + @override + String get dashboardDeleteRecordConfirm => 'Smazat'; + + @override + String get dashboardDeleteRecordLoading => + 'Odstraňuji váš zdravotní záznam...'; + + @override + String get dashboardDeleteRecordError => 'Nepodařilo se smazat profil'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Zdravotní záznam byl smazán'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Nový můžete vytvořit kdykoli tím, že si popovídáte s asistentem.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Vrátit se do chatu'; + + @override + String get dataEditingScreenTitle => 'Úprava'; + + @override + String get dataFailedToLoadError => 'Nepodařilo se načíst profilová data'; + + @override + String get dataRecordSavedTitle => 'Změny uloženy'; + + @override + String get dataRecordSavedSubtitle => + 'Vaše informace byly úspěšně aktualizovány.'; + + @override + String get dataRecordSavedButton => 'Vrátit se na profil'; + + @override + String get dataRecordUpdateError => + 'Nepodařilo se aktualizovat profilová data'; + + @override + String get dataRecordDiscardTitle => 'Zrušit změny?'; + + @override + String get dataRecordDiscardSubtitle => + 'Provedli jste změny ve svém profilu. Uložte je, než odejdete, nebo je zrušte.'; + + @override + String get dataRecordDiscardCancel => 'Pokračovat v úpravách'; + + @override + String get dataRecordDiscardConfirm => 'Zahodit'; + + @override + String get dataRecordEditTooltip => 'Upravit'; + + @override + String get dataRecordAddTag => 'Přidat záznam'; + + @override + String get consultationsSearch => 'Hledat'; + + @override + String get consultationsSearchEmpty => 'Nenašly se žádné výsledky'; + + @override + String get documentsMenuDownload => 'Stáhnout'; + + @override + String get documentsMenuShare => 'Sdílet'; + + @override + String get documentsMenuDelete => 'Smazat'; + + @override + String get documentsEmptyList => 'Žádné dokumenty nenalezeny'; + + @override + String get documentsDeleteTitle => 'Chcete tento dokument smazat?'; + + @override + String get documentsDeleteSubtitle => 'Tento soubor bude trvale odstraněn'; + + @override + String get documentsDeleteCancel => 'Zrušit'; + + @override + String get documentsDeleteButton => 'Smazat'; + + @override + String get documentsMoreActionsTooltip => 'Další akce'; + + @override + String get profilesSearch => 'Hledat'; + + @override + String get profilesEmptyList => 'Nebyly nalezeny žádné profily'; + + @override + String get profilesViewMore => 'Zobrazit více'; + + @override + String get profilesMore => 'Více'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina si nyní pamatuje vaše zdraví'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Vaše konzultace nyní automaticky vytvářejí a aktualizují váš Zdravotní záznam.'; + + @override + String get profilesAnnouncementTitle2 => + 'Vaše zdravotní záznamy, vaše pravidla'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Zobrazit, upravit nebo přidat příznaky, léky, historii nebo dokumenty kdykoli.'; + + @override + String get profilesAnnouncementTitle3 => 'Péče o celou rodinu'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Vytvořte zdravotní záznam pro své blízké, děti, rodiče nebo partnera.'; + + @override + String get profilesAnnouncementTitle4 => + 'Připraveni uložit svůj zdravotní záznam?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Po konzultaci klepněte na „Přidat profil“, abyste ho uložili.'; + + @override + String get profilesNextButton => 'Další'; + + @override + String get profilesStartButton => 'Zahájit konzultaci'; + + @override + String get profilesLaterButton => 'Možná později'; + + @override + String get profileSuccessCloseButton => 'Zavřít'; + + @override + String get pdfHeaderTitle => 'Zdravotní záznam'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Zdravotní záznam — $name'; + } + + @override + String get expandableFieldMore => '...více'; + + @override + String get expandableFieldLess => '...méně'; + + @override + String get profiles_button_addnew => 'Přidat nový profil'; + + @override + String get profiles_label_addnew => + 'Vytvořte profil pro uložení podrobností této konzultace.'; + + @override + String get profiles_label_health_records_hint => + 'Můžete to kdykoli posoudit v Health Records'; + + @override + String get profiles_label_keep_talking_hint => + 'Pokud máte další otázky ohledně toho nebo čehokoli s tím souvisejícího, neváhejte se mnou dál mluvit. Jsem tu, abych vám pomohl'; + + @override + String get profile_section_basic_title => 'Obecné informace'; + + @override + String get profile_section_basic_name_label => 'Jméno'; + + @override + String get profile_section_basic_name_placeholder => 'Jan Novák'; + + @override + String get profile_section_basic_first_name_label => 'Křestní jméno'; + + @override + String get profile_section_basic_first_name_placeholder => 'Jan'; + + @override + String get profile_section_basic_last_name_label => 'Příjmení'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Pohlaví'; + + @override + String get profile_section_basic_sex_placeholder => 'Vyberte prosím'; + + @override + String get profile_section_basic_sex_options_male => 'Muž'; + + @override + String get profile_section_basic_sex_options_female => 'Žena'; + + @override + String get profile_section_basic_sex_options_other => 'Jiné'; + + @override + String get profile_section_basic_date_of_birth_label => 'Datum narození'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Věk'; + + @override + String get profile_section_basic_age_str_placeholder => 'např. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Telefonní číslo'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-mail'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Místo'; + + @override + String get profile_section_basic_location_placeholder => 'např. Město, Země'; + + @override + String get profile_section_body_diet_title => 'Tělo & Strava'; + + @override + String get profile_section_body_diet_height_str_label => 'Výška'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'např. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Hmotnost'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'např. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menstruační cyklus'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'např. Pravidelný, Nepravidelný'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Stravovací omezení'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Vyberte prosím'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Dejte nám vědět, co jíte a jaká máte omezení'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Žádné'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetarián'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Veganská'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Bez lepku'; + + @override + String get profile_section_body_diet_bmi_label => + 'Index tělesné hmotnosti (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'např. 24,5'; + + @override + String get profile_section_health_profile_title => 'Zdravotní profil'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Chronická onemocnění'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'např. Diabetes typu 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Uveďte všechny chronické nemoci a zahrňte, kdy byly diagnostikovány a jakékoliv komplikace.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Dřívější onemocnění'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'např. Časté nachlazení'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Uveďte prosím závažné nemoci, které jste měli v minulosti, i když jste se uzdravili.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Chirurgická anamnéza'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'např. apendektomie'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Uveďte prosím všechny operace a zahrňte rok a zda došlo k nějakým komplikacím.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Příležitostně užívané léky'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'např. Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Uveďte prosím léky, které užíváte občas (například: léky proti bolesti, léky na alergie), včetně dávkování a důvodu užívání.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Pravidelné léky'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'např. Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Uveďte prosím všechny léky, které pravidelně užíváte, včetně názvu, dávky, kolikrát denně je užíváte a na jaký stav jsou určeny.'; + + @override + String get profile_section_health_profile_allergies_label => 'Alergie'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'např. Penicilin – způsobuje vyrážku'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Uveďte prosím všechny alergie (léky, potraviny, prostředí) a popište, jakou reakci máte (například: vyrážka, otok, problémy s dýcháním).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Speciální stavy'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'např. těhotenství, postižení'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Pokud máte nějaké důležité zdravotní stavy, které by lékaři měli vždy znát (například: těhotenství, implantované zařízení, postižení, antikoagulační terapie), prosím, popište je. Pokud žádné nemáte, můžete to nechat prázdné.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Rodinná anamnéza'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'např. srdeční onemocnění, rakovina'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Prosím, popište důležité nemoci ve vaší rodině (například: cukrovka, vysoký krevní tlak, srdeční choroby, rakovina, genetické choroby) a uveďte, který člen rodiny měl tuto nemoc.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Sociální a životní faktory'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'např. kouření, konzumace alkoholu'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Prosím, popište faktory životního stylu, které mohou ovlivnit vaše zdraví, jako je kouření, alkohol, fyzická aktivita, strava, spánek a povolání.'; + + @override + String get profile_section_health_profile_devices_label => + 'Zdravotnické prostředky'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'např. kardiostimulátor, sluchadlo, inzulínová pumpa'; + + @override + String get profile_section_health_profile_devices_hint => + 'Uveďte prosím jakákoliv lékařská zařízení, která používáte nebo máte implantována, jako jsou kardiostimulátory, inzulinové pumpy, sluchadla, protézy nebo jiná asistenční či monitorovací zařízení. Zahrňte relevantní detaily, pokud je to možné.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Všežravý'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Rychlé občerstvení'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetarián'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Bez laktózy'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Dieta s nízkým obsahem sodíku'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Dieta s nízkým obsahem cukru'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Srdeční dieta'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Ledvinná dieta'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Jiné'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_da.dart b/example/lib/src/generated/profiles/profiles_localization_da.dart new file mode 100644 index 0000000..943dc37 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_da.dart @@ -0,0 +1,579 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Danish (`da`). +class ProfilesLocalizationDa extends ProfilesLocalization { + ProfilesLocalizationDa([String locale = 'da']) : super(locale); + + @override + String get chatDrawerTitle => 'Sundhedsoptegnelser'; + + @override + String get chatDrawerBadgeNew => 'NY'; + + @override + String get bannerTitle => 'Opret din Sundhedsoptegnelse'; + + @override + String get bannerSubtitle => + 'Tilføj din profil ved slutningen af din konsultation.'; + + @override + String get bannerMoreProfilesTitle => 'Tilføj flere profiler'; + + @override + String get bannerMoreProfilesSubtitle => + 'Start en konsultation for en anden for at oprette deres profil'; + + @override + String get bannerSignUp => + 'Tilmeld dig for at oprette din Sundhedsoptegnelse'; + + @override + String get errorRetryButton => 'Prøv igen'; + + @override + String get dashboardDeleteError => 'Kunne ikke slette profil'; + + @override + String get dashboardSummaryLoadError => 'Kunne ikke indlæse profiloversigt'; + + @override + String get dashboardMenuViewFullRecord => 'Se fuld optegnelse'; + + @override + String get dashboardMenuShare => 'Del'; + + @override + String get dashboardMenuDelete => 'Slet'; + + @override + String get dashboardMetricAgeLabel => 'Alder'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value år', + one: '$value år', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Vægt'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Højde'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Allergier'; + + @override + String get dashboardInfoChronicTitle => 'Kronisk'; + + @override + String get dashboardInfoMedicationTitle => 'Medicin'; + + @override + String get dashboardInfoDevicesTitle => 'Enheder'; + + @override + String get dashboardNavigationConsultations => 'Konsultationer'; + + @override + String get dashboardNavigationDocuments => 'Dokumenter'; + + @override + String get dashboardDeleteRecordTitle => 'Slet sundhedsoptegnelse?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Dette vil permanent fjerne dine sundhedsdata og kan ikke fortrydes. Du vil miste den kontekst, vi bruger til at vejlede dig.'; + + @override + String get dashboardDeleteRecordCancel => 'Annuller'; + + @override + String get dashboardDeleteRecordConfirm => 'Slet'; + + @override + String get dashboardDeleteRecordLoading => + 'Sletter din sundhedsoptegnelse...'; + + @override + String get dashboardDeleteRecordError => 'Kunne ikke slette profil'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Sundhedsoptegnelse slettet'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Du kan oprette en ny når som helst ved at chatte med assistenten.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Returner til chat'; + + @override + String get dataEditingScreenTitle => 'Redigering'; + + @override + String get dataFailedToLoadError => 'Kunne ikke indlæse profildata'; + + @override + String get dataRecordSavedTitle => 'Ændringer gemt'; + + @override + String get dataRecordSavedSubtitle => + 'Dine oplysninger er blevet opdateret med succes.'; + + @override + String get dataRecordSavedButton => 'Returner til profil'; + + @override + String get dataRecordUpdateError => 'Kunne ikke opdatere profildata'; + + @override + String get dataRecordDiscardTitle => 'Forkaste ændringer?'; + + @override + String get dataRecordDiscardSubtitle => + 'Du har foretaget nogle ændringer i din profil. Gem dem, før du går, eller kassér dem.'; + + @override + String get dataRecordDiscardCancel => 'Fortsæt med at redigere'; + + @override + String get dataRecordDiscardConfirm => 'Forkast'; + + @override + String get dataRecordEditTooltip => 'Rediger'; + + @override + String get dataRecordAddTag => 'Tilføj post'; + + @override + String get consultationsSearch => 'Søg'; + + @override + String get consultationsSearchEmpty => 'Ingen resultater fundet'; + + @override + String get documentsMenuDownload => 'Download'; + + @override + String get documentsMenuShare => 'Del'; + + @override + String get documentsMenuDelete => 'Slet'; + + @override + String get documentsEmptyList => 'Ingen dokumenter fundet'; + + @override + String get documentsDeleteTitle => 'Slette dette dokument?'; + + @override + String get documentsDeleteSubtitle => 'Denne fil vil blive permanent fjernet'; + + @override + String get documentsDeleteCancel => 'Annuller'; + + @override + String get documentsDeleteButton => 'Slet'; + + @override + String get documentsMoreActionsTooltip => 'Flere handlinger'; + + @override + String get profilesSearch => 'Søg'; + + @override + String get profilesEmptyList => 'Ingen profiler fundet'; + + @override + String get profilesViewMore => 'Se mere'; + + @override + String get profilesMore => 'Mere'; + + @override + String get profilesAnnouncementTitle1 => 'Doctorina husker nu dit helbred'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Dine konsultationer opbygger og opdaterer nu automatisk din Sundhedsoptegnelse.'; + + @override + String get profilesAnnouncementTitle2 => + 'Din sundhedsoptegnelse, dine regler'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Se, rediger eller tilføj symptomer, medicin, historie eller dokumenter når som helst.'; + + @override + String get profilesAnnouncementTitle3 => 'Pas på hele din familie'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Opret en sundhedsoptegnelse for dine kære, dine børn, forældre eller partner.'; + + @override + String get profilesAnnouncementTitle4 => + 'Klar til at gemme din sundhedsjournal?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Efter din konsultation, tryk på \"Tilføj profil\" for at gemme det.'; + + @override + String get profilesNextButton => 'Næste'; + + @override + String get profilesStartButton => 'Start en konsultation'; + + @override + String get profilesLaterButton => 'Måske senere'; + + @override + String get profileSuccessCloseButton => 'Luk'; + + @override + String get pdfHeaderTitle => 'Sundhedsoptegnelse'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Sundhedsoptegnelse — $name'; + } + + @override + String get expandableFieldMore => '...mere'; + + @override + String get expandableFieldLess => '...mindre'; + + @override + String get profiles_button_addnew => 'Tilføj ny profil'; + + @override + String get profiles_label_addnew => + 'Opret en profil for at gemme detaljerne om denne konsultation'; + + @override + String get profiles_label_health_records_hint => + 'Du kan vurdere det når som helst i dine sundhedsoplysninger'; + + @override + String get profiles_label_keep_talking_hint => + 'Hvis du har flere spørgsmål om dette eller noget relateret, er du velkommen til at blive ved med at tale med mig. Jeg er her for at hjælpe'; + + @override + String get profile_section_basic_title => 'Generelle Oplysninger'; + + @override + String get profile_section_basic_name_label => 'Navn'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Fornavn'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Efternavn'; + + @override + String get profile_section_basic_last_name_placeholder => 'Jensen'; + + @override + String get profile_section_basic_sex_label => 'Køn'; + + @override + String get profile_section_basic_sex_placeholder => 'Vælg venligst'; + + @override + String get profile_section_basic_sex_options_male => 'Mand'; + + @override + String get profile_section_basic_sex_options_female => 'Kvinde'; + + @override + String get profile_section_basic_sex_options_other => 'Andet'; + + @override + String get profile_section_basic_date_of_birth_label => 'Fødselsdato'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Alder'; + + @override + String get profile_section_basic_age_str_placeholder => 'f.eks. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Telefonnummer'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-mail'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Placering'; + + @override + String get profile_section_basic_location_placeholder => 'f.eks. By, Land'; + + @override + String get profile_section_body_diet_title => 'Krop & Kost'; + + @override + String get profile_section_body_diet_height_str_label => 'Højde'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'f.eks. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Vægt'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'f.eks. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menstruationscyklus'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'f.eks. Regelmæssig, Uregelmæssig'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Kostbegrænsninger'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Vælg'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Lad os vide, hvad du spiser, og hvilke begrænsninger du har'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Ingen'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetar'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Veganer'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Glutenfri'; + + @override + String get profile_section_body_diet_bmi_label => 'Kropsmasseindeks (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'f.eks. 24,5'; + + @override + String get profile_section_health_profile_title => 'Sundhedsprofil'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Kroniske sygdomme'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'f.eks. Type 2 Diabetes'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Angiv venligst alle kroniske sygdomme og inkluder, hvornår de blev diagnosticeret, og eventuelle komplikationer.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Tidligere sygdomme'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'f.eks. hyppig forkølelse'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Angiv venligst alvorlige sygdomme, du har haft tidligere, selvom du er blevet rask'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Tidligere operationer'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'f.eks. Appendektomi'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Angiv venligst alle operationer og inkluder året samt om der var nogen komplikationer.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Lejlighedsvis brugt medicin'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'f.eks. Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Angiv venligst de medicin, du tager fra tid til anden (for eksempel: smertestillende, allergimedicin), inklusive dosis og årsag til brug.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Regelmæssige Lægemidler'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'f.eks. Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Angiv venligst alle de medicin, du tager regelmæssigt, herunder navn, dosis, hvor mange gange om dagen du tager det, og hvilken tilstand det er til.'; + + @override + String get profile_section_health_profile_allergies_label => 'Allergier'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'f.eks. penicillin – forårsager udslæt'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Angiv venligst alle allergier (medicin, mad, miljø) og beskriv, hvilken reaktion du har (for eksempel: udslæt, hævelse, vejrtrækningsproblemer).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Særlige Tilstande'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'f.eks. Graviditet, Handicap'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Hvis du har nogen vigtige medicinske tilstande, som læger altid bør vide om (for eksempel: graviditet, implanterede enheder, handicap, antikoagulationsbehandling), bedes du beskrive dem. Hvis ikke, kan du lade dette stå tomt.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Familiehistorie'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'f.eks. hjertesygdom, kræft'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Beskriv venligst vigtige sygdomme i din familie (for eksempel: diabetes, hypertension, hjertesygdom, kræft, genetiske sygdomme) og angiv, hvilket familiemedlem der havde tilstanden.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Sociale & Livsstilsfaktorer'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'f.eks. rygning, alkoholforbrug'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Beskriv venligst livsstilsfaktorer, der kan påvirke dit helbred, såsom rygning, alkohol, fysisk aktivitet, kost, søvn og beskæftigelse.'; + + @override + String get profile_section_health_profile_devices_label => 'Medicinsk udstyr'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'f.eks. Pacemaker, Høreapparat, Insulinpumpe'; + + @override + String get profile_section_health_profile_devices_hint => + 'Angiv venligst eventuelle medicinske enheder, du bruger eller har implanteret, såsom pacemakere, insulinpumper, høreapparater, proteser eller andre hjælpemidler eller overvågningsenheder. Inkluder relevante detaljer, hvis det er relevant.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Altædende'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Fastfood'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetar'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Laktosefri'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Saltfattig kost'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Sukkerfattig diæt'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Hjertevenlig kost'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Nyrediæt'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Andet'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_de.dart b/example/lib/src/generated/profiles/profiles_localization_de.dart new file mode 100644 index 0000000..211e244 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_de.dart @@ -0,0 +1,585 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for German (`de`). +class ProfilesLocalizationDe extends ProfilesLocalization { + ProfilesLocalizationDe([String locale = 'de']) : super(locale); + + @override + String get chatDrawerTitle => 'Gesundheitsakten'; + + @override + String get chatDrawerBadgeNew => 'NEU'; + + @override + String get bannerTitle => 'Erstellen Sie Ihre Gesundheitsakte'; + + @override + String get bannerSubtitle => + 'Fügen Sie am Ende Ihrer Beratung Ihr Profil hinzu.'; + + @override + String get bannerMoreProfilesTitle => 'Weitere Profile hinzufügen'; + + @override + String get bannerMoreProfilesSubtitle => + 'Starten Sie eine Beratung für jemand anderen, um dessen Profil zu erstellen.'; + + @override + String get bannerSignUp => + 'Melden Sie sich an, um Ihre Gesundheitsakte zu erstellen'; + + @override + String get errorRetryButton => 'Erneut versuchen'; + + @override + String get dashboardDeleteError => 'Profil konnte nicht gelöscht werden'; + + @override + String get dashboardSummaryLoadError => + 'Fehler beim Laden der Profilübersicht'; + + @override + String get dashboardMenuViewFullRecord => 'Vollständigen Datensatz anzeigen'; + + @override + String get dashboardMenuShare => 'Teilen'; + + @override + String get dashboardMenuDelete => 'Löschen'; + + @override + String get dashboardMetricAgeLabel => 'Alter'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value Jahre', + one: '$value Jahr', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Gewicht'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Höhe'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Allergien'; + + @override + String get dashboardInfoChronicTitle => 'Chronisch'; + + @override + String get dashboardInfoMedicationTitle => 'Medikament'; + + @override + String get dashboardInfoDevicesTitle => 'Geräte'; + + @override + String get dashboardNavigationConsultations => 'Konsultationen'; + + @override + String get dashboardNavigationDocuments => 'Dokumente'; + + @override + String get dashboardDeleteRecordTitle => 'Gesundheitsakte löschen?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Dies wird Ihre Gesundheitsdaten dauerhaft entfernen und kann nicht rückgängig gemacht werden. Sie verlieren den Kontext, den wir verwenden, um Sie zu leiten.'; + + @override + String get dashboardDeleteRecordCancel => 'Abbrechen'; + + @override + String get dashboardDeleteRecordConfirm => 'Löschen'; + + @override + String get dashboardDeleteRecordLoading => + 'Löschen Ihres Gesundheitsdatensatzes...'; + + @override + String get dashboardDeleteRecordError => + 'Profil konnte nicht gelöscht werden'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Gesundheitsakte gelöscht'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Sie können jederzeit einen neuen erstellen, indem Sie mit dem Assistenten chatten.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Zurück zum Chat'; + + @override + String get dataEditingScreenTitle => 'Bearbeiten'; + + @override + String get dataFailedToLoadError => + 'Profildaten konnten nicht geladen werden'; + + @override + String get dataRecordSavedTitle => 'Änderungen gespeichert'; + + @override + String get dataRecordSavedSubtitle => + 'Ihre Informationen wurden erfolgreich aktualisiert.'; + + @override + String get dataRecordSavedButton => 'Zurück zum Profil'; + + @override + String get dataRecordUpdateError => + 'Fehler beim Aktualisieren der Profildaten'; + + @override + String get dataRecordDiscardTitle => 'Änderungen verwerfen?'; + + @override + String get dataRecordDiscardSubtitle => + 'Sie haben einige Änderungen an Ihrem Profil vorgenommen. Speichern Sie sie, bevor Sie gehen, oder verwerfen Sie sie.'; + + @override + String get dataRecordDiscardCancel => 'Weiter bearbeiten'; + + @override + String get dataRecordDiscardConfirm => 'Verwerfen'; + + @override + String get dataRecordEditTooltip => 'Bearbeiten'; + + @override + String get dataRecordAddTag => 'Aufzeichnung hinzufügen'; + + @override + String get consultationsSearch => 'Suche'; + + @override + String get consultationsSearchEmpty => 'Keine Ergebnisse gefunden'; + + @override + String get documentsMenuDownload => 'Herunterladen'; + + @override + String get documentsMenuShare => 'Teilen'; + + @override + String get documentsMenuDelete => 'Löschen'; + + @override + String get documentsEmptyList => 'Keine Dokumente gefunden'; + + @override + String get documentsDeleteTitle => 'Dieses Dokument löschen?'; + + @override + String get documentsDeleteSubtitle => 'Diese Datei wird dauerhaft entfernt'; + + @override + String get documentsDeleteCancel => 'Abbrechen'; + + @override + String get documentsDeleteButton => 'Löschen'; + + @override + String get documentsMoreActionsTooltip => 'Weitere Aktionen'; + + @override + String get profilesSearch => 'Suche'; + + @override + String get profilesEmptyList => 'Keine Profile gefunden'; + + @override + String get profilesViewMore => 'Mehr anzeigen'; + + @override + String get profilesMore => 'Mehr'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina erinnert sich jetzt an Ihre Gesundheit'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Ihre Konsultationen erstellen und aktualisieren jetzt automatisch Ihre Gesundheitsakte.'; + + @override + String get profilesAnnouncementTitle2 => + 'Ihr Gesundheitsbericht, Ihre Regeln'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Symptome, Medikamente, Vorgeschichte oder Dokumente jederzeit anzeigen, bearbeiten oder hinzufügen.'; + + @override + String get profilesAnnouncementTitle3 => + 'Kümmern Sie sich um Ihre ganze Familie'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Erstellen Sie eine Gesundheitsakte für Ihre Angehörigen, Ihre Kinder, Eltern oder Partner.'; + + @override + String get profilesAnnouncementTitle4 => + 'Bereit, Ihre Gesundheitsakte zu speichern?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Tippen Sie nach Ihrer Beratung auf „Profil hinzufügen“, um es zu speichern.'; + + @override + String get profilesNextButton => 'Weiter'; + + @override + String get profilesStartButton => 'Eine Beratung starten'; + + @override + String get profilesLaterButton => 'Vielleicht später'; + + @override + String get profileSuccessCloseButton => 'Schließen'; + + @override + String get pdfHeaderTitle => 'Gesundheitsakte'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Gesundheitsakte — $name'; + } + + @override + String get expandableFieldMore => '...mehr'; + + @override + String get expandableFieldLess => '...weniger'; + + @override + String get profiles_button_addnew => 'Neues Profil hinzufügen'; + + @override + String get profiles_label_addnew => + 'Erstellen Sie ein Profil, um die Details dieser Konsultation zu speichern.'; + + @override + String get profiles_label_health_records_hint => + 'Sie können es jederzeit in Ihren Gesundheitsakten einsehen'; + + @override + String get profiles_label_keep_talking_hint => + 'Wenn Sie weitere Fragen dazu oder zu etwas anderem haben, können Sie gerne weiter mit mir sprechen. Ich bin hier, um zu helfen'; + + @override + String get profile_section_basic_title => 'Allgemeine Informationen'; + + @override + String get profile_section_basic_name_label => 'Name'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Vorname'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Nachname'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Geschlecht'; + + @override + String get profile_section_basic_sex_placeholder => 'Bitte auswählen'; + + @override + String get profile_section_basic_sex_options_male => 'Männlich'; + + @override + String get profile_section_basic_sex_options_female => 'Weiblich'; + + @override + String get profile_section_basic_sex_options_other => 'Andere'; + + @override + String get profile_section_basic_date_of_birth_label => 'Geburtsdatum'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'JJJJ-MM-TT'; + + @override + String get profile_section_basic_age_str_label => 'Alter'; + + @override + String get profile_section_basic_age_str_placeholder => 'z.B. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Telefonnummer'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-Mail'; + + @override + String get profile_section_basic_email_placeholder => 'beispiel@example.com'; + + @override + String get profile_section_basic_location_label => 'Standort'; + + @override + String get profile_section_basic_location_placeholder => 'z.B. Stadt, Land'; + + @override + String get profile_section_body_diet_title => 'Körper & Ernährung'; + + @override + String get profile_section_body_diet_height_str_label => 'Höhe'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'z.B. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Gewicht'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'z.B. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menstruationszyklus'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'z.B. Regelmäßig, Unregelmäßig'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Diätetische Einschränkungen'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Bitte auswählen'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Lassen Sie uns wissen, was Sie essen und welche Einschränkungen Sie haben'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Keine'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetarisch'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Glutenfrei'; + + @override + String get profile_section_body_diet_bmi_label => 'Body-Mass-Index (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'z.B. 24,5'; + + @override + String get profile_section_health_profile_title => 'Gesundheitsprofil'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Chronische Krankheiten'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'z.B. Diabetes Typ 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Bitte listen Sie alle chronischen Krankheiten auf und geben Sie an, wann sie diagnostiziert wurden und ob es Komplikationen gab.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Frühere Erkrankungen'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'z.B. Häufige Erkältungen'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Bitte listen Sie ernsthafte Krankheiten auf, die Sie in der Vergangenheit hatten, auch wenn Sie sich erholt haben.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Chirurgische Vorgeschichte'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'z.B. Appendektomie'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Bitte listen Sie alle Operationen auf und geben Sie das Jahr sowie eventuelle Komplikationen an.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Gelegentlich verwendete Medikamente'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'z.B. Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Bitte listen Sie Medikamente auf, die Sie von Zeit zu Zeit einnehmen (zum Beispiel: Schmerzmittel, Allergiemedikamente), einschließlich der Dosis und des Verwendungszwecks.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Regelmäßige Medikamente'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'z.B. Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Bitte listen Sie alle Medikamente auf, die Sie regelmäßig einnehmen, einschließlich des Namens, der Dosis, wie oft Sie es täglich einnehmen und wofür es bestimmt ist.'; + + @override + String get profile_section_health_profile_allergies_label => 'Allergien'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'z.B. Penicillin – verursacht Ausschlag'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Bitte listen Sie alle Allergien (Medikamente, Lebensmittel, Umwelt) auf und beschreiben Sie, welche Reaktion Sie haben (zum Beispiel: Ausschlag, Schwellung, Atemprobleme).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Besondere Bedingungen'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'z.B. Schwangerschaft, Behinderung'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Wenn Sie wichtige medizinische Bedingungen haben, die Ärzte immer wissen sollten (zum Beispiel: Schwangerschaft, implantierte Geräte, Behinderungen, Antikoagulationstherapie), beschreiben Sie diese bitte. Wenn keine vorhanden sind, können Sie dies leer lassen.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Familiengeschichte'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'z.B. Herzkrankheit, Krebs'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Bitte beschreiben Sie wichtige Krankheiten in Ihrer Familie (zum Beispiel: Diabetes, Bluthochdruck, Herzkrankheiten, Krebs, genetische Erkrankungen) und geben Sie an, welches Familienmitglied die Erkrankung hatte.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Soziale und Lebensstilfaktoren'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'z. B. Rauchen, Alkoholkonsum'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Bitte beschreiben Sie Lebensstilfaktoren, die Ihre Gesundheit beeinflussen können, wie Rauchen, Alkohol, körperliche Aktivität, Ernährung, Schlaf und Beruf.'; + + @override + String get profile_section_health_profile_devices_label => + 'Medizinische Geräte'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'z.B. Herzschrittmacher, Hörgerät, Insulinpumpe'; + + @override + String get profile_section_health_profile_devices_hint => + 'Bitte listen Sie alle medizinischen Geräte auf, die Sie verwenden oder implantiert haben, wie z.B. Herzschrittmacher, Insulinpumpen, Hörgeräte, Prothesen oder andere Hilfs- oder Überwachungsgeräte. Fügen Sie relevante Details hinzu, falls zutreffend.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Omnivor'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Fast Food'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetarier'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Laktosefrei'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Natriumarme Ernährung'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Zuckerarme Ernährung'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Kardiale Diät'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Nierendiät'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Andere'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_el.dart b/example/lib/src/generated/profiles/profiles_localization_el.dart new file mode 100644 index 0000000..55a7433 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_el.dart @@ -0,0 +1,583 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Modern Greek (`el`). +class ProfilesLocalizationEl extends ProfilesLocalization { + ProfilesLocalizationEl([String locale = 'el']) : super(locale); + + @override + String get chatDrawerTitle => 'Ιατρικά Αρχεία'; + + @override + String get chatDrawerBadgeNew => 'ΝΕΟ'; + + @override + String get bannerTitle => 'Δημιουργήστε το Ιατρικό σας Αρχείο'; + + @override + String get bannerSubtitle => + 'Στο τέλος της συμβουλής σας, προσθέστε το προφίλ σας.'; + + @override + String get bannerMoreProfilesTitle => 'Προσθέστε περισσότερα προφίλ'; + + @override + String get bannerMoreProfilesSubtitle => + 'Ξεκινήστε μια συμβουλή για κάποιον άλλο για να δημιουργήσει το προφίλ του.'; + + @override + String get bannerSignUp => + 'Εγγραφείτε για να δημιουργήσετε το Ιατρικό σας Αρχείο'; + + @override + String get errorRetryButton => 'Δοκιμάστε ξανά'; + + @override + String get dashboardDeleteError => 'Αποτυχία διαγραφής προφίλ'; + + @override + String get dashboardSummaryLoadError => 'Αποτυχία φόρτωσης περιλήψεως προφίλ'; + + @override + String get dashboardMenuViewFullRecord => 'Δείτε το Πλήρες Ρεκόρ'; + + @override + String get dashboardMenuShare => 'Μοιραστείτε'; + + @override + String get dashboardMenuDelete => 'Διαγραφή'; + + @override + String get dashboardMetricAgeLabel => 'Ηλικία'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value χρόνια', + one: '$value χρόνος', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Βάρος'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value κιλά'; + } + + @override + String get dashboardMetricHeightLabel => 'Ύψος'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value εκ. '; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Αλλεργίες'; + + @override + String get dashboardInfoChronicTitle => 'Χρόνια'; + + @override + String get dashboardInfoMedicationTitle => 'Φάρμακο'; + + @override + String get dashboardInfoDevicesTitle => 'Συσκευές'; + + @override + String get dashboardNavigationConsultations => 'Συμβουλές'; + + @override + String get dashboardNavigationDocuments => 'Έγγραφα'; + + @override + String get dashboardDeleteRecordTitle => 'Διαγραφή Ιατρικού Ρεκόρ;'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Αυτό θα αφαιρέσει μόνιμα τα δεδομένα υγείας σας και δεν μπορεί να αναιρεθεί. Θα χάσετε το πλαίσιο που χρησιμοποιούμε για να σας καθοδηγήσουμε.'; + + @override + String get dashboardDeleteRecordCancel => 'Ακύρωση'; + + @override + String get dashboardDeleteRecordConfirm => 'Διαγραφή'; + + @override + String get dashboardDeleteRecordLoading => + 'Διαγραφή του ιατρικού σας αρχείου...'; + + @override + String get dashboardDeleteRecordError => 'Αποτυχία διαγραφής προφίλ'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'Η ιατρική εγγραφή διαγράφηκε'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Μπορείτε να δημιουργήσετε ένα νέο οποιαδήποτε στιγμή συνομιλώντας με τον βοηθό.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Επιστροφή στη συνομιλία'; + + @override + String get dataEditingScreenTitle => 'Επεξεργασία'; + + @override + String get dataFailedToLoadError => 'Αποτυχία φόρτωσης δεδομένων προφίλ'; + + @override + String get dataRecordSavedTitle => 'Οι αλλαγές αποθηκεύτηκαν'; + + @override + String get dataRecordSavedSubtitle => + 'Οι πληροφορίες σας έχουν ενημερωθεί με επιτυχία.'; + + @override + String get dataRecordSavedButton => 'Επιστροφή στο προφίλ'; + + @override + String get dataRecordUpdateError => 'Αποτυχία ενημέρωσης δεδομένων προφίλ'; + + @override + String get dataRecordDiscardTitle => 'Θέλετε να απορρίψετε τις αλλαγές;'; + + @override + String get dataRecordDiscardSubtitle => + 'Έχετε κάνει κάποιες αλλαγές στο προφίλ σας. Αποθηκεύστε τις πριν φύγετε ή απορρίψτε τις.'; + + @override + String get dataRecordDiscardCancel => 'Συνέχισε την επεξεργασία'; + + @override + String get dataRecordDiscardConfirm => 'Απόρριψη'; + + @override + String get dataRecordEditTooltip => 'Επεξεργασία'; + + @override + String get dataRecordAddTag => 'Προσθήκη καταγραφής'; + + @override + String get consultationsSearch => 'Αναζήτηση'; + + @override + String get consultationsSearchEmpty => 'Δεν βρέθηκαν αποτελέσματα'; + + @override + String get documentsMenuDownload => 'Λήψη'; + + @override + String get documentsMenuShare => 'Μοιραστείτε'; + + @override + String get documentsMenuDelete => 'Διαγραφή'; + + @override + String get documentsEmptyList => 'Δεν βρέθηκαν έγγραφα'; + + @override + String get documentsDeleteTitle => 'Διαγράψτε αυτό το έγγραφο;'; + + @override + String get documentsDeleteSubtitle => 'Αυτό το αρχείο θα αφαιρεθεί μόνιμα'; + + @override + String get documentsDeleteCancel => 'Ακύρωση'; + + @override + String get documentsDeleteButton => 'Διαγραφή'; + + @override + String get documentsMoreActionsTooltip => 'Περισσότερες ενέργειες'; + + @override + String get profilesSearch => 'Αναζήτηση'; + + @override + String get profilesEmptyList => 'Δεν βρέθηκαν προφίλ'; + + @override + String get profilesViewMore => 'Δείτε περισσότερα'; + + @override + String get profilesMore => 'Περισσότερα'; + + @override + String get profilesAnnouncementTitle1 => + 'Η Doctorina τώρα θυμάται την υγεία σας'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Οι συμβουλές σας τώρα δημιουργούν και ενημερώνουν αυτόματα το Ιατρικό σας Φάκελο.'; + + @override + String get profilesAnnouncementTitle2 => + 'Το Ιατρικό σας Αρχείο, οι κανόνες σας'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Δείτε, επεξεργαστείτε ή προσθέστε συμπτώματα, φάρμακα, ιστορικό ή έγγραφα οποιαδήποτε στιγμή.'; + + @override + String get profilesAnnouncementTitle3 => + 'Φροντίστε για ολόκληρη την οικογένειά σας'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Δημιουργήστε ένα Ιατρικό Φάκελο για τους αγαπημένους σας, τα παιδιά σας, τους γονείς σας ή τον σύντροφό σας.'; + + @override + String get profilesAnnouncementTitle4 => + 'Έτοιμοι να αποθηκεύσετε το Ιατρικό σας Αρχείο;'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Μετά τη συμβουλή σας, πατήστε «Προσθήκη προφίλ» για να το αποθηκεύσετε.'; + + @override + String get profilesNextButton => 'Επόμενο'; + + @override + String get profilesStartButton => 'Ξεκινήστε μια συμβουλή'; + + @override + String get profilesLaterButton => 'Ίσως αργότερα'; + + @override + String get profileSuccessCloseButton => 'Κλείσιμο'; + + @override + String get pdfHeaderTitle => 'Ιατρικό Ιστορικό'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Ιατρικό αρχείο — $name'; + } + + @override + String get expandableFieldMore => '...περισσότερα'; + + @override + String get expandableFieldLess => '...λιγότερο'; + + @override + String get profiles_button_addnew => 'Προσθήκη νέου προφίλ'; + + @override + String get profiles_label_addnew => + 'Δημιουργήστε ένα προφίλ για να αποθηκεύσετε τις λεπτομέρειες αυτής της συμβουλής.'; + + @override + String get profiles_label_health_records_hint => + 'Μπορείτε να το αξιολογήσετε οποιαδήποτε στιγμή στα Αρχεία Υγείας σας'; + + @override + String get profiles_label_keep_talking_hint => + 'Αν έχετε περισσότερες ερωτήσεις για αυτό ή οτιδήποτε σχετικό, μην διστάσετε να συνεχίσετε να μιλάτε μαζί μου. Είμαι εδώ για να βοηθήσω'; + + @override + String get profile_section_basic_title => 'Γενικές πληροφορίες'; + + @override + String get profile_section_basic_name_label => 'Όνομα'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Όνομα'; + + @override + String get profile_section_basic_first_name_placeholder => 'Γιάννης'; + + @override + String get profile_section_basic_last_name_label => 'Επώνυμο'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Φύλο'; + + @override + String get profile_section_basic_sex_placeholder => 'Επιλέξτε'; + + @override + String get profile_section_basic_sex_options_male => 'Άνδρας'; + + @override + String get profile_section_basic_sex_options_female => 'Γυναίκα'; + + @override + String get profile_section_basic_sex_options_other => 'Άλλο'; + + @override + String get profile_section_basic_date_of_birth_label => 'Ημερομηνία γέννησης'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Ηλικία'; + + @override + String get profile_section_basic_age_str_placeholder => 'π.χ. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Αριθμός τηλεφώνου'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Ηλεκτρονικό ταχυδρομείο'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Τοποθεσία'; + + @override + String get profile_section_basic_location_placeholder => 'π.χ. Πόλη, Χώρα'; + + @override + String get profile_section_body_diet_title => 'Σώμα & Διατροφή'; + + @override + String get profile_section_body_diet_height_str_label => 'Ύψος'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'π.χ. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Βάρος'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'π.χ. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Κύκλος περιόδου'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'π.χ. Τακτική, Ακανόνιστη'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Διατροφικοί Περιορισμοί'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Παρακαλώ επιλέξτε'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Ενημερώστε μας τι τρώτε και τυχόν περιορισμούς που έχετε'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Κανένα'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Χορτοφάγος'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Βίγκαν'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Χωρίς γλουτένη'; + + @override + String get profile_section_body_diet_bmi_label => + 'Δείκτης Μάζας Σώματος (ΔΜΣ)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'π.χ. 24,5'; + + @override + String get profile_section_health_profile_title => 'Προφίλ Υγείας'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Χρόνιες Παθήσεις'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'π.χ. Διαβήτης Τύπου 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Παρακαλώ καταγράψτε όλες τις χρόνιες ασθένειες και συμπεριλάβετε πότε διαγνώστηκαν και τυχόν επιπλοκές.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Προηγούμενα νοσήματα'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'π.χ. Συχνό κοινό κρυολόγημα'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Παρακαλώ καταγράψτε σοβαρές ασθένειες που είχατε στο παρελθόν, ακόμη και αν αναρρώσατε.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Χειρουργικό ιστορικό'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'π.χ. Σκωληκοειδεκτομή'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Παρακαλώ καταγράψτε όλες τις χειρουργικές επεμβάσεις και συμπεριλάβετε το έτος και αν υπήρξαν επιπλοκές.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Φάρμακα που χρησιμοποιούνται περιστασιακά'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'π.χ. Ιβουπροφαίνη'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Παρακαλώ καταγράψτε τα φάρμακα που παίρνετε από καιρό σε καιρό (για παράδειγμα: παυσίπονα, φάρμακα αλλεργίας), συμπεριλαμβανομένης της δόσης και του λόγου χρήσης.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Τακτικά φάρμακα'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'π.χ. Μετφορμίνη'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Παρακαλώ καταγράψτε όλα τα φάρμακα που παίρνετε τακτικά, συμπεριλαμβανομένου του ονόματος, της δόσης, πόσες φορές την ημέρα το παίρνετε και για ποια κατάσταση είναι.'; + + @override + String get profile_section_health_profile_allergies_label => 'Αλλεργίες'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'π.χ. Πενικιλίνη – προκαλεί εξάνθημα'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Παρακαλώ καταγράψτε όλες τις αλλεργίες (φάρμακα, τρόφιμα, περιβάλλον) και περιγράψτε ποια αντίδραση έχετε (για παράδειγμα: εξάνθημα, πρήξιμο, προβλήματα αναπνοής).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Ειδικές παθήσεις'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'π.χ. Εγκυμοσύνη, Αναπηρία'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Εάν έχετε οποιεσδήποτε σημαντικές ιατρικές καταστάσεις που οι γιατροί θα πρέπει πάντα να γνωρίζουν (για παράδειγμα: εγκυμοσύνη, εμφυτευμένες συσκευές, αναπηρίες, θεραπεία αντιπηκτικών), παρακαλώ περιγράψτε τις. Αν δεν έχετε, μπορείτε να το αφήσετε κενό.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Οικογενειακό Ιστορικό'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'π.χ. Καρδιακή νόσος, Καρκίνος'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Παρακαλώ περιγράψτε σημαντικές ασθένειες στην οικογένειά σας (για παράδειγμα: διαβήτης, υπέρταση, καρδιοπάθεια, καρκίνος, γενετικές ασθένειες) και προσδιορίστε ποιο μέλος της οικογένειας είχε την κατάσταση.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Κοινωνικοί παράγοντες και παράγοντες τρόπου ζωής'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'π.χ. Κάπνισμα, Κατανάλωση αλκοόλ'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Παρακαλώ περιγράψτε παράγοντες τρόπου ζωής που μπορούν να επηρεάσουν την υγεία σας, όπως το κάπνισμα, το αλκοόλ, τη σωματική δραστηριότητα, τη διατροφή, τον ύπνο και το επάγγελμα.'; + + @override + String get profile_section_health_profile_devices_label => + 'Ιατρικές Συσκευές'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'π.χ. Βηματοδότης, Ακουστικό βαρηκοΐας, Αντλία ινσουλίνης'; + + @override + String get profile_section_health_profile_devices_hint => + 'Παρακαλώ αναφέρετε οποιαδήποτε ιατρική συσκευή χρησιμοποιείτε ή έχετε εμφυτευμένη, όπως βηματοδότες, αντλίες ινσουλίνης, ακουστικά, προσθετικά ή άλλες βοηθητικές ή παρακολουθητικές συσκευές. Συμπεριλάβετε σχετικές λεπτομέρειες αν υπάρχουν.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Παμφάγος'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Γρήγορο Φαγητό'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Ψαρο-χορτοφάγος'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Χωρίς λακτόζη'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Δίαιτα με χαμηλή πρόσληψη νατρίου'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Δίαιτα χαμηλής περιεκτικότητας σε ζάχαρη'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Δίαιτα για την καρδιά'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Νεφρική δίαιτα'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Άλλο'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_en.dart b/example/lib/src/generated/profiles/profiles_localization_en.dart new file mode 100644 index 0000000..a88d6cd --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_en.dart @@ -0,0 +1,575 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for English (`en`). +class ProfilesLocalizationEn extends ProfilesLocalization { + ProfilesLocalizationEn([String locale = 'en']) : super(locale); + + @override + String get chatDrawerTitle => 'Health Records'; + + @override + String get chatDrawerBadgeNew => 'NEW'; + + @override + String get bannerTitle => 'Create your Health Record'; + + @override + String get bannerSubtitle => + 'At the end of your consultation, add your profile.'; + + @override + String get bannerMoreProfilesTitle => 'Add more profiles'; + + @override + String get bannerMoreProfilesSubtitle => + 'Start a consultation for someone else to create their profile.'; + + @override + String get bannerSignUp => 'Sign up to create your Health Record'; + + @override + String get errorRetryButton => 'Retry'; + + @override + String get dashboardDeleteError => 'Failed to delete profile'; + + @override + String get dashboardSummaryLoadError => 'Failed to load profile summary'; + + @override + String get dashboardMenuViewFullRecord => 'View Full Record'; + + @override + String get dashboardMenuShare => 'Share'; + + @override + String get dashboardMenuDelete => 'Delete'; + + @override + String get dashboardMetricAgeLabel => 'Age'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value years', + one: '$value year', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Weight'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Height'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'Allergies'; + + @override + String get dashboardInfoChronicTitle => 'Chronic'; + + @override + String get dashboardInfoMedicationTitle => 'Medication'; + + @override + String get dashboardInfoDevicesTitle => 'Devices'; + + @override + String get dashboardNavigationConsultations => 'Consultations'; + + @override + String get dashboardNavigationDocuments => 'Documents'; + + @override + String get dashboardDeleteRecordTitle => 'Delete Health Record?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'This will permanently remove your health data and can’t be undone. You’ll lose the context we use to guide you.'; + + @override + String get dashboardDeleteRecordCancel => 'Cancel'; + + @override + String get dashboardDeleteRecordConfirm => 'Delete'; + + @override + String get dashboardDeleteRecordLoading => 'Deleting your health record...'; + + @override + String get dashboardDeleteRecordError => 'Failed to delete profile'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Health record deleted'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'You can create a new one anytime by chatting with the assistant.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Return to Chat'; + + @override + String get dataEditingScreenTitle => 'Editing'; + + @override + String get dataFailedToLoadError => 'Failed to load profile data'; + + @override + String get dataRecordSavedTitle => 'Changes saved'; + + @override + String get dataRecordSavedSubtitle => + 'Your information has been successfully updated.'; + + @override + String get dataRecordSavedButton => 'Return to profile'; + + @override + String get dataRecordUpdateError => 'Failed to update profile data'; + + @override + String get dataRecordDiscardTitle => 'Discard changes?'; + + @override + String get dataRecordDiscardSubtitle => + 'You made some changes to your profile.
Save them before you go, or discard them.'; + + @override + String get dataRecordDiscardCancel => 'Keep editing'; + + @override + String get dataRecordDiscardConfirm => 'Discard'; + + @override + String get dataRecordEditTooltip => 'Edit'; + + @override + String get dataRecordAddTag => 'Add record'; + + @override + String get consultationsSearch => 'Search'; + + @override + String get consultationsSearchEmpty => 'No results found'; + + @override + String get documentsMenuDownload => 'Download'; + + @override + String get documentsMenuShare => 'Share'; + + @override + String get documentsMenuDelete => 'Delete'; + + @override + String get documentsEmptyList => 'No documents found'; + + @override + String get documentsDeleteTitle => 'Delete this document?'; + + @override + String get documentsDeleteSubtitle => 'This file will be permanently removed'; + + @override + String get documentsDeleteCancel => 'Cancel'; + + @override + String get documentsDeleteButton => 'Delete'; + + @override + String get documentsMoreActionsTooltip => 'More actions'; + + @override + String get profilesSearch => 'Search'; + + @override + String get profilesEmptyList => 'No profiles found'; + + @override + String get profilesViewMore => 'View more'; + + @override + String get profilesMore => 'More'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina now remembers your health'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Your consultations now build and update your Health Record automatically.'; + + @override + String get profilesAnnouncementTitle2 => 'Your Health Record, your rules'; + + @override + String get profilesAnnouncementSubtitle2 => + 'View, edit, or add symptoms, medications, history, or documents anytime.'; + + @override + String get profilesAnnouncementTitle3 => 'Care for your whole family'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Create a Health Record for your loved ones, your kids, parents, or partner.'; + + @override + String get profilesAnnouncementTitle4 => 'Ready to save your Health Record?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'After your consultation, tap “Add profile” to save it.'; + + @override + String get profilesNextButton => 'Next'; + + @override + String get profilesStartButton => 'Start a consultation'; + + @override + String get profilesLaterButton => 'Maybe later'; + + @override + String get profileSuccessCloseButton => 'Close'; + + @override + String get pdfHeaderTitle => 'Health Record'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Health Record — $name'; + } + + @override + String get expandableFieldMore => '...more'; + + @override + String get expandableFieldLess => '...less'; + + @override + String get profiles_button_addnew => 'Add new profile'; + + @override + String get profiles_label_addnew => + 'Create a profile to save the details of this consultation.'; + + @override + String get profiles_label_health_records_hint => + 'You can assess it anytime in your Health Records'; + + @override + String get profiles_label_keep_talking_hint => + 'If you have more questions about this or anything related, feel free to keep talking with me. I\'m here to help'; + + @override + String get profile_section_basic_title => 'General Information'; + + @override + String get profile_section_basic_name_label => 'Name'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'First name'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Last name'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Sex'; + + @override + String get profile_section_basic_sex_placeholder => 'Please select'; + + @override + String get profile_section_basic_sex_options_male => 'Male'; + + @override + String get profile_section_basic_sex_options_female => 'Female'; + + @override + String get profile_section_basic_sex_options_other => 'Other'; + + @override + String get profile_section_basic_date_of_birth_label => 'Date of Birth'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Age'; + + @override + String get profile_section_basic_age_str_placeholder => 'e.g. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Phone number'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Email'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Location'; + + @override + String get profile_section_basic_location_placeholder => 'e.g. City, Country'; + + @override + String get profile_section_body_diet_title => 'Body & Diet'; + + @override + String get profile_section_body_diet_height_str_label => 'Height'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'e.g. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Weight'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'e.g. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menstrual Cycle'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'e.g. Regular, Irregular'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Dietary Restrictions'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Please select'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Let us know what you eat and any restrictions you have'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'None'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetarian'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Gluten Free'; + + @override + String get profile_section_body_diet_bmi_label => 'Body Mass Index (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'e.g. 24.5'; + + @override + String get profile_section_health_profile_title => 'Health Profile'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Chronic Illnesses'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'e.g. Diabetes Type 2 '; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Please list all chronic diseases and include when they were diagnosed and any complications.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Past Illnesses'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'e.g. Frequent common cold'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Please list serious illnesses you had in the past, even if you recovered.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Surgical History'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'e.g. Appendectomy'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Please list all surgeries and include the year and whether there were any complications.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Occasionally used Medications'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'e.g. Ibuprofen '; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Please list medications you take from time to time (for example: painkillers, allergy medications), including the dose and reason for use.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Regular Medications'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'e.g. Metformin '; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Please list all medications you take regularly, including the name, dose, how many times per day you take it, and what condition it is for.'; + + @override + String get profile_section_health_profile_allergies_label => 'Allergies'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'e.g. Penicillin – causes rash'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Please list all allergies (medications, food, environmental), and describe what reaction you have (for example: rash, swelling, breathing problems).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Special Conditions'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'e.g. Pregnancy, Disability'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'If you have any important medical conditions that doctors should always know about (for example: pregnancy, implanted devices, disabilities, anticoagulation therapy), please describe them. If none, you can leave this blank.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Family History'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'e.g. Heart Disease, Cancer'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Please describe important diseases in your family (for example: diabetes, hypertension, heart disease, cancer, genetic diseases) and specify which family member had the condition.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Social & Lifestyle Factors'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'e.g. Smoking, Alcohol consumption'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Please describe lifestyle factors that can affect your health, such as smoking, alcohol, physical activity, diet, sleep, and occupation.'; + + @override + String get profile_section_health_profile_devices_label => 'Medical Devices'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'e.g. Pacemaker, Hearing aid, Insulin pump'; + + @override + String get profile_section_health_profile_devices_hint => + 'Please list any medical devices you use or have implanted, such as pacemakers, insulin pumps, hearing aids, prosthetics, or other assistive or monitoring devices. Include relevant details if applicable.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Omnivorous'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Fast Food'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescatarian'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Lactose-Free'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Low-sodium diet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Low-sugar diet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Cardiac diet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Renal diet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Other'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_es.dart b/example/lib/src/generated/profiles/profiles_localization_es.dart new file mode 100644 index 0000000..5b5f567 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_es.dart @@ -0,0 +1,582 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Spanish Castilian (`es`). +class ProfilesLocalizationEs extends ProfilesLocalization { + ProfilesLocalizationEs([String locale = 'es']) : super(locale); + + @override + String get chatDrawerTitle => 'Registros de salud'; + + @override + String get chatDrawerBadgeNew => 'NUEVO'; + + @override + String get bannerTitle => 'Crea tu Registro de Salud'; + + @override + String get bannerSubtitle => 'Al final de su consulta, agregue su perfil'; + + @override + String get bannerMoreProfilesTitle => 'Agregar más perfiles'; + + @override + String get bannerMoreProfilesSubtitle => + 'Inicia una consulta para que otra persona cree su perfil'; + + @override + String get bannerSignUp => 'Regístrate para crear tu Historial Médico'; + + @override + String get errorRetryButton => 'Reintentar'; + + @override + String get dashboardDeleteError => 'No se pudo eliminar el perfil'; + + @override + String get dashboardSummaryLoadError => + 'Error al cargar el resumen del perfil'; + + @override + String get dashboardMenuViewFullRecord => 'Ver registro completo'; + + @override + String get dashboardMenuShare => 'Compartir'; + + @override + String get dashboardMenuDelete => 'Eliminar'; + + @override + String get dashboardMetricAgeLabel => 'Edad'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value años', + one: '$value año', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Peso'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Altura'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'Alergias'; + + @override + String get dashboardInfoChronicTitle => 'Crónico'; + + @override + String get dashboardInfoMedicationTitle => 'Medicamentos'; + + @override + String get dashboardInfoDevicesTitle => 'Dispositivos'; + + @override + String get dashboardNavigationConsultations => 'Consultas'; + + @override + String get dashboardNavigationDocuments => 'Documentos'; + + @override + String get dashboardDeleteRecordTitle => '¿Eliminar el registro de salud?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Esto eliminará permanentemente tus datos de salud y no se puede deshacer. Perderás el contexto que usamos para guiarte.'; + + @override + String get dashboardDeleteRecordCancel => 'Cancelar'; + + @override + String get dashboardDeleteRecordConfirm => 'Eliminar'; + + @override + String get dashboardDeleteRecordLoading => + 'Eliminando su registro de salud...'; + + @override + String get dashboardDeleteRecordError => 'No se pudo eliminar el perfil'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Registro de salud eliminado'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Puedes crear uno nuevo en cualquier momento chateando con el asistente.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Volver al chat'; + + @override + String get dataEditingScreenTitle => 'Editando'; + + @override + String get dataFailedToLoadError => 'No se pudo cargar los datos del perfil'; + + @override + String get dataRecordSavedTitle => 'Cambios guardados'; + + @override + String get dataRecordSavedSubtitle => + 'Su información ha sido actualizada con éxito.'; + + @override + String get dataRecordSavedButton => 'Volver al perfil'; + + @override + String get dataRecordUpdateError => + 'Error al actualizar los datos del perfil'; + + @override + String get dataRecordDiscardTitle => '¿Descartar cambios?'; + + @override + String get dataRecordDiscardSubtitle => + 'Hiciste algunos cambios en tu perfil. Guárdalos antes de irte o descártalos.'; + + @override + String get dataRecordDiscardCancel => 'Seguir editando'; + + @override + String get dataRecordDiscardConfirm => 'Descartar'; + + @override + String get dataRecordEditTooltip => 'Editar'; + + @override + String get dataRecordAddTag => 'Agregar registro'; + + @override + String get consultationsSearch => 'Buscar'; + + @override + String get consultationsSearchEmpty => 'No se encontraron resultados'; + + @override + String get documentsMenuDownload => 'Descargar'; + + @override + String get documentsMenuShare => 'Compartir'; + + @override + String get documentsMenuDelete => 'Eliminar'; + + @override + String get documentsEmptyList => 'No se encontraron documentos'; + + @override + String get documentsDeleteTitle => '¿Eliminar este documento?'; + + @override + String get documentsDeleteSubtitle => + 'Este archivo será eliminado permanentemente'; + + @override + String get documentsDeleteCancel => 'Cancelar'; + + @override + String get documentsDeleteButton => 'Eliminar'; + + @override + String get documentsMoreActionsTooltip => 'Más acciones'; + + @override + String get profilesSearch => 'Buscar'; + + @override + String get profilesEmptyList => 'No se encontraron perfiles'; + + @override + String get profilesViewMore => 'Ver más'; + + @override + String get profilesMore => 'Más'; + + @override + String get profilesAnnouncementTitle1 => 'Doctorina ahora recuerda tu salud'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Tus consultas ahora construyen y actualizan tu Historial Médico automáticamente.'; + + @override + String get profilesAnnouncementTitle2 => 'Tu historial médico, tus reglas'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Ve, edita o añade síntomas, medicamentos, historial o documentos en cualquier momento'; + + @override + String get profilesAnnouncementTitle3 => 'Cuida de toda tu familia'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Crea un registro de salud para tus seres queridos, tus hijos, padres o pareja.'; + + @override + String get profilesAnnouncementTitle4 => + '¿Listo para guardar tu historial médico?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Después de su consulta, toque “Agregar perfil” para guardarlo.'; + + @override + String get profilesNextButton => 'Siguiente'; + + @override + String get profilesStartButton => 'Iniciar una consulta'; + + @override + String get profilesLaterButton => 'Quizás más tarde'; + + @override + String get profileSuccessCloseButton => 'Cerrar'; + + @override + String get pdfHeaderTitle => 'Historial médico'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Historial médico — $name'; + } + + @override + String get expandableFieldMore => '...más'; + + @override + String get expandableFieldLess => '...menos'; + + @override + String get profiles_button_addnew => 'Agregar nuevo perfil'; + + @override + String get profiles_label_addnew => + 'Crear un perfil para guardar los detalles de esta consulta.'; + + @override + String get profiles_label_health_records_hint => + 'Puede consultarlo en cualquier momento en Health Records'; + + @override + String get profiles_label_keep_talking_hint => + 'Si tienes más preguntas sobre esto o cualquier cosa relacionada, no dudes en seguir hablando conmigo. Estoy aquí para ayudarte'; + + @override + String get profile_section_basic_title => 'Información General'; + + @override + String get profile_section_basic_name_label => 'Nombre'; + + @override + String get profile_section_basic_name_placeholder => 'Juan Pérez'; + + @override + String get profile_section_basic_first_name_label => 'Nombre'; + + @override + String get profile_section_basic_first_name_placeholder => 'Juan'; + + @override + String get profile_section_basic_last_name_label => 'Apellido'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Sexo'; + + @override + String get profile_section_basic_sex_placeholder => 'Por favor, seleccione'; + + @override + String get profile_section_basic_sex_options_male => 'Masculino'; + + @override + String get profile_section_basic_sex_options_female => 'Femenino'; + + @override + String get profile_section_basic_sex_options_other => 'Otro'; + + @override + String get profile_section_basic_date_of_birth_label => 'Fecha de nacimiento'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'AAAA-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Edad'; + + @override + String get profile_section_basic_age_str_placeholder => 'p. ej. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Número de teléfono'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Correo electrónico'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Ubicación'; + + @override + String get profile_section_basic_location_placeholder => + 'p. ej. Ciudad, País'; + + @override + String get profile_section_body_diet_title => 'Cuerpo & Dieta'; + + @override + String get profile_section_body_diet_height_str_label => 'Altura'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'p. ej. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Peso'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'p. ej. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Ciclo menstrual'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'p. ej. Regular, Irregular'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Restricciones alimentarias'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Seleccione'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Háganos saber qué come y cualquier restricción que tenga'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Ninguna'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetariano'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegano'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Sin gluten'; + + @override + String get profile_section_body_diet_bmi_label => + 'Índice de masa corporal (IMC)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'p. ej. 24.5'; + + @override + String get profile_section_health_profile_title => 'Perfil de salud'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Enfermedades crónicas'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'por ejemplo, diabetes tipo 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Por favor, enumere todas las enfermedades crónicas e incluya cuándo fueron diagnosticadas y cualquier complicación.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Enfermedades previas'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'por ejemplo, resfriados frecuentes'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Por favor, enumere las enfermedades graves que tuvo en el pasado, incluso si se recuperó'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Antecedentes quirúrgicos'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'p. ej. Apendicectomía'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Por favor, enumere todas las cirugías e incluya el año y si hubo alguna complicación'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Medicamentos de Uso Ocasional'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'por ejemplo, Ibuprofeno'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Por favor, enumere los medicamentos que toma de vez en cuando (por ejemplo: analgésicos, medicamentos para alergias), incluyendo la dosis y la razón de uso'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Medicamentos habituales'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'p. ej., Metformina'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Por favor, enumere todos los medicamentos que toma regularmente, incluyendo el nombre, la dosis, cuántas veces al día los toma y para qué condición son.'; + + @override + String get profile_section_health_profile_allergies_label => 'Alergias'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'por ejemplo, penicilina – causa erupción'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Por favor, enumere todas las alergias (medicamentos, alimentos, ambientales) y describa qué reacción tiene (por ejemplo: erupción, hinchazón, problemas para respirar).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Condiciones Especiales'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'p. ej. Embarazo, discapacidad'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Si tiene alguna condición médica importante que los médicos siempre deben conocer (por ejemplo: embarazo, dispositivos implantados, discapacidades, terapia anticoagulante), por favor descríbala. Si no, puede dejar esto en blanco.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Antecedentes familiares'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'p. ej. enfermedad cardíaca, cáncer'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Por favor, describa las enfermedades importantes en su familia (por ejemplo: diabetes, hipertensión, enfermedades del corazón, cáncer, enfermedades genéticas) y especifique qué miembro de la familia tuvo la condición.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Factores Sociales y de Estilo de Vida'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'p. ej. Fumar, Consumo de alcohol'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Por favor, describa los factores de estilo de vida que pueden afectar su salud, como fumar, alcohol, actividad física, dieta, sueño y ocupación.'; + + @override + String get profile_section_health_profile_devices_label => + 'Dispositivos médicos'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'p. ej. marcapasos, audífono, bomba de insulina'; + + @override + String get profile_section_health_profile_devices_hint => + 'Por favor, enumere cualquier dispositivo médico que use o tenga implantado, como marcapasos, bombas de insulina, audífonos, prótesis u otros dispositivos de asistencia o monitoreo. Incluya detalles relevantes si corresponde.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Omnívoro'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Comida Rápida'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetariano'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Sin lactosa'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Dieta baja en sodio'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Dieta baja en azúcar'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Dieta cardíaca'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Dieta renal'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Otro'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_fa.dart b/example/lib/src/generated/profiles/profiles_localization_fa.dart new file mode 100644 index 0000000..c845793 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_fa.dart @@ -0,0 +1,576 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Persian (`fa`). +class ProfilesLocalizationFa extends ProfilesLocalization { + ProfilesLocalizationFa([String locale = 'fa']) : super(locale); + + @override + String get chatDrawerTitle => 'سوابق پزشکی'; + + @override + String get chatDrawerBadgeNew => 'جدید'; + + @override + String get bannerTitle => 'سابقه سلامت خود را ایجاد کنید'; + + @override + String get bannerSubtitle => + 'در پایان مشاوره خود، پروفایل خود را اضافه کنید.'; + + @override + String get bannerMoreProfilesTitle => 'اضافه کردن پروفایل‌های بیشتر'; + + @override + String get bannerMoreProfilesSubtitle => + 'برای شخص دیگری مشاوره‌ای آغاز کنید تا پروفایل او را ایجاد کنید.'; + + @override + String get bannerSignUp => 'برای ایجاد پرونده سلامت خود ثبت نام کنید'; + + @override + String get errorRetryButton => 'مجدد تلاش کنید'; + + @override + String get dashboardDeleteError => 'حذف پروفایل ناموفق بود'; + + @override + String get dashboardSummaryLoadError => 'بارگذاری خلاصه پروفایل ناموفق بود'; + + @override + String get dashboardMenuViewFullRecord => 'مشاهده رکورد کامل'; + + @override + String get dashboardMenuShare => 'به اشتراک گذاری'; + + @override + String get dashboardMenuDelete => 'حذف'; + + @override + String get dashboardMetricAgeLabel => 'سن'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value سال', + one: '$value سال', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'وزن'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value کیلوگرم'; + } + + @override + String get dashboardMetricHeightLabel => 'قد'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value سانتی‌متر'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'آلرژی‌ها'; + + @override + String get dashboardInfoChronicTitle => 'مزمن'; + + @override + String get dashboardInfoMedicationTitle => 'دارو'; + + @override + String get dashboardInfoDevicesTitle => 'دستگاه‌ها'; + + @override + String get dashboardNavigationConsultations => 'مشاوره‌ها'; + + @override + String get dashboardNavigationDocuments => 'اسناد'; + + @override + String get dashboardDeleteRecordTitle => 'حذف پرونده سلامت؟'; + + @override + String get dashboardDeleteRecordSubtitle => + 'این اطلاعات سلامتی شما را به طور دائمی حذف می‌کند و قابل بازگشت نیست. شما زمینه‌ای را که ما برای راهنمایی شما استفاده می‌کنیم، از دست خواهید داد.'; + + @override + String get dashboardDeleteRecordCancel => 'لغو'; + + @override + String get dashboardDeleteRecordConfirm => 'حذف'; + + @override + String get dashboardDeleteRecordLoading => 'در حال حذف پرونده سلامت شما...'; + + @override + String get dashboardDeleteRecordError => 'حذف پروفایل ناموفق بود'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'سابقه سلامت حذف شد'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'شما می‌توانید هر زمان که بخواهید با چت کردن با دستیار یک مورد جدید ایجاد کنید'; + + @override + String get dashboardDeleteRecordSuccessButton => 'بازگشت به چت'; + + @override + String get dataEditingScreenTitle => 'ویرایش'; + + @override + String get dataFailedToLoadError => 'بارگذاری داده‌های پروفایل ناموفق بود'; + + @override + String get dataRecordSavedTitle => 'تغییرات ذخیره شد'; + + @override + String get dataRecordSavedSubtitle => 'اطلاعات شما با موفقیت به‌روزرسانی شد.'; + + @override + String get dataRecordSavedButton => 'بازگشت به پروفایل'; + + @override + String get dataRecordUpdateError => 'به‌روزرسانی داده‌های پروفایل ناموفق بود'; + + @override + String get dataRecordDiscardTitle => 'آیا تغییرات را حذف کنید؟'; + + @override + String get dataRecordDiscardSubtitle => + 'شما تغییراتی در پروفایل خود ایجاد کرده‌اید. آنها را قبل از رفتن ذخیره کنید یا کنار بگذارید.'; + + @override + String get dataRecordDiscardCancel => 'ادامه ویرایش'; + + @override + String get dataRecordDiscardConfirm => 'حذف'; + + @override + String get dataRecordEditTooltip => 'ویرایش'; + + @override + String get dataRecordAddTag => 'اضافه کردن رکورد'; + + @override + String get consultationsSearch => 'جستجو'; + + @override + String get consultationsSearchEmpty => 'نتیجه‌ای یافت نشد'; + + @override + String get documentsMenuDownload => 'دانلود'; + + @override + String get documentsMenuShare => 'به اشتراک گذاری'; + + @override + String get documentsMenuDelete => 'حذف'; + + @override + String get documentsEmptyList => 'هیچ سندی پیدا نشد'; + + @override + String get documentsDeleteTitle => 'آیا این سند را حذف کنید؟'; + + @override + String get documentsDeleteSubtitle => 'این فایل به طور دائمی حذف خواهد شد'; + + @override + String get documentsDeleteCancel => 'لغو'; + + @override + String get documentsDeleteButton => 'حذف'; + + @override + String get documentsMoreActionsTooltip => 'اقدامات بیشتر'; + + @override + String get profilesSearch => 'جستجو'; + + @override + String get profilesEmptyList => 'هیچ پروفایلی یافت نشد'; + + @override + String get profilesViewMore => 'مشاهده بیشتر'; + + @override + String get profilesMore => 'بیشتر'; + + @override + String get profilesAnnouncementTitle1 => + 'داکترینا حالا سلامتی شما را به خاطر می‌سپارد'; + + @override + String get profilesAnnouncementSubtitle1 => + 'مشاوره‌های شما اکنون به‌طور خودکار پرونده سلامت شما را ایجاد و به‌روزرسانی می‌کند.'; + + @override + String get profilesAnnouncementTitle2 => 'سابقه سلامت شما، قوانین شما'; + + @override + String get profilesAnnouncementSubtitle2 => + 'هر زمان که بخواهید، می‌توانید علائم، داروها، تاریخچه یا مدارک را مشاهده، ویرایش یا اضافه کنید.'; + + @override + String get profilesAnnouncementTitle3 => 'به خانواده‌تان رسیدگی کنید'; + + @override + String get profilesAnnouncementSubtitle3 => + 'یک پرونده سلامت برای عزیزانتان، فرزندان، والدین یا شریک خود ایجاد کنید.'; + + @override + String get profilesAnnouncementTitle4 => + 'آیا آماده‌اید تا سابقه سلامت خود را ذخیره کنید؟'; + + @override + String get profilesAnnouncementSubtitle4 => + 'پس از مشاوره، روی \"افزودن پروفایل\" ضربه بزنید تا آن را ذخیره کنید.'; + + @override + String get profilesNextButton => 'بعدی'; + + @override + String get profilesStartButton => 'مشاوره را شروع کنید'; + + @override + String get profilesLaterButton => 'شاید بعداً'; + + @override + String get profileSuccessCloseButton => 'بستن'; + + @override + String get pdfHeaderTitle => 'سابقه پزشکی'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'سابقه پزشکی — $name'; + } + + @override + String get expandableFieldMore => '...بیشتر'; + + @override + String get expandableFieldLess => 'کمتر'; + + @override + String get profiles_button_addnew => 'افزودن پروفایل جدید'; + + @override + String get profiles_label_addnew => + 'یک پروفایل ایجاد کنید تا جزئیات این مشاوره را ذخیره کنید.'; + + @override + String get profiles_label_health_records_hint => + 'می‌توانید هر زمان آن را در سوابق سلامت خود ارزیابی کنید'; + + @override + String get profiles_label_keep_talking_hint => + 'اگر دربارهٔ این یا هر موضوع مرتبط دیگری سوال بیشتری دارید، می‌توانید گفت‌وگو را با من ادامه دهید. من اینجا هستم تا کمک کنم'; + + @override + String get profile_section_basic_title => 'اطلاعات عمومی'; + + @override + String get profile_section_basic_name_label => 'نام'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'نام'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'نام خانوادگی'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'جنسیت'; + + @override + String get profile_section_basic_sex_placeholder => 'لطفاً انتخاب کنید'; + + @override + String get profile_section_basic_sex_options_male => 'مرد'; + + @override + String get profile_section_basic_sex_options_female => 'زن'; + + @override + String get profile_section_basic_sex_options_other => 'سایر'; + + @override + String get profile_section_basic_date_of_birth_label => 'تاریخ تولد'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'سن'; + + @override + String get profile_section_basic_age_str_placeholder => 'مثلاً ۳۰'; + + @override + String get profile_section_basic_phonenumber_label => 'شماره تلفن'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ایمیل'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'موقعیت'; + + @override + String get profile_section_basic_location_placeholder => 'مثلاً شهر، کشور'; + + @override + String get profile_section_body_diet_title => 'بدن و رژیم غذایی'; + + @override + String get profile_section_body_diet_height_str_label => 'قد'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'مثلاً 180 سانتی‌متر'; + + @override + String get profile_section_body_diet_weight_str_label => 'وزن'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'مثلاً 75 کیلوگرم'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'چرخه قاعدگی'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'مثلاً منظم، نامنظم'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'محدودیت‌های غذایی'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'لطفاً انتخاب کنید'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'به ما بگویید چه می‌خورید و هر گونه محدودیتی که دارید'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'هیچ‌کدام'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'گیاه‌خوار'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'وگان'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'بدون گلوتن'; + + @override + String get profile_section_body_diet_bmi_label => 'شاخص توده بدنی (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'مثلاً 24.5'; + + @override + String get profile_section_health_profile_title => 'پروفایل سلامت'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'بیماری‌های مزمن'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'به عنوان مثال، دیابت نوع ۲'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'لطفاً تمام بیماری‌های مزمن را فهرست کنید و زمان تشخیص و هرگونه عارضه را شامل کنید.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'سابقه بیماری‌ها'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'به عنوان مثال: سرماخوردگی مکرر'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'لطفاً بیماری‌های جدی که در گذشته داشتید را فهرست کنید، حتی اگر بهبود یافته‌اید.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'سوابق جراحی'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'مثلاً آپاندکتومی'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'لطفاً تمام جراحی‌ها را فهرست کنید و سال و اینکه آیا عوارضی وجود داشته است را شامل کنید.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'داروهای مصرف گاه‌به‌گاه'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'به عنوان مثال، ایبوپروفن'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'لطفاً داروهایی را که گاه به گاه مصرف می‌کنید (برای مثال: مسکن‌ها، داروهای آلرژی) به همراه دوز و دلیل مصرف ذکر کنید'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'داروهای منظم'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'به عنوان مثال، متفورمین'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'لطفاً تمام داروهایی را که به طور منظم مصرف می‌کنید، شامل نام، دوز، تعداد دفعات در روز و اینکه برای چه بیماری است، لیست کنید.'; + + @override + String get profile_section_health_profile_allergies_label => 'حساسیت‌ها'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'مثلاً پنی‌سیلین – باعث راش می‌شود'; + + @override + String get profile_section_health_profile_allergies_hint => + 'لطفاً تمام آلرژی‌ها (داروها، غذا، محیطی) را فهرست کنید و توصیف کنید که چه واکنشی دارید (برای مثال: راش، ورم، مشکلات تنفسی).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'شرایط ویژه'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'مثلاً بارداری، ناتوانی'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'اگر شرایط پزشکی مهمی دارید که پزشکان باید همیشه از آن مطلع باشند (برای مثال: بارداری، دستگاه‌های کاشته شده، ناتوانی‌ها، درمان ضد انعقاد)، لطفاً آن‌ها را توصیف کنید. اگر هیچ‌کدام نیست، می‌توانید این قسمت را خالی بگذارید.'; + + @override + String get profile_section_health_profile_family_history_label => + 'سابقه خانوادگی'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'مثلاً بیماری قلبی، سرطان'; + + @override + String get profile_section_health_profile_family_history_hint => + 'لطفاً بیماری‌های مهم خانواده‌تان را توصیف کنید (برای مثال: دیابت، فشار خون، بیماری قلبی، سرطان، بیماری‌های ژنتیکی) و مشخص کنید کدام عضو خانواده این بیماری را داشته است.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'عوامل اجتماعی و سبک زندگی'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'مثلاً سیگار کشیدن، مصرف الکل'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'لطفاً عوامل سبک زندگی که می‌توانند بر سلامت شما تأثیر بگذارند، مانند سیگار کشیدن، الکل، فعالیت بدنی، رژیم غذایی، خواب و شغل را توصیف کنید.'; + + @override + String get profile_section_health_profile_devices_label => 'دستگاه‌های پزشکی'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'مثلاً ضربان‌ساز، سمعک، پمپ انسولین'; + + @override + String get profile_section_health_profile_devices_hint => + 'لطفاً هر دستگاه پزشکی که استفاده می‌کنید یا در بدن شما کاشته شده است، مانند پیس‌میکرها، پمپ‌های انسولین، سمعک‌ها، پروتزها یا سایر دستگاه‌های کمکی یا نظارتی را فهرست کنید. در صورت لزوم جزئیات مربوطه را شامل کنید.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'همه‌چیزخوار'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'فست فود'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'پسکاتاریان'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'بدون لاکتوز'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'رژیم کم‌نمک'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'رژیم کم‌قند'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'رژیم قلبی'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'رژیم کلیوی'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'سایر'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_fr.dart b/example/lib/src/generated/profiles/profiles_localization_fr.dart new file mode 100644 index 0000000..3c12756 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_fr.dart @@ -0,0 +1,585 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for French (`fr`). +class ProfilesLocalizationFr extends ProfilesLocalization { + ProfilesLocalizationFr([String locale = 'fr']) : super(locale); + + @override + String get chatDrawerTitle => 'Dossiers de santé'; + + @override + String get chatDrawerBadgeNew => 'NOUVEAU'; + + @override + String get bannerTitle => 'Créez votre dossier de santé'; + + @override + String get bannerSubtitle => + 'À la fin de votre consultation, ajoutez votre profil.'; + + @override + String get bannerMoreProfilesTitle => 'Ajouter plus de profils'; + + @override + String get bannerMoreProfilesSubtitle => + 'Commencez une consultation pour quelqu\'un d\'autre afin de créer son profil.'; + + @override + String get bannerSignUp => 'Inscrivez-vous pour créer votre dossier de santé'; + + @override + String get errorRetryButton => 'Réessayer'; + + @override + String get dashboardDeleteError => 'Échec de la suppression du profil'; + + @override + String get dashboardSummaryLoadError => + 'Échec du chargement du résumé du profil'; + + @override + String get dashboardMenuViewFullRecord => 'Voir le dossier complet'; + + @override + String get dashboardMenuShare => 'Partager'; + + @override + String get dashboardMenuDelete => 'Supprimer'; + + @override + String get dashboardMetricAgeLabel => 'Âge'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value ans', + one: '$value an', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Poids'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Taille'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Allergies'; + + @override + String get dashboardInfoChronicTitle => 'Chronique'; + + @override + String get dashboardInfoMedicationTitle => 'Médicament'; + + @override + String get dashboardInfoDevicesTitle => 'Appareils'; + + @override + String get dashboardNavigationConsultations => 'Consultations'; + + @override + String get dashboardNavigationDocuments => 'Documents'; + + @override + String get dashboardDeleteRecordTitle => 'Supprimer le dossier de santé ?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Cela supprimera définitivement vos données de santé et ne peut pas être annulé. Vous perdrez le contexte que nous utilisons pour vous guider.'; + + @override + String get dashboardDeleteRecordCancel => 'Annuler'; + + @override + String get dashboardDeleteRecordConfirm => 'Supprimer'; + + @override + String get dashboardDeleteRecordLoading => + 'Suppression de votre dossier de santé...'; + + @override + String get dashboardDeleteRecordError => 'Échec de la suppression du profil'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Dossier de santé supprimé'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Vous pouvez en créer un nouveau à tout moment en discutant avec l\'assistant.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Retour au chat'; + + @override + String get dataEditingScreenTitle => 'Édition'; + + @override + String get dataFailedToLoadError => + 'Échec du chargement des données du profil'; + + @override + String get dataRecordSavedTitle => 'Modifications enregistrées'; + + @override + String get dataRecordSavedSubtitle => + 'Vos informations ont été mises à jour avec succès.'; + + @override + String get dataRecordSavedButton => 'Retour au profil'; + + @override + String get dataRecordUpdateError => + 'Échec de la mise à jour des données du profil'; + + @override + String get dataRecordDiscardTitle => + 'Voulez-vous annuler les modifications ?'; + + @override + String get dataRecordDiscardSubtitle => + 'Vous avez apporté des modifications à votre profil. Enregistrez-les avant de partir ou abandonnez-les.'; + + @override + String get dataRecordDiscardCancel => 'Continuer à éditer'; + + @override + String get dataRecordDiscardConfirm => 'Jeter'; + + @override + String get dataRecordEditTooltip => 'Modifier'; + + @override + String get dataRecordAddTag => 'Ajouter un enregistrement'; + + @override + String get consultationsSearch => 'Rechercher'; + + @override + String get consultationsSearchEmpty => 'Aucun résultat trouvé'; + + @override + String get documentsMenuDownload => 'Télécharger'; + + @override + String get documentsMenuShare => 'Partager'; + + @override + String get documentsMenuDelete => 'Supprimer'; + + @override + String get documentsEmptyList => 'Aucun document trouvé'; + + @override + String get documentsDeleteTitle => 'Supprimer ce document ?'; + + @override + String get documentsDeleteSubtitle => + 'Ce fichier sera définitivement supprimé'; + + @override + String get documentsDeleteCancel => 'Annuler'; + + @override + String get documentsDeleteButton => 'Supprimer'; + + @override + String get documentsMoreActionsTooltip => 'Autres actions'; + + @override + String get profilesSearch => 'Rechercher'; + + @override + String get profilesEmptyList => 'Aucun profil trouvé'; + + @override + String get profilesViewMore => 'Voir plus'; + + @override + String get profilesMore => 'Plus'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina se souvient maintenant de votre santé'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Vos consultations construisent et mettent à jour automatiquement votre Dossier de Santé.'; + + @override + String get profilesAnnouncementTitle2 => 'Votre dossier de santé, vos règles'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Consultez, modifiez ou ajoutez des symptômes, des médicaments, des antécédents ou des documents à tout moment.'; + + @override + String get profilesAnnouncementTitle3 => 'Prenez soin de toute votre famille'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Créez un dossier de santé pour vos proches, vos enfants, vos parents ou votre partenaire.'; + + @override + String get profilesAnnouncementTitle4 => + 'Prêt à enregistrer votre dossier de santé ?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Après votre consultation, appuyez sur « Ajouter un profil » pour l\'enregistrer.'; + + @override + String get profilesNextButton => 'Suivant'; + + @override + String get profilesStartButton => 'Commencer une consultation'; + + @override + String get profilesLaterButton => 'Peut-être plus tard'; + + @override + String get profileSuccessCloseButton => 'Fermer'; + + @override + String get pdfHeaderTitle => 'Dossier de santé'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Dossier de santé — $name'; + } + + @override + String get expandableFieldMore => '...plus'; + + @override + String get expandableFieldLess => '...moins'; + + @override + String get profiles_button_addnew => 'Ajouter un nouveau profil'; + + @override + String get profiles_label_addnew => + 'Créez un profil pour enregistrer les détails de cette consultation.'; + + @override + String get profiles_label_health_records_hint => + 'Vous pouvez l\'évaluer à tout moment dans vos dossiers de santé'; + + @override + String get profiles_label_keep_talking_hint => + 'Si vous avez d\'autres questions à ce sujet ou sur des sujets connexes, n\'hésitez pas à continuer à me parler. Je suis là pour vous aider'; + + @override + String get profile_section_basic_title => 'Informations générales'; + + @override + String get profile_section_basic_name_label => 'Nom'; + + @override + String get profile_section_basic_name_placeholder => 'Jean Dupont'; + + @override + String get profile_section_basic_first_name_label => 'Prénom'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Nom de famille'; + + @override + String get profile_section_basic_last_name_placeholder => 'Dupont'; + + @override + String get profile_section_basic_sex_label => 'Sexe'; + + @override + String get profile_section_basic_sex_placeholder => 'Sélectionnez'; + + @override + String get profile_section_basic_sex_options_male => 'Homme'; + + @override + String get profile_section_basic_sex_options_female => 'Femme'; + + @override + String get profile_section_basic_sex_options_other => 'Autre'; + + @override + String get profile_section_basic_date_of_birth_label => 'Date de naissance'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'AAAA-MM-JJ'; + + @override + String get profile_section_basic_age_str_label => 'Âge'; + + @override + String get profile_section_basic_age_str_placeholder => 'p. ex. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Numéro de téléphone'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-mail'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Localisation'; + + @override + String get profile_section_basic_location_placeholder => 'ex. Ville, Pays'; + + @override + String get profile_section_body_diet_title => 'Corps et alimentation'; + + @override + String get profile_section_body_diet_height_str_label => 'Taille'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'p. ex. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Poids'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'p. ex. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Cycle menstruel'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'p. ex. Régulier, Irrégulier'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Restrictions alimentaires'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Veuillez sélectionner'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Faites-nous savoir ce que vous mangez et les restrictions que vous avez'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Aucune'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Végétarien'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Végétalien'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Sans gluten'; + + @override + String get profile_section_body_diet_bmi_label => + 'Indice de masse corporelle (IMC)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'p. ex. 24,5'; + + @override + String get profile_section_health_profile_title => 'Profil de santé'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Maladies chroniques'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ex. Diabète de type 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Veuillez lister toutes les maladies chroniques et inclure la date de leur diagnostic ainsi que les complications éventuelles.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Antécédents médicaux'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ex. Rhume fréquent'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Veuillez indiquer les maladies graves que vous avez eues dans le passé, même si vous vous êtes rétabli.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Antécédents chirurgicaux'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'e.g. Appendectomy'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Veuillez lister toutes les interventions chirurgicales et inclure l\'année ainsi que s\'il y a eu des complications.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Médicaments utilisés occasionnellement'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'par exemple, Ibuprofène'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Veuillez indiquer les médicaments que vous prenez de temps en temps (par exemple : analgésiques, médicaments contre les allergies), y compris la dose et la raison de leur utilisation.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Médicaments réguliers'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'par exemple, Metformine'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Veuillez indiquer tous les médicaments que vous prenez régulièrement, y compris le nom, la dose, combien de fois par jour vous le prenez et pour quelle condition.'; + + @override + String get profile_section_health_profile_allergies_label => 'Allergies'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ex. Pénicilline – provoque une éruption'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Veuillez lister toutes les allergies (médicaments, aliments, environnement) et décrire quelle réaction vous avez (par exemple : éruption cutanée, gonflement, problèmes respiratoires).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Conditions particulières'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'p. ex. Grossesse, Handicap'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Si vous avez des conditions médicales importantes que les médecins doivent toujours connaître (par exemple : grossesse, dispositifs implantés, handicaps, thérapie anticoagulante), veuillez les décrire. Si aucune, vous pouvez laisser ce champ vide.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Antécédents familiaux'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'p. ex. maladie cardiaque, cancer'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Veuillez décrire les maladies importantes dans votre famille (par exemple : diabète, hypertension, maladies cardiaques, cancer, maladies génétiques) et spécifiez quel membre de la famille avait la condition.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Facteurs sociaux et liés au mode de vie'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'p. ex. tabagisme, consommation d\'alcool'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Veuillez décrire les facteurs de mode de vie qui peuvent affecter votre santé, tels que le tabagisme, l\'alcool, l\'activité physique, l\'alimentation, le sommeil et la profession.'; + + @override + String get profile_section_health_profile_devices_label => + 'Dispositifs médicaux'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'p. ex. stimulateur cardiaque, appareil auditif, pompe à insuline'; + + @override + String get profile_section_health_profile_devices_hint => + 'Veuillez lister tout dispositif médical que vous utilisez ou avez implanté, tel que des stimulateurs cardiaques, des pompes à insuline, des appareils auditifs, des prothèses ou d\'autres dispositifs d\'assistance ou de surveillance. Incluez les détails pertinents si applicable.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Omnivore'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Restauration Rapide'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescétarien'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Sans lactose'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Régime pauvre en sodium'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Régime pauvre en sucre'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Régime cardiaque'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Régime rénal'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Autre'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_gu.dart b/example/lib/src/generated/profiles/profiles_localization_gu.dart new file mode 100644 index 0000000..c7dce07 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_gu.dart @@ -0,0 +1,577 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Gujarati (`gu`). +class ProfilesLocalizationGu extends ProfilesLocalization { + ProfilesLocalizationGu([String locale = 'gu']) : super(locale); + + @override + String get chatDrawerTitle => 'આરોગ્ય રેકોર્ડ'; + + @override + String get chatDrawerBadgeNew => 'નવું'; + + @override + String get bannerTitle => 'તમારો આરોગ્ય રેકોર્ડ બનાવો'; + + @override + String get bannerSubtitle => 'તમારી પરામર્શની અંતે, તમારો પ્રોફાઇલ ઉમેરો.'; + + @override + String get bannerMoreProfilesTitle => 'વધુ પ્રોફાઇલ્સ ઉમેરો'; + + @override + String get bannerMoreProfilesSubtitle => + 'કોઈ બીજા માટે તેમના પ્રોફાઇલ બનાવવા માટે પરામર્શ શરૂ કરો.'; + + @override + String get bannerSignUp => 'તમારો આરોગ્ય રેકોર્ડ બનાવવા માટે સાઇન અપ કરો'; + + @override + String get errorRetryButton => 'પુનઃ પ્રયત્ન કરો'; + + @override + String get dashboardDeleteError => 'પ્રોફાઇલ કાઢી નાખવામાં નિષ્ફળ'; + + @override + String get dashboardSummaryLoadError => 'પ્રોફાઇલ સારાંશ લોડ કરવામાં નિષ્ફળ'; + + @override + String get dashboardMenuViewFullRecord => 'પૂર્ણ રેકોર્ડ જુઓ'; + + @override + String get dashboardMenuShare => 'શેર કરો'; + + @override + String get dashboardMenuDelete => 'મિટાવો'; + + @override + String get dashboardMetricAgeLabel => 'ઉમર'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value વર્ષ', + one: '$value વર્ષ', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'વજન'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value કિગ્રા'; + } + + @override + String get dashboardMetricHeightLabel => 'ઊંચાઈ'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value સેમી'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'ઍલર્જી'; + + @override + String get dashboardInfoChronicTitle => 'ક્રોનિક'; + + @override + String get dashboardInfoMedicationTitle => 'દવા'; + + @override + String get dashboardInfoDevicesTitle => 'ડિવાઇસ'; + + @override + String get dashboardNavigationConsultations => 'સલાહ'; + + @override + String get dashboardNavigationDocuments => 'દસ્તાવેજો'; + + @override + String get dashboardDeleteRecordTitle => 'આરોગ્ય રેકોર્ડ કાઢી નાખવો?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'આ તમારા આરોગ્યના ડેટાને શાશ્વત રીતે દૂર કરશે અને તેને પાછું લાવવું શક્ય નથી. તમે અમને માર્ગદર્શન આપવા માટે ઉપયોગમાં લેવાતા સંદર્ભને ગુમાવી દેશો.'; + + @override + String get dashboardDeleteRecordCancel => 'રદ કરો'; + + @override + String get dashboardDeleteRecordConfirm => 'મિટાવો'; + + @override + String get dashboardDeleteRecordLoading => + 'તમારો આરોગ્ય રેકોર્ડ કાઢી રહ્યા છીએ...'; + + @override + String get dashboardDeleteRecordError => 'પ્રોફાઇલ કાઢી નાખવામાં નિષ્ફળ'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'આરોગ્ય રેકોર્ડ કાઢી નાખવામાં આવ્યો'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'તમે સહાયક સાથે વાત કરીને ક્યારે પણ નવું બનાવી શકો છો'; + + @override + String get dashboardDeleteRecordSuccessButton => 'ચેટ પર પાછા જાઓ'; + + @override + String get dataEditingScreenTitle => 'સંપાદન'; + + @override + String get dataFailedToLoadError => 'પ્રોફાઇલ ડેટા લોડ કરવામાં નિષ્ફળ'; + + @override + String get dataRecordSavedTitle => 'બદલાવો સાચવવામાં આવ્યા'; + + @override + String get dataRecordSavedSubtitle => + 'તમારી માહિતી સફળતાપૂર્વક અપડેટ કરવામાં આવી છે'; + + @override + String get dataRecordSavedButton => 'પ્રોફાઇલ પર પાછા જાઓ'; + + @override + String get dataRecordUpdateError => 'પ્રોફાઇલ ડેટા અપડેટ કરવામાં નિષ્ફળ'; + + @override + String get dataRecordDiscardTitle => 'બદલાવને રદ કરવું?'; + + @override + String get dataRecordDiscardSubtitle => + 'તમે તમારા પ્રોફાઇલમાં કેટલાક ફેરફાર કર્યા છે. જાઓ તે પહેલાં તેમને સાચવો, અથવા તેમને નકારી દો.'; + + @override + String get dataRecordDiscardCancel => 'સંપાદન ચાલુ રાખો'; + + @override + String get dataRecordDiscardConfirm => 'કાઢી નાખો'; + + @override + String get dataRecordEditTooltip => 'સંપાદિત કરો'; + + @override + String get dataRecordAddTag => 'બંધી ઉમેરો'; + + @override + String get consultationsSearch => 'શોધો'; + + @override + String get consultationsSearchEmpty => 'કોઈ પરિણામો મળ્યા નથી'; + + @override + String get documentsMenuDownload => 'ડાઉનલોડ'; + + @override + String get documentsMenuShare => 'શેર કરો'; + + @override + String get documentsMenuDelete => 'મિટાવો'; + + @override + String get documentsEmptyList => 'કોઈ દસ્તાવેજો મળ્યા નથી'; + + @override + String get documentsDeleteTitle => 'આ દસ્તાવેજ કાઢી નાખવો છે?'; + + @override + String get documentsDeleteSubtitle => 'આ ફાઇલ શાશ્વત રીતે દૂર કરવામાં આવશે'; + + @override + String get documentsDeleteCancel => 'રદ કરો'; + + @override + String get documentsDeleteButton => 'મિટાવો'; + + @override + String get documentsMoreActionsTooltip => 'વધુ ક્રિયાઓ'; + + @override + String get profilesSearch => 'શોધો'; + + @override + String get profilesEmptyList => 'કોઈ પ્રોફાઇલ મળ્યા નથી'; + + @override + String get profilesViewMore => 'વધુ જુઓ'; + + @override + String get profilesMore => 'વધુ'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina હવે તમારા આરોગ્યને યાદ રાખે છે'; + + @override + String get profilesAnnouncementSubtitle1 => + 'તમારી પરામર્શો હવે આપોઆપ તમારા આરોગ્ય રેકોર્ડને બનાવે છે અને અપડેટ કરે છે.'; + + @override + String get profilesAnnouncementTitle2 => 'તમારો આરોગ્ય રેકોર્ડ, તમારા નિયમો'; + + @override + String get profilesAnnouncementSubtitle2 => + 'કોઈપણ સમયે લક્ષણો, દવાઓ, ઇતિહાસ અથવા દસ્તાવેજો જુઓ, સંપાદિત કરો અથવા ઉમેરો.'; + + @override + String get profilesAnnouncementTitle3 => 'તમારા સમગ્ર પરિવારની સંભાળ લો'; + + @override + String get profilesAnnouncementSubtitle3 => + 'તમારા પ્રિયજનો, તમારા બાળકો, માતા-પિતા અથવા ભાગીદારો માટે આરોગ્ય રેકોર્ડ બનાવો'; + + @override + String get profilesAnnouncementTitle4 => + 'તમારો આરોગ્ય રેકોર્ડ સાચવવા માટે તૈયાર છો?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'તમારી પરામર્શ પછી, \"પ્રોફાઇલ ઉમેરો\" પર ટૅપ કરો તેને સાચવવા માટે.'; + + @override + String get profilesNextButton => 'આગળ'; + + @override + String get profilesStartButton => 'સલાહ શરૂ કરો'; + + @override + String get profilesLaterButton => 'શાયદ પછી'; + + @override + String get profileSuccessCloseButton => 'બંધ કરો'; + + @override + String get pdfHeaderTitle => 'આરોગ્ય રેકોર્ડ'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'હેલ્થ રેકોર્ડ — $name'; + } + + @override + String get expandableFieldMore => '...વધુ'; + + @override + String get expandableFieldLess => '...કમ'; + + @override + String get profiles_button_addnew => 'નવો પ્રોફાઇલ ઉમેરો'; + + @override + String get profiles_label_addnew => + 'આ પરામર્શના વિગતો સાચવવા માટે એક પ્રોફાઇલ બનાવો.'; + + @override + String get profiles_label_health_records_hint => + 'તમે તેને કોઈપણ સમયે તમારા Health Recordsમાં મૂલ્યાંકન કરી શકો છો'; + + @override + String get profiles_label_keep_talking_hint => + 'જો આ વિશે અથવા તેની સાથે સંબંધિત કોઈપણ બાબત અંગે તમને વધુ પ્રશ્નો હોય, તો નિઃસંકોચ મારી સાથે વાત ચાલુ રાખો. હું મદદ માટે અહીં છું'; + + @override + String get profile_section_basic_title => 'સામાન્ય માહિતી'; + + @override + String get profile_section_basic_name_label => 'નામ'; + + @override + String get profile_section_basic_name_placeholder => 'જોન ડો'; + + @override + String get profile_section_basic_first_name_label => 'પ્રથમ નામ'; + + @override + String get profile_section_basic_first_name_placeholder => 'જોન'; + + @override + String get profile_section_basic_last_name_label => 'ઉપનામ'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'લિંગ'; + + @override + String get profile_section_basic_sex_placeholder => 'કૃપયા પસંદ કરો'; + + @override + String get profile_section_basic_sex_options_male => 'પુરુષ'; + + @override + String get profile_section_basic_sex_options_female => 'મહિલા'; + + @override + String get profile_section_basic_sex_options_other => 'અન્ય'; + + @override + String get profile_section_basic_date_of_birth_label => 'જન્મ તારીખ'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'ઉમર'; + + @override + String get profile_section_basic_age_str_placeholder => 'ઉદાહરણ: 30'; + + @override + String get profile_section_basic_phonenumber_label => 'ફોન નંબર'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ઇમેલ'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'સ્થાન'; + + @override + String get profile_section_basic_location_placeholder => 'ઉદાહરણ: શહેર, દેશ'; + + @override + String get profile_section_body_diet_title => 'શરીર & આહાર'; + + @override + String get profile_section_body_diet_height_str_label => 'ઊંચાઈ'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'ઉદાહરણ: 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'વજન'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'જેમ કે 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'માસિક ચક્ર'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'જેમ કે નિયમિત, અનિયમિત'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'આહાર પ્રતિબંધો'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'કૃપા કરીને પસંદ કરો'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'તમે શું ખાવો છો અને તમારી પાસે કોઈ પ્રતિબંધ છે તે અમને જણાવો'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'કોઈ નહીં'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'શાકાહારી'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'વીગન'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'ગ્લુટેન મુક્ત'; + + @override + String get profile_section_body_diet_bmi_label => 'બોડી માસ ઇન્ડેક્સ (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ઉદા. 24.5'; + + @override + String get profile_section_health_profile_title => 'આરોગ્ય પ્રોફાઇલ'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'દીર્ઘકાલીન રોગો'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ઉદાહરણ તરીકે, ડાયાબિટીસ પ્રકાર 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'કૃપા કરીને તમામ ક્રોનિક બીમારીઓની યાદી બનાવો અને તે ક્યારે નિદાન કરવામાં આવી હતી અને કોઈ જટિલતાઓનો સમાવેશ કરો.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'ભૂતકાળની બીમારીઓ'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ઉદાહરણ તરીકે, વારંવાર સામાન્ય જુકામ'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'કૃપા કરીને તમે ભૂતકાળમાં ભોગવેલા ગંભીર રોગોની યાદી આપો, ભલે તમે સાજા થઈ ગયા હોવ.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'શસ્ત્રક્રિયા ઇતિહાસ'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'ઉદાહરણ તરીકે Appendectomy'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'કૃપા કરીને તમામ સર્જરીઓની યાદી બનાવો અને વર્ષ અને કોઈ જટિલતાઓ હતી કે નહીં તે સમાવિષ્ટ કરો'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'કદીક વાપરવામાં આવતી દવાઓ'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'ઉદાહરણ તરીકે, આઇબ્યુપ્રોફેન'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'કૃપા કરીને તે દવાઓની યાદી આપો જે તમે ક્યારેક લેતા હો (ઉદાહરણ તરીકે: દુખાવા માટેની દવાઓ, એલર્જી દવાઓ), ડોઝ અને ઉપયોગનો કારણ સહિત.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'નિયમિત દવાઓ'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'ઉદાહરણ તરીકે મેટફોર્મિન'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'કૃપા કરીને તમે નિયમિત રીતે લેતા તમામ દવાઓની યાદી બનાવો, જેમાં નામ, ડોઝ, તમે દરરોજ કેટલાય વખત લેતા છો અને તે કઈ સ્થિતિ માટે છે.'; + + @override + String get profile_section_health_profile_allergies_label => 'અલર્જીઓ'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ઉદાહરણ તરીકે પેનિસિલિન – ચામડી પર ખંજવાળ થાય છે'; + + @override + String get profile_section_health_profile_allergies_hint => + 'કૃપા કરીને તમામ એલર્જી (દવા, ખોરાક, પર્યાવરણ) યાદીબદ્ધ કરો અને તમે કઈ પ્રતિક્રિયા દર્શાવો છો તે વર્ણવો (ઉદાહરણ તરીકે: રેશમ, ફૂલવું, શ્વાસની સમસ્યાઓ)'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'વિશેષ સ્થિતિઓ'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'ઉદાહરણ તરીકે ગર્ભાવસ્થા, વિકલાંગતા'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'જો તમારી પાસે કોઈ મહત્વપૂર્ણ તબીબી સ્થિતિઓ છે જે ડોક્ટરોને હંમેશા જાણવી જોઈએ (ઉદાહરણ તરીકે: ગર્ભાવસ્થા, ઇમ્પ્લાન્ટેડ ઉપકરણો, અક્ષમતા, એન્ટિકોઅગ્યુલેશન થેરાપી), તો કૃપા કરીને તેમને વર્ણવશો. જો કોઈ ન હોય, તો તમે આ ખાલી રાખી શકો છો.'; + + @override + String get profile_section_health_profile_family_history_label => + 'પારિવારિક ઇતિહાસ'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'જેમ કે હૃદય રોગ, કેન્સર'; + + @override + String get profile_section_health_profile_family_history_hint => + 'કૃપા કરીને તમારા પરિવારમાં મહત્વપૂર્ણ રોગોનું વર્ણન કરો (ઉદાહરણ તરીકે: ડાયાબિટીસ, હાયપરટેન્શન, હૃદયરોગ, કેન્સર, જિનસંબંધિત રોગો) અને જણાવો કે કયા પરિવારના સભ્યને આ સ્થિતિ હતી.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'સામાજિક અને જીવનશૈલીના કારકો'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'જેમ કે ધૂમ્રપાન, દારૂનું સેવન'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'કૃપા કરીને જીવનશૈલીના તત્વોનું વર્ણન કરો જે તમારા આરોગ્યને અસર કરી શકે છે, જેમ કે ધૂમ્રપાન, આલ્કોહોલ, શારીરિક પ્રવૃત્તિ, આહાર, ઊંઘ અને વ્યવસાય.'; + + @override + String get profile_section_health_profile_devices_label => 'ચિકિત્સા ઉપકરણો'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'ઉદાહરણ તરીકે પેસમેકર, શ્રવણ સહાયક, ઇન્સ્યુલિન પંપ'; + + @override + String get profile_section_health_profile_devices_hint => + 'કૃપા કરીને કોઈપણ મેડિકલ ડિવાઇસની યાદી આપો જે તમે ઉપયોગ કરો છો અથવા ઇમ્પ્લાન્ટ કરેલ છે, જેમ કે પેસમેકર્સ, ઇન્સુલિન પંપ, સાંભળવા માટેની મદદ, પ્રોસ્ટેટિક્સ, અથવા અન્ય સહાયક અથવા મોનિટરિંગ ડિવાઇસ. લાગુ પડે ત્યારે સંબંધિત વિગતો શામેલ કરો.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'સર્વભક્ષી'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ફાસ્ટ ફૂડ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'પેસ્કેટેરિયન'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'લેક્ટોઝ મુક્ત'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'ઓછી લવણવાળો આહાર'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'ઓછી ખાંડવાળું આહાર'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'હૃદય માટેનો આહાર'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'વૃક્ક માટેનું આહાર'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'અન્ય'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_he.dart b/example/lib/src/generated/profiles/profiles_localization_he.dart new file mode 100644 index 0000000..31ff450 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_he.dart @@ -0,0 +1,573 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hebrew (`he`). +class ProfilesLocalizationHe extends ProfilesLocalization { + ProfilesLocalizationHe([String locale = 'he']) : super(locale); + + @override + String get chatDrawerTitle => 'רשומות בריאות'; + + @override + String get chatDrawerBadgeNew => 'חדש'; + + @override + String get bannerTitle => 'צור את רישום הבריאות שלך'; + + @override + String get bannerSubtitle => 'בסוף הייעוץ שלך, הוסף את הפרופיל שלך.'; + + @override + String get bannerMoreProfilesTitle => 'הוסף פרופילים נוספים'; + + @override + String get bannerMoreProfilesSubtitle => + 'התחל ייעוץ עבור מישהו אחר כדי ליצור את הפרופיל שלו.'; + + @override + String get bannerSignUp => 'הירשם כדי ליצור את תיק הבריאות שלך'; + + @override + String get errorRetryButton => 'נסה שוב'; + + @override + String get dashboardDeleteError => 'כישלון במחיקת פרופיל'; + + @override + String get dashboardSummaryLoadError => 'טעינת סיכום הפרופיל נכשלה'; + + @override + String get dashboardMenuViewFullRecord => 'צפה ברשומה מלאה'; + + @override + String get dashboardMenuShare => 'שתף'; + + @override + String get dashboardMenuDelete => 'מחק'; + + @override + String get dashboardMetricAgeLabel => 'גיל'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value שנים', + one: '$value שנה', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'משקל'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value קילוגרם'; + } + + @override + String get dashboardMetricHeightLabel => 'גובה'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value ס\"מ'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'אלרגיות'; + + @override + String get dashboardInfoChronicTitle => 'כרוני'; + + @override + String get dashboardInfoMedicationTitle => 'תרופה'; + + @override + String get dashboardInfoDevicesTitle => 'מכשירים'; + + @override + String get dashboardNavigationConsultations => 'התייעצויות'; + + @override + String get dashboardNavigationDocuments => 'מסמכים'; + + @override + String get dashboardDeleteRecordTitle => 'למחוק את רישום הבריאות?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'זה יסיר לצמיתות את נתוני הבריאות שלך ולא ניתן לשחזר. תאבד את ההקשר שבו אנו משתמשים כדי להנחות אותך.'; + + @override + String get dashboardDeleteRecordCancel => 'ביטול'; + + @override + String get dashboardDeleteRecordConfirm => 'מחק'; + + @override + String get dashboardDeleteRecordLoading => 'מוחק את רישום הבריאות שלך...'; + + @override + String get dashboardDeleteRecordError => 'נכשל במחקת פרופיל'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'הרשומה הרפואית נמחקה'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'אתה יכול ליצור חדש בכל עת על ידי שיחה עם העוזר'; + + @override + String get dashboardDeleteRecordSuccessButton => 'חזרה לצ\'אט'; + + @override + String get dataEditingScreenTitle => 'עריכה'; + + @override + String get dataFailedToLoadError => 'טעינת נתוני פרופיל נכשלה'; + + @override + String get dataRecordSavedTitle => 'שינויים נשמרו'; + + @override + String get dataRecordSavedSubtitle => 'המידע שלך עודכן בהצלחה.'; + + @override + String get dataRecordSavedButton => 'חזרה לפרופיל'; + + @override + String get dataRecordUpdateError => 'נכשל בעדכון נתוני פרופיל'; + + @override + String get dataRecordDiscardTitle => 'למחוק שינויים?'; + + @override + String get dataRecordDiscardSubtitle => + 'ביצעת כמה שינויים בפרופיל שלך. שמור אותם לפני שתצא, או מחק אותם.'; + + @override + String get dataRecordDiscardCancel => 'שמור עריכה'; + + @override + String get dataRecordDiscardConfirm => 'מחק'; + + @override + String get dataRecordEditTooltip => 'עריכה'; + + @override + String get dataRecordAddTag => 'הוסף רשומה'; + + @override + String get consultationsSearch => 'חיפוש'; + + @override + String get consultationsSearchEmpty => 'לא נמצאו תוצאות'; + + @override + String get documentsMenuDownload => 'הורדה'; + + @override + String get documentsMenuShare => 'שתף'; + + @override + String get documentsMenuDelete => 'מחק'; + + @override + String get documentsEmptyList => 'לא נמצאו מסמכים'; + + @override + String get documentsDeleteTitle => 'למחוק את המסמך הזה?'; + + @override + String get documentsDeleteSubtitle => 'הקובץ הזה יימחק לצמיתות'; + + @override + String get documentsDeleteCancel => 'ביטול'; + + @override + String get documentsDeleteButton => 'מחק'; + + @override + String get documentsMoreActionsTooltip => 'פעולות נוספות'; + + @override + String get profilesSearch => 'חיפוש'; + + @override + String get profilesEmptyList => 'לא נמצאו פרופילים'; + + @override + String get profilesViewMore => 'הצג עוד'; + + @override + String get profilesMore => 'עוד'; + + @override + String get profilesAnnouncementTitle1 => + 'דוקטורינה עכשיו זוכרת את הבריאות שלך'; + + @override + String get profilesAnnouncementSubtitle1 => + 'הייעוצים שלך עכשיו בונים ומעדכנים אוטומטית את תיק הבריאות שלך.'; + + @override + String get profilesAnnouncementTitle2 => 'הרשומה הרפואית שלך, הכללים שלך'; + + @override + String get profilesAnnouncementSubtitle2 => + 'צפה, ערוך או הוסף תסמינים, תרופות, היסטוריה או מסמכים בכל עת.'; + + @override + String get profilesAnnouncementTitle3 => 'דאגו לכל המשפחה שלכם'; + + @override + String get profilesAnnouncementSubtitle3 => + 'צור רישום בריאות עבור אהוביך, ילדיך, הורים או בן/בת הזוג שלך.'; + + @override + String get profilesAnnouncementTitle4 => 'מוכן לשמור את רישום הבריאות שלך?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'לאחר הייעוץ, הקש על \"הוסף פרופיל\" כדי לשמור אותו.'; + + @override + String get profilesNextButton => 'הבא'; + + @override + String get profilesStartButton => 'התחל ייעוץ'; + + @override + String get profilesLaterButton => 'אולי מאוחר יותר'; + + @override + String get profileSuccessCloseButton => 'סגור'; + + @override + String get pdfHeaderTitle => 'רשומת בריאות'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'רשומת בריאות — $name'; + } + + @override + String get expandableFieldMore => '...עוד'; + + @override + String get expandableFieldLess => 'פחות'; + + @override + String get profiles_button_addnew => 'הוסף פרופיל חדש'; + + @override + String get profiles_label_addnew => + 'צור פרופיל כדי לשמור את פרטי הייעוץ הזה.'; + + @override + String get profiles_label_health_records_hint => + 'ניתן להעריך זאת בכל עת ברשומות הבריאות שלך'; + + @override + String get profiles_label_keep_talking_hint => + 'אם יש לך שאלות נוספות בנושא זה או בכל נושא קשור, ניתן להמשיך לשוחח איתי. אני כאן כדי לעזור.'; + + @override + String get profile_section_basic_title => 'מידע כללי'; + + @override + String get profile_section_basic_name_label => 'שם'; + + @override + String get profile_section_basic_name_placeholder => 'ג\'ון דו'; + + @override + String get profile_section_basic_first_name_label => 'שם פרטי'; + + @override + String get profile_section_basic_first_name_placeholder => 'ג\'ון'; + + @override + String get profile_section_basic_last_name_label => 'שם משפחה'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'מין'; + + @override + String get profile_section_basic_sex_placeholder => 'אנא בחר/י'; + + @override + String get profile_section_basic_sex_options_male => 'גבר'; + + @override + String get profile_section_basic_sex_options_female => 'נקבה'; + + @override + String get profile_section_basic_sex_options_other => 'אחר/אחרת'; + + @override + String get profile_section_basic_date_of_birth_label => 'תאריך לידה'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'גיל'; + + @override + String get profile_section_basic_age_str_placeholder => 'לדוגמה 30'; + + @override + String get profile_section_basic_phonenumber_label => 'מספר טלפון'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'דוא״ל'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'מיקום'; + + @override + String get profile_section_basic_location_placeholder => 'למשל עיר, מדינה'; + + @override + String get profile_section_body_diet_title => 'גוף ותזונה'; + + @override + String get profile_section_body_diet_height_str_label => 'גובה'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'למשל 180 ס\"מ'; + + @override + String get profile_section_body_diet_weight_str_label => 'משקל'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'למשל 75 ק\"ג'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'מחזור חודשי'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'למשל: סדיר, לא סדיר'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'הגבלות תזונה'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'בחרו'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'יידע אותנו מה אתה אוכל וכל מגבלה שיש לך'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'ללא הגבלות תזונתיות'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'צמחוני'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'טבעוני'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'ללא גלוטן'; + + @override + String get profile_section_body_diet_bmi_label => 'מדד מסת הגוף (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'למשל 24.5'; + + @override + String get profile_section_health_profile_title => 'פרופיל בריאותי'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'מחלות כרוניות'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'למשל, סוכרת סוג 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'אנא רשום את כל המחלות הכרוניות וכולל מתי אובחנו וכל סיבוכים.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'מחלות בעבר'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'למשל: הצטננות תכופה'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'אנא רשום מחלות חמורות שהיו לך בעבר, גם אם הבראת.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'היסטוריית ניתוחים'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'למשל כריתת התוספתן'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'אנא רשום את כל הניתוחים וכלול את השנה ואם היו סיבוכים.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'תרופות לשימוש מזדמן'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'למשל, איבופרופן'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'אנא רשום את התרופות שאתה לוקח מדי פעם (למשל: משככי כאבים, תרופות נגד אלרגיה), כולל המינון וסיבת השימוש'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'תרופות קבועות'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'למשל, מטפורמין'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'אנא רשום את כל התרופות שאתה לוקח באופן קבוע, כולל השם, המינון, כמה פעמים ביום אתה לוקח את זה, ואיזו מחלה זה מיועד.'; + + @override + String get profile_section_health_profile_allergies_label => 'אלרגיות'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'למשל, פנצילין – גורם לפריחה'; + + @override + String get profile_section_health_profile_allergies_hint => + 'אנא רשום את כל האלרגיות (תרופות, מזון, סביבתיות) ותאר איזו תגובה יש לך (למשל: פריחה, נפיחות, בעיות נשימה).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'מצבים מיוחדים'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'למשל הריון, נכות'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'אם יש לך מצבים רפואיים חשובים שעל הרופאים לדעת עליהם תמיד (למשל: הריון, מכשירים מושתלים, נכות, טיפול נוגד קרישה), אנא תאר אותם. אם אין, תוכל להשאיר זאת ריק.'; + + @override + String get profile_section_health_profile_family_history_label => + 'היסטוריה רפואית משפחתית'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'למשל מחלות לב, סרטן'; + + @override + String get profile_section_health_profile_family_history_hint => + 'אנא תאר מחלות חשובות במשפחה שלך (למשל: סוכרת, יתר לחץ דם, מחלות לב, סרטן, מחלות גנטיות) וציין איזה בן משפחה היה לו את המצב.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'גורמים חברתיים והרגלי חיים'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'למשל עישון, צריכת אלכוהול'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'אנא תאר גורמי אורח חיים שיכולים להשפיע על בריאותך, כגון עישון, אלכוהול, פעילות גופנית, תזונה, שינה ומקצוע.'; + + @override + String get profile_section_health_profile_devices_label => 'מכשירים רפואיים'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'למשל קוצב לב, מכשיר שמיעה, משאבת אינסולין'; + + @override + String get profile_section_health_profile_devices_hint => + 'אנא רשום כל מכשיר רפואי שאתה משתמש בו או שהושתל בגופך, כגון קוצבי לב, משאבות אינסולין, מכשירי שמיעה, פרוטזות או מכשירים אחרים לסיוע או ניטור. כלול פרטים רלוונטיים אם יש צורך.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'אוכלי כל'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'מזון מהיר'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'צמחוני שאוכל דגים'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'ללא לקטוז'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'דיאטה דלת נתרן'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'דיאטה דלת סוכר'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'דיאטה לבבית'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'תזונה כלייתית'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'אחר'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_hi.dart b/example/lib/src/generated/profiles/profiles_localization_hi.dart new file mode 100644 index 0000000..2dc6814 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_hi.dart @@ -0,0 +1,579 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hindi (`hi`). +class ProfilesLocalizationHi extends ProfilesLocalization { + ProfilesLocalizationHi([String locale = 'hi']) : super(locale); + + @override + String get chatDrawerTitle => 'स्वास्थ्य रिकॉर्ड'; + + @override + String get chatDrawerBadgeNew => 'नया'; + + @override + String get bannerTitle => 'अपना स्वास्थ्य रिकॉर्ड बनाएं'; + + @override + String get bannerSubtitle => + 'अपनी परामर्श के अंत में, अपना प्रोफ़ाइल जोड़ें।'; + + @override + String get bannerMoreProfilesTitle => 'अधिक प्रोफाइल जोड़ें'; + + @override + String get bannerMoreProfilesSubtitle => + 'किसी और के लिए प्रोफ़ाइल बनाने के लिए परामर्श शुरू करें।'; + + @override + String get bannerSignUp => 'अपनी स्वास्थ्य रिकॉर्ड बनाने के लिए साइन अप करें'; + + @override + String get errorRetryButton => 'पुनः प्रयास करें'; + + @override + String get dashboardDeleteError => 'प्रोफ़ाइल हटाने में विफल'; + + @override + String get dashboardSummaryLoadError => 'प्रोफ़ाइल सारांश लोड करने में विफल'; + + @override + String get dashboardMenuViewFullRecord => 'पूर्ण रिकॉर्ड देखें'; + + @override + String get dashboardMenuShare => 'शेयर करें'; + + @override + String get dashboardMenuDelete => 'हटाएँ'; + + @override + String get dashboardMetricAgeLabel => 'उम्र'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value वर्ष', + one: '$value वर्ष', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'वजन'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'ऊँचाई'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'एलर्जी'; + + @override + String get dashboardInfoChronicTitle => 'क्रोनिक'; + + @override + String get dashboardInfoMedicationTitle => 'दवा'; + + @override + String get dashboardInfoDevicesTitle => 'डिवाइस'; + + @override + String get dashboardNavigationConsultations => 'परामर्श'; + + @override + String get dashboardNavigationDocuments => 'दस्तावेज़'; + + @override + String get dashboardDeleteRecordTitle => 'स्वास्थ्य रिकॉर्ड हटाएँ?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'यह आपके स्वास्थ्य डेटा को स्थायी रूप से हटा देगा और इसे पूर्ववत नहीं किया जा सकता। आप उस संदर्भ को खो देंगे जिसका हम आपको मार्गदर्शन करने के लिए उपयोग करते हैं।'; + + @override + String get dashboardDeleteRecordCancel => 'रद्द करें'; + + @override + String get dashboardDeleteRecordConfirm => 'हटाएँ'; + + @override + String get dashboardDeleteRecordLoading => + 'आपका स्वास्थ्य रिकॉर्ड हटाया जा रहा है...'; + + @override + String get dashboardDeleteRecordError => 'प्रोफ़ाइल हटाने में विफल'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'स्वास्थ्य रिकॉर्ड हटाया गया'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'आप कभी भी सहायक से बात करके एक नया बना सकते हैं।'; + + @override + String get dashboardDeleteRecordSuccessButton => 'चैट पर लौटें'; + + @override + String get dataEditingScreenTitle => 'संपादन'; + + @override + String get dataFailedToLoadError => 'प्रोफ़ाइल डेटा लोड करने में विफल'; + + @override + String get dataRecordSavedTitle => 'परिवर्तन सहेजे गए'; + + @override + String get dataRecordSavedSubtitle => + 'आपकी जानकारी सफलतापूर्वक अपडेट कर दी गई है।'; + + @override + String get dataRecordSavedButton => 'प्रोफ़ाइल पर लौटें'; + + @override + String get dataRecordUpdateError => 'प्रोफ़ाइल डेटा को अपडेट करने में विफल'; + + @override + String get dataRecordDiscardTitle => 'परिवर्तनों को त्यागें?'; + + @override + String get dataRecordDiscardSubtitle => + 'आपने अपने प्रोफ़ाइल में कुछ बदलाव किए हैं। उन्हें सहेजें या उन्हें छोड़ दें।'; + + @override + String get dataRecordDiscardCancel => 'संपादन जारी रखें'; + + @override + String get dataRecordDiscardConfirm => 'खारिज करें'; + + @override + String get dataRecordEditTooltip => 'संपादित करें'; + + @override + String get dataRecordAddTag => 'रिकॉर्ड जोड़ें'; + + @override + String get consultationsSearch => 'खोजें'; + + @override + String get consultationsSearchEmpty => 'कोई परिणाम नहीं मिला'; + + @override + String get documentsMenuDownload => 'डाउनलोड'; + + @override + String get documentsMenuShare => 'शेयर करें'; + + @override + String get documentsMenuDelete => 'हटाएँ'; + + @override + String get documentsEmptyList => 'कोई दस्तावेज़ नहीं मिला'; + + @override + String get documentsDeleteTitle => 'क्या इस दस्तावेज़ को हटाना है?'; + + @override + String get documentsDeleteSubtitle => 'यह फ़ाइल स्थायी रूप से हटा दी जाएगी'; + + @override + String get documentsDeleteCancel => 'रद्द करें'; + + @override + String get documentsDeleteButton => 'हटाएँ'; + + @override + String get documentsMoreActionsTooltip => 'और कार्रवाइयाँ'; + + @override + String get profilesSearch => 'खोजें'; + + @override + String get profilesEmptyList => 'कोई प्रोफ़ाइल नहीं मिली'; + + @override + String get profilesViewMore => 'और देखें'; + + @override + String get profilesMore => 'और'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina अब आपकी सेहत को याद रखता है'; + + @override + String get profilesAnnouncementSubtitle1 => + 'आपकी परामर्श अब स्वचालित रूप से आपके स्वास्थ्य रिकॉर्ड का निर्माण और अद्यतन करते हैं।'; + + @override + String get profilesAnnouncementTitle2 => 'आपका स्वास्थ्य रिकॉर्ड, आपके नियम'; + + @override + String get profilesAnnouncementSubtitle2 => + 'किसी भी समय लक्षण, दवाएं, इतिहास या दस्तावेज़ देखें, संपादित करें या जोड़ें।'; + + @override + String get profilesAnnouncementTitle3 => 'अपने पूरे परिवार की देखभाल करें'; + + @override + String get profilesAnnouncementSubtitle3 => + 'अपने प्रियजनों, अपने बच्चों, माता-पिता या साथी के लिए एक स्वास्थ्य रिकॉर्ड बनाएं।'; + + @override + String get profilesAnnouncementTitle4 => + 'क्या आप अपनी स्वास्थ्य रिकॉर्ड को सहेजने के लिए तैयार हैं?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'अपनी सलाह के बाद, इसे सहेजने के लिए \"प्रोफ़ाइल जोड़ें\" पर टैप करें।'; + + @override + String get profilesNextButton => 'अगला'; + + @override + String get profilesStartButton => 'परामर्श शुरू करें'; + + @override + String get profilesLaterButton => 'शायद बाद में'; + + @override + String get profileSuccessCloseButton => 'बंद करें'; + + @override + String get pdfHeaderTitle => 'स्वास्थ्य रिकॉर्ड'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'स्वास्थ्य रिकॉर्ड — $name'; + } + + @override + String get expandableFieldMore => '...और'; + + @override + String get expandableFieldLess => '...कम'; + + @override + String get profiles_button_addnew => 'नया प्रोफ़ाइल जोड़ें'; + + @override + String get profiles_label_addnew => + 'इस परामर्श के विवरण को सहेजने के लिए एक प्रोफ़ाइल बनाएं।'; + + @override + String get profiles_label_health_records_hint => + 'आप इसे कभी भी अपने Health Records में देख सकते हैं'; + + @override + String get profiles_label_keep_talking_hint => + 'यदि इस बारे में या इससे संबंधित किसी भी विषय पर आपके और भी प्रश्न हैं, तो बेझिझक मुझसे बातचीत जारी रखें। मैं मदद के लिए यहाँ हूँ'; + + @override + String get profile_section_basic_title => 'सामान्य जानकारी'; + + @override + String get profile_section_basic_name_label => 'नाम'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'पहला नाम'; + + @override + String get profile_section_basic_first_name_placeholder => 'जॉन'; + + @override + String get profile_section_basic_last_name_label => 'उपनाम'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'लिंग'; + + @override + String get profile_section_basic_sex_placeholder => 'कृपया चुनें'; + + @override + String get profile_section_basic_sex_options_male => 'पुरुष'; + + @override + String get profile_section_basic_sex_options_female => 'महिला'; + + @override + String get profile_section_basic_sex_options_other => 'अन्य'; + + @override + String get profile_section_basic_date_of_birth_label => 'जन्मतिथि'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'उम्र'; + + @override + String get profile_section_basic_age_str_placeholder => 'उदा. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'फ़ोन नंबर'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ईमेल'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'स्थान'; + + @override + String get profile_section_basic_location_placeholder => 'उदा. शहर, देश'; + + @override + String get profile_section_body_diet_title => 'शरीर और आहार'; + + @override + String get profile_section_body_diet_height_str_label => 'ऊंचाई'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'उदा. 180 सेमी'; + + @override + String get profile_section_body_diet_weight_str_label => 'वज़न'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'उदा. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'मासिक धर्म चक्र'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'उदा. नियमित, अनियमित'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'आहार प्रतिबंध'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'कृपया चुनें'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'हमें बताएं कि आप क्या खाते हैं और आपके पास कौन सी पाबंदियाँ हैं'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'कोई नहीं'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'शाकाहारी'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'वीगन'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'ग्लूटेन मुक्त'; + + @override + String get profile_section_body_diet_bmi_label => + 'शरीर द्रव्यमान सूचकांक (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'उदा. 24.5'; + + @override + String get profile_section_health_profile_title => 'स्वास्थ्य प्रोफ़ाइल'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'दीर्घकालिक बीमारियाँ'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'जैसे कि मधुमेह प्रकार 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'कृपया सभी पुरानी बीमारियों की सूची बनाएं और बताएं कि उन्हें कब निदान किया गया और कोई जटिलताएँ हैं या नहीं।'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'पिछली बीमारियाँ'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'जैसे कि बार-बार सामान्य सर्दी'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'कृपया गंभीर बीमारियों की सूची बनाएं जो आपने अतीत में अनुभव की हैं, भले ही आप ठीक हो गए हों।'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'शल्य चिकित्सा का इतिहास'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'उदा. Appendectomy'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'कृपया सभी सर्जरी की सूची बनाएं और वर्ष और यदि कोई जटिलताएँ थीं तो उन्हें शामिल करें।'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'कभी-कभार ली जाने वाली दवाएँ'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'जैसे कि इबुप्रोफेन'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'कृपया उन दवाओं की सूची बनाएं जो आप कभी-कभी लेते हैं (उदाहरण: दर्द निवारक, एलर्जी की दवाएं), जिसमें खुराक और उपयोग का कारण शामिल है।'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'नियमित दवाएं'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'जैसे कि मेटफॉर्मिन'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'कृपया सभी दवाओं की सूची बनाएं जो आप नियमित रूप से लेते हैं, जिसमें नाम, खुराक, आप इसे दिन में कितनी बार लेते हैं, और यह किस स्थिति के लिए है।'; + + @override + String get profile_section_health_profile_allergies_label => 'एलर्जी'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'जैसे कि पेनिसिलिन - दाने का कारण बनता है'; + + @override + String get profile_section_health_profile_allergies_hint => + 'कृपया सभी एलर्जी (दवाएं, खाद्य, पर्यावरण) सूचीबद्ध करें, और बताएं कि आपकी क्या प्रतिक्रिया है (उदाहरण के लिए: दाने, सूजन, सांस लेने में समस्या)।'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'विशेष स्थितियाँ'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'उदा. गर्भावस्था, विकलांगता'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'यदि आपके पास कोई महत्वपूर्ण चिकित्सा स्थितियाँ हैं जिनके बारे में डॉक्टरों को हमेशा पता होना चाहिए (उदाहरण के लिए: गर्भावस्था, प्रत्यारोपित उपकरण, विकलांगता, एंटीकोआगुलेंट चिकित्सा), तो कृपया उनका वर्णन करें। यदि कोई नहीं है, तो आप इसे खाली छोड़ सकते हैं।'; + + @override + String get profile_section_health_profile_family_history_label => + 'पारिवारिक इतिहास'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'उदा. हृदय रोग, कैंसर'; + + @override + String get profile_section_health_profile_family_history_hint => + 'कृपया अपने परिवार में महत्वपूर्ण बीमारियों का वर्णन करें (उदाहरण: मधुमेह, उच्च रक्तचाप, हृदय रोग, कैंसर, आनुवंशिक बीमारियाँ) और यह बताएं कि किस परिवार के सदस्य को यह स्थिति थी।'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'सामाजिक और जीवनशैली कारक'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'उदा. धूम्रपान, शराब का सेवन'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'कृपया जीवनशैली के कारकों का वर्णन करें जो आपकी सेहत को प्रभावित कर सकते हैं, जैसे धूम्रपान, शराब, शारीरिक गतिविधि, आहार, नींद और पेशा।'; + + @override + String get profile_section_health_profile_devices_label => 'चिकित्सा उपकरण'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'उदा. पेसमेकर, हियरिंग एड, इंसुलिन पंप'; + + @override + String get profile_section_health_profile_devices_hint => + 'कृपया किसी भी चिकित्सा उपकरणों की सूची बनाएं जो आप उपयोग करते हैं या जिनका प्रत्यारोपण किया गया है, जैसे कि पेसमेकर, इंसुलिन पंप, श्रवण यंत्र, कृत्रिम अंग, या अन्य सहायक या निगरानी उपकरण। यदि लागू हो तो संबंधित विवरण शामिल करें।'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'सर्वाहारी'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'फास्ट फूड'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'पेस्केटेरियन'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'लैक्टोज़ मुक्त'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'कम सोडियम आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'कम चीनी वाला आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'हृदय आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'गुर्दे के लिए आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'अन्य'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_hu.dart b/example/lib/src/generated/profiles/profiles_localization_hu.dart new file mode 100644 index 0000000..6471789 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_hu.dart @@ -0,0 +1,583 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hungarian (`hu`). +class ProfilesLocalizationHu extends ProfilesLocalization { + ProfilesLocalizationHu([String locale = 'hu']) : super(locale); + + @override + String get chatDrawerTitle => 'Egészségügyi nyilvántartások'; + + @override + String get chatDrawerBadgeNew => 'ÚJ'; + + @override + String get bannerTitle => 'Hozza létre egészségügyi nyilvántartását'; + + @override + String get bannerSubtitle => 'A konzultáció végén adja hozzá a profilját.'; + + @override + String get bannerMoreProfilesTitle => 'További profilok hozzáadása'; + + @override + String get bannerMoreProfilesSubtitle => + 'Kezdj el egy konzultációt valaki más számára, hogy létrehozhassa a profilját.'; + + @override + String get bannerSignUp => + 'Jelentkezzen be az egészségügyi nyilvántartás létrehozásához'; + + @override + String get errorRetryButton => 'Újrapróbálkozás'; + + @override + String get dashboardDeleteError => 'A profil törlése nem sikerült'; + + @override + String get dashboardSummaryLoadError => + 'A profil összefoglalójának betöltése nem sikerült'; + + @override + String get dashboardMenuViewFullRecord => 'Teljes rekord megtekintése'; + + @override + String get dashboardMenuShare => 'Megosztás'; + + @override + String get dashboardMenuDelete => 'Törlés'; + + @override + String get dashboardMetricAgeLabel => 'Kor'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value év', + one: '$value év', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Súly'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Magasság'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Allergiák'; + + @override + String get dashboardInfoChronicTitle => 'Krónikus'; + + @override + String get dashboardInfoMedicationTitle => 'Gyógyszer'; + + @override + String get dashboardInfoDevicesTitle => 'Eszközök'; + + @override + String get dashboardNavigationConsultations => 'Konzultációk'; + + @override + String get dashboardNavigationDocuments => 'Dokumentumok'; + + @override + String get dashboardDeleteRecordTitle => + 'Egészségügyi nyilvántartás törlése?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Ez véglegesen eltávolítja az egészségügyi adatait, és nem vonható vissza. El fogja veszíteni a kontextust, amelyet a vezetéshez használunk.'; + + @override + String get dashboardDeleteRecordCancel => 'Mégse'; + + @override + String get dashboardDeleteRecordConfirm => 'Törlés'; + + @override + String get dashboardDeleteRecordLoading => + 'Az egészségügyi nyilvántartás törlése...'; + + @override + String get dashboardDeleteRecordError => 'A profil törlése nem sikerült'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'Egészségügyi nyilvántartás törölve'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Bármikor létrehozhat egy újat, ha beszélget a segéddel.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Vissza a csevegéshez'; + + @override + String get dataEditingScreenTitle => 'Szerkesztés'; + + @override + String get dataFailedToLoadError => 'A profiladatok betöltése nem sikerült'; + + @override + String get dataRecordSavedTitle => 'Változások mentve'; + + @override + String get dataRecordSavedSubtitle => + 'Az Ön adatai sikeresen frissítve lettek.'; + + @override + String get dataRecordSavedButton => 'Vissza a profilhoz'; + + @override + String get dataRecordUpdateError => 'A profiladatok frissítése nem sikerült'; + + @override + String get dataRecordDiscardTitle => 'Változások elvetése?'; + + @override + String get dataRecordDiscardSubtitle => + 'Változtatásokat hajtott végre a profilján. Mentse el őket, mielőtt elmegy, vagy dobja el őket.'; + + @override + String get dataRecordDiscardCancel => 'Szerkesztés folytatása'; + + @override + String get dataRecordDiscardConfirm => 'Elvetés'; + + @override + String get dataRecordEditTooltip => 'Szerkesztés'; + + @override + String get dataRecordAddTag => 'Felvétel hozzáadása'; + + @override + String get consultationsSearch => 'Keresés'; + + @override + String get consultationsSearchEmpty => 'Nincsenek találatok'; + + @override + String get documentsMenuDownload => 'Letöltés'; + + @override + String get documentsMenuShare => 'Megosztás'; + + @override + String get documentsMenuDelete => 'Törlés'; + + @override + String get documentsEmptyList => 'Nincsenek dokumentumok'; + + @override + String get documentsDeleteTitle => 'Törölni szeretné ezt a dokumentumot?'; + + @override + String get documentsDeleteSubtitle => + 'Ez a fájl véglegesen eltávolításra kerül'; + + @override + String get documentsDeleteCancel => 'Mégse'; + + @override + String get documentsDeleteButton => 'Törlés'; + + @override + String get documentsMoreActionsTooltip => 'További műveletek'; + + @override + String get profilesSearch => 'Keresés'; + + @override + String get profilesEmptyList => 'Nem találhatók profilok'; + + @override + String get profilesViewMore => 'Továbbiak megtekintése'; + + @override + String get profilesMore => 'Több'; + + @override + String get profilesAnnouncementTitle1 => + 'A Doctorina most már emlékszik az egészségére'; + + @override + String get profilesAnnouncementSubtitle1 => + 'A konzultációi most automatikusan építik és frissítik az Egészségügyi Nyilvántartását.'; + + @override + String get profilesAnnouncementTitle2 => + 'Az Ön egészségügyi nyilvántartása, az Ön szabályai'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Bármikor megtekintheti, szerkesztheti vagy hozzáadhatja a tüneteket, gyógyszereket, a kórtörténetet vagy a dokumentumokat.'; + + @override + String get profilesAnnouncementTitle3 => 'Gondoskodjon az egész családjáról'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Hozzon létre egészségügyi nyilvántartást szerettei, gyerekei, szülei vagy partnere számára.'; + + @override + String get profilesAnnouncementTitle4 => + 'Készen áll a Health Record mentésére?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'A konzultáció után érintse meg az „Profil hozzáadása” gombot a mentéshez.'; + + @override + String get profilesNextButton => 'Következő'; + + @override + String get profilesStartButton => 'Konzultáció indítása'; + + @override + String get profilesLaterButton => 'Később'; + + @override + String get profileSuccessCloseButton => 'Bezárás'; + + @override + String get pdfHeaderTitle => 'Egészségügyi nyilvántartás'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Egészségügyi nyilvántartás — $name'; + } + + @override + String get expandableFieldMore => '...több'; + + @override + String get expandableFieldLess => '...kevesebb'; + + @override + String get profiles_button_addnew => 'Új profil hozzáadása'; + + @override + String get profiles_label_addnew => + 'Hozzon létre egy profilt a konzultáció részleteinek mentéséhez.'; + + @override + String get profiles_label_health_records_hint => + 'Ezt bármikor értékelheti az Egészségügyi feljegyzéseiben'; + + @override + String get profiles_label_keep_talking_hint => + 'Ha további kérdése van ezzel vagy bármivel kapcsolatban, nyugodtan folytassa a beszélgetést velem. Itt vagyok, hogy segítsek'; + + @override + String get profile_section_basic_title => 'Általános információk'; + + @override + String get profile_section_basic_name_label => 'Név'; + + @override + String get profile_section_basic_name_placeholder => 'János Kovács'; + + @override + String get profile_section_basic_first_name_label => 'Keresztnév'; + + @override + String get profile_section_basic_first_name_placeholder => 'János'; + + @override + String get profile_section_basic_last_name_label => 'Vezetéknév'; + + @override + String get profile_section_basic_last_name_placeholder => 'Kovács'; + + @override + String get profile_section_basic_sex_label => 'Nem'; + + @override + String get profile_section_basic_sex_placeholder => 'Válasszon'; + + @override + String get profile_section_basic_sex_options_male => 'Férfi'; + + @override + String get profile_section_basic_sex_options_female => 'Nő'; + + @override + String get profile_section_basic_sex_options_other => 'Egyéb'; + + @override + String get profile_section_basic_date_of_birth_label => 'Születési dátum'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Életkor'; + + @override + String get profile_section_basic_age_str_placeholder => 'pl. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Telefonszám'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-mail'; + + @override + String get profile_section_basic_email_placeholder => 'példa@példa.hu'; + + @override + String get profile_section_basic_location_label => 'Hely'; + + @override + String get profile_section_basic_location_placeholder => 'pl. Város, Ország'; + + @override + String get profile_section_body_diet_title => 'Test & Étrend'; + + @override + String get profile_section_body_diet_height_str_label => 'Magasság'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'pl. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Testsúly'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'pl. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menstruációs ciklus'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'pl. Rendszeres, Rendszertelen'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Étrend-korlátozások'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Kérjük, válasszon'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Tudassa velünk, mit eszik, és van-e bármilyen korlátozása'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Nincs'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetáriánus'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegán'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Gluténmentes'; + + @override + String get profile_section_body_diet_bmi_label => 'Testtömegindex (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'pl. 24,5'; + + @override + String get profile_section_health_profile_title => 'Egészségprofil'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Krónikus betegségek'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'pl. 2-es típusú cukorbetegség'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Kérjük, sorolja fel az összes krónikus betegséget, és tüntesse fel, mikor diagnosztizálták őket, valamint bármilyen szövődményt.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Korábbi betegségek'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'pl. Gyakori megfázás'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Kérjük, sorolja fel a múltban előfordult súlyos betegségeket, még akkor is, ha felépült.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Műtéti előzmények'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'pl. vakbélműtét'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Kérjük, sorolja fel az összes műtétet, és adja meg az évet, valamint azt, hogy voltak-e szövődmények.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Időszakosan Használt Gyógyszerek'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'pl. Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Kérjük, sorolja fel azokat a gyógyszereket, amelyeket időnként szed (például: fájdalomcsillapítók, allergiás gyógyszerek), beleértve az adagot és a használat okát.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Rendszeres gyógyszerek'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'pl. Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Kérjük, sorolja fel az összes gyógyszert, amelyet rendszeresen szed, beleértve a nevét, az adagot, hogy hányszor naponta szedi, és hogy milyen állapot kezelésére használja.'; + + @override + String get profile_section_health_profile_allergies_label => 'Allergiák'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'pl. Penicillin – kiütést okoz'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Kérjük, sorolja fel az összes allergiáját (gyógyszerek, ételek, környezeti), és írja le, milyen reakciót tapasztal (például: kiütés, duzzanat, légzési problémák).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Különleges állapotok'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'pl. terhesség, fogyatékosság'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Ha vannak fontos orvosi állapotai, amelyeket az orvosoknak mindig tudniuk kell (például: terhesség, beültetett eszközök, fogyatékosságok, antikoaguláns terápia), kérjük, írja le őket. Ha nincs, ezt üresen hagyhatja.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Családi anamnézis'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'pl. szívbetegség, rák'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Kérjük, írja le a családjában előforduló fontos betegségeket (például: cukorbetegség, magas vérnyomás, szívbetegség, rák, genetikai betegségek), és adja meg, hogy melyik családtag szenvedett az adott állapotban.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Szociális & Életmódbeli Tényezők'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'pl. dohányzás, alkoholfogyasztás'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Kérjük, írja le azokat az életmódbeli tényezőket, amelyek hatással lehetnek az egészségére, például a dohányzást, alkoholfogyasztást, fizikai aktivitást, étrendet, alvást és foglalkozást.'; + + @override + String get profile_section_health_profile_devices_label => + 'Orvostechnikai eszközök'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'pl. Pacemaker, Hallókészülék, Inzulinpumpa'; + + @override + String get profile_section_health_profile_devices_hint => + 'Kérjük, sorolja fel azokat az orvosi eszközöket, amelyeket használ vagy beültettek Önnek, például pacemakerek, inzulinpumpák, hallókészülékek, protézisek vagy egyéb segédeszközök vagy monitorozó eszközök. Ha releváns részletek vannak, kérjük, azokat is tüntesse fel.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Mindenevő'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Gyorséttermi ételek'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetáriánus'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Laktózmentes'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Alacsony nátriumtartalmú étrend'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Alacsony cukortartalmú étrend'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Szívbarát étrend'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Vese diéta'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Egyéb'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_id.dart b/example/lib/src/generated/profiles/profiles_localization_id.dart new file mode 100644 index 0000000..2fbfd70 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_id.dart @@ -0,0 +1,577 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Indonesian (`id`). +class ProfilesLocalizationId extends ProfilesLocalization { + ProfilesLocalizationId([String locale = 'id']) : super(locale); + + @override + String get chatDrawerTitle => 'Rekam Medis'; + + @override + String get chatDrawerBadgeNew => 'BARU'; + + @override + String get bannerTitle => 'Buat Rekam Kesehatan Anda'; + + @override + String get bannerSubtitle => + 'Di akhir konsultasi Anda, tambahkan profil Anda.'; + + @override + String get bannerMoreProfilesTitle => 'Tambah lebih banyak profil'; + + @override + String get bannerMoreProfilesSubtitle => + 'Mulai konsultasi untuk orang lain untuk membuat profil mereka.'; + + @override + String get bannerSignUp => 'Daftar untuk membuat Rekam Kesehatan Anda'; + + @override + String get errorRetryButton => 'Coba lagi'; + + @override + String get dashboardDeleteError => 'Gagal menghapus profil'; + + @override + String get dashboardSummaryLoadError => 'Gagal memuat ringkasan profil'; + + @override + String get dashboardMenuViewFullRecord => 'Lihat Rekam Penuh'; + + @override + String get dashboardMenuShare => 'Bagikan'; + + @override + String get dashboardMenuDelete => 'Hapus'; + + @override + String get dashboardMetricAgeLabel => 'Usia'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value tahun', + one: '$value tahun', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Berat'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Tinggi'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'Alergi'; + + @override + String get dashboardInfoChronicTitle => 'Kronis'; + + @override + String get dashboardInfoMedicationTitle => 'Obat'; + + @override + String get dashboardInfoDevicesTitle => 'Perangkat'; + + @override + String get dashboardNavigationConsultations => 'Konsultasi'; + + @override + String get dashboardNavigationDocuments => 'Dokumen'; + + @override + String get dashboardDeleteRecordTitle => 'Hapus Rekam Kesehatan?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Ini akan menghapus data kesehatan Anda secara permanen dan tidak dapat dibatalkan. Anda akan kehilangan konteks yang kami gunakan untuk membimbing Anda.'; + + @override + String get dashboardDeleteRecordCancel => 'Batal'; + + @override + String get dashboardDeleteRecordConfirm => 'Hapus'; + + @override + String get dashboardDeleteRecordLoading => + 'Menghapus catatan kesehatan Anda...'; + + @override + String get dashboardDeleteRecordError => 'Gagal menghapus profil'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Rekam medis dihapus'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Anda dapat membuat yang baru kapan saja dengan mengobrol dengan asisten.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Kembali ke Obrolan'; + + @override + String get dataEditingScreenTitle => 'Mengedit'; + + @override + String get dataFailedToLoadError => 'Gagal memuat data profil'; + + @override + String get dataRecordSavedTitle => 'Perubahan disimpan'; + + @override + String get dataRecordSavedSubtitle => + 'Informasi Anda telah berhasil diperbarui.'; + + @override + String get dataRecordSavedButton => 'Kembali ke profil'; + + @override + String get dataRecordUpdateError => 'Gagal memperbarui data profil'; + + @override + String get dataRecordDiscardTitle => 'Buang perubahan?'; + + @override + String get dataRecordDiscardSubtitle => + 'Anda telah membuat beberapa perubahan pada profil Anda. Simpan sebelum Anda pergi, atau buang.'; + + @override + String get dataRecordDiscardCancel => 'Teruskan pengeditan'; + + @override + String get dataRecordDiscardConfirm => 'Buang'; + + @override + String get dataRecordEditTooltip => 'Edit'; + + @override + String get dataRecordAddTag => 'Tambahkan catatan'; + + @override + String get consultationsSearch => 'Cari'; + + @override + String get consultationsSearchEmpty => 'Tidak ada hasil ditemukan'; + + @override + String get documentsMenuDownload => 'Unduh'; + + @override + String get documentsMenuShare => 'Bagikan'; + + @override + String get documentsMenuDelete => 'Hapus'; + + @override + String get documentsEmptyList => 'Tidak ada dokumen ditemukan'; + + @override + String get documentsDeleteTitle => 'Hapus dokumen ini?'; + + @override + String get documentsDeleteSubtitle => 'File ini akan dihapus secara permanen'; + + @override + String get documentsDeleteCancel => 'Batal'; + + @override + String get documentsDeleteButton => 'Hapus'; + + @override + String get documentsMoreActionsTooltip => 'Tindakan lainnya'; + + @override + String get profilesSearch => 'Cari'; + + @override + String get profilesEmptyList => 'Tidak ada profil ditemukan'; + + @override + String get profilesViewMore => 'Lihat selengkapnya'; + + @override + String get profilesMore => 'Lebih'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina sekarang mengingat kesehatan Anda'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Konsultasi Anda sekarang membangun dan memperbarui Rekam Kesehatan Anda secara otomatis.'; + + @override + String get profilesAnnouncementTitle2 => 'Rekam Kesehatan Anda, aturan Anda'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Lihat, edit, atau tambahkan gejala, obat, riwayat, atau dokumen kapan saja.'; + + @override + String get profilesAnnouncementTitle3 => 'Rawat seluruh keluarga Anda'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Buat Rekam Kesehatan untuk orang-orang terkasih Anda, anak-anak, orang tua, atau pasangan.'; + + @override + String get profilesAnnouncementTitle4 => + 'Siap untuk menyimpan Rekam Kesehatan Anda?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Setelah konsultasi Anda, ketuk \"Tambahkan profil\" untuk menyimpannya.'; + + @override + String get profilesNextButton => 'Selanjutnya'; + + @override + String get profilesStartButton => 'Mulai konsultasi'; + + @override + String get profilesLaterButton => 'Mungkin nanti'; + + @override + String get profileSuccessCloseButton => 'Tutup'; + + @override + String get pdfHeaderTitle => 'Rekam Kesehatan'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Rekam Kesehatan — $name'; + } + + @override + String get expandableFieldMore => '...lebih'; + + @override + String get expandableFieldLess => '...kurang'; + + @override + String get profiles_button_addnew => 'Tambah profil baru'; + + @override + String get profiles_label_addnew => + 'Buat profil untuk menyimpan rincian konsultasi ini.'; + + @override + String get profiles_label_health_records_hint => + 'Anda dapat menilai hal ini kapan saja di Rekam Kesehatan Anda'; + + @override + String get profiles_label_keep_talking_hint => + 'Jika Anda memiliki pertanyaan lebih lanjut tentang ini atau apa pun yang terkait, silakan terus berbicara dengan saya. Saya di sini untuk membantu'; + + @override + String get profile_section_basic_title => 'Informasi Umum'; + + @override + String get profile_section_basic_name_label => 'Nama'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Nama depan'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Nama keluarga'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Jenis kelamin'; + + @override + String get profile_section_basic_sex_placeholder => 'Silakan pilih'; + + @override + String get profile_section_basic_sex_options_male => 'Laki-laki'; + + @override + String get profile_section_basic_sex_options_female => 'Perempuan'; + + @override + String get profile_section_basic_sex_options_other => 'Lainnya'; + + @override + String get profile_section_basic_date_of_birth_label => 'Tanggal Lahir'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Usia'; + + @override + String get profile_section_basic_age_str_placeholder => 'cth. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Nomor telepon'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Surel'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Lokasi'; + + @override + String get profile_section_basic_location_placeholder => 'mis. Kota, Negara'; + + @override + String get profile_section_body_diet_title => 'Tubuh & Diet'; + + @override + String get profile_section_body_diet_height_str_label => 'Tinggi badan'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'mis. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Berat'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'mis. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Siklus Menstruasi'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'mis. Teratur, Tidak teratur'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Pembatasan makanan'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Silakan pilih'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Beri tahu kami apa yang Anda makan dan batasan yang Anda miliki'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Tidak ada'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetarian'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Bebas Gluten'; + + @override + String get profile_section_body_diet_bmi_label => 'Indeks Massa Tubuh (IMT)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'mis. 24.5'; + + @override + String get profile_section_health_profile_title => 'Profil Kesehatan'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Penyakit Kronis'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'misalnya Diabetes Tipe 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Silakan sebutkan semua penyakit kronis dan sertakan kapan mereka didiagnosis serta komplikasi yang ada.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Riwayat Penyakit'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'misalnya, flu biasa yang sering'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Silakan sebutkan penyakit serius yang Anda alami di masa lalu, meskipun Anda sudah sembuh.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Riwayat Operasi'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'mis. Apendektomi'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Silakan sebutkan semua operasi dan sertakan tahun serta apakah ada komplikasi.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Obat yang digunakan sesekali'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'misalnya Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Silakan sebutkan obat yang Anda konsumsi dari waktu ke waktu (misalnya: obat pereda nyeri, obat alergi), termasuk dosis dan alasan penggunaannya.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Obat Rutin'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'misalnya Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Silakan sebutkan semua obat yang Anda konsumsi secara teratur, termasuk nama, dosis, berapa kali sehari Anda mengonsumsinya, dan untuk kondisi apa.'; + + @override + String get profile_section_health_profile_allergies_label => 'Alergi'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'misalnya, Penisilin – menyebabkan ruam'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Silakan sebutkan semua alergi (obat, makanan, lingkungan), dan jelaskan reaksi yang Anda alami (misalnya: ruam, pembengkakan, masalah pernapasan).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Kondisi Khusus'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'mis. Kehamilan, Disabilitas'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Jika Anda memiliki kondisi medis penting yang harus selalu diketahui dokter (misalnya: kehamilan, perangkat yang ditanam, disabilitas, terapi antikoagulasi), silakan jelaskan. Jika tidak ada, Anda dapat membiarkannya kosong.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Riwayat Kesehatan Keluarga'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'mis. Penyakit Jantung, Kanker'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Silakan jelaskan penyakit penting dalam keluarga Anda (misalnya: diabetes, hipertensi, penyakit jantung, kanker, penyakit genetik) dan sebutkan anggota keluarga mana yang mengalami kondisi tersebut.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Faktor Sosial & Gaya Hidup'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'mis. merokok, konsumsi alkohol'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Silakan jelaskan faktor gaya hidup yang dapat memengaruhi kesehatan Anda, seperti merokok, alkohol, aktivitas fisik, diet, tidur, dan pekerjaan.'; + + @override + String get profile_section_health_profile_devices_label => 'Alat Kesehatan'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'mis. Alat pacu jantung, Alat bantu dengar, Pompa insulin'; + + @override + String get profile_section_health_profile_devices_hint => + 'Silakan sebutkan perangkat medis yang Anda gunakan atau yang telah ditanam, seperti alat pacu jantung, pompa insulin, alat bantu dengar, prostetik, atau perangkat bantu atau pemantauan lainnya. Sertakan detail yang relevan jika ada.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Omnivora'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Makanan cepat saji'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Vegetarian yang makan ikan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Bebas laktosa'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Diet rendah natrium'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Diet rendah gula'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Diet Jantung'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Diet ginjal'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Lainnya'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_it.dart b/example/lib/src/generated/profiles/profiles_localization_it.dart new file mode 100644 index 0000000..03a3bc0 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_it.dart @@ -0,0 +1,584 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Italian (`it`). +class ProfilesLocalizationIt extends ProfilesLocalization { + ProfilesLocalizationIt([String locale = 'it']) : super(locale); + + @override + String get chatDrawerTitle => 'Cartelle cliniche'; + + @override + String get chatDrawerBadgeNew => 'NUOVO'; + + @override + String get bannerTitle => 'Crea il tuo Record Sanitario'; + + @override + String get bannerSubtitle => + 'Alla fine della tua consulenza, aggiungi il tuo profilo.'; + + @override + String get bannerMoreProfilesTitle => 'Aggiungi più profili'; + + @override + String get bannerMoreProfilesSubtitle => + 'Inizia una consulenza per qualcun altro per creare il suo profilo.'; + + @override + String get bannerSignUp => 'Iscriviti per creare il tuo Fascicolo Sanitario'; + + @override + String get errorRetryButton => 'Riprova'; + + @override + String get dashboardDeleteError => 'Impossibile eliminare il profilo'; + + @override + String get dashboardSummaryLoadError => + 'Impossibile caricare il riepilogo del profilo'; + + @override + String get dashboardMenuViewFullRecord => 'Visualizza record completo'; + + @override + String get dashboardMenuShare => 'Condividi'; + + @override + String get dashboardMenuDelete => 'Elimina'; + + @override + String get dashboardMetricAgeLabel => 'Età'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value anni', + one: '$value anno', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Peso'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Altezza'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Allergie'; + + @override + String get dashboardInfoChronicTitle => 'Cronico'; + + @override + String get dashboardInfoMedicationTitle => 'Medicamento'; + + @override + String get dashboardInfoDevicesTitle => 'Dispositivi'; + + @override + String get dashboardNavigationConsultations => 'Consultazioni'; + + @override + String get dashboardNavigationDocuments => 'Documenti'; + + @override + String get dashboardDeleteRecordTitle => 'Eliminare il record sanitario?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Questo rimuoverà permanentemente i tuoi dati sanitari e non potrà essere annullato. Perderai il contesto che utilizziamo per guidarti.'; + + @override + String get dashboardDeleteRecordCancel => 'Annulla'; + + @override + String get dashboardDeleteRecordConfirm => 'Elimina'; + + @override + String get dashboardDeleteRecordLoading => + 'Eliminazione del tuo record sanitario...'; + + @override + String get dashboardDeleteRecordError => 'Impossibile eliminare il profilo'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Record sanitario eliminato'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Puoi crearne uno nuovo in qualsiasi momento chattando con l\'assistente.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Torna alla chat'; + + @override + String get dataEditingScreenTitle => 'Modifica'; + + @override + String get dataFailedToLoadError => 'Impossibile caricare i dati del profilo'; + + @override + String get dataRecordSavedTitle => 'Modifiche salvate'; + + @override + String get dataRecordSavedSubtitle => + 'Le tue informazioni sono state aggiornate con successo.'; + + @override + String get dataRecordSavedButton => 'Torna al profilo'; + + @override + String get dataRecordUpdateError => + 'Impossibile aggiornare i dati del profilo'; + + @override + String get dataRecordDiscardTitle => 'Scartare le modifiche?'; + + @override + String get dataRecordDiscardSubtitle => + 'Hai apportato alcune modifiche al tuo profilo. Salvale prima di andare, o scartale.'; + + @override + String get dataRecordDiscardCancel => 'Continua a modificare'; + + @override + String get dataRecordDiscardConfirm => 'Scarta'; + + @override + String get dataRecordEditTooltip => 'Modifica'; + + @override + String get dataRecordAddTag => 'Aggiungi registrazione'; + + @override + String get consultationsSearch => 'Cerca'; + + @override + String get consultationsSearchEmpty => 'Nessun risultato trovato'; + + @override + String get documentsMenuDownload => 'Scarica'; + + @override + String get documentsMenuShare => 'Condividi'; + + @override + String get documentsMenuDelete => 'Elimina'; + + @override + String get documentsEmptyList => 'Nessun documento trovato'; + + @override + String get documentsDeleteTitle => 'Eliminare questo documento?'; + + @override + String get documentsDeleteSubtitle => + 'Questo file verrà rimosso permanentemente'; + + @override + String get documentsDeleteCancel => 'Annulla'; + + @override + String get documentsDeleteButton => 'Elimina'; + + @override + String get documentsMoreActionsTooltip => 'Altre azioni'; + + @override + String get profilesSearch => 'Cerca'; + + @override + String get profilesEmptyList => 'Nessun profilo trovato'; + + @override + String get profilesViewMore => 'Visualizza altro'; + + @override + String get profilesMore => 'Di più'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina ora ricorda la tua salute'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Le tue consultazioni ora costruiscono e aggiornano automaticamente il tuo Fascicolo Sanitario.'; + + @override + String get profilesAnnouncementTitle2 => + 'Il tuo record sanitario, le tue regole'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Visualizza, modifica o aggiungi sintomi, farmaci, storia o documenti in qualsiasi momento.'; + + @override + String get profilesAnnouncementTitle3 => + 'Prenditi cura di tutta la tua famiglia'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Crea una Cartella Sanitaria per i tuoi cari, i tuoi figli, genitori o partner.'; + + @override + String get profilesAnnouncementTitle4 => + 'Pronto a salvare il tuo Record Sanitario?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Dopo la tua consulenza, tocca \"Aggiungi profilo\" per salvarlo.'; + + @override + String get profilesNextButton => 'Avanti'; + + @override + String get profilesStartButton => 'Inizia una consulenza'; + + @override + String get profilesLaterButton => 'Forse più tardi'; + + @override + String get profileSuccessCloseButton => 'Chiudi'; + + @override + String get pdfHeaderTitle => 'Cartella Clinica'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Cartella sanitaria — $name'; + } + + @override + String get expandableFieldMore => '...di più'; + + @override + String get expandableFieldLess => '...meno'; + + @override + String get profiles_button_addnew => 'Aggiungi nuovo profilo'; + + @override + String get profiles_label_addnew => + 'Crea un profilo per salvare i dettagli di questa consultazione.'; + + @override + String get profiles_label_health_records_hint => + 'Puoi consultarlo in qualsiasi momento nei tuoi Documenti sanitari'; + + @override + String get profiles_label_keep_talking_hint => + 'Se hai altre domande su questo o su qualsiasi argomento correlato, sentiti libero di continuare a parlare con me. Sono qui per aiutarti'; + + @override + String get profile_section_basic_title => 'Informazioni generali'; + + @override + String get profile_section_basic_name_label => 'Nome'; + + @override + String get profile_section_basic_name_placeholder => 'Mario Rossi'; + + @override + String get profile_section_basic_first_name_label => 'Nome'; + + @override + String get profile_section_basic_first_name_placeholder => 'Giovanni'; + + @override + String get profile_section_basic_last_name_label => 'Cognome'; + + @override + String get profile_section_basic_last_name_placeholder => 'Rossi'; + + @override + String get profile_section_basic_sex_label => 'Sesso'; + + @override + String get profile_section_basic_sex_placeholder => 'Seleziona'; + + @override + String get profile_section_basic_sex_options_male => 'Maschio'; + + @override + String get profile_section_basic_sex_options_female => 'Donna'; + + @override + String get profile_section_basic_sex_options_other => 'Altro'; + + @override + String get profile_section_basic_date_of_birth_label => 'Data di nascita'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'AAAA-MM-GG'; + + @override + String get profile_section_basic_age_str_label => 'Età'; + + @override + String get profile_section_basic_age_str_placeholder => 'es. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Numero di telefono'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Email'; + + @override + String get profile_section_basic_email_placeholder => 'esempio@esempio.com'; + + @override + String get profile_section_basic_location_label => 'Località'; + + @override + String get profile_section_basic_location_placeholder => 'es. Città, Paese'; + + @override + String get profile_section_body_diet_title => 'Corpo & Alimentazione'; + + @override + String get profile_section_body_diet_height_str_label => 'Altezza'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'es. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Peso'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'es. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Ciclo mestruale'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'es. Regolare, Irregolare'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Restrizioni Alimentari'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Seleziona'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Facci sapere cosa mangi e quali restrizioni hai'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Nessuna'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetariano'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegano'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Senza glutine'; + + @override + String get profile_section_body_diet_bmi_label => + 'Indice di Massa Corporea (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'es. 24,5'; + + @override + String get profile_section_health_profile_title => 'Profilo Sanitario'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Malattie croniche'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'es. Diabete di tipo 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Si prega di elencare tutte le malattie croniche e includere quando sono state diagnosticate e eventuali complicazioni.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Malattie pregresse'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ad es. Raffreddore comune frequente'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Si prega di elencare le malattie gravi che ha avuto in passato, anche se si è ripreso.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Storia chirurgica'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'es. Appendicectomia'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Si prega di elencare tutte le operazioni e includere l\'anno e se ci sono state complicazioni.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Farmaci assunti occasionalmente'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'ad es. Ibuprofene'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Si prega di elencare i farmaci che si assumono di tanto in tanto (ad esempio: antidolorifici, farmaci per le allergie), inclusa la dose e il motivo dell\'uso.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Farmaci abituali'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'ad es. Metformina'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Si prega di elencare tutti i farmaci che si assumono regolarmente, compresi il nome, la dose, quante volte al giorno si assume e per quale condizione.'; + + @override + String get profile_section_health_profile_allergies_label => 'Allergie'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'es. Penicillina – causa eruzione cutanea'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Si prega di elencare tutte le allergie (farmaci, cibo, ambientali) e descrivere quale reazione si ha (ad esempio: eruzione cutanea, gonfiore, problemi respiratori).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Condizioni particolari'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'es. gravidanza, disabilità'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Se hai condizioni mediche importanti di cui i medici dovrebbero sempre essere a conoscenza (ad esempio: gravidanza, dispositivi impiantati, disabilità, terapia anticoagulante), descrivile per favore. Se non ce ne sono, puoi lasciare questo campo vuoto.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Anamnesi familiare'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'es. malattie cardiache, cancro'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Si prega di descrivere le malattie importanti nella propria famiglia (ad esempio: diabete, ipertensione, malattie cardiache, cancro, malattie genetiche) e specificare quale familiare ha avuto la condizione.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Fattori sociali e stile di vita'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'es. fumo, consumo di alcol'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Si prega di descrivere i fattori dello stile di vita che possono influenzare la propria salute, come fumo, alcol, attività fisica, dieta, sonno e occupazione.'; + + @override + String get profile_section_health_profile_devices_label => + 'Dispositivi Medici'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'es. Pacemaker, Apparecchio acustico, Pompa per insulina'; + + @override + String get profile_section_health_profile_devices_hint => + 'Si prega di elencare eventuali dispositivi medici che si utilizzano o che sono stati impiantati, come pacemaker, pompe per insulina, apparecchi acustici, protesi o altri dispositivi di assistenza o monitoraggio. Includere dettagli pertinenti se applicabile.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Onnivoro'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Fast Food'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetariano'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Senza lattosio'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Dieta povera di sodio'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Dieta a basso contenuto di zucchero'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Dieta cardiaca'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Dieta renale'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Altro'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ja.dart b/example/lib/src/generated/profiles/profiles_localization_ja.dart new file mode 100644 index 0000000..c548a8f --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ja.dart @@ -0,0 +1,559 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Japanese (`ja`). +class ProfilesLocalizationJa extends ProfilesLocalization { + ProfilesLocalizationJa([String locale = 'ja']) : super(locale); + + @override + String get chatDrawerTitle => '健康記録'; + + @override + String get chatDrawerBadgeNew => '新しい'; + + @override + String get bannerTitle => '健康記録を作成する'; + + @override + String get bannerSubtitle => '相談の最後に、プロフィールを追加してください。'; + + @override + String get bannerMoreProfilesTitle => 'プロフィールを追加'; + + @override + String get bannerMoreProfilesSubtitle => '他の人のために相談を始めて、彼らのプロフィールを作成します。'; + + @override + String get bannerSignUp => '健康記録を作成するためにサインアップしてください'; + + @override + String get errorRetryButton => '再試行'; + + @override + String get dashboardDeleteError => 'プロフィールの削除に失敗しました'; + + @override + String get dashboardSummaryLoadError => 'プロフィールの概要の読み込みに失敗しました'; + + @override + String get dashboardMenuViewFullRecord => 'フルレコードを見る'; + + @override + String get dashboardMenuShare => '共有する'; + + @override + String get dashboardMenuDelete => '削除'; + + @override + String get dashboardMetricAgeLabel => '年齢'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value 年', + one: '$value 年', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => '体重'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => '身長'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'アレルギー'; + + @override + String get dashboardInfoChronicTitle => '慢性'; + + @override + String get dashboardInfoMedicationTitle => '薬'; + + @override + String get dashboardInfoDevicesTitle => 'デバイス'; + + @override + String get dashboardNavigationConsultations => '相談'; + + @override + String get dashboardNavigationDocuments => 'ドキュメント'; + + @override + String get dashboardDeleteRecordTitle => '健康記録を削除しますか?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'これにより、あなたの健康データが永久に削除され、元に戻すことはできません。あなたが私たちのガイドに使用するコンテキストを失います。'; + + @override + String get dashboardDeleteRecordCancel => 'キャンセル'; + + @override + String get dashboardDeleteRecordConfirm => '削除'; + + @override + String get dashboardDeleteRecordLoading => '健康記録を削除しています...'; + + @override + String get dashboardDeleteRecordError => 'プロフィールの削除に失敗しました'; + + @override + String get dashboardDeleteRecordSuccessTitle => '健康記録が削除されました'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'アシスタントとチャットすることで、いつでも新しいものを作成できます。'; + + @override + String get dashboardDeleteRecordSuccessButton => 'チャットに戻る'; + + @override + String get dataEditingScreenTitle => '編集中'; + + @override + String get dataFailedToLoadError => 'プロフィールデータの読み込みに失敗しました'; + + @override + String get dataRecordSavedTitle => '変更が保存されました'; + + @override + String get dataRecordSavedSubtitle => 'あなたの情報は正常に更新されました。'; + + @override + String get dataRecordSavedButton => 'プロフィールに戻る'; + + @override + String get dataRecordUpdateError => 'プロフィールデータの更新に失敗しました'; + + @override + String get dataRecordDiscardTitle => '変更を破棄しますか?'; + + @override + String get dataRecordDiscardSubtitle => + 'プロフィールにいくつかの変更を加えました。行く前に保存するか、破棄してください。'; + + @override + String get dataRecordDiscardCancel => '編集を続ける'; + + @override + String get dataRecordDiscardConfirm => '破棄'; + + @override + String get dataRecordEditTooltip => '編集'; + + @override + String get dataRecordAddTag => 'レコードを追加'; + + @override + String get consultationsSearch => '検索'; + + @override + String get consultationsSearchEmpty => '結果が見つかりませんでした'; + + @override + String get documentsMenuDownload => 'ダウンロード'; + + @override + String get documentsMenuShare => '共有する'; + + @override + String get documentsMenuDelete => '削除'; + + @override + String get documentsEmptyList => 'ドキュメントが見つかりませんでした'; + + @override + String get documentsDeleteTitle => 'この文書を削除しますか?'; + + @override + String get documentsDeleteSubtitle => 'このファイルは永久に削除されます'; + + @override + String get documentsDeleteCancel => 'キャンセル'; + + @override + String get documentsDeleteButton => '削除'; + + @override + String get documentsMoreActionsTooltip => 'その他の操作'; + + @override + String get profilesSearch => '検索'; + + @override + String get profilesEmptyList => 'プロフィールが見つかりません'; + + @override + String get profilesViewMore => 'もっと見る'; + + @override + String get profilesMore => 'もっと'; + + @override + String get profilesAnnouncementTitle1 => 'ドクターリナはあなたの健康を覚えています'; + + @override + String get profilesAnnouncementSubtitle1 => 'あなたの相談は、健康記録を自動的に構築し更新します。'; + + @override + String get profilesAnnouncementTitle2 => 'あなたの健康記録、あなたのルール'; + + @override + String get profilesAnnouncementSubtitle2 => + 'いつでも症状、薬、履歴、または文書を表示、編集、または追加できます。'; + + @override + String get profilesAnnouncementTitle3 => '家族全体のケアをする'; + + @override + String get profilesAnnouncementSubtitle3 => + '愛する人、子供、親、またはパートナーのために健康記録を作成します。'; + + @override + String get profilesAnnouncementTitle4 => '健康記録を保存する準備はできていますか?'; + + @override + String get profilesAnnouncementSubtitle4 => '相談後、「プロフィールを追加」をタップして保存します。'; + + @override + String get profilesNextButton => '次へ'; + + @override + String get profilesStartButton => '相談を始める'; + + @override + String get profilesLaterButton => '後で'; + + @override + String get profileSuccessCloseButton => '閉じる'; + + @override + String get pdfHeaderTitle => '健康記録'; + + @override + String pdfHeaderTitleWithName(String name) { + return '健康記録 — $name'; + } + + @override + String get expandableFieldMore => '...もっと'; + + @override + String get expandableFieldLess => '...少'; + + @override + String get profiles_button_addnew => '新しいプロフィールを追加'; + + @override + String get profiles_label_addnew => 'この相談の詳細を保存するためにプロフィールを作成します'; + + @override + String get profiles_label_health_records_hint => '健康記録でいつでも確認できます'; + + @override + String get profiles_label_keep_talking_hint => + 'この件や関連することでさらに質問があれば、遠慮なく引き続き話しかけてください。お手伝いします'; + + @override + String get profile_section_basic_title => '基本情報'; + + @override + String get profile_section_basic_name_label => '名前'; + + @override + String get profile_section_basic_name_placeholder => '山田 太郎'; + + @override + String get profile_section_basic_first_name_label => '名'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => '姓'; + + @override + String get profile_section_basic_last_name_placeholder => '山田'; + + @override + String get profile_section_basic_sex_label => '性別'; + + @override + String get profile_section_basic_sex_placeholder => '選択してください'; + + @override + String get profile_section_basic_sex_options_male => '男性'; + + @override + String get profile_section_basic_sex_options_female => '女性'; + + @override + String get profile_section_basic_sex_options_other => 'その他'; + + @override + String get profile_section_basic_date_of_birth_label => '生年月日'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => '年齢'; + + @override + String get profile_section_basic_age_str_placeholder => '例:30'; + + @override + String get profile_section_basic_phonenumber_label => '電話番号'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'メールアドレス'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => '居住地'; + + @override + String get profile_section_basic_location_placeholder => '例:市、国'; + + @override + String get profile_section_body_diet_title => '体と食事'; + + @override + String get profile_section_body_diet_height_str_label => '身長'; + + @override + String get profile_section_body_diet_height_str_placeholder => '例:180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => '体重'; + + @override + String get profile_section_body_diet_weight_str_placeholder => '例:75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => '月経周期'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + '例:規則的、不規則'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => '食事制限'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + '選択してください'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'あなたが食べるものと、持っている制限について教えてください'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'なし'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'ベジタリアン'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'ビーガン'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'グルテンフリー'; + + @override + String get profile_section_body_diet_bmi_label => '体格指数(BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => '例: 24.5'; + + @override + String get profile_section_health_profile_title => '健康プロフィール'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => '慢性疾患'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + '例えば2型糖尿病'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'すべての慢性疾患をリストし、診断された時期と合併症を含めてください。'; + + @override + String get profile_section_health_profile_past_illnesses_label => '既往症'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + '例えば、頻繁な風邪'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + '過去にかかった重い病気をリストしてください、たとえ回復したとしても。'; + + @override + String get profile_section_health_profile_surgical_history_label => '手術歴'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + '例:虫垂切除術'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'すべての手術をリストし、年と合併症があったかどうかを含めてください。'; + + @override + String get profile_section_health_profile_occasional_medications_label => + '時々使用する薬'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + '例えば、イブプロフェン'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + '時々服用する薬(例:鎮痛剤、アレルギー薬)を、用量と使用理由を含めてリストしてください。'; + + @override + String get profile_section_health_profile_regular_medications_label => '常用薬'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + '例:メトホルミン'; + + @override + String get profile_section_health_profile_regular_medications_hint => + '定期的に服用しているすべての薬について、名前、用量、1日に何回服用するか、そしてその薬がどの病状のためであるかを記載してください。'; + + @override + String get profile_section_health_profile_allergies_label => 'アレルギー'; + + @override + String get profile_section_health_profile_allergies_placeholder => + '例:ペニシリン – 発疹を引き起こす'; + + @override + String get profile_section_health_profile_allergies_hint => + 'すべてのアレルギー(薬、食べ物、環境)をリストし、どのような反応があるかを説明してください(例:発疹、腫れ、呼吸の問題)。'; + + @override + String get profile_section_health_profile_special_conditions_label => '特記事項'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + '例:妊娠、障害'; + + @override + String get profile_section_health_profile_special_conditions_hint => + '医師が常に知っておくべき重要な医療条件がある場合(例:妊娠、埋め込みデバイス、障害、抗凝固療法)、それについて説明してください。ない場合は、空白のままにしておいても構いません。'; + + @override + String get profile_section_health_profile_family_history_label => '家族歴'; + + @override + String get profile_section_health_profile_family_history_placeholder => + '例:心臓病、がん'; + + @override + String get profile_section_health_profile_family_history_hint => + 'ご家族における重要な病気について説明してください(例:糖尿病、高血圧、心臓病、癌、遺伝性疾患)そして、どの家族のメンバーがその病気にかかったかを指定してください。'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + '社会的・生活習慣要因'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + '例:喫煙、飲酒'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + '喫煙、アルコール、身体活動、食事、睡眠、職業など、健康に影響を与えるライフスタイル要因について説明してください。'; + + @override + String get profile_section_health_profile_devices_label => '医療機器'; + + @override + String get profile_section_health_profile_devices_placeholder => + '例:ペースメーカー、補聴器、インスリンポンプ'; + + @override + String get profile_section_health_profile_devices_hint => + 'ペースメーカー、インスリンポンプ、補聴器、義肢、またはその他の支援または監視デバイスなど、使用しているまたは埋め込まれている医療機器をリストしてください。該当する場合は、関連する詳細を含めてください。'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + '雑食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ファストフード'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'ペスカタリアン'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + '乳糖フリー'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + '減塩食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + '低糖質の食事'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + '心臓病食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + '腎臓の食事'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'その他'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_kk.dart b/example/lib/src/generated/profiles/profiles_localization_kk.dart new file mode 100644 index 0000000..d35315d --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_kk.dart @@ -0,0 +1,586 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kazakh (`kk`). +class ProfilesLocalizationKk extends ProfilesLocalization { + ProfilesLocalizationKk([String locale = 'kk']) : super(locale); + + @override + String get chatDrawerTitle => 'Денсаулық жазбалары'; + + @override + String get chatDrawerBadgeNew => 'ЖАҢА'; + + @override + String get bannerTitle => 'Денсаулық жазбаңызды жасаңыз'; + + @override + String get bannerSubtitle => + 'Консультацияңыздың соңында профиліңізді қосыңыз.'; + + @override + String get bannerMoreProfilesTitle => 'Көбірек профиль қосу'; + + @override + String get bannerMoreProfilesSubtitle => + 'Басқа біреудің профилін жасау үшін консультация бастаңыз.'; + + @override + String get bannerSignUp => 'Денсаулық жазбаңызды жасау үшін тіркеліңіз'; + + @override + String get errorRetryButton => 'Қайтадан әрекет етіңіз'; + + @override + String get dashboardDeleteError => 'Профильді жою мүмкін болмады'; + + @override + String get dashboardSummaryLoadError => + 'Профильдің қысқаша мазмұнын жүктеу сәтсіз аяқталды'; + + @override + String get dashboardMenuViewFullRecord => 'Толық жазбаны қарау'; + + @override + String get dashboardMenuShare => 'Бөлісу'; + + @override + String get dashboardMenuDelete => 'Жою'; + + @override + String get dashboardMetricAgeLabel => 'Жас'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value жыл', + one: '$value жыл', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Салмақ'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value кг'; + } + + @override + String get dashboardMetricHeightLabel => 'Биіктік'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value см'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Аллергиялар'; + + @override + String get dashboardInfoChronicTitle => 'Созылмалы'; + + @override + String get dashboardInfoMedicationTitle => 'Дәрі-дәрмек'; + + @override + String get dashboardInfoDevicesTitle => 'Құрылғылар'; + + @override + String get dashboardNavigationConsultations => 'Консультациялар'; + + @override + String get dashboardNavigationDocuments => 'Құжаттар'; + + @override + String get dashboardDeleteRecordTitle => 'Денсаулық жазбасын жою ма?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Бұл сіздің денсаулық деректеріңізді тұрақты түрде жояды және қайтарылмайды. Біз сізді бағыттау үшін қолданатын контексті жоғалтасыз.'; + + @override + String get dashboardDeleteRecordCancel => 'Бас тарту'; + + @override + String get dashboardDeleteRecordConfirm => 'Жою'; + + @override + String get dashboardDeleteRecordLoading => + 'Сіздің денсаулық жазбаңызды жою...'; + + @override + String get dashboardDeleteRecordError => 'Профильді жою мүмкін болмады'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Денсаулық жазбасы жойылды'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Сіз көмекшіден сөйлесіп, кез келген уақытта жаңа жазба жасай аласыз.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Чатқа оралу'; + + @override + String get dataEditingScreenTitle => 'Редактирование'; + + @override + String get dataFailedToLoadError => + 'Профиль деректерін жүктеу сәтсіз аяқталды'; + + @override + String get dataRecordSavedTitle => 'Өзгерістер сақталды'; + + @override + String get dataRecordSavedSubtitle => + 'Сіздің ақпараттарыңыз сәтті жаңартылды.'; + + @override + String get dataRecordSavedButton => 'Профильге оралу'; + + @override + String get dataRecordUpdateError => + 'Профиль деректерін жаңарту сәтсіз аяқталды'; + + @override + String get dataRecordDiscardTitle => 'Өзгерістерді жою ма?'; + + @override + String get dataRecordDiscardSubtitle => + 'Сіз профиліңізде кейбір өзгерістер жасадыңыз. Кетпес бұрын оларды сақтаңыз немесе жойыңыз.'; + + @override + String get dataRecordDiscardCancel => 'Редакциялауды жалғастыру'; + + @override + String get dataRecordDiscardConfirm => 'Жою'; + + @override + String get dataRecordEditTooltip => 'Өңдеу'; + + @override + String get dataRecordAddTag => 'Жазба қосу'; + + @override + String get consultationsSearch => 'Іздеу'; + + @override + String get consultationsSearchEmpty => 'Нәтижелер табылмады'; + + @override + String get documentsMenuDownload => 'Жүктеу'; + + @override + String get documentsMenuShare => 'Бөлісу'; + + @override + String get documentsMenuDelete => 'Жою'; + + @override + String get documentsEmptyList => 'Құжаттар табылмады'; + + @override + String get documentsDeleteTitle => 'Бұл құжатты жою керек пе?'; + + @override + String get documentsDeleteSubtitle => 'Бұл файл тұрақты түрде жойылады'; + + @override + String get documentsDeleteCancel => 'Бас тарту'; + + @override + String get documentsDeleteButton => 'Жою'; + + @override + String get documentsMoreActionsTooltip => 'Қосымша әрекеттер'; + + @override + String get profilesSearch => 'Іздеу'; + + @override + String get profilesEmptyList => 'Профильдер табылмады'; + + @override + String get profilesViewMore => 'Көбірек көру'; + + @override + String get profilesMore => 'Көбірек'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina енді сіздің денсаулығыңызды есте сақтайды'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Сіздің консультацияларыңыз автоматты түрде Денсаулық жазбаңызды құрастырады және жаңартады.'; + + @override + String get profilesAnnouncementTitle2 => + 'Сіздің денсаулық жазбаңыз, сіздің ережелеріңіз'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Симптомдарды, дәрілерді, тарихты немесе құжаттарды кез келген уақытта қараңыз, өңдеңіз немесе қосыңыз.'; + + @override + String get profilesAnnouncementTitle3 => + 'Отбасыңыздың барлық мүшелеріне қамқорлық жасаңыз'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Сүйікті адамдар, балаларыңыз, ата-анаңыз немесе серіктесіңіз үшін Денсаулық жазбасын жасаңыз.'; + + @override + String get profilesAnnouncementTitle4 => + 'Денсаулығыңызды сақтау үшін дайынсыз ба?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Консультациядан кейін \"Профиль қосу\" батырмасын басыңыз.'; + + @override + String get profilesNextButton => 'Келесі'; + + @override + String get profilesStartButton => 'Консультация бастау'; + + @override + String get profilesLaterButton => 'Кейінірек'; + + @override + String get profileSuccessCloseButton => 'Жабу'; + + @override + String get pdfHeaderTitle => 'Денсаулық картасы'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Денсаулық картасы — $name'; + } + + @override + String get expandableFieldMore => '...көп'; + + @override + String get expandableFieldLess => '...аз'; + + @override + String get profiles_button_addnew => 'Жаңа профиль қосу'; + + @override + String get profiles_label_addnew => + 'Бұл консультацияның мәліметтерін сақтау үшін профиль жасаңыз.'; + + @override + String get profiles_label_health_records_hint => + 'Сіз оны Денсаулық жазбаларыңызда кез келген уақытта бағалай аласыз'; + + @override + String get profiles_label_keep_talking_hint => + 'Егер сізде осы немесе оған қатысты қосымша сұрақтар болса, менімен сөйлесуді жалғастырудан тартынбаңыз. Мен көмектесуге дайынмын'; + + @override + String get profile_section_basic_title => 'Жалпы ақпарат'; + + @override + String get profile_section_basic_name_label => 'Аты'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Аты'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Тегі'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Жыныс'; + + @override + String get profile_section_basic_sex_placeholder => 'Таңдаңыз'; + + @override + String get profile_section_basic_sex_options_male => 'Ер'; + + @override + String get profile_section_basic_sex_options_female => 'Әйел'; + + @override + String get profile_section_basic_sex_options_other => 'Басқа'; + + @override + String get profile_section_basic_date_of_birth_label => 'Туған күні'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Жасы'; + + @override + String get profile_section_basic_age_str_placeholder => 'мысалы, 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Телефон нөмірі'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Электрондық пошта'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Орналасқан жер'; + + @override + String get profile_section_basic_location_placeholder => 'мысалы: Қала, Ел'; + + @override + String get profile_section_body_diet_title => 'Дене және тамақтану'; + + @override + String get profile_section_body_diet_height_str_label => 'Бой'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'мысалы 180 см'; + + @override + String get profile_section_body_diet_weight_str_label => 'Салмақ'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'мысалы, 75 кг'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Менструалдық цикл'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'мысалы. Тұрақты, Ретсіз'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Диеталық шектеулер'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Таңдаңыз'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Сіз не жейтініңізді және қандай шектеулеріңіз бар екенін бізге хабарлаңыз'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Жоқ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Вегетариандық'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Веган'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Глютенсіз'; + + @override + String get profile_section_body_diet_bmi_label => + 'Дене массасының индексі (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'мысалы 24.5'; + + @override + String get profile_section_health_profile_title => 'Денсаулық профилі'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Созылмалы аурулар'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'мысалы, 2 типті қант диабеті'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Барлық созылмалы ауруларды тізіп, олардың қашан диагноз қойылғанын және кез келген асқынуларын қосыңыз.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Өткен аурулар'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'мысалы, жиі суық тию'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Өтініш, өткен кезеңде болған ауыр ауруларды тізіп шығыңыз, тіпті егер сіз жазылып кетсеңіз де.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Операция тарихы'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'мысалы: аппендэктомия'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Барлық операцияларды тізіп, жылын және қандай да бір асқынулар болғанын көрсетіңіз.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Ара-тұра қолданылатын дәрі-дәрмектер'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'мысалы, Ибупрофен'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Уақытша қабылдайтын дәрілеріңізді (мысалы: ауырсынуды басатын дәрілер, аллергияға қарсы дәрілер) дозасымен және қолдану себебімен бірге жазыңыз.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Тұрақты қабылданатын дәрілер'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'мысалы, Метформин'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Тұрақты қабылдайтын барлық дәрілерді, оның атауын, дозасын, күніне қанша рет қабылдайтыныңызды және қандай жағдай үшін екенін жазыңыз.'; + + @override + String get profile_section_health_profile_allergies_label => 'Аллергиялар'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'мысалы, Пенициллин – бөртпе тудырады'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Барлық аллергияларды (дәрілер, тағам, қоршаған орта) тізіп, қандай реакция болғанын сипаттаңыз (мысалы: бөртпе, ісіну, тыныс алу проблемалары).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Арнайы жағдайлар'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'мысалы: Жүктілік, Мүгедектік'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Егер дәрігерлер әрқашан білуі тиіс маңызды медициналық жағдайларыңыз болса (мысалы: жүктілік, имплантталған құрылғылар, мүгедектік, антикоагулянттық терапия), оларды сипаттаңыз. Егер жоқ болса, оны бос қалдыра аласыз.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Отбасылық анамнез'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'мысалы: жүрек ауруы, қатерлі ісік'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Отбасыңыздағы маңызды ауруларды сипаттаңыз (мысалы: қант диабеті, гипертония, жүрек ауруы, рак, генетикалық аурулар) және қай отбасы мүшесінің осы аурумен ауырғанын көрсетіңіз.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Әлеуметтік & Өмір салты факторлары'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'Мысалы: темекі шегу, алкоголь тұтыну'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Денсаулығыңызға әсер ететін өмір салты факторларын сипаттаңыз, мысалы, темекі шегу, алкоголь, физикалық белсенділік, диета, ұйқы және мамандық.'; + + @override + String get profile_section_health_profile_devices_label => + 'Медициналық құрылғылар'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'мысалы: пейсмейкер, есту аппараты, инсулин сорғысы'; + + @override + String get profile_section_health_profile_devices_hint => + 'Сіз пайдаланатын немесе имплантацияланған медициналық құрылғыларды, мысалы, жүрек ритмінің реттегіштері, инсулин помпалары, есту аппараттары, протездер немесе басқа да көмекші немесе мониторингтік құрылғыларды тізіп беріңіз. Қажет болса, тиісті мәліметтерді қосыңыз.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Өсімдік пен жануар өнімдерін тұтынатын'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Фастфуд'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Пескатариан'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Лактозасыз'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Тұзды азайтылған диета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Төмен қантты диета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Жүрекке арналған диета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Бүйрекке арналған диета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Басқа'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_km.dart b/example/lib/src/generated/profiles/profiles_localization_km.dart new file mode 100644 index 0000000..1c55751 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_km.dart @@ -0,0 +1,581 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Khmer Central Khmer (`km`). +class ProfilesLocalizationKm extends ProfilesLocalization { + ProfilesLocalizationKm([String locale = 'km']) : super(locale); + + @override + String get chatDrawerTitle => 'កំណត់ត្រាសុខភាព'; + + @override + String get chatDrawerBadgeNew => 'ថ្មី'; + + @override + String get bannerTitle => 'បង្កើតកំណត់ត្រាសុខភាពរបស់អ្នក'; + + @override + String get bannerSubtitle => + 'នៅចុងបញ្ចប់នៃការពិគ្រោះយោបល់របស់អ្នក បន្ថែមប្រវត្តិរូបរបស់អ្នក។'; + + @override + String get bannerMoreProfilesTitle => 'បន្ថែមប្រវត្តិទាំងអស់'; + + @override + String get bannerMoreProfilesSubtitle => + 'ចាប់ផ្តើមការពិភាក្សាសម្រាប់អ្នកផ្សេងទៀតដើម្បីបង្កើតប្រវត្តិរូបរបស់ពួកគេ។'; + + @override + String get bannerSignUp => 'ចុះឈ្មោះដើម្បីបង្កើតកំណត់ត្រាសុខភាពរបស់អ្នក'; + + @override + String get errorRetryButton => 'Retry'; + + @override + String get dashboardDeleteError => 'មិនអាចលុបប្រវត្តិបាន'; + + @override + String get dashboardSummaryLoadError => 'មិនអាចផ្ទុកសង្ខេបប្រវត្តិបាន'; + + @override + String get dashboardMenuViewFullRecord => 'មើលកំណត់ត្រាពេញ'; + + @override + String get dashboardMenuShare => 'ចែករំលែក'; + + @override + String get dashboardMenuDelete => 'លុប'; + + @override + String get dashboardMetricAgeLabel => 'អាយុ'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value ឆ្នាំ', + one: '$value ឆ្នាំ', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'ទម្ងន់'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value គីឡូក្រាម'; + } + + @override + String get dashboardMetricHeightLabel => 'កម្ពស់'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value សង់ទីមែត្រ'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'អាល្លឺជី'; + + @override + String get dashboardInfoChronicTitle => 'រោគសញ្ញាឈឺចាប់'; + + @override + String get dashboardInfoMedicationTitle => 'ថ្នាំ'; + + @override + String get dashboardInfoDevicesTitle => 'ឧបករណ៍'; + + @override + String get dashboardNavigationConsultations => 'ការពិគ្រោះ'; + + @override + String get dashboardNavigationDocuments => 'ឯកសារ'; + + @override + String get dashboardDeleteRecordTitle => 'លុបកំណត់ត្រាសុខភាព?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'នេះនឹងលុបទិន្នន័យសុខភាពរបស់អ្នកយ៉ាងថេរ ហើយមិនអាចត្រឡប់មកវិញបានទេ។ អ្នកនឹងបាត់បង់បរិបទដែលយើងប្រើដើម្បីណែនាំអ្នក។'; + + @override + String get dashboardDeleteRecordCancel => 'បោះបង់'; + + @override + String get dashboardDeleteRecordConfirm => 'លុប'; + + @override + String get dashboardDeleteRecordLoading => + 'កំពុងលុបកំណត់ត្រាសុខភាពរបស់អ្នក...'; + + @override + String get dashboardDeleteRecordError => 'មិនអាចលុបប្រវត្តិបាន'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'កំណត់ត្រាសុខភាពត្រូវបានលុប'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'អ្នកអាចបង្កើតថ្មីមួយនៅពេលណាមួយដោយការជជែកជាមួយជំនួយករ។'; + + @override + String get dashboardDeleteRecordSuccessButton => 'ត្រឡប់ទៅកាន់ការសន្ទនា'; + + @override + String get dataEditingScreenTitle => 'កែសម្រួល'; + + @override + String get dataFailedToLoadError => 'មិនអាចផ្ទុកទិន្នន័យប្រវត្តិបាន'; + + @override + String get dataRecordSavedTitle => 'ការផ្លាស់ប្តូរបានរក្សាទុក'; + + @override + String get dataRecordSavedSubtitle => + 'ព័ត៌មានរបស់អ្នកត្រូវបានអាប់ដេតដោយជោគជ័យ។'; + + @override + String get dataRecordSavedButton => 'ត្រឡប់ទៅប្រវត្តិ'; + + @override + String get dataRecordUpdateError => 'បរាជ័យក្នុងការអាប់ដេតទិន្នន័យប្រវត្តិ'; + + @override + String get dataRecordDiscardTitle => 'លុបការផ្លាស់ប្តូរ?'; + + @override + String get dataRecordDiscardSubtitle => + 'អ្នកបានធ្វើការផ្លាស់ប្តូរមួយចំនួននៅក្នុងប្រវត្តិរូបរបស់អ្នក។ សូមរក្សាទុកមុនពេលអ្នកចេញ ឬលុបចោលវា។'; + + @override + String get dataRecordDiscardCancel => 'រក្សាទុកការកែប្រែ'; + + @override + String get dataRecordDiscardConfirm => 'លុបចោល'; + + @override + String get dataRecordEditTooltip => 'កែសម្រួល'; + + @override + String get dataRecordAddTag => 'បន្ថែមកំណត់ត្រា'; + + @override + String get consultationsSearch => 'ស្វែងរក'; + + @override + String get consultationsSearchEmpty => 'មិនមានលទ្ធផល'; + + @override + String get documentsMenuDownload => 'ទាញយក'; + + @override + String get documentsMenuShare => 'ចែករំលែក'; + + @override + String get documentsMenuDelete => 'លុប'; + + @override + String get documentsEmptyList => 'មិនមានឯកសារទេ'; + + @override + String get documentsDeleteTitle => 'លុបឯកសារនេះមែនទេ?'; + + @override + String get documentsDeleteSubtitle => 'ឯកសារនេះនឹងត្រូវលុបចោលយ៉ាងស្ថាពរ'; + + @override + String get documentsDeleteCancel => 'បោះបង់'; + + @override + String get documentsDeleteButton => 'លុប'; + + @override + String get documentsMoreActionsTooltip => 'សកម្មភាពបន្ថែម'; + + @override + String get profilesSearch => 'ស្វែងរក'; + + @override + String get profilesEmptyList => 'មិនមានប្រវត្តិរូបត្រូវបានរកឃើញ'; + + @override + String get profilesViewMore => 'មើលបន្ថែម'; + + @override + String get profilesMore => 'បន្ថែម'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina ឥឡូវនេះចាំអារម្មណ៍សុខភាពរបស់អ្នក'; + + @override + String get profilesAnnouncementSubtitle1 => + 'ការពិគ្រោះយោបល់របស់អ្នកឥឡូវនេះកសាងនិងធ្វើឱ្យកំណត់ត្រាសុខភាពរបស់អ្នកអាប់ដេតដោយស្វ័យប្រវត្តិ។'; + + @override + String get profilesAnnouncementTitle2 => + 'កំណត់ត្រាសុខភាពរបស់អ្នក គឺជាច្បាប់របស់អ្នក'; + + @override + String get profilesAnnouncementSubtitle2 => + 'មើល កែប្រែ ឬ បន្ថែមរោគសញ្ញា ឱសថ ប្រវត្តិ ឬ ឯកសារ នៅពេលណាក៏បាន។'; + + @override + String get profilesAnnouncementTitle3 => 'ថែទាំគ្រួសារទាំងមូលរបស់អ្នក'; + + @override + String get profilesAnnouncementSubtitle3 => + 'បង្កើតកំណត់ត្រាសុខភាពសម្រាប់អ្នកដែលអ្នកស្រឡាញ់ កូនៗរបស់អ្នក, ឪពុកម្តាយរបស់អ្នក, ឬគូស្នេហ៍របស់អ្នក។'; + + @override + String get profilesAnnouncementTitle4 => + 'តើអ្នក Prepared ដើម្បីរក្សាទុកកំណត់ត្រាសុខភាពរបស់អ្នកទេ?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'បន្ទាប់ពីការពិគ្រោះយោបល់របស់អ្នក សូមចុច \"បន្ថែមប្រវត្តិ\" ដើម្បីរក្សាទុកវា។'; + + @override + String get profilesNextButton => 'បន្ទាប់'; + + @override + String get profilesStartButton => 'ចាប់ផ្តើមការពិភាក្សា'; + + @override + String get profilesLaterButton => 'ប្រហែលជាពេលក្រោយ'; + + @override + String get profileSuccessCloseButton => 'បិទ'; + + @override + String get pdfHeaderTitle => 'កំណត់ត្រាសុខភាព'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'កំណត់ត្រាសុខភាព — $name'; + } + + @override + String get expandableFieldMore => '...បន្ថែម'; + + @override + String get expandableFieldLess => '...តិច'; + + @override + String get profiles_button_addnew => 'បន្ថែមប្រវត្តិថ្មី'; + + @override + String get profiles_label_addnew => + 'ការបង្កើតប្រវត្តិដើម្បីរក្សាទុកព័ត៌មាននៃការពិគ្រោះយោបល់នេះ។'; + + @override + String get profiles_label_health_records_hint => + 'អ្នកអាចចូលប្រើវានៅពេលណាក៏បានក្នុងកំណត់ត្រាសុខភាពរបស់អ្នក'; + + @override + String get profiles_label_keep_talking_hint => + 'បើអ្នកមានសំណួរបន្ថែមអំពីរឿងនេះ ឬអ្វីដែលទាក់ទង សូមបន្តនិយាយជាមួយខ្ញុំ។ ខ្ញុំនៅទីនេះដើម្បីជួយ'; + + @override + String get profile_section_basic_title => 'ព័ត៌មានទូទៅ'; + + @override + String get profile_section_basic_name_label => 'ឈ្មោះ'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'នាមដំបូង'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'នាមត្រកូល'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'ភេទ'; + + @override + String get profile_section_basic_sex_placeholder => 'សូមជ្រើស'; + + @override + String get profile_section_basic_sex_options_male => 'ប្រុស'; + + @override + String get profile_section_basic_sex_options_female => 'ស្រី'; + + @override + String get profile_section_basic_sex_options_other => 'ផ្សេងទៀត'; + + @override + String get profile_section_basic_date_of_birth_label => 'ថ្ងៃកំណើត'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'អាយុ'; + + @override + String get profile_section_basic_age_str_placeholder => 'ឧទាហរណ៍ 30'; + + @override + String get profile_section_basic_phonenumber_label => 'លេខទូរស័ព្ទ'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'អ៊ីមែល'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'ទីតាំង'; + + @override + String get profile_section_basic_location_placeholder => 'ឧ. ក្រុង, ប្រទេស'; + + @override + String get profile_section_body_diet_title => 'រាងកាយ និងអាហារ'; + + @override + String get profile_section_body_diet_height_str_label => 'កម្ពស់'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'ឧទាហរណ៍ 180 សង់ទីម៉ែត្រ'; + + @override + String get profile_section_body_diet_weight_str_label => 'ទម្ងន់'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'ឧទាហរណ៍ 75 គីឡូក្រាម'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menstrual Cycle'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'ឧទាហរណ៍ ទៀងទាត់, មិនទៀងទាត់'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'ការរឹតត្បិតអាហារ'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'សូមជ្រើស'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'ប្រាប់យើងអំពីអាហារដែលអ្នកបរិភោគ និងកំណត់ខ្លះៗដែលអ្នកមាន'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'គ្មាន'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'មិនញ៉ាំសាច់'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'វេហ្គាន'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'គ្មានក្លូតិន'; + + @override + String get profile_section_body_diet_bmi_label => 'សន្ទស្សន៍ម៉ាសរាងកាយ (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ឧទាហរណ៍ 24.5'; + + @override + String get profile_section_health_profile_title => 'ប្រវត្តិសុខភាព'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Chronic Illnesses'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ឧ. ជំងឺទឹកនោមផ្អែមប្រភេទទី ២'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'សូមបញ្ជាក់រោគសញ្ញាដែលមានរ៉ែជារយៈពេលវែងទាំងអស់ និងរួមបញ្ចូលពេលវេលាដែលបានវាយតម្លៃ និងបញ្ហាណាមួយ។'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'ជំងឺកាលពីមុន'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ឧទាហរណ៍៖ ជំងឺត្រចៀកធម្មតាដែលកើតឡើងជាញឹកញាប់'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'សូមបញ្ជាក់ពីជំងឺធ្ងន់ធ្ងរដែលអ្នកមាននៅអតីតកាល ទោះបីអ្នកបានសុខសប្បាយក៏ដោយ។'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'ប្រវត្តិការវះកាត់'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'ឧទាហរណ៍ Appendectomy'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'សូមបញ្ជាក់ពីការវះកាត់ទាំងអស់ និងរួមបញ្ចូលឆ្នាំ និងថាតើមានបញ្ហាអ្វីកើតឡើងទេ។'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'ថ្នាំដែលប្រើបានពេលខ្លះ'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'អ៊ីបូភ្រូហ្វែន'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'សូមបញ្ជាក់អំពីថ្នាំដែលអ្នកប្រើប្រាស់ពីពេលទៅពេល (ឧទាហរណ៍៖ ថ្នាំបន្ថយការឈឺចាប់, ថ្នាំអាល្លឺជី), រួមទាំងមាត្រានិងមូលហេតុសម្រាប់ការប្រើប្រាស់។'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'ថ្នាំទៀងទាត់'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'ឧទាហរណ៍៖ Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'សូមបញ្ជាក់អំពីថ្នាំទាំងអស់ដែលអ្នកប្រើប្រាស់ជាប្រចាំ រួមទាំងឈ្មោះ, បរិមាណ, ចំនួនដងក្នុងមួយថ្ងៃដែលអ្នកប្រើប្រាស់ និងជំងឺដែលវាសម្រាប់។'; + + @override + String get profile_section_health_profile_allergies_label => 'អាឡែជី'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ឧទាហរណ៍៖ ប៉េន៊ីស៊ីលីន - បង្កើតរោគសញ្ញា'; + + @override + String get profile_section_health_profile_allergies_hint => + 'សូមបញ្ជាក់អាល់ឡឺជីទាំងអស់ (ថ្នាំ, អាហារ, បរិស្ថាន) ហើយពិពណ៌នាអំពីអ្វីដែលអ្នកមានប្រតិកម្ម (ឧទាហរណ៍៖ ការស្រាល, ការលើស, បញ្ហាអាកាសចរណ៍)។'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'បញ្ហាសុខភាពពិសេស'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'ឧទាហរណ៍ ការមានផ្ទៃពោះ, ពិការភាព'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'ប្រសិនបើអ្នកមានស្ថានភាពវេជ្ជសាស្ត្រសំខាន់ៗណាមួយដែលវេជ្ជបណ្ឌិតគួរតែដឹងជានិច្ច (ឧទាហរណ៍៖ ការធ្វើឱ្យមានផ្ទៃពោះ, ឧបករណ៍ដាក់ចូល, អសមត្ថភាព, ការព្យាបាលអង់ទីកូអ៊ូឡង់), សូមពិពណ៌នាពួកវា។ ប្រសិនបើមិនមាន អ្នកអាចទុកវាឲ្យទទេ។'; + + @override + String get profile_section_health_profile_family_history_label => + 'ប្រវត្តិគ្រួសារ'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ឧ. ជំងឺបេះដូង, មហារីក'; + + @override + String get profile_section_health_profile_family_history_hint => + 'សូមពិពណ៌នាអំពីជំងឺសំខាន់ៗនៅក្នុងគ្រួសាររបស់អ្នក (ឧទាហរណ៍៖ ជំងឺទឹកនោមផ្អែម, ជំងឺឈាមខ្ពស់, ជំងឺបេះដូង, ជំងឺមហារីក, ជំងឺមេរោគ) ហើយបញ្ជាក់ថា សមាជិកគ្រួសារណាដែលមានស្ថានភាពនេះ។'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'កត្តាសង្គម និងរបៀបរស់នៅ'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'ឧទាហរណ៍ ការជក់បារី, ការបរិភោគស្រា'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'សូមពិពណ៌នាអំពីកត្តាជីវិតដែលអាចប៉ះពាល់ដល់សុខភាពរបស់អ្នក ដូចជា ការស៊ីស្រាប, ម្ហូបអាហារ, សកម្មភាពរាងកាយ, អាហារ, ការគេង និងមុខរបរ។'; + + @override + String get profile_section_health_profile_devices_label => + 'ឧបករណ៍វេជ្ជសាស្ត្រ'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'ឧទាហរណ៍ Pacemaker, Hearing aid, Insulin pump'; + + @override + String get profile_section_health_profile_devices_hint => + 'សូមបញ្ជាក់អំពីឧបករណ៍វេជ្ជសាស្ត្រណាមួយដែលអ្នកប្រើប្រាស់ឬមានដាក់បញ្ចូល ដូចជា ឧបករណ៍បង្កើនចិត្ត, ឧបករណ៍បូមអ៊ីនស៊ូលីន, ឧបករណ៍ស្តាប់, ឧបករណ៍ជំនួយ ឬឧបករណ៍តាមដានផ្សេងទៀត។ សូមបញ្ចូលព័ត៌មានដែលពាក់ព័ន្ធ ប្រសិនបើមាន។'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'ស៊ីទាំងសត្វនិងរុក្ខជាតិ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'អាហារឆាប់ស៊ី'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'អាហារដែលមានត្រី'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'គ្មានឡាក់តូស'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'អាហារដែលមានជាតិសូឌ្យូមទាប'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'អាហារមានស្ករតិច'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'អាហារសម្រាប់បេះដូង'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'អាហារបរិច្ឆេទរ៉េណាល់'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'ផ្សេងទៀត'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_kn.dart b/example/lib/src/generated/profiles/profiles_localization_kn.dart new file mode 100644 index 0000000..db41a3c --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_kn.dart @@ -0,0 +1,577 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kannada (`kn`). +class ProfilesLocalizationKn extends ProfilesLocalization { + ProfilesLocalizationKn([String locale = 'kn']) : super(locale); + + @override + String get chatDrawerTitle => 'ಆರೋಗ್ಯ ದಾಖಲೆಗಳು'; + + @override + String get chatDrawerBadgeNew => 'ಹೊಸದು'; + + @override + String get bannerTitle => 'ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆ ರಚಿಸಿ'; + + @override + String get bannerSubtitle => + 'ನಿಮ್ಮ ಸಲಹೆಯ ಕೊನೆಯಲ್ಲಿ, ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಸೇರಿಸಿ.'; + + @override + String get bannerMoreProfilesTitle => 'ಹೆಚ್ಚು ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಸೇರಿಸಿ'; + + @override + String get bannerMoreProfilesSubtitle => + 'ಇತರರಿಗಾಗಿ ಅವರ ಪ್ರೊಫೈಲ್ ರಚಿಸಲು ಸಮಾಲೋಚನೆ ಪ್ರಾರಂಭಿಸಿ.'; + + @override + String get bannerSignUp => 'ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆ ರಚಿಸಲು ಸೈನ್ ಅಪ್ ಮಾಡಿ'; + + @override + String get errorRetryButton => 'ಮರು ಪ್ರಯತ್ನಿಸಿ'; + + @override + String get dashboardDeleteError => 'ಪ್ರೊಫೈಲ್ ಅಳಿಸಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get dashboardSummaryLoadError => + 'ಪ್ರೊಫೈಲ್ ಸಾರಾಂಶವನ್ನು ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get dashboardMenuViewFullRecord => 'ಪೂರ್ಣ ದಾಖಲೆ ನೋಡಿ'; + + @override + String get dashboardMenuShare => 'ಹಂಚಿಕೊಳ್ಳಿ'; + + @override + String get dashboardMenuDelete => 'ಅಳಿಸಿ'; + + @override + String get dashboardMetricAgeLabel => 'ವಯಸ್ಸು'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value ವರ್ಷ', + one: '$value ವರ್ಷ', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'ತೂಕ'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value ಕಿ.ಗ್ರಾ.'; + } + + @override + String get dashboardMetricHeightLabel => 'ಎತ್ತರ'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value ಸೆಂ.ಮೀ'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'ಆಲರ್ಜಿಗಳು'; + + @override + String get dashboardInfoChronicTitle => 'ಕ್ರೋನಿಕ್'; + + @override + String get dashboardInfoMedicationTitle => 'ಮದ್ದು'; + + @override + String get dashboardInfoDevicesTitle => 'ಉಪಕರಣಗಳು'; + + @override + String get dashboardNavigationConsultations => 'ಸಲಹೆಗಳು'; + + @override + String get dashboardNavigationDocuments => 'ದಾಖಲೆಗಳು'; + + @override + String get dashboardDeleteRecordTitle => 'ಆರೋಗ್ಯ ದಾಖಲೆ ಅಳಿಸಲು?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'ಇದು ನಿಮ್ಮ ಆರೋಗ್ಯದ ಮಾಹಿತಿಯನ್ನು ಶಾಶ್ವತವಾಗಿ ತೆಗೆದು ಹಾಕುತ್ತದೆ ಮತ್ತು ಇದನ್ನು ಹಿಂದಿರುಗಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನೀವು ನಿಮ್ಮನ್ನು ಮಾರ್ಗದರ್ಶನ ಮಾಡಲು ಬಳಸುವ ಸಂದರ್ಭವನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ.'; + + @override + String get dashboardDeleteRecordCancel => 'ರದ್ದು ಮಾಡಿ'; + + @override + String get dashboardDeleteRecordConfirm => 'ಅಳಿಸಿ'; + + @override + String get dashboardDeleteRecordLoading => + 'ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆ ಅಳಿಸುತ್ತಿದೆ...'; + + @override + String get dashboardDeleteRecordError => 'ಪ್ರೊಫೈಲ್ ಅಳಿಸಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'ಆರೋಗ್ಯ ದಾಖಲೆ ಅಳಿಸಲಾಗಿದೆ'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'ನೀವು ಸಹಾಯಕರೊಂದಿಗೆ ಮಾತನಾಡಿ ಯಾವಾಗ ಬೇಕಾದರೂ ಹೊಸದನ್ನು ರಚಿಸಬಹುದು'; + + @override + String get dashboardDeleteRecordSuccessButton => 'ಚಾಟ್ ಗೆ ಹಿಂತಿರುಗಿ'; + + @override + String get dataEditingScreenTitle => 'ಸಂಪಾದನೆ'; + + @override + String get dataFailedToLoadError => 'ಪ್ರೊಫೈಲ್ ಡೇಟಾ ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get dataRecordSavedTitle => 'ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಲಾಗಿದೆ'; + + @override + String get dataRecordSavedSubtitle => + 'ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ'; + + @override + String get dataRecordSavedButton => 'ಪ್ರೊಫೈಲ್ ಗೆ ಹಿಂತಿರುಗಿ'; + + @override + String get dataRecordUpdateError => 'ಪ್ರೊಫೈಲ್ ಡೇಟಾವನ್ನು ನವೀಕರಿಸಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get dataRecordDiscardTitle => 'ಬದಲಾವಣೆಗಳನ್ನು ತಿರಸ್ಕರಿಸಬೇಕೆ?'; + + @override + String get dataRecordDiscardSubtitle => + 'ನೀವು ನಿಮ್ಮ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿ ಕೆಲವು ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದ್ದೀರಿ. ನೀವು ಹೋಗುವ ಮೊದಲು ಅವುಗಳನ್ನು ಉಳಿಸಿ ಅಥವಾ ತ್ಯಜಿಸಿ.'; + + @override + String get dataRecordDiscardCancel => 'ಸಂಪಾದನೆ ಮುಂದುವರಿಯಿರಿ'; + + @override + String get dataRecordDiscardConfirm => 'ಅಳಿಸು'; + + @override + String get dataRecordEditTooltip => 'ತಿದ್ದು'; + + @override + String get dataRecordAddTag => 'ರಿಕಾರ್ಡ್ ಸೇರಿಸಿ'; + + @override + String get consultationsSearch => 'ಹುಡುಕಿ'; + + @override + String get consultationsSearchEmpty => 'ಯಾವುದೇ ಫಲಿತಾಂಶಗಳು ದೊರಕಲಿಲ್ಲ'; + + @override + String get documentsMenuDownload => 'ಡೌನ್‌ಲೋಡ್'; + + @override + String get documentsMenuShare => 'ಹಂಚಿಕೊಳ್ಳಿ'; + + @override + String get documentsMenuDelete => 'ಅಳಿಸಿ'; + + @override + String get documentsEmptyList => 'ದಸ್ತಾವೇಜುಗಳು ದೊರಕಲಿಲ್ಲ'; + + @override + String get documentsDeleteTitle => 'ಈ ದಾಖಲೆ ಅಳಿಸಲು ಬಯಸುತ್ತೀರಾ?'; + + @override + String get documentsDeleteSubtitle => 'ಈ ಫೈಲ್ ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ'; + + @override + String get documentsDeleteCancel => 'ರದ್ದು ಮಾಡಿ'; + + @override + String get documentsDeleteButton => 'ಅಳಿಸಿ'; + + @override + String get documentsMoreActionsTooltip => 'ಇನ್ನಷ್ಟು ಕ್ರಿಯೆಗಳು'; + + @override + String get profilesSearch => 'ಹುಡುಕಿ'; + + @override + String get profilesEmptyList => 'ಯಾವುದೇ ಪ್ರೊಫೈಲ್‌ಗಳು ಕಂಡುಬಂದಿಲ್ಲ'; + + @override + String get profilesViewMore => 'ಇನ್ನಷ್ಟು ನೋಡಿ'; + + @override + String get profilesMore => 'ಹೆಚ್ಚು'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina ಈಗ ನಿಮ್ಮ ಆರೋಗ್ಯವನ್ನು ನೆನೆಸುತ್ತದೆ'; + + @override + String get profilesAnnouncementSubtitle1 => + 'ನಿಮ್ಮ ಸಮಾಲೋಚನೆಗಳು ಈಗ ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಿರ್ಮಿಸುತ್ತವೆ ಮತ್ತು ನವೀಕರಿಸುತ್ತವೆ.'; + + @override + String get profilesAnnouncementTitle2 => 'ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆ, ನಿಮ್ಮ ನಿಯಮಗಳು'; + + @override + String get profilesAnnouncementSubtitle2 => + 'ಯಾವಾಗ ಬೇಕಾದರೂ ಲಕ್ಷಣಗಳು, ಔಷಧಿಗಳು, ಇತಿಹಾಸ ಅಥವಾ ದಾಖಲೆಗಳನ್ನು ನೋಡಿ, ಸಂಪಾದಿಸಿ ಅಥವಾ ಸೇರಿಸಿ.'; + + @override + String get profilesAnnouncementTitle3 => 'ನಿಮ್ಮ ಸಂಪೂರ್ಣ ಕುಟುಂಬದ ಆರೈಕೆ ಮಾಡಿ'; + + @override + String get profilesAnnouncementSubtitle3 => + 'ನಿಮ್ಮ ಪ್ರಿಯ ವ್ಯಕ್ತಿಗಳು, ನಿಮ್ಮ ಮಕ್ಕಳಿಗೆ, ಪೋಷಕರಿಗೆ ಅಥವಾ ಸಂಗಾತಿಗೆ ಆರೋಗ್ಯ ದಾಖಲೆ ರಚಿಸಿ'; + + @override + String get profilesAnnouncementTitle4 => 'ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆ ಉಳಿಸಲು ಸಿದ್ಧವೇ?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'ನಿಮ್ಮ ಸಲಹೆಯ ನಂತರ, ಅದನ್ನು ಉಳಿಸಲು \"ಪ್ರೊಫೈಲ್ ಸೇರಿಸಿ\" ಮೇಲೆ ಟ್ಯಾಪ್ ಮಾಡಿ.'; + + @override + String get profilesNextButton => 'ಮುಂದೆ'; + + @override + String get profilesStartButton => 'ಸಲಹೆ ಆರಂಭಿಸಿ'; + + @override + String get profilesLaterButton => 'ಬೇರೆ ಸಮಯದಲ್ಲಿ'; + + @override + String get profileSuccessCloseButton => 'ಮುಚ್ಚು'; + + @override + String get pdfHeaderTitle => 'ಆರೋಗ್ಯ ದಾಖಲೆ'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'ಆರೋಗ್ಯ ದಾಖಲೆ — $name'; + } + + @override + String get expandableFieldMore => '...ಹೆಚ್ಚು'; + + @override + String get expandableFieldLess => '...ಕಡಿಮೆ'; + + @override + String get profiles_button_addnew => 'ಹೊಸ ಪ್ರೊಫೈಲ್ ಸೇರಿಸಿ'; + + @override + String get profiles_label_addnew => + 'ಈ ಸಮಾಲೋಚನೆಯ ವಿವರಗಳನ್ನು ಉಳಿಸಲು ಪ್ರೊಫೈಲ್ ರಚಿಸಿ.'; + + @override + String get profiles_label_health_records_hint => + 'ನೀವು ಅದನ್ನು ಯಾವಾಗ ಬೇಕಾದರೂ ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆಗಳಲ್ಲಿ ನೋಡಬಹುದು'; + + @override + String get profiles_label_keep_talking_hint => + 'ಈ ವಿಷಯದ ಬಗ್ಗೆ ಅಥವಾ ಇದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಯಾವುದೇ ವಿಷಯಗಳ ಬಗ್ಗೆ ನಿಮಗೆ ಇನ್ನಷ್ಟು ಪ್ರಶ್ನೆಗಳಿದ್ದರೆ, ಮುಕ್ತವಾಗಿ ನನ್ನೊಂದಿಗೆ ಮಾತುಕತೆ ಮುಂದುವರೆಸಿ. ನಾನು ಸಹಾಯ ಮಾಡಲು ಇಲ್ಲಿದ್ದೇನೆ'; + + @override + String get profile_section_basic_title => 'ಸಾಮಾನ್ಯ ಮಾಹಿತಿ'; + + @override + String get profile_section_basic_name_label => 'ಹೆಸರು'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'ಮೊದಲ ಹೆಸರು'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'ಉಪನಾಮ'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'ಲಿಂಗ'; + + @override + String get profile_section_basic_sex_placeholder => 'ದಯವಿಟ್ಟು ಆಯ್ಕೆ ಮಾಡಿ'; + + @override + String get profile_section_basic_sex_options_male => 'ಪುರುಷ'; + + @override + String get profile_section_basic_sex_options_female => 'ಹೆಣ್ಣು'; + + @override + String get profile_section_basic_sex_options_other => 'ಇತರೆ'; + + @override + String get profile_section_basic_date_of_birth_label => 'ಜನ್ಮದಿನಾಂಕ'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'ವಯಸ್ಸು'; + + @override + String get profile_section_basic_age_str_placeholder => 'ಉದಾ. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'ದೂರವಾಣಿ ಸಂಖ್ಯೆ'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ಇಮೇಲ್'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'ಸ್ಥಳ'; + + @override + String get profile_section_basic_location_placeholder => 'ಉದಾ. ನಗರ, ದೇಶ'; + + @override + String get profile_section_body_diet_title => 'ದೇಹ ಮತ್ತು ಆಹಾರ'; + + @override + String get profile_section_body_diet_height_str_label => 'ಎತ್ತರ'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'ಉದಾ. 180 ಸೆಂ.ಮೀ'; + + @override + String get profile_section_body_diet_weight_str_label => 'ತೂಕ'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'ಉದಾ. 75 ಕೆಜಿ'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'ಮಾಸಿಕ ಚಕ್ರ'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'ಉದಾ. ನಿಯಮಿತ, ಅನಿಯಮಿತ'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'ಆಹಾರ ನಿರ್ಬಂಧಗಳು'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'ದಯವಿಟ್ಟು ಆಯ್ಕೆ ಮಾಡಿ'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'ನೀವು ಏನು ತಿನ್ನುತ್ತೀರಿ ಮತ್ತು ನಿಮ್ಮ ಬಳಿ ಯಾವುದೇ ನಿರ್ಬಂಧಗಳಿದ್ದರೆ ನಮಗೆ ತಿಳಿಸಿ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'ಯಾವುದೂ ಇಲ್ಲ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'ಶಾಕಾಹಾರಿ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'ವೀಗನ್'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'ಗ್ಲುಟೆನ್ ರಹಿತ'; + + @override + String get profile_section_body_diet_bmi_label => 'ದೇಹದ ತೂಕ ಸೂಚ್ಯಂಕ (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ಉದಾ. 24.5'; + + @override + String get profile_section_health_profile_title => 'ಆರೋಗ್ಯ ಪ್ರೊಫೈಲ್'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'ದೀರ್ಘಕಾಲಿಕ ರೋಗಗಳು'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ಉದಾಹರಣೆಗೆ, ಡಯಾಬಿಟಿಸ್ ಪ್ರಕಾರ 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'ದಯವಿಟ್ಟು ಎಲ್ಲಾ ಕ್ರೋನಿಕ್ ಕಾಯಿಲೆಗಳ ಪಟ್ಟಿಯನ್ನು ನೀಡಿರಿ ಮತ್ತು ಅವುಗಳನ್ನು ಯಾವಾಗ ನಿರ್ಧಾರ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಯಾವುದೇ ಸಂಕಷ್ಟಗಳನ್ನು ಒಳಗೊಂಡಿರಬೇಕು.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'ಹಿಂದಿನ ರೋಗಗಳು'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ಉದಾಹರಣೆಗೆ, ಸಾಮಾನ್ಯ ಶೀತವು ಹೆಚ್ಚು'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'ದಯವಿಟ್ಟು ನೀವು ಹಿಂದಿನ ಕಾಲದಲ್ಲಿ ಹೊಂದಿದ್ದ ಗಂಭೀರ ಕಾಯಿಲೆಗಳ ಪಟ್ಟಿಯನ್ನು ನೀಡಿರಿ, ನೀವು ಗುಣಮುಖರಾಗಿದ್ದರೂ ಸಹ.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'ಶಸ್ತ್ರಚಿಕಿತ್ಸಾ ಇತಿಹಾಸ'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'ಉದಾ. ಅಪೆಂಡೆಕ್ಟಮಿ'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'ದಯವಿಟ್ಟು ಎಲ್ಲಾ ಶಸ್ತ್ರಚಿಕಿತ್ಸೆಗಳ ಪಟ್ಟಿಯನ್ನು ನೀಡಿರಿ ಮತ್ತು ವರ್ಷ ಮತ್ತು ಯಾವುದೇ ಸಂಕಷ್ಟಗಳಿದ್ದರೆ ಸೇರಿಸಿ'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'ಕೆಲವೊಮ್ಮೆ ಬಳಸುವ ಔಷಧಿಗಳು'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'ಉದಾಹರಣೆಗೆ, ಐಬುಪ್ರೊಫೆನ್'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'ದಯವಿಟ್ಟು ನೀವು ಕೆಲವೊಮ್ಮೆ ತೆಗೆದುಕೊಳ್ಳುವ ಔಷಧಿಗಳನ್ನು (ಉದಾಹರಣೆಗೆ: ನೋವುನಿವಾರಕ, ಅಲರ್ಜಿಯ ಔಷಧಿಗಳು) ಪಟ್ಟಿ ಮಾಡಿ, ಡೋಸ್ ಮತ್ತು ಬಳಸುವ ಕಾರಣವನ್ನು ಒಳಗೊಂಡಂತೆ.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'ನಿಯಮಿತ ಔಷಧಿಗಳು'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'ಉದಾಹರಣೆಗೆ ಮೆಟ್ಫಾರ್ಮಿನ್'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'ದಯವಿಟ್ಟು ನೀವು ನಿಯಮಿತವಾಗಿ ತೆಗೆದುಕೊಳ್ಳುವ ಎಲ್ಲಾ ಔಷಧಿಗಳನ್ನು, ಹೆಸರು, ಡೋಸ್, ನೀವು ದಿನಕ್ಕೆ ಎಷ್ಟು ಬಾರಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತೀರಿ ಮತ್ತು ಅದು ಯಾವ ಸ್ಥಿತಿಗೆ ಬಳಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಪಟ್ಟಿ ಮಾಡಿ.'; + + @override + String get profile_section_health_profile_allergies_label => 'ಅಲರ್ಜಿಗಳು'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ಉದಾಹರಣೆಗೆ ಪೆನಿಸಿಲಿನ್ – ಚರ್ಮದ ಮೇಲೆ ಪುಟಕಗಳು ಉಂಟುಮಾಡುತ್ತದೆ'; + + @override + String get profile_section_health_profile_allergies_hint => + 'ದಯವಿಟ್ಟು ಎಲ್ಲಾ ಅಲರ್ಜಿಗಳನ್ನು (ಔಷಧಿಗಳು, ಆಹಾರ, ಪರಿಸರ) ಪಟ್ಟಿ ಮಾಡಿ ಮತ್ತು ನೀವು ಹೊಂದಿರುವ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ವಿವರಿಸಿ (ಉದಾಹರಣೆಗೆ: ಚರ್ಮದ ಉರಿಯು, ಉಬ್ಬರ, ಉಸಿರಾಟದ ಸಮಸ್ಯೆಗಳು).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'ವಿಶೇಷ ಪರಿಸ್ಥಿತಿಗಳು'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'ಉದಾ. ಗರ್ಭಾವಸ್ಥೆ, ಅಂಗವಿಕಲತೆ'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'ನೀವು ವೈದ್ಯರು ಯಾವಾಗಲೂ ತಿಳಿಯಬೇಕಾದ ಯಾವುದೇ ಪ್ರಮುಖ ವೈದ್ಯಕೀಯ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಹೊಂದಿದ್ದರೆ (ಉದಾಹರಣೆಗೆ: ಗರ್ಭಾವಸ್ಥೆ, ಇಂಪ್ಲಾಂಟೆಡ್ ಸಾಧನಗಳು, ಅಂಗವಿಕಲತೆ, ಆಂಟಿಕೋಆಗ್ಯುಲೇಶನ್ ಥೆರಪಿ), ದಯವಿಟ್ಟು ಅವುಗಳನ್ನು ವಿವರಿಸಿ. ಇಲ್ಲದಿದ್ದರೆ, ನೀವು ಇದನ್ನು ಖಾಲಿ ಬಿಡಬಹುದು.'; + + @override + String get profile_section_health_profile_family_history_label => + 'ಕುಟುಂಬದ ವೈದ್ಯಕೀಯ ಇತಿಹಾಸ'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ಉದಾ. ಹೃದಯರೋಗ, ಕ್ಯಾನ್ಸರ್'; + + @override + String get profile_section_health_profile_family_history_hint => + 'ದಯವಿಟ್ಟು ನಿಮ್ಮ ಕುಟುಂಬದಲ್ಲಿ ಪ್ರಮುಖ ರೋಗಗಳನ್ನು ವಿವರಿಸಿ (ಉದಾಹರಣೆಗೆ: ಶರೀರದ ಸಕ್ಕರೆ, ಉನ್ನತ ರಕ್ತದ ಒತ್ತಡ, ಹೃದಯರೋಗ, ಕ್ಯಾನ್ಸರ್, ಜನನಜಾತ ರೋಗಗಳು) ಮತ್ತು ಯಾವ ಕುಟುಂಬದ ಸದಸ್ಯನಿಗೆ ಈ ಸ್ಥಿತಿ ಇದೆ ಎಂದು ವಿವರಿಸಿ.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'ಸಾಮಾಜಿಕ ಮತ್ತು ಜೀವನಶೈಲಿ ಅಂಶಗಳು'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'e.g. ಧೂಮಪಾನ, ಮದ್ಯ ಸೇವನೆ'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'ದಯವಿಟ್ಟು ನಿಮ್ಮ ಆರೋಗ್ಯವನ್ನು ಪ್ರಭಾವಿತ ಮಾಡುವ ಜೀವನಶೈಲಿ ಅಂಶಗಳನ್ನು ವಿವರಿಸಿ, ಉದಾಹರಣೆಗೆ ಧೂಮಪಾನ, ಮದ್ಯಪಾನ, ಶಾರೀರಿಕ ಚಟುವಟಿಕೆ, ಆಹಾರ, ನಿದ್ರೆ ಮತ್ತು ಉದ್ಯೋಗ.'; + + @override + String get profile_section_health_profile_devices_label => 'ವೈದ್ಯಕೀಯ ಸಾಧನಗಳು'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'e.g. ಪೇಸ್‌ಮೇಕರ್, ಶ್ರವಣ ಸಹಾಯಕ, ಇನ್ಸುಲಿನ್ ಪಂಪ್'; + + @override + String get profile_section_health_profile_devices_hint => + 'ದಯವಿಟ್ಟು ನೀವು ಬಳಸುವ ಅಥವಾ ಇಂಪ್ಲಾಂಟ್ ಮಾಡಿದ ಯಾವುದೇ ವೈದ್ಯಕೀಯ ಸಾಧನಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ, ಉದಾಹರಣೆಗೆ ಪೇಸ್‌ಮೇಕರ್‌ಗಳು, ಇನ್ಸುಲಿನ್ ಪಂಪ್‌ಗಳು, ಕೇಳುವ ಸಾಧನಗಳು, ಪ್ರೋಸ್ಥೆಟಿಕ್‌ಗಳು ಅಥವಾ ಇತರ ಸಹಾಯಕ ಅಥವಾ ಮೋನಿಟರಿಂಗ್ ಸಾಧನಗಳು. ಅನ್ವಯಿಸಿದರೆ ಸಂಬಂಧಿತ ವಿವರಗಳನ್ನು ಸೇರಿಸಿ.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'ಸರ್ವಾಹಾರಿ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ಫಾಸ್ಟ್ ಫುಡ್'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'ಮತ್ಸ್ಯಾಹಾರಿ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'ಲ್ಯಾಕ್ಟೋಸ್ ರಹಿತ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'ಕಡಿಮೆ ಉಪ್ಪಿನ ಆಹಾರ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'ಕಡಿಮೆ ಸಕ್ಕರೆ ಆಹಾರ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'ಹೃದಯ ಆಹಾರ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'ಕಿಡ್ನಿ ಆಹಾರ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'ಇತರೆ'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ko.dart b/example/lib/src/generated/profiles/profiles_localization_ko.dart new file mode 100644 index 0000000..df3c0ff --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ko.dart @@ -0,0 +1,562 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Korean (`ko`). +class ProfilesLocalizationKo extends ProfilesLocalization { + ProfilesLocalizationKo([String locale = 'ko']) : super(locale); + + @override + String get chatDrawerTitle => '건강 기록'; + + @override + String get chatDrawerBadgeNew => '새로운'; + + @override + String get bannerTitle => '건강 기록 만들기'; + + @override + String get bannerSubtitle => '상담이 끝난 후 프로필을 추가하세요.'; + + @override + String get bannerMoreProfilesTitle => '프로필 추가'; + + @override + String get bannerMoreProfilesSubtitle => '다른 사람을 위해 상담을 시작하여 프로필을 생성하세요.'; + + @override + String get bannerSignUp => '건강 기록을 만들기 위해 가입하세요'; + + @override + String get errorRetryButton => '다시 시도'; + + @override + String get dashboardDeleteError => '프로필 삭제에 실패했습니다'; + + @override + String get dashboardSummaryLoadError => '프로필 요약을 불러오는 데 실패했습니다'; + + @override + String get dashboardMenuViewFullRecord => '전체 기록 보기'; + + @override + String get dashboardMenuShare => '공유'; + + @override + String get dashboardMenuDelete => '삭제'; + + @override + String get dashboardMetricAgeLabel => '나이'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value세', + one: '$value세', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => '체중'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => '신장'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => '알레르기'; + + @override + String get dashboardInfoChronicTitle => '만성'; + + @override + String get dashboardInfoMedicationTitle => '약물'; + + @override + String get dashboardInfoDevicesTitle => '장치'; + + @override + String get dashboardNavigationConsultations => '상담'; + + @override + String get dashboardNavigationDocuments => '문서'; + + @override + String get dashboardDeleteRecordTitle => '건강 기록을 삭제하시겠습니까?'; + + @override + String get dashboardDeleteRecordSubtitle => + '이 작업은 귀하의 건강 데이터를 영구적으로 삭제하며 되돌릴 수 없습니다. 귀하를 안내하는 데 사용하는 맥락을 잃게 됩니다.'; + + @override + String get dashboardDeleteRecordCancel => '취소'; + + @override + String get dashboardDeleteRecordConfirm => '삭제'; + + @override + String get dashboardDeleteRecordLoading => '건강 기록을 삭제하는 중...'; + + @override + String get dashboardDeleteRecordError => '프로필을 삭제하지 못했습니다'; + + @override + String get dashboardDeleteRecordSuccessTitle => '건강 기록이 삭제되었습니다'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + '언제든지 도우미와 채팅하여 새로 만들 수 있습니다.'; + + @override + String get dashboardDeleteRecordSuccessButton => '채팅으로 돌아가기'; + + @override + String get dataEditingScreenTitle => '편집 중'; + + @override + String get dataFailedToLoadError => '프로필 데이터를 불러오는 데 실패했습니다'; + + @override + String get dataRecordSavedTitle => '변경 사항이 저장되었습니다'; + + @override + String get dataRecordSavedSubtitle => '귀하의 정보가 성공적으로 업데이트되었습니다.'; + + @override + String get dataRecordSavedButton => '프로필로 돌아가기'; + + @override + String get dataRecordUpdateError => '프로필 데이터를 업데이트하지 못했습니다'; + + @override + String get dataRecordDiscardTitle => '변경 사항을 버리시겠습니까?'; + + @override + String get dataRecordDiscardSubtitle => + '프로필에 변경 사항을 적용했습니다. 가기 전에 저장하거나 폐기하세요.'; + + @override + String get dataRecordDiscardCancel => '편집 계속하기'; + + @override + String get dataRecordDiscardConfirm => '버리기'; + + @override + String get dataRecordEditTooltip => '편집'; + + @override + String get dataRecordAddTag => '기록 추가'; + + @override + String get consultationsSearch => '검색'; + + @override + String get consultationsSearchEmpty => '결과가 없습니다'; + + @override + String get documentsMenuDownload => '다운로드'; + + @override + String get documentsMenuShare => '공유'; + + @override + String get documentsMenuDelete => '삭제'; + + @override + String get documentsEmptyList => '문서가 없습니다'; + + @override + String get documentsDeleteTitle => '이 문서를 삭제하시겠습니까?'; + + @override + String get documentsDeleteSubtitle => '이 파일은 영구적으로 삭제됩니다'; + + @override + String get documentsDeleteCancel => '취소'; + + @override + String get documentsDeleteButton => '삭제'; + + @override + String get documentsMoreActionsTooltip => '추가 작업'; + + @override + String get profilesSearch => '검색'; + + @override + String get profilesEmptyList => '프로필을 찾을 수 없습니다'; + + @override + String get profilesViewMore => '더 보기'; + + @override + String get profilesMore => '더보기'; + + @override + String get profilesAnnouncementTitle1 => '닥터리나가 이제 당신의 건강을 기억합니다'; + + @override + String get profilesAnnouncementSubtitle1 => + '이제 귀하의 상담이 자동으로 건강 기록을 작성하고 업데이트합니다.'; + + @override + String get profilesAnnouncementTitle2 => '당신의 건강 기록, 당신의 규칙'; + + @override + String get profilesAnnouncementSubtitle2 => + '증상, 약물, 병력 또는 문서를 언제든지 보고, 수정하거나 추가하세요.'; + + @override + String get profilesAnnouncementTitle3 => '가족 전체를 위한 돌봄'; + + @override + String get profilesAnnouncementSubtitle3 => + '사랑하는 사람들, 자녀, 부모 또는 파트너를 위한 건강 기록을 만드세요.'; + + @override + String get profilesAnnouncementTitle4 => '건강 기록을 저장할 준비가 되셨나요?'; + + @override + String get profilesAnnouncementSubtitle4 => '상담 후 \'프로필 추가\'를 눌러 저장하세요.'; + + @override + String get profilesNextButton => '다음'; + + @override + String get profilesStartButton => '상담 시작'; + + @override + String get profilesLaterButton => '나중에 할게요'; + + @override + String get profileSuccessCloseButton => '닫기'; + + @override + String get pdfHeaderTitle => '건강 기록'; + + @override + String pdfHeaderTitleWithName(String name) { + return '건강 기록 — $name'; + } + + @override + String get expandableFieldMore => '...더 보기'; + + @override + String get expandableFieldLess => '...덜'; + + @override + String get profiles_button_addnew => '새 프로필 추가'; + + @override + String get profiles_label_addnew => '이 상담의 세부 정보를 저장할 프로필을 만드세요'; + + @override + String get profiles_label_health_records_hint => + '언제든지 Health Records에서 확인할 수 있습니다'; + + @override + String get profiles_label_keep_talking_hint => + '이 문제나 관련된 다른 질문이 있으면 언제든 저와 계속 이야기해 주세요. 도와드리기 위해 여기 있어요'; + + @override + String get profile_section_basic_title => '일반 정보'; + + @override + String get profile_section_basic_name_label => '이름'; + + @override + String get profile_section_basic_name_placeholder => '홍길동'; + + @override + String get profile_section_basic_first_name_label => '이름'; + + @override + String get profile_section_basic_first_name_placeholder => '철수'; + + @override + String get profile_section_basic_last_name_label => '성'; + + @override + String get profile_section_basic_last_name_placeholder => '김'; + + @override + String get profile_section_basic_sex_label => '성별'; + + @override + String get profile_section_basic_sex_placeholder => '선택하세요'; + + @override + String get profile_section_basic_sex_options_male => '남성'; + + @override + String get profile_section_basic_sex_options_female => '여성'; + + @override + String get profile_section_basic_sex_options_other => '기타'; + + @override + String get profile_section_basic_date_of_birth_label => '생년월일'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => '나이'; + + @override + String get profile_section_basic_age_str_placeholder => '예: 30'; + + @override + String get profile_section_basic_phonenumber_label => '전화번호'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => '이메일'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => '위치'; + + @override + String get profile_section_basic_location_placeholder => '예: 도시, 국가'; + + @override + String get profile_section_body_diet_title => '신체 및 식단'; + + @override + String get profile_section_body_diet_height_str_label => '키'; + + @override + String get profile_section_body_diet_height_str_placeholder => '예: 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => '체중'; + + @override + String get profile_section_body_diet_weight_str_placeholder => '예: 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => '월경 주기'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + '예: 규칙적, 불규칙적'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => '식이 제한'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + '선택하세요'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + '당신이 먹는 것과 어떤 제한이 있는지 알려주세요'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + '없음'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + '채식주의자'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + '비건'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + '글루텐 프리'; + + @override + String get profile_section_body_diet_bmi_label => '체질량지수(BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => '예: 24.5'; + + @override + String get profile_section_health_profile_title => '건강 프로필'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => '만성 질환'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + '예: 제2형 당뇨병'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + '모든 만성 질환을 나열하고 진단된 시기와 합병증을 포함해 주세요.'; + + @override + String get profile_section_health_profile_past_illnesses_label => '과거 병력'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + '예: 잦은 감기'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + '과거에 앓았던 심각한 질병을 나열해 주세요, 회복했더라도.'; + + @override + String get profile_section_health_profile_surgical_history_label => '수술력'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + '예: 충수절제술'; + + @override + String get profile_section_health_profile_surgical_history_hint => + '모든 수술을 나열하고 연도와 합병증 여부를 포함해 주세요.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + '가끔 복용하는 약'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + '예: 이부프로펜'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + '가끔 복용하는 약물(예: 진통제, 알레르기 약물)을 복용량과 사용 이유와 함께 기재해 주세요'; + + @override + String get profile_section_health_profile_regular_medications_label => + '정기 복용 약물'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + '예: 메트포르민'; + + @override + String get profile_section_health_profile_regular_medications_hint => + '정기적으로 복용하는 모든 약물의 이름, 용량, 하루 몇 번 복용하는지, 어떤 질환을 위한 것인지 기재해 주세요'; + + @override + String get profile_section_health_profile_allergies_label => '알레르기'; + + @override + String get profile_section_health_profile_allergies_placeholder => + '예: 페니실린 – 발진 유발'; + + @override + String get profile_section_health_profile_allergies_hint => + '모든 알레르기(약물, 음식, 환경)를 나열하고 어떤 반응이 있었는지 설명해 주세요(예: 발진, 부기, 호흡 문제).'; + + @override + String get profile_section_health_profile_special_conditions_label => '특이사항'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + '예: 임신, 장애'; + + @override + String get profile_section_health_profile_special_conditions_hint => + '의사가 항상 알아야 할 중요한 의학적 상태가 있다면(예: 임신, 이식된 장치, 장애, 항응고 요법) 설명해 주십시오. 없다면 비워 두셔도 됩니다.'; + + @override + String get profile_section_health_profile_family_history_label => '가족력'; + + @override + String get profile_section_health_profile_family_history_placeholder => + '예: 심장 질환, 암'; + + @override + String get profile_section_health_profile_family_history_hint => + '가족의 중요한 질병을 설명해 주세요 (예: 당뇨병, 고혈압, 심장병, 암, 유전병) 그리고 어떤 가족 구성원이 그 질병을 앓았는지 명시해 주세요.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + '사회 및 생활습관 요인'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + '예: 흡연, 음주'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + '흡연, 음주, 신체 활동, 식단, 수면 및 직업과 같이 건강에 영향을 줄 수 있는 생활 습관 요소를 설명해 주세요.'; + + @override + String get profile_section_health_profile_devices_label => '의료기기'; + + @override + String get profile_section_health_profile_devices_placeholder => + '예: 심박동조율기, 보청기, 인슐린 펌프'; + + @override + String get profile_section_health_profile_devices_hint => + '사용 중이거나 이식된 의료 기기를 나열해 주세요. 예: 심박조율기, 인슐린 펌프, 보청기, 의수족 또는 기타 보조 기기나 모니터링 기기. 관련 세부정보가 있으면 포함해 주세요.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + '잡식성'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + '패스트푸드'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + '페스카테리언'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + '무유당'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + '저나트륨 식단'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + '저당 식단'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + '심장 질환 식단'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + '신장 식단'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + '기타'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_lo.dart b/example/lib/src/generated/profiles/profiles_localization_lo.dart new file mode 100644 index 0000000..962e210 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_lo.dart @@ -0,0 +1,578 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Lao (`lo`). +class ProfilesLocalizationLo extends ProfilesLocalization { + ProfilesLocalizationLo([String locale = 'lo']) : super(locale); + + @override + String get chatDrawerTitle => 'ບັນທຶກສຸຂະພາບ'; + + @override + String get chatDrawerBadgeNew => 'ໃໝ່'; + + @override + String get bannerTitle => 'ສ້າງບັນທຶກສຸຂະພາບຂອງທ່ານ'; + + @override + String get bannerSubtitle => 'ທ່ານເພີ່ມແບບປະຈຸບັນຂອງທ່ານໃນສິ່ງທີ່ປ່ອນສິນຄ້າ.'; + + @override + String get bannerMoreProfilesTitle => 'ເພີ່ມບັນທຶກເພີ່ມ'; + + @override + String get bannerMoreProfilesSubtitle => + 'ເລີ່ມຕົ້ນການປຶກສາສໍາລັບຄົນອື່ນເພື່ອສ້າງແບບປະຈຸບັນຂອງເຂົ້າ.'; + + @override + String get bannerSignUp => 'ລົງບັດເພື່ອສ້າງບັດສຸຂະພາບຂອງເອງ'; + + @override + String get errorRetryButton => 'ລອງໃໝ່'; + + @override + String get dashboardDeleteError => 'ບໍ່ສາມາດລົບໂປຣໄຟລ໌'; + + @override + String get dashboardSummaryLoadError => 'ບໍ່ສາມາດເອົາສະລະບົບຂອງບັນຊີມາໃສ່'; + + @override + String get dashboardMenuViewFullRecord => 'ເບິ່ງບັນທຶກສົກສິດສົດ'; + + @override + String get dashboardMenuShare => 'ແບ່ງປັນ'; + + @override + String get dashboardMenuDelete => 'ລົບ'; + + @override + String get dashboardMetricAgeLabel => 'ອາຍຸ'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value ປີ', + one: '$value ປີ', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'ນໍ້າ໫ະລັດ'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'ສູງ'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'ອາລະຈິ'; + + @override + String get dashboardInfoChronicTitle => 'ອາການບໍ່ປົກກະຕິ'; + + @override + String get dashboardInfoMedicationTitle => 'ຢາ'; + + @override + String get dashboardInfoDevicesTitle => 'ອຸປະກອນ'; + + @override + String get dashboardNavigationConsultations => 'ການປຶກສາ'; + + @override + String get dashboardNavigationDocuments => 'ເອກະສານ'; + + @override + String get dashboardDeleteRecordTitle => 'ລົບບັນທຶກສຸຂະພາບບໍ?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'ນີ້ຈະລົບຂໍໍ່ສຸດທ້າຍຂອງທ່ານແລະບໍ່ສາມາດກັບຄືນໄດ້. ທ່ານຈະສາມາດສູນເສຍບັນດາທີ່ເຮົາໃຊ້ເພື່ອນຳທ່ານ.'; + + @override + String get dashboardDeleteRecordCancel => 'ຍົກເລີກ'; + + @override + String get dashboardDeleteRecordConfirm => 'ລົບ'; + + @override + String get dashboardDeleteRecordLoading => 'ກຳລັງລົບບັນທຶກສຸຂະພາບຂອງທ່ານ...'; + + @override + String get dashboardDeleteRecordError => 'ບໍ່ສາມາດລົບໂປຣໄຟລ໌'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'ບັນທຶກສຸຂະພາບໄດ້ຖອນອອກ'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'ທ່ານສາมາດສ້າງໃໝ່ໃນເວລາໃດກໍໄດ້ໂດຍການສົນທະນາກັບຜູ້ຊ່ອຍ.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'ກັບໄປສູ່ບັນທຶກ'; + + @override + String get dataEditingScreenTitle => 'ແກ້ໄຂ'; + + @override + String get dataFailedToLoadError => 'ບໍ່ສາມາດເອົາຂໍໍ່າບັດຂອງປະເພດບັນທຶກ'; + + @override + String get dataRecordSavedTitle => 'ການປ່ອນບັດບັດສຳເລັດ'; + + @override + String get dataRecordSavedSubtitle => 'ຂໍໍາລະບຽບຂອງທ່ານໄດ້ຖືກອັບເດດແລ້ວ.'; + + @override + String get dataRecordSavedButton => 'ກັບໄປທີ່ໂປຣໄຟລ'; + + @override + String get dataRecordUpdateError => 'ບໍ່ສາມາດອັບເດດຂໍໍ່ຂອງຂໍໍ່ບັນທຶກ'; + + @override + String get dataRecordDiscardTitle => 'ລົບການແກ້ໄຂບໍ?'; + + @override + String get dataRecordDiscardSubtitle => + '`ທ່ານໄດ້ແກ້ໄຂໂປຣໄຟລ໌ຂອງທ່ານບາງຢ່າງແລ້ວ. ບັນທຶກມັນກ່ອນອອກ ຫຼື ຍົກເລີກມັນ.`'; + + @override + String get dataRecordDiscardCancel => '`ແກ້ໄຂຕໍ່`'; + + @override + String get dataRecordDiscardConfirm => '`ຍົກເລີກ`'; + + @override + String get dataRecordEditTooltip => 'ແກ້ໄຂ'; + + @override + String get dataRecordAddTag => 'ເພີ່ມບັນທຶກ'; + + @override + String get consultationsSearch => 'ຄົ້ນຫາ'; + + @override + String get consultationsSearchEmpty => 'ບໍ່ມີຜົນລັບສູດ'; + + @override + String get documentsMenuDownload => 'ດາວ໌ໂຫລດ'; + + @override + String get documentsMenuShare => 'ແບ່ງປັນ'; + + @override + String get documentsMenuDelete => 'ລົບ'; + + @override + String get documentsEmptyList => 'ບໍ່ມີເອກະສານທີ່ພົບໃນລາຍການ'; + + @override + String get documentsDeleteTitle => '`ລົບເອກະສານນີ້ບໍ?`'; + + @override + String get documentsDeleteSubtitle => '`ໄຟລ໌ນີ້ຈະຖືກລົບຢ່າງຖາວອນ`'; + + @override + String get documentsDeleteCancel => 'ຍົກເລີກ'; + + @override + String get documentsDeleteButton => 'ລົບ'; + + @override + String get documentsMoreActionsTooltip => 'ການດໍາເນີນການເພີ່ມເຕີມ'; + + @override + String get profilesSearch => 'ຄົ້ນຫາ'; + + @override + String get profilesEmptyList => 'ບໍ່ພົບໂປຣໄຟລ໌'; + + @override + String get profilesViewMore => 'ເບິ່ງເພີ່ມເຕີມ'; + + @override + String get profilesMore => 'ຕິດເພີ່ມ'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina ຈະຈື່ບັນທຶກສຸຂະພາບຂອງທ່ານ'; + + @override + String get profilesAnnouncementSubtitle1 => + 'ການປຶກສາຂອງທ່ານດຽວນີ້ສ່ອມແປງແລະອັບເດດບັນທຶກສຸຂະພາບຂອງທ່ານໃຫ້ເອົາໃຈ.'; + + @override + String get profilesAnnouncementTitle2 => + 'ບັນທຶກສຸຂະພາບຂອງທ່ານ, ກົດແນວທາງຂອງທ່ານ'; + + @override + String get profilesAnnouncementSubtitle2 => + 'ເບິ່ງ, ແກ້ໄຂ, ຫຼືເພີ່ມອາການ, ຢາ, ປະຫວັດ, ຫຼືເອກະສານໃດໆ.'; + + @override + String get profilesAnnouncementTitle3 => 'ການດູແລສໍາລັບຄອບຄົວທັງໝົດ'; + + @override + String get profilesAnnouncementSubtitle3 => + 'ສ້າງບັນທຶກສຸຂະພາບສຳລັບຄົນທີ່ທ່ານຮັກ, ລູກ, ພໍ່ແມ່ ຫຼື ຄູ່ນອນຂອງທ່ານ.'; + + @override + String get profilesAnnouncementTitle4 => + 'ພ້ອມທີ່ຈະບັນທຶກບັນທຶກສຸຂະພາບຂອງທ່ານແລ້ວບໍ?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'ຫຼັງຈາກການປຶກສາຫາລືຂອງທ່ານແລ້ວ, ໃຫ້ແຕະ “ເພີ່ມໂປຣໄຟລ໌” ເພື່ອບັນທຶກມັນ.'; + + @override + String get profilesNextButton => 'ຕໍ່ໄປ'; + + @override + String get profilesStartButton => 'ເລີ່ມປຶກສາຫາລື'; + + @override + String get profilesLaterButton => 'ບາງທີຕໍ່ມາ'; + + @override + String get profileSuccessCloseButton => 'ປິດ'; + + @override + String get pdfHeaderTitle => 'ບັດທະບຽນສຸຂະພາບ'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'ບັດທະບຽນສຸຂະພາບ — $name'; + } + + @override + String get expandableFieldMore => '...ຕື່ມເຕີມ'; + + @override + String get expandableFieldLess => '...ນ້ອຍກວ່າ'; + + @override + String get profiles_button_addnew => 'ເພີ່ມໂປຣໄຟລໃໝ່'; + + @override + String get profiles_label_addnew => + 'ສ້າງໂປຣໄຟລ໌ເພື່ອບັນທຶກລາຍລະອຽດຂອງການປຶກສານີ້'; + + @override + String get profiles_label_health_records_hint => + 'ທ່ານສາມາດປະເມີນມັນໄດ້ເມື່ອໃດໆໃນບັນທຶກສຸຂະພາບຂອງທ່ານ'; + + @override + String get profiles_label_keep_talking_hint => + 'ຖ້າທ່ານມີຄໍາຖາມເພີ່ມເຕີມ ກ່ຽວກັບເນື້ອຫານີ້ ຫຼື ກ່ຽວຂ້ອງ, ສາມາດສົນທະນາກັບຂ້ອຍໄດ້. ຂ້ອຍຢູ່ນີ້ເພື່ອຊ່ວຍ'; + + @override + String get profile_section_basic_title => 'ຂໍ້ມູນທົ່ວໄປ'; + + @override + String get profile_section_basic_name_label => 'ຊື່'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'ຊື່'; + + @override + String get profile_section_basic_first_name_placeholder => 'ຈອນ'; + + @override + String get profile_section_basic_last_name_label => 'ນາມສະກຸນ'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'ເພດ'; + + @override + String get profile_section_basic_sex_placeholder => 'ກະລຸນາເລືອກ'; + + @override + String get profile_section_basic_sex_options_male => 'ຊາຍ'; + + @override + String get profile_section_basic_sex_options_female => 'ຍິງ'; + + @override + String get profile_section_basic_sex_options_other => 'ອື່ນ'; + + @override + String get profile_section_basic_date_of_birth_label => 'ວັນເກີດ'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'ອາຍຸ'; + + @override + String get profile_section_basic_age_str_placeholder => 'ເຊັ່ນ 30'; + + @override + String get profile_section_basic_phonenumber_label => 'ເບີໂທ'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ອີເມວ'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'ສະຖານທີ່'; + + @override + String get profile_section_basic_location_placeholder => + 'ຕົວຢ່າງ ເມືອງ, ປະເທດ'; + + @override + String get profile_section_body_diet_title => 'ຮ່າງກາຍ & ອາຫານ'; + + @override + String get profile_section_body_diet_height_str_label => 'ຄວາມສູງ'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'ຕົວຢ່າງ 180 ຊມ'; + + @override + String get profile_section_body_diet_weight_str_label => 'ນໍ້າໜັກ'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'ຕົວຢ່າງ 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menstrual Cycle'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'ເຊັ່ນ ປົກກະຕິ, ບໍ່ປົກກະຕິ'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'ข้อจำกัดด้านอาหาร'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'ກະລຸນາເລືອກ'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'ໃຫ້ເຮົາຮູ້ວ່າເຈົ້າກິນອາຫານແນວໃດແລະມີການຈຳກັດໃດແລ້ວ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'ບໍ່ມີ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'ມັງສະວິຣັດ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'ວີແກນ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Gluten Free'; + + @override + String get profile_section_body_diet_bmi_label => 'Body Mass Index (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ເຊັ່ນ 24.5'; + + @override + String get profile_section_health_profile_title => 'ໂປຣໄຟລ໌ສຸຂະພາບ'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'ພະຍາດຖາວອນ'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ຕົວຢ່າງ. ເບົາລິດສະບັດປະເພດ 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'ກະລຸນາລະບຸທຸກແບບຂອງເຂດສຸຂະພາບແລະລວມເວລາທີ່ຖືກວິນິຈັດແລະຄວາມສົກສິດ.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'ປະຫວັດການປ່ວຍ'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ຕົວຢ່າງ ປະຈໍາ ຄວາມເປັນບໍ່ສະດວກ'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'ກະລຸນາແລະລະບຸລາຍການແພດສິດສະລິດທີ່ເຄີຍມີໃນອາດສະຖານທີ່, ແມ່ນວ່າທ່ານຈະກັບຄືນຫຼືບໍ່.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'ປະຫວັດການຜ່າຕັດ'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'เช่น ผ่าตัดไส้ติ่ง'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'ກະລຸນາແລະລະບຸການປ່ອນສິນຄ້າທັງໝົດ ແລະລວມປີ ແລະວ່າມີບັນຫາໃດບໍ່.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'ຢາທີ່ໃຊ້ບາງຄັ້ງ'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'ຕົວຢາທີ່ໃຊ້ບໍ່ປະຈໍາ'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'ກະລຸນາແລະລະບຸຍາດທີ່ທ່ານຮັບປະສົບຈາກເວລາໜຶ່ງ (ຕົວຢ່າງ: ຢາບວດບັດ, ຢາປ່ອນອາການລະດັບ), ລວມທັງຂະບວນແລະເຫດຜົນໃນການໃຊ້.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'ຢາປົກກະຕິ'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'ຕົວຢາຕ່າງໆ ເຊັ່ນ Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'ກະລຸນາແລະລະບຸຍາກອນທັງໝົດທີ່ທ່ານຮັບປະສົບປະຈຸບັນ, ລວມທັງຊື່, ຂະບວນການ, ແລະຈຳນວນທີ່ທ່ານຮັບປະສົບຕໍ່ມື້, ແລະສໍາລັບສະຖານະທີ່ມີຢູ່.'; + + @override + String get profile_section_health_profile_allergies_label => 'ອາການແພ່'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ຕົວຢ່າງ: Penicillin – ເກີດລະດັບ'; + + @override + String get profile_section_health_profile_allergies_hint => + 'ກະລຸນາແລະລະບຸທຸກອາການແພດ (ຢາ, ອາຫານ, ສິ່ງເລືອກສິ່ງປ່ອນ), ແລະອະທິບາຍວ່າທ່ານມີອາການໃດ (ຕົວຢ່າງ: ລະດັບສູງ, ບວກຂຶ້ນ, ບັນທຸກບັນທຸກ).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'ເງື່ອນໄຂພິເສດ'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'ເຊັ່ນ ການຕັ້ງຄົນ, ພິການ'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'ຖ້າທ່ານມີສະຖານະສຸຂະພາບສຳຄັນໃດໜຶ່ງທີ່ແພດຄວນຮູ້ເພື່ອສະແດງບັດທະຍາຍ (ຕົວຢ່າງ: ການຕິດຕັ້ງ, ອຸປະກອນທີ່ປ່ອນໃສ່, ຄວາມບົກບັດ, ແທບປະສົບຄວາມລົດລະດັບ), ຂໍໃຫ້ອະທິບາຍພວກເຂົ້າ. ຖ້າບໍ່ມີ, ທ່ານສາມາດປ່າຍເປົ່ານີ້.'; + + @override + String get profile_section_health_profile_family_history_label => + 'ປະຫວັດຄອບຄົວ'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ເຊັ່ນ ໂລກຫົວໃຈ, ມະເຫດ'; + + @override + String get profile_section_health_profile_family_history_hint => + 'ກະລຸນາອະທິບາຍເຖິງແບບປ່ອນສຳຄັນໃນຄອບຄົວຂອງທ່ານ (ສໍາລັບຕົວຢ່າງ: ບໍ່ລະດັບນໍ້າຕາ, ຄວາມດັນສູງ, ເປັນເລື່ອງໃຈ, ເປັນເລື່ອງມະເລີດ, ເປັນເລື່ອງສົດສິດສະດິດ) ແລະລະບຸກຄົນສະຖານທີ່ໄດ້ມີສະຖານທີ່.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'ປັດໄຈທາງສັງຄົມ ແລະ ວິທີຊີວິດ'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'ເຊັ່ນ ສູບຢາ, ດື່ມເຫຼືອ'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'ກະລຸນາອະທິບາຍປັດຈຸບັນທີ່ສາມາດສົມພັນກັບສຸຂະພາບຂອງທ່ານ, ເຊັ່ນ ການສູບບິນ, ສິນຄ້າທີ່ມີເຫດຜົນ, ກິລາ, ອາຫານ, ການນອນ, ແລະ ອາຊີບ.'; + + @override + String get profile_section_health_profile_devices_label => 'ອຸປະກອນທາງການແພດ'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'ຕົວຢ່າງ ເຄື່ອງກະຕຸ້ນຫົວໃຈ, ເຄື່ອງຊ່ວຍຟັງ, ປັມອິນຊູລິນ'; + + @override + String get profile_section_health_profile_devices_hint => + 'ກະລຸນາແລະລະບຸອຸປະກອນທາງແພດທີ່ທ່ານໃຊ້ຫຼືມີຢູ່ໃນຮ່າງກາຍ, ເຊັ່ນ ບັດດິດ, ປັກສະມາກ, ອຸປະກອນສຽງ, ສິນຄ້າປະເພດສະເພາະ, ຫຼືອຸປະກອນອື່ນໆສໍາລັບການຊ່ວຍເອງ ຫຼືການຕິດຕາມ.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'กินทุกอย่าง'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ອາຫານໄວ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescatarian'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'គ្មានឡាក់តូស'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'អាហារអំបិលទាប'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'อาหารน้ำตาลต่ำ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'ອາຫານສຳລັບຫົວໃຈ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'ອາหารສໍາລັບເສັງສະດວກ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'ອື່ນ'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ml.dart b/example/lib/src/generated/profiles/profiles_localization_ml.dart new file mode 100644 index 0000000..88d5736 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ml.dart @@ -0,0 +1,583 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malayalam (`ml`). +class ProfilesLocalizationMl extends ProfilesLocalization { + ProfilesLocalizationMl([String locale = 'ml']) : super(locale); + + @override + String get chatDrawerTitle => 'ആരോഗ്യ രേഖകൾ'; + + @override + String get chatDrawerBadgeNew => 'പുതിയത്'; + + @override + String get bannerTitle => 'നിങ്ങളുടെ ആരോഗ്യ രേഖ സൃഷ്ടിക്കുക'; + + @override + String get bannerSubtitle => + 'നിങ്ങളുടെ ഉപദേശത്തിന്റെ അവസാനം, നിങ്ങളുടെ പ്രൊഫൈൽ ചേർക്കുക.'; + + @override + String get bannerMoreProfilesTitle => 'കൂടുതൽ പ്രൊഫൈലുകൾ ചേർക്കുക'; + + @override + String get bannerMoreProfilesSubtitle => + 'മറ്റൊരാളിന് അവരുടെ പ്രൊഫൈൽ സൃഷ്ടിക്കാൻ ഒരു ഉപദേശനം ആരംഭിക്കുക.'; + + @override + String get bannerSignUp => + 'സൈൻ അപ്പ് ചെയ്ത് നിങ്ങളുടെ ആരോഗ്യ രേഖ സൃഷ്ടിക്കുക'; + + @override + String get errorRetryButton => 'മറുപടി നൽകുക'; + + @override + String get dashboardDeleteError => 'പ്രൊഫൈൽ ഇല്ലാതാക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String get dashboardSummaryLoadError => + 'പ്രൊഫൈൽ സംഗ്രഹം ലോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു'; + + @override + String get dashboardMenuViewFullRecord => 'മുഴുവൻ രേഖ കാണുക'; + + @override + String get dashboardMenuShare => 'പങ്കിടുക'; + + @override + String get dashboardMenuDelete => 'മാറ്റി'; + + @override + String get dashboardMetricAgeLabel => 'പ്രായം'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value വർഷങ്ങൾ', + one: '$value വർഷം', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'ഭാരം'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'ഉയരം'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'അലർജികൾ'; + + @override + String get dashboardInfoChronicTitle => 'ക്രോണിക്'; + + @override + String get dashboardInfoMedicationTitle => 'മരുന്ന്'; + + @override + String get dashboardInfoDevicesTitle => 'ഉപകരണങ്ങൾ'; + + @override + String get dashboardNavigationConsultations => 'കൺസൾട്ടേഷനുകൾ'; + + @override + String get dashboardNavigationDocuments => 'ഡോക്യുമെന്റുകൾ'; + + @override + String get dashboardDeleteRecordTitle => 'ആരോഗ്യ രേഖ നീക്കം ചെയ്യണോ?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'ഇത് നിങ്ങളുടെ ആരോഗ്യ ഡാറ്റ സ്ഥിരമായി നീക്കം ചെയ്യും, ഇത് തിരികെ വരില്ല. നിങ്ങള്‍ക്ക് ഞങ്ങള്‍ നിങ്ങളെ മാര്‍ഗനിര്‍ദ്ദേശിക്കാന്‍ ഉപയോഗിക്കുന്ന സന്ധി നഷ്ടപ്പെടും.'; + + @override + String get dashboardDeleteRecordCancel => 'റദ്ദാക്കുക'; + + @override + String get dashboardDeleteRecordConfirm => 'മാറ്റി'; + + @override + String get dashboardDeleteRecordLoading => + 'നിങ്ങളുടെ ആരോഗ്യ രേഖ നീക്കം ചെയ്യുന്നു...'; + + @override + String get dashboardDeleteRecordError => 'പ്രൊഫൈൽ ഇല്ലാതാക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'ആരോഗ്യ രേഖ നീക്കം ചെയ്തു'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'നിങ്ങൾ സഹായിയുമായി സംസാരിച്ച് എപ്പോഴും പുതിയത് സൃഷ്ടിക്കാം.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'ചാറ്റിലേക്ക് മടങ്ങുക'; + + @override + String get dataEditingScreenTitle => 'എഡിറ്റിംഗ്'; + + @override + String get dataFailedToLoadError => + 'പ്രൊഫൈൽ ഡാറ്റ ലോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു'; + + @override + String get dataRecordSavedTitle => 'മാറ്റങ്ങൾ സംരക്ഷിതമായിരിക്കുന്നു'; + + @override + String get dataRecordSavedSubtitle => + 'നിങ്ങളുടെ വിവരങ്ങൾ വിജയകരമായി അപ്ഡേറ്റ് ചെയ്തു.'; + + @override + String get dataRecordSavedButton => 'പ്രൊഫൈലിലേക്ക് മടങ്ങുക'; + + @override + String get dataRecordUpdateError => + 'പ്രൊഫൈൽ ഡാറ്റ അപ്ഡേറ്റ് ചെയ്യാൻ പരാജയപ്പെട്ടു'; + + @override + String get dataRecordDiscardTitle => 'മാറ്റങ്ങൾ ഒഴിവാക്കണോ?'; + + @override + String get dataRecordDiscardSubtitle => + 'നിങ്ങളുടെ പ്രൊഫൈലിൽ ചില മാറ്റങ്ങൾ നിങ്ങൾ നടത്തിയിട്ടുണ്ട്. നിങ്ങൾ പോകുന്നതിന് മുമ്പ് അവ സംരക്ഷിക്കുക, അല്ലെങ്കിൽ അവ തള്ളിക്കളയുക.'; + + @override + String get dataRecordDiscardCancel => 'എഡിറ്റിംഗ് തുടരുക'; + + @override + String get dataRecordDiscardConfirm => 'വിലക്കുക'; + + @override + String get dataRecordEditTooltip => 'തിരുത്തുക'; + + @override + String get dataRecordAddTag => 'രേഖ ചേർക്കുക'; + + @override + String get consultationsSearch => 'ശോധന'; + + @override + String get consultationsSearchEmpty => 'ഫലങ്ങൾ കണ്ടെത്തിയില്ല'; + + @override + String get documentsMenuDownload => 'ഡൗൺലോഡ്'; + + @override + String get documentsMenuShare => 'പങ്കിടുക'; + + @override + String get documentsMenuDelete => 'മാറ്റി'; + + @override + String get documentsEmptyList => 'ദസ്താവേസ് കണ്ടെത്തിയില്ല'; + + @override + String get documentsDeleteTitle => + 'ഈ രേഖ നീക്കം ചെയ്യണമെന്ന് ആഗ്രഹിക്കുന്നുണ്ടോ?'; + + @override + String get documentsDeleteSubtitle => 'ഈ ഫയൽ സ്ഥിരമായി നീക്കം ചെയ്യപ്പെടും'; + + @override + String get documentsDeleteCancel => 'റദ്ദാക്കുക'; + + @override + String get documentsDeleteButton => 'മാറ്റി'; + + @override + String get documentsMoreActionsTooltip => 'കൂടുതൽ പ്രവർത്തനങ്ങൾ'; + + @override + String get profilesSearch => 'ശോധന'; + + @override + String get profilesEmptyList => 'പ്രൊഫൈലുകളൊന്നും കണ്ടെത്തിയില്ല'; + + @override + String get profilesViewMore => 'കൂടുതൽ കാണുക'; + + @override + String get profilesMore => 'കൂടുതൽ'; + + @override + String get profilesAnnouncementTitle1 => + 'ഡോക്ടറിന ഇപ്പോൾ നിങ്ങളുടെ ആരോഗ്യത്തെ ഓർമ്മിക്കുന്നു'; + + @override + String get profilesAnnouncementSubtitle1 => + 'നിങ്ങളുടെ കൺസൾട്ടേഷനുകൾ ഇപ്പോൾ നിങ്ങളുടെ ആരോഗ്യ രേഖ സ്വയം നിർമ്മിക്കുകയും അപ്ഡേറ്റ് ചെയ്യുകയും ചെയ്യുന്നു.'; + + @override + String get profilesAnnouncementTitle2 => 'നിന്റെ ആരോഗ്യ രേഖ, നിന്റെ നിയമങ്ങൾ'; + + @override + String get profilesAnnouncementSubtitle2 => + 'സമ്മർദ്ദങ്ങൾ, മരുന്നുകൾ, ചരിത്രം, അല്ലെങ്കിൽ രേഖകൾ എപ്പോഴും കാണുക, തിരുത്തുക, അല്ലെങ്കിൽ ചേർക്കുക.'; + + @override + String get profilesAnnouncementTitle3 => + 'നിങ്ങളുടെ മുഴുവൻ കുടുംബത്തെ പരിചരിക്കുക'; + + @override + String get profilesAnnouncementSubtitle3 => + 'നിങ്ങളുടെ പ്രിയപ്പെട്ടവരുടെ, കുട്ടികളുടെ, മാതാപിതാക്കളുടെ അല്ലെങ്കിൽ പങ്കാളിയുടെ ആരോഗ്യ രേഖ സൃഷ്ടിക്കുക.'; + + @override + String get profilesAnnouncementTitle4 => + 'നിങ്ങളുടെ ആരോഗ്യ രേഖ സംരക്ഷിക്കാൻ തയ്യാറാണോ?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'നിങ്ങളുടെ ഉപദേശത്തിന് ശേഷം, അത് സംരക്ഷിക്കാൻ “Add profile” എന്നതിൽ ടാപ്പ് ചെയ്യുക.'; + + @override + String get profilesNextButton => 'അടുത്തത്'; + + @override + String get profilesStartButton => 'കൺസൾട്ടേഷൻ ആരംഭിക്കുക'; + + @override + String get profilesLaterButton => 'ശायद പിന്നീട്'; + + @override + String get profileSuccessCloseButton => 'അടയ്ക്കുക'; + + @override + String get pdfHeaderTitle => 'ആരോഗ്യ രേഖ'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'ആരോഗ്യ രേഖ — $name'; + } + + @override + String get expandableFieldMore => '...കൂടുതൽ'; + + @override + String get expandableFieldLess => '...കുറഞ്ഞത്'; + + @override + String get profiles_button_addnew => 'പുതിയ പ്രൊഫൈൽ ചേർക്കുക'; + + @override + String get profiles_label_addnew => + 'ഈ ഉപദേശത്തിന്റെ വിശദാംശങ്ങൾ സംരക്ഷിക്കാൻ ഒരു പ്രൊഫൈൽ സൃഷ്ടിക്കുക.'; + + @override + String get profiles_label_health_records_hint => + 'ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਵੇਲੇ ਆਪਣੇ ਹੈਲਥ ਰਿਕਾਰਡ ਵਿੱਚ ਇਸ ਦਾ ਮੁਲਾਂਕਣ ਕਰ ਸਕਦੇ ਹੋ'; + + @override + String get profiles_label_keep_talking_hint => + 'ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਇਸ ਬਾਰੇ ਜਾਂ ਇਸ ਨਾਲ ਸੰਬੰਧਤ ਹੋਰ ਸਵਾਲ ਹਨ, ਤਾਂ ਬੇਝਿਝਕ ਮੈਨੂੰ ਗੱਲ ਜਾਰੀ ਰੱਖੋ. ਮੈਂ ਮਦਦ ਲਈ ਇੱਥੇ ਹਾਂ'; + + @override + String get profile_section_basic_title => 'ਸਧਾਰਨ ਜਾਣਕਾਰੀ'; + + @override + String get profile_section_basic_name_label => 'ਨਾਮ'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'ਪਹਿਲਾ ਨਾਮ'; + + @override + String get profile_section_basic_first_name_placeholder => 'ਜੌਨ'; + + @override + String get profile_section_basic_last_name_label => 'ਆਖਰੀ ਨਾਮ'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'ਲਿੰਗ'; + + @override + String get profile_section_basic_sex_placeholder => 'ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ'; + + @override + String get profile_section_basic_sex_options_male => 'ਮਰਦ'; + + @override + String get profile_section_basic_sex_options_female => 'ਮਹਿਲਾ'; + + @override + String get profile_section_basic_sex_options_other => 'ਹੋਰ'; + + @override + String get profile_section_basic_date_of_birth_label => 'ਜਨਮ ਤਾਰੀਖ'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'ਉਮਰ'; + + @override + String get profile_section_basic_age_str_placeholder => 'ਜਿਵੇਂ 30'; + + @override + String get profile_section_basic_phonenumber_label => 'ਫੋਨ ਨੰਬਰ'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ਈਮੇਲ'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'ਟਿਕਾਣਾ'; + + @override + String get profile_section_basic_location_placeholder => + 'ਉਦਾਹਰਨ: ਸ਼ਹਿਰ, ਦੇਸ਼'; + + @override + String get profile_section_body_diet_title => 'ਸਰੀਰ & ਆਹਾਰ'; + + @override + String get profile_section_body_diet_height_str_label => 'ਉਚਾਈ'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'e.g. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'ਵਜ਼ਨ'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'ਜਿਵੇਂ 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'ਮਾਸਿਕ ਚੱਕਰ'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'ਉਦਾਹਰਣ: ਨਿਯਮਤ, ਅਨਿਯਮਤ'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'ਆਹਾਰਿਕ ਪਾਬੰਦੀਆਂ'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'നിങ്ങൾ എന്ത് ഭക്ഷണം കഴിക്കുന്നു എന്നതും നിങ്ങൾക്ക് ഉള്ള നിയന്ത്രണങ്ങളും ഞങ്ങളെ അറിയിക്കൂ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'ਕੋਈ ਨਹੀਂ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'ਸ਼ਾਕਾਹਾਰੀ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'ਵੀਗਨ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'ਗਲੂਟਨ ਮੁਕਤ'; + + @override + String get profile_section_body_diet_bmi_label => 'ਬਾਡੀ ਮਾਸ ਇੰਡੈਕਸ (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ਉਦਾਹਰਨ: 24.5'; + + @override + String get profile_section_health_profile_title => 'ਸਿਹਤ ਪ੍ਰੋਫਾਈਲ'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'ਦੀਰਘਕਾਲੀਨ ਬਿਮਾਰੀਆਂ'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ഉദാഹരണത്തിന്, ഡയബറ്റിസ് ടൈപ്പ് 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'ദയവായി എല്ലാ ദീർഘകാല രോഗങ്ങൾ പട്ടികയിലാക്കുക, അവ എപ്പോൾ കണ്ടെത്തിയതും ഏതെങ്കിലും ജടിലതകൾ ഉൾപ്പെടുത്തുക.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'ਪਿਛਲੀਆਂ ਬਿਮਾਰੀਆਂ'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ഉദാഹരണത്തിന്. സ്ഥിരമായ സാധാരണ കഫം'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'ദയവായി നിങ്ങൾക്ക് ഉണ്ടായിരുന്ന ഗൗരവമായ രോഗങ്ങൾ പട്ടികയാക്കുക, നിങ്ങൾക്ക് സുഖമായിട്ടുണ്ടെങ്കിലും.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'ਸਰਜਰੀ ਇਤਿਹਾਸ'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'ਜਿਵੇਂ ਕਿ ਐਪੈਂਡੈਕਟੋਮੀ'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'ദയവായി എല്ലാ ശസ്ത്രക്രിയകളും പട്ടികയിലാക്കുക, വർഷവും ഏതെങ്കിലും സങ്കീർണ്ണതകൾ ഉണ്ടെങ്കിൽ അത് ഉൾപ്പെടുത്തുക.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'ਕਦੇ-ਕਦੇ ਵਰਤੀ ਜਾਣ ਵਾਲੀਆਂ ਦਵਾਈਆਂ'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'ഉദാഹരണത്തിന്, ഇബുപ്രോഫെൻ'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'ദയവായി നിങ്ങൾ ഇടയ്ക്കിടെ ഉപയോഗിക്കുന്ന മരുന്നുകൾ (ഉദാഹരണത്തിന്: വേദനാശമനങ്ങൾ, അലർജി മരുന്നുകൾ) ലിസ്റ്റ് ചെയ്യുക, ഡോസ് ഉൾപ്പെടെ ഉപയോഗത്തിന്റെ കാരണം.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'ਨਿਯਮਤ ਦਵਾਈਆਂ'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'ഉദാഹരണത്തിന് Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'ദയവായി നിങ്ങൾ സ്ഥിരമായി ഉപയോഗിക്കുന്ന എല്ലാ മരുന്നുകളും, അവയുടെ പേര്, ഡോസ്, നിങ്ങൾ ദിവസത്തിൽ എത്ര തവണ അത് എടുക്കുന്നു, എങ്ങനെ ഉപയോഗിക്കണമെന്ന് രേഖപ്പെടുത്തുക.'; + + @override + String get profile_section_health_profile_allergies_label => 'ਅਲਰਜੀਆਂ'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ഉദാഹരണത്തിന്, പെനിസിലിൻ - ചർമ്മരോഗം ഉണ്ടാക്കുന്നു'; + + @override + String get profile_section_health_profile_allergies_hint => + 'ദയവായി എല്ലാ അലർജികൾ (മരുന്നുകൾ, ഭക്ഷണം, പരിസ്ഥിതി) പട്ടികയാക്കുക, നിങ്ങൾക്ക് ഉണ്ടാകുന്ന പ്രതികരണം വിവരിക്കുക (ഉദാഹരണത്തിന്: ചർമ്മരോഗം, വലിപ്പം, ശ്വാസം എടുക്കുന്നതിൽ പ്രശ്നങ്ങൾ).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'ਖਾਸ ਹਾਲਤਾਂ'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'ਉਦਾਹਰਨ ਵਜੋਂ ਗਰਭਾਵਸਥਾ, ਅਪੰਗਤਾ'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'നിങ്ങൾക്ക് ഡോക്ടർമാർക്ക് എപ്പോഴും അറിയേണ്ടതായ ഏതെങ്കിലും പ്രധാന മെഡിക്കൽ അവസ്ഥകൾ ഉണ്ടെങ്കിൽ (ഉദാഹരണത്തിന്: ഗർഭിണി, ഇമ്പ്ലാന്റ് ചെയ്ത ഉപകരണങ്ങൾ, അശക്തത, ആന്റികോആഗുലേഷൻ ചികിത്സ), ദയവായി അവയെ വിവരണം ചെയ്യുക. ഇല്ലെങ്കിൽ, നിങ്ങൾ ഇത് ശൂന്യമായി വിട്ടേക്കാം.'; + + @override + String get profile_section_health_profile_family_history_label => + 'ਪਰਿਵਾਰਕ ਇਤਿਹਾਸ'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ਉਦਾਹਰਨ: ਦਿਲ ਦੀ ਬਿਮਾਰੀ, ਕੈਂਸਰ'; + + @override + String get profile_section_health_profile_family_history_hint => + 'ദയവായി നിങ്ങളുടെ കുടുംബത്തിലെ പ്രധാന രോഗങ്ങളെ വിവരിക്കുക (ഉദാഹരണത്തിന്: ഡയബറ്റിസ്, ഹൈപ്പർടെൻഷൻ, ഹൃദയരോഗം, കാൻസർ, ജനിതക രോഗങ്ങൾ) കൂടാതെ ആ രോഗം ഉണ്ടായ കുടുംബാംഗത്തെ വ്യക്തമാക്കുക.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'ਸਮਾਜਿਕ & ਜੀਵਨਸ਼ੈਲੀ ਕਾਰਕ'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'ਜਿਵੇਂ ਕਿ ਧੂਮਰਪਾਨ, ਸ਼ਰਾਬ ਦੀ ਖਪਤ'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'ദയവായി നിങ്ങളുടെ ആരോഗ്യത്തെ ബാധിക്കാവുന്ന ജീവിതശൈലി ഘടകങ്ങൾ വിവരിക്കുക, ഉദാഹരണത്തിന്, പുകവലി, മദ്യപാനം, ശാരീരിക പ്രവർത്തനം, ഭക്ഷണം, ഉറക്കം, ജോലി.'; + + @override + String get profile_section_health_profile_devices_label => 'ਚਿਕਿਤਸਾ ਉਪਕਰਣ'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'ਉਦਾਹਰਨ ਵਜੋਂ ਪੇਸਮੇਕਰ, ਸੁਣਨ ਸਹਾਇਕ, ਇੰਸੁਲਿਨ ਪੰਪ'; + + @override + String get profile_section_health_profile_devices_hint => + 'നിങ്ങൾ ഉപയോഗിക്കുന്നതോ അല്ലെങ്കിൽ ഇമ്പ്ലാന്റ് ചെയ്തതോ ആയ ഏതെങ്കിലും മെഡിക്കൽ ഉപകരണങ്ങൾ, പേസ്‌മേക്കർ, ഇൻസുലിൻ പമ്പുകൾ, കേൾവിക്കേട്, പ്രൊസ്റ്റെറ്റിക്‌സ്, അല്ലെങ്കിൽ മറ്റ് സഹായകമായ അല്ലെങ്കിൽ നിരീക്ഷണ ഉപകരണങ്ങൾ എന്നിവയെ കുറിച്ച് ദയവായി പട്ടികയിടുക. ബാധകമായാൽ ബന്ധപ്പെട്ട വിശദാംശങ്ങൾ ഉൾപ്പെടുത്തുക.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'ਸਭ ਕੁਝ ਖਾਣ ਵਾਲਾ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ਫਾਸਟ ਫੂਡ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'ਪੇਸਕੈਟੇਰੀਅਨ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'ਲੈਕਟੋਜ਼-ਮੁਕਤ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'ਘੱਟ ਨਮਕ ਵਾਲਾ ਆਹਾਰ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'ਘੱਟ-ਚੀਨੀ ਆਹਾਰ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'ਹਿਰਦੇ ਲਈ ਆਹਾਰ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'ਗੁਰਦੇ ਲਈ ਖੁਰਾਕ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'ਹੋਰ'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_mr.dart b/example/lib/src/generated/profiles/profiles_localization_mr.dart new file mode 100644 index 0000000..cbf3e56 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_mr.dart @@ -0,0 +1,579 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Marathi (`mr`). +class ProfilesLocalizationMr extends ProfilesLocalization { + ProfilesLocalizationMr([String locale = 'mr']) : super(locale); + + @override + String get chatDrawerTitle => 'आरोग्य नोंदी'; + + @override + String get chatDrawerBadgeNew => 'नवीन'; + + @override + String get bannerTitle => 'तुमचा आरोग्य रेकॉर्ड तयार करा'; + + @override + String get bannerSubtitle => 'तुमच्या सल्ल्यानंतर, तुमचा प्रोफाइल जोडा'; + + @override + String get bannerMoreProfilesTitle => 'अधिक प्रोफाइल जोडा'; + + @override + String get bannerMoreProfilesSubtitle => + 'कोणीतरी दुसऱ्यासाठी त्यांचा प्रोफाइल तयार करण्यासाठी सल्ला सुरू करा'; + + @override + String get bannerSignUp => 'तुमचा आरोग्य रेकॉर्ड तयार करण्यासाठी साइन अप करा'; + + @override + String get errorRetryButton => 'पुन्हा प्रयत्न करा'; + + @override + String get dashboardDeleteError => 'प्रोफाइल हटवण्यात अयशस्वी'; + + @override + String get dashboardSummaryLoadError => 'प्रोफाइल सारांश लोड करण्यात अयशस्वी'; + + @override + String get dashboardMenuViewFullRecord => 'पूर्ण रेकॉर्ड पहा'; + + @override + String get dashboardMenuShare => 'सामायिक करा'; + + @override + String get dashboardMenuDelete => 'हटवा'; + + @override + String get dashboardMetricAgeLabel => 'वय'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value वर्षे', + one: '$value वर्ष', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'वजन'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value किग्रॅ'; + } + + @override + String get dashboardMetricHeightLabel => 'उंचाई'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value सेंटीमीटर'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'अलर्जी'; + + @override + String get dashboardInfoChronicTitle => 'दीर्घकालीन'; + + @override + String get dashboardInfoMedicationTitle => 'औषधे'; + + @override + String get dashboardInfoDevicesTitle => 'उपकरण'; + + @override + String get dashboardNavigationConsultations => 'सल्ला'; + + @override + String get dashboardNavigationDocuments => 'कागदपत्रे'; + + @override + String get dashboardDeleteRecordTitle => 'आरोग्य रेकॉर्ड हटवायचा का?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'हे तुमच्या आरोग्य डेटा कायमचा हटवेल आणि ते पूर्ववत केले जाऊ शकत नाही. तुम्हाला आम्ही तुम्हाला मार्गदर्शन करण्यासाठी वापरतो त्या संदर्भाची हानी होईल.'; + + @override + String get dashboardDeleteRecordCancel => 'रद्द करा'; + + @override + String get dashboardDeleteRecordConfirm => 'हटवा'; + + @override + String get dashboardDeleteRecordLoading => + 'तुमचा आरोग्य रेकॉर्ड हटविला जात आहे...'; + + @override + String get dashboardDeleteRecordError => 'प्रोफाइल हटवण्यात अयशस्वी'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'आरोग्य नोंदणी हटवली'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'तुम्ही सहायकाशी चॅट करून कधीही नवीन एक तयार करू शकता.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'चॅटवर परत जा'; + + @override + String get dataEditingScreenTitle => 'संपादन'; + + @override + String get dataFailedToLoadError => 'प्रोफाइल डेटा लोड करण्यात अयशस्वी'; + + @override + String get dataRecordSavedTitle => 'बदल जतन केले'; + + @override + String get dataRecordSavedSubtitle => + 'तुमची माहिती यशस्वीरित्या अद्यतनित करण्यात आली आहे'; + + @override + String get dataRecordSavedButton => 'प्रोफाइलवर परत जा'; + + @override + String get dataRecordUpdateError => 'प्रोफाइल डेटा अद्यतन करण्यात अयशस्वी'; + + @override + String get dataRecordDiscardTitle => 'बदलांना काढून टाकायचे का?'; + + @override + String get dataRecordDiscardSubtitle => + 'तुम्ही तुमच्या प्रोफाइलमध्ये काही बदल केले आहेत. तुम्ही जाण्यापूर्वी त्यांना जतन करा, किंवा त्यांना काढून टाका.'; + + @override + String get dataRecordDiscardCancel => 'संपादन सुरू ठेवा'; + + @override + String get dataRecordDiscardConfirm => 'काढा'; + + @override + String get dataRecordEditTooltip => 'संपादित करा'; + + @override + String get dataRecordAddTag => 'रेकॉर्ड जोडा'; + + @override + String get consultationsSearch => 'शोधा'; + + @override + String get consultationsSearchEmpty => 'कोणतीही परिणामे सापडली नाहीत'; + + @override + String get documentsMenuDownload => 'डाउनलोड'; + + @override + String get documentsMenuShare => 'सामायिक करा'; + + @override + String get documentsMenuDelete => 'हटवा'; + + @override + String get documentsEmptyList => 'कोणतेही दस्तऐवज सापडले नाहीत'; + + @override + String get documentsDeleteTitle => 'या दस्तऐवजाला हटवायचे का?'; + + @override + String get documentsDeleteSubtitle => 'हा फाइल कायमचा हटवला जाईल'; + + @override + String get documentsDeleteCancel => 'रद्द करा'; + + @override + String get documentsDeleteButton => 'हटवा'; + + @override + String get documentsMoreActionsTooltip => 'आणखी कृती'; + + @override + String get profilesSearch => 'शोधा'; + + @override + String get profilesEmptyList => 'कोणतेही प्रोफाइल आढळले नाहीत'; + + @override + String get profilesViewMore => 'आणखी पहा'; + + @override + String get profilesMore => 'अधिक'; + + @override + String get profilesAnnouncementTitle1 => + 'डॉक्टरिना आता तुमच्या आरोग्याची आठवण ठेवते'; + + @override + String get profilesAnnouncementSubtitle1 => + 'तुमच्या सल्लामसलती आता तुमचा आरोग्य रेकॉर्ड स्वयंचलितपणे तयार आणि अद्यतनित करतात.'; + + @override + String get profilesAnnouncementTitle2 => 'तुमचा आरोग्य रेकॉर्ड, तुमचे नियम'; + + @override + String get profilesAnnouncementSubtitle2 => + 'कधीही लक्षणे, औषधे, इतिहास किंवा दस्तऐवज पहा, संपादित करा किंवा जोडा'; + + @override + String get profilesAnnouncementTitle3 => + 'तुमच्या संपूर्ण कुटुंबाची काळजी घ्या'; + + @override + String get profilesAnnouncementSubtitle3 => + 'तुमच्या प्रियजनांसाठी, तुमच्या मुलांसाठी, पालकांसाठी किंवा भागीदारासाठी आरोग्य रेकॉर्ड तयार करा.'; + + @override + String get profilesAnnouncementTitle4 => + 'तुमचा आरोग्य रेकॉर्ड जतन करण्यास तयार आहात का?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'तुमच्या सल्ल्यानंतर, ते जतन करण्यासाठी \"प्रोफाइल जोडा\" वर टॅप करा.'; + + @override + String get profilesNextButton => 'आगामी'; + + @override + String get profilesStartButton => 'सल्ला सुरू करा'; + + @override + String get profilesLaterButton => 'कदाचित नंतर'; + + @override + String get profileSuccessCloseButton => 'बंद करा'; + + @override + String get pdfHeaderTitle => 'आरोग्य नोंद'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'आरोग्य नोंद — $name'; + } + + @override + String get expandableFieldMore => '...अधिक'; + + @override + String get expandableFieldLess => 'कमी'; + + @override + String get profiles_button_addnew => 'नवीन प्रोफाइल जोडा'; + + @override + String get profiles_label_addnew => + 'या सल्ल्याचे तपशील जतन करण्यासाठी एक प्रोफाइल तयार करा.'; + + @override + String get profiles_label_health_records_hint => + 'आपण ते कधीही आपल्या आरोग्य नोंदींमध्ये पाहू शकता'; + + @override + String get profiles_label_keep_talking_hint => + 'याबद्दल किंवा त्यासंबंधित काही प्रश्न असतील, तर मोकळेपणाने माझ्याशी बोलत राहा. मी मदत करण्यासाठी येथे आहे'; + + @override + String get profile_section_basic_title => 'सामान्य माहिती'; + + @override + String get profile_section_basic_name_label => 'नाव'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'पहिला नाव'; + + @override + String get profile_section_basic_first_name_placeholder => 'जॉन'; + + @override + String get profile_section_basic_last_name_label => 'आडनाव'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'लिंग'; + + @override + String get profile_section_basic_sex_placeholder => 'कृपया निवडा'; + + @override + String get profile_section_basic_sex_options_male => 'पुरुष'; + + @override + String get profile_section_basic_sex_options_female => 'महिला'; + + @override + String get profile_section_basic_sex_options_other => 'इतर'; + + @override + String get profile_section_basic_date_of_birth_label => 'जन्मतारीख'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'वय'; + + @override + String get profile_section_basic_age_str_placeholder => 'उदा. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'फोन नंबर'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ईमेल'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'स्थान'; + + @override + String get profile_section_basic_location_placeholder => 'उदा. शहर, देश'; + + @override + String get profile_section_body_diet_title => 'शरीर आणि आहार'; + + @override + String get profile_section_body_diet_height_str_label => 'उंची'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'उदा. 180 सेमी'; + + @override + String get profile_section_body_diet_weight_str_label => 'वजन'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'उदा. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'महिनावारीचा चक्र'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'उदा. नियमित, अनियमित'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'आहार निर्बंध'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'कृपया निवडा'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'तुम्ही काय खातात आणि तुमच्याकडे कोणतेही निर्बंध आहेत का ते आम्हाला सांगा'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'काहीही नाही'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'शाकाहारी'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'व्हेगन'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'ग्लूटेनमुक्त'; + + @override + String get profile_section_body_diet_bmi_label => + 'शरीर द्रव्यमान निर्देशांक (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'उदा. 24.5'; + + @override + String get profile_section_health_profile_title => 'आरोग्य प्रोफाइल'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'दीर्घकालीन आजार'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'उदाहरणार्थ, मधुमेह प्रकार 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'कृपया सर्व दीर्घकालीन आजारांची यादी करा आणि ते कधी निदान झाले आणि कोणत्याही गुंतागुंतांचा समावेश करा.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'पूर्वीचे आजार'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'उदाहरण: वारंवार सामान्य सर्दी'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'कृपया तुम्हाला भूतकाळात झालेल्या गंभीर आजारांची यादी करा, अगदी तुम्ही बरे झालात तरी.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'शस्त्रक्रियांचा इतिहास'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'उदा. अपेंडेक्टॉमी'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'कृपया सर्व शस्त्रक्रिया सूचीबद्ध करा आणि वर्ष आणि कोणत्याही गुंतागुंतांचा समावेश करा.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'कधीकधी वापरली जाणारी औषधे'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'उदाहरणार्थ, आयबुप्रोफेन'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'कृपया तुम्ही वेळोवेळी घेतलेल्या औषधांची यादी करा (उदाहरणार्थ: वेदनाशामक, एलर्जी औषधे), त्यात डोस आणि वापराचा कारण समाविष्ट करा.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'नियमित औषधे'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'उदाहरणार्थ मेटफॉर्मिन'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'कृपया तुम्ही नियमितपणे घेत असलेल्या सर्व औषधांची यादी करा, त्यात नाव, डोस, तुम्ही दिवसातून किती वेळा ते घेतात आणि ते कोणत्या स्थितीसाठी आहे.'; + + @override + String get profile_section_health_profile_allergies_label => 'अलर्जी'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'उदाहरण: पेनिसिलिन - चकत्या येतात'; + + @override + String get profile_section_health_profile_allergies_hint => + 'कृपया सर्व अॅलर्जी (औषधे, अन्न, पर्यावरण) सूचीबद्ध करा आणि तुम्हाला काय प्रतिक्रिया होते हे वर्णन करा (उदाहरणार्थ: पुरळ, सूज, श्वास घेण्यास समस्या).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'विशेष परिस्थिती'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'उदा. गर्भावस्था, दिव्यांगता'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'तुमच्याकडे कोणत्याही महत्त्वाच्या वैद्यकीय परिस्थिती असल्यास ज्या डॉक्टरांना नेहमी माहित असणे आवश्यक आहे (उदाहरणार्थ: गर्भधारण, इम्प्लांट केलेले उपकरण, अपंगत्व, अँटीकोआग्युलेशन थेरपी), कृपया त्यांचे वर्णन करा. जर काही नसेल, तर तुम्ही हे रिकामे ठेवू शकता.'; + + @override + String get profile_section_health_profile_family_history_label => + 'कौटुंबिक इतिहास'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'उदा. हृदयविकार, कर्करोग'; + + @override + String get profile_section_health_profile_family_history_hint => + 'कृपया आपल्या कुटुंबातील महत्त्वाच्या रोगांचे वर्णन करा (उदाहरणार्थ: मधुमेह, उच्च रक्तदाब, हृदय रोग, कर्करोग, आनुवंशिक रोग) आणि कोणत्या कुटुंबाच्या सदस्याला ही स्थिती होती ते निर्दिष्ट करा.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'सामाजिक व जीवनशैली घटक'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'उदा. धूम्रपान, मद्यपान'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'कृपया आपल्या आरोग्यावर प्रभाव टाकणाऱ्या जीवनशैलीच्या घटकांचे वर्णन करा, जसे की धूम्रपान, मद्यपान, शारीरिक क्रियाकलाप, आहार, झोप, आणि व्यवसाय.'; + + @override + String get profile_section_health_profile_devices_label => 'वैद्यकीय उपकरणे'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'उदा. पेसमेकर, श्रवणयंत्र, इन्सुलिन पंप'; + + @override + String get profile_section_health_profile_devices_hint => + 'कृपया तुम्ही वापरत असलेल्या किंवा इम्प्लांट केलेल्या कोणत्याही वैद्यकीय उपकरणांची यादी करा, जसे की पेसमेकर, इन्सुलिन पंप, ऐकण्याचे यंत्र, कृत्रिम अंग, किंवा इतर सहाय्यक किंवा निरीक्षण उपकरणे. लागू असल्यास संबंधित तपशील समाविष्ट करा.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'सर्वाहारी'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'फास्ट फूड'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'पेस्काटेरियन'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'लॅक्टोज-मुक्त'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'कमी सोडियम आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'कमी साखरेचा आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'हृदय आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'मूत्रपिंड आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'इतर'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ms.dart b/example/lib/src/generated/profiles/profiles_localization_ms.dart new file mode 100644 index 0000000..489b9cb --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ms.dart @@ -0,0 +1,578 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malay (`ms`). +class ProfilesLocalizationMs extends ProfilesLocalization { + ProfilesLocalizationMs([String locale = 'ms']) : super(locale); + + @override + String get chatDrawerTitle => 'Rekod Kesihatan'; + + @override + String get chatDrawerBadgeNew => 'BARU'; + + @override + String get bannerTitle => 'Buat Rekod Kesihatan Anda'; + + @override + String get bannerSubtitle => + 'Pada akhir konsultasi anda, tambahkan profil anda.'; + + @override + String get bannerMoreProfilesTitle => 'Tambah lebih banyak profil'; + + @override + String get bannerMoreProfilesSubtitle => + 'Mulakan konsultasi untuk orang lain bagi membuat profil mereka.'; + + @override + String get bannerSignUp => 'Daftar untuk membuat Rekod Kesihatan anda'; + + @override + String get errorRetryButton => 'Cuba lagi'; + + @override + String get dashboardDeleteError => 'Gagal untuk memadam profil'; + + @override + String get dashboardSummaryLoadError => 'Gagal memuat ringkasan profil'; + + @override + String get dashboardMenuViewFullRecord => 'Lihat Rekod Penuh'; + + @override + String get dashboardMenuShare => 'Kongsi'; + + @override + String get dashboardMenuDelete => 'Padam'; + + @override + String get dashboardMetricAgeLabel => 'Umur'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value tahun', + one: '$value tahun', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Berat'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Tinggi'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'Alergi'; + + @override + String get dashboardInfoChronicTitle => 'Kronik'; + + @override + String get dashboardInfoMedicationTitle => 'Ubat'; + + @override + String get dashboardInfoDevicesTitle => 'Peranti'; + + @override + String get dashboardNavigationConsultations => 'Konsultasi'; + + @override + String get dashboardNavigationDocuments => 'Dokumen'; + + @override + String get dashboardDeleteRecordTitle => 'Padam Rekod Kesihatan?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Ini akan menghapus data kesihatan anda secara kekal dan tidak boleh dipulihkan. Anda akan kehilangan konteks yang kami gunakan untuk membimbing anda.'; + + @override + String get dashboardDeleteRecordCancel => 'Batal'; + + @override + String get dashboardDeleteRecordConfirm => 'Padam'; + + @override + String get dashboardDeleteRecordLoading => + 'Menghapus rekod kesihatan anda...'; + + @override + String get dashboardDeleteRecordError => 'Gagal untuk memadam profil'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Rekod kesihatan dipadam'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Anda boleh membuat yang baru bila-bila masa dengan berbual dengan pembantu.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Kembali ke Sembang'; + + @override + String get dataEditingScreenTitle => 'Penyuntingan'; + + @override + String get dataFailedToLoadError => 'Gagal memuat data profil'; + + @override + String get dataRecordSavedTitle => 'Perubahan disimpan'; + + @override + String get dataRecordSavedSubtitle => + 'Maklumat anda telah berjaya dikemas kini.'; + + @override + String get dataRecordSavedButton => 'Kembali ke profil'; + + @override + String get dataRecordUpdateError => 'Gagal mengemas kini data profil'; + + @override + String get dataRecordDiscardTitle => 'Buang perubahan?'; + + @override + String get dataRecordDiscardSubtitle => + 'Anda telah membuat beberapa perubahan pada profil anda. Simpan sebelum anda pergi, atau buang.'; + + @override + String get dataRecordDiscardCancel => 'Teruskan penyuntingan'; + + @override + String get dataRecordDiscardConfirm => 'Buang'; + + @override + String get dataRecordEditTooltip => 'Edit'; + + @override + String get dataRecordAddTag => 'Tambah rekod'; + + @override + String get consultationsSearch => 'Cari'; + + @override + String get consultationsSearchEmpty => 'Tiada hasil ditemui'; + + @override + String get documentsMenuDownload => 'Muat Turun'; + + @override + String get documentsMenuShare => 'Kongsi'; + + @override + String get documentsMenuDelete => 'Padam'; + + @override + String get documentsEmptyList => 'Tiada dokumen ditemui'; + + @override + String get documentsDeleteTitle => 'Padam dokumen ini?'; + + @override + String get documentsDeleteSubtitle => 'Fail ini akan dipadamkan secara kekal'; + + @override + String get documentsDeleteCancel => 'Batal'; + + @override + String get documentsDeleteButton => 'Padam'; + + @override + String get documentsMoreActionsTooltip => 'Tindakan lain'; + + @override + String get profilesSearch => 'Cari'; + + @override + String get profilesEmptyList => 'Tiada profil ditemui'; + + @override + String get profilesViewMore => 'Lihat lagi'; + + @override + String get profilesMore => 'Lebih'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina kini mengingati kesihatan anda'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Konsultasi anda kini membina dan mengemas kini Rekod Kesihatan anda secara automatik.'; + + @override + String get profilesAnnouncementTitle2 => + 'Rekod Kesihatan Anda, peraturan anda'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Lihat, edit, atau tambah simptom, ubat, sejarah, atau dokumen pada bila-bila masa.'; + + @override + String get profilesAnnouncementTitle3 => 'Jaga untuk seluruh keluarga anda'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Buat Rekod Kesihatan untuk orang tersayang anda, anak-anak, ibu bapa, atau pasangan anda.'; + + @override + String get profilesAnnouncementTitle4 => + 'Sedia untuk menyimpan Rekod Kesihatan anda?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Selepas konsultasi anda, ketik “Tambah profil” untuk menyimpannya.'; + + @override + String get profilesNextButton => 'Seterusnya'; + + @override + String get profilesStartButton => 'Mulakan konsultasi'; + + @override + String get profilesLaterButton => 'Mungkin kemudian'; + + @override + String get profileSuccessCloseButton => 'Tutup'; + + @override + String get pdfHeaderTitle => 'Rekod Kesihatan'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Rekod Kesihatan — $name'; + } + + @override + String get expandableFieldMore => '...lagi'; + + @override + String get expandableFieldLess => '...kurang'; + + @override + String get profiles_button_addnew => 'Tambah profil baru'; + + @override + String get profiles_label_addnew => + 'Buat profil untuk menyimpan butiran konsultasi ini.'; + + @override + String get profiles_label_health_records_hint => + 'Anda boleh menilainya bila-bila masa dalam Health Records anda'; + + @override + String get profiles_label_keep_talking_hint => + 'Jika anda mempunyai lebih banyak soalan tentang ini atau apa-apa yang berkaitan, jangan ragu untuk terus bercakap dengan saya. Saya di sini untuk membantu'; + + @override + String get profile_section_basic_title => 'Maklumat Am'; + + @override + String get profile_section_basic_name_label => 'Nama'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Nama pertama'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Nama keluarga'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Jantina'; + + @override + String get profile_section_basic_sex_placeholder => 'Sila pilih'; + + @override + String get profile_section_basic_sex_options_male => 'Lelaki'; + + @override + String get profile_section_basic_sex_options_female => 'Perempuan'; + + @override + String get profile_section_basic_sex_options_other => 'Lain-lain'; + + @override + String get profile_section_basic_date_of_birth_label => 'Tarikh Lahir'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Umur'; + + @override + String get profile_section_basic_age_str_placeholder => 'contohnya 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Nombor telefon'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-mel'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Lokasi'; + + @override + String get profile_section_basic_location_placeholder => + 'cth. Bandar, Negara'; + + @override + String get profile_section_body_diet_title => 'Badan & Diet'; + + @override + String get profile_section_body_diet_height_str_label => 'Tinggi'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'cth. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Berat'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'cth. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'Kitaran Haid'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'cth. Teratur, Tidak teratur'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Sekatan Pemakanan'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Sila pilih'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Beritahu kami apa yang anda makan dan sebarang sekatan yang anda ada'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Tiada'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetarian'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Bebas Gluten'; + + @override + String get profile_section_body_diet_bmi_label => 'Indeks Jisim Badan (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'cth. 24.5'; + + @override + String get profile_section_health_profile_title => 'Profil Kesihatan'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Penyakit Kronik'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'Contoh: Diabetes Jenis 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Sila senaraikan semua penyakit kronik dan sertakan bila ia didiagnosis serta sebarang komplikasi.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Penyakit Sebelumnya'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'contohnya, Selsema biasa yang kerap'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Sila senaraikan penyakit serius yang anda alami pada masa lalu, walaupun anda telah sembuh.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Sejarah Pembedahan'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'cth. Apendektomi'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Sila senaraikan semua pembedahan dan sertakan tahun serta sama ada terdapat sebarang komplikasi'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Ubat Yang Digunakan Sekali-sekala'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'contoh: Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Sila senaraikan ubat yang anda ambil dari semasa ke semasa (contohnya: ubat penahan sakit, ubat alergi), termasuk dos dan sebab penggunaannya.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Ubat-ubatan Teratur'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'contoh: Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Sila senaraikan semua ubat yang anda ambil secara berkala, termasuk nama, dos, berapa kali sehari anda mengambilnya, dan untuk keadaan apa.'; + + @override + String get profile_section_health_profile_allergies_label => 'Alahan'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'contoh: Penisilin – menyebabkan ruam'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Sila senaraikan semua alahan (ubat-ubatan, makanan, persekitaran), dan terangkan reaksi yang anda alami (contohnya: ruam, bengkak, masalah pernafasan).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Keadaan Khas'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'cth. Kehamilan, Kurang upaya'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Jika anda mempunyai sebarang keadaan perubatan penting yang perlu diketahui oleh doktor (contohnya: kehamilan, peranti yang ditanam, kecacatan, terapi antikoagulasi), sila huraikan. Jika tiada, anda boleh biarkan ini kosong.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Sejarah Perubatan Keluarga'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'cth. Penyakit Jantung, Kanser'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Sila nyatakan penyakit penting dalam keluarga anda (contohnya: diabetes, hipertensi, penyakit jantung, kanser, penyakit genetik) dan nyatakan ahli keluarga yang menghidap keadaan tersebut.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Faktor Sosial & Gaya Hidup'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'cth. Merokok, Pengambilan Alkohol'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Sila nyatakan faktor gaya hidup yang boleh mempengaruhi kesihatan anda, seperti merokok, alkohol, aktiviti fizikal, diet, tidur, dan pekerjaan.'; + + @override + String get profile_section_health_profile_devices_label => 'Alat Perubatan'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'Contoh: alat pacu jantung, alat bantuan pendengaran, pam insulin'; + + @override + String get profile_section_health_profile_devices_hint => + 'Sila senaraikan sebarang peranti perubatan yang anda gunakan atau telah ditanam, seperti alat pacu jantung, pam insulin, alat pendengar, prostetik, atau peranti bantuan atau pemantauan lain. Sertakan butiran yang relevan jika ada.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Omnivor'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Makanan Segera'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Vegetarian yang makan ikan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Tanpa Laktosa'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Diet rendah garam'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Diet rendah gula'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Diet jantung'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Diet buah pinggang'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Lain-lain'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_my.dart b/example/lib/src/generated/profiles/profiles_localization_my.dart new file mode 100644 index 0000000..e67a619 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_my.dart @@ -0,0 +1,581 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Burmese (`my`). +class ProfilesLocalizationMy extends ProfilesLocalization { + ProfilesLocalizationMy([String locale = 'my']) : super(locale); + + @override + String get chatDrawerTitle => 'ကျန်းမာရေးမှတ်တမ်းများ'; + + @override + String get chatDrawerBadgeNew => 'အသစ်'; + + @override + String get bannerTitle => 'သင့်ကျန်းမာရေးမှတ်တမ်းကိုဖန်တီးပါ'; + + @override + String get bannerSubtitle => + 'သင်၏ အကြံပြုချက်အဆုံးတွင် သင့်ပရိုဖိုင်ကို ထည့်ပါ။'; + + @override + String get bannerMoreProfilesTitle => 'ပိုမိုပရိုဖိုင်းများထည့်ပါ'; + + @override + String get bannerMoreProfilesSubtitle => 'တစ်ဦးတည်းအတွက် အကြံပြုချက်စတင်ပါ။'; + + @override + String get bannerSignUp => + 'အထွေထွေ အသုံးပြုသူအတွက် ကျန်းမာရေးမှတ်တမ်း ဖန်တီးရန် စာရင်းသွင်းပါ'; + + @override + String get errorRetryButton => 'Cuba'; + + @override + String get dashboardDeleteError => 'ပရိုဖိုင်းကို ဖျက်ရန် မအောင်မြင်ပါ'; + + @override + String get dashboardSummaryLoadError => + 'ပရိုဖိုင်းအကျဉ်းချုပ်ကို အောင်မြင်စွာ မထုတ်လုပ်နိုင်ပါ'; + + @override + String get dashboardMenuViewFullRecord => 'ပြည့်စုံသောမှတ်တမ်းကိုကြည့်ပါ'; + + @override + String get dashboardMenuShare => 'မျှဝေပါ'; + + @override + String get dashboardMenuDelete => 'ဖျက်ရန်'; + + @override + String get dashboardMetricAgeLabel => 'အသက်'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value နှစ်များ', + one: '$value နှစ်', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'အလေးချိန်'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value ကီလိုဂရမ်'; + } + + @override + String get dashboardMetricHeightLabel => 'အမြင့်'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value စင်တီမီတာ'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'အာလျားဂျီ'; + + @override + String get dashboardInfoChronicTitle => 'ခရိုနစ်'; + + @override + String get dashboardInfoMedicationTitle => 'ဆေးဝါး'; + + @override + String get dashboardInfoDevicesTitle => 'ကိရိယာများ'; + + @override + String get dashboardNavigationConsultations => 'အကြံပြုချက်များ'; + + @override + String get dashboardNavigationDocuments => 'စာရွက်စာတမ်းများ'; + + @override + String get dashboardDeleteRecordTitle => 'ကျန်းမာရေးမှတ်တမ်းကို ဖျက်မလား?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'ဤသည်သည် သင့်ကျန်းမာရေးဒေတာကို အမြဲတမ်း ဖျက်သိမ်းမည်ဖြစ်ပြီး ပြန်လည်ပြုပြင်၍မရပါ။ သင့်ကို ဦးညွှန်းရန် အသုံးပြုသည့် အကြောင်းအရာကို လျှော့နည်းမည်။'; + + @override + String get dashboardDeleteRecordCancel => 'မလုပ်တော့ပါ'; + + @override + String get dashboardDeleteRecordConfirm => 'ဖျက်မည်'; + + @override + String get dashboardDeleteRecordLoading => + 'သင့်ကျန်းမာရေးမှတ်တမ်းကို ဖျက်နေပါသည်...'; + + @override + String get dashboardDeleteRecordError => 'ပရိုဖိုင်းကို ဖျက်ရန် မအောင်မြင်ပါ'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'မှတ်တမ်းကျန်းမာရေးဖျက်ပြီး'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'သင်သည် အကူအညီနှင့် စကားပြောခြင်းဖြင့် မည်သည့်အချိန်တွင်မဆို အသစ်တစ်ခု ဖန်တီးနိုင်သည်။'; + + @override + String get dashboardDeleteRecordSuccessButton => 'ပြန်သွားရန်'; + + @override + String get dataEditingScreenTitle => 'ပြင်ဆင်နေသည်'; + + @override + String get dataFailedToLoadError => + 'မူပိုင်ခွင့်ဒေတာကို အောင်မြင်စွာ မထုတ်ယူနိုင်ပါ'; + + @override + String get dataRecordSavedTitle => 'ပြင်ဆင်မှုများကို သိမ်းဆည်းပြီး'; + + @override + String get dataRecordSavedSubtitle => + 'သင်၏အချက်အလက်များကိုအောင်မြင်စွာအပ်ဒိတ်လုပ်ပြီးပါပြီ။'; + + @override + String get dataRecordSavedButton => 'Profile သို့ ပြန်သွားပါ'; + + @override + String get dataRecordUpdateError => + 'ပရိုဖိုင်းဒေတာကို အပ်ဒိတ်လုပ်ရန် မအောင်မြင်ပါ'; + + @override + String get dataRecordDiscardTitle => 'ပြင်ဆင်မှုများကို ဖျက်မလား?'; + + @override + String get dataRecordDiscardSubtitle => + 'သင်၏ပရိုဖိုင်းတွင်ပြောင်းလဲမှုများပြုလုပ်ခဲ့သည်။ သင်ထွက်ခွာမီ၌၎င်းတို့ကိုသိမ်းဆည်းပါ၊ သို့မဟုတ်ဖျက်ပစ်ပါ။'; + + @override + String get dataRecordDiscardCancel => 'တည်းဖြတ်နေပါ'; + + @override + String get dataRecordDiscardConfirm => 'ဖျက်ပစ်ပါ'; + + @override + String get dataRecordEditTooltip => 'တည်းဖြတ်ရန်'; + + @override + String get dataRecordAddTag => 'မှတ်တမ်းထည့်ပါ'; + + @override + String get consultationsSearch => 'ရှာဖွေပါ'; + + @override + String get consultationsSearchEmpty => 'မည်သည့်ရလဒ်များကိုမတွေ့ပါ'; + + @override + String get documentsMenuDownload => 'ဒေါင်းလုပ်'; + + @override + String get documentsMenuShare => 'မျှဝေပါ'; + + @override + String get documentsMenuDelete => 'ဖျက်ရန်'; + + @override + String get documentsEmptyList => 'မည်သည့်စာရွက်စာတမ်းများကို မတွေ့ပါ'; + + @override + String get documentsDeleteTitle => 'ဒီစာရွက်ကို ဖျက်မလား?'; + + @override + String get documentsDeleteSubtitle => 'ဖိုင်ကို အမြဲတမ်း ဖျက်ပစ်မည်'; + + @override + String get documentsDeleteCancel => 'မလုပ်တော့ပါ'; + + @override + String get documentsDeleteButton => 'ဖျက်မည်'; + + @override + String get documentsMoreActionsTooltip => 'နောက်ထပ်လုပ်ဆောင်ချက်များ'; + + @override + String get profilesSearch => 'ရှာဖွေပါ'; + + @override + String get profilesEmptyList => 'ပရိုဖိုင်မတွေ့ပါ'; + + @override + String get profilesViewMore => 'ပိုမိုကြည့်ရှုရန်'; + + @override + String get profilesMore => 'ပိုမို'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina သင်၏ ကျန်းမာရေးကို အမှတ်တရ ထားရှိပါပြီ'; + + @override + String get profilesAnnouncementSubtitle1 => + 'သင်၏ အကြံပြုချက်များသည် သင့် ကျန်းမာရေး မှတ်တမ်းကို အလိုအလျောက် တည်ဆောက်ပြီး အပ်ဒိတ် လုပ်ပါသည်။'; + + @override + String get profilesAnnouncementTitle2 => + 'သင်၏ ကျန်းမာရေးမှတ်တမ်း၊ သင်၏ စည်းမျဉ်းများ'; + + @override + String get profilesAnnouncementSubtitle2 => + 'လက္ခဏာများ၊ ဆေးဝါးများ၊ သမိုင်း၊ သို့မဟုတ် စာရွက်စာတမ်းများကို အချိန်မရွေး ကြည့်၊ ပြင်ဆင်၊ သို့မဟုတ် ထည့်ပါ။'; + + @override + String get profilesAnnouncementTitle3 => 'မိသားစုအားလုံးအတွက်ဂရုစိုက်ပါ'; + + @override + String get profilesAnnouncementSubtitle3 => + 'သင်၏ချစ်သူများ၊ သားသမီးများ၊ မိဘများ သို့မဟုတ် မိတ်ဆွေများအတွက် ကျန်းမာရေးမှတ်တမ်းတစ်ခု ဖန်တီးပါ။'; + + @override + String get profilesAnnouncementTitle4 => + 'သင်၏ ကျန်းမာရေးမှတ်တမ်းကို သိမ်းဆည်းရန် ပြင်ဆင်နေပါသလား?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'သင်၏ အကြံပြုချက်ပြီးဆုံးသည့်အခါ \"ပရိုဖိုင်းထည့်ပါ\" ကိုနှိပ်ပါ။'; + + @override + String get profilesNextButton => 'နောက်'; + + @override + String get profilesStartButton => 'စကားဝိုင်းစတင်ပါ'; + + @override + String get profilesLaterButton => 'နောက်မှ'; + + @override + String get profileSuccessCloseButton => 'Tutup'; + + @override + String get pdfHeaderTitle => 'ကျန်းမာရေးမှတ်တမ်း'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'ကျန်းမာရေးမှတ်တမ်း — $name'; + } + + @override + String get expandableFieldMore => '...ပို၍'; + + @override + String get expandableFieldLess => 'နည်းနည်း'; + + @override + String get profiles_button_addnew => 'ပရိုဖိုင်းအသစ်ထည့်ပါ'; + + @override + String get profiles_label_addnew => + 'ဤအကြံဉာဏ်၏အသေးစိတ်များကိုသိမ်းဆည်းရန်ပရိုဖိုင်းတစ်ခုဖန်တီးပါ။'; + + @override + String get profiles_label_health_records_hint => + 'ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਵੇਲੇ ਆਪਣੇ ਹੈਲਥ ਰਿਕਾਰਡ ਵਿੱਚ ਇਸ ਦਾ ਮੁਲਾਂਕਣ ਕਰ ਸਕਦੇ ਹੋ'; + + @override + String get profiles_label_keep_talking_hint => + 'ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਇਸ ਬਾਰੇ ਜਾਂ ਇਸ ਨਾਲ ਸੰਬੰਧਤ ਹੋਰ ਸਵਾਲ ਹਨ, ਤਾਂ ਬੇਝਿਝਕ ਮੈਨੂੰ ਗੱਲ ਜਾਰੀ ਰੱਖੋ. ਮੈਂ ਮਦਦ ਲਈ ਇੱਥੇ ਹਾਂ'; + + @override + String get profile_section_basic_title => 'ਸਧਾਰਨ ਜਾਣਕਾਰੀ'; + + @override + String get profile_section_basic_name_label => 'ਨਾਮ'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'ਪਹਿਲਾ ਨਾਮ'; + + @override + String get profile_section_basic_first_name_placeholder => 'ਜੌਨ'; + + @override + String get profile_section_basic_last_name_label => 'ਆਖਰੀ ਨਾਮ'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'ਲਿੰਗ'; + + @override + String get profile_section_basic_sex_placeholder => 'ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ'; + + @override + String get profile_section_basic_sex_options_male => 'ਮਰਦ'; + + @override + String get profile_section_basic_sex_options_female => 'ਮਹਿਲਾ'; + + @override + String get profile_section_basic_sex_options_other => 'ਹੋਰ'; + + @override + String get profile_section_basic_date_of_birth_label => 'ਜਨਮ ਤਾਰੀਖ'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'ਉਮਰ'; + + @override + String get profile_section_basic_age_str_placeholder => 'ਜਿਵੇਂ 30'; + + @override + String get profile_section_basic_phonenumber_label => 'ਫੋਨ ਨੰਬਰ'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ਈਮੇਲ'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'ਟਿਕਾਣਾ'; + + @override + String get profile_section_basic_location_placeholder => + 'ਉਦਾਹਰਨ: ਸ਼ਹਿਰ, ਦੇਸ਼'; + + @override + String get profile_section_body_diet_title => 'ਸਰੀਰ & ਆਹਾਰ'; + + @override + String get profile_section_body_diet_height_str_label => 'ਉਚਾਈ'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'e.g. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'ਵਜ਼ਨ'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'ਜਿਵੇਂ 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'ਮਾਸਿਕ ਚੱਕਰ'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'ਉਦਾਹਰਣ: ਨਿਯਮਤ, ਅਨਿਯਮਤ'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'ਆਹਾਰਿਕ ਪਾਬੰਦੀਆਂ'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'ကျွန်ုပ်တို့ကို သင်စားသုံးသောအစားအစာနှင့် သင်၏ ကန့်သတ်ချက်များကို အသိပေးပါ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'ਕੋਈ ਨਹੀਂ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'ਸ਼ਾਕਾਹਾਰੀ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'ਵੀਗਨ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'ਗਲੂਟਨ ਮੁਕਤ'; + + @override + String get profile_section_body_diet_bmi_label => 'ਬਾਡੀ ਮਾਸ ਇੰਡੈਕਸ (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ਉਦਾਹਰਨ: 24.5'; + + @override + String get profile_section_health_profile_title => 'ਸਿਹਤ ਪ੍ਰੋਫਾਈਲ'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'ਦੀਰਘਕਾਲੀਨ ਬਿਮਾਰੀਆਂ'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ဦးရည်ချိုချို'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'ကျေးဇူးပြု၍ အထူးသဖြင့် ရောဂါများအားလုံးကို စာရင်းပြုစုပါ၊ ရောဂါကို ဘယ်အချိန်မှာ ရှာဖွေတွေ့ရှိခဲ့ပြီး၊ အခက်အခဲများကိုပါ ထည့်ပါ။'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'ਪਿਛਲੀਆਂ ਬਿਮਾਰੀਆਂ'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ဥပမာ။ အကြိမ်ကြိမ်ဖြစ်သော အထွေထွေ အအေး'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'ကျေးဇူးပြု၍ သင်၏ အတိတ်က ရင်ဆိုင်ခဲ့သော အရေးကြီးသော ရောဂါများကို စာရင်းပြုစုပါ၊ သင် ပြန်လည်ကောင်းမွန်ခဲ့ပါကလည်း။'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'ਸਰਜਰੀ ਇਤਿਹਾਸ'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'ਜਿਵੇਂ ਕਿ ਐਪੈਂਡੈਕਟੋਮੀ'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'ကျေးဇူးပြု၍ ခွဲစိတ်မှုများအားလုံးကို စာရင်းပြုစုပါ၊ နှစ်နှင့် အခက်အခဲများရှိခဲ့မလားဆိုတာပါ ထည့်ပါ။'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'ਕਦੇ-ਕਦੇ ਵਰਤੀ ਜਾਣ ਵਾਲੀਆਂ ਦਵਾਈਆਂ'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'ဥပမာ။ Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'ကျေးဇူးပြု၍ သင်သည် အချိန်အခါအားလျော်စွာ သောက်သုံးသော ဆေးဝါးများကို (ဥပမာ - နာကျင်မှုဆေး၊ အာရုံစူးစိုက်မှုဆေး) အရေအတွက်နှင့် သုံးစွဲမှုအကြောင်းအရာပါ အတူ ဖော်ပြပါ။'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'ਨਿਯਮਤ ਦਵਾਈਆਂ'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'ဥပမာ။ Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'ကျေးဇူးပြု၍ သင်သည် ပုံမှန်အားဖြင့် သောက်သုံးသော ဆေးဝါးများအားလုံးကို အမည်၊ အရေအတွက်၊ တစ်နေ့တွင် ဘယ်နှစ်ကြိမ် သောက်သုံးသည်နှင့် ဘာရောဂါအတွက် သုံးသည်ကို စာရင်းပြုစုပါ။'; + + @override + String get profile_section_health_profile_allergies_label => 'ਅਲਰਜੀਆਂ'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ဥပမာ။ ပီနီစီလင် - အရေပြားရောင်ရမ်းမှုဖြစ်စေသည်'; + + @override + String get profile_section_health_profile_allergies_hint => + 'ကျေးဇူးပြု၍ အားလုံးသော အာရုံစူးစိုက်မှုများ (ဆေးဝါး၊ အစားအစာ၊ ပတ်ဝန်းကျင်) ကို စာရင်းပြုစုပါ၊ သင်၏ တုံ့ပြန်မှုကို ဖေါ်ပြပါ (ဥပမာ - အရေပြားရောင်ခြင်း၊ အထူထူခြင်း၊ အသက်ရှုရခက်ခြင်း)။'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'ਖਾਸ ਹਾਲਤਾਂ'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'ਉਦਾਹਰਨ ਵਜੋਂ ਗਰਭਾਵਸਥਾ, ਅਪੰਗਤਾ'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'သင်သည် ဆရာဝန်များသည် အမြဲသိရမည့် အရေးကြီးသော ဆေးဘက်ဆိုင်ရာ အခြေအနေများ (ဥပမာ - မေတ္တာ၊ ထည့်သွင်းထားသော ကိရိယာများ၊ အထင်အမြင်များ၊ သွေးခွဲခြင်းကုသမှု) ရှိပါက ဖော်ပြပါ။ မရှိပါက ဤကို အလွတ်ထားနိုင်သည်။'; + + @override + String get profile_section_health_profile_family_history_label => + 'ਪਰਿਵਾਰਕ ਇਤਿਹਾਸ'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ਉਦਾਹਰਨ: ਦਿਲ ਦੀ ਬਿਮਾਰੀ, ਕੈਂਸਰ'; + + @override + String get profile_section_health_profile_family_history_hint => + 'ကျေးဇူးပြု၍ မိသားစုတွင် အရေးကြီးသော ရောဂါများကို ဖော်ပြပါ (ဥပမာ - ဆီးချို၊ သွေးဖိအား၊ နှလုံးရောဂါ၊ ကင်ဆာ၊ ဂျင်နက်ရောဂါများ) နှင့် အဆိုပါ ရောဂါကို ရင်ဆိုင်ခဲ့သော မိသားစုဝင်ကို သတ်မှတ်ပါ။'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'ਸਮਾਜਿਕ & ਜੀਵਨਸ਼ੈਲੀ ਕਾਰਕ'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'ਜਿਵੇਂ ਕਿ ਧੂਮਰਪਾਨ, ਸ਼ਰਾਬ ਦੀ ਖਪਤ'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'ကျန်းမာရေးကိုထိခိုက်စေနိုင်သော အသက်မွေးဝမ်းကျောင်းအချက်အလက်များကို ဖေါ်ပြပါ၊ ဥပမာ - ဆေးလိပ်သောက်ခြင်း၊ အရက်သောက်ခြင်း၊ ရုပ်ပိုင်းဆိုင်ရာလှုပ်ရှားမှု၊ အစားအသောက်၊ အိပ်စက်မှုနှင့် အလုပ်အကိုင်။'; + + @override + String get profile_section_health_profile_devices_label => 'ਚਿਕਿਤਸਾ ਉਪਕਰਣ'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'ਉਦਾਹਰਨ ਵਜੋਂ ਪੇਸਮੇਕਰ, ਸੁਣਨ ਸਹਾਇਕ, ਇੰਸੁਲਿਨ ਪੰਪ'; + + @override + String get profile_section_health_profile_devices_hint => + 'ကျေးဇူးပြု၍ သင်အသုံးပြုနေသော သို့မဟုတ် ထည့်သွင်းထားသော ဆေးဘက်ဆိုင်ရာ ကိရိယာများကို စာရင်းပြုစုပါ၊ ဥပမာအားဖြင့် ပေးဆောင်စက်များ၊ အင်ဆူလင် ပံ့ပိုးစက်များ၊ နားထောင်စက်များ၊ အစားထိုးကိရိယာများ သို့မဟုတ် အခြားကူညီမှု သို့မဟုတ် စောင့်ကြည့်မှု ကိရိယာများ။ သက်ဆိုင်ရာ အသေးစိတ်များကို ထည့်ပါ။'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'ਸਭ ਕੁਝ ਖਾਣ ਵਾਲਾ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ਫਾਸਟ ਫੂਡ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'ਪੇਸਕੈਟੇਰੀਅਨ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'ਲੈਕਟੋਜ਼-ਮੁਕਤ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'ਘੱਟ ਨਮਕ ਵਾਲਾ ਆਹਾਰ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'ਘੱਟ-ਚੀਨੀ ਆਹਾਰ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'ਹਿਰਦੇ ਲਈ ਆਹਾਰ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'ਗੁਰਦੇ ਲਈ ਖੁਰਾਕ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'ਹੋਰ'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ne.dart b/example/lib/src/generated/profiles/profiles_localization_ne.dart new file mode 100644 index 0000000..2200cf7 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ne.dart @@ -0,0 +1,582 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Nepali (`ne`). +class ProfilesLocalizationNe extends ProfilesLocalization { + ProfilesLocalizationNe([String locale = 'ne']) : super(locale); + + @override + String get chatDrawerTitle => 'स्वास्थ्य रेकर्ड'; + + @override + String get chatDrawerBadgeNew => 'नयाँ'; + + @override + String get bannerTitle => 'आफ्नो स्वास्थ्य रेकर्ड बनाउनुहोस्'; + + @override + String get bannerSubtitle => + 'तपाईंको परामर्शको अन्त्यमा, आफ्नो प्रोफाइल थप्नुहोस्।'; + + @override + String get bannerMoreProfilesTitle => 'थप प्रोफाइलहरू थप्नुहोस्'; + + @override + String get bannerMoreProfilesSubtitle => + 'अरूको प्रोफाइल बनाउनको लागि परामर्श सुरु गर्नुहोस्।'; + + @override + String get bannerSignUp => 'स्वास्थ्य रेकर्ड बनाउन साइन अप गर्नुहोस्'; + + @override + String get errorRetryButton => 'पुनः प्रयास गर्नुहोस्'; + + @override + String get dashboardDeleteError => 'प्रोफाइल मेट्न असफल'; + + @override + String get dashboardSummaryLoadError => 'प्रोफाइल संक्षेप लोड गर्न असफल'; + + @override + String get dashboardMenuViewFullRecord => 'पूर्ण रेकर्ड हेर्नुहोस्'; + + @override + String get dashboardMenuShare => 'साझा गर्नुहोस्'; + + @override + String get dashboardMenuDelete => 'हटाउनुहोस्'; + + @override + String get dashboardMetricAgeLabel => 'उमेर'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value वर्ष', + one: '$value वर्ष', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'वजन'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value किग्रा'; + } + + @override + String get dashboardMetricHeightLabel => 'उचाई'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value से.मी.'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'एलर्जी'; + + @override + String get dashboardInfoChronicTitle => 'क्रोनिक'; + + @override + String get dashboardInfoMedicationTitle => 'औषधि'; + + @override + String get dashboardInfoDevicesTitle => 'उपकरणहरू'; + + @override + String get dashboardNavigationConsultations => 'परामर्श'; + + @override + String get dashboardNavigationDocuments => 'कागजात'; + + @override + String get dashboardDeleteRecordTitle => 'स्वास्थ्य रेकर्ड मेट्ने? '; + + @override + String get dashboardDeleteRecordSubtitle => + 'यसले तपाईंको स्वास्थ्य डेटा स्थायी रूपमा हटाउनेछ र यसलाई फिर्ता गर्न सकिँदैन। तपाईंले हामीले तपाईंलाई मार्गदर्शन गर्न प्रयोग गर्ने सन्दर्भ गुमाउनु हुनेछ।'; + + @override + String get dashboardDeleteRecordCancel => 'रद्द गर्नुहोस्'; + + @override + String get dashboardDeleteRecordConfirm => 'हटाउनुहोस्'; + + @override + String get dashboardDeleteRecordLoading => + 'तपाईंको स्वास्थ्य रेकर्ड मेटाइँदैछ...'; + + @override + String get dashboardDeleteRecordError => 'प्रोफाइल मेट्न असफल'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'स्वास्थ्य रेकर्ड मेटियो'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'तपाईं सहायकसँग कुरा गरेर कुनै पनि समयमा नयाँ बनाउन सक्नुहुन्छ।'; + + @override + String get dashboardDeleteRecordSuccessButton => 'च्याटमा फर्कनुहोस्'; + + @override + String get dataEditingScreenTitle => 'सम्पादन'; + + @override + String get dataFailedToLoadError => 'प्रोफाइल डेटा लोड गर्न असफल'; + + @override + String get dataRecordSavedTitle => 'परिवर्तनहरू सुरक्षित गरियो'; + + @override + String get dataRecordSavedSubtitle => + 'तपाईंको जानकारी सफलतापूर्वक अपडेट गरिएको छ।'; + + @override + String get dataRecordSavedButton => 'प्रोफाइलमा फर्कनुहोस्'; + + @override + String get dataRecordUpdateError => 'प्रोफाइल डेटा अपडेट गर्न असफल'; + + @override + String get dataRecordDiscardTitle => 'परिवर्तनहरू मेटाउने? '; + + @override + String get dataRecordDiscardSubtitle => + 'तपाईंले आफ्नो प्रोफाइलमा केही परिवर्तन गर्नुभएको छ। जानु अघि तिनीहरूलाई बचत गर्नुहोस्, वा तिनीहरूलाई फाल्नुहोस्।'; + + @override + String get dataRecordDiscardCancel => 'सम्पादन जारी राख्नुहोस्'; + + @override + String get dataRecordDiscardConfirm => 'फाल्नुहोस्'; + + @override + String get dataRecordEditTooltip => 'सम्पादन'; + + @override + String get dataRecordAddTag => 'रेकर्ड थप्नुहोस्'; + + @override + String get consultationsSearch => 'खोज्नुहोस्'; + + @override + String get consultationsSearchEmpty => 'कुनै परिणाम फेला परेन'; + + @override + String get documentsMenuDownload => 'डाउनलोड'; + + @override + String get documentsMenuShare => 'साझा गर्नुहोस्'; + + @override + String get documentsMenuDelete => 'हटाउनुहोस्'; + + @override + String get documentsEmptyList => 'कुनै पनि कागजात फेला परेन'; + + @override + String get documentsDeleteTitle => 'यो कागजात मेट्ने हो?'; + + @override + String get documentsDeleteSubtitle => 'यो फाइल स्थायी रूपमा हटाइनेछ'; + + @override + String get documentsDeleteCancel => 'रद्द गर्नुहोस्'; + + @override + String get documentsDeleteButton => 'हटाउनुहोस्'; + + @override + String get documentsMoreActionsTooltip => 'थप कार्यहरू'; + + @override + String get profilesSearch => 'खोज्नुहोस्'; + + @override + String get profilesEmptyList => 'कुनै प्रोफाइल फेला परेन'; + + @override + String get profilesViewMore => 'थप हेर्नुहोस्'; + + @override + String get profilesMore => 'थप'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina अब तपाईंको स्वास्थ्य सम्झन्छ'; + + @override + String get profilesAnnouncementSubtitle1 => + 'तपाईंको परामर्शले अब तपाईंको स्वास्थ्य रेकर्डलाई स्वचालित रूपमा निर्माण र अद्यावधिक गर्दछ।'; + + @override + String get profilesAnnouncementTitle2 => + 'तपाईंको स्वास्थ्य रेकर्ड, तपाईंका नियम'; + + @override + String get profilesAnnouncementSubtitle2 => + 'कुनै पनि समयमा लक्षण, औषधि, इतिहास, वा कागजातहरू हेर्नुहोस्, सम्पादन गर्नुहोस्, वा थप्नुहोस्।'; + + @override + String get profilesAnnouncementTitle3 => + 'तपाईंको सम्पूर्ण परिवारको हेरचाह गर्नुहोस्'; + + @override + String get profilesAnnouncementSubtitle3 => + 'तपाईंका प्रियजनहरूको लागि स्वास्थ्य रेकर्ड बनाउनुहोस्, तपाईंका बच्चाहरू, आमाबाबु, वा साथी।'; + + @override + String get profilesAnnouncementTitle4 => + 'तपाईंको स्वास्थ्य रेकर्ड बचत गर्न तयार हुनुहुन्छ?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'तपाईंको परामर्शपछि, यसलाई बचत गर्न “प्रोफाइल थप्नुहोस्” मा थिच्नुहोस्।'; + + @override + String get profilesNextButton => 'अगाडि'; + + @override + String get profilesStartButton => 'परामर्श सुरु गर्नुहोस्'; + + @override + String get profilesLaterButton => 'शायद पछि'; + + @override + String get profileSuccessCloseButton => 'बन्द गर्नुहोस्'; + + @override + String get pdfHeaderTitle => 'स्वास्थ्य रेकर्ड'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'स्वास्थ्य रेकर्ड — $name'; + } + + @override + String get expandableFieldMore => '...थप'; + + @override + String get expandableFieldLess => '...कम'; + + @override + String get profiles_button_addnew => 'नयाँ प्रोफाइल थप्नुहोस्'; + + @override + String get profiles_label_addnew => + 'यस परामर्शको विवरणहरू बचत गर्न प्रोफाइल सिर्जना गर्नुहोस्।'; + + @override + String get profiles_label_health_records_hint => + 'तपाईं यसलाई आफ्नो स्वास्थ्य अभिलेखमा कुनै पनि समयमा जाँच गर्न सक्नुहुन्छ'; + + @override + String get profiles_label_keep_talking_hint => + 'यदि तपाईंलाई यसको बारेमा वा यससँग सम्बन्धित अरू प्रश्नहरू छन् भने, निःसंकोच मसँग कुरा जारी राख्न सक्नुहुन्छ। म मद्दत गर्न यहाँ छु'; + + @override + String get profile_section_basic_title => 'सामान्य जानकारी'; + + @override + String get profile_section_basic_name_label => 'नाम'; + + @override + String get profile_section_basic_name_placeholder => 'जॉन डो'; + + @override + String get profile_section_basic_first_name_label => 'पहिलो नाम'; + + @override + String get profile_section_basic_first_name_placeholder => 'जॉन'; + + @override + String get profile_section_basic_last_name_label => 'थर'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'लिङ्ग'; + + @override + String get profile_section_basic_sex_placeholder => 'कृपया चयन गर्नुहोस्'; + + @override + String get profile_section_basic_sex_options_male => 'पुरुष'; + + @override + String get profile_section_basic_sex_options_female => 'महिला'; + + @override + String get profile_section_basic_sex_options_other => 'अन्य'; + + @override + String get profile_section_basic_date_of_birth_label => 'जन्म मिति'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'उमेर'; + + @override + String get profile_section_basic_age_str_placeholder => 'जस्तै 30'; + + @override + String get profile_section_basic_phonenumber_label => 'फोन नम्बर'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'इमेल'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'स्थान'; + + @override + String get profile_section_basic_location_placeholder => 'उदा. शहर, देश'; + + @override + String get profile_section_body_diet_title => 'शरीर र आहार'; + + @override + String get profile_section_body_diet_height_str_label => 'ऊँचाइ'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'उदा. 180 सेमी'; + + @override + String get profile_section_body_diet_weight_str_label => 'वजन'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'उदा. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'मासिक धर्म चक्र'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'उदाहरण: नियमित, अनियमित'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'आहार प्रतिबन्धहरू'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'कृपया छान्नुहोस्'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'तपाईं के खाने हुनुहुन्छ र तपाईंसँग भएका कुनै पनि प्रतिबन्धहरू हामीलाई बताउनुहोस्'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'कुनै छैन'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'शाकाहारी'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'वीगन'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'ग्लुटेन मुक्त'; + + @override + String get profile_section_body_diet_bmi_label => + 'शरीर द्रव्यमान सूचकांक (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'उदा. 24.5'; + + @override + String get profile_section_health_profile_title => 'स्वास्थ्य प्रोफाइल'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'दीर्घकालीन रोगहरू'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'जस्तै: मधुमेह प्रकार 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'कृपया सबै पुराना रोगहरूको सूची बनाउनुहोस् र कहिले निदान गरिएको र कुनै जटिलताहरू समावेश गर्नुहोस्।'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'पहिलाका रोगहरू'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'जस्तै, बारम्बारको साधारण ज्वरो'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'कृपया तपाईंले अतीतमा भोगेका गम्भीर रोगहरूको सूची दिनुहोस्, यद्यपि तपाईं निको हुनुभएको छ।'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'शल्यक्रिया इतिहास'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'उदा. Appendectomy'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'कृपया सबै शल्यक्रियाहरूको सूची बनाउनुहोस् र वर्ष र कुनै जटिलताहरू थिए कि छैनन् भन्ने कुरा समावेश गर्नुहोस्'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'कहिलेकाहीँ प्रयोग गरिने औषधिहरू'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'जस्तै: Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'कृपया तपाईंले कहिलेकाहीं लिने औषधिहरूको सूची दिनुहोस् (उदाहरणका लागि: पीडा निवारक, एलर्जी औषधिहरू), डोज र प्रयोगको कारण सहित।'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'नियमित औषधिहरू'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'जस्तै: Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'कृपया तपाईंले नियमित रूपमा लिने सबै औषधिहरूको नाम, मात्रा, दिनमा कति पटक लिन्छन्, र यो कुन अवस्थाको लागि हो भनेर सूचीबद्ध गर्नुहोस्।'; + + @override + String get profile_section_health_profile_allergies_label => 'एलर्जीहरू'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'जस्तै: पेनिसिलिन – चामल ल्याउँछ'; + + @override + String get profile_section_health_profile_allergies_hint => + 'कृपया सबै एलर्जीहरू (औषधिहरू, खाना, वातावरण) सूचीबद्ध गर्नुहोस्, र तपाईंले कस्तो प्रतिक्रिया देखाउनुहुन्छ भनेर वर्णन गर्नुहोस् (उदाहरणका लागि: चर्मरोग, सुजन, श्वासप्रश्वासको समस्या)।'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'विशेष अवस्थाहरू'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'उदा. गर्भावस्था, अपाङ्गता'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'यदि तपाईंसँग कुनै महत्त्वपूर्ण चिकित्सा अवस्थाहरू छन् जुन डाक्टरहरूले सधैं थाहा पाउनु पर्छ (उदाहरणका लागि: गर्भावस्था, इम्प्लान्ट गरिएका उपकरणहरू, अपाङ्गता, एन्टिकोआगुलन थेरापी), कृपया तिनीहरूलाई वर्णन गर्नुहोस्। यदि छैन भने, तपाईं यसलाई खालि छोड्न सक्नुहुन्छ।'; + + @override + String get profile_section_health_profile_family_history_label => + 'पारिवारिक इतिहास'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'उदा. मुटु रोग, क्यान्सर'; + + @override + String get profile_section_health_profile_family_history_hint => + 'कृपया आफ्नो परिवारमा महत्त्वपूर्ण रोगहरूको वर्णन गर्नुहोस् (उदाहरणका लागि: मधुमेह, उच्च रक्तचाप, हृदय रोग, क्यान्सर, आनुवंशिक रोगहरू) र कुन परिवारका सदस्यले यो अवस्था पाएको छ भनेर निर्दिष्ट गर्नुहोस्।'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'सामाजिक र जीवनशैलीका कारकहरू'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'उदा. धूम्रपान, मद्यपान'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'कृपया जीवनशैलीका तत्त्वहरू वर्णन गर्नुहोस् जसले तपाईंको स्वास्थ्यमा असर पार्न सक्छ, जस्तै धूम्रपान, मदिरा, शारीरिक गतिविधि, आहार, निद्रा, र पेशा।'; + + @override + String get profile_section_health_profile_devices_label => + 'चिकित्सा उपकरणहरू'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'उदा. पेसमेकर, सुनाइ सहायक, इन्सुलिन पम्प'; + + @override + String get profile_section_health_profile_devices_hint => + 'कृपया कुनै पनि चिकित्सा उपकरणहरूको सूची दिनुहोस् जुन तपाईंले प्रयोग गर्नुहुन्छ वा इम्प्लान्ट गरिएको छ, जस्तै पेसमेकर, इन्सुलिन पम्प, सुन्ने उपकरण, कृत्रिम अंग, वा अन्य सहायक वा अनुगमन उपकरणहरू। लागू हुने भएमा सम्बन्धित विवरणहरू समावेश गर्नुहोस्।'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'सर्वाहारी'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'फास्ट फूड'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'मत्स्याहारी'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'लैक्टोज-मुक्त'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'कम सोडियम आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'कम-चिनी आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'हृदय सम्बन्धी आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'गुर्दाको आहार'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'अन्य'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_nl.dart b/example/lib/src/generated/profiles/profiles_localization_nl.dart new file mode 100644 index 0000000..8c3a9ef --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_nl.dart @@ -0,0 +1,583 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Dutch Flemish (`nl`). +class ProfilesLocalizationNl extends ProfilesLocalization { + ProfilesLocalizationNl([String locale = 'nl']) : super(locale); + + @override + String get chatDrawerTitle => 'Gezondheidsdossiers'; + + @override + String get chatDrawerBadgeNew => 'NIEUW'; + + @override + String get bannerTitle => 'Maak uw Gezondheidsdossier aan'; + + @override + String get bannerSubtitle => + 'Voeg aan het einde van uw consult uw profiel toe.'; + + @override + String get bannerMoreProfilesTitle => 'Voeg meer profielen toe'; + + @override + String get bannerMoreProfilesSubtitle => + 'Begin een consult voor iemand anders om hun profiel aan te maken.'; + + @override + String get bannerSignUp => 'Meld je aan om je Gezondheidsdossier te maken'; + + @override + String get errorRetryButton => 'Opnieuw proberen'; + + @override + String get dashboardDeleteError => 'Profiel kon niet worden verwijderd'; + + @override + String get dashboardSummaryLoadError => + 'Profieloverzicht kon niet worden geladen'; + + @override + String get dashboardMenuViewFullRecord => 'Bekijk volledig record'; + + @override + String get dashboardMenuShare => 'Delen'; + + @override + String get dashboardMenuDelete => 'Verwijderen'; + + @override + String get dashboardMetricAgeLabel => 'Leeftijd'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value jaren', + one: '$value jaar', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Gewicht'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Hoogte'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Allergieën'; + + @override + String get dashboardInfoChronicTitle => 'Chronisch'; + + @override + String get dashboardInfoMedicationTitle => 'Medicatie'; + + @override + String get dashboardInfoDevicesTitle => 'Apparaten'; + + @override + String get dashboardNavigationConsultations => 'Consultaties'; + + @override + String get dashboardNavigationDocuments => 'Documenten'; + + @override + String get dashboardDeleteRecordTitle => 'Gezondheidsrecord verwijderen?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Dit verwijdert permanent uw gezondheidsgegevens en kan niet ongedaan gemaakt worden. U verliest de context die we gebruiken om u te begeleiden.'; + + @override + String get dashboardDeleteRecordCancel => 'Annuleren'; + + @override + String get dashboardDeleteRecordConfirm => 'Verwijderen'; + + @override + String get dashboardDeleteRecordLoading => + 'Uw gezondheidsrecord wordt verwijderd...'; + + @override + String get dashboardDeleteRecordError => 'Profiel kon niet worden verwijderd'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'Gezondheidsrecord verwijderd'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Je kunt op elk moment een nieuwe maken door met de assistent te chatten.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Terug naar chat'; + + @override + String get dataEditingScreenTitle => 'Bewerken'; + + @override + String get dataFailedToLoadError => + 'Profielgegevens konden niet worden geladen'; + + @override + String get dataRecordSavedTitle => 'Wijzigingen opgeslagen'; + + @override + String get dataRecordSavedSubtitle => + 'Uw informatie is succesvol bijgewerkt.'; + + @override + String get dataRecordSavedButton => 'Terug naar profiel'; + + @override + String get dataRecordUpdateError => + 'Het is niet gelukt om profielgegevens bij te werken'; + + @override + String get dataRecordDiscardTitle => 'Wijzigingen verwijderen?'; + + @override + String get dataRecordDiscardSubtitle => + 'Je hebt enkele wijzigingen in je profiel aangebracht. Sla ze op voordat je vertrekt, of gooi ze weg.'; + + @override + String get dataRecordDiscardCancel => 'Blijf bewerken'; + + @override + String get dataRecordDiscardConfirm => 'Verwijderen'; + + @override + String get dataRecordEditTooltip => 'Bewerken'; + + @override + String get dataRecordAddTag => 'Record toevoegen'; + + @override + String get consultationsSearch => 'Zoeken'; + + @override + String get consultationsSearchEmpty => 'Geen resultaten gevonden'; + + @override + String get documentsMenuDownload => 'Downloaden'; + + @override + String get documentsMenuShare => 'Delen'; + + @override + String get documentsMenuDelete => 'Verwijderen'; + + @override + String get documentsEmptyList => 'Geen documenten gevonden'; + + @override + String get documentsDeleteTitle => 'Dit document verwijderen?'; + + @override + String get documentsDeleteSubtitle => + 'Dit bestand wordt permanent verwijderd'; + + @override + String get documentsDeleteCancel => 'Annuleren'; + + @override + String get documentsDeleteButton => 'Verwijderen'; + + @override + String get documentsMoreActionsTooltip => 'Meer acties'; + + @override + String get profilesSearch => 'Zoeken'; + + @override + String get profilesEmptyList => 'Geen profielen gevonden'; + + @override + String get profilesViewMore => 'Meer bekijken'; + + @override + String get profilesMore => 'Meer'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina onthoudt nu uw gezondheid'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Uw consulten bouwen nu automatisch uw Gezondheidsdossier op en werken het bij.'; + + @override + String get profilesAnnouncementTitle2 => 'Uw gezondheidsrecord, uw regels'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Bekijk, bewerk of voeg symptomen, medicijnen, geschiedenis of documenten op elk moment toe.'; + + @override + String get profilesAnnouncementTitle3 => 'Zorg voor uw hele gezin'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Maak een gezondheidsdossier voor uw dierbaren, uw kinderen, ouders of partner.'; + + @override + String get profilesAnnouncementTitle4 => + 'Klaar om uw Gezondheidsdossier op te slaan?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Na uw consultatie tikt u op \'Profiel toevoegen\' om het op te slaan.'; + + @override + String get profilesNextButton => 'Volgende'; + + @override + String get profilesStartButton => 'Start een consultatie'; + + @override + String get profilesLaterButton => 'Misschien later'; + + @override + String get profileSuccessCloseButton => 'Sluiten'; + + @override + String get pdfHeaderTitle => 'Gezondheidsrecord'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Gezondheidsrecord — $name'; + } + + @override + String get expandableFieldMore => '...meer'; + + @override + String get expandableFieldLess => 'minder'; + + @override + String get profiles_button_addnew => 'Voeg nieuw profiel toe'; + + @override + String get profiles_label_addnew => + 'Maak een profiel aan om de details van dit consult op te slaan.'; + + @override + String get profiles_label_health_records_hint => + 'U kunt het op elk moment in uw Health Records bekijken'; + + @override + String get profiles_label_keep_talking_hint => + 'Als je nog meer vragen hebt over dit of iets dat hiermee te maken heeft, praat gerust verder met me. Ik ben hier om te helpen'; + + @override + String get profile_section_basic_title => 'Algemene Informatie'; + + @override + String get profile_section_basic_name_label => 'Naam'; + + @override + String get profile_section_basic_name_placeholder => 'Jan Jansen'; + + @override + String get profile_section_basic_first_name_label => 'Voornaam'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Achternaam'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Geslacht'; + + @override + String get profile_section_basic_sex_placeholder => 'Maak een keuze'; + + @override + String get profile_section_basic_sex_options_male => 'Man'; + + @override + String get profile_section_basic_sex_options_female => 'Vrouw'; + + @override + String get profile_section_basic_sex_options_other => 'Anders'; + + @override + String get profile_section_basic_date_of_birth_label => 'Geboortedatum'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Leeftijd'; + + @override + String get profile_section_basic_age_str_placeholder => 'bijv. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Telefoonnummer'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-mail'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Locatie'; + + @override + String get profile_section_basic_location_placeholder => 'bijv. Stad, Land'; + + @override + String get profile_section_body_diet_title => 'Lichaam & Voeding'; + + @override + String get profile_section_body_diet_height_str_label => 'Lengte'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'bijv. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Gewicht'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'bijv. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menstruatiecyclus'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'bijv. Regelmatig, Onregelmatig'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Dieetbeperkingen'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Selecteer'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Laat ons weten wat u eet en welke beperkingen u heeft'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Geen'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetarisch'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Glutenvrij'; + + @override + String get profile_section_body_diet_bmi_label => 'Bodymassindex (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'bijv. 24,5'; + + @override + String get profile_section_health_profile_title => 'Gezondheidsprofiel'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Chronische aandoeningen'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'Diabetes type 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Vermeld alstublieft alle chronische ziekten en geef aan wanneer ze zijn gediagnosticeerd en eventuele complicaties.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Eerdere ziekten'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'bijv. Frequent verkoudheid'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Vermeld alstublieft ernstige ziekten die u in het verleden heeft gehad, ook als u hersteld bent.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Chirurgische voorgeschiedenis'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'bijv. appendectomie'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Vermeld al uw operaties en geef het jaar en eventuele complicaties aan.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Af en toe gebruikte medicatie'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'bijv. Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Vermeld alstublieft medicijnen die u af en toe gebruikt (bijvoorbeeld: pijnstillers, allergiemedicijnen), inclusief de dosis en de reden voor gebruik.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Vaste medicatie'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'bijv. Metformine'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Vermeld alstublieft alle medicijnen die u regelmatig gebruikt, inclusief de naam, dosering, hoe vaak per dag u het neemt en waarvoor het bedoeld is.'; + + @override + String get profile_section_health_profile_allergies_label => 'Allergieën'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'bijv. Penicilline – veroorzaakt uitslag'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Vermeld al uw allergieën (medicijnen, voedsel, omgevingsfactoren) en beschrijf welke reactie u heeft (bijvoorbeeld: uitslag, zwelling, ademhalingsproblemen).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Bijzondere aandoeningen'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'bijv. Zwangerschap, Handicap'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Als u belangrijke medische aandoeningen heeft waarvan artsen altijd op de hoogte moeten zijn (bijvoorbeeld: zwangerschap, geïmplanteerde apparaten, handicaps, anticoagulantietherapie), beschrijf deze dan. Als er geen zijn, kunt u dit leeg laten.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Familiegeschiedenis'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'bijv. hartaandoeningen, kanker'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Beschrijf alstublieft belangrijke ziekten in uw familie (bijvoorbeeld: diabetes, hypertensie, hartziekten, kanker, genetische ziekten) en geef aan welk familielid de aandoening had.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Sociale & Leefstijlfactoren'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'bijv. roken, alcoholgebruik'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Beschrijf alstublieft levensstijlfactoren die uw gezondheid kunnen beïnvloeden, zoals roken, alcohol, fysieke activiteit, dieet, slaap en beroep.'; + + @override + String get profile_section_health_profile_devices_label => + 'Medische apparaten'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'bijv. Pacemaker, Gehoorapparaat, Insulinepomp'; + + @override + String get profile_section_health_profile_devices_hint => + 'Vermeld alstublieft eventuele medische apparaten die u gebruikt of die zijn geïmplanteerd, zoals pacemakers, insulinepompen, hoortoestellen, protheses of andere ondersteunende of bewakingsapparaten. Voeg relevante details toe indien van toepassing.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Alleseter'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Fastfood'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescotariër'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Lactosevrij'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Zoutarm dieet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Suikarm dieet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Hartdieet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Nierdieet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Overig'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_pa.dart b/example/lib/src/generated/profiles/profiles_localization_pa.dart new file mode 100644 index 0000000..8bee0f3 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_pa.dart @@ -0,0 +1,1154 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Panjabi Punjabi (`pa`). +class ProfilesLocalizationPa extends ProfilesLocalization { + ProfilesLocalizationPa([String locale = 'pa']) : super(locale); + + @override + String get chatDrawerTitle => 'ਸਿਹਤ ਰਿਕਾਰਡ'; + + @override + String get chatDrawerBadgeNew => 'ਨਵਾਂ'; + + @override + String get bannerTitle => 'ਆਪਣਾ ਸਿਹਤ ਰਿਕਾਰਡ ਬਣਾਓ'; + + @override + String get bannerSubtitle => + 'ਤੁਹਾਡੇ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਦੇ ਅੰਤ \'ਤੇ, ਆਪਣਾ ਪ੍ਰੋਫਾਈਲ ਸ਼ਾਮਲ ਕਰੋ.'; + + @override + String get bannerMoreProfilesTitle => 'ਹੋਰ ਪ੍ਰੋਫਾਈਲ ਸ਼ਾਮਲ ਕਰੋ'; + + @override + String get bannerMoreProfilesSubtitle => + 'ਕਿਸੇ ਹੋਰ ਲਈ ਆਪਣਾ ਪ੍ਰੋਫਾਈਲ ਬਣਾਉਣ ਲਈ ਸਲਾਹ-ਮਸ਼ਵਰਾ ਸ਼ੁਰੂ ਕਰੋ।'; + + @override + String get bannerSignUp => + 'ਸਾਈਨ ਅਪ ਕਰੋ ਤਾਂ ਜੋ ਤੁਸੀਂ ਆਪਣਾ ਸਿਹਤ ਰਿਕਾਰਡ ਬਣਾਉ ਸਕੋ'; + + @override + String get errorRetryButton => 'ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ'; + + @override + String get dashboardDeleteError => 'ਪ੍ਰੋਫਾਈਲ ਮਿਟਾਉਣ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get dashboardSummaryLoadError => 'ਪ੍ਰੋਫਾਈਲ ਸਾਰਾਂਸ਼ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get dashboardMenuViewFullRecord => 'ਪੂਰਾ ਰਿਕਾਰਡ ਵੇਖੋ'; + + @override + String get dashboardMenuShare => 'ਸਾਂਝਾ ਕਰੋ'; + + @override + String get dashboardMenuDelete => 'ਹਟਾਓ'; + + @override + String get dashboardMetricAgeLabel => 'ਉਮਰ'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value ਸਾਲ', + one: '$value ਸਾਲ', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'ਵਜ਼ਨ'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'ਉਚਾਈ'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'ਐਲਰਜੀ'; + + @override + String get dashboardInfoChronicTitle => 'ਕ੍ਰੋਨਿਕ'; + + @override + String get dashboardInfoMedicationTitle => 'ਦਵਾਈ'; + + @override + String get dashboardInfoDevicesTitle => 'ਡਿਵਾਈਸ'; + + @override + String get dashboardNavigationConsultations => 'ਸਲਾਹ-ਮਸ਼ਵਰਾ'; + + @override + String get dashboardNavigationDocuments => 'ਦਸਤਾਵੇਜ਼'; + + @override + String get dashboardDeleteRecordTitle => 'ਸਿਹਤ ਰਿਕਾਰਡ ਮਿਟਾਉਣਾ ਹੈ?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'ਇਹ ਤੁਹਾਡੇ ਸਿਹਤ ਦੇ ਡੇਟਾ ਨੂੰ ਸਦਾ ਲਈ ਹਟਾ ਦੇਵੇਗਾ ਅਤੇ ਇਸਨੂੰ ਵਾਪਸ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਤੁਸੀਂ ਉਸ ਸੰਦਰਭ ਨੂੰ ਗੁਆ ਦੇਵੋਗੇ ਜੋ ਅਸੀਂ ਤੁਹਾਨੂੰ ਮਾਰਗਦਰਸ਼ਨ ਦੇਣ ਲਈ ਵਰਤਦੇ ਹਾਂ.'; + + @override + String get dashboardDeleteRecordCancel => 'ਰੱਦ ਕਰੋ'; + + @override + String get dashboardDeleteRecordConfirm => 'ਹਟਾਓ'; + + @override + String get dashboardDeleteRecordLoading => + 'ਤੁਹਾਡਾ ਸਿਹਤ ਰਿਕਾਰਡ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ...'; + + @override + String get dashboardDeleteRecordError => 'ਪ੍ਰੋਫਾਈਲ ਮਿਟਾਉਣ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'ਸਿਹਤ ਦਾ ਰਿਕਾਰਡ ਹਟਾਇਆ ਗਿਆ'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'ਤੁਸੀਂ ਸਹਾਇਕ ਨਾਲ ਗੱਲ ਕਰਕੇ ਕਿਸੇ ਵੀ ਸਮੇਂ ਨਵਾਂ ਬਣਾ ਸਕਦੇ ਹੋ.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'ਚੈਟ \'ਤੇ ਵਾਪਸ ਜਾਓ'; + + @override + String get dataEditingScreenTitle => 'ਸੰਪਾਦਨ'; + + @override + String get dataFailedToLoadError => 'ਪ੍ਰੋਫਾਈਲ ਡੇਟਾ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get dataRecordSavedTitle => 'ਬਦਲਾਅ ਸੇਵ ਕੀਤੇ ਗਏ'; + + @override + String get dataRecordSavedSubtitle => 'ਤੁ情報 ਸਫਲਤਾਪੂਰਵਕ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ।'; + + @override + String get dataRecordSavedButton => 'ਪ੍ਰੋਫਾਈਲ \'ਤੇ ਵਾਪਸ ਜਾਓ'; + + @override + String get dataRecordUpdateError => 'ਪ੍ਰੋਫਾਈਲ ਡੇਟਾ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get dataRecordDiscardTitle => 'ਬਦਲਾਵਾਂ ਨੂੰ ਖਾਰਜ ਕਰਨਾ ਹੈ?'; + + @override + String get dataRecordDiscardSubtitle => + 'ਤੁਸੀਂ ਆਪਣੇ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਕੁਝ ਬਦਲਾਅ ਕੀਤੇ ਹਨ। ਜਾ ਰਹੇ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਉਨ੍ਹਾਂ ਨੂੰ ਸੇਵ ਕਰੋ, ਜਾਂ ਉਨ੍ਹਾਂ ਨੂੰ ਖਾਰਜ ਕਰੋ।'; + + @override + String get dataRecordDiscardCancel => 'ਸੰਪਾਦਨ ਜਾਰੀ ਰੱਖੋ'; + + @override + String get dataRecordDiscardConfirm => 'ਵਿਰੋਧ'; + + @override + String get dataRecordEditTooltip => 'ਸੰਪਾਦਿਤ ਕਰੋ'; + + @override + String get dataRecordAddTag => 'ਰਿਕਾਰਡ ਸ਼ਾਮਲ ਕਰੋ'; + + @override + String get consultationsSearch => 'ਖੋਜੋ'; + + @override + String get consultationsSearchEmpty => 'ਕੋਈ ਨਤੀਜੇ ਨਹੀਂ ਮਿਲੇ'; + + @override + String get documentsMenuDownload => 'ਡਾਊਨਲੋਡ'; + + @override + String get documentsMenuShare => 'ਸਾਂਝਾ ਕਰੋ'; + + @override + String get documentsMenuDelete => 'ਹਟਾਓ'; + + @override + String get documentsEmptyList => 'ਕੋਈ ਦਸਤਾਵੇਜ਼ ਨਹੀਂ ਮਿਲਿਆ'; + + @override + String get documentsDeleteTitle => + 'ਕੀ ਤੁਸੀਂ ਇਸ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?'; + + @override + String get documentsDeleteSubtitle => 'ਇਹ ਫਾਈਲ ਸਦਾ ਲਈ ਹਟਾਈ ਜਾਵੇਗੀ'; + + @override + String get documentsDeleteCancel => 'ਰੱਦ ਕਰੋ'; + + @override + String get documentsDeleteButton => 'ਹਟਾਓ'; + + @override + String get documentsMoreActionsTooltip => 'ਹੋਰ ਕਾਰਵਾਈਆਂ'; + + @override + String get profilesSearch => 'ਖੋਜੋ'; + + @override + String get profilesEmptyList => 'ਕੋਈ ਪ੍ਰੋਫ਼ਾਈਲ ਨਹੀਂ ਮਿਲੀ'; + + @override + String get profilesViewMore => 'ਹੋਰ ਵੇਖੋ'; + + @override + String get profilesMore => 'ਹੋਰ'; + + @override + String get profilesAnnouncementTitle1 => + 'ਡਾਕਟਰਿਨਾ ਹੁਣ ਤੁਹਾਡੀ ਸਿਹਤ ਯਾਦ ਰੱਖਦੀ ਹੈ'; + + @override + String get profilesAnnouncementSubtitle1 => + 'ਤੁਹਾਡੇ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਹੁਣ ਤੁਹਾਡਾ ਸਿਹਤ ਰਿਕਾਰਡ ਆਟੋਮੈਟਿਕ ਤੌਰ \'ਤੇ ਬਣਾਉਂਦੇ ਅਤੇ ਅੱਪਡੇਟ ਕਰਦੇ ਹਨ।'; + + @override + String get profilesAnnouncementTitle2 => 'ਤੁਹਾਡਾ ਸਿਹਤ ਰਿਕਾਰਡ, ਤੁਹਾਡੇ ਨਿਯਮ'; + + @override + String get profilesAnnouncementSubtitle2 => + 'ਕਦੇ ਵੀ ਲੱਛਣ, ਦਵਾਈਆਂ, ਇਤਿਹਾਸ ਜਾਂ ਦਸਤਾਵੇਜ਼ ਵੇਖੋ, ਸੋਧੋ ਜਾਂ ਸ਼ਾਮਲ ਕਰੋ।'; + + @override + String get profilesAnnouncementTitle3 => 'ਆਪਣੇ ਪੂਰੇ ਪਰਿਵਾਰ ਦੀ ਦੇਖਭਾਲ ਕਰੋ'; + + @override + String get profilesAnnouncementSubtitle3 => + 'ਆਪਣੇ ਪਿਆਰੇ, ਬੱਚਿਆਂ, ਮਾਪਿਆਂ ਜਾਂ ਸਾਥੀ ਲਈ ਸਿਹਤ ਰਿਕਾਰਡ ਬਣਾਓ।'; + + @override + String get profilesAnnouncementTitle4 => + 'ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਸਿਹਤ ਰਿਕਾਰਡ ਸੇਵ ਕਰਨ ਲਈ ਤਿਆਰ ਹੋ?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'ਤੁਹਾਡੇ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਤੋਂ ਬਾਅਦ, ਇਸਨੂੰ ਸੇਵ ਕਰਨ ਲਈ “Add profile” \'ਤੇ ਟੈਪ ਕਰੋ.'; + + @override + String get profilesNextButton => 'ਅਗਲਾ'; + + @override + String get profilesStartButton => 'ਸਲਾਹ-ਮਸ਼ਵਰਾ ਸ਼ੁਰੂ ਕਰੋ'; + + @override + String get profilesLaterButton => 'ਸ਼ਾਇਦ ਬਾਅਦ ਵਿੱਚ'; + + @override + String get profileSuccessCloseButton => 'ਬੰਦ ਕਰੋ'; + + @override + String get pdfHeaderTitle => 'ਸਿਹਤ ਰਿਕਾਰਡ'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'ਸਿਹਤ ਰਿਕਾਰਡ — $name'; + } + + @override + String get expandableFieldMore => '...ਹੋਰ'; + + @override + String get expandableFieldLess => '...ਘੱਟ'; + + @override + String get profiles_button_addnew => 'ਨਵਾਂ ਪ੍ਰੋਫਾਈਲ ਸ਼ਾਮਲ ਕਰੋ'; + + @override + String get profiles_label_addnew => + 'ਇਸ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਦੇ ਵੇਰਵਿਆਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਇੱਕ ਪ੍ਰੋਫਾਈਲ ਬਣਾਓ.'; + + @override + String get profiles_label_health_records_hint => + 'ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਵੇਲੇ ਆਪਣੇ ਹੈਲਥ ਰਿਕਾਰਡ ਵਿੱਚ ਇਸ ਦਾ ਮੁਲਾਂਕਣ ਕਰ ਸਕਦੇ ਹੋ'; + + @override + String get profiles_label_keep_talking_hint => + 'ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਇਸ ਬਾਰੇ ਜਾਂ ਇਸ ਨਾਲ ਸੰਬੰਧਤ ਹੋਰ ਸਵਾਲ ਹਨ, ਤਾਂ ਬੇਝਿਝਕ ਮੈਨੂੰ ਗੱਲ ਜਾਰੀ ਰੱਖੋ. ਮੈਂ ਮਦਦ ਲਈ ਇੱਥੇ ਹਾਂ'; + + @override + String get profile_section_basic_title => 'ਸਧਾਰਨ ਜਾਣਕਾਰੀ'; + + @override + String get profile_section_basic_name_label => 'ਨਾਮ'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'ਪਹਿਲਾ ਨਾਮ'; + + @override + String get profile_section_basic_first_name_placeholder => 'ਜੌਨ'; + + @override + String get profile_section_basic_last_name_label => 'ਆਖਰੀ ਨਾਮ'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'ਲਿੰਗ'; + + @override + String get profile_section_basic_sex_placeholder => 'ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ'; + + @override + String get profile_section_basic_sex_options_male => 'ਮਰਦ'; + + @override + String get profile_section_basic_sex_options_female => 'ਮਹਿਲਾ'; + + @override + String get profile_section_basic_sex_options_other => 'ਹੋਰ'; + + @override + String get profile_section_basic_date_of_birth_label => 'ਜਨਮ ਤਾਰੀਖ'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'ਉਮਰ'; + + @override + String get profile_section_basic_age_str_placeholder => 'ਜਿਵੇਂ 30'; + + @override + String get profile_section_basic_phonenumber_label => 'ਫੋਨ ਨੰਬਰ'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ਈਮੇਲ'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'ਟਿਕਾਣਾ'; + + @override + String get profile_section_basic_location_placeholder => + 'ਉਦਾਹਰਨ: ਸ਼ਹਿਰ, ਦੇਸ਼'; + + @override + String get profile_section_body_diet_title => 'ਸਰੀਰ & ਆਹਾਰ'; + + @override + String get profile_section_body_diet_height_str_label => 'ਉਚਾਈ'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'e.g. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'ਵਜ਼ਨ'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'ਜਿਵੇਂ 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'ਮਾਸਿਕ ਚੱਕਰ'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'ਉਦਾਹਰਣ: ਨਿਯਮਤ, ਅਨਿਯਮਤ'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'ਆਹਾਰਿਕ ਪਾਬੰਦੀਆਂ'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'ਸਾਨੂੰ ਦੱਸੋ ਕਿ ਤੁਸੀਂ ਕੀ ਖਾਂਦੇ ਹੋ ਅਤੇ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਪਾਬੰਦੀ ਹੈ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'ਕੋਈ ਨਹੀਂ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'ਸ਼ਾਕਾਹਾਰੀ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'ਵੀਗਨ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'ਗਲੂਟਨ ਮੁਕਤ'; + + @override + String get profile_section_body_diet_bmi_label => 'ਬਾਡੀ ਮਾਸ ਇੰਡੈਕਸ (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ਉਦਾਹਰਨ: 24.5'; + + @override + String get profile_section_health_profile_title => 'ਸਿਹਤ ਪ੍ਰੋਫਾਈਲ'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'ਦੀਰਘਕਾਲੀਨ ਬਿਮਾਰੀਆਂ'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ਜਿਵੇਂ ਕਿ ਡਾਇਬੀਟੀਜ਼ ਟਾਈਪ 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'ਕਿਰਪਾ ਕਰਕੇ ਸਾਰੀਆਂ ਦਿਰਘਕਾਲੀ ਬਿਮਾਰੀਆਂ ਦੀ ਸੂਚੀ ਬਣਾਓ ਅਤੇ ਇਹ ਵੀ ਸ਼ਾਮਲ ਕਰੋ ਕਿ ਇਹਨਾਂ ਦੀ ਪਛਾਣ ਕਦੋਂ ਹੋਈ ਸੀ ਅਤੇ ਕੋਈ ਜਟਿਲਤਾਵਾਂ।'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'ਪਿਛਲੀਆਂ ਬਿਮਾਰੀਆਂ'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ਜਿਵੇਂ ਕਿ ਬਾਰੰਬਾਰ ਆਮ ਜ਼ੁਕਾਮ'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'ਕਿਰਪਾ ਕਰਕੇ ਉਹ ਗੰਭੀਰ ਬਿਮਾਰੀਆਂ ਲਿਖੋ ਜੋ ਤੁਸੀਂ ਪਿਛਲੇ ਸਮੇਂ ਵਿੱਚ ਸਹੀ ਕੀਤੀਆਂ ਹਨ, ਭਾਵੇਂ ਤੁਸੀਂ ਠੀਕ ਹੋ ਗਏ ਹੋ.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'ਸਰਜਰੀ ਇਤਿਹਾਸ'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'ਜਿਵੇਂ ਕਿ ਐਪੈਂਡੈਕਟੋਮੀ'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'ਕਿਰਪਾ ਕਰਕੇ ਸਾਰੀਆਂ ਸਰਜਰੀਆਂ ਦੀ ਸੂਚੀ ਬਣਾਓ ਅਤੇ ਸਾਲ ਅਤੇ ਜੇ ਕੋਈ ਜਟਿਲਤਾਵਾਂ ਸਨ, ਉਹ ਵੀ ਸ਼ਾਮਲ ਕਰੋ।'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'ਕਦੇ-ਕਦੇ ਵਰਤੀ ਜਾਣ ਵਾਲੀਆਂ ਦਵਾਈਆਂ'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'ਜਿਵੇਂ ਕਿ ਇਬੂਪ੍ਰੋਫੇਨ'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'ਕਿਰਪਾ ਕਰਕੇ ਉਹ ਦਵਾਈਆਂ ਲਿਖੋ ਜੋ ਤੁਸੀਂ ਕਦੇ ਕਦੇ ਲੈਂਦੇ ਹੋ (ਉਦਾਹਰਨ ਲਈ: ਦਰਦ ਨਿਵਾਰਕ, ਐਲਰਜੀ ਦੀਆਂ ਦਵਾਈਆਂ), ਜਿਸ ਵਿੱਚ ਖੁਰਾਕ ਅਤੇ ਵਰਤੋਂ ਦਾ ਕਾਰਨ ਸ਼ਾਮਲ ਹੈ.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'ਨਿਯਮਤ ਦਵਾਈਆਂ'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'ਜਿਵੇਂ ਕਿ Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'ਕਿਰਪਾ ਕਰਕੇ ਉਹ ਸਾਰੇ ਦਵਾਈਆਂ ਲਿਖੋ ਜੋ ਤੁਸੀਂ ਨਿਯਮਤ ਤੌਰ \'ਤੇ ਲੈਂਦੇ ਹੋ, ਜਿਸ ਵਿੱਚ ਨਾਮ, ਖੁਰਾਕ, ਤੁਸੀਂ ਇਹ ਕਿੰਨੀ ਵਾਰੀ ਦਿਨ ਵਿੱਚ ਲੈਂਦੇ ਹੋ, ਅਤੇ ਇਹ ਕਿਸ ਬਿਮਾਰੀ ਲਈ ਹੈ।'; + + @override + String get profile_section_health_profile_allergies_label => 'ਅਲਰਜੀਆਂ'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ਜਿਵੇਂ ਕਿ ਪੈਨਿਸਿਲਿਨ - ਰੈਸ਼ ਪੈਦਾ ਕਰਦਾ ਹੈ'; + + @override + String get profile_section_health_profile_allergies_hint => + 'ਕਿਰਪਾ ਕਰਕੇ ਸਾਰੀਆਂ ਐਲਰਜੀਆਂ (ਦਵਾਈਆਂ, ਖੁਰਾਕ, ਵਾਤਾਵਰਣ) ਦੀ ਸੂਚੀ ਬਣਾਓ, ਅਤੇ ਤੁਸੀਂ ਕਿਹੜੀ ਪ੍ਰਤੀਕਿਰਿਆ ਦਿਖਾਉਂਦੇ ਹੋ (ਉਦਾਹਰਨ ਲਈ: ਰੈਸ਼, ਸੁਜਨ, ਸਾਹ ਲੈਣ ਵਿੱਚ ਸਮੱਸਿਆ).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'ਖਾਸ ਹਾਲਤਾਂ'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'ਉਦਾਹਰਨ ਵਜੋਂ ਗਰਭਾਵਸਥਾ, ਅਪੰਗਤਾ'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'ਜੇ ਤੁਹਾਨੂੰ ਕੋਈ ਮਹੱਤਵਪੂਰਨ ਮੈਡੀਕਲ ਸ਼ਰਤਾਂ ਹਨ ਜਿਨ੍ਹਾਂ ਬਾਰੇ ਡਾਕਟਰਾਂ ਨੂੰ ਹਮੇਸ਼ਾਂ ਜਾਣਨਾ ਚਾਹੀਦਾ ਹੈ (ਉਦਾਹਰਨ ਵਜੋਂ: ਗਰਭਵਤੀ, ਲਗੇ ਹੋਏ ਉਪਕਰਨ, ਅਸਮਰਥਤਾ, ਐਂਟੀਕੋਐਗੂਲੇਸ਼ਨ ਥੈਰੇਪੀ), ਕਿਰਪਾ ਕਰਕੇ ਉਨ੍ਹਾਂ ਦਾ ਵਰਣਨ ਕਰੋ। ਜੇ ਕੋਈ ਨਹੀਂ, ਤਾਂ ਤੁਸੀਂ ਇਸਨੂੰ ਖਾਲੀ ਛੱਡ ਸਕਦੇ ਹੋ.'; + + @override + String get profile_section_health_profile_family_history_label => + 'ਪਰਿਵਾਰਕ ਇਤਿਹਾਸ'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ਉਦਾਹਰਨ: ਦਿਲ ਦੀ ਬਿਮਾਰੀ, ਕੈਂਸਰ'; + + @override + String get profile_section_health_profile_family_history_hint => + 'ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਪਰਿਵਾਰ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਬਿਮਾਰੀਆਂ ਦਾ ਵਰਣਨ ਕਰੋ (ਉਦਾਹਰਨ ਲਈ: ਸ਼ੂਗਰ, ਹਾਈਪਰਟੈਂਸ਼ਨ, ਦਿਲ ਦੀ ਬਿਮਾਰੀ, ਕੈਂਸਰ, ਜਨੈਟਿਕ ਬਿਮਾਰੀਆਂ) ਅਤੇ ਇਹ ਦਰਸਾਓ ਕਿ ਕਿਹੜਾ ਪਰਿਵਾਰਕ ਮੈਂਬਰ ਇਸ ਬਿਮਾਰੀ ਨਾਲ ਪੀੜਤ ਸੀ.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'ਸਮਾਜਿਕ & ਜੀਵਨਸ਼ੈਲੀ ਕਾਰਕ'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'ਜਿਵੇਂ ਕਿ ਧੂਮਰਪਾਨ, ਸ਼ਰਾਬ ਦੀ ਖਪਤ'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'ਕਿਰਪਾ ਕਰਕੇ ਜੀਵਨ ਸ਼ੈਲੀ ਦੇ ਕਾਰਕਾਂ ਦਾ ਵਰਣਨ ਕਰੋ ਜੋ ਤੁਹਾਡੇ ਸਿਹਤ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਧੂੜ, ਸ਼ਰਾਬ, ਸ਼ਾਰੀਰੀਕ ਗਤੀਵਿਧੀ, ਖੁਰਾਕ, ਨੀਂਦ ਅਤੇ ਪੇਸ਼ਾ.'; + + @override + String get profile_section_health_profile_devices_label => 'ਚਿਕਿਤਸਾ ਉਪਕਰਣ'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'ਉਦਾਹਰਨ ਵਜੋਂ ਪੇਸਮੇਕਰ, ਸੁਣਨ ਸਹਾਇਕ, ਇੰਸੁਲਿਨ ਪੰਪ'; + + @override + String get profile_section_health_profile_devices_hint => + 'ਕਿਰਪਾ ਕਰਕੇ ਕੋਈ ਵੀ ਮੈਡੀਕਲ ਡਿਵਾਈਸਾਂ ਦੀ ਸੂਚੀ ਦਿਓ ਜੋ ਤੁਸੀਂ ਵਰਤਦੇ ਹੋ ਜਾਂ ਜੋ ਤੁਹਾਡੇ ਵਿੱਚ ਲਗੇ ਹੋਏ ਹਨ, ਜਿਵੇਂ ਕਿ ਪੇਸਮੇਕਰ, ਇਨਸੁਲਿਨ ਪੰਪ, ਸੁਣਨ ਵਾਲੇ ਯੰਤਰ, ਪ੍ਰੋਥੇਟਿਕ, ਜਾਂ ਹੋਰ ਸਹਾਇਕ ਜਾਂ ਨਿਗਰਾਨੀ ਡਿਵਾਈਸ। ਜੇ ਲਾਗੂ ਹੋਵੇ ਤਾਂ ਸੰਬੰਧਿਤ ਵੇਰਵੇ ਸ਼ਾਮਲ ਕਰੋ।'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'ਸਭ ਕੁਝ ਖਾਣ ਵਾਲਾ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ਫਾਸਟ ਫੂਡ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'ਪੇਸਕੈਟੇਰੀਅਨ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'ਲੈਕਟੋਜ਼-ਮੁਕਤ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'ਘੱਟ ਨਮਕ ਵਾਲਾ ਆਹਾਰ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'ਘੱਟ-ਚੀਨੀ ਆਹਾਰ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'ਹਿਰਦੇ ਲਈ ਆਹਾਰ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'ਗੁਰਦੇ ਲਈ ਖੁਰਾਕ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'ਹੋਰ'; +} + +/// The translations for Panjabi Punjabi, as used in Pakistan (`pa_PK`). +class ProfilesLocalizationPaPk extends ProfilesLocalizationPa { + ProfilesLocalizationPaPk() : super('pa_PK'); + + @override + String get chatDrawerTitle => 'صحت کے ریکارڈ'; + + @override + String get chatDrawerBadgeNew => 'نیا'; + + @override + String get bannerTitle => 'اپنا صحت ریکارڈ بنائیں'; + + @override + String get bannerSubtitle => + 'اپنی مشاورت کے آخر میں، اپنا پروفائل شامل کریں۔'; + + @override + String get bannerMoreProfilesTitle => 'زیادہ پروفائلز شامل کریں'; + + @override + String get bannerMoreProfilesSubtitle => + 'کسی اور کے لیے ان کا پروفائل بنانے کے لیے مشاورت شروع کریں۔'; + + @override + String get bannerSignUp => 'اپنا صحت ریکارڈ بنانے کے لیے سائن اپ کریں'; + + @override + String get errorRetryButton => 'دوبارہ کوشش کریں'; + + @override + String get dashboardDeleteError => 'پروفائل حذف کرنے میں ناکامی'; + + @override + String get dashboardSummaryLoadError => + 'پروفائل کا خلاصہ لوڈ کرنے میں ناکامی'; + + @override + String get dashboardMenuViewFullRecord => 'مکمل ریکارڈ دیکھیں'; + + @override + String get dashboardMenuShare => 'شیئر'; + + @override + String get dashboardMenuDelete => 'مٹا دیں'; + + @override + String get dashboardMetricAgeLabel => 'عمر'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value ਸਾਲ', + one: '$value ਸਾਲ', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'وزن'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value کلوگرام'; + } + + @override + String get dashboardMetricHeightLabel => 'اونچائی'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value ਸੈ.ਮੀ.'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'الرجی'; + + @override + String get dashboardInfoChronicTitle => 'مزمن'; + + @override + String get dashboardInfoMedicationTitle => 'ادویات'; + + @override + String get dashboardInfoDevicesTitle => 'آلات'; + + @override + String get dashboardNavigationConsultations => 'مشاورتیں'; + + @override + String get dashboardNavigationDocuments => 'دستاویزات'; + + @override + String get dashboardDeleteRecordTitle => 'صحت کا ریکارڈ حذف کرنا ہے؟'; + + @override + String get dashboardDeleteRecordSubtitle => + 'یہ آپ کے صحت کے ڈیٹا کو مستقل طور پر ہٹا دے گا اور اسے واپس نہیں لایا جا سکتا۔ آپ اس سیاق و سباق کو کھو دیں گے جسے ہم آپ کی رہنمائی کے لیے استعمال کرتے ہیں۔'; + + @override + String get dashboardDeleteRecordCancel => 'کینسل'; + + @override + String get dashboardDeleteRecordConfirm => 'ਹਟਾਓ'; + + @override + String get dashboardDeleteRecordLoading => + 'آپ کا صحت ریکارڈ حذف کیا جا رہا ہے...'; + + @override + String get dashboardDeleteRecordError => 'پروفائل حذف کرنے میں ناکامی'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'صحت کا ریکارڈ حذف کر دیا گیا'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'تُسی اسسٹنٹ نال گپ شپ کرکے کدے وی نواں بنا سکدے او.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'گفتگو میں واپس جائیں'; + + @override + String get dataEditingScreenTitle => 'ترمیم'; + + @override + String get dataFailedToLoadError => 'پروفائل کا ڈیٹا لوڈ کرنے میں ناکامی'; + + @override + String get dataRecordSavedTitle => 'تبدیلیاں محفوظ کر لی گئیں'; + + @override + String get dataRecordSavedSubtitle => + 'تُہاڈی معلومات کامیابی نال اپ ڈیٹ کیتی گئی اے.'; + + @override + String get dataRecordSavedButton => 'پروفائل پر واپس جائیں'; + + @override + String get dataRecordUpdateError => + 'پروفائل کے ڈیٹا کو اپ ڈیٹ کرنے میں ناکامی'; + + @override + String get dataRecordDiscardTitle => 'تبدیلیاں ختم کریں؟'; + + @override + String get dataRecordDiscardSubtitle => + 'تُسی اپنے پروفائل وچ کچھ تبدیلیاں کیتیاں نیں۔ جاون توں پہلاں انہاں نوں محفوظ کرو یا چھوڑ دو۔'; + + @override + String get dataRecordDiscardCancel => 'ترمیم جاری رکھیں'; + + @override + String get dataRecordDiscardConfirm => 'ختم کرو'; + + @override + String get dataRecordEditTooltip => 'ترمیم کریں'; + + @override + String get dataRecordAddTag => 'ریکارڈ شامل کریں'; + + @override + String get consultationsSearch => 'تلاش'; + + @override + String get consultationsSearchEmpty => 'کوئی نتیجہ نہیں ملا'; + + @override + String get documentsMenuDownload => 'ڈاؤن لوڈ'; + + @override + String get documentsMenuShare => 'شیئر'; + + @override + String get documentsMenuDelete => 'مٹا دیں'; + + @override + String get documentsEmptyList => 'کوئی دستاویزات نہیں ملیں'; + + @override + String get documentsDeleteTitle => + 'ਕੀ ਤੁਸੀਂ ਇਸ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?'; + + @override + String get documentsDeleteSubtitle => 'یہ فائل مستقل طور پر ہٹا دی جائے گی'; + + @override + String get documentsDeleteCancel => 'کینسل'; + + @override + String get documentsDeleteButton => 'ਹਟਾਓ'; + + @override + String get documentsMoreActionsTooltip => 'مزید کارروائیاں'; + + @override + String get profilesSearch => 'تلاش'; + + @override + String get profilesEmptyList => 'کوئی پروفائل نہیں ملا'; + + @override + String get profilesViewMore => 'مزید دیکھیں'; + + @override + String get profilesMore => 'زیادہ'; + + @override + String get profilesAnnouncementTitle1 => + 'ڈاکٹرینا اب آپ کی صحت کو یاد رکھتا ہے'; + + @override + String get profilesAnnouncementSubtitle1 => + 'تُہاڈی مشاورت ہن توہاڈی صحت ریکارڈ نوں خودکار طور تے بنا رہی تے اپڈیٹ کر رہی اے.'; + + @override + String get profilesAnnouncementTitle2 => 'آپ کا صحت ریکارڈ، آپ کے اصول'; + + @override + String get profilesAnnouncementSubtitle2 => + 'کسی بھی وقت علامات، ادویات، تاریخ یا دستاویزات دیکھیں، ترمیم کریں یا شامل کریں۔'; + + @override + String get profilesAnnouncementTitle3 => 'اپنے پورے خاندان کی دیکھ بھال کریں'; + + @override + String get profilesAnnouncementSubtitle3 => + 'اپنے پیاروں، اپنے بچوں، والدین یا ساتھی کے لیے صحت کا ریکارڈ بنائیں۔'; + + @override + String get profilesAnnouncementTitle4 => + 'اپنا صحت ریکارڈ محفوظ کرنے کے لیے تیار ہیں؟'; + + @override + String get profilesAnnouncementSubtitle4 => + 'اپنی مشاورت کے بعد، اسے محفوظ کرنے کے لیے \"پروفائل شامل کریں\" پر ٹیپ کریں.'; + + @override + String get profilesNextButton => 'اگلا'; + + @override + String get profilesStartButton => 'مشاورت شروع کریں'; + + @override + String get profilesLaterButton => 'شاید بعد میں'; + + @override + String get profileSuccessCloseButton => 'بند کرو'; + + @override + String get pdfHeaderTitle => 'صحت کا ریکارڈ'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'صحت کا ریکارڈ — $name'; + } + + @override + String get expandableFieldMore => '...زیادہ'; + + @override + String get expandableFieldLess => '...کم'; + + @override + String get profiles_button_addnew => 'نیا پروفائل شامل کریں'; + + @override + String get profiles_label_addnew => + 'اس مشاورت کی تفصیلات محفوظ کرنے کے لیے ایک پروفائل بنائیں۔'; + + @override + String get profiles_label_health_records_hint => + 'تسیں اس دا جائزہ کسی ویلے اپنے ہیلتھ ریکارڈز وچ لے سکتے ہو'; + + @override + String get profiles_label_keep_talking_hint => + 'جے تہانوں ایس بارے یا ایس نال متعلق ہور سوال ہون، تے تُسیں بے جھجھک میرے نال گل جاری رکھ سکدے او. میں مدد لئی حاضر آں'; + + @override + String get profile_section_basic_title => 'عمومی معلومات'; + + @override + String get profile_section_basic_name_label => 'نام'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'پہلا نام'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'خاندانی نام'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'جنس'; + + @override + String get profile_section_basic_sex_placeholder => + 'براہِ مہربانی منتخب کریں'; + + @override + String get profile_section_basic_sex_options_male => 'مرد'; + + @override + String get profile_section_basic_sex_options_female => 'عورت'; + + @override + String get profile_section_basic_sex_options_other => 'ہور'; + + @override + String get profile_section_basic_date_of_birth_label => 'تاریخ پیدائش'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'عمر'; + + @override + String get profile_section_basic_age_str_placeholder => 'مثلاً 30'; + + @override + String get profile_section_basic_phonenumber_label => 'فون نمبر'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ای میل'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'مقام'; + + @override + String get profile_section_basic_location_placeholder => 'مثلاً شہر، ملک'; + + @override + String get profile_section_body_diet_title => 'جسم & خوراک'; + + @override + String get profile_section_body_diet_height_str_label => 'قد'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'مثلاً 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'وزن'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'مثلاً 75 کلوگرام'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'ماہواری دا چکر'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'مثلاً باقاعدہ، غیر باقاعدہ'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'غذائی پابندیاں'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'براہ کرم منتخب کریں'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'تُسی ساڈے نوں دسو کہ تُسی کیہ کھاندے او تے کوئی پابندیاں نے'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'کوئی نہیں'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'سبزی خور'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'ویگن'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'گلوٹن سے پاک'; + + @override + String get profile_section_body_diet_bmi_label => 'جسمانی ماس انڈیکس (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'مثلاً 24.5'; + + @override + String get profile_section_health_profile_title => 'صحت دا پروفائل'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'مزمن بیماریاں'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'جیسے کہ ذیابیطس ٹائپ 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'براہ کرم تمام دائمی بیماریوں کی فہرست بنائیں اور یہ بھی شامل کریں کہ یہ کب تشخیص ہوئی تھیں اور کوئی پیچیدگیاں ہیں۔'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'گذشتہ بیماریاں'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'جیسے کہ، بار بار عام زکام'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'مہربانی کرکے ماضی میں آپ کو ہونے والی سنگین بیماریوں کی فہرست بنائیں، چاہے آپ صحت یاب ہو گئے ہوں.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'سابقہ سرجریاں'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'مثلاً اپینڈیکٹومی'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'براہ کرم تمام سرجریوں کی فہرست بنائیں اور سال اور آیا کوئی پیچیدگیاں تھیں شامل کریں.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'کبھی کبھار استعمال ہونے والی ادویات'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'جیسے: آئیبوپروفین'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'براہ کرم ان ادویات کی فہرست بنائیں جو آپ کبھی کبھار لیتے ہیں (مثلاً: درد کش ادویات، الرجی کی ادویات)، بشمول خوراک اور استعمال کا سبب.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'باقاعدہ ادویات'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'جیسے: میٹفارمین'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'براہ کرم ان تمام ادویات کی فہرست بنائیں جو آپ باقاعدگی سے لیتے ہیں، بشمول نام، خوراک، آپ اسے دن میں کتنی بار لیتے ہیں، اور یہ کس حالت کے لیے ہے.'; + + @override + String get profile_section_health_profile_allergies_label => 'حساسیتاں'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'جیسے: پینسلین - خارش پیدا کرتا ہے'; + + @override + String get profile_section_health_profile_allergies_hint => + 'مہربانی کرکے تمام الرجیوں کی فہرست بنائیں (ادویات، کھانا، ماحولیاتی) اور بیان کریں کہ آپ کو کیا ردعمل ہوتا ہے (مثال کے طور پر: خارش، سوجن، سانس لینے میں مشکلات).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'خاص حالتیں'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'مثلاً حمل، معذوری'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'اگر آپ کے پاس کوئی اہم طبی حالات ہیں جن کے بارے میں ڈاکٹروں کو ہمیشہ جاننا چاہیے (جیسے: حمل، لگائے گئے آلات، معذوریاں، اینٹی کوگولیشن تھراپی)، تو براہ کرم ان کی وضاحت کریں۔ اگر نہیں، تو آپ اسے خالی چھوڑ سکتے ہیں۔'; + + @override + String get profile_section_health_profile_family_history_label => + 'خاندانی تاریخ'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'مثلاً دل کی بیماری، کینسر'; + + @override + String get profile_section_health_profile_family_history_hint => + 'اپنے خاندان میں اہم بیماریوں کی وضاحت کریں (مثلاً: ذیابیطس، ہائی بلڈ پریشر، دل کی بیماری، کینسر، جینیاتی بیماریاں) اور یہ بتائیں کہ کون سے خاندان کے رکن کو یہ بیماری تھی.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'سماجی اور طرزِ زندگی کے عوامل'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'مثلاً سگریٹ نوشی، شراب نوشی'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'براہ کرم طرز زندگی کے عوامل کی وضاحت کریں جو آپ کی صحت پر اثر انداز ہو سکتے ہیں، جیسے کہ تمباکو نوشی، الکحل، جسمانی سرگرمی، غذا، نیند، اور پیشہ.'; + + @override + String get profile_section_health_profile_devices_label => 'طبی آلات'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'مثلاً پیس میکر، سماعت کا آلہ، انسولین پمپ'; + + @override + String get profile_section_health_profile_devices_hint => + 'کسی بھی طبی آلات کی فہرست بنائیں جو آپ استعمال کرتے ہیں یا آپ کے جسم میں لگے ہوئے ہیں، جیسے کہ پیس میکر، انسولین پمپ، سماعت کے آلات، پروتھیسس، یا دیگر معاون یا نگرانی کے آلات۔ اگر مناسب ہو تو متعلقہ تفصیلات شامل کریں۔'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'ہمہ خور'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'فاسٹ فوڈ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'ماہی خور'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'لیکٹوز سے پاک'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'کم سوڈیم والی غذا'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'کم شکر والی خوراک'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'دل کے لیے غذا'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'گردوں کی غذا'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'ہور'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_pl.dart b/example/lib/src/generated/profiles/profiles_localization_pl.dart new file mode 100644 index 0000000..d46a2ad --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_pl.dart @@ -0,0 +1,579 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Polish (`pl`). +class ProfilesLocalizationPl extends ProfilesLocalization { + ProfilesLocalizationPl([String locale = 'pl']) : super(locale); + + @override + String get chatDrawerTitle => 'Rekordy zdrowia'; + + @override + String get chatDrawerBadgeNew => 'NOWY'; + + @override + String get bannerTitle => 'Utwórz swój rekord zdrowia'; + + @override + String get bannerSubtitle => 'Na końcu konsultacji dodaj swój profil.'; + + @override + String get bannerMoreProfilesTitle => 'Dodaj więcej profili'; + + @override + String get bannerMoreProfilesSubtitle => + 'Rozpocznij konsultację dla kogoś innego, aby stworzył swój profil.'; + + @override + String get bannerSignUp => + 'Zarejestruj się, aby stworzyć swoją Kartę Zdrowia'; + + @override + String get errorRetryButton => 'Spróbuj ponownie'; + + @override + String get dashboardDeleteError => 'Nie udało się usunąć profilu'; + + @override + String get dashboardSummaryLoadError => + 'Nie udało się załadować podsumowania profilu'; + + @override + String get dashboardMenuViewFullRecord => 'Zobacz pełny rekord'; + + @override + String get dashboardMenuShare => 'Udostępnij'; + + @override + String get dashboardMenuDelete => 'Usuń'; + + @override + String get dashboardMetricAgeLabel => 'Wiek'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value lata', + one: '$value rok', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Waga'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Wzrost'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Alergie'; + + @override + String get dashboardInfoChronicTitle => 'Przewlekłe'; + + @override + String get dashboardInfoMedicationTitle => 'Leki'; + + @override + String get dashboardInfoDevicesTitle => 'Urządzenia'; + + @override + String get dashboardNavigationConsultations => 'Konsultacje'; + + @override + String get dashboardNavigationDocuments => 'Dokumenty'; + + @override + String get dashboardDeleteRecordTitle => 'Usunąć rekord zdrowia?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'To trwale usunie twoje dane zdrowotne i nie można tego cofnąć. Stracisz kontekst, który wykorzystujemy do udzielania ci wskazówek.'; + + @override + String get dashboardDeleteRecordCancel => 'Anuluj'; + + @override + String get dashboardDeleteRecordConfirm => 'Usuń'; + + @override + String get dashboardDeleteRecordLoading => 'Usuwam twój rekord zdrowia...'; + + @override + String get dashboardDeleteRecordError => 'Nie udało się usunąć profilu'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Rekord zdrowia usunięty'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Możesz stworzyć nowy w każdej chwili, rozmawiając z asystentem.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Powrót do czatu'; + + @override + String get dataEditingScreenTitle => 'Edycja'; + + @override + String get dataFailedToLoadError => 'Nie udało się załadować danych profilu'; + + @override + String get dataRecordSavedTitle => 'Zmiany zapisane'; + + @override + String get dataRecordSavedSubtitle => + 'Twoje informacje zostały pomyślnie zaktualizowane.'; + + @override + String get dataRecordSavedButton => 'Powrót do profilu'; + + @override + String get dataRecordUpdateError => + 'Nie udało się zaktualizować danych profilu'; + + @override + String get dataRecordDiscardTitle => 'Anulować zmiany?'; + + @override + String get dataRecordDiscardSubtitle => + 'Dokonałeś pewnych zmian w swoim profilu. Zapisz je przed wyjściem lub je odrzuć.'; + + @override + String get dataRecordDiscardCancel => 'Kontynuuj edytowanie'; + + @override + String get dataRecordDiscardConfirm => 'Odrzuć'; + + @override + String get dataRecordEditTooltip => 'Edytuj'; + + @override + String get dataRecordAddTag => 'Dodaj rekord'; + + @override + String get consultationsSearch => 'Szukaj'; + + @override + String get consultationsSearchEmpty => 'Nie znaleziono wyników'; + + @override + String get documentsMenuDownload => 'Pobierz'; + + @override + String get documentsMenuShare => 'Udostępnij'; + + @override + String get documentsMenuDelete => 'Usuń'; + + @override + String get documentsEmptyList => 'Nie znaleziono dokumentów'; + + @override + String get documentsDeleteTitle => 'Usunąć ten dokument?'; + + @override + String get documentsDeleteSubtitle => 'Ten plik zostanie trwale usunięty'; + + @override + String get documentsDeleteCancel => 'Anuluj'; + + @override + String get documentsDeleteButton => 'Usuń'; + + @override + String get documentsMoreActionsTooltip => 'Więcej działań'; + + @override + String get profilesSearch => 'Szukaj'; + + @override + String get profilesEmptyList => 'Nie znaleziono profili'; + + @override + String get profilesViewMore => 'Zobacz więcej'; + + @override + String get profilesMore => 'Więcej'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina teraz pamięta o twoim zdrowiu'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Twoje konsultacje teraz automatycznie budują i aktualizują Twoją Kartę Zdrowia.'; + + @override + String get profilesAnnouncementTitle2 => 'Twoja karta zdrowia, twoje zasady'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Wyświetlaj, edytuj lub dodawaj objawy, leki, historię lub dokumenty w dowolnym momencie.'; + + @override + String get profilesAnnouncementTitle3 => 'Opieka nad całą rodziną'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Utwórz kartę zdrowia dla swoich bliskich, dzieci, rodziców lub partnera.'; + + @override + String get profilesAnnouncementTitle4 => + 'Gotowy, aby zapisać swoją Kartę Zdrowia?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Po konsultacji dotknij „Dodaj profil”, aby go zapisać'; + + @override + String get profilesNextButton => 'Dalej'; + + @override + String get profilesStartButton => 'Rozpocznij konsultację'; + + @override + String get profilesLaterButton => 'Może później'; + + @override + String get profileSuccessCloseButton => 'Zamknij'; + + @override + String get pdfHeaderTitle => 'Dokumentacja zdrowotna'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Rekord zdrowia — $name'; + } + + @override + String get expandableFieldMore => '...więcej'; + + @override + String get expandableFieldLess => '...mniej'; + + @override + String get profiles_button_addnew => 'Dodaj nowy profil'; + + @override + String get profiles_label_addnew => + 'Utwórz profil, aby zapisać szczegóły tej konsultacji'; + + @override + String get profiles_label_health_records_hint => + 'Możesz to sprawdzić w swojej dokumentacji medycznej w dowolnym momencie'; + + @override + String get profiles_label_keep_talking_hint => + 'Jeśli masz więcej pytań dotyczących tego lub czegokolwiek z tym związanego, śmiało kontynuuj rozmowę ze mną. Jestem tu, aby pomóc'; + + @override + String get profile_section_basic_title => 'Informacje ogólne'; + + @override + String get profile_section_basic_name_label => 'Imię'; + + @override + String get profile_section_basic_name_placeholder => 'Jan Kowalski'; + + @override + String get profile_section_basic_first_name_label => 'Imię'; + + @override + String get profile_section_basic_first_name_placeholder => 'Jan'; + + @override + String get profile_section_basic_last_name_label => 'Nazwisko'; + + @override + String get profile_section_basic_last_name_placeholder => 'Kowalski'; + + @override + String get profile_section_basic_sex_label => 'Płeć'; + + @override + String get profile_section_basic_sex_placeholder => 'Wybierz'; + + @override + String get profile_section_basic_sex_options_male => 'Mężczyzna'; + + @override + String get profile_section_basic_sex_options_female => 'Kobieta'; + + @override + String get profile_section_basic_sex_options_other => 'Inna'; + + @override + String get profile_section_basic_date_of_birth_label => 'Data urodzenia'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Wiek'; + + @override + String get profile_section_basic_age_str_placeholder => 'np. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Numer telefonu'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-mail'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Lokalizacja'; + + @override + String get profile_section_basic_location_placeholder => 'np. Miasto, Kraj'; + + @override + String get profile_section_body_diet_title => 'Ciało & Dieta'; + + @override + String get profile_section_body_diet_height_str_label => 'Wzrost'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'np. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Waga'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'np. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Cykl menstruacyjny'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'np. Regularny, Nieregularny'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Ograniczenia Dietetyczne'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Wybierz'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Daj nam znać, co jesz i jakie masz ograniczenia'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Brak'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Wegetariańska'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Wegański'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Bezglutenowy'; + + @override + String get profile_section_body_diet_bmi_label => 'Wskaźnik masy ciała (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'np. 24,5'; + + @override + String get profile_section_health_profile_title => 'Profil zdrowia'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Choroby przewlekłe'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'np. Cukrzyca typu 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Proszę wymienić wszystkie przewlekłe choroby oraz podać, kiedy zostały zdiagnozowane i wszelkie powikłania.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Przebyte choroby'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'np. Częste przeziębienia'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Proszę wymienić poważne choroby, które miałeś w przeszłości, nawet jeśli wyzdrowiałeś.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Historia operacji'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'np. Appendektomia'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Proszę wymienić wszystkie operacje, podając rok oraz informację, czy wystąpiły jakiekolwiek powikłania'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Leki stosowane okazjonalnie'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'np. Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Proszę wymienić leki, które przyjmujesz od czasu do czasu (na przykład: leki przeciwbólowe, leki na alergię), w tym dawkę i powód stosowania.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Stałe leki'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'np. Metformina'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Proszę wymienić wszystkie leki, które przyjmujesz regularnie, w tym nazwę, dawkę, ile razy dziennie je przyjmujesz oraz na jakie schorzenie są przeznaczone.'; + + @override + String get profile_section_health_profile_allergies_label => 'Alergie'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'np. Penicylina – powoduje wysypkę'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Proszę wymienić wszystkie alergie (leki, jedzenie, czynniki środowiskowe) i opisać, jakie reakcje występują (na przykład: wysypka, obrzęk, problemy z oddychaniem)'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Szczególne schorzenia'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'np. Ciąża, Niepełnosprawność'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Jeśli masz jakiekolwiek ważne schorzenia medyczne, o których lekarze powinni zawsze wiedzieć (na przykład: ciąża, wszczepione urządzenia, niepełnosprawności, terapia przeciwzakrzepowa), opisz je. Jeśli nie, możesz to pole pozostawić puste.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Historia rodzinna'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'np. choroba serca, rak'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Proszę opisać ważne choroby w swojej rodzinie (na przykład: cukrzyca, nadciśnienie, choroby serca, nowotwory, choroby genetyczne) i określić, który członek rodziny miał tę chorobę.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Czynniki społeczne i związane ze stylem życia'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'np. Palenie, Spożywanie alkoholu'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Proszę opisać czynniki stylu życia, które mogą wpływać na zdrowie, takie jak palenie, alkohol, aktywność fizyczna, dieta, sen i zawód'; + + @override + String get profile_section_health_profile_devices_label => + 'Urządzenia Medyczne'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'np. Rozrusznik serca, Aparat słuchowy, Pompa insulinowa'; + + @override + String get profile_section_health_profile_devices_hint => + 'Proszę wymienić wszelkie urządzenia medyczne, które używasz lub masz wszczepione, takie jak rozruszniki serca, pompy insulinowe, aparaty słuchowe, protezy lub inne urządzenia wspomagające lub monitorujące. Dołącz odpowiednie szczegóły, jeśli to możliwe.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Wszystkożerny'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Fast Food'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetarianin'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Bez laktozy'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Dieta niskosodowa'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Dieta niskocukrowa'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Dieta sercowa'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Dieta nerkowa'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Inne'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ps.dart b/example/lib/src/generated/profiles/profiles_localization_ps.dart new file mode 100644 index 0000000..b1892c0 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ps.dart @@ -0,0 +1,574 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Pushto Pashto (`ps`). +class ProfilesLocalizationPs extends ProfilesLocalization { + ProfilesLocalizationPs([String locale = 'ps']) : super(locale); + + @override + String get chatDrawerTitle => 'د روغتیا ریکارډونه'; + + @override + String get chatDrawerBadgeNew => 'نوې'; + + @override + String get bannerTitle => 'خپل روغتیایی ریکارډ جوړ کړئ'; + + @override + String get bannerSubtitle => 'د خپلې مشورې په پای کې، خپل پروفایل اضافه کړئ.'; + + @override + String get bannerMoreProfilesTitle => 'نور پروفایلونه اضافه کړئ'; + + @override + String get bannerMoreProfilesSubtitle => + 'د بل چا لپاره مشوره پیل کړئ ترڅو خپل پروفایل جوړ کړي.'; + + @override + String get bannerSignUp => + 'د خپل روغتیایی ریکارډ د جوړولو لپاره ثبت نام وکړئ'; + + @override + String get errorRetryButton => 'دوباره هڅه وکړئ'; + + @override + String get dashboardDeleteError => 'د پروفایل حذف کول ناکام شول'; + + @override + String get dashboardSummaryLoadError => 'د پروفایل لنډیز بار کولو کې ناکامي'; + + @override + String get dashboardMenuViewFullRecord => 'د بشپړ ریکارډ لیدل'; + + @override + String get dashboardMenuShare => 'شریک کړئ'; + + @override + String get dashboardMenuDelete => 'لرې کول'; + + @override + String get dashboardMetricAgeLabel => 'عمر'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value کاله', + one: '$value کال', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'وزن'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value کیلوگرام'; + } + + @override + String get dashboardMetricHeightLabel => 'لوړوالی'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value سانتي متر'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'الرجی'; + + @override + String get dashboardInfoChronicTitle => 'مزمن'; + + @override + String get dashboardInfoMedicationTitle => 'درمل'; + + @override + String get dashboardInfoDevicesTitle => 'د آلو'; + + @override + String get dashboardNavigationConsultations => 'مشورې'; + + @override + String get dashboardNavigationDocuments => 'اسناد'; + + @override + String get dashboardDeleteRecordTitle => 'د روغتیا ریکارډ حذف کړئ؟'; + + @override + String get dashboardDeleteRecordSubtitle => + 'دا به ستاسو د روغتیا معلومات په تل لپاره له منځه یوسي او نه شي بیرته راوستلی. تاسو به هغه سیاق له لاسه ورکړئ چې موږ یې د لارښوونې لپاره کاروو.'; + + @override + String get dashboardDeleteRecordCancel => 'لغو'; + + @override + String get dashboardDeleteRecordConfirm => 'لرې کول'; + + @override + String get dashboardDeleteRecordLoading => 'ستاسو د روغتیا ریکارډ حذف کول...'; + + @override + String get dashboardDeleteRecordError => 'د پروفایل حذف کولو کې ناکامي'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'د روغتیا ریکارډ حذف شو'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'تاسې هر وخت کولی شئ چې د مرستې سره خبرې کولو له لارې نوې جوړه کړئ.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'بېرته چټ ته لاړ شئ'; + + @override + String get dataEditingScreenTitle => 'سمون'; + + @override + String get dataFailedToLoadError => 'د پروفایل معلومات بارول ناکام شول'; + + @override + String get dataRecordSavedTitle => 'بدلونونه خوندي شول'; + + @override + String get dataRecordSavedSubtitle => + 'ستاسو معلومات په بریالیتوب سره تازه شوي دي.'; + + @override + String get dataRecordSavedButton => 'پروفایل ته ستانه شئ'; + + @override + String get dataRecordUpdateError => 'د پروفایل معلومات تازه کول ناکام شول'; + + @override + String get dataRecordDiscardTitle => 'بدلونونه له منځه یوسي؟'; + + @override + String get dataRecordDiscardSubtitle => + 'تاسو په خپل پروفایل کې ځینې بدلونونه کړي دي. مخکې له دې چې لاړ شئ، دوی وساتئ، یا یې له منځه یوسئ.'; + + @override + String get dataRecordDiscardCancel => 'ادامه ورکړئ'; + + @override + String get dataRecordDiscardConfirm => 'له منځه وړل'; + + @override + String get dataRecordEditTooltip => 'سمون'; + + @override + String get dataRecordAddTag => 'ریکارډ اضافه کړئ'; + + @override + String get consultationsSearch => 'لټون'; + + @override + String get consultationsSearchEmpty => 'هیڅ نتیجه نه ده موندل شوې'; + + @override + String get documentsMenuDownload => 'ډاونلوډ'; + + @override + String get documentsMenuShare => 'شریک کړئ'; + + @override + String get documentsMenuDelete => 'لرې کول'; + + @override + String get documentsEmptyList => 'هیڅ اسناد نه دي موندل شوي'; + + @override + String get documentsDeleteTitle => 'دا سند حذف کړئ؟'; + + @override + String get documentsDeleteSubtitle => 'دا فایل به تلپاتې توګه لیرې شي'; + + @override + String get documentsDeleteCancel => 'لغو'; + + @override + String get documentsDeleteButton => 'لرې کول'; + + @override + String get documentsMoreActionsTooltip => 'نور اقدامات'; + + @override + String get profilesSearch => 'لټون'; + + @override + String get profilesEmptyList => 'هېڅ پروفایل ونه موندل شو'; + + @override + String get profilesViewMore => 'نور وګورئ'; + + @override + String get profilesMore => 'نور'; + + @override + String get profilesAnnouncementTitle1 => 'Doctorina اوس ستاسو روغتیا یادوي'; + + @override + String get profilesAnnouncementSubtitle1 => + 'ستاسو مشورې اوس ستاسو د روغتیا ریکارډ په اوتومات ډول جوړوي او تازه کوي.'; + + @override + String get profilesAnnouncementTitle2 => 'ستاسو د روغتیا ریکارډ، ستاسو قواعد'; + + @override + String get profilesAnnouncementSubtitle2 => + 'د نښو، درملو، تاریخ، یا اسنادو هر وخت لیدل، سمول یا اضافه کول.'; + + @override + String get profilesAnnouncementTitle3 => 'د خپلې ټولې کورنۍ خیال وساتئ'; + + @override + String get profilesAnnouncementSubtitle3 => + 'د خپلو عزیزانو، خپلو ماشومانو، والدینو یا ملګري لپاره د روغتیا ریکارډ جوړ کړئ.'; + + @override + String get profilesAnnouncementTitle4 => + 'آیا تاسو د خپل روغتیایی ریکارډ د خوندي کولو لپاره چمتو یاست؟'; + + @override + String get profilesAnnouncementSubtitle4 => + 'د مشورې وروسته، \"پروفایل اضافه کړئ\" باندې ټک وکړئ ترڅو دا وساتئ.'; + + @override + String get profilesNextButton => 'راتلونکی'; + + @override + String get profilesStartButton => 'مشوره پیل کړئ'; + + @override + String get profilesLaterButton => 'شاید وروسته'; + + @override + String get profileSuccessCloseButton => 'بندول'; + + @override + String get pdfHeaderTitle => 'د روغتیا ریکارډ'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'د روغتیا ریکارډ — $name'; + } + + @override + String get expandableFieldMore => '...نور'; + + @override + String get expandableFieldLess => '...کمه'; + + @override + String get profiles_button_addnew => 'نوې پروفایل اضافه کړئ'; + + @override + String get profiles_label_addnew => + 'یو پروفایل جوړ کړئ ترڅو د دې مشورې تفصیلات وساتئ.'; + + @override + String get profiles_label_health_records_hint => + 'تاسو کولی شئ دا هر وخت په خپلو روغتیايي ریکارډونو کې ارزونه وکړئ'; + + @override + String get profiles_label_keep_talking_hint => + 'که تاسو د دې یا د دې پورې اړوند هر څه په اړه نورې پوښتنې لرئ، کولی شئ زما سره خبرې ته دوام ورکړئ. زه دلته د مرستې لپاره یم'; + + @override + String get profile_section_basic_title => 'عمومي معلومات'; + + @override + String get profile_section_basic_name_label => 'نوم'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'لومړی نوم'; + + @override + String get profile_section_basic_first_name_placeholder => 'جان'; + + @override + String get profile_section_basic_last_name_label => 'تخلص'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'جنس'; + + @override + String get profile_section_basic_sex_placeholder => 'مهرباني وکړئ وټاکئ'; + + @override + String get profile_section_basic_sex_options_male => 'نارینه'; + + @override + String get profile_section_basic_sex_options_female => 'ښځه'; + + @override + String get profile_section_basic_sex_options_other => 'نور'; + + @override + String get profile_section_basic_date_of_birth_label => 'د زېږېدو نېټه'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'عمر'; + + @override + String get profile_section_basic_age_str_placeholder => 'مثلاً 30'; + + @override + String get profile_section_basic_phonenumber_label => 'د تلیفون شمېره'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'بریښنالیک'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'ځای'; + + @override + String get profile_section_basic_location_placeholder => 'مثلاً ښار، هېواد'; + + @override + String get profile_section_body_diet_title => 'بدن او تغذیه'; + + @override + String get profile_section_body_diet_height_str_label => 'قد'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'لکه 180 سم'; + + @override + String get profile_section_body_diet_weight_str_label => 'وزن'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'لکه 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'د حیض دوره'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'مثلاً منظم، غیر منظم'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'د خوړو محدودیتونه'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'مهرباني وکړئ انتخاب کړئ'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'موږ ته ووایاست چې تاسو څه خورئ او کوم محدودیتونه لرئ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'هیڅ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'سبزي خوړونکی'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'ویګن'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'د ګلوټین څخه پاک'; + + @override + String get profile_section_body_diet_bmi_label => 'د بدن د کتلې شاخص (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'مثلاً 24.5'; + + @override + String get profile_section_health_profile_title => 'د روغتیا پروفایل'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'مزمنې ناروغۍ'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'لکه: د شکر ناروغي ډول ۲'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'مهرباني وکړئ ټول مزمن ناروغۍ وليکئ او د تشخيص وخت او هر ډول پيچلتياوې شامل کړئ.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'پخوانۍ ناروغۍ'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'لکه: د عام زکام تکرار'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'مهرباني وکړئ جدي ناروغۍ چې تاسو په تېر کې لرئ، حتی که تاسو روغ شوي یاست، لیست کړئ.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'د جراحي سابقه'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'د بېلګې په توګه اپنډېکټومي'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'مهرباني وکړئ ټول جراحي عملیات لیست کړئ او کال او که کومې پیچلتیاوې وې، شامل کړئ.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'کله نا کله کارېدونکي درمل'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'لکه Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'مهرباني وکړئ هغه درمل چې تاسو کله نا کله کاروئ (لکه: درد کمونکي، د الرژي درمل) لیست کړئ، د دوز او د کارونې دلیل سره.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'دوامداره درمل'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'لکه: Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'مهرباني وکړئ ټول درمل چې تاسو په منظم ډول کاروئ، د نوم، دوز، په ورځ کې څو ځله یې کاروئ، او د کوم حالت لپاره دی، لیست کړئ.'; + + @override + String get profile_section_health_profile_allergies_label => 'حساسیتونه'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'لکه: پینسلین - خارش رامنځته کوي'; + + @override + String get profile_section_health_profile_allergies_hint => + 'مهرباني وکړئ ټول حساسیتونه (درمل، خواړه، چاپیریال) لیست کړئ، او تشریح کړئ چې تاسو څه ډول غبرګون لرئ (لکه: د پوستکي خارش، پړسوب، د تنفس ستونزې).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'ځانګړي حالتونه'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'مثلاً حاملګي، معذوري'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'که تاسو کومې مهمې طبي حالتونه لرئ چې ډاکټران باید تل پرې پوه شي (لکه: حمل، د ایمپلانټ شوي وسایل، معذوریتونه، د انټيکوګولیشن درملنه)، مهرباني وکړئ تشریح یې کړئ. که هیڅ نه وي، تاسو کولی شئ دا خالي پریږدئ.'; + + @override + String get profile_section_health_profile_family_history_label => + 'د کورنۍ تاریخ'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'لکه د زړه ناروغي، سرطان'; + + @override + String get profile_section_health_profile_family_history_hint => + 'مهرباني وکړئ په خپل کورنۍ کې مهمې ناروغۍ تشریح کړئ (لکه: شکر، لوړ فشار، د زړه ناروغي، سرطان، جینیاتي ناروغۍ) او مشخص کړئ چې کوم کورنی غړی دغه حالت درلود.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'ټولنیز او د ژوند طرز عوامل'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'لکه سګرټ څکول، الکول څښل'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'مهرباني وکړئ د ژوند طرز عوامل بیان کړئ چې ستاسو روغتیا باندې اغیزه کولی شي، لکه سګرټ څکول، الکول، فزیکي فعالیت، رژیم، خوب، او مسلک.'; + + @override + String get profile_section_health_profile_devices_label => 'طبي وسایل'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'مثلاً پیسمیکر، د اورېدو مرسته کوونکې آله، د انسولین پمپ'; + + @override + String get profile_section_health_profile_devices_hint => + 'مهرباني وکړئ هر ډول طبي وسایل چې تاسو کاروئ یا درلودل یې، لکه د زړه د پيسو، انسولین پمپونه، د اوریدو وسایل، پروستیتیکونه، یا نور مرستندویه یا څارونکي وسایل، لیست کړئ. که اړوند تفصیلات وي، شامل کړئ.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'هرڅه خوړونکی'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'فاسټ فوډ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'پیسکاتاریان'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'د لاکتوز څخه پاک'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'د لږ مالګې رژیم'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'د کمې بوري رژیم'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'د زړه رژیم'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'د ګردو رژیم'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'نور'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_pt.dart b/example/lib/src/generated/profiles/profiles_localization_pt.dart new file mode 100644 index 0000000..2b8faa8 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_pt.dart @@ -0,0 +1,1153 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Portuguese (`pt`). +class ProfilesLocalizationPt extends ProfilesLocalization { + ProfilesLocalizationPt([String locale = 'pt']) : super(locale); + + @override + String get chatDrawerTitle => 'Registros de Saúde'; + + @override + String get chatDrawerBadgeNew => 'NOVO'; + + @override + String get bannerTitle => 'Crie seu Registro de Saúde'; + + @override + String get bannerSubtitle => 'Ao final da sua consulta, adicione seu perfil.'; + + @override + String get bannerMoreProfilesTitle => 'Adicionar mais perfis'; + + @override + String get bannerMoreProfilesSubtitle => + 'Inicie uma consulta para outra pessoa criar seu perfil.'; + + @override + String get bannerSignUp => 'Cadastre-se para criar seu Registro de Saúde'; + + @override + String get errorRetryButton => 'Tentar novamente'; + + @override + String get dashboardDeleteError => 'Falha ao deletar o perfil'; + + @override + String get dashboardSummaryLoadError => + 'Falha ao carregar o resumo do perfil'; + + @override + String get dashboardMenuViewFullRecord => 'Ver Registro Completo'; + + @override + String get dashboardMenuShare => 'Compartilhar'; + + @override + String get dashboardMenuDelete => 'Excluir'; + + @override + String get dashboardMetricAgeLabel => 'Idade'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value anos', + one: '$value ano', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Peso'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Altura'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Alergias'; + + @override + String get dashboardInfoChronicTitle => 'Crônico'; + + @override + String get dashboardInfoMedicationTitle => 'Medicação'; + + @override + String get dashboardInfoDevicesTitle => 'Dispositivos'; + + @override + String get dashboardNavigationConsultations => 'Consultas'; + + @override + String get dashboardNavigationDocuments => 'Documentos'; + + @override + String get dashboardDeleteRecordTitle => 'Excluir o registro de saúde?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Isso removerá permanentemente seus dados de saúde e não poderá ser desfeito. Você perderá o contexto que usamos para orientá-lo.'; + + @override + String get dashboardDeleteRecordCancel => 'Cancelar'; + + @override + String get dashboardDeleteRecordConfirm => 'Excluir'; + + @override + String get dashboardDeleteRecordLoading => + 'Excluindo seu registro de saúde...'; + + @override + String get dashboardDeleteRecordError => 'Falha ao excluir o perfil'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Registro de saúde excluído'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Você pode criar um novo a qualquer momento conversando com o assistente.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Voltar para o chat'; + + @override + String get dataEditingScreenTitle => 'Edição'; + + @override + String get dataFailedToLoadError => 'Falha ao carregar os dados do perfil'; + + @override + String get dataRecordSavedTitle => 'Alterações salvas'; + + @override + String get dataRecordSavedSubtitle => + 'Suas informações foram atualizadas com sucesso.'; + + @override + String get dataRecordSavedButton => 'Voltar ao perfil'; + + @override + String get dataRecordUpdateError => 'Falha ao atualizar os dados do perfil'; + + @override + String get dataRecordDiscardTitle => 'Descartar alterações?'; + + @override + String get dataRecordDiscardSubtitle => + 'Você fez algumas alterações no seu perfil. Salve-as antes de sair ou descarte-as.'; + + @override + String get dataRecordDiscardCancel => 'Continuar editando'; + + @override + String get dataRecordDiscardConfirm => 'Descartar'; + + @override + String get dataRecordEditTooltip => 'Editar'; + + @override + String get dataRecordAddTag => 'Adicionar registro'; + + @override + String get consultationsSearch => 'Pesquisar'; + + @override + String get consultationsSearchEmpty => 'Nenhum resultado encontrado'; + + @override + String get documentsMenuDownload => 'Baixar'; + + @override + String get documentsMenuShare => 'Compartilhar'; + + @override + String get documentsMenuDelete => 'Excluir'; + + @override + String get documentsEmptyList => 'Nenhum documento encontrado'; + + @override + String get documentsDeleteTitle => 'Excluir este documento?'; + + @override + String get documentsDeleteSubtitle => + 'Este arquivo será removido permanentemente'; + + @override + String get documentsDeleteCancel => 'Cancelar'; + + @override + String get documentsDeleteButton => 'Excluir'; + + @override + String get documentsMoreActionsTooltip => 'Mais ações'; + + @override + String get profilesSearch => 'Pesquisar'; + + @override + String get profilesEmptyList => 'Nenhum perfil encontrado'; + + @override + String get profilesViewMore => 'Ver mais'; + + @override + String get profilesMore => 'Mais'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina agora lembra da sua saúde'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Suas consultas agora constroem e atualizam automaticamente seu Registro de Saúde.'; + + @override + String get profilesAnnouncementTitle2 => 'Seu Registro de Saúde, suas regras'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Veja, edite ou adicione sintomas, medicamentos, histórico ou documentos a qualquer momento.'; + + @override + String get profilesAnnouncementTitle3 => 'Cuide de toda a sua família'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Crie um Registro de Saúde para seus entes queridos, seus filhos, pais ou parceiro.'; + + @override + String get profilesAnnouncementTitle4 => + 'Pronto para salvar seu Registro de Saúde?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Após sua consulta, toque em “Adicionar perfil” para salvá-lo.'; + + @override + String get profilesNextButton => 'Próximo'; + + @override + String get profilesStartButton => 'Iniciar uma consulta'; + + @override + String get profilesLaterButton => 'Talvez mais tarde'; + + @override + String get profileSuccessCloseButton => 'Fechar'; + + @override + String get pdfHeaderTitle => 'Registro de saúde'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Registro de saúde — $name'; + } + + @override + String get expandableFieldMore => '...mais'; + + @override + String get expandableFieldLess => '...menos'; + + @override + String get profiles_button_addnew => 'Adicionar novo perfil'; + + @override + String get profiles_label_addnew => + 'Crie um perfil para salvar os detalhes desta consulta'; + + @override + String get profiles_label_health_records_hint => + 'Você pode consultar isso a qualquer momento em seus Registros de Saúde'; + + @override + String get profiles_label_keep_talking_hint => + 'Se você tiver mais perguntas sobre isto ou qualquer assunto relacionado, sinta-se à vontade para continuar conversando comigo. Estou aqui para ajudar'; + + @override + String get profile_section_basic_title => 'Informações Gerais'; + + @override + String get profile_section_basic_name_label => 'Nome'; + + @override + String get profile_section_basic_name_placeholder => 'João da Silva'; + + @override + String get profile_section_basic_first_name_label => 'Nome'; + + @override + String get profile_section_basic_first_name_placeholder => 'João'; + + @override + String get profile_section_basic_last_name_label => 'Sobrenome'; + + @override + String get profile_section_basic_last_name_placeholder => 'Silva'; + + @override + String get profile_section_basic_sex_label => 'Sexo'; + + @override + String get profile_section_basic_sex_placeholder => 'Selecione'; + + @override + String get profile_section_basic_sex_options_male => 'Masculino'; + + @override + String get profile_section_basic_sex_options_female => 'Feminino'; + + @override + String get profile_section_basic_sex_options_other => 'Outro'; + + @override + String get profile_section_basic_date_of_birth_label => 'Data de Nascimento'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Idade'; + + @override + String get profile_section_basic_age_str_placeholder => 'p.ex. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Número de telefone'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-mail'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Localização'; + + @override + String get profile_section_basic_location_placeholder => 'ex. Cidade, País'; + + @override + String get profile_section_body_diet_title => 'Corpo & Dieta'; + + @override + String get profile_section_body_diet_height_str_label => 'Altura'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'p.ex. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Peso'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'ex. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Ciclo Menstrual'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'ex. Regular, Irregular'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Restrições Alimentares'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Selecione'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Deixe-nos saber o que você come e quaisquer restrições que você tenha'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Nenhuma'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetariano'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegano'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Sem glúten'; + + @override + String get profile_section_body_diet_bmi_label => + 'Índice de Massa Corporal (IMC)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ex. 24,5'; + + @override + String get profile_section_health_profile_title => 'Perfil de Saúde'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Doenças Crônicas'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ex. Diabetes Tipo 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Por favor, liste todas as doenças crônicas e inclua quando foram diagnosticadas e quaisquer complicações.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Doenças Anteriores'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ex. Resfriado comum frequente'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Por favor, liste as doenças graves que você teve no passado, mesmo que tenha se recuperado.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Histórico Cirúrgico'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'ex. Apendicectomia'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Por favor, liste todas as cirurgias e inclua o ano e se houve complicações.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Medicamentos usados ocasionalmente'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'por exemplo, Ibuprofeno'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Por favor, liste os medicamentos que você toma de vez em quando (por exemplo: analgésicos, medicamentos para alergia), incluindo a dose e a razão para o uso.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Medicamentos de Uso Regular'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'por exemplo, Metformina'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Por favor, liste todos os medicamentos que você toma regularmente, incluindo o nome, a dose, quantas vezes por dia você toma e para qual condição.'; + + @override + String get profile_section_health_profile_allergies_label => 'Alergias'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ex. Penicilina – causa erupção'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Por favor, liste todas as alergias (medicamentos, alimentos, ambientais) e descreva qual reação você tem (por exemplo: erupção cutânea, inchaço, problemas respiratórios).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Condições Especiais'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'p.ex. Gravidez, Deficiência'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Se você tiver condições médicas importantes que os médicos devem sempre saber (por exemplo: gravidez, dispositivos implantados, deficiências, terapia anticoagulante), descreva-as. Se não houver, você pode deixar em branco.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Histórico familiar'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ex.: doença cardíaca, câncer'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Por favor, descreva doenças importantes em sua família (por exemplo: diabetes, hipertensão, doenças cardíacas, câncer, doenças genéticas) e especifique qual membro da família teve a condição.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Fatores Sociais e de Estilo de Vida'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'ex.: Tabagismo, consumo de álcool'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Por favor, descreva os fatores de estilo de vida que podem afetar sua saúde, como fumar, álcool, atividade física, dieta, sono e ocupação.'; + + @override + String get profile_section_health_profile_devices_label => + 'Dispositivos Médicos'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'p.ex. Marca-passo, Aparelho auditivo, Bomba de insulina'; + + @override + String get profile_section_health_profile_devices_hint => + 'Por favor, liste quaisquer dispositivos médicos que você usa ou tem implantados, como marcapassos, bombas de insulina, aparelhos auditivos, próteses ou outros dispositivos de assistência ou monitoramento. Inclua detalhes relevantes, se aplicável.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Onívoro'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Comida Rápida'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetariano'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Sem lactose'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Dieta com baixo teor de sódio'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Dieta com pouco açúcar'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Dieta cardíaca'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Dieta renal'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Outro'; +} + +/// The translations for Portuguese, as used in Brazil (`pt_BR`). +class ProfilesLocalizationPtBr extends ProfilesLocalizationPt { + ProfilesLocalizationPtBr() : super('pt_BR'); + + @override + String get chatDrawerTitle => 'Registros de Saúde'; + + @override + String get chatDrawerBadgeNew => 'NOVO'; + + @override + String get bannerTitle => 'Crie seu Registro de Saúde'; + + @override + String get bannerSubtitle => 'Ao final da sua consulta, adicione seu perfil.'; + + @override + String get bannerMoreProfilesTitle => 'Adicionar mais perfis'; + + @override + String get bannerMoreProfilesSubtitle => + 'Inicie uma consulta para outra pessoa criar seu perfil.'; + + @override + String get bannerSignUp => 'Cadastre-se para criar seu Registro de Saúde'; + + @override + String get errorRetryButton => 'Tentar novamente'; + + @override + String get dashboardDeleteError => 'Falha ao deletar o perfil'; + + @override + String get dashboardSummaryLoadError => + 'Falha ao carregar o resumo do perfil'; + + @override + String get dashboardMenuViewFullRecord => 'Ver Registro Completo'; + + @override + String get dashboardMenuShare => 'Compartilhar'; + + @override + String get dashboardMenuDelete => 'Excluir'; + + @override + String get dashboardMetricAgeLabel => 'Idade'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value anos', + one: '$value ano', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Peso'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Altura'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Alergias'; + + @override + String get dashboardInfoChronicTitle => 'Crônico'; + + @override + String get dashboardInfoMedicationTitle => 'Medicação'; + + @override + String get dashboardInfoDevicesTitle => 'Dispositivos'; + + @override + String get dashboardNavigationConsultations => 'Consultas'; + + @override + String get dashboardNavigationDocuments => 'Documentos'; + + @override + String get dashboardDeleteRecordTitle => 'Excluir o registro de saúde?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Isso removerá permanentemente seus dados de saúde e não poderá ser desfeito. Você perderá o contexto que usamos para orientá-lo.'; + + @override + String get dashboardDeleteRecordCancel => 'Cancelar'; + + @override + String get dashboardDeleteRecordConfirm => 'Excluir'; + + @override + String get dashboardDeleteRecordLoading => + 'Excluindo seu registro de saúde...'; + + @override + String get dashboardDeleteRecordError => 'Falha ao excluir o perfil'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Registro de saúde excluído'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Você pode criar um novo a qualquer momento conversando com o assistente.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Voltar para o chat'; + + @override + String get dataEditingScreenTitle => 'Edição'; + + @override + String get dataFailedToLoadError => 'Falha ao carregar os dados do perfil'; + + @override + String get dataRecordSavedTitle => 'Alterações salvas'; + + @override + String get dataRecordSavedSubtitle => + 'Suas informações foram atualizadas com sucesso.'; + + @override + String get dataRecordSavedButton => 'Voltar ao perfil'; + + @override + String get dataRecordUpdateError => 'Falha ao atualizar os dados do perfil'; + + @override + String get dataRecordDiscardTitle => 'Descartar alterações?'; + + @override + String get dataRecordDiscardSubtitle => + 'Você fez algumas alterações no seu perfil. Salve-as antes de sair ou descarte-as.'; + + @override + String get dataRecordDiscardCancel => 'Continuar editando'; + + @override + String get dataRecordDiscardConfirm => 'Descartar'; + + @override + String get dataRecordEditTooltip => 'Editar'; + + @override + String get dataRecordAddTag => 'Adicionar registro'; + + @override + String get consultationsSearch => 'Pesquisar'; + + @override + String get consultationsSearchEmpty => 'Nenhum resultado encontrado'; + + @override + String get documentsMenuDownload => 'Baixar'; + + @override + String get documentsMenuShare => 'Compartilhar'; + + @override + String get documentsMenuDelete => 'Excluir'; + + @override + String get documentsEmptyList => 'Nenhum documento encontrado'; + + @override + String get documentsDeleteTitle => 'Excluir este documento?'; + + @override + String get documentsDeleteSubtitle => + 'Este arquivo será removido permanentemente'; + + @override + String get documentsDeleteCancel => 'Cancelar'; + + @override + String get documentsDeleteButton => 'Excluir'; + + @override + String get documentsMoreActionsTooltip => 'Mais ações'; + + @override + String get profilesSearch => 'Pesquisar'; + + @override + String get profilesEmptyList => 'Nenhum perfil encontrado'; + + @override + String get profilesViewMore => 'Ver mais'; + + @override + String get profilesMore => 'Mais'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina agora lembra da sua saúde'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Suas consultas agora constroem e atualizam automaticamente seu Registro de Saúde.'; + + @override + String get profilesAnnouncementTitle2 => 'Seu Registro de Saúde, suas regras'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Veja, edite ou adicione sintomas, medicamentos, histórico ou documentos a qualquer momento.'; + + @override + String get profilesAnnouncementTitle3 => 'Cuide de toda a sua família'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Crie um Registro de Saúde para seus entes queridos, seus filhos, pais ou parceiro.'; + + @override + String get profilesAnnouncementTitle4 => + 'Pronto para salvar seu Registro de Saúde?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Após sua consulta, toque em “Adicionar perfil” para salvá-lo.'; + + @override + String get profilesNextButton => 'Próximo'; + + @override + String get profilesStartButton => 'Iniciar uma consulta'; + + @override + String get profilesLaterButton => 'Talvez mais tarde'; + + @override + String get profileSuccessCloseButton => 'Fechar'; + + @override + String get pdfHeaderTitle => 'Registro de saúde'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Registro de saúde — $name'; + } + + @override + String get expandableFieldMore => '...mais'; + + @override + String get expandableFieldLess => '...menos'; + + @override + String get profiles_button_addnew => 'Adicionar novo perfil'; + + @override + String get profiles_label_addnew => + 'Crie um perfil para salvar os detalhes desta consulta'; + + @override + String get profiles_label_health_records_hint => + 'Você pode consultar isso a qualquer momento em seus Registros de Saúde'; + + @override + String get profiles_label_keep_talking_hint => + 'Se você tiver mais perguntas sobre isto ou qualquer assunto relacionado, sinta-se à vontade para continuar conversando comigo. Estou aqui para ajudar'; + + @override + String get profile_section_basic_title => 'Informações Gerais'; + + @override + String get profile_section_basic_name_label => 'Nome'; + + @override + String get profile_section_basic_name_placeholder => 'João da Silva'; + + @override + String get profile_section_basic_first_name_label => 'Nome'; + + @override + String get profile_section_basic_first_name_placeholder => 'João'; + + @override + String get profile_section_basic_last_name_label => 'Sobrenome'; + + @override + String get profile_section_basic_last_name_placeholder => 'Silva'; + + @override + String get profile_section_basic_sex_label => 'Sexo'; + + @override + String get profile_section_basic_sex_placeholder => 'Selecione'; + + @override + String get profile_section_basic_sex_options_male => 'Masculino'; + + @override + String get profile_section_basic_sex_options_female => 'Feminino'; + + @override + String get profile_section_basic_sex_options_other => 'Outro'; + + @override + String get profile_section_basic_date_of_birth_label => 'Data de Nascimento'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Idade'; + + @override + String get profile_section_basic_age_str_placeholder => 'p.ex. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Número de telefone'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-mail'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Localização'; + + @override + String get profile_section_basic_location_placeholder => 'ex. Cidade, País'; + + @override + String get profile_section_body_diet_title => 'Corpo & Dieta'; + + @override + String get profile_section_body_diet_height_str_label => 'Altura'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'p.ex. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Peso'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'ex. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Ciclo Menstrual'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'ex. Regular, Irregular'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Restrições Alimentares'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Selecione'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Deixe-nos saber o que você come e quaisquer restrições que você tenha'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Nenhuma'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetariano'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegano'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Sem glúten'; + + @override + String get profile_section_body_diet_bmi_label => + 'Índice de Massa Corporal (IMC)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ex. 24,5'; + + @override + String get profile_section_health_profile_title => 'Perfil de Saúde'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Doenças Crônicas'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ex. Diabetes Tipo 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Por favor, liste todas as doenças crônicas e inclua quando foram diagnosticadas e quaisquer complicações.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Doenças Anteriores'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ex. Resfriado comum frequente'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Por favor, liste as doenças graves que você teve no passado, mesmo que tenha se recuperado.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Histórico Cirúrgico'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'ex. Apendicectomia'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Por favor, liste todas as cirurgias e inclua o ano e se houve complicações.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Medicamentos usados ocasionalmente'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'por exemplo, Ibuprofeno'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Por favor, liste os medicamentos que você toma de vez em quando (por exemplo: analgésicos, medicamentos para alergia), incluindo a dose e a razão para o uso.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Medicamentos de Uso Regular'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'por exemplo, Metformina'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Por favor, liste todos os medicamentos que você toma regularmente, incluindo o nome, a dose, quantas vezes por dia você toma e para qual condição.'; + + @override + String get profile_section_health_profile_allergies_label => 'Alergias'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ex. Penicilina – causa erupção'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Por favor, liste todas as alergias (medicamentos, alimentos, ambientais) e descreva qual reação você tem (por exemplo: erupção cutânea, inchaço, problemas respiratórios).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Condições Especiais'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'p.ex. Gravidez, Deficiência'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Se você tiver condições médicas importantes que os médicos devem sempre saber (por exemplo: gravidez, dispositivos implantados, deficiências, terapia anticoagulante), descreva-as. Se não houver, você pode deixar em branco.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Histórico familiar'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ex.: doença cardíaca, câncer'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Por favor, descreva doenças importantes em sua família (por exemplo: diabetes, hipertensão, doenças cardíacas, câncer, doenças genéticas) e especifique qual membro da família teve a condição.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Fatores Sociais e de Estilo de Vida'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'ex.: Tabagismo, consumo de álcool'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Por favor, descreva os fatores de estilo de vida que podem afetar sua saúde, como fumar, álcool, atividade física, dieta, sono e ocupação.'; + + @override + String get profile_section_health_profile_devices_label => + 'Dispositivos Médicos'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'p.ex. Marca-passo, Aparelho auditivo, Bomba de insulina'; + + @override + String get profile_section_health_profile_devices_hint => + 'Por favor, liste quaisquer dispositivos médicos que você usa ou tem implantados, como marcapassos, bombas de insulina, aparelhos auditivos, próteses ou outros dispositivos de assistência ou monitoramento. Inclua detalhes relevantes, se aplicável.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Onívoro'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Comida Rápida'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetariano'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Sem lactose'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Dieta com baixo teor de sódio'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Dieta com pouco açúcar'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Dieta cardíaca'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Dieta renal'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Outro'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ro.dart b/example/lib/src/generated/profiles/profiles_localization_ro.dart new file mode 100644 index 0000000..0c0130b --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ro.dart @@ -0,0 +1,582 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Romanian Moldavian Moldovan (`ro`). +class ProfilesLocalizationRo extends ProfilesLocalization { + ProfilesLocalizationRo([String locale = 'ro']) : super(locale); + + @override + String get chatDrawerTitle => 'Dosare medicale'; + + @override + String get chatDrawerBadgeNew => 'NOU'; + + @override + String get bannerTitle => 'Creează-ți Dosarul Medical'; + + @override + String get bannerSubtitle => + 'La sfârșitul consultației, adăugați profilul dvs.'; + + @override + String get bannerMoreProfilesTitle => 'Adaugă mai multe profile'; + + @override + String get bannerMoreProfilesSubtitle => + 'Începe o consultație pentru altcineva pentru a crea profilul lor.'; + + @override + String get bannerSignUp => 'Înscrie-te pentru a-ți crea Dosarul Medical'; + + @override + String get errorRetryButton => 'Reîncercați'; + + @override + String get dashboardDeleteError => 'Ștergerea profilului a eșuat'; + + @override + String get dashboardSummaryLoadError => + 'Eșec la încărcarea rezumatului profilului'; + + @override + String get dashboardMenuViewFullRecord => 'Vezi înregistrarea completă'; + + @override + String get dashboardMenuShare => 'Împărtășește'; + + @override + String get dashboardMenuDelete => 'Șterge'; + + @override + String get dashboardMetricAgeLabel => 'Vârstă'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value ani', + one: '$value an', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Greutate'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Înălțime'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Alergii'; + + @override + String get dashboardInfoChronicTitle => 'Cronice'; + + @override + String get dashboardInfoMedicationTitle => 'Medicamente'; + + @override + String get dashboardInfoDevicesTitle => 'Dispozitive'; + + @override + String get dashboardNavigationConsultations => 'Consultări'; + + @override + String get dashboardNavigationDocuments => 'Documente'; + + @override + String get dashboardDeleteRecordTitle => 'Ștergeți dosarul medical?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Aceasta va elimina permanent datele dumneavoastră de sănătate și nu poate fi anulată. Veți pierde contextul pe care îl folosim pentru a vă ghida.'; + + @override + String get dashboardDeleteRecordCancel => 'Anulează'; + + @override + String get dashboardDeleteRecordConfirm => 'Șterge'; + + @override + String get dashboardDeleteRecordLoading => + 'Ștergerea dosarului tău medical...'; + + @override + String get dashboardDeleteRecordError => 'Nu s-a putut șterge profilul'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'Fișa medicală a fost ștearsă'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Puteți crea unul nou oricând discutând cu asistentul.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Întoarce-te la chat'; + + @override + String get dataEditingScreenTitle => 'Editare'; + + @override + String get dataFailedToLoadError => 'Nu s-a putut încărca datele profilului'; + + @override + String get dataRecordSavedTitle => 'Modificările au fost salvate'; + + @override + String get dataRecordSavedSubtitle => + 'Informațiile dumneavoastră au fost actualizate cu succes.'; + + @override + String get dataRecordSavedButton => 'Întoarceți-vă la profil'; + + @override + String get dataRecordUpdateError => 'Actualizarea datelor profilului a eșuat'; + + @override + String get dataRecordDiscardTitle => 'Renunțați la modificări?'; + + @override + String get dataRecordDiscardSubtitle => + 'Ați făcut câteva modificări la profilul dumneavoastră. Salvați-le înainte de a pleca sau renunțați la ele.'; + + @override + String get dataRecordDiscardCancel => 'Continuă editarea'; + + @override + String get dataRecordDiscardConfirm => 'Aruncă'; + + @override + String get dataRecordEditTooltip => 'Editează'; + + @override + String get dataRecordAddTag => 'Adaugă înregistrare'; + + @override + String get consultationsSearch => 'Caută'; + + @override + String get consultationsSearchEmpty => 'Nu s-au găsit rezultate'; + + @override + String get documentsMenuDownload => 'Descarcă'; + + @override + String get documentsMenuShare => 'Împărtășește'; + + @override + String get documentsMenuDelete => 'Șterge'; + + @override + String get documentsEmptyList => 'Nu au fost găsite documente'; + + @override + String get documentsDeleteTitle => 'Șterge acest document?'; + + @override + String get documentsDeleteSubtitle => 'Acest fișier va fi eliminat permanent'; + + @override + String get documentsDeleteCancel => 'Anulează'; + + @override + String get documentsDeleteButton => 'Șterge'; + + @override + String get documentsMoreActionsTooltip => 'Mai multe acțiuni'; + + @override + String get profilesSearch => 'Caută'; + + @override + String get profilesEmptyList => 'Nu au fost găsite profiluri'; + + @override + String get profilesViewMore => 'Vezi mai mult'; + + @override + String get profilesMore => 'Mai multe'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina îți amintește acum de sănătatea ta'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Consultațiile dumneavoastră acum construiesc și actualizează automat Dosarul de Sănătate.'; + + @override + String get profilesAnnouncementTitle2 => + 'Dosarul tău de sănătate, regulile tale'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Vizualizați, editați sau adăugați simptome, medicamente, istoric sau documente oricând.'; + + @override + String get profilesAnnouncementTitle3 => 'Îngrijire pentru întreaga familie'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Creează un Dosar Medical pentru cei dragi, copiii tăi, părinți sau partener.'; + + @override + String get profilesAnnouncementTitle4 => + 'Ești gata să îți salvezi Dosarul Medical?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'După consultație, apasă „Adaugă profil” pentru a-l salva.'; + + @override + String get profilesNextButton => 'Următorul'; + + @override + String get profilesStartButton => 'Începe o consultație'; + + @override + String get profilesLaterButton => 'Poate mai târziu'; + + @override + String get profileSuccessCloseButton => 'Închide'; + + @override + String get pdfHeaderTitle => 'Fișa medicală'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Fișa medicală — $name'; + } + + @override + String get expandableFieldMore => '...mai mult'; + + @override + String get expandableFieldLess => '...mai puțin'; + + @override + String get profiles_button_addnew => 'Adaugă profil nou'; + + @override + String get profiles_label_addnew => + 'Creează un profil pentru a salva detaliile acestei consultații.'; + + @override + String get profiles_label_health_records_hint => + 'Îl puteți evalua oricând în Health Records'; + + @override + String get profiles_label_keep_talking_hint => + 'Dacă ai mai multe întrebări despre asta sau despre orice legat de acest subiect, simte-te liber să continui să vorbești cu mine. Sunt aici să te ajut'; + + @override + String get profile_section_basic_title => 'Informații generale'; + + @override + String get profile_section_basic_name_label => 'Nume'; + + @override + String get profile_section_basic_name_placeholder => 'Ion Popescu'; + + @override + String get profile_section_basic_first_name_label => 'Prenume'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Nume de familie'; + + @override + String get profile_section_basic_last_name_placeholder => 'Popescu'; + + @override + String get profile_section_basic_sex_label => 'Sex'; + + @override + String get profile_section_basic_sex_placeholder => 'Vă rugăm să selectați'; + + @override + String get profile_section_basic_sex_options_male => 'Masculin'; + + @override + String get profile_section_basic_sex_options_female => 'Femeie'; + + @override + String get profile_section_basic_sex_options_other => 'Altul'; + + @override + String get profile_section_basic_date_of_birth_label => 'Data nașterii'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Vârstă'; + + @override + String get profile_section_basic_age_str_placeholder => 'ex. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Număr de telefon'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-mail'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Locație'; + + @override + String get profile_section_basic_location_placeholder => 'ex. Oraș, Țară'; + + @override + String get profile_section_body_diet_title => 'Corp & Dietă'; + + @override + String get profile_section_body_diet_height_str_label => 'Înălțime'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'ex. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Greutate'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'ex. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Ciclu Menstrual'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'de ex. Regulat, Neregulat'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Restricții alimentare'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Vă rugăm să selectați'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Spune-ne ce mănânci și orice restricții ai'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Niciuna'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetarian'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Fără gluten'; + + @override + String get profile_section_body_diet_bmi_label => + 'Indicele de masă corporală (IMC)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'de ex. 24.5'; + + @override + String get profile_section_health_profile_title => 'Profil de sănătate'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Afecțiuni cronice'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'de exemplu, diabet zaharat de tip 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Vă rugăm să listați toate bolile cronice și să includeți când au fost diagnosticate și orice complicații.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Afecțiuni anterioare'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'de exemplu, Răceală comună frecventă'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Vă rugăm să listați bolile grave pe care le-ați avut în trecut, chiar dacă v-ați recuperat.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Antecedente chirurgicale'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'ex. Apendicectomie'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Vă rugăm să listați toate intervențiile chirurgicale și să includeți anul și dacă au existat complicații.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Medicamente Utilizate Ocazional'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'de exemplu: Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Vă rugăm să listați medicamentele pe care le luați din când în când (de exemplu: analgezice, medicamente pentru alergii), inclusiv doza și motivul utilizării.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Medicație regulată'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'de exemplu: Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Vă rugăm să listați toate medicamentele pe care le luați regulat, inclusiv numele, doza, de câte ori pe zi le luați și pentru ce afecțiune sunt.'; + + @override + String get profile_section_health_profile_allergies_label => 'Alergii'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'de exemplu: Penicilină – cauzează erupție'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Vă rugăm să listați toate alergiile (medicamente, alimente, mediu) și să descrieți ce reacție aveți (de exemplu: erupție cutanată, umflare, probleme respiratorii).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Condiții Speciale'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'de ex. Sarcină, Dizabilitate'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Dacă aveți condiții medicale importante de care medicii ar trebui să știe întotdeauna (de exemplu: sarcină, dispozitive implantate, dizabilități, terapie anticoagulantă), vă rugăm să le descrieți. Dacă nu, puteți lăsa acest câmp gol.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Antecedente familiale'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ex. boli cardiace, cancer'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Vă rugăm să descrieți bolile importante din familia dumneavoastră (de exemplu: diabet, hipertensiune, boli de inimă, cancer, boli genetice) și să specificați ce membru al familiei a avut această afecțiune.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Factori sociali și de stil de viață'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'de ex. Fumat, Consum de alcool'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Vă rugăm să descrieți factorii de stil de viață care pot afecta sănătatea dumneavoastră, cum ar fi fumatul, alcoolul, activitatea fizică, dieta, somnul și ocupația.'; + + @override + String get profile_section_health_profile_devices_label => + 'Dispozitive medicale'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'de ex. pacemaker, aparat auditiv, pompă de insulină'; + + @override + String get profile_section_health_profile_devices_hint => + 'Vă rugăm să listați orice dispozitive medicale pe care le utilizați sau le aveți implantate, cum ar fi stimulatoare cardiace, pompe de insulină, aparate auditive, proteze sau alte dispozitive de asistență sau monitorizare. Includeți detalii relevante, dacă este cazul.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Omnivor'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Fast Food'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetar'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Fără lactoză'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Dietă cu conținut scăzut de sodiu'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Dietă săracă în zahăr'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Dietă cardiacă'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Dietă renală'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Altul'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ru.dart b/example/lib/src/generated/profiles/profiles_localization_ru.dart new file mode 100644 index 0000000..f970337 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ru.dart @@ -0,0 +1,582 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Russian (`ru`). +class ProfilesLocalizationRu extends ProfilesLocalization { + ProfilesLocalizationRu([String locale = 'ru']) : super(locale); + + @override + String get chatDrawerTitle => 'Медицинские записи'; + + @override + String get chatDrawerBadgeNew => 'НОВЫЙ'; + + @override + String get bannerTitle => 'Создайте свою медицинскую карту'; + + @override + String get bannerSubtitle => + 'В конце вашей консультации добавьте свой профиль'; + + @override + String get bannerMoreProfilesTitle => 'Добавить больше профилей'; + + @override + String get bannerMoreProfilesSubtitle => + 'Начните консультацию для кого-то другого, чтобы создать их профиль'; + + @override + String get bannerSignUp => + 'Зарегистрируйтесь, чтобы создать свою медицинскую карту'; + + @override + String get errorRetryButton => 'Повторить'; + + @override + String get dashboardDeleteError => 'Не удалось удалить профиль'; + + @override + String get dashboardSummaryLoadError => 'Не удалось загрузить сводку профиля'; + + @override + String get dashboardMenuViewFullRecord => 'Просмотреть полную запись'; + + @override + String get dashboardMenuShare => 'Поделиться'; + + @override + String get dashboardMenuDelete => 'Удалить'; + + @override + String get dashboardMetricAgeLabel => 'Возраст'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value года', + one: '$value год', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Вес'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value кг'; + } + + @override + String get dashboardMetricHeightLabel => 'Рост'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value см'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'Аллергии'; + + @override + String get dashboardInfoChronicTitle => 'Хронический'; + + @override + String get dashboardInfoMedicationTitle => 'Медикаменты'; + + @override + String get dashboardInfoDevicesTitle => 'Устройства'; + + @override + String get dashboardNavigationConsultations => 'Консультации'; + + @override + String get dashboardNavigationDocuments => 'Документы'; + + @override + String get dashboardDeleteRecordTitle => 'Удалить медицинскую запись?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Это навсегда удалит ваши данные о здоровье и не может быть отменено. Вы потеряете контекст, который мы используем для вашего руководства.'; + + @override + String get dashboardDeleteRecordCancel => 'Отмена'; + + @override + String get dashboardDeleteRecordConfirm => 'Удалить'; + + @override + String get dashboardDeleteRecordLoading => + 'Удаление вашей медицинской записи...'; + + @override + String get dashboardDeleteRecordError => 'Не удалось удалить профиль'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Запись о здоровье удалена'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Вы можете создать новый в любое время, общаясь с помощником.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Вернуться в чат'; + + @override + String get dataEditingScreenTitle => 'Редактирование'; + + @override + String get dataFailedToLoadError => 'Не удалось загрузить данные профиля'; + + @override + String get dataRecordSavedTitle => 'Изменения сохранены'; + + @override + String get dataRecordSavedSubtitle => + 'Ваша информация была успешно обновлена.'; + + @override + String get dataRecordSavedButton => 'Вернуться к профилю'; + + @override + String get dataRecordUpdateError => 'Не удалось обновить данные профиля'; + + @override + String get dataRecordDiscardTitle => 'Отменить изменения?'; + + @override + String get dataRecordDiscardSubtitle => + 'Вы внесли изменения в свой профиль. Сохраните их перед тем, как уйти, или отмените.'; + + @override + String get dataRecordDiscardCancel => 'Продолжить редактирование'; + + @override + String get dataRecordDiscardConfirm => 'Отменить'; + + @override + String get dataRecordEditTooltip => 'Редактировать'; + + @override + String get dataRecordAddTag => 'Добавить запись'; + + @override + String get consultationsSearch => 'Поиск'; + + @override + String get consultationsSearchEmpty => 'Результатов не найдено'; + + @override + String get documentsMenuDownload => 'Скачать'; + + @override + String get documentsMenuShare => 'Поделиться'; + + @override + String get documentsMenuDelete => 'Удалить'; + + @override + String get documentsEmptyList => 'Документы не найдены'; + + @override + String get documentsDeleteTitle => 'Удалить этот документ?'; + + @override + String get documentsDeleteSubtitle => 'Этот файл будет удален навсегда'; + + @override + String get documentsDeleteCancel => 'Отмена'; + + @override + String get documentsDeleteButton => 'Удалить'; + + @override + String get documentsMoreActionsTooltip => 'Другие действия'; + + @override + String get profilesSearch => 'Поиск'; + + @override + String get profilesEmptyList => 'Профили не найдены'; + + @override + String get profilesViewMore => 'Показать ещё'; + + @override + String get profilesMore => ' Ещё'; + + @override + String get profilesAnnouncementTitle1 => + 'Докторина теперь помнит о вашем здоровье'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Ваши консультации теперь автоматически формируют и обновляют вашу медицинскую карту.'; + + @override + String get profilesAnnouncementTitle2 => + 'Ваша медицинская карта, ваши правила'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Просматривайте, редактируйте или добавляйте симптомы, лекарства, историю или документы в любое время'; + + @override + String get profilesAnnouncementTitle3 => 'Заботьтесь о всей вашей семье'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Создайте медицинскую карту для своих близких, детей, родителей или партнера.'; + + @override + String get profilesAnnouncementTitle4 => + 'Готовы сохранить вашу медицинскую карту?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'После консультации нажмите «Добавить профиль», чтобы сохранить его.'; + + @override + String get profilesNextButton => 'Далее'; + + @override + String get profilesStartButton => 'Начать консультацию'; + + @override + String get profilesLaterButton => 'Может быть позже'; + + @override + String get profileSuccessCloseButton => 'Закрыть'; + + @override + String get pdfHeaderTitle => 'Медицинская карта'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Медицинская карта — $name'; + } + + @override + String get expandableFieldMore => '...больше'; + + @override + String get expandableFieldLess => '...меньше'; + + @override + String get profiles_button_addnew => 'Добавить профиль'; + + @override + String get profiles_label_addnew => + 'Создайте профиль, чтобы сохранить данные этой консультации.'; + + @override + String get profiles_label_health_records_hint => + 'Вы можете в любое время оценить это в своих медицинских записях'; + + @override + String get profiles_label_keep_talking_hint => + 'Если у вас есть ещё вопросы по этому или по смежным темам, не стесняйтесь продолжать общение со мной. Я здесь, чтобы помочь'; + + @override + String get profile_section_basic_title => 'Общая информация'; + + @override + String get profile_section_basic_name_label => 'Имя'; + + @override + String get profile_section_basic_name_placeholder => 'Иван Иванов'; + + @override + String get profile_section_basic_first_name_label => 'Имя'; + + @override + String get profile_section_basic_first_name_placeholder => 'Иван'; + + @override + String get profile_section_basic_last_name_label => 'Фамилия'; + + @override + String get profile_section_basic_last_name_placeholder => 'Иванов'; + + @override + String get profile_section_basic_sex_label => 'Пол'; + + @override + String get profile_section_basic_sex_placeholder => 'Выберите'; + + @override + String get profile_section_basic_sex_options_male => 'Мужской'; + + @override + String get profile_section_basic_sex_options_female => 'Женский'; + + @override + String get profile_section_basic_sex_options_other => 'Другое'; + + @override + String get profile_section_basic_date_of_birth_label => 'Дата рождения'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'ГГГГ-ММ-ДД'; + + @override + String get profile_section_basic_age_str_label => 'Возраст'; + + @override + String get profile_section_basic_age_str_placeholder => 'например, 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Номер телефона'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Электронная почта'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Местоположение'; + + @override + String get profile_section_basic_location_placeholder => + 'напр. Город, Страна'; + + @override + String get profile_section_body_diet_title => 'Тело и питание'; + + @override + String get profile_section_body_diet_height_str_label => 'Рост'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'например, 180 см'; + + @override + String get profile_section_body_diet_weight_str_label => 'Вес'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'напр. 75 кг'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Менструальный цикл'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'например регулярный'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Ограничения в питании'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Пожалуйста, выберите'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Сообщите нам, что вы едите и какие у вас есть ограничения'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Нет'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Вегетарианец'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Веган'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Без глютена'; + + @override + String get profile_section_body_diet_bmi_label => 'Индекс массы тела (ИМТ)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'напр. 24,5'; + + @override + String get profile_section_health_profile_title => 'Профиль здоровья'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Хронические заболевания'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'например диабет 2 типа'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Пожалуйста, укажите все хронические заболевания, а также дату их диагностики и любые осложнения'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Перенесённые заболевания'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'например частые простуды'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Пожалуйста, укажите серьезные заболевания, которые у вас были в прошлом, даже если вы выздоровели'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Хирургический анамнез'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'например аппендэктомия'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Пожалуйста, перечислите все операции и укажите год, а также были ли какие-либо осложнения'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Редко используемые лекарства'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'например Ибупрофен'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Пожалуйста, укажите лекарства, которые вы принимаете время от времени (например: обезболивающие, аллергические препараты), включая дозу и причину использования'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Регулярные препараты'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'например Метформин'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Пожалуйста, укажите все лекарства, которые вы принимаете регулярно, включая название, дозу, сколько раз в день вы их принимаете и для какого состояния они предназначены.'; + + @override + String get profile_section_health_profile_allergies_label => 'Аллергии'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'например Пенициллин'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Пожалуйста, укажите все аллергии (лекарства, продукты, окружающая среда) и опишите, какая реакция у вас возникает (например: сыпь, отек, проблемы с дыханием).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Особые состояния здоровья'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'например беременность'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Если у вас есть какие-либо важные медицинские состояния, о которых врачи всегда должны знать (например: беременность, имплантированные устройства, инвалидность, терапия антикоагулянтами), пожалуйста, опишите их. Если нет, вы можете оставить это поле пустым.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Семейный анамнез'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'например болезнь сердца'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Пожалуйста, опишите важные заболевания в вашей семье (например: диабет, гипертония, сердечно-сосудистые заболевания, рак, генетические заболевания) и укажите, у какого члена семьи была эта болезнь.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Социальные и связанные с образом жизни факторы'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'например курение'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Пожалуйста, опишите факторы образа жизни, которые могут повлиять на ваше здоровье, такие как курение, алкоголь, физическая активность, диета, сон и профессия.'; + + @override + String get profile_section_health_profile_devices_label => + 'Медицинские устройства'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'например кардиостимулятор'; + + @override + String get profile_section_health_profile_devices_hint => + 'Пожалуйста, укажите любые медицинские устройства, которые вы используете или которые у вас имплантированы, такие как кардиостимуляторы, инсулиновые помпы, слуховые аппараты, протезы или другие вспомогательные или мониторинговые устройства. Укажите соответствующие детали, если это применимо.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Всеядный'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Фастфуд'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Пескетарианец'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Без лактозы'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Низкосолевая диета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Низкосахарная диета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Кардиологическая диета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Почечная диета'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Другое'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_si.dart b/example/lib/src/generated/profiles/profiles_localization_si.dart new file mode 100644 index 0000000..a702388 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_si.dart @@ -0,0 +1,575 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Sinhala Sinhalese (`si`). +class ProfilesLocalizationSi extends ProfilesLocalization { + ProfilesLocalizationSi([String locale = 'si']) : super(locale); + + @override + String get chatDrawerTitle => 'සෞඛ්‍ය වාර්තා'; + + @override + String get chatDrawerBadgeNew => 'නව'; + + @override + String get bannerTitle => 'ඔබේ සෞඛ්‍ය වාර්තාව සාදන්න'; + + @override + String get bannerSubtitle => + 'ඔබේ උපදේශනය අවසන් වූ විට, ඔබේ පැතිකඩ එකතු කරන්න.'; + + @override + String get bannerMoreProfilesTitle => 'තවත් පැතිකඩ එකතු කරන්න'; + + @override + String get bannerMoreProfilesSubtitle => + 'අනෙක් අයෙකුට ඔවුන්ගේ පැතිකඩක් සාදන්න උපදේශනයක් ආරම්භ කරන්න.'; + + @override + String get bannerSignUp => + 'ඔබේ සෞඛ්‍ය වාර්තාව නිර්මාණය කිරීමට ලියාපදිංචි වන්න'; + + @override + String get errorRetryButton => 'නැවත උත්සාහ කරන්න'; + + @override + String get dashboardDeleteError => 'පැතිකඩ මකන්න අසාර්ථකයි'; + + @override + String get dashboardSummaryLoadError => 'පැතිකඩ සාරාංශය ලැබීමට අසමත් විය'; + + @override + String get dashboardMenuViewFullRecord => 'සම්පූර්ණ වාර්තාව බලන්න'; + + @override + String get dashboardMenuShare => 'බෙදා ගන්න'; + + @override + String get dashboardMenuDelete => 'මකන්න'; + + @override + String get dashboardMetricAgeLabel => 'වයස'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value වසරන්', + one: '$value වසර', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'බර'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'ඉස'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'ඇලර්ජි'; + + @override + String get dashboardInfoChronicTitle => 'ක්‍රොනික්'; + + @override + String get dashboardInfoMedicationTitle => 'මැදිරිය'; + + @override + String get dashboardInfoDevicesTitle => 'උපාංග'; + + @override + String get dashboardNavigationConsultations => 'සම්මුඛ සාකච්ඡා'; + + @override + String get dashboardNavigationDocuments => 'เอกสาร'; + + @override + String get dashboardDeleteRecordTitle => 'සෞඛ්‍ය වාර්තාව මකන්නද?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'මෙය ඔබගේ සෞඛ්‍ය දත්ත ස්ථිරවම ඉවත් කරනු ඇත සහ නැවත කිරීමට නොහැක. ඔබට අපි ඔබට මාර්ගෝපදේශය ලබා දීමට භාවිතා කරන පසුබැසීම අහිමි වේ.'; + + @override + String get dashboardDeleteRecordCancel => 'අවලංගු කරන්න'; + + @override + String get dashboardDeleteRecordConfirm => 'මකන්න'; + + @override + String get dashboardDeleteRecordLoading => 'ඔබගේ සෞඛ්‍ය වාර්තාව මකමින්...'; + + @override + String get dashboardDeleteRecordError => 'පැතිකඩ මකන්න බැරි විය'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'සෞඛ්‍ය වාර්තාව මකන ලදී'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'ඔබට සහකාරයා සමඟ කතා කිරීමෙන් ඕනෑම වේලාවක නවයක් සාදන්න පුළුවන්.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'චැට්ටට ආපසු යන්න'; + + @override + String get dataEditingScreenTitle => 'සංස්කරණය'; + + @override + String get dataFailedToLoadError => 'පැතිකඩ දත්ත ආරම්භ කිරීමට නොහැකි විය'; + + @override + String get dataRecordSavedTitle => 'වෙනස්කම් සුරකින්නා ලදී'; + + @override + String get dataRecordSavedSubtitle => + 'ඔබගේ තොරතුරු සාර්ථකව යාවත්කාලීන කර ඇත.'; + + @override + String get dataRecordSavedButton => 'පැතිකඩට ආපසු යන්න'; + + @override + String get dataRecordUpdateError => 'පැතිකඩ දත්ත යාවත්කාලීන කිරීමට අසමත් විය'; + + @override + String get dataRecordDiscardTitle => 'වෙනස්කම් අහෝසි කරන්නද?'; + + @override + String get dataRecordDiscardSubtitle => + 'ඔබේ පැතිකඩට කිහිපයක් වෙනස්කම් කළා. ඔබ යන්නට පෙර ඒවා සුරකින්න, නැතහොත් අහෝසි කරන්න.'; + + @override + String get dataRecordDiscardCancel => 'සංස්කරණය කරමින් තබන්න'; + + @override + String get dataRecordDiscardConfirm => 'අහෝසි කරන්න'; + + @override + String get dataRecordEditTooltip => 'සංස්කරණය'; + + @override + String get dataRecordAddTag => 'සටහන එකතු කරන්න'; + + @override + String get consultationsSearch => 'සොයන්න'; + + @override + String get consultationsSearchEmpty => 'ප්‍රතිඵල කිසිවක් නොමැත'; + + @override + String get documentsMenuDownload => 'බාගත කරන්න'; + + @override + String get documentsMenuShare => 'බෙදා ගන්න'; + + @override + String get documentsMenuDelete => 'මකන්න'; + + @override + String get documentsEmptyList => 'ලේඛන කිසිවක් හමු වුනේ නැහැ'; + + @override + String get documentsDeleteTitle => 'මෙම ලේඛනය මකන්නද?'; + + @override + String get documentsDeleteSubtitle => 'මෙම ගොනුව ස්ථිරවම ඉවත් කෙරේ'; + + @override + String get documentsDeleteCancel => 'අවලංගු කරන්න'; + + @override + String get documentsDeleteButton => 'මකන්න'; + + @override + String get documentsMoreActionsTooltip => 'තවත් ක්‍රියා'; + + @override + String get profilesSearch => 'සොයන්න'; + + @override + String get profilesEmptyList => 'පැතිකඩ කිසිවක් හමු නොවීය'; + + @override + String get profilesViewMore => 'තවත් බලන්න'; + + @override + String get profilesMore => 'තවත්'; + + @override + String get profilesAnnouncementTitle1 => 'ඩොක්ටර්නා ඔබේ සෞඛ්‍යය මතක තබා ගනී'; + + @override + String get profilesAnnouncementSubtitle1 => + 'ඔබගේ උපදේශන දැන් ඔබේ සෞඛ්‍ය වාර්තාව ස්වයංක්‍රීයව නිර්මාණය සහ යාවත්කාලීන කරයි.'; + + @override + String get profilesAnnouncementTitle2 => 'ඔබගේ සෞඛ්‍ය වාර්තාව, ඔබගේ නීති'; + + @override + String get profilesAnnouncementSubtitle2 => + 'සම්පූර්ණ ලක්ෂණ, ඖෂධ, ඉතිහාසය හෝ ලේඛන ඕනෑම වේලාවක බලන්න, සංස්කරණය කරන්න හෝ එක් කරන්න.'; + + @override + String get profilesAnnouncementTitle3 => 'ඔබේ පවුලේ සම්පූර්ණය සඳහා සත්කාරය'; + + @override + String get profilesAnnouncementSubtitle3 => + 'ඔබේ ආදරණීයයන්, ඔබේ දරුවන්, දෙමාපියන් හෝ සහකරු සඳහා සෞඛ්‍ය වාර්තාවක් සාදන්න.'; + + @override + String get profilesAnnouncementTitle4 => + 'ඔබේ සෞඛ්‍ය වාර්තාව සුරක්ෂිත කර ගැනීමට සූදානම්ද?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'ඔබේ උපදේශනයෙන් පසු, එය සුරකින්න \"ප්‍රොෆයිල් එකක් එක් කරන්න\" යන්න ඔබන්න.'; + + @override + String get profilesNextButton => 'ඊළඟ'; + + @override + String get profilesStartButton => 'සංවාදයක් ආරම්භ කරන්න'; + + @override + String get profilesLaterButton => 'පසුව විය හැක'; + + @override + String get profileSuccessCloseButton => 'අවසන් කරන්න'; + + @override + String get pdfHeaderTitle => 'සෞඛ්‍ය වාර්තාව'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'සෞඛ්‍ය වාර්තාව — $name'; + } + + @override + String get expandableFieldMore => '...වැඩිදුර'; + + @override + String get expandableFieldLess => '...අඩු'; + + @override + String get profiles_button_addnew => 'නව පැතිකඩක් එක් කරන්න'; + + @override + String get profiles_label_addnew => + 'මෙම උපදේශනයේ විස්තර සුරකින්න පරීක්ෂණයක් සාදන්න.'; + + @override + String get profiles_label_health_records_hint => + 'ඔබට ඕනෑම වේලාවක ඔබගේ සෞඛ්‍ය වාර්තා තුළ එය ඇගයිය හැක'; + + @override + String get profiles_label_keep_talking_hint => + 'මෙම ගැන හෝ ඒ සම්බන්ධ ඕනෑම දෙයක් පිළිබඳ ඔබට තවත් ප්‍රශ්න තිබේ නම්, නිදහසේ මට සමඟ කතා කරගෙන යන්න. මම උදව් කිරීමට මෙහි සිටිමි'; + + @override + String get profile_section_basic_title => 'සාමාන්‍ය තොරතුරු'; + + @override + String get profile_section_basic_name_label => 'නම'; + + @override + String get profile_section_basic_name_placeholder => 'ජෝන් ඩෝ'; + + @override + String get profile_section_basic_first_name_label => 'මුල් නම'; + + @override + String get profile_section_basic_first_name_placeholder => 'ජෝන්'; + + @override + String get profile_section_basic_last_name_label => 'අවසන් නම'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'ලිංගය'; + + @override + String get profile_section_basic_sex_placeholder => 'කරුණාකර තෝරන්න'; + + @override + String get profile_section_basic_sex_options_male => 'පුරුෂ'; + + @override + String get profile_section_basic_sex_options_female => 'කාන්තා'; + + @override + String get profile_section_basic_sex_options_other => 'වෙනත්'; + + @override + String get profile_section_basic_date_of_birth_label => 'උපන් දිනය'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'වයස'; + + @override + String get profile_section_basic_age_str_placeholder => 'උදාහරණයක්: 30'; + + @override + String get profile_section_basic_phonenumber_label => 'දුරකථන අංකය'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ඊමේල්'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'ස්ථානය'; + + @override + String get profile_section_basic_location_placeholder => 'උදා: නගරය, රට'; + + @override + String get profile_section_body_diet_title => 'ශරීරය & ආහාරය'; + + @override + String get profile_section_body_diet_height_str_label => 'උස'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'උදා: 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'බර'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'උදාහරණයක්: 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'මාසික චක්‍රය'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'උදා: සාමාන්‍ය, අසාමාන්‍ය'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'ආහාර සීමා'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'කරුණාකර තෝරන්න'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'ඔබ කුමක් කාමැතිද සහ ඔබට ඇති සීමා පිළිබඳ අපට දන්වන්න'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'කිසිවක් නැත'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'ශාකහාරී'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'වීගන්'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'ග්ලූටන් රහිත'; + + @override + String get profile_section_body_diet_bmi_label => 'ශරීර බර දර්ශකය (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'උදාහරණය: 24.5'; + + @override + String get profile_section_health_profile_title => 'සෞඛ්‍ය පැතිකඩ'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'දිගුකාලීන රෝග'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'උදාහරණයක් ලෙස, දියවැඩියාව වර්ගය 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'කරුණාකර සියලුම දීර්ඝකාලීන රෝග ලැයිස්තුගත කරන්න සහ එම රෝග ආසාදනය වූ කාලය සහ ඕනෑම අපහසුතා ඇතුළත් කරන්න.'; + + @override + String get profile_section_health_profile_past_illnesses_label => 'පෙර රෝග'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'උදාහරණයක් ලෙස. නිතරම සාමාන්‍ය සීතල'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'කරුණාකර ඔබට තිබූ දැඩි රෝග ලැයිස්තුගත කරන්න, ඔබ සුවය ලබා ගත්වත්.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'ශල්‍ය ඉතිහාසය'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'උදාහරණයක් ලෙස ඇපෙන්ඩික්ස් ඉවත් කිරීම'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'කරුණාකර සියලුම ශල්‍යකර්ම ලැයිස්තුගත කරන්න සහ වසර සහ කිසිදු අපහසුතා තිබේද යන්න ඇතුළත් කරන්න.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'කලකට කලකට භාවිතා කරන ඖෂධ'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'ඉබුප්‍රොෆෙන්'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'කරුණාකර ඔබ භාවිතා කරන ඖෂධ ලැයිස්තුගත කරන්න, සමහර විට (උදාහරණයක් ලෙස: වේදනා නිවාරණ, ආලර්ජි ඖෂධ), ඖෂධයේ මාත්‍රාව සහ භාවිතය සඳහා හේතුව ඇතුළුව.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'නිතර ගන්නා ඖෂධ'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'උදාහරණයක් ලෙස: මැට්ෆෝර්මින්'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'කරුණාකර ඔබ නිතර ගන්නා ඖෂධ සියල්ල ලිස්තුගත කරන්න, නම, ඖෂධ ප්‍රමාණය, දිනයට කී වතාවක් ගන්නා බව සහ එය කුමන රෝගයක් සඳහාද යන්න ඇතුළත් කරන්න.'; + + @override + String get profile_section_health_profile_allergies_label => 'ඇලර්ජි'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'උදාහරණයක්: පෙනිසිලින් - රැස්සක් ඇති කරයි'; + + @override + String get profile_section_health_profile_allergies_hint => + 'කරුණාකර සියලුම ආසාදන (මැදිකම්, ආහාර, පාරිසරික) ලිස්තුගත කරන්න, සහ ඔබට ඇති ප්‍රතික්‍රියාව විස්තර කරන්න (උදාහරණයක් ලෙස: රැස්, පූර්ණත්වය, ශාසන ගැටළු).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'විශේෂ තත්ත්වයන්'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'උදාහරණ: ගැබවීම, විකලතාව'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'ඔබට වෛද්‍යවරුන්ට සෑම විටම දැනුවත් විය යුතු වැදගත් වෛද්‍ය තත්ව කිහිපයක් තිබේ නම් (උදාහරණයක් ලෙස: ගැබිණි බව, ආසන්න උපාංග, අසමත්තා, ඇන්ටිකෝගුලේෂන් ප්‍රතිකාර), කරුණාකර ඒවා විස්තර කරන්න. කිසිවක් නැතිනම්, ඔබට මෙය හිස් තබා ගත හැක.'; + + @override + String get profile_section_health_profile_family_history_label => + 'පවුල් ඉතිහාසය'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'උදාහරණයක් ලෙස හෘද රෝග, කැන්සර්'; + + @override + String get profile_section_health_profile_family_history_hint => + 'කරුණාකර ඔබේ පවුලේ වැදගත් රෝග විස්තර කරන්න (උදාහරණයක් ලෙස: සීනි රෝගය, රුධිර පීඩනය, හෘද රෝගය, කාන්සර්, ජානික රෝග) සහ කුමන පවුලේ සාමාජිකයෙකුට මෙම රෝගය තිබුණේද යන්න සඳහන් කරන්න.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'සමාජ හා ජීවන ශෛලී සාධක'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'උදාහරණ ලෙස දුම්පානය, මත්පැන් පරිභෝජනය'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'ඔබගේ සෞඛ්‍යය බලපාන ජීවන රටාවන්, දුම්පානය, මත්පැන්, ශාරීරික ක්‍රියාකාරකම්, ආහාර, නිදා ගැනීම සහ වෘත්තිය වැනි කරුණු විස්තර කරන්න.'; + + @override + String get profile_section_health_profile_devices_label => 'වෛද්‍ය උපකරණ'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'උදාහරණයක් ලෙස Pacemaker, Hearing aid, Insulin pump'; + + @override + String get profile_section_health_profile_devices_hint => + 'ඔබ භාවිතා කරන හෝ ආසන්නව ඇති වෛද්‍ය උපකරණ, පේස්මේකර්, ඉන්සුලින් පම්ප්, ඇස සවන් උපකරණ, ප්‍රොස්තිතික් හෝ අනෙකුත් සහයෝගී හෝ නිරීක්ෂණ උපකරණ වැනි දේ ලිස්තුගත කරන්න. අදාළ විස්තර ඇතුළත් කරන්න.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'සියලු ආහාර භක්ෂක'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ෆාස්ට් ෆුඩ්'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'පෙස්කටේරියන්'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'ලැක්ටෝස් රහිත'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'අඩු සෝඩියම් ආහාර'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'අඩු සීනි ආහාර'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'හෘද ආහාර'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'වෘක්ක ආහාර'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'වෙනත්'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_sk.dart b/example/lib/src/generated/profiles/profiles_localization_sk.dart new file mode 100644 index 0000000..a62d061 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_sk.dart @@ -0,0 +1,583 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Slovak (`sk`). +class ProfilesLocalizationSk extends ProfilesLocalization { + ProfilesLocalizationSk([String locale = 'sk']) : super(locale); + + @override + String get chatDrawerTitle => 'Zdravotné záznamy'; + + @override + String get chatDrawerBadgeNew => 'NOVÉ'; + + @override + String get bannerTitle => 'Vytvorte si zdravotný záznam'; + + @override + String get bannerSubtitle => 'Na konci konzultácie pridajte svoj profil.'; + + @override + String get bannerMoreProfilesTitle => 'Pridať viac profilov'; + + @override + String get bannerMoreProfilesSubtitle => + 'Začnite konzultáciu pre niekoho iného, aby si vytvoril svoj profil.'; + + @override + String get bannerSignUp => + 'Zaregistrujte sa a vytvorte si svoj Zdravotný záznam'; + + @override + String get errorRetryButton => 'Skúsiť znova'; + + @override + String get dashboardDeleteError => 'Nepodarilo sa zmazať profil'; + + @override + String get dashboardSummaryLoadError => 'Nepodarilo sa načítať súhrn profilu'; + + @override + String get dashboardMenuViewFullRecord => 'Zobraziť celý záznam'; + + @override + String get dashboardMenuShare => 'Zdieľať'; + + @override + String get dashboardMenuDelete => 'Zmazať'; + + @override + String get dashboardMetricAgeLabel => 'Vek'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value rokov', + one: '$value rok', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Hmotnosť'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Výška'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Alergie'; + + @override + String get dashboardInfoChronicTitle => 'Chronické'; + + @override + String get dashboardInfoMedicationTitle => 'Lieky'; + + @override + String get dashboardInfoDevicesTitle => 'Zariadenia'; + + @override + String get dashboardNavigationConsultations => 'Konzultácie'; + + @override + String get dashboardNavigationDocuments => 'Dokumenty'; + + @override + String get dashboardDeleteRecordTitle => 'Zmazať zdravotný záznam?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Toto trvalo odstráni vaše zdravotné údaje a nemožno to vrátiť späť. Stratíte kontext, ktorý používame na to, aby sme vás usmerňovali.'; + + @override + String get dashboardDeleteRecordCancel => 'Zrušiť'; + + @override + String get dashboardDeleteRecordConfirm => 'Zmazať'; + + @override + String get dashboardDeleteRecordLoading => + 'Odstraňujem váš zdravotný záznam...'; + + @override + String get dashboardDeleteRecordError => 'Nepodarilo sa odstrániť profil'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'Zdravotný záznam bol odstránený'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Nový môžete vytvoriť kedykoľvek tak, že sa porozprávate s asistentom.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Návrat do chatu'; + + @override + String get dataEditingScreenTitle => 'Úprava'; + + @override + String get dataFailedToLoadError => 'Nepodarilo sa načítať profilové údaje'; + + @override + String get dataRecordSavedTitle => 'Zmeny uložené'; + + @override + String get dataRecordSavedSubtitle => + 'Vaše informácie boli úspešne aktualizované.'; + + @override + String get dataRecordSavedButton => 'Návrat na profil'; + + @override + String get dataRecordUpdateError => + 'Nepodarilo sa aktualizovať údaje profilu'; + + @override + String get dataRecordDiscardTitle => 'Zahodiť zmeny?'; + + @override + String get dataRecordDiscardSubtitle => + 'Urobili ste niektoré zmeny vo svojom profile. Uložte ich pred odchodom alebo ich zahoďte.'; + + @override + String get dataRecordDiscardCancel => 'Pokračovať v úprave'; + + @override + String get dataRecordDiscardConfirm => 'Zahodiť'; + + @override + String get dataRecordEditTooltip => 'Upraviť'; + + @override + String get dataRecordAddTag => 'Pridať záznam'; + + @override + String get consultationsSearch => 'Hľadať'; + + @override + String get consultationsSearchEmpty => 'Nenašli sa žiadne výsledky'; + + @override + String get documentsMenuDownload => 'Stiahnuť'; + + @override + String get documentsMenuShare => 'Zdieľať'; + + @override + String get documentsMenuDelete => 'Zmazať'; + + @override + String get documentsEmptyList => 'Nenašli sa žiadne dokumenty'; + + @override + String get documentsDeleteTitle => 'Zmazať tento dokument?'; + + @override + String get documentsDeleteSubtitle => 'Tento súbor bude trvalo odstránený'; + + @override + String get documentsDeleteCancel => 'Zrušiť'; + + @override + String get documentsDeleteButton => 'Zmazať'; + + @override + String get documentsMoreActionsTooltip => 'Ďalšie akcie'; + + @override + String get profilesSearch => 'Hľadať'; + + @override + String get profilesEmptyList => 'Nenašli sa žiadne profily'; + + @override + String get profilesViewMore => 'Zobraziť viac'; + + @override + String get profilesMore => 'Viac'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina si teraz pamätá vaše zdravie'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Vaše konzultácie teraz automaticky vytvárajú a aktualizujú váš Zdravotný záznam.'; + + @override + String get profilesAnnouncementTitle2 => + 'Vaša zdravotná dokumentácia, vaše pravidlá'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Zobrazte, upravte alebo pridajte symptómy, lieky, históriu alebo dokumenty kedykoľvek.'; + + @override + String get profilesAnnouncementTitle3 => 'Starostlivosť o celú rodinu'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Vytvorte zdravotný záznam pre svojich blízkych, deti, rodičov alebo partnera.'; + + @override + String get profilesAnnouncementTitle4 => + 'Pripravení uložiť svoj zdravotný záznam?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Po vašej konzultácii ťuknite na „Pridať profil“, aby ste ho uložili.'; + + @override + String get profilesNextButton => 'Ďalší'; + + @override + String get profilesStartButton => 'Začať konzultáciu'; + + @override + String get profilesLaterButton => 'Možno neskôr'; + + @override + String get profileSuccessCloseButton => 'Zavrieť'; + + @override + String get pdfHeaderTitle => 'Zdravotná dokumentácia'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Zdravotný záznam — $name'; + } + + @override + String get expandableFieldMore => '...viac'; + + @override + String get expandableFieldLess => '...menej'; + + @override + String get profiles_button_addnew => 'Pridať nový profil'; + + @override + String get profiles_label_addnew => + 'Vytvorte profil na uloženie podrobností o tejto konzultácii'; + + @override + String get profiles_label_health_records_hint => + 'Môžete to kedykoľvek posúdiť vo vašich Health Records'; + + @override + String get profiles_label_keep_talking_hint => + 'Ak máte ďalšie otázky o tomto alebo o čomkoľvek súvisiacom, kľudne sa so mnou ďalej porozprávajte. Som tu, aby som pomohol'; + + @override + String get profile_section_basic_title => 'Všeobecné Informácie'; + + @override + String get profile_section_basic_name_label => 'Meno'; + + @override + String get profile_section_basic_name_placeholder => 'Ján Novák'; + + @override + String get profile_section_basic_first_name_label => 'Krstné meno'; + + @override + String get profile_section_basic_first_name_placeholder => 'Ján'; + + @override + String get profile_section_basic_last_name_label => 'Priezvisko'; + + @override + String get profile_section_basic_last_name_placeholder => 'Novák'; + + @override + String get profile_section_basic_sex_label => 'Pohlavie'; + + @override + String get profile_section_basic_sex_placeholder => 'Vyberte'; + + @override + String get profile_section_basic_sex_options_male => 'Muž'; + + @override + String get profile_section_basic_sex_options_female => 'Žena'; + + @override + String get profile_section_basic_sex_options_other => 'Iné'; + + @override + String get profile_section_basic_date_of_birth_label => 'Dátum narodenia'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Vek'; + + @override + String get profile_section_basic_age_str_placeholder => 'napr. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Telefónne číslo'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-mail'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Miesto'; + + @override + String get profile_section_basic_location_placeholder => + 'napr. Mesto, Krajina'; + + @override + String get profile_section_body_diet_title => 'Telo & Strava'; + + @override + String get profile_section_body_diet_height_str_label => 'Výška'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'napr. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Hmotnosť'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'napr. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Menštruačný cyklus'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'napr. Pravidelný, Nepravidelný'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Stravovacie obmedzenia'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Vyberte'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Dajte nám vedieť, čo jete a aké obmedzenia máte'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Žiadne'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetarián'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegán'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Bez lepku'; + + @override + String get profile_section_body_diet_bmi_label => + 'Index telesnej hmotnosti (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'napr. 24,5'; + + @override + String get profile_section_health_profile_title => 'Zdravotný profil'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Chronické ochorenia'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'napr. Diabetes typu 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Uveďte všetky chronické ochorenia a zahrňte, kedy boli diagnostikované a akékoľvek komplikácie.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Predchádzajúce ochorenia'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'napr. časté prechladnutie'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Prosím, uveďte vážne ochorenia, ktoré ste mali v minulosti, aj keď ste sa uzdravili'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Chirurgická anamnéza'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'napr. Apendektómia'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Prosím, uveďte všetky operácie a zahrňte rok a či došlo k nejakým komplikáciám.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Príležitostne užívané lieky'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'napr. Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Prosím, uveďte lieky, ktoré užívate občas (napríklad: lieky proti bolesti, alergické lieky), vrátane dávky a dôvodu použitia.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Pravidelné lieky'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'napr. Metformín'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Prosím, uveďte všetky lieky, ktoré pravidelne užívate, vrátane názvu, dávky, koľkokrát denne ich užívate a na akú chorobu sú.'; + + @override + String get profile_section_health_profile_allergies_label => 'Alergie'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'napr. penicilín – spôsobuje vyrážku'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Prosím, uveďte všetky alergie (lieky, jedlo, prostredie) a popíšte, akú reakciu máte (napríklad: vyrážka, opuch, problémy s dýchaním).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Špeciálne Zdravotné Stavy'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'napr. Tehotenstvo, Postihnutie'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Ak máte akékoľvek dôležité zdravotné ťažkosti, o ktorých by mali lekári vždy vedieť (napríklad: tehotenstvo, implantované zariadenia, postihnutia, antikoagulačná terapia), prosím, popíšte ich. Ak nemáte žiadne, môžete to nechať prázdne.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Rodinná anamnéza'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'napr. srdcové choroby, rakovina'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Prosím, popíšte dôležité choroby vo vašej rodine (napríklad: cukrovka, hypertenzia, srdcové choroby, rakovina, genetické choroby) a uveďte, ktorý rodinný príslušník mal daný stav.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Sociálne & Faktory Životného Štýlu'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'napr. fajčenie, konzumácia alkoholu'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Prosím, popíšte faktory životného štýlu, ktoré môžu ovplyvniť vaše zdravie, ako sú fajčenie, alkohol, fyzická aktivita, strava, spánok a zamestnanie.'; + + @override + String get profile_section_health_profile_devices_label => + 'Zdravotnícke pomôcky'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'napr. kardiostimulátor, sluchadlo, inzulínová pumpa'; + + @override + String get profile_section_health_profile_devices_hint => + 'Prosím, uveďte akékoľvek lekárske zariadenia, ktoré používate alebo máte implantované, ako sú kardiostimulátory, inzulínové pumpy, sluchadlá, protézy alebo iné asistenčné alebo monitorovacie zariadenia. Zahrňte relevantné podrobnosti, ak je to možné.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Všežravý'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Rýchle občerstvenie'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescetarián'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Bez laktózy'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Nízkosodíková diéta'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Diéta s nízkym obsahom cukru'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Diéta pri srdcovom ochorení'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Renálna diéta'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Iné'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_sw.dart b/example/lib/src/generated/profiles/profiles_localization_sw.dart new file mode 100644 index 0000000..66327c3 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_sw.dart @@ -0,0 +1,580 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Swahili (`sw`). +class ProfilesLocalizationSw extends ProfilesLocalization { + ProfilesLocalizationSw([String locale = 'sw']) : super(locale); + + @override + String get chatDrawerTitle => 'Rekodi za Afya'; + + @override + String get chatDrawerBadgeNew => 'MPYA'; + + @override + String get bannerTitle => 'Unda afya yako'; + + @override + String get bannerSubtitle => 'Mwisho wa ushauri wako, ongeza wasifu wako.'; + + @override + String get bannerMoreProfilesTitle => 'Ongeza zaidi ya wasifu'; + + @override + String get bannerMoreProfilesSubtitle => + 'Anza ushauri kwa mtu mwingine ili kuunda wasifu wao.'; + + @override + String get bannerSignUp => 'Jisajili ili uunde Rekodi Yako ya Afya'; + + @override + String get errorRetryButton => 'Jaribu tena'; + + @override + String get dashboardDeleteError => 'Imeshindikana kufuta wasifu'; + + @override + String get dashboardSummaryLoadError => + 'Imeshindikana kupakia muhtasari wa wasifu'; + + @override + String get dashboardMenuViewFullRecord => 'Tazama Rekodi Kamili'; + + @override + String get dashboardMenuShare => 'Shiriki'; + + @override + String get dashboardMenuDelete => 'Futa'; + + @override + String get dashboardMetricAgeLabel => 'Umri'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value miaka', + one: '$value mwaka', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Uzito'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Kimo'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Allergies'; + + @override + String get dashboardInfoChronicTitle => 'Kisukari'; + + @override + String get dashboardInfoMedicationTitle => 'Dawa'; + + @override + String get dashboardInfoDevicesTitle => 'Vifaa'; + + @override + String get dashboardNavigationConsultations => 'Mikutano'; + + @override + String get dashboardNavigationDocuments => 'Nyaraka'; + + @override + String get dashboardDeleteRecordTitle => 'Futa Rekodi ya Afya?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Hii itafuta kabisa data zako za afya na haiwezi kurekebishwa. Utapoteza muktadha tunaoutumia kukuelekeza.'; + + @override + String get dashboardDeleteRecordCancel => 'Ghairi'; + + @override + String get dashboardDeleteRecordConfirm => 'Futa'; + + @override + String get dashboardDeleteRecordLoading => 'Inafuta rekodi yako ya afya...'; + + @override + String get dashboardDeleteRecordError => 'Imeshindikana kufuta profaili'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Rekodi ya afya imefutwa'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Unaweza kuunda mpya wakati wowote kwa kuzungumza na msaidizi.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Rudi kwenye Mazungumzo'; + + @override + String get dataEditingScreenTitle => 'Kuhariri'; + + @override + String get dataFailedToLoadError => 'Imeshindikana kupakia data ya wasifu'; + + @override + String get dataRecordSavedTitle => 'Mabadiliko yamehifadhiwa'; + + @override + String get dataRecordSavedSubtitle => 'Taarifa zako zimefanikiwa kusasishwa.'; + + @override + String get dataRecordSavedButton => 'Rudi kwenye wasifu'; + + @override + String get dataRecordUpdateError => 'Imeshindikana kusasisha data za wasifu'; + + @override + String get dataRecordDiscardTitle => 'Tupa mabadiliko?'; + + @override + String get dataRecordDiscardSubtitle => + 'Umefanya mabadiliko kadhaa kwenye wasifu wako. Hifadhi kabla hujaondoka, au futa.'; + + @override + String get dataRecordDiscardCancel => 'Endelea kuhariri'; + + @override + String get dataRecordDiscardConfirm => 'Tupa'; + + @override + String get dataRecordEditTooltip => 'Hariri'; + + @override + String get dataRecordAddTag => 'Ongeza rekodi'; + + @override + String get consultationsSearch => 'Tafuta'; + + @override + String get consultationsSearchEmpty => 'Hakuna matokeo yaliyopatikana'; + + @override + String get documentsMenuDownload => 'Pakua'; + + @override + String get documentsMenuShare => 'Shiriki'; + + @override + String get documentsMenuDelete => 'Futa'; + + @override + String get documentsEmptyList => 'Hakuna hati zilizopatikana'; + + @override + String get documentsDeleteTitle => 'Futa hati hii?'; + + @override + String get documentsDeleteSubtitle => 'Hii faili itatolewa kabisa'; + + @override + String get documentsDeleteCancel => 'Ghairi'; + + @override + String get documentsDeleteButton => 'Futa'; + + @override + String get documentsMoreActionsTooltip => 'Vitendo zaidi'; + + @override + String get profilesSearch => 'Tafuta'; + + @override + String get profilesEmptyList => 'Hakuna wasifu uliopatikana'; + + @override + String get profilesViewMore => 'Tazama zaidi'; + + @override + String get profilesMore => 'Zaidi'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina sasa anakumbuka afya yako'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Mawasiliano yako sasa yanajenga na kusasisha Rekodi yako ya Afya kiotomatiki.'; + + @override + String get profilesAnnouncementTitle2 => 'Rekodi yako ya Afya, sheria zako'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Tazama, hariri, au ongeza dalili, dawa, historia, au nyaraka wakati wowote.'; + + @override + String get profilesAnnouncementTitle3 => 'Huduma kwa familia yako nzima'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Unda rekodi ya afya kwa wapendwa wako, watoto wako, wazazi, au mwenzi.'; + + @override + String get profilesAnnouncementTitle4 => + 'Tayari kuhifadhi Rekodi yako ya Afya?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Baada ya ushauri wako, bonyeza \"Ongeza wasifu\" kuuhifadhi.'; + + @override + String get profilesNextButton => 'Ingia'; + + @override + String get profilesStartButton => 'Anza ushauri'; + + @override + String get profilesLaterButton => 'Pengine baadaye'; + + @override + String get profileSuccessCloseButton => 'Funga'; + + @override + String get pdfHeaderTitle => 'Rekodi ya Afya'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Rekodi ya Afya — $name'; + } + + @override + String get expandableFieldMore => '...zaidi'; + + @override + String get expandableFieldLess => '...kidogo'; + + @override + String get profiles_button_addnew => 'Ongeza wasifu mpya'; + + @override + String get profiles_label_addnew => + 'Unda profile ili kuhifadhi maelezo ya ushauri huu.'; + + @override + String get profiles_label_health_records_hint => + 'Unaweza kuitathmini wakati wowote katika Rekodi zako za Afya'; + + @override + String get profiles_label_keep_talking_hint => + 'Ikiwa una maswali zaidi kuhusu hili au chochote kinachohusiana, jisikie huru kuendelea kuzungumza nami. Niko hapa kusaidia'; + + @override + String get profile_section_basic_title => 'Taarifa za Jumla'; + + @override + String get profile_section_basic_name_label => 'Jina'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Jina la kwanza'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Jina la ukoo'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Jinsia'; + + @override + String get profile_section_basic_sex_placeholder => 'Tafadhali chagua'; + + @override + String get profile_section_basic_sex_options_male => 'Mwanamume'; + + @override + String get profile_section_basic_sex_options_female => 'Mwanamke'; + + @override + String get profile_section_basic_sex_options_other => 'Nyingine'; + + @override + String get profile_section_basic_date_of_birth_label => 'Tarehe ya Kuzaliwa'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Umri'; + + @override + String get profile_section_basic_age_str_placeholder => 'kwa mfano 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Nambari ya simu'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Barua pepe'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Eneo'; + + @override + String get profile_section_basic_location_placeholder => + 'kwa mfano Mji, Nchi'; + + @override + String get profile_section_body_diet_title => 'Mwili & Lishe'; + + @override + String get profile_section_body_diet_height_str_label => 'Urefu'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'kwa mfano 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Uzito'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'kwa mfano 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Mzunguko wa hedhi'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'e.g. Kawaida, Isiyotabirika'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Vikwazo vya Lishe'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Tafadhali chagua'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Tuambie unachokula na vizuizi vyovyote ulivyo navyo'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Hakuna'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Mlaji wa mimea'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Bila Gluten'; + + @override + String get profile_section_body_diet_bmi_label => + 'Kipimo cha Masi ya Mwili (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'kwa mfano 24.5'; + + @override + String get profile_section_health_profile_title => 'Wasifu wa Afya'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Magonjwa sugu'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'mfano. Kisukari Aina ya 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Tafadhali orodhesha magonjwa yote sugu na jumuisha wakati yalipogundulika na matatizo yoyote.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Magonjwa ya zamani'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'mfano. Mafua ya kawaida mara kwa mara'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Tafadhali orodhesha magonjwa makubwa uliyokuwa nayo zamani, hata kama umepona.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Historia ya Upasuaji'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'kwa mfano Appendectomy'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Tafadhali orodhesha upasuaji wote na ujumuisha mwaka na ikiwa kulikuwa na matatizo yoyote.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Dawa Zinazotumika Mara Chache'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'mfano. Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Tafadhali orodhesha dawa unazotumia mara kwa mara (kwa mfano: dawa za maumivu, dawa za mzio), ikiwa ni pamoja na kipimo na sababu ya matumizi.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Dawa za mara kwa mara'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'mfano. Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Tafadhali orodhesha dawa zote unazotumia mara kwa mara, ikiwa ni pamoja na jina, kipimo, mara ngapi kwa siku unachukua, na hali gani inahusiana nayo.'; + + @override + String get profile_section_health_profile_allergies_label => 'Alergiji'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'mfano. Penicillin – husababisha upele'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Tafadhali orodhesha mzio wote (dawa, chakula, mazingira), na eleza ni aina gani ya majibu unayo (kwa mfano: upele, uvimbe, matatizo ya kupumua).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Hali Maalum'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'Kwa mfano Ujauzito, Ulemavu'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Ikiwa una hali muhimu za kiafya ambazo madaktari wanapaswa kujua daima (kwa mfano: ujauzito, vifaa vilivyowekwa, ulemavu, tiba ya anticoagulation), tafadhali eleza. Ikiwa hakuna, unaweza kuacha hili kuwa tupu.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Historia ya familia'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'kwa mfano magonjwa ya moyo, saratani'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Tafadhali eleza magonjwa muhimu katika familia yako (kwa mfano: kisukari, shinikizo la damu, magonjwa ya moyo, saratani, magonjwa ya kurithi) na ueleze ni mwanafamilia gani alikuwa na hali hiyo.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Mambo ya Kijamii & Mtindo wa Maisha'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'kwa mfano Uvutaji wa sigara, Matumizi ya pombe'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Tafadhali eleza mambo ya mtindo wa maisha yanayoweza kuathiri afya yako, kama vile uvutaji sigara, pombe, shughuli za mwili, lishe, usingizi, na kazi.'; + + @override + String get profile_section_health_profile_devices_label => + 'Vifaa vya Matibabu'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'kwa mfano: pacemaker, kifaa cha kusikia, pampu ya insulini'; + + @override + String get profile_section_health_profile_devices_hint => + 'Tafadhali orodhesha vifaa vyovyote vya matibabu unavyotumia au ulivyonayo, kama vile pacemaker, pampu za insulini, vifaa vya kusikia, prosthetics, au vifaa vingine vya kusaidia au kufuatilia. Jumuisha maelezo muhimu ikiwa yanahitajika.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Anakula vyote'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Chakula cha haraka'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Mfuasi wa mlo wa samaki'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Bila Laktozi'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Lishe ya sodiamu ya chini'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Lishe yenye sukari kidogo'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Lishe ya moyo'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Lishe ya figo'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Nyingine'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ta.dart b/example/lib/src/generated/profiles/profiles_localization_ta.dart new file mode 100644 index 0000000..75480b3 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ta.dart @@ -0,0 +1,584 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tamil (`ta`). +class ProfilesLocalizationTa extends ProfilesLocalization { + ProfilesLocalizationTa([String locale = 'ta']) : super(locale); + + @override + String get chatDrawerTitle => 'ஆரோக்கிய பதிவுகள்'; + + @override + String get chatDrawerBadgeNew => 'புதியது'; + + @override + String get bannerTitle => 'உங்கள் உடல் பதிவை உருவாக்கவும்'; + + @override + String get bannerSubtitle => + 'உங்கள் ஆலோசனையின் முடிவில், உங்கள் சுயவிவரத்தைச் சேர்க்கவும்.'; + + @override + String get bannerMoreProfilesTitle => 'மேலும் சுயவிவரங்களைச் சேர்க்கவும்'; + + @override + String get bannerMoreProfilesSubtitle => + 'மற்றொருவருக்கான சிகிச்சையை தொடங்கவும், அவர்களின் சுயவிவரத்தை உருவாக்கவும்.'; + + @override + String get bannerSignUp => 'உங்கள் சுகாதார பதிவை உருவாக்க பதிவு செய்யவும்'; + + @override + String get errorRetryButton => 'மீண்டும் முயற்சி'; + + @override + String get dashboardDeleteError => 'சுயவிவரத்தை நீக்க முடியவில்லை'; + + @override + String get dashboardSummaryLoadError => + 'சுயவிவர சுருக்கத்தை ஏற்ற முடியவில்லை'; + + @override + String get dashboardMenuViewFullRecord => 'முழு பதிவைப் பார்வையிடவும்'; + + @override + String get dashboardMenuShare => 'பகிர்'; + + @override + String get dashboardMenuDelete => 'அழி'; + + @override + String get dashboardMetricAgeLabel => 'வயது'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value ஆண்டுகள்', + one: '$value ஆண்டு', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'எடை'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'உயரம்'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value செ.மீ'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'அலர்ஜிகள்'; + + @override + String get dashboardInfoChronicTitle => 'நெடிய'; + + @override + String get dashboardInfoMedicationTitle => 'மருந்து'; + + @override + String get dashboardInfoDevicesTitle => 'கருவிகள்'; + + @override + String get dashboardNavigationConsultations => 'கூட்டங்கள்'; + + @override + String get dashboardNavigationDocuments => 'ஆவணங்கள்'; + + @override + String get dashboardDeleteRecordTitle => 'ஆரோக்கிய பதிவை நீக்கவா?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'இது உங்கள் ஆரோக்கிய தரவுகளை நிரந்தரமாக நீக்கும் மற்றும் மீட்டுக்கொள்ள முடியாது. நீங்கள் நாங்கள் உங்களை வழிநடத்த பயன்படுத்தும் சூழ்நிலையை இழக்கிறீர்கள்.'; + + @override + String get dashboardDeleteRecordCancel => 'ரத்து செய்'; + + @override + String get dashboardDeleteRecordConfirm => 'அழி'; + + @override + String get dashboardDeleteRecordLoading => + 'உங்கள் ஆரோக்கிய பதிவை நீக்குகிறது...'; + + @override + String get dashboardDeleteRecordError => 'சுயவிவரத்தை நீக்க முடியவில்லை'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'ஆரோக்கிய பதிவுகள் நீக்கப்பட்டது'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'நீங்கள் உதவியாளர் உடன் உரையாடுவதன் மூலம் எப்போது வேண்டுமானாலும் புதியதை உருவாக்கலாம்.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'சந்திப்புக்கு திரும்பவும்'; + + @override + String get dataEditingScreenTitle => 'திருத்துதல்'; + + @override + String get dataFailedToLoadError => 'சுயவிவர தரவுகளை ஏற்ற முடியவில்லை'; + + @override + String get dataRecordSavedTitle => 'மாற்றங்கள் சேமிக்கப்பட்டன'; + + @override + String get dataRecordSavedSubtitle => + 'உங்கள் தகவல்கள் வெற்றிகரமாக புதுப்பிக்கப்பட்டது.'; + + @override + String get dataRecordSavedButton => 'சுயவிவரத்திற்கு திரும்பவும்'; + + @override + String get dataRecordUpdateError => 'சுயவிவர தரவுகளை புதுப்பிக்க முடியவில்லை'; + + @override + String get dataRecordDiscardTitle => 'மாற்றங்களை நீக்க வேண்டுமா?'; + + @override + String get dataRecordDiscardSubtitle => + 'நீங்கள் உங்கள் சுயவிவரத்தில் சில மாற்றங்களை செய்துள்ளீர்கள். நீங்கள் செல்லும் முன் அவற்றை சேமிக்கவும், அல்லது நீக்கவும்.'; + + @override + String get dataRecordDiscardCancel => 'திருத்தத்தை தொடரவும்'; + + @override + String get dataRecordDiscardConfirm => 'நீக்கு'; + + @override + String get dataRecordEditTooltip => 'திருத்து'; + + @override + String get dataRecordAddTag => 'பதிவு சேர்க்கவும்'; + + @override + String get consultationsSearch => 'தேடல்'; + + @override + String get consultationsSearchEmpty => 'எந்த முடிவும் கிடைக்கவில்லை'; + + @override + String get documentsMenuDownload => 'பதிவிறக்கம்'; + + @override + String get documentsMenuShare => 'பகிர்'; + + @override + String get documentsMenuDelete => 'அழி'; + + @override + String get documentsEmptyList => 'ஆவணங்கள் கிடைக்கவில்லை'; + + @override + String get documentsDeleteTitle => 'இந்த ஆவணத்தை நீக்க வேண்டுமா?'; + + @override + String get documentsDeleteSubtitle => 'இந்த கோப்பு நிரந்தரமாக நீக்கப்படும்'; + + @override + String get documentsDeleteCancel => 'ரத்து செய்'; + + @override + String get documentsDeleteButton => 'அழி'; + + @override + String get documentsMoreActionsTooltip => 'மேலும் செயல்கள்'; + + @override + String get profilesSearch => 'தேடல்'; + + @override + String get profilesEmptyList => 'சுயவிவரங்கள் எதுவும் கிடைக்கவில்லை'; + + @override + String get profilesViewMore => 'மேலும் பார்க்க'; + + @override + String get profilesMore => 'மேலும்'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina இப்போது உங்கள் ஆரோக்கியத்தை நினைவில் வைத்திருக்கிறது'; + + @override + String get profilesAnnouncementSubtitle1 => + 'உங்கள் ஆலோசனைகள் இப்போது உங்கள் ஆரோக்கிய பதிவை தானாகவே உருவாக்கி புதுப்பிக்கின்றன.'; + + @override + String get profilesAnnouncementTitle2 => + 'உங்கள் சுகாதார பதிவுகள், உங்கள் விதிகள்'; + + @override + String get profilesAnnouncementSubtitle2 => + 'எப்போது வேண்டுமானாலும் அறிகுறிகள், மருந்துகள், வரலாறு அல்லது ஆவணங்களை காண்க, திருத்தவும் அல்லது சேர்க்கவும்.'; + + @override + String get profilesAnnouncementTitle3 => + 'உங்கள் முழு குடும்பத்திற்கான பராமரிப்பு'; + + @override + String get profilesAnnouncementSubtitle3 => + 'உங்கள் அன்பானவர்களுக்கான சுகாதார பதிவை உருவாக்கவும், உங்கள் குழந்தைகள், பெற்றோர் அல்லது துணை.'; + + @override + String get profilesAnnouncementTitle4 => + 'உங்கள் சுகாதார பதிவை சேமிக்க தயாரா?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'உங்கள் ஆலோசனையின் பிறகு, அதை சேமிக்க \"சேர் சுயவிவரம்\" என்பதைக் கிளிக் செய்யவும்.'; + + @override + String get profilesNextButton => 'அடுத்தது'; + + @override + String get profilesStartButton => 'ஆரம்பிக்கவும்'; + + @override + String get profilesLaterButton => 'பிறகு இருக்கலாம்'; + + @override + String get profileSuccessCloseButton => 'மூடு'; + + @override + String get pdfHeaderTitle => 'ஆரோக்கியப் பதிவுகள்'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'ஆரோக்கியப் பதிவேடு — $name'; + } + + @override + String get expandableFieldMore => '...மேலும்'; + + @override + String get expandableFieldLess => '...குறைவு'; + + @override + String get profiles_button_addnew => 'புதிய சுயவிவரம் சேர்க்கவும்'; + + @override + String get profiles_label_addnew => + 'இந்த ஆலோசனையின் விவரங்களை சேமிக்க ஒரு சுயவிவரம் உருவாக்கவும்.'; + + @override + String get profiles_label_health_records_hint => + 'நீங்கள் அதை உங்கள் ஆரோக்கிய பதிவுகளில் எப்போதும் மதிப்பாய்வு செய்யலாம்'; + + @override + String get profiles_label_keep_talking_hint => + 'இதோடு அல்லது இதன் தொடர்புடைய ஏதேனும் விஷயங்கள் குறித்து உங்களுக்கு மேலும் கேள்விகள் இருந்தால், என்னுடன் பேசத் தொடர தயங்காதீர்கள். நான் உதவ இங்கே இருக்கிறேன்'; + + @override + String get profile_section_basic_title => 'பொதுத் தகவல்கள்'; + + @override + String get profile_section_basic_name_label => 'பெயர்'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'முதல் பெயர்'; + + @override + String get profile_section_basic_first_name_placeholder => 'ஜான்'; + + @override + String get profile_section_basic_last_name_label => 'குடும்பப் பெயர்'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'பாலினம்'; + + @override + String get profile_section_basic_sex_placeholder => + 'தயவுசெய்து தேர்ந்தெடுக்கவும்'; + + @override + String get profile_section_basic_sex_options_male => 'ஆண்'; + + @override + String get profile_section_basic_sex_options_female => 'பெண்'; + + @override + String get profile_section_basic_sex_options_other => 'பிற'; + + @override + String get profile_section_basic_date_of_birth_label => 'பிறந்த தேதி'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'வயது'; + + @override + String get profile_section_basic_age_str_placeholder => 'உதாரணமாக 30'; + + @override + String get profile_section_basic_phonenumber_label => 'தொலைபேசி எண்'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'மின்னஞ்சல்'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'இடம்'; + + @override + String get profile_section_basic_location_placeholder => 'உதா. நகரம், நாடு'; + + @override + String get profile_section_body_diet_title => 'உடல் மற்றும் உணவுமுறை'; + + @override + String get profile_section_body_diet_height_str_label => 'உயரம்'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'எ.கா. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'எடை'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'உதாரணமாக 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'மாதவிடாய் சுழற்சி'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'உதாரணமாக: ஒழுங்கான, ஒழுங்கற்ற'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'உணவு கட்டுப்பாடுகள்'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'தயவுசெய்து தேர்வு செய்யவும்'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'நீங்கள் என்ன சாப்பிடுகிறீர்கள் மற்றும் உங்களிடம் உள்ள எந்த கட்டுப்பாடுகளும் எங்களுக்கு தெரிவிக்கவும்'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'எதுவும் இல்லை'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'சைவம்'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'வீகன்'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'குளூட்டன் இல்லாத'; + + @override + String get profile_section_body_diet_bmi_label => 'உடல் எடை குறியீடு (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'உதா. 24.5'; + + @override + String get profile_section_health_profile_title => 'சுகாதார சுயவிவரம்'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'நீடித்த நோய்கள்'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'எடுத்துக்காட்டு. நீரிழிவு வகை 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'தயவுசெய்து அனைத்து நீண்டகால நோய்களை பட்டியலிடவும், அவை எப்போது கண்டறியப்பட்டன மற்றும் எந்த சிக்கல்களையும் சேர்க்கவும்.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'முந்தைய நோய்கள்'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'எடுத்துக்காட்டாக. அடிக்கடி பொதுவான காய்ச்சல்'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'தயவுசெய்து நீங்கள் கடந்த காலத்தில் இருந்த கடுமையான நோய்களை பட்டியலிடுங்கள், நீங்கள் குணமாகினாலும்.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'அறுவை சிகிச்சை வரலாறு'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'உதா. அப்பெண்டெக்டமி'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'தயவுசெய்து அனைத்து அறுவை சிகிச்சைகளை பட்டியலிடவும், ஆண்டையும், எந்த சிக்கல்களும் இருந்ததா என்பதையும் சேர்க்கவும்.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'சில நேரங்களில் பயன்படுத்தப்படும் மருந்துகள்'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'எடுத்துக்காட்டு. இபுபுரோஃபேன்'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'தயவுசெய்து நீங்கள் சில நேரங்களில் எடுத்துக்கொள்ளும் மருந்துகளை (உதாரணமாக: வலி நிவர்த்தி மருந்துகள், அலர்ஜி மருந்துகள்) பட்டியலிடவும், அதில் அளவும் மற்றும் பயன்படுத்தும் காரணமும் சேர்க்கவும்.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'நிலையான மருந்துகள்'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'எடுத்துக்கொள்ளும் மருந்துகள், உதாரணம்: மெட்ஃபார்மின்'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'தயவுசெய்து நீங்கள் அடிக்கடி எடுத்துக்கொள்கிற அனைத்து மருந்துகளையும், பெயர், அளவு, தினத்திற்கு எத்தனை முறை எடுத்துக்கொள்கிறீர்கள் மற்றும் அது எந்த நிலைக்கு உகந்தது என்பதை பட்டியலிடவும்.'; + + @override + String get profile_section_health_profile_allergies_label => 'அலர்ஜிகள்'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'எடுத்துக்காட்டு. பெனிசிலின் – தோலில் உலர்ச்சி'; + + @override + String get profile_section_health_profile_allergies_hint => + 'எல்லா அலர்ஜிகளை (மருந்துகள், உணவு, சுற்றுச்சூழல்) பட்டியலிடவும், நீங்கள் எவ்வாறு எதிர்வினை அளிக்கிறீர்கள் என்பதை விவரிக்கவும் (உதாரணமாக: தோல் உலர்வு, வீக்கம், மூச்சு பிரச்சினைகள்).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'சிறப்பு நிலைகள்'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'e.g. கர்ப்பம், மாற்றுத்திறன்மை'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'உங்களுக்கு மருத்துவர்களுக்கு எப்போதும் தெரிந்திருக்க வேண்டிய முக்கிய மருத்துவ நிலைகள் இருந்தால் (உதாரணமாக: கர்ப்பம், உடலில் உள்ள சாதனங்கள், மாற்றுத்திறன்கள், இரத்தத்தை உறிஞ்சும் சிகிச்சை), தயவுசெய்து அவற்றைப் பதிவு செய்யவும். இல்லையெனில், இதை காலியாக வைக்கலாம்.'; + + @override + String get profile_section_health_profile_family_history_label => + 'குடும்ப வரலாறு'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'உதா. இதய நோய், புற்றுநோய்'; + + @override + String get profile_section_health_profile_family_history_hint => + 'உங்கள் குடும்பத்தில் முக்கியமான நோய்களை விவரிக்கவும் (உதாரணமாக: நீரிழிவு, உயர் இரத்த அழுத்தம், இதய நோய், புற்றுநோய், மரபணு நோய்கள்) மற்றும் அந்த நிலை கொண்ட குடும்ப உறுப்பினரை குறிப்பிடவும்.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'சமூக & வாழ்க்கை முறை காரணிகள்'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'உதா. புகைபிடித்தல், மது அருந்துதல்'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'உங்கள் ஆரோக்கியத்தை பாதிக்கக்கூடிய வாழ்க்கை முறைகளை விவரிக்கவும், உதாரணமாக புகையிலை, மது, உடற்பயிற்சி, உணவு, தூக்கம் மற்றும் தொழில்.'; + + @override + String get profile_section_health_profile_devices_label => + 'மருத்துவ சாதனங்கள்'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'உதாரணம்: பேஸ்மேக்கர், கேடுதல் உதவிக்கருவி, இன்சுலின் பம்ப்'; + + @override + String get profile_section_health_profile_devices_hint => + 'நீங்கள் பயன்படுத்தும் அல்லது உடலில் உள்ள மருத்துவ சாதனங்களை, உதாரணமாக, பேஸ்மேக்கர்கள், இன்சுலின் பம்ப்கள், கேளிக்கை சாதனங்கள், செயற்கை உறுப்புகள் அல்லது பிற உதவியாளர்கள் அல்லது கண்காணிப்பு சாதனங்களை பட்டியலிடவும். தேவையான விவரங்களை சேர்க்கவும்.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'மாமிசமும் தாவர உணவுகளையும் உட்கொள்ளும்'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'விரைவு உணவு'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'மீன் சாப்பிடுவோர்'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'லக்டோஸ் இல்லாத'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'சோடியம் குறைந்த உணவு'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'சர்க்கரை குறைந்த உணவுமுறை'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'இதயத்திற்கான உணவு'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'சிறுநீரக உணவுமுறை'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'மற்றவை'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_te.dart b/example/lib/src/generated/profiles/profiles_localization_te.dart new file mode 100644 index 0000000..c08e261 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_te.dart @@ -0,0 +1,580 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Telugu (`te`). +class ProfilesLocalizationTe extends ProfilesLocalization { + ProfilesLocalizationTe([String locale = 'te']) : super(locale); + + @override + String get chatDrawerTitle => 'ఆరోగ్య రికార్డులు'; + + @override + String get chatDrawerBadgeNew => 'కొత్త'; + + @override + String get bannerTitle => 'మీ ఆరోగ్య రికార్డు సృష్టించండి'; + + @override + String get bannerSubtitle => + 'మీ సంప్రదింపుల ముగింపులో, మీ ప్రొఫైల్‌ను చేర్చండి.'; + + @override + String get bannerMoreProfilesTitle => 'మరిన్ని ప్రొఫైల్స్ జోడించండి'; + + @override + String get bannerMoreProfilesSubtitle => + 'ఇంకా ఎవరికైనా వారి ప్రొఫైల్ సృష్టించడానికి సంప్రదింపులు ప్రారంభించండి.'; + + @override + String get bannerSignUp => + 'మీ ఆరోగ్య రికార్డు సృష్టించడానికి సైన్ అప్ చేయండి'; + + @override + String get errorRetryButton => 'మళ్లీ ప్రయత్నించండి'; + + @override + String get dashboardDeleteError => 'ప్రొఫైల్ తొలగించడంలో విఫలమైంది'; + + @override + String get dashboardSummaryLoadError => + 'ప్రొఫైల్ సమ్మరీని లోడ్ చేయడంలో విఫలమైంది'; + + @override + String get dashboardMenuViewFullRecord => 'పూర్తి రికార్డు చూడండి'; + + @override + String get dashboardMenuShare => 'షేర్'; + + @override + String get dashboardMenuDelete => 'తొలగించు'; + + @override + String get dashboardMetricAgeLabel => 'వయస్సు'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value సంవత్సరాలు', + one: '$value సంవత్సరం', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'బరువు'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value కిలోగ్రాములు'; + } + + @override + String get dashboardMetricHeightLabel => 'ఎత్తు'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value సం.మీ.'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'అలర్జీలు'; + + @override + String get dashboardInfoChronicTitle => 'దీర్ఘకాలిక'; + + @override + String get dashboardInfoMedicationTitle => 'మందులు'; + + @override + String get dashboardInfoDevicesTitle => 'ఉపకరణాలు'; + + @override + String get dashboardNavigationConsultations => 'సలహాలు'; + + @override + String get dashboardNavigationDocuments => 'పత్రాలు'; + + @override + String get dashboardDeleteRecordTitle => 'ఆరోగ్య రికార్డు తొలగించాలా?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'ఇది మీ ఆరోగ్య డేటాను శాశ్వతంగా తొలగిస్తుంది మరియు తిరిగి పొందలేరు. మేము మీకు మార్గనిర్దేశం చేయడానికి ఉపయోగించే సందర్భాన్ని కోల్పోతారు.'; + + @override + String get dashboardDeleteRecordCancel => 'రద్దు'; + + @override + String get dashboardDeleteRecordConfirm => 'తొలగించు'; + + @override + String get dashboardDeleteRecordLoading => + 'మీ ఆరోగ్య రికార్డును తొలగిస్తున్నాము...'; + + @override + String get dashboardDeleteRecordError => 'ప్రొఫైల్ తొలగించడంలో విఫలమైంది'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'ఆరోగ్య రికార్డు తొలగించబడింది'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'మీరు సహాయకుడితో చాటింగ్ చేసి ఎప్పుడైనా కొత్తది సృష్టించవచ్చు.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'చాట్‌కు తిరిగి వెళ్ళండి'; + + @override + String get dataEditingScreenTitle => 'సవరించడం'; + + @override + String get dataFailedToLoadError => 'ప్రొఫైల్ డేటా లోడ్ చేయడంలో విఫలమైంది'; + + @override + String get dataRecordSavedTitle => 'మార్పులు సేవ్ చేయబడ్డాయి'; + + @override + String get dataRecordSavedSubtitle => 'మీ సమాచారం విజయవంతంగా నవీకరించబడింది.'; + + @override + String get dataRecordSavedButton => 'ప్రొఫైల్కు తిరిగి వెళ్ళండి'; + + @override + String get dataRecordUpdateError => 'ప్రొఫైల్ డేటాను నవీకరించడంలో విఫలమైంది'; + + @override + String get dataRecordDiscardTitle => 'మార్పులను వదులుతారా?'; + + @override + String get dataRecordDiscardSubtitle => + 'మీ ప్రొఫైల్‌లో కొన్ని మార్పులు చేశారు. మీరు వెళ్లే ముందు వాటిని సేవ్ చేయండి లేదా వదిలేయండి.'; + + @override + String get dataRecordDiscardCancel => 'సవరించడాన్ని కొనసాగించండి'; + + @override + String get dataRecordDiscardConfirm => 'తిరస్కరించు'; + + @override + String get dataRecordEditTooltip => 'సవరించు'; + + @override + String get dataRecordAddTag => 'రికార్డు జోడించు'; + + @override + String get consultationsSearch => 'శోధన'; + + @override + String get consultationsSearchEmpty => 'ఫలితాలు లేవు'; + + @override + String get documentsMenuDownload => 'డౌన్‌లోడ్'; + + @override + String get documentsMenuShare => 'షేర్'; + + @override + String get documentsMenuDelete => 'తొలగించు'; + + @override + String get documentsEmptyList => 'ఏ డాక్యుమెంట్లు లభించలేదు'; + + @override + String get documentsDeleteTitle => 'ఈ పత్రాన్ని తొలగించాలా?'; + + @override + String get documentsDeleteSubtitle => 'ఈ ఫైల్ శాశ్వతంగా తొలగించబడుతుంది'; + + @override + String get documentsDeleteCancel => 'రద్దు'; + + @override + String get documentsDeleteButton => 'తొలగించు'; + + @override + String get documentsMoreActionsTooltip => 'మరిన్ని చర్యలు'; + + @override + String get profilesSearch => 'శోధన'; + + @override + String get profilesEmptyList => 'ప్రొఫైల్‌లు ఏవీ కనబడలేదు'; + + @override + String get profilesViewMore => 'మరిన్ని చూడండి'; + + @override + String get profilesMore => 'మరింత'; + + @override + String get profilesAnnouncementTitle1 => + 'డాక్టర్‌నా మీ ఆరోగ్యాన్ని గుర్తుంచుకుంటుంది'; + + @override + String get profilesAnnouncementSubtitle1 => + 'మీ సంప్రదింపులు ఇప్పుడు మీ ఆరోగ్య రికార్డును ఆటోమేటిక్‌గా నిర్మించు మరియు నవీకరించు.'; + + @override + String get profilesAnnouncementTitle2 => 'మీ ఆరోగ్య రికార్డు, మీ నియమాలు'; + + @override + String get profilesAnnouncementSubtitle2 => + 'సమయానుకూలంగా లక్షణాలు, మందులు, చరిత్ర లేదా పత్రాలను చూడండి, సవరించండి లేదా జోడించండి.'; + + @override + String get profilesAnnouncementTitle3 => 'మీ మొత్తం కుటుంబానికి సంరక్షణ'; + + @override + String get profilesAnnouncementSubtitle3 => + 'మీ ప్రియమైన వారికోసం, మీ పిల్లలు, తల్లిదండ్రులు లేదా భాగస్వామి కోసం ఆరోగ్య రికార్డు సృష్టించండి.'; + + @override + String get profilesAnnouncementTitle4 => + 'మీ ఆరోగ్య రికార్డును సేవ్ చేయడానికి సిద్ధమా?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'మీ సంప్రదింపుల తర్వాత, దాన్ని సేవ్ చేయడానికి \"ప్రొఫైల్ జోడించు\" పై ట్యాప్ చేయండి.'; + + @override + String get profilesNextButton => 'తదుపరి'; + + @override + String get profilesStartButton => 'సలహా ప్రారంభించండి'; + + @override + String get profilesLaterButton => 'తర్వాత కావచ్చు'; + + @override + String get profileSuccessCloseButton => 'మూసు'; + + @override + String get pdfHeaderTitle => 'ఆరోగ్య రికార్డు'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'ఆరోగ్య రికార్డు — $name'; + } + + @override + String get expandableFieldMore => '...మరింత'; + + @override + String get expandableFieldLess => '...తక్కువ'; + + @override + String get profiles_button_addnew => 'కొత్త ప్రొఫైల్ జోడించండి'; + + @override + String get profiles_label_addnew => + 'ఈ సలహా యొక్క వివరాలను సేవ్ చేయడానికి ఒక ప్రొఫైల్ సృష్టించండి.'; + + @override + String get profiles_label_health_records_hint => + 'మీ ఆరోగ్య రికార్డుల్లో దీన్ని మీరు ఎప్పుడైనా మూల్యాంకనం చేయవచ్చు'; + + @override + String get profiles_label_keep_talking_hint => + 'ఈ విషయం లేదా దీనితో సంబంధం ఉన్న ఏదైనా గురించి మీకు ఇంకా ప్రశ్నలు ఉంటే, సంకోచించకుండా నాతో మాట్లాడుతూనే ఉండండి. నేను సహాయం చేయడానికి ఇక్కడ ఉన్నాను'; + + @override + String get profile_section_basic_title => 'సాధారణ సమాచారం'; + + @override + String get profile_section_basic_name_label => 'పేరు'; + + @override + String get profile_section_basic_name_placeholder => 'జాన్ డో'; + + @override + String get profile_section_basic_first_name_label => 'మొదటి పేరు'; + + @override + String get profile_section_basic_first_name_placeholder => 'జాన్'; + + @override + String get profile_section_basic_last_name_label => 'చివరి పేరు'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'లింగం'; + + @override + String get profile_section_basic_sex_placeholder => 'దయచేసి ఎంచుకోండి'; + + @override + String get profile_section_basic_sex_options_male => 'పురుషుడు'; + + @override + String get profile_section_basic_sex_options_female => 'స్త్రీ'; + + @override + String get profile_section_basic_sex_options_other => 'ఇతర'; + + @override + String get profile_section_basic_date_of_birth_label => 'పుట్టిన తేదీ'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'వయస్సు'; + + @override + String get profile_section_basic_age_str_placeholder => 'ఉదా. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'ఫోన్ నంబర్'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ఈమెయిల్'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'స్థానం'; + + @override + String get profile_section_basic_location_placeholder => 'ఉదా. నగరం, దేశం'; + + @override + String get profile_section_body_diet_title => 'శరీరం & ఆహారం'; + + @override + String get profile_section_body_diet_height_str_label => 'ఎత్తు'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'ఉదా. 180 సెం.మీ'; + + @override + String get profile_section_body_diet_weight_str_label => 'బరువు'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'ఉదాహరణకు 75 కిలోలు'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'మాసిక చక్రం'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'ఉదాహరణకు నియమిత, అనియమిత'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'ఆహార పరిమితులు'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'దయచేసి ఎంచుకోండి'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'మీరు ఏమి తింటారో మరియు మీకు ఉన్న పరిమితులు మాకు తెలియజేయండి'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'ఏమీ లేదు'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'శాకాహారి'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'వీగన్'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'గ్లూటెన్ రహితం'; + + @override + String get profile_section_body_diet_bmi_label => 'బాడీ మాస్ ఇండెక్స్ (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ఉదాహరణకు 24.5'; + + @override + String get profile_section_health_profile_title => 'ఆరోగ్య ప్రొఫైల్'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'దీర్ఘకాలిక రోగాలు'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ఉదాహరణకు, డయాబెటిస్ టైప్ 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'దయచేసి అన్ని దీర్ఘకాలిక వ్యాధులను జాబితా చేయండి మరియు అవి ఎప్పుడు నిర్ధారించబడ్డాయో మరియు ఏదైనా సంక్లిష్టతలను చేర్చండి.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'గత వ్యాధులు'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ఉదాహరణకు, తరచుగా సాధారణ జలుబు'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'మీరు గతంలో అనుభవించిన తీవ్రమైన వ్యాధులను జాబితా చేయండి, మీరు కోలుకున్నా కూడా.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'శస్త్రచికిత్సల చరిత్ర'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'ఉదా. అపెండెక్టమీ'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'దయచేసి అన్ని శస్త్రచికిత్సలను జాబితా చేయండి మరియు సంవత్సరాన్ని మరియు ఏవైనా సంక్లిష్టతలు ఉన్నాయా అని చేర్చండి.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'అప్పుడప్పుడు ఉపయోగించే మందులు'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'ఉదాహరణకు: ఐబుప్రోఫెన్'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'మీరు కొన్నిసార్లు తీసుకునే మందులను (ఉదాహరణకు: నొప్పి మందులు, అలర్జీ మందులు) జాబితా చేయండి, డోసు మరియు ఉపయోగం కారణం సహితంగా.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'నియమిత ఔషధాలు'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'ఉదాహరణకు: మెట్ఫార్మిన్'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'మీరు రెగ్యులర్‌గా తీసుకునే అన్ని మందుల పేర్లు, డోసు, రోజుకు ఎంతసార్లు తీసుకుంటారో మరియు అది ఏ పరిస్థితికి సంబంధించినదో జాబితా చేయండి.'; + + @override + String get profile_section_health_profile_allergies_label => 'అలర్జీలు'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ఉదాహరణ: పెనిసిలిన్ - చర్మరాషి కలిగిస్తుంది'; + + @override + String get profile_section_health_profile_allergies_hint => + 'మీ అన్ని అలర్జీలను (మందులు, ఆహారం, పర్యావరణం) జాబితా చేయండి, మరియు మీరు ఏ రకమైన ప్రతిస్పందనను కలిగి ఉన్నారో వివరించండి (ఉదాహరణకు: చర్మరోగం, వాపు, శ్వాస సమస్యలు).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'ప్రత్యేక పరిస్థితులు'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'ఉదా. గర్భధారణ, దివ్యాంగత'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'మీకు ఎలాంటి ముఖ్యమైన వైద్య పరిస్థితులు ఉన్నాయా, డాక్టర్లు ఎప్పుడూ తెలుసుకోవాలి (ఉదాహరణకు: గర్భధారణ, అమర్చిన పరికరాలు, అంగవైకల్యాలు, యాంటికొగులేషన్ థెరపీ), దయచేసి వాటిని వివరించండి. లేకపోతే, మీరు దీన్ని ఖాళీగా ఉంచవచ్చు.'; + + @override + String get profile_section_health_profile_family_history_label => + 'కుటుంబ చరిత్ర'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ఉదా. హృదయ వ్యాధి, క్యాన్సర్'; + + @override + String get profile_section_health_profile_family_history_hint => + 'మీ కుటుంబంలో ముఖ్యమైన వ్యాధులను వివరించండి (ఉదాహరణకు: మధుమేహం, రక్తపోటు, హృదయ వ్యాధి, కేన్సర్, జన్యు వ్యాధులు) మరియు ఆ పరిస్థితిని కలిగిన కుటుంబ సభ్యుడిని స్పష్టంగా చెప్పండి.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'సామాజిక & జీవనశైలి అంశాలు'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'ఉదాహరణకు పొగాకు, మద్యపానం'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'మీ ఆరోగ్యాన్ని ప్రభావితం చేసే జీవనశైలి అంశాలను వివరించండి, ఉదాహరణకు పొగాకు, మద్యం, శారీరక కార్యకలాపం, ఆహారం, నిద్ర మరియు వృత్తి.'; + + @override + String get profile_section_health_profile_devices_label => 'వైద్య పరికరాలు'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'e.g. పేస్‌మేకర్, శ్రవణ సహాయక పరికరం, ఇన్సులిన్ పంప్'; + + @override + String get profile_section_health_profile_devices_hint => + 'మీరు ఉపయోగిస్తున్న లేదా ఇంప్లాంట్ చేసిన ఏదైనా వైద్య పరికరాలను జాబితా చేయండి, ఉదాహరణకు పేస్‌మేకర్లు, ఇన్సులిన్ పంపులు, వినికిడి సహాయ పరికరాలు, ప్రోస్టెటిక్స్ లేదా ఇతర సహాయక లేదా పర్యవేక్షణ పరికరాలు. వర్తించే వివరాలను చేర్చండి.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'సర్వాహారి'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ఫాస్ట్ ఫుడ్'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'చేపలు తినే శాకాహారి'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'లాక్టోజ్-రహితం'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'తక్కువ సోడియం ఆహారం'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'తక్కువ చక్కర ఆహారం'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'హృదయానికి అనుకూల ఆహారం'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'మూత్రపిండాల ఆహారం'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'ఇతర'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_th.dart b/example/lib/src/generated/profiles/profiles_localization_th.dart new file mode 100644 index 0000000..fd1d4f7 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_th.dart @@ -0,0 +1,574 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Thai (`th`). +class ProfilesLocalizationTh extends ProfilesLocalization { + ProfilesLocalizationTh([String locale = 'th']) : super(locale); + + @override + String get chatDrawerTitle => 'บันทึกสุขภาพ'; + + @override + String get chatDrawerBadgeNew => 'ใหม่'; + + @override + String get bannerTitle => 'สร้างบันทึกสุขภาพของคุณ'; + + @override + String get bannerSubtitle => + 'เมื่อสิ้นสุดการปรึกษาของคุณ ให้เพิ่มโปรไฟล์ของคุณ'; + + @override + String get bannerMoreProfilesTitle => 'เพิ่มโปรไฟล์เพิ่มเติม'; + + @override + String get bannerMoreProfilesSubtitle => + 'เริ่มการปรึกษาสำหรับคนอื่นเพื่อสร้างโปรไฟล์ของพวกเขา'; + + @override + String get bannerSignUp => 'ลงทะเบียนเพื่อสร้างบันทึกสุขภาพของคุณ'; + + @override + String get errorRetryButton => 'ลองใหม่'; + + @override + String get dashboardDeleteError => 'ไม่สามารถลบโปรไฟล์ได้'; + + @override + String get dashboardSummaryLoadError => 'ไม่สามารถโหลดข้อมูลสรุปโปรไฟล์ได้'; + + @override + String get dashboardMenuViewFullRecord => 'ดูบันทึกทั้งหมด'; + + @override + String get dashboardMenuShare => 'แชร์'; + + @override + String get dashboardMenuDelete => 'ลบ'; + + @override + String get dashboardMetricAgeLabel => 'อายุ'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value ปี', + one: '$value ปี', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'น้ำหนัก'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value กก'; + } + + @override + String get dashboardMetricHeightLabel => 'ความสูง'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value ซม'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'ภูมิแพ้'; + + @override + String get dashboardInfoChronicTitle => 'เรื้อรัง'; + + @override + String get dashboardInfoMedicationTitle => 'ยา'; + + @override + String get dashboardInfoDevicesTitle => 'อุปกรณ์'; + + @override + String get dashboardNavigationConsultations => 'การปรึกษา'; + + @override + String get dashboardNavigationDocuments => 'เอกสาร'; + + @override + String get dashboardDeleteRecordTitle => 'ลบข้อมูลสุขภาพ?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'นี่จะลบข้อมูลสุขภาพของคุณอย่างถาวรและไม่สามารถย้อนกลับได้ คุณจะสูญเสียบริบทที่เราใช้ในการแนะนำคุณ'; + + @override + String get dashboardDeleteRecordCancel => 'ยกเลิก'; + + @override + String get dashboardDeleteRecordConfirm => 'ลบ'; + + @override + String get dashboardDeleteRecordLoading => 'กำลังลบข้อมูลสุขภาพของคุณ...'; + + @override + String get dashboardDeleteRecordError => 'ไม่สามารถลบโปรไฟล์ได้'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'ลบข้อมูลสุขภาพแล้ว'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'คุณสามารถสร้างใหม่ได้ทุกเมื่อโดยการสนทนากับผู้ช่วย'; + + @override + String get dashboardDeleteRecordSuccessButton => 'กลับไปที่แชท'; + + @override + String get dataEditingScreenTitle => 'การแก้ไข'; + + @override + String get dataFailedToLoadError => 'ไม่สามารถโหลดข้อมูลโปรไฟล์ได้'; + + @override + String get dataRecordSavedTitle => 'บันทึกการเปลี่ยนแปลงเรียบร้อย'; + + @override + String get dataRecordSavedSubtitle => + 'ข้อมูลของคุณได้รับการอัปเดตเรียบร้อยแล้ว'; + + @override + String get dataRecordSavedButton => 'กลับไปที่โปรไฟล์'; + + @override + String get dataRecordUpdateError => 'ไม่สามารถอัปเดตข้อมูลโปรไฟล์ได้'; + + @override + String get dataRecordDiscardTitle => 'ยกเลิกการเปลี่ยนแปลงหรือไม่?'; + + @override + String get dataRecordDiscardSubtitle => + 'คุณได้ทำการเปลี่ยนแปลงบางอย่างในโปรไฟล์ของคุณ บันทึกการเปลี่ยนแปลงก่อนที่คุณจะออกจากระบบ หรือยกเลิกการเปลี่ยนแปลง'; + + @override + String get dataRecordDiscardCancel => 'แก้ไขต่อ'; + + @override + String get dataRecordDiscardConfirm => 'ทิ้ง'; + + @override + String get dataRecordEditTooltip => 'แก้ไข'; + + @override + String get dataRecordAddTag => 'เพิ่มบันทึก'; + + @override + String get consultationsSearch => 'ค้นหา'; + + @override + String get consultationsSearchEmpty => 'ไม่พบผลลัพธ์'; + + @override + String get documentsMenuDownload => 'ดาวน์โหลด'; + + @override + String get documentsMenuShare => 'แชร์'; + + @override + String get documentsMenuDelete => 'ลบ'; + + @override + String get documentsEmptyList => 'ไม่พบเอกสาร'; + + @override + String get documentsDeleteTitle => 'ลบเอกสารนี้ใช่ไหม?'; + + @override + String get documentsDeleteSubtitle => 'ไฟล์นี้จะถูกลบอย่างถาวร'; + + @override + String get documentsDeleteCancel => 'ยกเลิก'; + + @override + String get documentsDeleteButton => 'ลบ'; + + @override + String get documentsMoreActionsTooltip => 'การดำเนินการเพิ่มเติม'; + + @override + String get profilesSearch => 'ค้นหา'; + + @override + String get profilesEmptyList => 'ไม่พบโปรไฟล์'; + + @override + String get profilesViewMore => 'ดูเพิ่มเติม'; + + @override + String get profilesMore => 'เพิ่มเติม'; + + @override + String get profilesAnnouncementTitle1 => 'Doctorina จำสุขภาพของคุณได้แล้ว'; + + @override + String get profilesAnnouncementSubtitle1 => + 'การปรึกษาของคุณจะสร้างและอัปเดตบันทึกสุขภาพของคุณโดยอัตโนมัติ'; + + @override + String get profilesAnnouncementTitle2 => 'บันทึกสุขภาพของคุณ กฎของคุณ'; + + @override + String get profilesAnnouncementSubtitle2 => + 'ดู แก้ไข หรือเพิ่มอาการ ยา ประวัติ หรือเอกสารได้ทุกเมื่อ'; + + @override + String get profilesAnnouncementTitle3 => 'ดูแลครอบครัวของคุณทั้งหมด'; + + @override + String get profilesAnnouncementSubtitle3 => + 'สร้างบันทึกสุขภาพสำหรับคนที่คุณรัก ลูกๆ ของคุณ พ่อแม่ หรือคู่ของคุณ'; + + @override + String get profilesAnnouncementTitle4 => + 'พร้อมที่จะบันทึกประวัติสุขภาพของคุณหรือยัง?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'หลังจากการปรึกษาของคุณ ให้แตะ \"เพิ่มโปรไฟล์\" เพื่อบันทึกมัน'; + + @override + String get profilesNextButton => 'ถัดไป'; + + @override + String get profilesStartButton => 'เริ่มการปรึกษา'; + + @override + String get profilesLaterButton => 'อาจจะทีหลัง'; + + @override + String get profileSuccessCloseButton => 'ปิด'; + + @override + String get pdfHeaderTitle => 'บันทึกสุขภาพ'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'บันทึกสุขภาพ — $name'; + } + + @override + String get expandableFieldMore => '...เพิ่มเติม'; + + @override + String get expandableFieldLess => '...น้อยลง'; + + @override + String get profiles_button_addnew => 'เพิ่มโปรไฟล์ใหม่'; + + @override + String get profiles_label_addnew => + 'สร้างโปรไฟล์เพื่อบันทึกรายละเอียดของการปรึกษานี้'; + + @override + String get profiles_label_health_records_hint => + 'คุณสามารถเข้าถึงได้ตลอดเวลาในบันทึกสุขภาพของคุณ'; + + @override + String get profiles_label_keep_talking_hint => + 'หากคุณมีคำถามเพิ่มเติมเกี่ยวกับเรื่องนี้หรือเรื่องที่เกี่ยวข้อง อย่าลังเลที่จะพูดคุยกับฉันต่อ. ฉันพร้อมช่วยเหลือ'; + + @override + String get profile_section_basic_title => 'ข้อมูลทั่วไป'; + + @override + String get profile_section_basic_name_label => 'ชื่อ'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'ชื่อ'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'นามสกุล'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'เพศ'; + + @override + String get profile_section_basic_sex_placeholder => 'กรุณาเลือก'; + + @override + String get profile_section_basic_sex_options_male => 'ชาย'; + + @override + String get profile_section_basic_sex_options_female => 'หญิง'; + + @override + String get profile_section_basic_sex_options_other => 'อื่นๆ'; + + @override + String get profile_section_basic_date_of_birth_label => 'วันเกิด'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'อายุ'; + + @override + String get profile_section_basic_age_str_placeholder => 'เช่น 30'; + + @override + String get profile_section_basic_phonenumber_label => 'หมายเลขโทรศัพท์'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'อีเมล'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'ที่อยู่'; + + @override + String get profile_section_basic_location_placeholder => 'เช่น เมือง, ประเทศ'; + + @override + String get profile_section_body_diet_title => 'ร่างกาย & อาหาร'; + + @override + String get profile_section_body_diet_height_str_label => 'ความสูง'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'เช่น 180 ซม'; + + @override + String get profile_section_body_diet_weight_str_label => 'น้ำหนัก'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'เช่น 75 กก'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'รอบเดือน'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'เช่น สม่ำเสมอ, ไม่สม่ำเสมอ'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'ข้อจำกัดด้านอาหาร'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'โปรดเลือก'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'บอกเราหน่อยว่าคุณกินอะไรและมีข้อจำกัดอะไรบ้าง'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'ไม่มี'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'มังสวิรัติ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'วีแกน'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'ปราศจากกลูเตน'; + + @override + String get profile_section_body_diet_bmi_label => 'ดัชนีมวลกาย (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'เช่น 24.5'; + + @override + String get profile_section_health_profile_title => 'ข้อมูลสุขภาพ'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'โรคเรื้อรัง'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'เช่น เบาหวานชนิดที่ 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'โปรดระบุโรคเรื้อรังทั้งหมดและรวมถึงเมื่อใดที่ได้รับการวินิจฉัยและภาวะแทรกซ้อนใด ๆ'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'ประวัติการเจ็บป่วย'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'เช่น ไข้หวัดใหญ่บ่อย'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'โปรดระบุโรคร้ายแรงที่คุณเคยเป็นในอดีต แม้ว่าคุณจะหายแล้วก็ตาม'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'ประวัติการผ่าตัด'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'เช่น ผ่าตัดไส้ติ่ง'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'กรุณาระบุการผ่าตัดทั้งหมดและรวมถึงปีและว่ามีภาวะแทรกซ้อนหรือไม่'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'ยาที่ใช้เป็นครั้งคราว'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'เช่น ไอบูโพรเฟน'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'กรุณาระบุยาที่คุณทานเป็นครั้งคราว (เช่น: ยาแก้ปวด, ยาแก้แพ้) รวมถึงขนาดและเหตุผลในการใช้'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'ยาที่ใช้เป็นประจำ'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'เช่น เมตฟอร์มิน'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'โปรดระบุชื่อยาที่คุณทานเป็นประจำ รวมถึงชื่อ ขนาดยา จำนวนครั้งต่อวันที่คุณทาน และอาการที่ใช้รักษา'; + + @override + String get profile_section_health_profile_allergies_label => 'การแพ้'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'เช่น เพนิซิลลิน – ทำให้เกิดผื่น'; + + @override + String get profile_section_health_profile_allergies_hint => + 'กรุณาระบุอาการแพ้ทั้งหมด (ยา, อาหาร, สิ่งแวดล้อม) และอธิบายปฏิกิริยาที่คุณมี (เช่น: ผื่น, บวม, ปัญหาการหายใจ)'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'ภาวะพิเศษ'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'เช่น การตั้งครรภ์, ความพิการ'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'หากคุณมีเงื่อนไขทางการแพทย์ที่สำคัญที่แพทย์ควรรู้เสมอ (เช่น: การตั้งครรภ์, อุปกรณ์ที่ฝัง, ความพิการ, การบำบัดด้วยยาต้านการแข็งตัวของเลือด) กรุณาอธิบายเงื่อนไขเหล่านั้น หากไม่มี คุณสามารถปล่อยว่างไว้ได้.'; + + @override + String get profile_section_health_profile_family_history_label => + 'ประวัติครอบครัว'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'เช่น โรคหัวใจ, มะเร็ง'; + + @override + String get profile_section_health_profile_family_history_hint => + 'โปรดอธิบายโรคที่สำคัญในครอบครัวของคุณ (เช่น เบาหวาน ความดันโลหิตสูง โรคหัวใจ มะเร็ง โรคทางพันธุกรรม) และระบุว่าญาติคนไหนที่มีอาการนี้'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'ปัจจัยทางสังคม & วิถีชีวิต'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'เช่น การสูบบุหรี่, การดื่มแอลกอฮอล์'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'โปรดอธิบายปัจจัยด้านวิถีชีวิตที่สามารถส่งผลต่อสุขภาพของคุณ เช่น การสูบบุหรี่ แอลกอฮอล์ กิจกรรมทางกาย อาหาร การนอนหลับ และอาชีพ'; + + @override + String get profile_section_health_profile_devices_label => 'อุปกรณ์การแพทย์'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'เช่น เครื่องกระตุ้นหัวใจ, เครื่องช่วยฟัง, ปั๊มอินซูลิน'; + + @override + String get profile_section_health_profile_devices_hint => + 'โปรดระบุอุปกรณ์ทางการแพทย์ที่คุณใช้หรือมีการฝัง เช่น เครื่องกระตุ้นหัวใจ ปั๊มอินซูลิน เครื่องช่วยฟัง ขาเทียม หรืออุปกรณ์ช่วยเหลือหรือเฝ้าติดตามอื่น ๆ รวมถึงรายละเอียดที่เกี่ยวข้องหากมี'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'กินทุกอย่าง'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'ฟาสต์ฟู้ด'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'กินปลาแต่ไม่กินเนื้อสัตว์'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'ปราศจากแลคโตส'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'อาหารโซเดียมต่ำ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'อาหารลดน้ำตาล'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'อาหารสำหรับโรคหัวใจ'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'อาหารสำหรับโรคไต'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'อื่นๆ'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_tl.dart b/example/lib/src/generated/profiles/profiles_localization_tl.dart new file mode 100644 index 0000000..dd06bdb --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_tl.dart @@ -0,0 +1,584 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tagalog (`tl`). +class ProfilesLocalizationTl extends ProfilesLocalization { + ProfilesLocalizationTl([String locale = 'tl']) : super(locale); + + @override + String get chatDrawerTitle => 'Mga Rekord ng Kalusugan'; + + @override + String get chatDrawerBadgeNew => 'BAGO'; + + @override + String get bannerTitle => 'Gumawa ng Iyong Health Record'; + + @override + String get bannerSubtitle => + 'Sa dulo ng iyong konsultasyon, idagdag ang iyong profile.'; + + @override + String get bannerMoreProfilesTitle => 'Magdagdag ng higit pang mga profile'; + + @override + String get bannerMoreProfilesSubtitle => + 'Magsimula ng konsultasyon para sa ibang tao upang lumikha ng kanilang profile.'; + + @override + String get bannerSignUp => 'Mag-sign up upang lumikha ng iyong Health Record'; + + @override + String get errorRetryButton => 'Subukan muli'; + + @override + String get dashboardDeleteError => 'Nabigong tanggalin ang profile'; + + @override + String get dashboardSummaryLoadError => 'Nabigong i-load ang buod ng profile'; + + @override + String get dashboardMenuViewFullRecord => 'Tingnan ang Buong Rekord'; + + @override + String get dashboardMenuShare => 'Ibahagi'; + + @override + String get dashboardMenuDelete => 'Tanggalin'; + + @override + String get dashboardMetricAgeLabel => 'Edad'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value taon', + one: '$value taon', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Timbang'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Taas'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Allergies'; + + @override + String get dashboardInfoChronicTitle => 'Kroniko'; + + @override + String get dashboardInfoMedicationTitle => 'Gamot'; + + @override + String get dashboardInfoDevicesTitle => 'Mga Device'; + + @override + String get dashboardNavigationConsultations => 'Mga Konsultasyon'; + + @override + String get dashboardNavigationDocuments => 'Mga Dokumento'; + + @override + String get dashboardDeleteRecordTitle => 'Tanggalin ang Health Record?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Ito ay permanenteng aalisin ang iyong data sa kalusugan at hindi na maibabalik. Mawawala ang konteksto na ginagamit namin upang gabayan ka.'; + + @override + String get dashboardDeleteRecordCancel => 'Kanselahin'; + + @override + String get dashboardDeleteRecordConfirm => 'Tanggalin'; + + @override + String get dashboardDeleteRecordLoading => + 'Binubura ang iyong rekord sa kalusugan...'; + + @override + String get dashboardDeleteRecordError => 'Nabigong tanggalin ang profile'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'Nabura ang rekord ng kalusugan'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Maaari kang lumikha ng bago anumang oras sa pamamagitan ng pakikipag-chat sa assistant.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Bumalik sa Chat'; + + @override + String get dataEditingScreenTitle => 'Pag-edit'; + + @override + String get dataFailedToLoadError => 'Nabigong i-load ang profile data'; + + @override + String get dataRecordSavedTitle => 'Naka-save ang mga pagbabago'; + + @override + String get dataRecordSavedSubtitle => + 'Ang iyong impormasyon ay matagumpay na na-update.'; + + @override + String get dataRecordSavedButton => 'Bumalik sa profile'; + + @override + String get dataRecordUpdateError => 'Nabigong i-update ang data ng profile'; + + @override + String get dataRecordDiscardTitle => 'Itapon ang mga pagbabago?'; + + @override + String get dataRecordDiscardSubtitle => + 'Gumawa ka ng ilang pagbabago sa iyong profile. I-save ang mga ito bago ka umalis, o itapon ang mga ito.'; + + @override + String get dataRecordDiscardCancel => 'Ipatuloy ang pag-edit'; + + @override + String get dataRecordDiscardConfirm => 'Itapon'; + + @override + String get dataRecordEditTooltip => 'I-edit'; + + @override + String get dataRecordAddTag => 'Magdagdag ng tala'; + + @override + String get consultationsSearch => 'Maghanap'; + + @override + String get consultationsSearchEmpty => 'Walang nahanap na resulta'; + + @override + String get documentsMenuDownload => 'I-download'; + + @override + String get documentsMenuShare => 'Ibahagi'; + + @override + String get documentsMenuDelete => 'Tanggalin'; + + @override + String get documentsEmptyList => 'Walang natagpuang dokumento'; + + @override + String get documentsDeleteTitle => 'Tanggalin ang dokumentong ito?'; + + @override + String get documentsDeleteSubtitle => + 'Ang file na ito ay permanenteng aalisin'; + + @override + String get documentsDeleteCancel => 'Kanselahin'; + + @override + String get documentsDeleteButton => 'Tanggalin'; + + @override + String get documentsMoreActionsTooltip => 'Higit pang aksyon'; + + @override + String get profilesSearch => 'Maghanap'; + + @override + String get profilesEmptyList => 'Walang nahanap na profile'; + + @override + String get profilesViewMore => 'Tingnan pa'; + + @override + String get profilesMore => 'Higit pa'; + + @override + String get profilesAnnouncementTitle1 => + 'Naalala na ni Doctorina ang iyong kalusugan'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Ang iyong mga konsultasyon ay awtomatikong bumubuo at nag-a-update ng iyong Health Record.'; + + @override + String get profilesAnnouncementTitle2 => + 'Ang Iyong Rekord sa Kalusugan, ang Iyong Mga Alituntunin'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Tingnan, i-edit, o magdagdag ng mga sintomas, gamot, kasaysayan, o dokumento anumang oras.'; + + @override + String get profilesAnnouncementTitle3 => 'Alagaan ang buong pamilya mo'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Gumawa ng Health Record para sa iyong mga mahal sa buhay, mga anak, magulang, o kapareha.'; + + @override + String get profilesAnnouncementTitle4 => + 'Handa na bang i-save ang iyong Health Record?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Pagkatapos ng iyong konsultasyon, i-tap ang “Add profile” upang i-save ito.'; + + @override + String get profilesNextButton => 'Susunod'; + + @override + String get profilesStartButton => 'Magsimula ng konsultasyon'; + + @override + String get profilesLaterButton => 'Baka mamaya'; + + @override + String get profileSuccessCloseButton => 'Isara'; + + @override + String get pdfHeaderTitle => 'Tala ng Kalusugan'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Tala ng Kalusugan — $name'; + } + + @override + String get expandableFieldMore => '...karagdagan'; + + @override + String get expandableFieldLess => '...mas kaunti'; + + @override + String get profiles_button_addnew => 'Magdagdag ng bagong profile'; + + @override + String get profiles_label_addnew => + 'Lumikha ng isang profile upang i-save ang mga detalye ng konsultasyong ito.'; + + @override + String get profiles_label_health_records_hint => + 'Maaari mo itong suriin anumang oras sa iyong mga tala ng kalusugan'; + + @override + String get profiles_label_keep_talking_hint => + 'Kung mayroon ka pang mga tanong tungkol dito o sa anumang kaugnay na bagay, huwag mag-atubiling patuloy na makipag-usap sa akin. Nandito ako para tumulong'; + + @override + String get profile_section_basic_title => 'Pangkalahatang Impormasyon'; + + @override + String get profile_section_basic_name_label => 'Pangalan'; + + @override + String get profile_section_basic_name_placeholder => 'Juan Dela Cruz'; + + @override + String get profile_section_basic_first_name_label => 'Unang pangalan'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Apelyido'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Kasarian'; + + @override + String get profile_section_basic_sex_placeholder => 'Pumili'; + + @override + String get profile_section_basic_sex_options_male => 'Lalaki'; + + @override + String get profile_section_basic_sex_options_female => 'Babae'; + + @override + String get profile_section_basic_sex_options_other => 'Iba'; + + @override + String get profile_section_basic_date_of_birth_label => + 'Petsa ng Kapanganakan'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Edad'; + + @override + String get profile_section_basic_age_str_placeholder => 'hal. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Numero ng telepono'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Email'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Lokasyon'; + + @override + String get profile_section_basic_location_placeholder => + 'hal. Lungsod, Bansa'; + + @override + String get profile_section_body_diet_title => 'Katawan at Diyeta'; + + @override + String get profile_section_body_diet_height_str_label => 'Taas'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'hal. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Timbang'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'hal. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Siklo ng Regla'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'hal. Regular, Di-regular'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Mga Paghihigpit sa Pagkain'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Paki-pili'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Ipaalam sa amin kung ano ang kinakain mo at anumang mga limitasyon na mayroon ka'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Wala'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vegetarian'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Walang Gluten'; + + @override + String get profile_section_body_diet_bmi_label => + 'Indeks ng Masa ng Katawan (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'hal. 24.5'; + + @override + String get profile_section_health_profile_title => 'Profile ng Kalusugan'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Mga Talamak na Sakit'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'hal. Diabetes Type 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Mangyaring ilista ang lahat ng mga chronic na sakit at isama kung kailan sila na-diagnose at anumang komplikasyon.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Mga Nakaraang Sakit'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'hal. Madalas na sipon'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Mangyaring ilista ang mga seryosong sakit na naranasan mo sa nakaraan, kahit na ikaw ay gumaling na.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Kasaysayan ng Operasyon'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'hal. Apendektomiya'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Pakisama ang lahat ng operasyon at isama ang taon at kung may mga komplikasyon.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Paminsan-minsang ginagamit na mga gamot'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'hal. Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Mangyaring ilista ang mga gamot na iniinom mo paminsan-minsan (halimbawa: mga pampawala ng sakit, mga gamot sa allergy), kasama ang dosis at dahilan ng paggamit.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Mga Regular na Gamot'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'hal. Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Mangyaring ilista ang lahat ng gamot na regular mong iniinom, kasama ang pangalan, dosis, kung ilang beses sa isang araw mo ito iniinom, at kung para saan ang kondisyon.'; + + @override + String get profile_section_health_profile_allergies_label => 'Mga alergiya'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'hal. Penicillin – nagdudulot ng pantal'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Mangyaring ilista ang lahat ng allergy (mga gamot, pagkain, kapaligiran), at ilarawan kung anong reaksyon ang mayroon ka (halimbawa: pantal, pamamaga, problema sa paghinga).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Mga Espesyal na Kondisyon'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'Halimbawa: Pagbubuntis, Kapansanan'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Kung mayroon kang anumang mahahalagang kondisyon sa kalusugan na dapat laging malaman ng mga doktor (halimbawa: pagbubuntis, mga implant na aparato, kapansanan, therapy sa anticoagulation), mangyaring ilarawan ang mga ito. Kung wala, maaari mo itong iwanang blangko.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Kasaysayan ng Pamilya'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'hal. Sakit sa Puso, Kanser'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Mangyaring ilarawan ang mga mahahalagang sakit sa iyong pamilya (halimbawa: diabetes, hypertension, sakit sa puso, kanser, mga sakit na namamana) at tukuyin kung aling miyembro ng pamilya ang nagkaroon ng kondisyon.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Mga Salik na Panlipunan & Pamumuhay'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'hal. Paninigarilyo, Pag-inom ng alak'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Mangyaring ilarawan ang mga salik sa pamumuhay na maaaring makaapekto sa iyong kalusugan, tulad ng paninigarilyo, alak, pisikal na aktibidad, diyeta, tulog, at trabaho.'; + + @override + String get profile_section_health_profile_devices_label => + 'Mga Kagamitang Medikal'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'hal. Pacemaker, Hearing aid, Insulin pump'; + + @override + String get profile_section_health_profile_devices_hint => + 'Mangyaring ilista ang anumang mga medikal na aparato na ginagamit mo o naipinatong, tulad ng mga pacemaker, insulin pump, hearing aid, prosthetics, o iba pang mga tulong o monitoring device. Isama ang mga kaugnay na detalye kung naaangkop.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Kumakain ng karne at halaman'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Fast Food'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Pescatarian'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Walang Laktosa'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Diyeta na mababa sa sodyum'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Mababang asukal na diyeta'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Diyetang pang-puso'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Diyeta sa bato'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Iba'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_tr.dart b/example/lib/src/generated/profiles/profiles_localization_tr.dart new file mode 100644 index 0000000..dbdb946 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_tr.dart @@ -0,0 +1,576 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Turkish (`tr`). +class ProfilesLocalizationTr extends ProfilesLocalization { + ProfilesLocalizationTr([String locale = 'tr']) : super(locale); + + @override + String get chatDrawerTitle => 'Sağlık Kayıtları'; + + @override + String get chatDrawerBadgeNew => 'YENİ'; + + @override + String get bannerTitle => 'Sağlık Kaydınızı Oluşturun'; + + @override + String get bannerSubtitle => 'Danışmanlığınızın sonunda profilinizi ekleyin.'; + + @override + String get bannerMoreProfilesTitle => 'Daha fazla profil ekle'; + + @override + String get bannerMoreProfilesSubtitle => + 'Başka biri için profil oluşturmak üzere bir danışma başlatın.'; + + @override + String get bannerSignUp => 'Sağlık Kaydınızı oluşturmak için kaydolun'; + + @override + String get errorRetryButton => 'Tekrar Dene'; + + @override + String get dashboardDeleteError => 'Profil silinemedi'; + + @override + String get dashboardSummaryLoadError => 'Profil özeti yüklenemedi'; + + @override + String get dashboardMenuViewFullRecord => 'Tam Kaydı Görüntüle'; + + @override + String get dashboardMenuShare => 'Paylaş'; + + @override + String get dashboardMenuDelete => 'Sil'; + + @override + String get dashboardMetricAgeLabel => 'Yaş'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value yıl', + one: '$value yıl', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Ağırlık'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Boy'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'Alerjiler'; + + @override + String get dashboardInfoChronicTitle => 'Kronik'; + + @override + String get dashboardInfoMedicationTitle => 'İlaç'; + + @override + String get dashboardInfoDevicesTitle => 'Cihazlar'; + + @override + String get dashboardNavigationConsultations => 'Danışmanlıklar'; + + @override + String get dashboardNavigationDocuments => 'Belgeler'; + + @override + String get dashboardDeleteRecordTitle => + 'Sağlık Kaydını Silmek İstiyor musunuz?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Bu, sağlık verilerinizi kalıcı olarak kaldıracak ve geri alınamaz. Size rehberlik etmek için kullandığımız bağlamı kaybedeceksiniz.'; + + @override + String get dashboardDeleteRecordCancel => 'İptal'; + + @override + String get dashboardDeleteRecordConfirm => 'Sil'; + + @override + String get dashboardDeleteRecordLoading => 'Sağlık kaydınızı siliyoruz...'; + + @override + String get dashboardDeleteRecordError => 'Profil silinemedi'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Sağlık kaydı silindi'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Asistanla sohbet ederek istediğiniz zaman yenisini oluşturabilirsiniz.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Sohbete Dön'; + + @override + String get dataEditingScreenTitle => 'Düzenleme'; + + @override + String get dataFailedToLoadError => 'Profil verisi yüklenemedi'; + + @override + String get dataRecordSavedTitle => 'Değişiklikler kaydedildi'; + + @override + String get dataRecordSavedSubtitle => 'Bilgileriniz başarıyla güncellendi.'; + + @override + String get dataRecordSavedButton => 'Profile\'e dön'; + + @override + String get dataRecordUpdateError => + 'Profil verilerini güncellemeye başarısız oldu'; + + @override + String get dataRecordDiscardTitle => 'Değişiklikleri iptal et?'; + + @override + String get dataRecordDiscardSubtitle => + 'Profilinizde bazı değişiklikler yaptınız. Gitmeden önce bunları kaydedin veya iptal edin.'; + + @override + String get dataRecordDiscardCancel => 'Düzenlemeye devam et'; + + @override + String get dataRecordDiscardConfirm => 'İptal et'; + + @override + String get dataRecordEditTooltip => 'Düzenle'; + + @override + String get dataRecordAddTag => 'Kayıt ekle'; + + @override + String get consultationsSearch => 'Ara'; + + @override + String get consultationsSearchEmpty => 'Sonuç bulunamadı'; + + @override + String get documentsMenuDownload => 'İndir'; + + @override + String get documentsMenuShare => 'Paylaş'; + + @override + String get documentsMenuDelete => 'Sil'; + + @override + String get documentsEmptyList => 'Hiç belge bulunamadı'; + + @override + String get documentsDeleteTitle => 'Bu belgeyi silmek istiyor musunuz?'; + + @override + String get documentsDeleteSubtitle => 'Bu dosya kalıcı olarak silinecek'; + + @override + String get documentsDeleteCancel => 'İptal'; + + @override + String get documentsDeleteButton => 'Sil'; + + @override + String get documentsMoreActionsTooltip => 'Diğer işlemler'; + + @override + String get profilesSearch => 'Ara'; + + @override + String get profilesEmptyList => 'Profil bulunamadı'; + + @override + String get profilesViewMore => 'Daha fazla görüntüle'; + + @override + String get profilesMore => 'Daha Fazla'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina artık sağlığınızı hatırlıyor'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Danışmanlıklarınız artık Sağlık Kaydınızı otomatik olarak oluşturup güncelliyor.'; + + @override + String get profilesAnnouncementTitle2 => + 'Sağlık Kaydınız, sizin kurallarınız'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Semptomları, ilaçları, geçmişi veya belgeleri istediğiniz zaman görüntüleyin, düzenleyin veya ekleyin.'; + + @override + String get profilesAnnouncementTitle3 => 'Tüm aileniz için bakım'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Sevdikleriniz, çocuklarınız, ebeveynleriniz veya partneriniz için bir Sağlık Kaydı oluşturun.'; + + @override + String get profilesAnnouncementTitle4 => + 'Sağlık Kaydınızı kaydetmeye hazır mısınız?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Danışmanlığınızdan sonra, kaydetmek için \"Profil ekle\"ye dokunun.'; + + @override + String get profilesNextButton => 'İleri'; + + @override + String get profilesStartButton => 'Bir danışma başlat'; + + @override + String get profilesLaterButton => 'Belki daha sonra'; + + @override + String get profileSuccessCloseButton => 'Kapat'; + + @override + String get pdfHeaderTitle => 'Sağlık Kaydı'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Sağlık Kaydı — $name'; + } + + @override + String get expandableFieldMore => '...daha fazla'; + + @override + String get expandableFieldLess => '...daha az'; + + @override + String get profiles_button_addnew => 'Yeni profil ekle'; + + @override + String get profiles_label_addnew => + 'Bu danışmanın detaylarını kaydetmek için bir profil oluşturun.'; + + @override + String get profiles_label_health_records_hint => + 'Health Records\'ınızda onu istediğiniz zaman görüntüleyebilirsiniz'; + + @override + String get profiles_label_keep_talking_hint => + 'Bu veya bununla ilgili başka sorularınız olursa, benimle konuşmaya devam etmekten çekinmeyin. Yardım etmek için buradayım'; + + @override + String get profile_section_basic_title => 'Genel Bilgiler'; + + @override + String get profile_section_basic_name_label => 'Ad'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Ad'; + + @override + String get profile_section_basic_first_name_placeholder => 'Ahmet'; + + @override + String get profile_section_basic_last_name_label => 'Soyadı'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Cinsiyet'; + + @override + String get profile_section_basic_sex_placeholder => 'Lütfen seçiniz'; + + @override + String get profile_section_basic_sex_options_male => 'Erkek'; + + @override + String get profile_section_basic_sex_options_female => 'Kadın'; + + @override + String get profile_section_basic_sex_options_other => 'Diğer'; + + @override + String get profile_section_basic_date_of_birth_label => 'Doğum Tarihi'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Yaş'; + + @override + String get profile_section_basic_age_str_placeholder => 'örn. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Telefon numarası'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'E-posta'; + + @override + String get profile_section_basic_email_placeholder => 'ornek@ornek.com'; + + @override + String get profile_section_basic_location_label => 'Konum'; + + @override + String get profile_section_basic_location_placeholder => 'örn. Şehir, Ülke'; + + @override + String get profile_section_body_diet_title => 'Vücut & Beslenme'; + + @override + String get profile_section_body_diet_height_str_label => 'Boy'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'örn. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Kilo'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'örn. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'Adet Döngüsü'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'örn. Düzenli, Düzensiz'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Diyet Kısıtlamaları'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Lütfen seçiniz'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Ne yediğinizi ve sahip olduğunuz kısıtlamaları bize bildirin'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Yok'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vejetaryen'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Glutensiz'; + + @override + String get profile_section_body_diet_bmi_label => 'Vücut Kitle İndeksi (VKİ)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'örn. 24,5'; + + @override + String get profile_section_health_profile_title => 'Sağlık Profili'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Kronik Hastalıklar'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'örneğin, Tip 2 Diyabet'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Lütfen tüm kronik hastalıkları listeleyin ve ne zaman teşhis edildiğini ve herhangi bir komplikasyonu ekleyin.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Geçmiş Hastalıklar'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'örneğin, sık sık soğuk algınlığı'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Lütfen geçmişte geçirdiğiniz ciddi hastalıkları listeleyin, iyileşseniz bile.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Ameliyat Geçmişi'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'örn. Apendektomi'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Lütfen tüm ameliyatları listeleyin ve yılı ile birlikte herhangi bir komplikasyon olup olmadığını belirtin.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Ara sıra kullanılan ilaçlar'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'örneğin: İbuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Lütfen zaman zaman aldığınız ilaçları (örneğin: ağrı kesiciler, alerji ilaçları) doz ve kullanım nedeni ile birlikte listeleyin.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Düzenli İlaçlar'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'örneğin: Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Lütfen düzenli olarak aldığınız tüm ilaçları, adını, dozunu, günde kaç kez aldığınızı ve hangi durum için olduğunu listeleyin.'; + + @override + String get profile_section_health_profile_allergies_label => 'Alerjiler'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'örn. Penisilin - döküntü yapar'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Lütfen tüm alerjilerinizi (ilaçlar, yiyecekler, çevresel) listeleyin ve hangi reaksiyonu gösterdiğinizi açıklayın (örneğin: döküntü, şişlik, nefes alma sorunları).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Özel Durumlar'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'örn. Gebelik, Engellilik'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Doktorların her zaman bilmesi gereken önemli tıbbi durumlarınız varsa (örneğin: hamilelik, implante cihazlar, engellilik, antikoagülasyon tedavisi), lütfen bunları tanımlayın. Yoksa, bunu boş bırakabilirsiniz.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Aile Öyküsü'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'örn. Kalp hastalığı, kanser'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Ailenizdeki önemli hastalıkları tanımlayın (örneğin: diyabet, hipertansiyon, kalp hastalığı, kanser, genetik hastalıklar) ve hangi aile üyesinin bu durumu yaşadığını belirtin.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Sosyal & Yaşam Tarzı Faktörleri'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'örn. Sigara içme, Alkol tüketimi'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Sağlığınızı etkileyebilecek yaşam tarzı faktörlerini, örneğin sigara içme, alkol, fiziksel aktivite, diyet, uyku ve meslek gibi, lütfen tanımlayın.'; + + @override + String get profile_section_health_profile_devices_label => 'Tıbbi Cihazlar'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'örn. Kalp Pili, İşitme Cihazı, İnsülin Pompası'; + + @override + String get profile_section_health_profile_devices_hint => + 'Kullandığınız veya implante edilmiş herhangi bir tıbbi cihazı listeleyin, örneğin pacemaker\'lar, insülin pompaları, işitme cihazları, protezler veya diğer yardımcı veya izleme cihazları. Uygun detayları ekleyin.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Omnivor'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Fast Food'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Balık yiyen vejetaryen'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Laktozsuz'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Düşük sodyumlu diyet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Az şekerli diyet'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Kalp diyeti'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Böbrek diyeti'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Diğer'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_uk.dart b/example/lib/src/generated/profiles/profiles_localization_uk.dart new file mode 100644 index 0000000..7fb26ee --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_uk.dart @@ -0,0 +1,582 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Ukrainian (`uk`). +class ProfilesLocalizationUk extends ProfilesLocalization { + ProfilesLocalizationUk([String locale = 'uk']) : super(locale); + + @override + String get chatDrawerTitle => 'Медичні записи'; + + @override + String get chatDrawerBadgeNew => 'НОВИЙ'; + + @override + String get bannerTitle => 'Створіть свою медичну картку'; + + @override + String get bannerSubtitle => + 'В кінці вашої консультації додайте свій профіль.'; + + @override + String get bannerMoreProfilesTitle => 'Додати більше профілів'; + + @override + String get bannerMoreProfilesSubtitle => + 'Почніть консультацію для когось іншого, щоб створити їхній профіль.'; + + @override + String get bannerSignUp => 'Зареєструйтеся, щоб створити свою медичну картку'; + + @override + String get errorRetryButton => 'Спробувати знову'; + + @override + String get dashboardDeleteError => 'Не вдалося видалити профіль'; + + @override + String get dashboardSummaryLoadError => + 'Не вдалося завантажити підсумок профілю'; + + @override + String get dashboardMenuViewFullRecord => 'Переглянути повний запис'; + + @override + String get dashboardMenuShare => 'Поділитися'; + + @override + String get dashboardMenuDelete => 'Видалити'; + + @override + String get dashboardMetricAgeLabel => 'Вік'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value років', + one: '$value рік', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Вага'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value кг'; + } + + @override + String get dashboardMetricHeightLabel => 'Висота'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value см'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Алергії'; + + @override + String get dashboardInfoChronicTitle => 'Хронічний'; + + @override + String get dashboardInfoMedicationTitle => 'Ліки'; + + @override + String get dashboardInfoDevicesTitle => 'Пристрої'; + + @override + String get dashboardNavigationConsultations => 'Консультації'; + + @override + String get dashboardNavigationDocuments => 'Документи'; + + @override + String get dashboardDeleteRecordTitle => 'Видалити медичну картку?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Це назавжди видалить ваші дані про здоров\'я і не може бути скасовано. Ви втратите контекст, який ми використовуємо для вашого керівництва.'; + + @override + String get dashboardDeleteRecordCancel => 'Скасувати'; + + @override + String get dashboardDeleteRecordConfirm => 'Видалити'; + + @override + String get dashboardDeleteRecordLoading => + 'Видалення вашої медичної картки...'; + + @override + String get dashboardDeleteRecordError => 'Не вдалося видалити профіль'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'Запис про здоров\'я видалено'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Ви можете створити новий у будь-який час, спілкуючись з асистентом.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Повернутися до чату'; + + @override + String get dataEditingScreenTitle => 'Редагування'; + + @override + String get dataFailedToLoadError => 'Не вдалося завантажити дані профілю'; + + @override + String get dataRecordSavedTitle => 'Зміни збережено'; + + @override + String get dataRecordSavedSubtitle => + 'Ваша інформація була успішно оновлена.'; + + @override + String get dataRecordSavedButton => 'Повернутися до профілю'; + + @override + String get dataRecordUpdateError => 'Не вдалося оновити дані профілю'; + + @override + String get dataRecordDiscardTitle => 'Скасувати зміни?'; + + @override + String get dataRecordDiscardSubtitle => + 'Ви внесли деякі зміни до свого профілю. Збережіть їх перед виходом або скиньте.'; + + @override + String get dataRecordDiscardCancel => 'Продовжити редагування'; + + @override + String get dataRecordDiscardConfirm => 'Скасувати'; + + @override + String get dataRecordEditTooltip => 'Редагувати'; + + @override + String get dataRecordAddTag => 'Додати запис'; + + @override + String get consultationsSearch => 'Пошук'; + + @override + String get consultationsSearchEmpty => 'Результатів не знайдено'; + + @override + String get documentsMenuDownload => 'Завантажити'; + + @override + String get documentsMenuShare => 'Поділитися'; + + @override + String get documentsMenuDelete => 'Видалити'; + + @override + String get documentsEmptyList => 'Документи не знайдено'; + + @override + String get documentsDeleteTitle => 'Видалити цей документ?'; + + @override + String get documentsDeleteSubtitle => 'Цей файл буде видалено назавжди'; + + @override + String get documentsDeleteCancel => 'Скасувати'; + + @override + String get documentsDeleteButton => 'Видалити'; + + @override + String get documentsMoreActionsTooltip => 'Інші дії'; + + @override + String get profilesSearch => 'Пошук'; + + @override + String get profilesEmptyList => 'Профілів не знайдено'; + + @override + String get profilesViewMore => 'Показати більше'; + + @override + String get profilesMore => 'Більше'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina тепер пам\'ятає ваше здоров\'я'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Ваші консультації тепер автоматично формують і оновлюють вашу медичну картку.'; + + @override + String get profilesAnnouncementTitle2 => 'Ваш медичний запис, ваші правила'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Переглядайте, редагуйте або додавайте симптоми, ліки, історію чи документи в будь-який час.'; + + @override + String get profilesAnnouncementTitle3 => 'Доглядайте за всією родиною'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Створіть медичну картку для своїх близьких, дітей, батьків або партнера.'; + + @override + String get profilesAnnouncementTitle4 => + 'Готові зберегти вашу медичну картку?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Після консультації натисніть «Додати профіль», щоб зберегти його.'; + + @override + String get profilesNextButton => 'Далі'; + + @override + String get profilesStartButton => 'Почати консультацію'; + + @override + String get profilesLaterButton => 'Можливо, пізніше'; + + @override + String get profileSuccessCloseButton => 'Закрити'; + + @override + String get pdfHeaderTitle => 'Медична картка'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Медична картка — $name'; + } + + @override + String get expandableFieldMore => '...більше'; + + @override + String get expandableFieldLess => 'менше'; + + @override + String get profiles_button_addnew => 'Додати новий профіль'; + + @override + String get profiles_label_addnew => + 'Створіть профіль, щоб зберегти деталі цієї консультації.'; + + @override + String get profiles_label_health_records_hint => + 'Ви можете переглянути це у своїх медичних записах будь-коли'; + + @override + String get profiles_label_keep_talking_hint => + 'Якщо у вас є додаткові запитання щодо цього або будь-яких пов’язаних тем, не соромтеся продовжувати спілкуватися зі мною. Я тут, щоб допомогти'; + + @override + String get profile_section_basic_title => 'Загальна інформація'; + + @override + String get profile_section_basic_name_label => 'Ім\'я'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Ім\'я'; + + @override + String get profile_section_basic_first_name_placeholder => 'Іван'; + + @override + String get profile_section_basic_last_name_label => 'Прізвище'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Стать'; + + @override + String get profile_section_basic_sex_placeholder => 'Оберіть'; + + @override + String get profile_section_basic_sex_options_male => 'Чоловік'; + + @override + String get profile_section_basic_sex_options_female => 'Жінка'; + + @override + String get profile_section_basic_sex_options_other => 'Інше'; + + @override + String get profile_section_basic_date_of_birth_label => 'Дата народження'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'РРРР-ММ-ДД'; + + @override + String get profile_section_basic_age_str_label => 'Вік'; + + @override + String get profile_section_basic_age_str_placeholder => 'наприклад 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Номер телефону'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Електронна пошта'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Місцезнаходження'; + + @override + String get profile_section_basic_location_placeholder => + 'напр. Місто, Країна'; + + @override + String get profile_section_body_diet_title => 'Тіло & Харчування'; + + @override + String get profile_section_body_diet_height_str_label => 'Зріст'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'наприклад 180 см'; + + @override + String get profile_section_body_diet_weight_str_label => 'Вага'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'наприклад, 75 кг'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Менструальний цикл'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'e.g. Регулярний, Нерегулярний'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Дієтичні обмеження'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Будь ласка, виберіть'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Дайте нам знати, що ви їсте та які у вас є обмеження'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Немає'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Вегетаріанська'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Веган'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Без глютену'; + + @override + String get profile_section_body_diet_bmi_label => 'Індекс маси тіла (ІМТ)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'наприклад 24.5'; + + @override + String get profile_section_health_profile_title => 'Профіль здоров\'я'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Хронічні захворювання'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'Цукровий діабет 2 типу'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Будь ласка, перелікуйте всі хронічні захворювання та вкажіть, коли вони були діагностовані, а також будь-які ускладнення.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Попередні захворювання'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'наприклад, часті простудні захворювання'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Будь ласка, перераховуйте серйозні захворювання, які у вас були в минулому, навіть якщо ви одужали.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Хірургічний анамнез'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'наприклад апендектомія'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Будь ласка, перерахуйте всі операції та вкажіть рік і чи були ускладнення.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Зрідка вживані ліки'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'наприклад, Ібупрофен'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Будь ласка, вкажіть ліки, які ви приймаєте час від часу (наприклад: знеболювальні, ліки від алергії), включаючи дозу та причину використання.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Регулярні ліки'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'наприклад, Метформін'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Будь ласка, вкажіть усі ліки, які ви приймаєте регулярно, включаючи назву, дозу, скільки разів на день ви їх приймаєте та для якого стану вони призначені.'; + + @override + String get profile_section_health_profile_allergies_label => 'Алергії'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'наприклад, пеніцилін – викликає висип'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Будь ласка, перерахуйте всі алергії (ліки, їжа, навколишнє середовище) та опишіть, яку реакцію ви маєте (наприклад: висип, набряк, проблеми з диханням).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Особливі стани'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'наприклад: вагітність, інвалідність'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Якщо у вас є важливі медичні стани, про які лікарі завжди повинні знати (наприклад: вагітність, імплантовані пристрої, інвалідність, терапія антикоагулянтами), будь ласка, опишіть їх. Якщо немає, ви можете залишити це поле порожнім.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Сімейний анамнез'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'наприклад: серцеві захворювання, рак'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Будь ласка, опишіть важливі захворювання у вашій родині (наприклад: діабет, гіпертонія, серцеві захворювання, рак, генетичні захворювання) та вкажіть, який член родини мав це захворювання.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Соціальні та фактори способу життя'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'напр. Куріння, Вживання алкоголю'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Будь ласка, опишіть фактори способу життя, які можуть вплинути на ваше здоров\'я, такі як куріння, алкоголь, фізична активність, дієта, сон та професія.'; + + @override + String get profile_section_health_profile_devices_label => 'Медичні пристрої'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'Наприклад: кардіостимулятор, слуховий апарат, інсулінова помпа'; + + @override + String get profile_section_health_profile_devices_hint => + 'Будь ласка, вкажіть будь-які медичні пристрої, які ви використовуєте або які у вас імплантовані, такі як кардіостимулятори, інсулінові помпи, слухові апарати, протези або інші допоміжні чи моніторингові пристрої. Включіть відповідні деталі, якщо це можливо.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Всеїдний'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Фастфуд'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Пескатаріанець'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Без лактози'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Дієта з низьким вмістом солі'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Дієта з низьким вмістом цукру'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Серцева дієта'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Ниркова дієта'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Інше'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_ur.dart b/example/lib/src/generated/profiles/profiles_localization_ur.dart new file mode 100644 index 0000000..6a77eb1 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_ur.dart @@ -0,0 +1,581 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Urdu (`ur`). +class ProfilesLocalizationUr extends ProfilesLocalization { + ProfilesLocalizationUr([String locale = 'ur']) : super(locale); + + @override + String get chatDrawerTitle => 'صحت کے ریکارڈ'; + + @override + String get chatDrawerBadgeNew => 'نیا'; + + @override + String get bannerTitle => 'اپنی صحت کا ریکارڈ بنائیں'; + + @override + String get bannerSubtitle => + 'اپنی مشاورت کے آخر میں، اپنا پروفائل شامل کریں۔'; + + @override + String get bannerMoreProfilesTitle => 'زیادہ پروفائلز شامل کریں'; + + @override + String get bannerMoreProfilesSubtitle => + 'کسی اور کے لیے مشاورت شروع کریں تاکہ وہ اپنا پروفائل بنا سکے۔'; + + @override + String get bannerSignUp => 'اپنا صحت ریکارڈ بنانے کے لیے سائن اپ کریں'; + + @override + String get errorRetryButton => 'دوبارہ کوشش کریں'; + + @override + String get dashboardDeleteError => 'پروفائل حذف کرنے میں ناکامی'; + + @override + String get dashboardSummaryLoadError => + 'پروفائل کا خلاصہ لوڈ کرنے میں ناکامی'; + + @override + String get dashboardMenuViewFullRecord => 'مکمل ریکارڈ دیکھیں'; + + @override + String get dashboardMenuShare => 'شیئر کریں'; + + @override + String get dashboardMenuDelete => 'حذف کریں'; + + @override + String get dashboardMetricAgeLabel => 'عمر'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value سال', + one: '$value سال', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'وزن'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'قد'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value سینٹی میٹر'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'الرجی'; + + @override + String get dashboardInfoChronicTitle => 'مزمن'; + + @override + String get dashboardInfoMedicationTitle => 'ادویات'; + + @override + String get dashboardInfoDevicesTitle => 'آلات'; + + @override + String get dashboardNavigationConsultations => 'مشاورت'; + + @override + String get dashboardNavigationDocuments => 'دستاویزات'; + + @override + String get dashboardDeleteRecordTitle => 'صحت کا ریکارڈ حذف کریں؟'; + + @override + String get dashboardDeleteRecordSubtitle => + 'یہ آپ کے صحت کے ڈیٹا کو مستقل طور پر ہٹا دے گا اور اسے واپس نہیں لایا جا سکتا۔ آپ اس سیاق و سباق کو کھو دیں گے جسے ہم آپ کی رہنمائی کے لیے استعمال کرتے ہیں۔'; + + @override + String get dashboardDeleteRecordCancel => 'کینسل'; + + @override + String get dashboardDeleteRecordConfirm => 'حذف کریں'; + + @override + String get dashboardDeleteRecordLoading => + 'آپ کا صحت کا ریکارڈ حذف کیا جا رہا ہے...'; + + @override + String get dashboardDeleteRecordError => 'پروفائل کو حذف کرنے میں ناکامی'; + + @override + String get dashboardDeleteRecordSuccessTitle => + 'صحت کا ریکارڈ حذف کر دیا گیا'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'آپ کسی بھی وقت اسسٹنٹ سے بات کرکے نیا بنا سکتے ہیں۔'; + + @override + String get dashboardDeleteRecordSuccessButton => 'چیٹ پر واپس جائیں'; + + @override + String get dataEditingScreenTitle => 'ترمیم'; + + @override + String get dataFailedToLoadError => 'پروفائل کا ڈیٹا لوڈ کرنے میں ناکامی'; + + @override + String get dataRecordSavedTitle => 'تبدیلیاں محفوظ کر لی گئیں'; + + @override + String get dataRecordSavedSubtitle => + 'آپ کی معلومات کامیابی کے ساتھ اپ ڈیٹ کر دی گئی ہیں۔'; + + @override + String get dataRecordSavedButton => 'پروفائل پر واپس جائیں'; + + @override + String get dataRecordUpdateError => + 'پروفائل کے ڈیٹا کو اپ ڈیٹ کرنے میں ناکامی'; + + @override + String get dataRecordDiscardTitle => 'تبدیلیاں ختم کریں؟'; + + @override + String get dataRecordDiscardSubtitle => + 'آپ نے اپنے پروفائل میں کچھ تبدیلیاں کی ہیں۔ انہیں محفوظ کریں یا انہیں چھوڑ دیں۔'; + + @override + String get dataRecordDiscardCancel => 'ترمیم جاری رکھیں'; + + @override + String get dataRecordDiscardConfirm => 'خارج کریں'; + + @override + String get dataRecordEditTooltip => 'ترمیم'; + + @override + String get dataRecordAddTag => 'ریکارڈ شامل کریں'; + + @override + String get consultationsSearch => 'تلاش کریں'; + + @override + String get consultationsSearchEmpty => 'کوئی نتائج نہیں ملے'; + + @override + String get documentsMenuDownload => 'ڈاؤن لوڈ کریں'; + + @override + String get documentsMenuShare => 'شیئر کریں'; + + @override + String get documentsMenuDelete => 'حذف کریں'; + + @override + String get documentsEmptyList => 'کوئی دستاویزات نہیں ملیں'; + + @override + String get documentsDeleteTitle => 'کیا آپ اس دستاویز کو حذف کرنا چاہتے ہیں؟'; + + @override + String get documentsDeleteSubtitle => 'یہ فائل مستقل طور پر ہٹا دی جائے گی'; + + @override + String get documentsDeleteCancel => 'کینسل'; + + @override + String get documentsDeleteButton => 'حذف کریں'; + + @override + String get documentsMoreActionsTooltip => 'مزید اقدامات'; + + @override + String get profilesSearch => 'تلاش کریں'; + + @override + String get profilesEmptyList => 'کوئی پروفائل نہیں ملا'; + + @override + String get profilesViewMore => 'مزید دیکھیں'; + + @override + String get profilesMore => 'مزید'; + + @override + String get profilesAnnouncementTitle1 => + 'ڈاکٹرینا اب آپ کی صحت کو یاد رکھتا ہے'; + + @override + String get profilesAnnouncementSubtitle1 => + 'آپ کی مشاورت اب آپ کے صحت کے ریکارڈ کو خود بخود تیار اور اپ ڈیٹ کرتی ہے۔'; + + @override + String get profilesAnnouncementTitle2 => 'آپ کا صحت کا ریکارڈ، آپ کے اصول'; + + @override + String get profilesAnnouncementSubtitle2 => + 'کبھی بھی علامات، ادویات، تاریخ، یا دستاویزات دیکھیں، ترمیم کریں، یا شامل کریں۔'; + + @override + String get profilesAnnouncementTitle3 => 'اپنی پوری خاندان کا خیال رکھیں'; + + @override + String get profilesAnnouncementSubtitle3 => + 'اپنے پیاروں، بچوں، والدین، یا ساتھی کے لیے صحت کا ریکارڈ بنائیں۔'; + + @override + String get profilesAnnouncementTitle4 => + 'کیا آپ اپنے صحت کے ریکارڈ کو محفوظ کرنے کے لیے تیار ہیں؟'; + + @override + String get profilesAnnouncementSubtitle4 => + 'اپنی مشاورت کے بعد، \"پروفائل شامل کریں\" پر ٹیپ کریں تاکہ اسے محفوظ کیا جا سکے۔'; + + @override + String get profilesNextButton => 'اگلا'; + + @override + String get profilesStartButton => 'مشاورت شروع کریں'; + + @override + String get profilesLaterButton => 'شاید بعد میں'; + + @override + String get profileSuccessCloseButton => 'بند کریں'; + + @override + String get pdfHeaderTitle => 'صحت کا ریکارڈ'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'صحت کا ریکارڈ — $name'; + } + + @override + String get expandableFieldMore => '...زیادہ'; + + @override + String get expandableFieldLess => '...کم'; + + @override + String get profiles_button_addnew => 'نیا پروفائل شامل کریں'; + + @override + String get profiles_label_addnew => + 'اس مشاورت کی تفصیلات محفوظ کرنے کے لیے ایک پروفائل بنائیں'; + + @override + String get profiles_label_health_records_hint => + 'آپ اسے کسی بھی وقت اپنے Health Records میں جانچ سکتے ہیں'; + + @override + String get profiles_label_keep_talking_hint => + 'اگر آپ کو اس یا اس سے متعلق کسی بھی بات کے بارے میں مزید سوالات ہوں تو بلا جھجھک مجھ سے بات جاری رکھیں. میں مدد کے لیے یہاں ہوں'; + + @override + String get profile_section_basic_title => 'عمومی معلومات'; + + @override + String get profile_section_basic_name_label => 'نام'; + + @override + String get profile_section_basic_name_placeholder => 'جان ڈو'; + + @override + String get profile_section_basic_first_name_label => 'پہلا نام'; + + @override + String get profile_section_basic_first_name_placeholder => 'جان'; + + @override + String get profile_section_basic_last_name_label => 'آخری نام'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'جنس'; + + @override + String get profile_section_basic_sex_placeholder => 'براہ کرم منتخب کریں'; + + @override + String get profile_section_basic_sex_options_male => 'مرد'; + + @override + String get profile_section_basic_sex_options_female => 'عورت'; + + @override + String get profile_section_basic_sex_options_other => 'دیگر'; + + @override + String get profile_section_basic_date_of_birth_label => 'تاریخ پیدائش'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'عمر'; + + @override + String get profile_section_basic_age_str_placeholder => 'مثلاً 30'; + + @override + String get profile_section_basic_phonenumber_label => 'فون نمبر'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'ای میل'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'مقام'; + + @override + String get profile_section_basic_location_placeholder => 'مثلاً شہر، ملک'; + + @override + String get profile_section_body_diet_title => 'جسم اور غذا'; + + @override + String get profile_section_body_diet_height_str_label => 'قد'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'مثلاً 180 سم'; + + @override + String get profile_section_body_diet_weight_str_label => 'وزن'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'مثلاً 75 کلوگرام'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'ماہواری کا چکر'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'مثلاً باقاعدہ، بے قاعدہ'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'غذائی پابندیاں'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'براہ کرم منتخب کریں'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'ہمیں بتائیں کہ آپ کیا کھاتے ہیں اور آپ کی کوئی پابندیاں ہیں'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'کوئی نہیں'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'سبزی خور'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'ویگن'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'گلوٹن سے پاک'; + + @override + String get profile_section_body_diet_bmi_label => 'جسمانی ماس انڈیکس (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'مثلاً 24.5'; + + @override + String get profile_section_health_profile_title => 'صحت کا پروفائل'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'مزمن بیماریاں'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'جیسے کہ ذیابیطس ٹائپ 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'براہ کرم تمام دائمی بیماریوں کی فہرست بنائیں اور شامل کریں کہ یہ کب تشخیص ہوئی تھیں اور کوئی پیچیدگیاں۔'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'گزشتہ بیماریاں'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'جیسے، بار بار نزلہ زکام'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'براہ کرم ماضی میں آپ کو ہونے والی سنگین بیماریوں کی فہرست بنائیں، چاہے آپ صحت یاب ہو گئے ہوں۔'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'سرجری کی تاریخ'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'مثلاً اپینڈیکٹومی'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'براہ کرم تمام سرجریوں کی فہرست بنائیں اور سال اور آیا کوئی پیچیدگیاں تھیں شامل کریں۔'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'کبھی کبھار استعمال ہونے والی ادویات'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'جیسے Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'براہ کرم ان ادویات کی فہرست بنائیں جو آپ کبھی کبھار لیتے ہیں (مثلاً: درد کش ادویات، الرجی کی ادویات)، بشمول خوراک اور استعمال کی وجہ۔'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'باقاعدہ ادویات'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'جیسے میٹفارمین'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'براہ کرم تمام ادویات کی فہرست بنائیں جو آپ باقاعدگی سے لیتے ہیں، بشمول نام، خوراک، آپ اسے دن میں کتنی بار لیتے ہیں، اور یہ کس حالت کے لیے ہے۔'; + + @override + String get profile_section_health_profile_allergies_label => 'حساسیتیں'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'جیسے کہ، پینسلین – خارش پیدا کرتا ہے'; + + @override + String get profile_section_health_profile_allergies_hint => + 'براہ کرم تمام الرجیوں کی فہرست بنائیں (ادویات، خوراک، ماحولیاتی) اور بیان کریں کہ آپ کو کیا ردعمل ہوتا ہے (مثلاً: خارش، سوجن، سانس لینے میں مشکلات)۔'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'خصوصی حالات'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'مثلاً حمل، معذوری'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'اگر آپ کے پاس کوئی اہم طبی حالتیں ہیں جن کے بارے میں ڈاکٹروں کو ہمیشہ جاننا چاہیے (مثلاً: حمل، لگائے گئے آلات، معذوریاں، اینٹی کوگولیشن تھراپی)، تو براہ کرم ان کی وضاحت کریں۔ اگر کوئی نہیں ہے تو آپ اسے خالی چھوڑ سکتے ہیں۔'; + + @override + String get profile_section_health_profile_family_history_label => + 'خاندانی طبی تاریخ'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'مثلاً دل کی بیماری، کینسر'; + + @override + String get profile_section_health_profile_family_history_hint => + 'براہ کرم اپنے خاندان میں اہم بیماریوں کی وضاحت کریں (مثلاً: ذیابیطس، ہائی بلڈ پریشر، دل کی بیماری، کینسر، جینیاتی بیماریاں) اور یہ بتائیں کہ کون سے خاندان کے رکن کو یہ بیماری ہوئی تھی۔'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'سماجی اور طرزِ زندگی کے عوامل'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'مثلاً سگریٹ نوشی، شراب نوشی'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'براہ کرم طرز زندگی کے عوامل کی وضاحت کریں جو آپ کی صحت پر اثر انداز ہو سکتے ہیں، جیسے کہ تمباکو نوشی، الکحل، جسمانی سرگرمی، غذا، نیند، اور پیشہ.'; + + @override + String get profile_section_health_profile_devices_label => 'طبی آلات'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'مثلاً پیس میکر، سماعت کا آلہ، انسولین پمپ'; + + @override + String get profile_section_health_profile_devices_hint => + 'براہ کرم کوئی بھی طبی آلات درج کریں جو آپ استعمال کرتے ہیں یا جنہیں آپ نے پیوند کیا ہے، جیسے کہ پیس میکر، انسولین پمپ، سماعت کے آلات، مصنوعی اعضاء، یا دیگر معاون یا نگرانی کے آلات۔ اگر قابل اطلاق ہو تو متعلقہ تفصیلات شامل کریں۔'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'ہمہ خوار'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'فاسٹ فوڈ'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'مچھلی خور'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'لیکٹوز سے پاک'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'کم نمک والی غذا'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'کم شکر والی غذا'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'دل کی خوراک'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'گردوں کی غذا'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'دیگر'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_uz.dart b/example/lib/src/generated/profiles/profiles_localization_uz.dart new file mode 100644 index 0000000..5e5083b --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_uz.dart @@ -0,0 +1,585 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Uzbek (`uz`). +class ProfilesLocalizationUz extends ProfilesLocalization { + ProfilesLocalizationUz([String locale = 'uz']) : super(locale); + + @override + String get chatDrawerTitle => 'Sog\'liqni saqlash yozuvlari'; + + @override + String get chatDrawerBadgeNew => 'YANGI'; + + @override + String get bannerTitle => 'Sizning Sog\'liq Yozuvingizni Yaratish'; + + @override + String get bannerSubtitle => 'Maslahat oxirida profilingizni qo\'shing.'; + + @override + String get bannerMoreProfilesTitle => 'Batafsil profillar qo\'shish'; + + @override + String get bannerMoreProfilesSubtitle => + 'Boshqa kishi uchun maslahat boshlang, uning profilini yaratish uchun.'; + + @override + String get bannerSignUp => + 'Sog\'liq yozuvingizni yaratish uchun ro\'yxatdan o\'ting'; + + @override + String get errorRetryButton => 'Qayta urinib ko\'ring'; + + @override + String get dashboardDeleteError => 'Profilni o\'chirishda xato'; + + @override + String get dashboardSummaryLoadError => + 'Profil qisqacha ma\'lumotini yuklashda xato'; + + @override + String get dashboardMenuViewFullRecord => 'To\'liq yozuvni ko\'rish'; + + @override + String get dashboardMenuShare => 'Ulashish'; + + @override + String get dashboardMenuDelete => 'O\'chirish'; + + @override + String get dashboardMetricAgeLabel => 'Yosh'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value yil', + one: '$value yil', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Og\'irlik'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Balandlik'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value sm'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'Allergiyalar'; + + @override + String get dashboardInfoChronicTitle => 'Surunkali'; + + @override + String get dashboardInfoMedicationTitle => 'Dori'; + + @override + String get dashboardInfoDevicesTitle => 'Qurilmalar'; + + @override + String get dashboardNavigationConsultations => 'Maslahatlar'; + + @override + String get dashboardNavigationDocuments => 'Hujjatlar'; + + @override + String get dashboardDeleteRecordTitle => 'Sog\'liq yozuvini o\'chirish?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Bu sizning sog\'liq ma\'lumotlaringizni doimiy ravishda o\'chiradi va qaytarib bo\'lmaydi. Siz biz sizni yo\'naltirish uchun ishlatadigan kontekstni yo\'qotasiz.'; + + @override + String get dashboardDeleteRecordCancel => 'Bekor qilish'; + + @override + String get dashboardDeleteRecordConfirm => 'O\'chirish'; + + @override + String get dashboardDeleteRecordLoading => + 'Sizning sog\'liq yozuvingiz o\'chirilmoqda...'; + + @override + String get dashboardDeleteRecordError => 'Profilni o\'chirishda xato'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Sog\'liq yozuvi o\'chirildi'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Siz har qanday vaqtda yordamchiga yozish orqali yangi birini yaratishingiz mumkin'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Suhbatga qaytish'; + + @override + String get dataEditingScreenTitle => 'Tahrirlash'; + + @override + String get dataFailedToLoadError => 'Profil ma\'lumotlarini yuklashda xato'; + + @override + String get dataRecordSavedTitle => 'O\'zgarishlar saqlandi'; + + @override + String get dataRecordSavedSubtitle => + 'Ma\'lumotlaringiz muvaffaqiyatli yangilandi.'; + + @override + String get dataRecordSavedButton => 'Profilga qaytish'; + + @override + String get dataRecordUpdateError => 'Profil ma\'lumotlarini yangilashda xato'; + + @override + String get dataRecordDiscardTitle => 'O\'zgarishlarni bekor qilasizmi?'; + + @override + String get dataRecordDiscardSubtitle => + 'Siz profilingizda ba\'zi o\'zgarishlar qildingiz. Ularni ketishdan oldin saqlang yoki bekor qiling.'; + + @override + String get dataRecordDiscardCancel => 'Tahrirni davom ettirish'; + + @override + String get dataRecordDiscardConfirm => 'O\'chirish'; + + @override + String get dataRecordEditTooltip => 'Tahrirlash'; + + @override + String get dataRecordAddTag => 'Yozuv qo\'shish'; + + @override + String get consultationsSearch => 'Qidirish'; + + @override + String get consultationsSearchEmpty => 'Natija topilmadi'; + + @override + String get documentsMenuDownload => 'Yuklab olish'; + + @override + String get documentsMenuShare => 'Ulashish'; + + @override + String get documentsMenuDelete => 'O\'chirish'; + + @override + String get documentsEmptyList => 'Hech qanday hujjat topilmadi'; + + @override + String get documentsDeleteTitle => 'Ushbu hujjatni o\'chirishni xohlaysizmi?'; + + @override + String get documentsDeleteSubtitle => + 'Ushbu fayl doimiy ravishda o\'chiriladi'; + + @override + String get documentsDeleteCancel => 'Bekor qilish'; + + @override + String get documentsDeleteButton => 'O\'chirish'; + + @override + String get documentsMoreActionsTooltip => 'Boshqa amallar'; + + @override + String get profilesSearch => 'Qidirish'; + + @override + String get profilesEmptyList => 'Hech qanday profil topilmadi'; + + @override + String get profilesViewMore => 'Ko‘proq ko‘rish'; + + @override + String get profilesMore => 'Ko\'proq'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina endi sizning salomatligingizni eslaydi'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Konsultatsiyalaringiz endi avtomatik ravishda Sog\'liq yozuvingizni yaratadi va yangilaydi.'; + + @override + String get profilesAnnouncementTitle2 => + 'Sizning Sog\'liq Yozuvingiz, sizning qoidalaringiz'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Har qanday vaqtda simptomlar, dori-darmonlar, tarix yoki hujjatlarni ko\'rish, tahrirlash yoki qo\'shishingiz mumkin.'; + + @override + String get profilesAnnouncementTitle3 => + 'Butun oilangizga g\'amxo\'rlik qiling'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Sevganlaringiz, bolalaringiz, ota-onalaringiz yoki hamkoringiz uchun Sog\'liq yozuvini yarating.'; + + @override + String get profilesAnnouncementTitle4 => + 'Sizning Sog\'liqni Saqlash Hisobotingizni saqlashga tayyormisiz?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Maslahatingizdan so\'ng, uni saqlash uchun \"Profil qo\'shish\" tugmasini bosing.'; + + @override + String get profilesNextButton => 'Keyingi'; + + @override + String get profilesStartButton => 'Maslahatni boshlash'; + + @override + String get profilesLaterButton => 'Keyinroq'; + + @override + String get profileSuccessCloseButton => 'Yopish'; + + @override + String get pdfHeaderTitle => 'Tibbiy qayd'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Tibbiy ma\'lumot — $name'; + } + + @override + String get expandableFieldMore => '...ko\'proq'; + + @override + String get expandableFieldLess => 'kamroq'; + + @override + String get profiles_button_addnew => 'Yangi profil qo\'shish'; + + @override + String get profiles_label_addnew => + 'Ushbu maslahatning tafsilotlarini saqlash uchun profil yarating.'; + + @override + String get profiles_label_health_records_hint => + 'Sog\'liqni saqlash yozuvlaringizda uni istalgan vaqtda baholashingiz mumkin'; + + @override + String get profiles_label_keep_talking_hint => + 'Agar buning yoki unga bog\'liq boshqa savollaringiz bo\'lsa, bemalol men bilan suhbatni davom ettiring. Men yordam berish uchun shu yerdaman'; + + @override + String get profile_section_basic_title => 'Umumiy ma\'lumot'; + + @override + String get profile_section_basic_name_label => 'Ism'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Ism'; + + @override + String get profile_section_basic_first_name_placeholder => 'Ali'; + + @override + String get profile_section_basic_last_name_label => 'Familiya'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Jins'; + + @override + String get profile_section_basic_sex_placeholder => 'Iltimos tanlang'; + + @override + String get profile_section_basic_sex_options_male => 'Erkak'; + + @override + String get profile_section_basic_sex_options_female => 'Ayol'; + + @override + String get profile_section_basic_sex_options_other => 'Boshqa'; + + @override + String get profile_section_basic_date_of_birth_label => 'Tug\'ilgan sana'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Yosh'; + + @override + String get profile_section_basic_age_str_placeholder => 'masalan 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Telefon raqami'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Elektron pochta'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Joylashuv'; + + @override + String get profile_section_basic_location_placeholder => + 'masalan Shahar, Mamlakat'; + + @override + String get profile_section_body_diet_title => 'Tana & Oziqlanish'; + + @override + String get profile_section_body_diet_height_str_label => 'Balandlik'; + + @override + String get profile_section_body_diet_height_str_placeholder => + 'masalan 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Og\'irlik'; + + @override + String get profile_section_body_diet_weight_str_placeholder => + 'masalan 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => 'Hayz Davri'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'masalan Muntazam, tartibsiz'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Ovqatlanish cheklovlari'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Iltimos tanlang'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Bizga nima iste\'mol qilayotganingizni va har qanday cheklovlaringizni ayting'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Yo\'q'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Vejetaryan'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Glutensiz'; + + @override + String get profile_section_body_diet_bmi_label => + 'Tana Massasi Indeksi (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'masalan 24.5'; + + @override + String get profile_section_health_profile_title => 'Sog\'liq profili'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Surunkali kasalliklar'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'masalan, 2-tur diabet'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Iltimos, barcha surunkali kasalliklarni sanab bering va ularning qachon aniqlanganini va har qanday asoratlarni qo\'shing.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'O\'tgan kasalliklar'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'masalan: tez-tez oddiy gripp'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Iltimos, o\'tmishda bo\'lgan jiddiy kasalliklaringizni sanab bering, hatto agar tuzalgan bo\'lsangiz ham.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Jarrohlik tarixi'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'masalan Appendektomiya'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Iltimos, barcha jarrohlik amaliyotlarini sanasi va har qanday asoratlar bo\'lganligini ko\'rsatib ro\'yxatlang.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Ba\'zan ishlatiladigan dorilar'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'masalan, Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Iltimos, vaqt-vaqti bilan qabul qiladigan dori-darmonlaringizni (masalan: og\'riq qoldiruvchi, allergiya dori-darmonlari) dozasi va foydalanish sababi bilan birga sanab o\'ting'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Doimiy dori-darmonlar'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'masalan, Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Iltimos, muntazam ravishda qabul qiladigan barcha dori-darmonlaringizni, shu jumladan nomi, dozi, kuniga necha marta qabul qilishingiz va qaysi kasallik uchun ekanligini ro\'yxatga oling.'; + + @override + String get profile_section_health_profile_allergies_label => 'Allergiyalar'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'masalan, Penitsillin – toshma keltiradi'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Iltimos, barcha allergiyalaringizni (dori-darmonlar, ovqat, atrof-muhit) sanab bering va qanday reaktsiya ko\'rsatganingizni tasvirlang (masalan: toshma, shish, nafas olish muammolari).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Maxsus holatlar'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'masalan Homiladorlik, Nogironlik'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Agar shifokorlar doimo bilishi kerak bo\'lgan muhim tibbiy holatlaringiz bo\'lsa (masalan: homiladorlik, implantatsiya qilingan qurilmalar, nogironliklar, antikoagulyatsiya terapiyasi), iltimos, ularni tasvirlang. Agar yo\'q bo\'lsa, bu joyni bo\'sh qoldirishingiz mumkin.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Oilaviy anamnez'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'masalan: yurak kasalligi, saraton'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Iltimos, oilangizdagi muhim kasalliklarni tasvirlang (masalan: diabet, gipertoniya, yurak kasalliklari, saraton, genetik kasalliklar) va qaysi oila a\'zosida bu holat borligini ko\'rsating.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Ijtimoiy va hayot tarzi omillari'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'masalan Chekish, Spirtli ichimliklar iste\'moli'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Iltimos, sog\'lig\'ingizga ta\'sir qilishi mumkin bo\'lgan turmush tarzi omillarini, masalan, chekish, spirtli ichimliklar, jismoniy faoliyat, ovqatlanish, uyqu va kasbni tasvirlab bering.'; + + @override + String get profile_section_health_profile_devices_label => + 'Tibbiy qurilmalar'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'Masalan: Yurak stimulyatori, Eshitish moslamasi, Insulin nasosi'; + + @override + String get profile_section_health_profile_devices_hint => + 'Iltimos, foydalanayotgan yoki implantatsiya qilingan tibbiy qurilmalarni, masalan, yurak stimulyatorlari, insulin pompalar, eshitish apparatlari, protezlar yoki boshqa yordamchi yoki monitoring qurilmalarini sanab bering. Agar kerak bo\'lsa, tegishli tafsilotlarni qo\'shing.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Hamma narsani yeyuvchi'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Tez ovqat'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Baliqxor'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Laktozsiz'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Kam tuzli parhez'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Kam shakarli dieta'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Yurak Parhezi'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Buyrak parhezi'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Boshqa'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_vi.dart b/example/lib/src/generated/profiles/profiles_localization_vi.dart new file mode 100644 index 0000000..14a8e03 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_vi.dart @@ -0,0 +1,578 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Vietnamese (`vi`). +class ProfilesLocalizationVi extends ProfilesLocalization { + ProfilesLocalizationVi([String locale = 'vi']) : super(locale); + + @override + String get chatDrawerTitle => 'Hồ sơ sức khỏe'; + + @override + String get chatDrawerBadgeNew => 'MỚI'; + + @override + String get bannerTitle => 'Tạo Hồ Sơ Sức Khỏe Của Bạn'; + + @override + String get bannerSubtitle => 'Cuối buổi tư vấn, hãy thêm hồ sơ của bạn'; + + @override + String get bannerMoreProfilesTitle => 'Thêm nhiều hồ sơ hơn'; + + @override + String get bannerMoreProfilesSubtitle => + 'Bắt đầu tư vấn cho người khác để tạo hồ sơ của họ'; + + @override + String get bannerSignUp => 'Đăng ký để tạo Hồ sơ sức khỏe của bạn'; + + @override + String get errorRetryButton => 'Thử lại'; + + @override + String get dashboardDeleteError => 'Xóa hồ sơ không thành công'; + + @override + String get dashboardSummaryLoadError => 'Không thể tải tóm tắt hồ sơ'; + + @override + String get dashboardMenuViewFullRecord => 'Xem hồ sơ đầy đủ'; + + @override + String get dashboardMenuShare => 'Chia sẻ'; + + @override + String get dashboardMenuDelete => 'Xóa'; + + @override + String get dashboardMetricAgeLabel => 'Tuổi'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value năm', + one: '$value năm', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Cân nặng'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Chiều cao'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => '-'; + + @override + String get dashboardInfoAllergiesTitle => 'Dị ứng'; + + @override + String get dashboardInfoChronicTitle => 'Mãn tính'; + + @override + String get dashboardInfoMedicationTitle => 'Thuốc'; + + @override + String get dashboardInfoDevicesTitle => 'Thiết bị'; + + @override + String get dashboardNavigationConsultations => 'Tư vấn'; + + @override + String get dashboardNavigationDocuments => 'Tài liệu'; + + @override + String get dashboardDeleteRecordTitle => 'Xóa hồ sơ sức khỏe?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Điều này sẽ xóa vĩnh viễn dữ liệu sức khỏe của bạn và không thể hoàn tác. Bạn sẽ mất bối cảnh mà chúng tôi sử dụng để hướng dẫn bạn.'; + + @override + String get dashboardDeleteRecordCancel => 'Hủy'; + + @override + String get dashboardDeleteRecordConfirm => 'Xóa'; + + @override + String get dashboardDeleteRecordLoading => + 'Đang xóa hồ sơ sức khỏe của bạn...'; + + @override + String get dashboardDeleteRecordError => 'Xóa hồ sơ không thành công'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Đã xóa hồ sơ sức khỏe'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Bạn có thể tạo một cái mới bất cứ lúc nào bằng cách trò chuyện với trợ lý.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Quay lại trò chuyện'; + + @override + String get dataEditingScreenTitle => 'Chỉnh sửa'; + + @override + String get dataFailedToLoadError => 'Không thể tải dữ liệu hồ sơ'; + + @override + String get dataRecordSavedTitle => 'Thay đổi đã được lưu'; + + @override + String get dataRecordSavedSubtitle => + 'Thông tin của bạn đã được cập nhật thành công'; + + @override + String get dataRecordSavedButton => 'Quay lại hồ sơ'; + + @override + String get dataRecordUpdateError => 'Không thể cập nhật dữ liệu hồ sơ'; + + @override + String get dataRecordDiscardTitle => 'Bỏ qua thay đổi?'; + + @override + String get dataRecordDiscardSubtitle => + 'Bạn đã thực hiện một số thay đổi cho hồ sơ của mình. Hãy lưu chúng trước khi rời đi, hoặc bỏ qua chúng.'; + + @override + String get dataRecordDiscardCancel => 'Tiếp tục chỉnh sửa'; + + @override + String get dataRecordDiscardConfirm => 'Bỏ qua'; + + @override + String get dataRecordEditTooltip => 'Chỉnh sửa'; + + @override + String get dataRecordAddTag => 'Thêm hồ sơ'; + + @override + String get consultationsSearch => 'Tìm kiếm'; + + @override + String get consultationsSearchEmpty => 'Không tìm thấy kết quả'; + + @override + String get documentsMenuDownload => 'Tải xuống'; + + @override + String get documentsMenuShare => 'Chia sẻ'; + + @override + String get documentsMenuDelete => 'Xóa'; + + @override + String get documentsEmptyList => 'Không tìm thấy tài liệu'; + + @override + String get documentsDeleteTitle => 'Xóa tài liệu này?'; + + @override + String get documentsDeleteSubtitle => 'Tệp này sẽ bị xóa vĩnh viễn'; + + @override + String get documentsDeleteCancel => 'Hủy'; + + @override + String get documentsDeleteButton => 'Xóa'; + + @override + String get documentsMoreActionsTooltip => 'Thao tác khác'; + + @override + String get profilesSearch => 'Tìm kiếm'; + + @override + String get profilesEmptyList => 'Không tìm thấy hồ sơ nào'; + + @override + String get profilesViewMore => 'Xem thêm'; + + @override + String get profilesMore => 'Thêm'; + + @override + String get profilesAnnouncementTitle1 => + 'Doctorina giờ đây nhớ sức khỏe của bạn'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Các cuộc tư vấn của bạn giờ đây tự động xây dựng và cập nhật Hồ sơ sức khỏe của bạn.'; + + @override + String get profilesAnnouncementTitle2 => + 'Hồ sơ sức khỏe của bạn, quy tắc của bạn'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Xem, chỉnh sửa hoặc thêm triệu chứng, thuốc, lịch sử hoặc tài liệu bất cứ lúc nào'; + + @override + String get profilesAnnouncementTitle3 => 'Chăm sóc cho cả gia đình bạn'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Tạo hồ sơ sức khỏe cho những người thân yêu của bạn, con cái, cha mẹ hoặc bạn đời.'; + + @override + String get profilesAnnouncementTitle4 => + 'Sẵn sàng lưu Hồ sơ sức khỏe của bạn?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Sau khi tư vấn, chạm vào “Thêm hồ sơ” để lưu lại.'; + + @override + String get profilesNextButton => 'Tiếp theo'; + + @override + String get profilesStartButton => 'Bắt đầu tư vấn'; + + @override + String get profilesLaterButton => 'Có thể sau'; + + @override + String get profileSuccessCloseButton => 'Đóng'; + + @override + String get pdfHeaderTitle => 'Hồ sơ sức khỏe'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Hồ sơ sức khỏe — $name'; + } + + @override + String get expandableFieldMore => '...thêm'; + + @override + String get expandableFieldLess => 'ít hơn'; + + @override + String get profiles_button_addnew => 'Thêm hồ sơ mới'; + + @override + String get profiles_label_addnew => + 'Tạo một hồ sơ để lưu chi tiết của cuộc tư vấn này.'; + + @override + String get profiles_label_health_records_hint => + 'Bạn có thể xem nó bất cứ lúc nào trong Hồ sơ sức khỏe của bạn'; + + @override + String get profiles_label_keep_talking_hint => + 'Nếu bạn có thêm câu hỏi về điều này hoặc bất kỳ điều gì liên quan, cứ tiếp tục trò chuyện với tôi. Tôi ở đây để giúp bạn'; + + @override + String get profile_section_basic_title => 'Thông tin chung'; + + @override + String get profile_section_basic_name_label => 'Tên'; + + @override + String get profile_section_basic_name_placeholder => 'Nguyễn Văn A'; + + @override + String get profile_section_basic_first_name_label => 'Tên'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Họ'; + + @override + String get profile_section_basic_last_name_placeholder => 'Nguyễn'; + + @override + String get profile_section_basic_sex_label => 'Giới tính'; + + @override + String get profile_section_basic_sex_placeholder => 'Vui lòng chọn'; + + @override + String get profile_section_basic_sex_options_male => 'Nam'; + + @override + String get profile_section_basic_sex_options_female => 'Nữ'; + + @override + String get profile_section_basic_sex_options_other => 'Khác'; + + @override + String get profile_section_basic_date_of_birth_label => 'Ngày sinh'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Tuổi'; + + @override + String get profile_section_basic_age_str_placeholder => 'ví dụ 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Số điện thoại'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Email'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Vị trí'; + + @override + String get profile_section_basic_location_placeholder => + 'Ví dụ: Thành phố, Quốc gia'; + + @override + String get profile_section_body_diet_title => 'Cơ thể & Chế độ ăn'; + + @override + String get profile_section_body_diet_height_str_label => 'Chiều cao'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'ví dụ 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Cân nặng'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'ví dụ: 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Chu kỳ kinh nguyệt'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'ví dụ: Đều, Không đều'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Hạn chế về chế độ ăn'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Vui lòng chọn'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Hãy cho chúng tôi biết bạn ăn gì và bất kỳ hạn chế nào bạn có'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Không có'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Ăn chay'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Thuần chay'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Không chứa gluten'; + + @override + String get profile_section_body_diet_bmi_label => 'Chỉ số khối cơ thể (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'ví dụ 24.5'; + + @override + String get profile_section_health_profile_title => 'Hồ sơ sức khỏe'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Bệnh mãn tính'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'ví dụ: Tiểu đường loại 2'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Vui lòng liệt kê tất cả các bệnh mãn tính và bao gồm thời gian chẩn đoán cũng như bất kỳ biến chứng nào.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Tiền sử bệnh'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'ví dụ: Cảm lạnh thông thường thường xuyên'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Vui lòng liệt kê các bệnh nghiêm trọng bạn đã mắc phải trong quá khứ, ngay cả khi bạn đã hồi phục.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Tiền sử phẫu thuật'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'vd. Cắt ruột thừa'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Vui lòng liệt kê tất cả các ca phẫu thuật và bao gồm năm và liệu có bất kỳ biến chứng nào không.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Thuốc dùng thỉnh thoảng'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'ví dụ: Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Vui lòng liệt kê các loại thuốc bạn dùng từ thời gian này sang thời gian khác (ví dụ: thuốc giảm đau, thuốc dị ứng), bao gồm liều lượng và lý do sử dụng.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Thuốc thường dùng'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'ví dụ: Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Vui lòng liệt kê tất cả các loại thuốc bạn dùng thường xuyên, bao gồm tên, liều lượng, số lần mỗi ngày bạn dùng và tình trạng mà nó dành cho.'; + + @override + String get profile_section_health_profile_allergies_label => 'Dị ứng'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'ví dụ: Penicillin – gây phát ban'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Vui lòng liệt kê tất cả các dị ứng (thuốc, thực phẩm, môi trường) và mô tả phản ứng của bạn (ví dụ: phát ban, sưng, vấn đề về hô hấp).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Tình trạng đặc biệt'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'ví dụ: Mang thai, Khuyết tật'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Nếu bạn có bất kỳ tình trạng y tế quan trọng nào mà bác sĩ nên luôn biết (ví dụ: mang thai, thiết bị cấy ghép, khuyết tật, liệu pháp chống đông máu), vui lòng mô tả chúng. Nếu không có, bạn có thể để trống mục này.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Tiền sử gia đình'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'ví dụ: bệnh tim, ung thư'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Vui lòng mô tả các bệnh quan trọng trong gia đình bạn (ví dụ: tiểu đường, huyết áp cao, bệnh tim, ung thư, bệnh di truyền) và chỉ rõ thành viên nào trong gia đình đã mắc bệnh.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Yếu tố xã hội và lối sống'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'Ví dụ: Hút thuốc, uống rượu'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Vui lòng mô tả các yếu tố lối sống có thể ảnh hưởng đến sức khỏe của bạn, chẳng hạn như hút thuốc, rượu, hoạt động thể chất, chế độ ăn uống, giấc ngủ và nghề nghiệp.'; + + @override + String get profile_section_health_profile_devices_label => 'Thiết bị y tế'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'ví dụ: Máy tạo nhịp tim, Máy trợ thính, Bơm insulin'; + + @override + String get profile_section_health_profile_devices_hint => + 'Vui lòng liệt kê bất kỳ thiết bị y tế nào bạn sử dụng hoặc đã được cấy ghép, chẳng hạn như máy tạo nhịp tim, bơm insulin, máy trợ thính, chân tay giả hoặc các thiết bị hỗ trợ hoặc giám sát khác. Bao gồm các chi tiết liên quan nếu có.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Ăn tạp'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Thức ăn nhanh'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Ăn chay có cá'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Không Chứa Lactose'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Chế độ ăn ít muối'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Chế độ ăn ít đường'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Chế độ ăn tim mạch'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Chế độ ăn thận'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Khác'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_zh.dart b/example/lib/src/generated/profiles/profiles_localization_zh.dart new file mode 100644 index 0000000..403ad98 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_zh.dart @@ -0,0 +1,1650 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Chinese (`zh`). +class ProfilesLocalizationZh extends ProfilesLocalization { + ProfilesLocalizationZh([String locale = 'zh']) : super(locale); + + @override + String get chatDrawerTitle => '健康记录'; + + @override + String get chatDrawerBadgeNew => '新'; + + @override + String get bannerTitle => '创建您的健康记录'; + + @override + String get bannerSubtitle => '在咨询结束时,添加您的个人资料。'; + + @override + String get bannerMoreProfilesTitle => '添加更多个人资料'; + + @override + String get bannerMoreProfilesSubtitle => '为其他人开始咨询以创建他们的个人资料。'; + + @override + String get bannerSignUp => '注册以创建您的健康记录'; + + @override + String get errorRetryButton => '重试'; + + @override + String get dashboardDeleteError => '删除个人资料失败'; + + @override + String get dashboardSummaryLoadError => '加载个人资料摘要失败'; + + @override + String get dashboardMenuViewFullRecord => '查看完整记录'; + + @override + String get dashboardMenuShare => '分享'; + + @override + String get dashboardMenuDelete => '删除'; + + @override + String get dashboardMetricAgeLabel => '年龄'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value岁', + one: '$value岁', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => '体重'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => '身高'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => '过敏'; + + @override + String get dashboardInfoChronicTitle => '慢性'; + + @override + String get dashboardInfoMedicationTitle => '药物'; + + @override + String get dashboardInfoDevicesTitle => '设备'; + + @override + String get dashboardNavigationConsultations => '咨询'; + + @override + String get dashboardNavigationDocuments => '文件'; + + @override + String get dashboardDeleteRecordTitle => '删除健康记录吗?'; + + @override + String get dashboardDeleteRecordSubtitle => + '这将永久删除您的健康数据,无法恢复。您将失去我们用来指导您的上下文。'; + + @override + String get dashboardDeleteRecordCancel => '取消'; + + @override + String get dashboardDeleteRecordConfirm => '删除'; + + @override + String get dashboardDeleteRecordLoading => '正在删除您的健康记录...'; + + @override + String get dashboardDeleteRecordError => '删除个人资料失败'; + + @override + String get dashboardDeleteRecordSuccessTitle => '健康记录已删除'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => '您可以随时通过与助手聊天创建一个新的.'; + + @override + String get dashboardDeleteRecordSuccessButton => '返回聊天'; + + @override + String get dataEditingScreenTitle => '编辑'; + + @override + String get dataFailedToLoadError => '无法加载个人资料数据'; + + @override + String get dataRecordSavedTitle => '更改已保存'; + + @override + String get dataRecordSavedSubtitle => '您的信息已成功更新。'; + + @override + String get dataRecordSavedButton => '返回个人资料'; + + @override + String get dataRecordUpdateError => '更新个人资料数据失败'; + + @override + String get dataRecordDiscardTitle => '放弃更改吗?'; + + @override + String get dataRecordDiscardSubtitle => '您对个人资料进行了更改。在离开之前保存更改,或放弃它们。'; + + @override + String get dataRecordDiscardCancel => '继续编辑'; + + @override + String get dataRecordDiscardConfirm => '丢弃'; + + @override + String get dataRecordEditTooltip => '编辑'; + + @override + String get dataRecordAddTag => '添加记录'; + + @override + String get consultationsSearch => '搜索'; + + @override + String get consultationsSearchEmpty => '未找到结果'; + + @override + String get documentsMenuDownload => '下载'; + + @override + String get documentsMenuShare => '分享'; + + @override + String get documentsMenuDelete => '删除'; + + @override + String get documentsEmptyList => '未找到文档'; + + @override + String get documentsDeleteTitle => '删除此文档吗?'; + + @override + String get documentsDeleteSubtitle => '此文件将被永久删除'; + + @override + String get documentsDeleteCancel => '取消'; + + @override + String get documentsDeleteButton => '删除'; + + @override + String get documentsMoreActionsTooltip => '更多操作'; + + @override + String get profilesSearch => '搜索'; + + @override + String get profilesEmptyList => '未找到个人资料'; + + @override + String get profilesViewMore => '查看更多'; + + @override + String get profilesMore => '更多'; + + @override + String get profilesAnnouncementTitle1 => 'Doctorina 现在记住了您的健康'; + + @override + String get profilesAnnouncementSubtitle1 => '您的咨询现在会自动构建和更新您的健康记录。'; + + @override + String get profilesAnnouncementTitle2 => '您的健康记录,您的规则'; + + @override + String get profilesAnnouncementSubtitle2 => '随时查看、编辑或添加症状、药物、历史或文件。'; + + @override + String get profilesAnnouncementTitle3 => '照顾好您的整个家庭'; + + @override + String get profilesAnnouncementSubtitle3 => '为您的亲人、孩子、父母或伴侣创建健康记录。'; + + @override + String get profilesAnnouncementTitle4 => '准备好保存您的健康记录吗?'; + + @override + String get profilesAnnouncementSubtitle4 => '咨询后,点击“添加个人资料”以保存它。'; + + @override + String get profilesNextButton => '下一步'; + + @override + String get profilesStartButton => '开始咨询'; + + @override + String get profilesLaterButton => '也许稍后'; + + @override + String get profileSuccessCloseButton => '关闭'; + + @override + String get pdfHeaderTitle => '健康记录'; + + @override + String pdfHeaderTitleWithName(String name) { + return '健康记录 — $name'; + } + + @override + String get expandableFieldMore => '...更多'; + + @override + String get expandableFieldLess => '...更少'; + + @override + String get profiles_button_addnew => '添加新档案'; + + @override + String get profiles_label_addnew => '创建一个档案以保存此次咨询的详细信息'; + + @override + String get profiles_label_health_records_hint => '您可以随时在您的健康记录中评估它'; + + @override + String get profiles_label_keep_talking_hint => + '如果您对此或相关任何问题还有更多疑问,欢迎继续与我交谈。我在这里为您提供帮助'; + + @override + String get profile_section_basic_title => '基本信息'; + + @override + String get profile_section_basic_name_label => '姓名'; + + @override + String get profile_section_basic_name_placeholder => '张三'; + + @override + String get profile_section_basic_first_name_label => '名字'; + + @override + String get profile_section_basic_first_name_placeholder => '约翰'; + + @override + String get profile_section_basic_last_name_label => '姓'; + + @override + String get profile_section_basic_last_name_placeholder => '张'; + + @override + String get profile_section_basic_sex_label => '性别'; + + @override + String get profile_section_basic_sex_placeholder => '请选择'; + + @override + String get profile_section_basic_sex_options_male => '男性'; + + @override + String get profile_section_basic_sex_options_female => '女性'; + + @override + String get profile_section_basic_sex_options_other => '其他'; + + @override + String get profile_section_basic_date_of_birth_label => '出生日期'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => '年龄'; + + @override + String get profile_section_basic_age_str_placeholder => '例如 30'; + + @override + String get profile_section_basic_phonenumber_label => '电话号码'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => '电子邮箱'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => '位置'; + + @override + String get profile_section_basic_location_placeholder => '例如:城市,国家'; + + @override + String get profile_section_body_diet_title => '身体与饮食'; + + @override + String get profile_section_body_diet_height_str_label => '身高'; + + @override + String get profile_section_body_diet_height_str_placeholder => '例如 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => '体重'; + + @override + String get profile_section_body_diet_weight_str_placeholder => '例如 75 公斤'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => '月经周期'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + '例如:规律、不规律'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => '饮食限制'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + '请选择'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + '告诉我们您吃什么以及您有哪些限制'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + '无饮食限制'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + '素食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + '纯素'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + '无麸质'; + + @override + String get profile_section_body_diet_bmi_label => '身体质量指数 (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => '例如 24.5'; + + @override + String get profile_section_health_profile_title => '健康档案'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => '慢性疾病'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + '例如:2型糖尿病'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + '请列出所有慢性疾病,并包括诊断时间和任何并发症。'; + + @override + String get profile_section_health_profile_past_illnesses_label => '既往病史'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + '例如:频繁感冒'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + '请列出您过去患过的严重疾病,即使您已经康复。'; + + @override + String get profile_section_health_profile_surgical_history_label => '手术史'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + '例如:阑尾切除术'; + + @override + String get profile_section_health_profile_surgical_history_hint => + '请列出所有手术,并包括年份以及是否有任何并发症。'; + + @override + String get profile_section_health_profile_occasional_medications_label => + '偶尔使用的药物'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + '例如,布洛芬'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + '请列出您偶尔服用的药物(例如:止痛药、过敏药物),包括剂量和使用原因。'; + + @override + String get profile_section_health_profile_regular_medications_label => '常规用药'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + '例如,二甲双胍'; + + @override + String get profile_section_health_profile_regular_medications_hint => + '请列出您定期服用的所有药物,包括名称、剂量、每天服用的次数以及用于治疗的疾病。'; + + @override + String get profile_section_health_profile_allergies_label => '过敏'; + + @override + String get profile_section_health_profile_allergies_placeholder => + '例如:青霉素 – 引起皮疹'; + + @override + String get profile_section_health_profile_allergies_hint => + '请列出所有过敏源(药物、食物、环境),并描述您有什么反应(例如:皮疹、肿胀、呼吸问题)。'; + + @override + String get profile_section_health_profile_special_conditions_label => '特殊情况'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + '例如:怀孕、残疾'; + + @override + String get profile_section_health_profile_special_conditions_hint => + '如果您有任何重要的医疗状况,医生应该始终知道(例如:怀孕、植入设备、残疾、抗凝治疗),请描述它们。如果没有,您可以留空。'; + + @override + String get profile_section_health_profile_family_history_label => '家族史'; + + @override + String get profile_section_health_profile_family_history_placeholder => + '例如:心脏病、癌症'; + + @override + String get profile_section_health_profile_family_history_hint => + '请描述您家族中重要的疾病(例如:糖尿病、高血压、心脏病、癌症、遗传疾病),并说明哪个家庭成员患有该疾病。'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + '社会与生活方式因素'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + '例如吸烟、饮酒'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + '请描述可能影响您健康的生活方式因素,例如吸烟、饮酒、身体活动、饮食、睡眠和职业。'; + + @override + String get profile_section_health_profile_devices_label => '医疗设备'; + + @override + String get profile_section_health_profile_devices_placeholder => + '例如:起搏器、助听器、胰岛素泵'; + + @override + String get profile_section_health_profile_devices_hint => + '请列出您使用或植入的任何医疗设备,例如心脏起搏器、胰岛素泵、助听器、假肢或其他辅助或监测设备。如适用,请包括相关细节。'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + '杂食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + '快餐'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + '海鲜素食者'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + '无乳糖'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + '低钠饮食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + '低糖饮食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + '心脏病饮食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + '肾脏饮食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + '其他'; +} + +/// The translations for Chinese, as used in China (`zh_CN`). +class ProfilesLocalizationZhCn extends ProfilesLocalizationZh { + ProfilesLocalizationZhCn() : super('zh_CN'); + + @override + String get chatDrawerTitle => '健康记录'; + + @override + String get chatDrawerBadgeNew => '新'; + + @override + String get bannerTitle => '创建您的健康记录'; + + @override + String get bannerSubtitle => '在咨询结束时,添加您的个人资料。'; + + @override + String get bannerMoreProfilesTitle => '添加更多个人资料'; + + @override + String get bannerMoreProfilesSubtitle => '为其他人开始咨询以创建他们的个人资料。'; + + @override + String get bannerSignUp => '注册以创建您的健康记录'; + + @override + String get errorRetryButton => '重试'; + + @override + String get dashboardDeleteError => '删除个人资料失败'; + + @override + String get dashboardSummaryLoadError => '加载个人资料摘要失败'; + + @override + String get dashboardMenuViewFullRecord => '查看完整记录'; + + @override + String get dashboardMenuShare => '分享'; + + @override + String get dashboardMenuDelete => '删除'; + + @override + String get dashboardMetricAgeLabel => '年龄'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value岁', + one: '$value岁', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => '体重'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => '身高'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => '过敏'; + + @override + String get dashboardInfoChronicTitle => '慢性'; + + @override + String get dashboardInfoMedicationTitle => '药物'; + + @override + String get dashboardInfoDevicesTitle => '设备'; + + @override + String get dashboardNavigationConsultations => '咨询'; + + @override + String get dashboardNavigationDocuments => '文件'; + + @override + String get dashboardDeleteRecordTitle => '删除健康记录吗?'; + + @override + String get dashboardDeleteRecordSubtitle => + '这将永久删除您的健康数据,无法恢复。您将失去我们用来指导您的上下文。'; + + @override + String get dashboardDeleteRecordCancel => '取消'; + + @override + String get dashboardDeleteRecordConfirm => '删除'; + + @override + String get dashboardDeleteRecordLoading => '正在删除您的健康记录...'; + + @override + String get dashboardDeleteRecordError => '删除个人资料失败'; + + @override + String get dashboardDeleteRecordSuccessTitle => '健康记录已删除'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => '您可以随时通过与助手聊天创建一个新的.'; + + @override + String get dashboardDeleteRecordSuccessButton => '返回聊天'; + + @override + String get dataEditingScreenTitle => '编辑'; + + @override + String get dataFailedToLoadError => '无法加载个人资料数据'; + + @override + String get dataRecordSavedTitle => '更改已保存'; + + @override + String get dataRecordSavedSubtitle => '您的信息已成功更新。'; + + @override + String get dataRecordSavedButton => '返回个人资料'; + + @override + String get dataRecordUpdateError => '更新个人资料数据失败'; + + @override + String get dataRecordDiscardTitle => '放弃更改吗?'; + + @override + String get dataRecordDiscardSubtitle => '您对个人资料进行了更改。在离开之前保存更改,或放弃它们。'; + + @override + String get dataRecordDiscardCancel => '继续编辑'; + + @override + String get dataRecordDiscardConfirm => '丢弃'; + + @override + String get dataRecordEditTooltip => '编辑'; + + @override + String get dataRecordAddTag => '添加记录'; + + @override + String get consultationsSearch => '搜索'; + + @override + String get consultationsSearchEmpty => '未找到结果'; + + @override + String get documentsMenuDownload => '下载'; + + @override + String get documentsMenuShare => '分享'; + + @override + String get documentsMenuDelete => '删除'; + + @override + String get documentsEmptyList => '未找到文档'; + + @override + String get documentsDeleteTitle => '删除此文档吗?'; + + @override + String get documentsDeleteSubtitle => '此文件将被永久删除'; + + @override + String get documentsDeleteCancel => '取消'; + + @override + String get documentsDeleteButton => '删除'; + + @override + String get documentsMoreActionsTooltip => '更多操作'; + + @override + String get profilesSearch => '搜索'; + + @override + String get profilesEmptyList => '未找到个人资料'; + + @override + String get profilesViewMore => '查看更多'; + + @override + String get profilesMore => '更多'; + + @override + String get profilesAnnouncementTitle1 => 'Doctorina 现在记住了您的健康'; + + @override + String get profilesAnnouncementSubtitle1 => '您的咨询现在会自动构建和更新您的健康记录。'; + + @override + String get profilesAnnouncementTitle2 => '您的健康记录,您的规则'; + + @override + String get profilesAnnouncementSubtitle2 => '随时查看、编辑或添加症状、药物、历史或文件。'; + + @override + String get profilesAnnouncementTitle3 => '照顾好您的整个家庭'; + + @override + String get profilesAnnouncementSubtitle3 => '为您的亲人、孩子、父母或伴侣创建健康记录。'; + + @override + String get profilesAnnouncementTitle4 => '准备好保存您的健康记录吗?'; + + @override + String get profilesAnnouncementSubtitle4 => '咨询后,点击“添加个人资料”以保存它。'; + + @override + String get profilesNextButton => '下一步'; + + @override + String get profilesStartButton => '开始咨询'; + + @override + String get profilesLaterButton => '也许稍后'; + + @override + String get profileSuccessCloseButton => '关闭'; + + @override + String get pdfHeaderTitle => '健康记录'; + + @override + String pdfHeaderTitleWithName(String name) { + return '健康记录 — $name'; + } + + @override + String get expandableFieldMore => '...更多'; + + @override + String get expandableFieldLess => '...更少'; + + @override + String get profiles_button_addnew => '添加新档案'; + + @override + String get profiles_label_addnew => '创建一个档案以保存此次咨询的详细信息'; + + @override + String get profiles_label_health_records_hint => '您可以随时在您的健康记录中评估它'; + + @override + String get profiles_label_keep_talking_hint => + '如果您对此或相关任何问题还有更多疑问,欢迎继续与我交谈。我在这里为您提供帮助'; + + @override + String get profile_section_basic_title => '基本信息'; + + @override + String get profile_section_basic_name_label => '姓名'; + + @override + String get profile_section_basic_name_placeholder => '张三'; + + @override + String get profile_section_basic_first_name_label => '名字'; + + @override + String get profile_section_basic_first_name_placeholder => '约翰'; + + @override + String get profile_section_basic_last_name_label => '姓'; + + @override + String get profile_section_basic_last_name_placeholder => '张'; + + @override + String get profile_section_basic_sex_label => '性别'; + + @override + String get profile_section_basic_sex_placeholder => '请选择'; + + @override + String get profile_section_basic_sex_options_male => '男性'; + + @override + String get profile_section_basic_sex_options_female => '女性'; + + @override + String get profile_section_basic_sex_options_other => '其他'; + + @override + String get profile_section_basic_date_of_birth_label => '出生日期'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => '年龄'; + + @override + String get profile_section_basic_age_str_placeholder => '例如 30'; + + @override + String get profile_section_basic_phonenumber_label => '电话号码'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => '电子邮箱'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => '位置'; + + @override + String get profile_section_basic_location_placeholder => '例如:城市,国家'; + + @override + String get profile_section_body_diet_title => '身体与饮食'; + + @override + String get profile_section_body_diet_height_str_label => '身高'; + + @override + String get profile_section_body_diet_height_str_placeholder => '例如 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => '体重'; + + @override + String get profile_section_body_diet_weight_str_placeholder => '例如 75 公斤'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => '月经周期'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + '例如:规律、不规律'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => '饮食限制'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + '请选择'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + '告诉我们您吃什么以及您有哪些限制'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + '无饮食限制'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + '素食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + '纯素'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + '无麸质'; + + @override + String get profile_section_body_diet_bmi_label => '身体质量指数 (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => '例如 24.5'; + + @override + String get profile_section_health_profile_title => '健康档案'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => '慢性疾病'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + '例如:2型糖尿病'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + '请列出所有慢性疾病,并包括诊断时间和任何并发症。'; + + @override + String get profile_section_health_profile_past_illnesses_label => '既往病史'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + '例如:频繁感冒'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + '请列出您过去患过的严重疾病,即使您已经康复。'; + + @override + String get profile_section_health_profile_surgical_history_label => '手术史'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + '例如:阑尾切除术'; + + @override + String get profile_section_health_profile_surgical_history_hint => + '请列出所有手术,并包括年份以及是否有任何并发症。'; + + @override + String get profile_section_health_profile_occasional_medications_label => + '偶尔使用的药物'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + '例如,布洛芬'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + '请列出您偶尔服用的药物(例如:止痛药、过敏药物),包括剂量和使用原因。'; + + @override + String get profile_section_health_profile_regular_medications_label => '常规用药'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + '例如,二甲双胍'; + + @override + String get profile_section_health_profile_regular_medications_hint => + '请列出您定期服用的所有药物,包括名称、剂量、每天服用的次数以及用于治疗的疾病。'; + + @override + String get profile_section_health_profile_allergies_label => '过敏'; + + @override + String get profile_section_health_profile_allergies_placeholder => + '例如:青霉素 – 引起皮疹'; + + @override + String get profile_section_health_profile_allergies_hint => + '请列出所有过敏源(药物、食物、环境),并描述您有什么反应(例如:皮疹、肿胀、呼吸问题)。'; + + @override + String get profile_section_health_profile_special_conditions_label => '特殊情况'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + '例如:怀孕、残疾'; + + @override + String get profile_section_health_profile_special_conditions_hint => + '如果您有任何重要的医疗状况,医生应该始终知道(例如:怀孕、植入设备、残疾、抗凝治疗),请描述它们。如果没有,您可以留空。'; + + @override + String get profile_section_health_profile_family_history_label => '家族史'; + + @override + String get profile_section_health_profile_family_history_placeholder => + '例如:心脏病、癌症'; + + @override + String get profile_section_health_profile_family_history_hint => + '请描述您家族中重要的疾病(例如:糖尿病、高血压、心脏病、癌症、遗传疾病),并说明哪个家庭成员患有该疾病。'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + '社会与生活方式因素'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + '例如吸烟、饮酒'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + '请描述可能影响您健康的生活方式因素,例如吸烟、饮酒、身体活动、饮食、睡眠和职业。'; + + @override + String get profile_section_health_profile_devices_label => '医疗设备'; + + @override + String get profile_section_health_profile_devices_placeholder => + '例如:起搏器、助听器、胰岛素泵'; + + @override + String get profile_section_health_profile_devices_hint => + '请列出您使用或植入的任何医疗设备,例如心脏起搏器、胰岛素泵、助听器、假肢或其他辅助或监测设备。如适用,请包括相关细节。'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + '杂食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + '快餐'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + '海鲜素食者'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + '无乳糖'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + '低钠饮食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + '低糖饮食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + '心脏病饮食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + '肾脏饮食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + '其他'; +} + +/// The translations for Chinese, as used in Hong Kong (`zh_HK`). +class ProfilesLocalizationZhHk extends ProfilesLocalizationZh { + ProfilesLocalizationZhHk() : super('zh_HK'); + + @override + String get chatDrawerTitle => '健康記錄'; + + @override + String get chatDrawerBadgeNew => '新'; + + @override + String get bannerTitle => '建立您的健康記錄'; + + @override + String get bannerSubtitle => '在諮詢結束時,添加您的個人資料。'; + + @override + String get bannerMoreProfilesTitle => '添加更多個人資料'; + + @override + String get bannerMoreProfilesSubtitle => '為其他人開始諮詢以創建他們的個人資料。'; + + @override + String get bannerSignUp => '註冊以創建您的健康記錄'; + + @override + String get errorRetryButton => '重試'; + + @override + String get dashboardDeleteError => '刪除個人資料失敗'; + + @override + String get dashboardSummaryLoadError => '無法加載個人資料摘要'; + + @override + String get dashboardMenuViewFullRecord => '查看完整記錄'; + + @override + String get dashboardMenuShare => '分享'; + + @override + String get dashboardMenuDelete => '刪除'; + + @override + String get dashboardMetricAgeLabel => '年齡'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value 年', + one: '$value 年', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => '體重'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => '高度'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value 厘米'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => '過敏'; + + @override + String get dashboardInfoChronicTitle => '慢性'; + + @override + String get dashboardInfoMedicationTitle => '藥物'; + + @override + String get dashboardInfoDevicesTitle => '設備'; + + @override + String get dashboardNavigationConsultations => '諮詢'; + + @override + String get dashboardNavigationDocuments => '文件'; + + @override + String get dashboardDeleteRecordTitle => '刪除健康記錄?'; + + @override + String get dashboardDeleteRecordSubtitle => + '這將永久刪除您的健康數據,無法恢復。您將失去我們用來指導您的背景。'; + + @override + String get dashboardDeleteRecordCancel => '取消'; + + @override + String get dashboardDeleteRecordConfirm => '刪除'; + + @override + String get dashboardDeleteRecordLoading => '正在刪除您的健康記錄...'; + + @override + String get dashboardDeleteRecordError => '刪除個人資料失敗'; + + @override + String get dashboardDeleteRecordSuccessTitle => '健康記錄已刪除'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => '您可以隨時通過與助手聊天來創建新的。'; + + @override + String get dashboardDeleteRecordSuccessButton => '返回聊天'; + + @override + String get dataEditingScreenTitle => '編輯'; + + @override + String get dataFailedToLoadError => '無法加載個人資料數據'; + + @override + String get dataRecordSavedTitle => '變更已儲存'; + + @override + String get dataRecordSavedSubtitle => '您的信息已成功更新。'; + + @override + String get dataRecordSavedButton => '返回個人資料'; + + @override + String get dataRecordUpdateError => '無法更新個人資料'; + + @override + String get dataRecordDiscardTitle => '放棄更改嗎?'; + + @override + String get dataRecordDiscardSubtitle => '您對您的個人資料做了一些更改。在離開之前請保存它們,或放棄它們。'; + + @override + String get dataRecordDiscardCancel => '繼續編輯'; + + @override + String get dataRecordDiscardConfirm => '捨棄'; + + @override + String get dataRecordEditTooltip => '編輯'; + + @override + String get dataRecordAddTag => '添加記錄'; + + @override + String get consultationsSearch => '搜尋'; + + @override + String get consultationsSearchEmpty => '未找到結果'; + + @override + String get documentsMenuDownload => '下載'; + + @override + String get documentsMenuShare => '分享'; + + @override + String get documentsMenuDelete => '刪除'; + + @override + String get documentsEmptyList => '未找到文件'; + + @override + String get documentsDeleteTitle => '要刪除這份文件嗎?'; + + @override + String get documentsDeleteSubtitle => '此文件將被永久刪除'; + + @override + String get documentsDeleteCancel => '取消'; + + @override + String get documentsDeleteButton => '刪除'; + + @override + String get documentsMoreActionsTooltip => '更多操作'; + + @override + String get profilesSearch => '搜尋'; + + @override + String get profilesEmptyList => '找不到個人檔案'; + + @override + String get profilesViewMore => '查看更多'; + + @override + String get profilesMore => '更多'; + + @override + String get profilesAnnouncementTitle1 => 'Doctorina 現在記得你的健康'; + + @override + String get profilesAnnouncementSubtitle1 => '您的諮詢現在會自動建立和更新您的健康紀錄。'; + + @override + String get profilesAnnouncementTitle2 => '你的健康紀錄,你的規則'; + + @override + String get profilesAnnouncementSubtitle2 => '隨時查看、編輯或添加症狀、藥物、病史或文件。'; + + @override + String get profilesAnnouncementTitle3 => '照顧您全家'; + + @override + String get profilesAnnouncementSubtitle3 => '為您的摯愛、孩子、父母或伴侶創建健康記錄。'; + + @override + String get profilesAnnouncementTitle4 => '準備好保存您的健康記錄了嗎?'; + + @override + String get profilesAnnouncementSubtitle4 => '在諮詢後,點擊「新增檔案」以保存。'; + + @override + String get profilesNextButton => '下一步'; + + @override + String get profilesStartButton => '開始諮詢'; + + @override + String get profilesLaterButton => '稍後再說'; + + @override + String get profileSuccessCloseButton => '關閉'; + + @override + String get pdfHeaderTitle => '健康記錄'; + + @override + String pdfHeaderTitleWithName(String name) { + return '健康記錄 — $name'; + } + + @override + String get expandableFieldMore => '...更多'; + + @override + String get expandableFieldLess => '...少'; + + @override + String get profiles_button_addnew => '新增個人檔案'; + + @override + String get profiles_label_addnew => '創建一個檔案以保存此諮詢的詳細信息。'; + + @override + String get profiles_label_health_records_hint => '您可隨時在健康記錄中查看'; + + @override + String get profiles_label_keep_talking_hint => + '如果你對這件事或任何相關問題有更多疑問,歡迎隨時繼續與我對話。我在這裡幫助你'; + + @override + String get profile_section_basic_title => '一般資料'; + + @override + String get profile_section_basic_name_label => '姓名'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => '名字'; + + @override + String get profile_section_basic_first_name_placeholder => '約翰'; + + @override + String get profile_section_basic_last_name_label => '姓氏'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => '性別'; + + @override + String get profile_section_basic_sex_placeholder => '請選擇'; + + @override + String get profile_section_basic_sex_options_male => '男'; + + @override + String get profile_section_basic_sex_options_female => '女性'; + + @override + String get profile_section_basic_sex_options_other => '其他'; + + @override + String get profile_section_basic_date_of_birth_label => '出生日期'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => '年齡'; + + @override + String get profile_section_basic_age_str_placeholder => '例如 30'; + + @override + String get profile_section_basic_phonenumber_label => '電話號碼'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => '電郵'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => '地點'; + + @override + String get profile_section_basic_location_placeholder => '例如 城市,國家'; + + @override + String get profile_section_body_diet_title => '身體與飲食'; + + @override + String get profile_section_body_diet_height_str_label => '身高'; + + @override + String get profile_section_body_diet_height_str_placeholder => '例如 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => '體重'; + + @override + String get profile_section_body_diet_weight_str_placeholder => '例如 75 公斤'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => '月經週期'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + '例如 規律、不規律'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => '飲食限制'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + '請選擇'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + '告訴我們您吃什麼以及您有任何限制'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => '無'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + '素食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + '純素'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + '無麩質'; + + @override + String get profile_section_body_diet_bmi_label => '身體質量指數 (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => '例如 24.5'; + + @override + String get profile_section_health_profile_title => '健康檔案'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => '慢性疾病'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + '例如. 二型糖尿病'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + '請列出所有慢性疾病,並包括診斷時間及任何併發症。'; + + @override + String get profile_section_health_profile_past_illnesses_label => '既往疾病'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + '例如:經常感冒'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + '請列出您過去曾經患過的重大疾病,即使您已經康復。'; + + @override + String get profile_section_health_profile_surgical_history_label => '手術史'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + '例如 闌尾切除術'; + + @override + String get profile_section_health_profile_surgical_history_hint => + '請列出所有手術,並包括年份及是否有任何併發症。'; + + @override + String get profile_section_health_profile_occasional_medications_label => + '偶爾使用的藥物'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + '例如:布洛芬'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + '請列出您偶爾服用的藥物(例如:止痛藥、過敏藥物),包括劑量和使用原因。'; + + @override + String get profile_section_health_profile_regular_medications_label => '常用藥物'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + '例如:二甲雙胍'; + + @override + String get profile_section_health_profile_regular_medications_hint => + '請列出您定期服用的所有藥物,包括名稱、劑量、每天服用的次數以及用於什麼病症。'; + + @override + String get profile_section_health_profile_allergies_label => '過敏'; + + @override + String get profile_section_health_profile_allergies_placeholder => + '例如:青黴素 – 會引起皮疹'; + + @override + String get profile_section_health_profile_allergies_hint => + '請列出所有過敏源(藥物、食物、環境),並描述您有什麼反應(例如:皮疹、腫脹、呼吸問題)。'; + + @override + String get profile_section_health_profile_special_conditions_label => '特殊情況'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + '例如:懷孕、殘疾'; + + @override + String get profile_section_health_profile_special_conditions_hint => + '如果您有任何重要的醫療狀況,醫生應該始終知道(例如:懷孕、植入裝置、殘疾、抗凝治療),請描述它們。如果沒有,您可以留空。'; + + @override + String get profile_section_health_profile_family_history_label => '家族病史'; + + @override + String get profile_section_health_profile_family_history_placeholder => + '例如心臟病、癌症'; + + @override + String get profile_section_health_profile_family_history_hint => + '請描述您家族中的重要疾病(例如:糖尿病、高血壓、心臟病、癌症、遺傳疾病),並指明哪位家庭成員曾患有該病。'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + '社交及生活方式因素'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + '例如:吸煙、飲酒'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + '請描述可能影響您健康的生活方式因素,例如吸煙、飲酒、身體活動、飲食、睡眠和職業。'; + + @override + String get profile_section_health_profile_devices_label => '醫療器材'; + + @override + String get profile_section_health_profile_devices_placeholder => + '例如:心臟起搏器、助聽器、胰島素泵'; + + @override + String get profile_section_health_profile_devices_hint => + '請列出您使用或植入的任何醫療設備,例如心臟起搏器、胰島素泵、助聽器、義肢或其他輔助或監測設備。如適用,請包括相關細節。'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + '雜食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + '快餐'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + '魚素食者'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + '無乳糖'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + '低鈉飲食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + '低糖飲食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + '心臟病飲食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + '腎臟飲食'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + '其他'; +} diff --git a/example/lib/src/generated/profiles/profiles_localization_zu.dart b/example/lib/src/generated/profiles/profiles_localization_zu.dart new file mode 100644 index 0000000..3c22f50 --- /dev/null +++ b/example/lib/src/generated/profiles/profiles_localization_zu.dart @@ -0,0 +1,586 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'profiles_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Zulu (`zu`). +class ProfilesLocalizationZu extends ProfilesLocalization { + ProfilesLocalizationZu([String locale = 'zu']) : super(locale); + + @override + String get chatDrawerTitle => 'Irekhodi Zempilo'; + + @override + String get chatDrawerBadgeNew => 'OKUSHAYAYO'; + + @override + String get bannerTitle => 'Dala irekhodi yakho yezempilo'; + + @override + String get bannerSubtitle => + 'Ekupheleni kokubonisana kwakho, engeza iphrofayela yakho.'; + + @override + String get bannerMoreProfilesTitle => 'Engeza emaphrofini'; + + @override + String get bannerMoreProfilesSubtitle => + 'Qala ukuxhumana nomunye umuntu ukuze akhe iphrofayela yakhe.'; + + @override + String get bannerSignUp => 'Bhalisela ukuze udale irekhodi yakho yezempilo'; + + @override + String get errorRetryButton => 'Phinda'; + + @override + String get dashboardDeleteError => + 'Ukwenza kube nephutha ukususa iphrofayela'; + + @override + String get dashboardSummaryLoadError => + 'Ukuphuma kwephrofayela akuphumelelanga'; + + @override + String get dashboardMenuViewFullRecord => 'Buka iRekhodi Ephelele'; + + @override + String get dashboardMenuShare => 'Yabelana'; + + @override + String get dashboardMenuDelete => 'Susa'; + + @override + String get dashboardMetricAgeLabel => 'Iminyaka'; + + @override + String dashboardMetricAgeNumLabel(num value) { + String _temp0 = intl.Intl.pluralLogic( + value, + locale: localeName, + other: '$value iminyaka', + one: '$value unyaka', + ); + return '$_temp0'; + } + + @override + String get dashboardMetricWeightLabel => 'Isisindo'; + + @override + String dashboardMetricWeightNumLabel(num value) { + return '$value kg'; + } + + @override + String get dashboardMetricHeightLabel => 'Ukuphakama'; + + @override + String dashboardMetricHeightNumLabel(num value) { + return '$value cm'; + } + + @override + String get dashboardMetricNotAvailable => 'N/A'; + + @override + String get dashboardInfoAllergiesTitle => 'Izifo'; + + @override + String get dashboardInfoChronicTitle => 'Okhula'; + + @override + String get dashboardInfoMedicationTitle => 'Imithi'; + + @override + String get dashboardInfoDevicesTitle => 'Izinsiza'; + + @override + String get dashboardNavigationConsultations => 'Izinkulumo'; + + @override + String get dashboardNavigationDocuments => 'Amadokhumenti'; + + @override + String get dashboardDeleteRecordTitle => 'Susa irekhodi yezempilo?'; + + @override + String get dashboardDeleteRecordSubtitle => + 'Lokhu kuzokhipha idatha yakho yezempilo ngokuqhubekayo futhi akukwazi ukubuyiselwa. Uzolahlekelwa umongo esiwusebenzisa ukukuhola.'; + + @override + String get dashboardDeleteRecordCancel => 'Khansela'; + + @override + String get dashboardDeleteRecordConfirm => 'Susa'; + + @override + String get dashboardDeleteRecordLoading => + 'Ukususa irekhodi yakho yezempilo...'; + + @override + String get dashboardDeleteRecordError => + 'Ukwenza kube nephutha ukususa iphrofayela'; + + @override + String get dashboardDeleteRecordSuccessTitle => 'Irekhodi yezempilo isuswe'; + + @override + String get dashboardDeleteRecordSuccessSubtitle => + 'Ungakwazi ukudala entsha nganoma yisiphi isikhathi ngokukhuluma nomsizi.'; + + @override + String get dashboardDeleteRecordSuccessButton => 'Buyela ku-Chat'; + + @override + String get dataEditingScreenTitle => 'Ukuhlela'; + + @override + String get dataFailedToLoadError => 'Uphrofayili bokhwejwe'; + + @override + String get dataRecordSavedTitle => 'Izinguquko zigciniwe'; + + @override + String get dataRecordSavedSubtitle => + 'Ulwazi lwakho luphumelele ukuvuselelwa.'; + + @override + String get dataRecordSavedButton => 'Buyela kuprofayela'; + + @override + String get dataRecordUpdateError => + 'Ukwenza kube nephutha ukuvuselela idatha yephrofayela'; + + @override + String get dataRecordDiscardTitle => 'Uphumelele izinguquko?'; + + @override + String get dataRecordDiscardSubtitle => + 'Uwenze ezinye izinguquko kuphrofayela lwakho. Gcina ngaphambi kokuhamba, noma uphume.'; + + @override + String get dataRecordDiscardCancel => 'Qhubeka uhlela'; + + @override + String get dataRecordDiscardConfirm => 'Phuma'; + + @override + String get dataRecordEditTooltip => 'Hlela'; + + @override + String get dataRecordAddTag => 'Engeza irekhodi'; + + @override + String get consultationsSearch => 'Sesha'; + + @override + String get consultationsSearchEmpty => 'Ayikho imiphumela'; + + @override + String get documentsMenuDownload => 'Landa'; + + @override + String get documentsMenuShare => 'Yabelana'; + + @override + String get documentsMenuDelete => 'Susa'; + + @override + String get documentsEmptyList => 'Ayikho imibhalo etholakale'; + + @override + String get documentsDeleteTitle => 'Ufunani ukususa lo mbhalo?'; + + @override + String get documentsDeleteSubtitle => + 'Le-fayela lezozokhuluma kuzokhishwa ngokuphelele'; + + @override + String get documentsDeleteCancel => 'Khansela'; + + @override + String get documentsDeleteButton => 'Susa'; + + @override + String get documentsMoreActionsTooltip => 'Ezinye izenzo'; + + @override + String get profilesSearch => 'Sesha'; + + @override + String get profilesEmptyList => 'Awekho amaphrofayela atholakele'; + + @override + String get profilesViewMore => 'Buka okwengeziwe'; + + @override + String get profilesMore => 'Okwengeza'; + + @override + String get profilesAnnouncementTitle1 => + 'IDoctorina manje remembers impilo yakho'; + + @override + String get profilesAnnouncementSubtitle1 => + 'Izinkulumo zakho manje zakha futhi zihlaziya iRekhodi leMpilo yakho ngokuzenzakalelayo.'; + + @override + String get profilesAnnouncementTitle2 => + 'Irekhodi yakho yokwelashwa, imithetho yakho'; + + @override + String get profilesAnnouncementSubtitle2 => + 'Bheka, hlela, noma ungeze izimpawu, imishanguzo, umlando, noma imibhalo nganoma yisiphi isikhathi.'; + + @override + String get profilesAnnouncementTitle3 => 'Care for your whole family'; + + @override + String get profilesAnnouncementSubtitle3 => + 'Dala irekhodi yeMpilo yabathandiwe, izingane zakho, abazali, noma umlingani wakho.'; + + @override + String get profilesAnnouncementTitle4 => + 'Usebenzisa ukugcina iHealth Record yakho?'; + + @override + String get profilesAnnouncementSubtitle4 => + 'Ngemuva kokubonisana, cindezela “Engeza iphrofayela” ukuze uyigcine.'; + + @override + String get profilesNextButton => 'Okulandelayo'; + + @override + String get profilesStartButton => 'Qala ukuxhumana'; + + @override + String get profilesLaterButton => 'Maybe later'; + + @override + String get profileSuccessCloseButton => 'Vala'; + + @override + String get pdfHeaderTitle => 'Irekhodi Yezempilo'; + + @override + String pdfHeaderTitleWithName(String name) { + return 'Irekhodi Yezempilo — $name'; + } + + @override + String get expandableFieldMore => '...okuningi'; + + @override + String get expandableFieldLess => '...okuncane'; + + @override + String get profiles_button_addnew => 'Engeza iphrofayili entsha'; + + @override + String get profiles_label_addnew => + 'Dala iphrofayili ukuze ugcine imininingwane yalolu xhumano.'; + + @override + String get profiles_label_health_records_hint => + 'Ungakuhlola noma kunini ku-Health Records yakho'; + + @override + String get profiles_label_keep_talking_hint => + 'Uma unemibuzo eyengeziwe ngale nto noma nganoma yini ehlobene nayo, uzizwe ukhululekile ukuqhubeka ukhuluma nami. Ngilapha ukuze ngikusize'; + + @override + String get profile_section_basic_title => 'Ulwazi Jikelele'; + + @override + String get profile_section_basic_name_label => 'Igama'; + + @override + String get profile_section_basic_name_placeholder => 'John Doe'; + + @override + String get profile_section_basic_first_name_label => 'Igama lokuqala'; + + @override + String get profile_section_basic_first_name_placeholder => 'John'; + + @override + String get profile_section_basic_last_name_label => 'Isibongo'; + + @override + String get profile_section_basic_last_name_placeholder => 'Doe'; + + @override + String get profile_section_basic_sex_label => 'Ubulili'; + + @override + String get profile_section_basic_sex_placeholder => 'Sicela ukhethe'; + + @override + String get profile_section_basic_sex_options_male => 'Owesilisa'; + + @override + String get profile_section_basic_sex_options_female => 'Owesifazane'; + + @override + String get profile_section_basic_sex_options_other => 'Okunye'; + + @override + String get profile_section_basic_date_of_birth_label => 'Usuku lokuzalwa'; + + @override + String get profile_section_basic_date_of_birth_placeholder => 'YYYY-MM-DD'; + + @override + String get profile_section_basic_age_str_label => 'Ubudala'; + + @override + String get profile_section_basic_age_str_placeholder => 'e.g. 30'; + + @override + String get profile_section_basic_phonenumber_label => 'Inombolo yocingo'; + + @override + String get profile_section_basic_phonenumber_placeholder => + '+xxx xxx xxx xxx'; + + @override + String get profile_section_basic_email_label => 'Imeyili'; + + @override + String get profile_section_basic_email_placeholder => 'example@example.com'; + + @override + String get profile_section_basic_location_label => 'Indawo'; + + @override + String get profile_section_basic_location_placeholder => + 'isb. Idolobha, Izwe'; + + @override + String get profile_section_body_diet_title => 'Umzimba & Ukudla'; + + @override + String get profile_section_body_diet_height_str_label => 'Ubude'; + + @override + String get profile_section_body_diet_height_str_placeholder => 'e.g. 180 cm'; + + @override + String get profile_section_body_diet_weight_str_label => 'Isisindo'; + + @override + String get profile_section_body_diet_weight_str_placeholder => 'e.g. 75 kg'; + + @override + String get profile_section_body_diet_menstrual_cycle_label => + 'Umjikelezo Wokuya Esikhathini'; + + @override + String get profile_section_body_diet_menstrual_cycle_placeholder => + 'e.g. Okuvamile, Okungavamile'; + + @override + String get profile_section_body_diet_dietary_restrictions_label => + 'Imikhawulo Yokudla'; + + @override + String get profile_section_body_diet_dietary_restrictions_placeholder => + 'Sicela ukhethe'; + + @override + String get profile_section_body_diet_dietary_restrictions_hint => + 'Sazise ukuthi udla ini kanye nezithiyo onazo'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_none => + 'Akukho'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_vegetarian => + 'Odla imifino'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_vegan => + 'Vegan'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_gluten_free => + 'Ayikho gluten'; + + @override + String get profile_section_body_diet_bmi_label => + 'Inkomba Yesisindo Somzimba (BMI)'; + + @override + String get profile_section_body_diet_bmi_placeholder => 'isb. 24.5'; + + @override + String get profile_section_health_profile_title => 'Iphrofayili Yezempilo'; + + @override + String get profile_section_health_profile_chronic_illnesses_label => + 'Izifo ezihlala isikhathi eside'; + + @override + String get profile_section_health_profile_chronic_illnesses_placeholder => + 'isb. Uhlobo 2 lweDiabetes'; + + @override + String get profile_section_health_profile_chronic_illnesses_hint => + 'Sicela uhluze zonke izifo ezinzima futhi ufake isikhathi sokuthi zatholakala nini kanye nanoma yiziphi izinkinga.'; + + @override + String get profile_section_health_profile_past_illnesses_label => + 'Izifo Zangaphambilini'; + + @override + String get profile_section_health_profile_past_illnesses_placeholder => + 'isb. Ukhuhlwa okujwayelekile'; + + @override + String get profile_section_health_profile_past_illnesses_hint => + 'Sicela uhluze izifo ezinzima obekade unazo esikhathini esedlulelayo, noma usuphile.'; + + @override + String get profile_section_health_profile_surgical_history_label => + 'Umlando Wokuhlinzwa'; + + @override + String get profile_section_health_profile_surgical_history_placeholder => + 'e.g. Appendectomy'; + + @override + String get profile_section_health_profile_surgical_history_hint => + 'Sicela uhluze zonke izinqubo zokuhlinzwa futhi ufake unyaka kanye nokuthi kube khona izinkinga.'; + + @override + String get profile_section_health_profile_occasional_medications_label => + 'Imithi Esetshenziswa Ngezikhathi Ezithile'; + + @override + String + get profile_section_health_profile_occasional_medications_placeholder => + 'isb. Ibuprofen'; + + @override + String get profile_section_health_profile_occasional_medications_hint => + 'Sicela uhluze imishanguzo oyithathayo ngezikhathi ezithile (isibonelo: imishanguzo yokwehlisa ubuhlungu, imishanguzo yokwelapha izifo zokuhlunguza), kuhlanganise nomthamo kanye nesizathu sokusetshenziswa.'; + + @override + String get profile_section_health_profile_regular_medications_label => + 'Imithi Ejwayelekile'; + + @override + String get profile_section_health_profile_regular_medications_placeholder => + 'isb. Metformin'; + + @override + String get profile_section_health_profile_regular_medications_hint => + 'Sicela uhluze zonke izidakamizwa ozithathayo njalo, kuhlanganise negama, umthamo, ukuthi uthatha kangaki ngosuku, nokuthi iyini isimo esiyinhloko.'; + + @override + String get profile_section_health_profile_allergies_label => 'Ukuzwela'; + + @override + String get profile_section_health_profile_allergies_placeholder => + 'isb. Penicillin – kubangela umkhuhlane'; + + @override + String get profile_section_health_profile_allergies_hint => + 'Sicela uhluze zonke izifo zokuhlasela (imithi, ukudla, imvelo), futhi uchaze ukuthi yisiphi isenzo osithola (isibonelo: umkhuhlane, ukuvuvukala, izinkinga zokuphefumula).'; + + @override + String get profile_section_health_profile_special_conditions_label => + 'Izimo Ezikhethekile'; + + @override + String get profile_section_health_profile_special_conditions_placeholder => + 'ngokwesibonelo Ukukhulelwa, Ukukhubazeka'; + + @override + String get profile_section_health_profile_special_conditions_hint => + 'Uma unazo izimo ezibalulekile zempilo okufanele zaziwe ngodokotela (isibonelo: ukukhulelwa, amadivayisi afakwe, ukungasebenzi kahle, ukwelashwa kwe-anticoagulation), sicela uchaze lezi zimo. Uma ungenazo, ungashiya lokhu kungcolile.'; + + @override + String get profile_section_health_profile_family_history_label => + 'Umlando womndeni'; + + @override + String get profile_section_health_profile_family_history_placeholder => + 'e.g. Isifo senhliziyo, Umdlavuza'; + + @override + String get profile_section_health_profile_family_history_hint => + 'Sicela uchaze ngempilo ebalulekile emndenini wakho (isibonelo: ushukela, ukucindezeleka, isifo senhliziyo, umdlavuza, izifo ezithathelwana) futhi uchaze ukuthi ubani emndenini onale msebenzi.'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_label => + 'Izici Zenhlalo Nezindlela Zokuphila'; + + @override + String + get profile_section_health_profile_social_lifestyle_factors_placeholder => + 'isb. Ukubhema, Ukusetshenziswa Kotshwala'; + + @override + String get profile_section_health_profile_social_lifestyle_factors_hint => + 'Sicela uchaze ngezici zokuphila ezingathinta impilo yakho, ezifana nokubhema, utshwala, imisebenzi yomzimba, ukudla, ukulala, kanye nomsebenzi.'; + + @override + String get profile_section_health_profile_devices_label => + 'Amadivayisi Wezokwelapha'; + + @override + String get profile_section_health_profile_devices_placeholder => + 'e.g. Pacemaker, Ithuluzi lokuzwa, Iphampu ye-insulini'; + + @override + String get profile_section_health_profile_devices_hint => + 'Sicela uhluze noma yiziphi izinsiza zezokwelapha ozisebenzisayo noma ozifakile, njengezikhwama zokuphila, amapompo e-insulin, izinsiza zokuzwa, ama-prosthetics, noma ezinye izinsiza zokweseka noma zokubheka. Faka imininingwane efanele uma ikhona.'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_omnivorous => + 'Udla zombili'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_fast_food => + 'Ukudla Okusheshayo'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_pescatarian => + 'Udla inhlanzi'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_lactose_free => + 'Ingenalo i-lactose'; + + @override + String + get profile_section_body_diet_dietary_restrictions_options_low_sodium => + 'Idayethi enesodium ephansi'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_low_sugar => + 'Ukudla okunoshukela ophansi'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_cardiac => + 'Ukudla kwenhliziyo'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_renal => + 'Uhlelo lokudla lwezitho zomzimba'; + + @override + String get profile_section_body_diet_dietary_restrictions_options_other => + 'Okunye'; +} diff --git a/example/lib/src/generated/settings/settings_localization.dart b/example/lib/src/generated/settings/settings_localization.dart index d95a45c..257a9d1 100644 --- a/example/lib/src/generated/settings/settings_localization.dart +++ b/example/lib/src/generated/settings/settings_localization.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! import 'dart:async'; import 'package:flutter/foundation.dart'; @@ -6,18 +6,60 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; +import 'settings_localization_af.dart'; +import 'settings_localization_am.dart'; import 'settings_localization_ar.dart'; +import 'settings_localization_az.dart'; +import 'settings_localization_be.dart'; +import 'settings_localization_bg.dart'; import 'settings_localization_bn.dart'; +import 'settings_localization_ca.dart'; +import 'settings_localization_cs.dart'; +import 'settings_localization_da.dart'; import 'settings_localization_de.dart'; +import 'settings_localization_el.dart'; import 'settings_localization_en.dart'; import 'settings_localization_es.dart'; +import 'settings_localization_fa.dart'; import 'settings_localization_fr.dart'; +import 'settings_localization_gu.dart'; +import 'settings_localization_he.dart'; import 'settings_localization_hi.dart'; +import 'settings_localization_hu.dart'; +import 'settings_localization_id.dart'; import 'settings_localization_it.dart'; +import 'settings_localization_ja.dart'; +import 'settings_localization_kk.dart'; +import 'settings_localization_km.dart'; +import 'settings_localization_kn.dart'; import 'settings_localization_ko.dart'; +import 'settings_localization_lo.dart'; +import 'settings_localization_ml.dart'; +import 'settings_localization_mr.dart'; +import 'settings_localization_ms.dart'; +import 'settings_localization_my.dart'; +import 'settings_localization_ne.dart'; +import 'settings_localization_nl.dart'; +import 'settings_localization_pa.dart'; +import 'settings_localization_pl.dart'; +import 'settings_localization_ps.dart'; import 'settings_localization_pt.dart'; +import 'settings_localization_ro.dart'; import 'settings_localization_ru.dart'; +import 'settings_localization_si.dart'; +import 'settings_localization_sk.dart'; +import 'settings_localization_sw.dart'; +import 'settings_localization_ta.dart'; +import 'settings_localization_te.dart'; +import 'settings_localization_th.dart'; +import 'settings_localization_tl.dart'; +import 'settings_localization_tr.dart'; +import 'settings_localization_uk.dart'; +import 'settings_localization_ur.dart'; +import 'settings_localization_uz.dart'; +import 'settings_localization_vi.dart'; import 'settings_localization_zh.dart'; +import 'settings_localization_zu.dart'; // ignore_for_file: type=lint @@ -106,28 +148,67 @@ abstract class SettingsLocalization { /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ + Locale('af'), + Locale('am'), Locale('ar'), + Locale('ar', 'EG'), + Locale('az'), + Locale('be'), + Locale('bg'), Locale('bn'), + Locale('ca'), + Locale('cs'), + Locale('da'), Locale('de'), + Locale('el'), Locale('en'), Locale('es'), + Locale('fa'), Locale('fr'), + Locale('gu'), + Locale('he'), Locale('hi'), + Locale('hu'), + Locale('id'), Locale('it'), + Locale('ja'), + Locale('kk'), + Locale('km'), + Locale('kn'), Locale('ko'), + Locale('lo'), + Locale('ml'), + Locale('mr'), + Locale('ms'), + Locale('my'), + Locale('ne'), + Locale('nl'), + Locale('pa'), + Locale('pa', 'PK'), + Locale('pl'), + Locale('ps'), Locale('pt'), Locale('pt', 'BR'), + Locale('ro'), Locale('ru'), + Locale('si'), + Locale('sk'), + Locale('sw'), + Locale('ta'), + Locale('te'), + Locale('th'), + Locale('tl'), + Locale('tr'), + Locale('uk'), + Locale('ur'), + Locale('uz'), + Locale('vi'), Locale('zh'), - Locale('zh', 'CN') + Locale('zh', 'CN'), + Locale('zh', 'HK'), + Locale('zu') ]; - /// Заголовок экрана - /// - /// In en, this message translates to: - /// **'Account Settings'** - String get title; - /// Заголовок карточки /// /// In en, this message translates to: @@ -200,17 +281,29 @@ abstract class SettingsLocalization { /// **'Send Bug Report'** String get sendBugReportButton; - /// No description provided for @sectionSendMessageWithShiftEnterTitle. + /// Отправить сообщение с [⏎ Enter] /// /// In en, this message translates to: /// **'Send message with [⏎ Enter]'** - String get sectionSendMessageWithShiftEnterTitle; + String get sectionSendMessageWithEnterTitle; - /// No description provided for @sectionSendMessageWithShiftEnterSubtitle. + /// Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter] /// /// In en, this message translates to: /// **'Send a message with [⏎ Enter] and a new line with [Shift] + [⏎ Enter]'** - String get sectionSendMessageWithShiftEnterSubtitle; + String get sectionSendMessageWithEnterSubtitle; + + /// Короткий текст для опции отправить сообщение с [⏎ Enter] + /// + /// In en, this message translates to: + /// **'Send with [⏎ Enter]'** + String get sectionSendMessageEnter; + + /// Короткий текст для секции политики конфиденциальности + /// + /// In en, this message translates to: + /// **'Privacy Policy'** + String get sectionPrivacyPolicy; /// No description provided for @sectionSelectLocaleTitle. /// @@ -301,6 +394,258 @@ abstract class SettingsLocalization { /// In en, this message translates to: /// **'Manage your subscription settings'** String get sectionManageSubscriptionSubtitle; + + /// No description provided for @sectionHapticFeedbackTitle. + /// + /// In en, this message translates to: + /// **'Haptic Feedback'** + String get sectionHapticFeedbackTitle; + + /// No description provided for @sectionHapticFeedbackSubtitle. + /// + /// In en, this message translates to: + /// **'Enable or disable haptic feedback (vibration) on supported devices'** + String get sectionHapticFeedbackSubtitle; + + /// Включить пуш уведомления + /// + /// In en, this message translates to: + /// **'Turn on notifications'** + String get sectionNotificationTitle; + + /// Включить пуш уведомления для приложения + /// + /// In en, this message translates to: + /// **'Stay updated when Doctorina finds something important in your chats, reports, or symptoms.'** + String get sectionNotificationSubtitle; + + /// Заголовок секции аккаунта на экране настроек + /// + /// In en, this message translates to: + /// **'Account'** + String get sectionAccountTitle; + + /// Заголовок секции приложения на экране настроек + /// + /// In en, this message translates to: + /// **'App'** + String get sectionAppTitle; + + /// Заголовок секции информации на экране настроек + /// + /// In en, this message translates to: + /// **'About'** + String get sectionAboutTitle; + + /// Название пункта настроек уведомлений + /// + /// In en, this message translates to: + /// **'Notifications'** + String get sectionNotificationsTitle; + + /// Название пункта с видеоуроками + /// + /// In en, this message translates to: + /// **'Video tutorials'** + String get sectionVideoTutorialsTitle; + + /// Лейбл телефона в информации аккаунта + /// + /// In en, this message translates to: + /// **'Phone'** + String get accountPhoneLabel; + + /// Лейбл email в информации аккаунта + /// + /// In en, this message translates to: + /// **'Email'** + String get accountEmailLabel; + + /// Лейбл имени в информации аккаунта + /// + /// In en, this message translates to: + /// **'Name'** + String get accountNameLabel; + + /// Версия приложения на экране настроек + /// + /// In en, this message translates to: + /// **'Doctorina v{version}'** + String appVersionLabel(String version); + + /// Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке + /// + /// In en, this message translates to: + /// **'Skipped {count} files due to duplicate with existing files'** + String duplicateAttachmentFilesError(String count); + + /// Заголовок секции выбора типа отчета об ошибке + /// + /// In en, this message translates to: + /// **'Type'** + String get bugReportTypeSectionLabel; + + /// Заголовок поля описания в диалоге отчета об ошибке + /// + /// In en, this message translates to: + /// **'Description'** + String get bugReportDescriptionSectionLabel; + + /// Заголовок секции вложений в диалоге отчета об ошибке + /// + /// In en, this message translates to: + /// **'Attachments'** + String get bugReportAttachmentsSectionLabel; + + /// Вариант типа отчета об ошибке + /// + /// In en, this message translates to: + /// **'Bug'** + String get bugReportTypeBug; + + /// Вариант типа отчета об ошибке + /// + /// In en, this message translates to: + /// **'Crash'** + String get bugReportTypeCrash; + + /// Вариант типа отчета об ошибке + /// + /// In en, this message translates to: + /// **'UI issue'** + String get bugReportTypeUiIssue; + + /// Вариант типа отчета об ошибке + /// + /// In en, this message translates to: + /// **'Other'** + String get bugReportTypeOther; + + /// Предупреждение на экране удаления аккаунта о безвозвратном удалении данных + /// + /// In en, this message translates to: + /// **'Deleting your account will permanently remove your data from Doctorina.'** + String get deleteAccountWarningMessage; + + /// Подзаголовок блока «Перед удалением» на экране удаления аккаунта + /// + /// In en, this message translates to: + /// **'Before you delete'** + String get deleteAccountBeforeYouDeleteTitle; + + /// Уведомление, что удаление аккаунта не отменит активную подписку в сторе + /// + /// In en, this message translates to: + /// **'You have an active subscription through the {store}. Deleting your account will not cancel it.'** + String deleteAccountActiveSubscriptionNotice(String store); + + /// Ссылка отмены подписки в сторе на экране удаления аккаунта + /// + /// In en, this message translates to: + /// **'Cancel subscription in the {store}'** + String deleteAccountCancelSubscriptionLink(String store); + + /// Кнопка «Continue» на экране удаления аккаунта + /// + /// In en, this message translates to: + /// **'Continue'** + String get deleteAccountContinueButton; + + /// Вступительный текст на экране выбора причины удаления аккаунта + /// + /// In en, this message translates to: + /// **'We are sorry to see you go. Are you sure you want to delete your account? Once you confirm, your data will be gone.'** + String get deleteAccountFormDescription; + + /// Причина удаления: больше не пользуюсь приложением + /// + /// In en, this message translates to: + /// **'I don\'t use the app anymore'** + String get deleteAccountReasonDontUseAnymore; + + /// Причина удаления: нашёл вариант лучше + /// + /// In en, this message translates to: + /// **'Found something better'** + String get deleteAccountReasonFoundBetter; + + /// Причина удаления: технические проблемы + /// + /// In en, this message translates to: + /// **'Technical issues'** + String get deleteAccountReasonTechnicalIssues; + + /// Причина удаления: неудобно пользоваться + /// + /// In en, this message translates to: + /// **'Ease of use issues'** + String get deleteAccountReasonEaseOfUse; + + /// Причина удаления: не хватает функций + /// + /// In en, this message translates to: + /// **'Missing features'** + String get deleteAccountReasonMissingFeatures; + + /// Причина удаления: беспокойство о приватности + /// + /// In en, this message translates to: + /// **'Privacy concerns'** + String get deleteAccountReasonPrivacy; + + /// Причина удаления: просто хотел очистить свои данные + /// + /// In en, this message translates to: + /// **'I just wanted to clear my data'** + String get deleteAccountReasonClearData; + + /// Причина удаления: другое + /// + /// In en, this message translates to: + /// **'Other'** + String get deleteAccountReasonOther; + + /// Плейсхолдер поля обратной связи на экране удаления аккаунта + /// + /// In en, this message translates to: + /// **'Share your feedback'** + String get deleteAccountFeedbackHint; + + /// Сообщение во время выполнения удаления аккаунта + /// + /// In en, this message translates to: + /// **'Deleting your account...'** + String get deleteAccountProgressMessage; + + /// Состояние кнопки во время удаления аккаунта + /// + /// In en, this message translates to: + /// **'Deleting'** + String get deleteAccountDeletingButton; + + /// Кнопка отмены удаления во время обратного отсчёта + /// + /// In en, this message translates to: + /// **'Undo'** + String get deleteAccountUndoButton; + + /// Тост об успешном удалении аккаунта + /// + /// In en, this message translates to: + /// **'Your account has been deleted.'** + String get deleteAccountSuccessToast; + + /// Тост об ошибке удаления аккаунта + /// + /// In en, this message translates to: + /// **'Failed to delete account. Please try again.'** + String get deleteAccountErrorToast; + + /// Тост, если не удалось открыть почтовый клиент + /// + /// In en, this message translates to: + /// **'No email app is available on this device. Please contact support@doctorina.com.'** + String get emailClientUnavailableToast; } class _SettingsLocalizationDelegate @@ -315,18 +660,60 @@ class _SettingsLocalizationDelegate @override bool isSupported(Locale locale) => [ + 'af', + 'am', 'ar', + 'az', + 'be', + 'bg', 'bn', + 'ca', + 'cs', + 'da', 'de', + 'el', 'en', 'es', + 'fa', 'fr', + 'gu', + 'he', 'hi', + 'hu', + 'id', 'it', + 'ja', + 'kk', + 'km', + 'kn', 'ko', + 'lo', + 'ml', + 'mr', + 'ms', + 'my', + 'ne', + 'nl', + 'pa', + 'pl', + 'ps', 'pt', + 'ro', 'ru', - 'zh' + 'si', + 'sk', + 'sw', + 'ta', + 'te', + 'th', + 'tl', + 'tr', + 'uk', + 'ur', + 'uz', + 'vi', + 'zh', + 'zu' ].contains(locale.languageCode); @override @@ -336,6 +723,22 @@ class _SettingsLocalizationDelegate SettingsLocalization lookupSettingsLocalization(Locale locale) { // Lookup logic when language+country codes are specified. switch (locale.languageCode) { + case 'ar': + { + switch (locale.countryCode) { + case 'EG': + return SettingsLocalizationArEg(); + } + break; + } + case 'pa': + { + switch (locale.countryCode) { + case 'PK': + return SettingsLocalizationPaPk(); + } + break; + } case 'pt': { switch (locale.countryCode) { @@ -349,6 +752,8 @@ SettingsLocalization lookupSettingsLocalization(Locale locale) { switch (locale.countryCode) { case 'CN': return SettingsLocalizationZhCn(); + case 'HK': + return SettingsLocalizationZhHk(); } break; } @@ -356,30 +761,114 @@ SettingsLocalization lookupSettingsLocalization(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { + case 'af': + return SettingsLocalizationAf(); + case 'am': + return SettingsLocalizationAm(); case 'ar': return SettingsLocalizationAr(); + case 'az': + return SettingsLocalizationAz(); + case 'be': + return SettingsLocalizationBe(); + case 'bg': + return SettingsLocalizationBg(); case 'bn': return SettingsLocalizationBn(); + case 'ca': + return SettingsLocalizationCa(); + case 'cs': + return SettingsLocalizationCs(); + case 'da': + return SettingsLocalizationDa(); case 'de': return SettingsLocalizationDe(); + case 'el': + return SettingsLocalizationEl(); case 'en': return SettingsLocalizationEn(); case 'es': return SettingsLocalizationEs(); + case 'fa': + return SettingsLocalizationFa(); case 'fr': return SettingsLocalizationFr(); + case 'gu': + return SettingsLocalizationGu(); + case 'he': + return SettingsLocalizationHe(); case 'hi': return SettingsLocalizationHi(); + case 'hu': + return SettingsLocalizationHu(); + case 'id': + return SettingsLocalizationId(); case 'it': return SettingsLocalizationIt(); + case 'ja': + return SettingsLocalizationJa(); + case 'kk': + return SettingsLocalizationKk(); + case 'km': + return SettingsLocalizationKm(); + case 'kn': + return SettingsLocalizationKn(); case 'ko': return SettingsLocalizationKo(); + case 'lo': + return SettingsLocalizationLo(); + case 'ml': + return SettingsLocalizationMl(); + case 'mr': + return SettingsLocalizationMr(); + case 'ms': + return SettingsLocalizationMs(); + case 'my': + return SettingsLocalizationMy(); + case 'ne': + return SettingsLocalizationNe(); + case 'nl': + return SettingsLocalizationNl(); + case 'pa': + return SettingsLocalizationPa(); + case 'pl': + return SettingsLocalizationPl(); + case 'ps': + return SettingsLocalizationPs(); case 'pt': return SettingsLocalizationPt(); + case 'ro': + return SettingsLocalizationRo(); case 'ru': return SettingsLocalizationRu(); + case 'si': + return SettingsLocalizationSi(); + case 'sk': + return SettingsLocalizationSk(); + case 'sw': + return SettingsLocalizationSw(); + case 'ta': + return SettingsLocalizationTa(); + case 'te': + return SettingsLocalizationTe(); + case 'th': + return SettingsLocalizationTh(); + case 'tl': + return SettingsLocalizationTl(); + case 'tr': + return SettingsLocalizationTr(); + case 'uk': + return SettingsLocalizationUk(); + case 'ur': + return SettingsLocalizationUr(); + case 'uz': + return SettingsLocalizationUz(); + case 'vi': + return SettingsLocalizationVi(); case 'zh': return SettingsLocalizationZh(); + case 'zu': + return SettingsLocalizationZu(); } throw FlutterError( diff --git a/example/lib/src/generated/settings/settings_localization_af.dart b/example/lib/src/generated/settings/settings_localization_af.dart new file mode 100644 index 0000000..5bc2b83 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_af.dart @@ -0,0 +1,254 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Afrikaans (`af`). +class SettingsLocalizationAf extends SettingsLocalization { + SettingsLocalizationAf([String locale = 'af']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Verwyder Alle Klets'; + + @override + String get sectionClearAllChatsSubtitle => + 'Dit sal jou geselskapgeskiedenis permanent verwyder.'; + + @override + String get sectionClearAllChatsButton => 'Verwyder Alle Klets'; + + @override + String get sectionClearAllChatsEmailTheme => 'Verwyder Alle Klets'; + + @override + String get sectionDeleteAccountTitle => 'Verwyder rekening'; + + @override + String get sectionDeleteAccountSubtitle => + 'Om jou rekening te verwyder is \'n permanente aksie en kan nie ongedaan gemaak word.'; + + @override + String get sectionDeleteAccountButton => 'Verwyder'; + + @override + String get sectionDeleteAccountTheme => 'Verwyder rekening'; + + @override + String get sectionLogOutTitle => 'Teken uit'; + + @override + String get sectionLogOutSubtitle => 'Jy sal van jou rekening afgeteken word'; + + @override + String get sectionLogOutButton => 'Teken uit'; + + @override + String get sendBugReportButton => 'Stuur foutverslag'; + + @override + String get sectionSendMessageWithEnterTitle => 'Stuur boodskap met [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Stuur \'n boodskap met [⏎ Enter] en \'n nuwe lyn met [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Stuur met [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Privaatheidsbeleid'; + + @override + String get sectionSelectLocaleTitle => 'Taal'; + + @override + String get sectionSelectLocaleSubtitle => + 'Kies jou voorkeurstaal vir die app-koppelvlak'; + + @override + String get sectionSwitchThemeTitle => 'Donker modus'; + + @override + String get sectionSwitchThemeSubtitle => + 'Skakel donker modus aan vir \'n gemaklike kykervaring in lae lig'; + + @override + String get sectionLogsTitle => 'Logs'; + + @override + String get sectionLogsSubtitle => + 'Beskou en bestuur toepassingslogboek vir foutopsporing'; + + @override + String get doneButton => 'Gedaan'; + + @override + String get bugReportDialogTitle => 'Foutverslag'; + + @override + String get bugReportDialogHintText => + 'Beskryf asseblief die fout wat jy teëgekom het'; + + @override + String get attachFilesButtonTooltip => 'Heg lêers'; + + @override + String get filePickerError => 'Kon nie lêers kies nie'; + + @override + String get emptyBugReportError => 'Voer eers \'n foutverslag in'; + + @override + String get failedToSendBugReportError => 'Kon nie foutverslag stuur nie'; + + @override + String get sectionManageSubscriptionTitle => 'Bestuur intekening'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Bestuur jou intekeninginstellings'; + + @override + String get sectionHapticFeedbackTitle => 'Haptiese Terugvoer'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Skakel haptiese terugvoer (vibrasie) aan of af op ondersteunde toestelle'; + + @override + String get sectionNotificationTitle => 'Skakel kennisgewings aan'; + + @override + String get sectionNotificationSubtitle => + 'Bly op hoogte wanneer Doctorina iets belangriks in jou gesprekke, verslae of simptome vind.'; + + @override + String get sectionAccountTitle => 'Rekening'; + + @override + String get sectionAppTitle => 'App'; + + @override + String get sectionAboutTitle => 'Oor'; + + @override + String get sectionNotificationsTitle => 'Kennisgewings'; + + @override + String get sectionVideoTutorialsTitle => 'Video-tutorials'; + + @override + String get accountPhoneLabel => 'Telefoon'; + + @override + String get accountEmailLabel => 'E-pos'; + + @override + String get accountNameLabel => 'Naam'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Gelaat $count lêers weens duplikate met bestaande lêers'; + } + + @override + String get bugReportTypeSectionLabel => 'Tipe'; + + @override + String get bugReportDescriptionSectionLabel => 'Beskrywing'; + + @override + String get bugReportAttachmentsSectionLabel => 'Aanhangsels'; + + @override + String get bugReportTypeBug => 'Fout'; + + @override + String get bugReportTypeCrash => 'Crash'; + + @override + String get bugReportTypeUiIssue => 'UI-probleem'; + + @override + String get bugReportTypeOther => 'Ander'; + + @override + String get deleteAccountWarningMessage => + 'Die verwydering van jou rekening sal jou data permanent uit Doctorina verwyder.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Voordat jy verwyder'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Jy het \'n aktiewe intekening deur die $store. Die verwydering van jou rekening sal dit nie kanselleer nie.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Kanselleer intekening in die $store'; + } + + @override + String get deleteAccountContinueButton => 'Gaan voort'; + + @override + String get deleteAccountFormDescription => + 'Ons is jammer om jou te sien gaan. Is jy seker jy wil jou rekening verwyder? Sodra jy bevestig, sal jou data weg wees.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Ek gebruik die aansoek nie meer nie'; + + @override + String get deleteAccountReasonFoundBetter => 'Het iets beter gevind'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Tegniese probleme'; + + @override + String get deleteAccountReasonEaseOfUse => 'Probleme met gebruiksgemak'; + + @override + String get deleteAccountReasonMissingFeatures => 'Ontbrekende funksies'; + + @override + String get deleteAccountReasonPrivacy => 'Privaatheidskwessies'; + + @override + String get deleteAccountReasonClearData => 'Ek wou net my data skoonmaak'; + + @override + String get deleteAccountReasonOther => 'Ander'; + + @override + String get deleteAccountFeedbackHint => 'Deel jou terugvoer'; + + @override + String get deleteAccountProgressMessage => 'Jou rekening word verwyder...'; + + @override + String get deleteAccountDeletingButton => 'Verwyder'; + + @override + String get deleteAccountUndoButton => 'Herstel'; + + @override + String get deleteAccountSuccessToast => 'Jou rekening is verwyder.'; + + @override + String get deleteAccountErrorToast => + 'Kon nie rekening verwyder nie. Probeer asseblief weer.'; + + @override + String get emailClientUnavailableToast => + 'Geen e-posprogram is op hierdie toestel beskikbaar nie. Kontak asseblief support@doctorina.com handmatig.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_am.dart b/example/lib/src/generated/settings/settings_localization_am.dart new file mode 100644 index 0000000..dd9a172 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_am.dart @@ -0,0 +1,250 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Amharic (`am`). +class SettingsLocalizationAm extends SettingsLocalization { + SettingsLocalizationAm([String locale = 'am']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'ሁሉንም ውይይቶች አጽዳ'; + + @override + String get sectionClearAllChatsSubtitle => 'ይህ የእርስዎን የውይይት ታሪክ በደረጃ ይሰርዝ.'; + + @override + String get sectionClearAllChatsButton => 'ሁሉንም ውይይቶች አጽዳ'; + + @override + String get sectionClearAllChatsEmailTheme => 'Clear All Chats'; + + @override + String get sectionDeleteAccountTitle => 'አካውንት ይሰርዝ'; + + @override + String get sectionDeleteAccountSubtitle => + 'አካውንትዎን ማጥፋት የቀድሞ እንደሆነ እና አይታወቅም ይሆናል።'; + + @override + String get sectionDeleteAccountButton => 'ማስወግድ'; + + @override + String get sectionDeleteAccountTheme => 'አካውንት ይሰርዝ'; + + @override + String get sectionLogOutTitle => 'ውጣ'; + + @override + String get sectionLogOutSubtitle => 'እርስዎ ከአካውንትዎ ይወጣሉ።'; + + @override + String get sectionLogOutButton => 'ውጣ'; + + @override + String get sendBugReportButton => 'ሪፖርት ባግ ላክ'; + + @override + String get sectionSendMessageWithEnterTitle => 'መልእክት ላክ በ[⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'መልእክት ላክ በ[⏎ Enter] እና አዲስ መስመር በ[Shift] + [⏎ Enter] ይሁን'; + + @override + String get sectionSendMessageEnter => 'ከ[⏎ Enter] ጋር ላክ'; + + @override + String get sectionPrivacyPolicy => 'የግለሰቦች የግል ዕይታ'; + + @override + String get sectionSelectLocaleTitle => 'ቋንቋ'; + + @override + String get sectionSelectLocaleSubtitle => 'እባኮትን የእትም ቋንቋዎን ይምረጡ'; + + @override + String get sectionSwitchThemeTitle => 'ጨለማ ሞዴ'; + + @override + String get sectionSwitchThemeSubtitle => + 'Enable dark mode for a comfortable viewing experience in low light'; + + @override + String get sectionLogsTitle => 'መዝገቦች'; + + @override + String get sectionLogsSubtitle => + 'View and manage application logs for debugging'; + + @override + String get doneButton => 'ጨርስ'; + + @override + String get bugReportDialogTitle => 'የተሳሳተ ዝርዝር'; + + @override + String get bugReportDialogHintText => 'እባክዎ የተገኘውን ባገር ይገልጹ'; + + @override + String get attachFilesButtonTooltip => 'ፋይሎችን ያክሉ'; + + @override + String get filePickerError => 'ፋይሎችን ማሰባሰብ አልቻልኩም'; + + @override + String get emptyBugReportError => 'እባክህ በመጀመሪያ የባገር ሪፖርት አስገባ'; + + @override + String get failedToSendBugReportError => 'እቅፍ ማለት የለም የተሳሳተ ሪፖርት ላክ አልቻልኩም'; + + @override + String get sectionManageSubscriptionTitle => 'እቅፍ አስተዳደር'; + + @override + String get sectionManageSubscriptionSubtitle => 'የእርስዎ ተመዝገብ ቅንብሮችን ያስተካክሉ'; + + @override + String get sectionHapticFeedbackTitle => 'ሐፕቲክ ፍቅር'; + + @override + String get sectionHapticFeedbackSubtitle => + 'ማስተካከል ወይም ማቋረጥ የሚቻል የሆነ የማስታወቂያ እንቅስቃሴ (እንቅስቃሴ) በድጋፍ መሳሪያዎች ላይ'; + + @override + String get sectionNotificationTitle => 'እባክዎ የማስታወቂያ ማስታወቂያዎችን አንቀሳቅስ'; + + @override + String get sectionNotificationSubtitle => + 'የዶክተርና በውስጥ ያገኙ አስፈላጊ ነገሮች ላይ ይዘው ይታወቁ፣ የሪፖርቶች ወይም የምልክቶች ይዘው ይታወቁ።'; + + @override + String get sectionAccountTitle => 'አካውንት'; + + @override + String get sectionAppTitle => 'መተግበሪያ'; + + @override + String get sectionAboutTitle => 'ስለ'; + + @override + String get sectionNotificationsTitle => 'እንቅስቃሴዎች'; + + @override + String get sectionVideoTutorialsTitle => 'ቪዲዮ ትምህርቶች'; + + @override + String get accountPhoneLabel => 'ስልክ'; + + @override + String get accountEmailLabel => 'ኢሜይል'; + + @override + String get accountNameLabel => 'ስም'; + + @override + String appVersionLabel(String version) { + return 'Doctorina በ$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'የተያያዘ ፋይሎች ጋር የተያያዘ ድጋፍ ምክንያት ስለዚህ $count ፋይሎች ተወውተዋል'; + } + + @override + String get bugReportTypeSectionLabel => 'አይነት'; + + @override + String get bugReportDescriptionSectionLabel => 'መግለጫ'; + + @override + String get bugReportAttachmentsSectionLabel => 'አባል ይዘት'; + + @override + String get bugReportTypeBug => 'ባግ'; + + @override + String get bugReportTypeCrash => 'እንቅስቃሴ'; + + @override + String get bugReportTypeUiIssue => 'የዩአይ ችግኝ ጉዳይ'; + + @override + String get bugReportTypeOther => 'አማራጭ'; + + @override + String get deleteAccountWarningMessage => + 'አካውንትዎን ማስወግድ የሚያደርግ የውሂብዎን መረጃ ከDoctorina ይወገዳል።'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'ከማስወግድ በፊት'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'እቅፍ ያለዎት በ$store ውስጥ ነው። የእርስዎን አካውንት ማጥፋት እንደዚህ አይደለም።'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'ወይዘር በ$store ውስጥ ይቅርታ ይውሰዱ'; + } + + @override + String get deleteAccountContinueButton => 'ቀጥል'; + + @override + String get deleteAccountFormDescription => + 'ስንሄድ እናዝናለን። መለያዎን መሰረዝ እንደሚፈልጉ እርግጠኛ ነዎት? አንዴ ካረጋገጡ በኋላ፣ ውሂብዎ ይጠፋል።'; + + @override + String get deleteAccountReasonDontUseAnymore => 'እኔ እንደ አፕ አልጠቀምም'; + + @override + String get deleteAccountReasonFoundBetter => 'የተሻለ ነገር አግኝቻለሁ'; + + @override + String get deleteAccountReasonTechnicalIssues => 'ቴክኒካዊ ችግኝቶች'; + + @override + String get deleteAccountReasonEaseOfUse => 'የእቃ እንቅስቃሴ ችግኝ'; + + @override + String get deleteAccountReasonMissingFeatures => 'የተገኘ ባለመኖር ባለመኖር'; + + @override + String get deleteAccountReasonPrivacy => 'የግል መረጃ ጥያቄዎች'; + + @override + String get deleteAccountReasonClearData => + 'እኔ የማስወግድ ዓይነት የማስወግድ ዓይነት ይህ ነው።'; + + @override + String get deleteAccountReasonOther => 'አማራጭ'; + + @override + String get deleteAccountFeedbackHint => 'እባክዎ እንደ እቅፍ ይጋሩ'; + + @override + String get deleteAccountProgressMessage => 'አካውንትዎን እንደሚሰርዝ...'; + + @override + String get deleteAccountDeletingButton => 'እንደሚሰርዝ'; + + @override + String get deleteAccountUndoButton => 'እንደገና ይውሰዱ'; + + @override + String get deleteAccountSuccessToast => 'እቅፍዎ ተወውቷል።'; + + @override + String get deleteAccountErrorToast => + 'አካውንት ማጥፊያ አልተሳካም። እባኮትን ይሞክሩ ድጋፍ ይሁን።'; + + @override + String get emailClientUnavailableToast => + 'ይህ መሳሪያ ላይ አንድ ኢሜይል መተግበሪያ የለም። እባክዎን support@doctorina.com በእግር ይደውሉ።'; +} diff --git a/example/lib/src/generated/settings/settings_localization_ar.dart b/example/lib/src/generated/settings/settings_localization_ar.dart index a2c2199..8410c78 100644 --- a/example/lib/src/generated/settings/settings_localization_ar.dart +++ b/example/lib/src/generated/settings/settings_localization_ar.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,17 +11,259 @@ class SettingsLocalizationAr extends SettingsLocalization { SettingsLocalizationAr([String locale = 'ar']) : super(locale); @override - String get title => 'إعدادات الحساب'; + String get sectionClearAllChatsTitle => 'مسح جميع الدردشات'; + + @override + String get sectionClearAllChatsSubtitle => + 'سيؤدي هذا إلى حذف سجل الدردشة الخاص بك نهائيًا.'; + + @override + String get sectionClearAllChatsButton => 'مسح كل الدردشات'; + + @override + String get sectionClearAllChatsEmailTheme => 'مسح جميع الدردشات'; + + @override + String get sectionDeleteAccountTitle => 'حذف الحساب'; + + @override + String get sectionDeleteAccountSubtitle => + 'حذف حسابك عملية دائمة ولا يمكن التراجع عنها.'; + + @override + String get sectionDeleteAccountButton => 'حذف'; + + @override + String get sectionDeleteAccountTheme => 'حذف الحساب'; + + @override + String get sectionLogOutTitle => 'تسجيل الخروج'; + + @override + String get sectionLogOutSubtitle => 'سيتم تسجيل خروجك من حسابك.'; + + @override + String get sectionLogOutButton => 'تسجيل الخروج'; + + @override + String get sendBugReportButton => 'إرسال تقرير خطأ'; + + @override + String get sectionSendMessageWithEnterTitle => + 'أرسل الرسالة باستخدام [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'أرسل رسالة باستخدام [⏎ Enter] وسطر جديد باستخدام [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'أرسل مع [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'سياسة الخصوصية'; + + @override + String get sectionSelectLocaleTitle => 'اللغة'; + + @override + String get sectionSelectLocaleSubtitle => + 'اختر اللغة المفضلة لديك لواجهة التطبيق'; + + @override + String get sectionSwitchThemeTitle => 'الوضع الداكن'; + + @override + String get sectionSwitchThemeSubtitle => + 'تفعيل الوضع الداكن لتجربة مشاهدة مريحة في الإضاءة الخافتة'; + + @override + String get sectionLogsTitle => 'السجلات'; + + @override + String get sectionLogsSubtitle => 'عرض وإدارة سجلات التطبيق لتصحيح الأخطاء'; + + @override + String get doneButton => 'تم'; + + @override + String get bugReportDialogTitle => 'تقرير الخطأ'; + + @override + String get bugReportDialogHintText => 'يرجى وصف الخلل الذي واجهته'; + + @override + String get attachFilesButtonTooltip => 'إرفاق الملفات'; + + @override + String get filePickerError => 'فشل في اختيار الملفات'; + + @override + String get emptyBugReportError => 'الرجاء إدخال تقرير خطأ أولاً'; + + @override + String get failedToSendBugReportError => 'فشل إرسال تقرير الخطأ'; + + @override + String get sectionManageSubscriptionTitle => 'إدارة الاشتراك'; + + @override + String get sectionManageSubscriptionSubtitle => + 'إدارة إعدادات الاشتراك الخاصة بك'; + + @override + String get sectionHapticFeedbackTitle => 'التغذية الراجعة اللمسية'; + + @override + String get sectionHapticFeedbackSubtitle => + 'تفعيل أو تعطيل الارتجاع اللمسي (الاهتزاز) على الأجهزة المدعومة'; + + @override + String get sectionNotificationTitle => 'تشغيل الإشعارات'; + + @override + String get sectionNotificationSubtitle => + 'ابقَ على اطلاع عندما تجد Doctorina شيئًا مهمًا في محادثاتك أو تقاريرك أو أعراضك'; + + @override + String get sectionAccountTitle => 'الحساب'; + + @override + String get sectionAppTitle => 'التطبيق'; + + @override + String get sectionAboutTitle => 'حول'; + + @override + String get sectionNotificationsTitle => 'الإشعارات'; + + @override + String get sectionVideoTutorialsTitle => 'دروس فيديو'; + + @override + String get accountPhoneLabel => 'الهاتف'; + + @override + String get accountEmailLabel => 'البريد الإلكتروني'; + + @override + String get accountNameLabel => 'الاسم'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'تم تخطي $count ملفات بسبب تكرارها مع ملفات موجودة'; + } + + @override + String get bugReportTypeSectionLabel => 'نوع'; + + @override + String get bugReportDescriptionSectionLabel => 'الوصف'; + + @override + String get bugReportAttachmentsSectionLabel => 'المرفقات'; + + @override + String get bugReportTypeBug => 'خطأ'; + + @override + String get bugReportTypeCrash => 'تعطل'; + + @override + String get bugReportTypeUiIssue => 'مشكلة في واجهة المستخدم'; + + @override + String get bugReportTypeOther => 'أخرى'; + + @override + String get deleteAccountWarningMessage => + 'حذف حسابك سيؤدي إلى إزالة بياناتك بشكل دائم من Doctorina'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'قبل أن تحذف'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'لديك اشتراك نشط من خلال $store. حذف حسابك لن يلغي ذلك.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'إلغاء الاشتراك في $store'; + } + + @override + String get deleteAccountContinueButton => 'استمر'; + + @override + String get deleteAccountFormDescription => + 'نحن آسفون لرؤيتك تذهب. هل أنت متأكد أنك تريد حذف حسابك؟ بمجرد تأكيدك، ستختفي بياناتك.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'لم أعد أستخدم التطبيق'; + + @override + String get deleteAccountReasonFoundBetter => 'وجدت شيئًا أفضل'; + + @override + String get deleteAccountReasonTechnicalIssues => 'مشاكل تقنية'; + + @override + String get deleteAccountReasonEaseOfUse => 'مشاكل في سهولة الاستخدام'; + + @override + String get deleteAccountReasonMissingFeatures => 'ميزات مفقودة'; + + @override + String get deleteAccountReasonPrivacy => 'مخاوف الخصوصية'; + + @override + String get deleteAccountReasonClearData => 'كنت أريد فقط مسح بياناتي'; + + @override + String get deleteAccountReasonOther => 'أخرى'; + + @override + String get deleteAccountFeedbackHint => 'شارك ملاحظاتك'; + + @override + String get deleteAccountProgressMessage => 'جارٍ حذف حسابك...'; + + @override + String get deleteAccountDeletingButton => 'جارِ الحذف'; + + @override + String get deleteAccountUndoButton => 'تراجع'; + + @override + String get deleteAccountSuccessToast => 'تم حذف حسابك.'; + + @override + String get deleteAccountErrorToast => + 'فشل حذف الحساب. يرجى المحاولة مرة أخرى.'; + + @override + String get emailClientUnavailableToast => + 'لا يوجد تطبيق بريد متاح على هذا الجهاز. يرجى الاتصال بـ support@doctorina.com يدويًا.'; +} + +/// The translations for Arabic, as used in Egypt (`ar_EG`). +class SettingsLocalizationArEg extends SettingsLocalizationAr { + SettingsLocalizationArEg() : super('ar_EG'); @override String get sectionClearAllChatsTitle => 'مسح جميع الدردشات'; @override String get sectionClearAllChatsSubtitle => - 'سيؤدي هذا إلى حذف سجل الدردشة الخاص بك بشكل دائم.'; + 'سيؤدي هذا إلى حذف سجل الدردشة الخاص بك نهائيًا.'; @override - String get sectionClearAllChatsButton => 'مسح جميع الدردشات'; + String get sectionClearAllChatsButton => 'مسح كل الدردشات'; @override String get sectionClearAllChatsEmailTheme => 'مسح جميع الدردشات'; @@ -31,10 +273,10 @@ class SettingsLocalizationAr extends SettingsLocalization { @override String get sectionDeleteAccountSubtitle => - 'إن حذف حسابك هو إجراء دائم ولا يمكن التراجع عنه.'; + 'حذف حسابك عملية دائمة ولا يمكن التراجع عنها.'; @override - String get sectionDeleteAccountButton => 'يمسح'; + String get sectionDeleteAccountButton => 'حذف'; @override String get sectionDeleteAccountTheme => 'حذف الحساب'; @@ -49,44 +291,50 @@ class SettingsLocalizationAr extends SettingsLocalization { String get sectionLogOutButton => 'تسجيل الخروج'; @override - String get sendBugReportButton => 'إرسال تقرير عن الخطأ'; + String get sendBugReportButton => 'إرسال تقرير خطأ'; @override - String get sectionSendMessageWithShiftEnterTitle => - 'أرسل رسالة باستخدام [⏎ Enter]'; + String get sectionSendMessageWithEnterTitle => + 'أرسل الرسالة باستخدام [⏎ Enter]'; @override - String get sectionSendMessageWithShiftEnterSubtitle => + String get sectionSendMessageWithEnterSubtitle => 'أرسل رسالة باستخدام [⏎ Enter] وسطر جديد باستخدام [Shift] + [⏎ Enter]'; @override - String get sectionSelectLocaleTitle => 'لغة'; + String get sectionSendMessageEnter => 'أرسل مع [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'سياسة الخصوصية'; + + @override + String get sectionSelectLocaleTitle => 'اللغة'; @override String get sectionSelectLocaleSubtitle => - 'حدد اللغة المفضلة لديك لواجهة التطبيق'; + 'اختر اللغة المفضلة لديك لواجهة التطبيق'; @override - String get sectionSwitchThemeTitle => 'الوضع المظلم'; + String get sectionSwitchThemeTitle => 'الوضع الداكن'; @override String get sectionSwitchThemeSubtitle => - 'قم بتمكين الوضع المظلم للحصول على تجربة مشاهدة مريحة في الإضاءة المنخفضة'; + 'تفعيل الوضع الداكن لتجربة مشاهدة مريحة في الإضاءة الخافتة'; @override String get sectionLogsTitle => 'السجلات'; @override - String get sectionLogsSubtitle => 'عرض وإدارة سجلات التطبيق للتصحيح'; + String get sectionLogsSubtitle => 'عرض وإدارة سجلات التطبيق لتصحيح الأخطاء'; @override - String get doneButton => 'منتهي'; + String get doneButton => 'تم'; @override - String get bugReportDialogTitle => 'تقرير الأخطاء'; + String get bugReportDialogTitle => 'تقرير الخطأ'; @override - String get bugReportDialogHintText => 'يرجى وصف الخطأ الذي واجهته'; + String get bugReportDialogHintText => 'يرجى وصف الخلل الذي واجهته'; @override String get attachFilesButtonTooltip => 'إرفاق الملفات'; @@ -95,14 +343,155 @@ class SettingsLocalizationAr extends SettingsLocalization { String get filePickerError => 'فشل في اختيار الملفات'; @override - String get emptyBugReportError => 'الرجاء إدخال تقرير الخطأ أولاً'; + String get emptyBugReportError => 'الرجاء إدخال تقرير خطأ أولاً'; @override - String get failedToSendBugReportError => 'فشل في إرسال تقرير الخطأ'; + String get failedToSendBugReportError => 'فشل إرسال تقرير الخطأ'; @override String get sectionManageSubscriptionTitle => 'إدارة الاشتراك'; @override - String get sectionManageSubscriptionSubtitle => 'إدارة إعدادات اشتراكك'; + String get sectionManageSubscriptionSubtitle => + 'إدارة إعدادات الاشتراك الخاصة بك'; + + @override + String get sectionHapticFeedbackTitle => 'التغذية الراجعة اللمسية'; + + @override + String get sectionHapticFeedbackSubtitle => + 'تفعيل أو تعطيل الارتجاع اللمسي (الاهتزاز) على الأجهزة المدعومة'; + + @override + String get sectionNotificationTitle => 'تشغيل الإشعارات'; + + @override + String get sectionNotificationSubtitle => + 'ابقَ على اطلاع عندما تجد Doctorina شيئًا مهمًا في محادثاتك أو تقاريرك أو أعراضك'; + + @override + String get sectionAccountTitle => 'الحساب'; + + @override + String get sectionAppTitle => 'التطبيق'; + + @override + String get sectionAboutTitle => 'حول'; + + @override + String get sectionNotificationsTitle => 'الإشعارات'; + + @override + String get sectionVideoTutorialsTitle => 'دروس فيديو'; + + @override + String get accountPhoneLabel => 'الهاتف'; + + @override + String get accountEmailLabel => 'البريد الإلكتروني'; + + @override + String get accountNameLabel => 'الاسم'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'تم تخطي $count ملفات بسبب تكرارها مع ملفات موجودة'; + } + + @override + String get bugReportTypeSectionLabel => 'نوع'; + + @override + String get bugReportDescriptionSectionLabel => 'الوصف'; + + @override + String get bugReportAttachmentsSectionLabel => 'المرفقات'; + + @override + String get bugReportTypeBug => 'خطأ'; + + @override + String get bugReportTypeCrash => 'تعطل'; + + @override + String get bugReportTypeUiIssue => 'مشكلة في واجهة المستخدم'; + + @override + String get bugReportTypeOther => 'أخرى'; + + @override + String get deleteAccountWarningMessage => + 'حذف حسابك سيؤدي إلى إزالة بياناتك بشكل دائم من Doctorina'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'قبل أن تحذف'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'لديك اشتراك نشط من خلال $store. حذف حسابك لن يلغي ذلك.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'إلغاء الاشتراك في $store'; + } + + @override + String get deleteAccountContinueButton => 'استمر'; + + @override + String get deleteAccountFormDescription => + 'نحن آسفون لرؤيتك تذهب. هل أنت متأكد أنك تريد حذف حسابك؟ بمجرد تأكيدك، ستختفي بياناتك.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'لم أعد أستخدم التطبيق'; + + @override + String get deleteAccountReasonFoundBetter => 'وجدت شيئًا أفضل'; + + @override + String get deleteAccountReasonTechnicalIssues => 'مشاكل تقنية'; + + @override + String get deleteAccountReasonEaseOfUse => 'مشاكل في سهولة الاستخدام'; + + @override + String get deleteAccountReasonMissingFeatures => 'ميزات مفقودة'; + + @override + String get deleteAccountReasonPrivacy => 'مخاوف الخصوصية'; + + @override + String get deleteAccountReasonClearData => 'كنت أريد فقط مسح بياناتي'; + + @override + String get deleteAccountReasonOther => 'أخرى'; + + @override + String get deleteAccountFeedbackHint => 'شارك ملاحظاتك'; + + @override + String get deleteAccountProgressMessage => 'جارٍ حذف حسابك...'; + + @override + String get deleteAccountDeletingButton => 'جارِ الحذف'; + + @override + String get deleteAccountUndoButton => 'تراجع'; + + @override + String get deleteAccountSuccessToast => 'تم حذف حسابك.'; + + @override + String get deleteAccountErrorToast => + 'فشل حذف الحساب. يرجى المحاولة مرة أخرى.'; + + @override + String get emailClientUnavailableToast => + 'لا يوجد تطبيق بريد متاح على هذا الجهاز. يرجى الاتصال بـ support@doctorina.com يدويًا.'; } diff --git a/example/lib/src/generated/settings/settings_localization_az.dart b/example/lib/src/generated/settings/settings_localization_az.dart new file mode 100644 index 0000000..9c926fe --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_az.dart @@ -0,0 +1,257 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Azerbaijani (`az`). +class SettingsLocalizationAz extends SettingsLocalization { + SettingsLocalizationAz([String locale = 'az']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Bütün Çatları Təmizlə'; + + @override + String get sectionClearAllChatsSubtitle => + 'Bu, söhbət tarixçənizi daimi olaraq siləcək.'; + + @override + String get sectionClearAllChatsButton => 'Bütün söhbətləri sil'; + + @override + String get sectionClearAllChatsEmailTheme => 'Bütün söhbətləri sil'; + + @override + String get sectionDeleteAccountTitle => 'Hesabı Sil'; + + @override + String get sectionDeleteAccountSubtitle => + 'Hesabınızı silmək daimi bir hərəkətdir və geri alına bilməz.'; + + @override + String get sectionDeleteAccountButton => 'Sil'; + + @override + String get sectionDeleteAccountTheme => 'Hesabı Sil'; + + @override + String get sectionLogOutTitle => 'Çıxış'; + + @override + String get sectionLogOutSubtitle => 'Hesabınızdan çıxacaqsınız.'; + + @override + String get sectionLogOutButton => 'Çıxış'; + + @override + String get sendBugReportButton => 'Xətanı Göndər'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Mesaj göndərmək üçün [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Mesaj göndərmək üçün [⏎ Enter] və yeni sətir üçün [Shift] + [⏎ Enter] istifadə edin'; + + @override + String get sectionSendMessageEnter => 'Göndər [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Məxfilik Siyasəti'; + + @override + String get sectionSelectLocaleTitle => 'Dil'; + + @override + String get sectionSelectLocaleSubtitle => + 'Tətbiq interfeysi üçün üstünlük verdiyiniz dili seçin'; + + @override + String get sectionSwitchThemeTitle => 'Qaranlıq rejim'; + + @override + String get sectionSwitchThemeSubtitle => + 'Aşağı işıqda rahat baxış üçün qaranlıq rejimi aktivləşdirin'; + + @override + String get sectionLogsTitle => 'Günlüklər'; + + @override + String get sectionLogsSubtitle => + 'Təhlil üçün tətbiq qeydlərini görün və idarə edin'; + + @override + String get doneButton => 'Tamam'; + + @override + String get bugReportDialogTitle => 'Böyük Hesabat'; + + @override + String get bugReportDialogHintText => 'Karşılaşdığınız xətanı təsvir edin'; + + @override + String get attachFilesButtonTooltip => 'Faylları əlavə et'; + + @override + String get filePickerError => 'Faylları seçmək mümkün olmadı'; + + @override + String get emptyBugReportError => + 'Zəhmət olmasa, əvvəlcə bir səhv bildirişi daxil edin'; + + @override + String get failedToSendBugReportError => + 'Xəta hesabatını göndərmək mümkün olmadı'; + + @override + String get sectionManageSubscriptionTitle => 'Abunəni idarə et'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Abunə parametrlərinizi idarə edin'; + + @override + String get sectionHapticFeedbackTitle => 'Haptik Geri Bildirim'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Dəstəklənən cihazlarda haptik geribildirimi (vibrasiya) aktivləşdirin və ya deaktivləşdirin'; + + @override + String get sectionNotificationTitle => 'Bildirişləri açın'; + + @override + String get sectionNotificationSubtitle => + 'Doctorina söhbətlərinizdə, hesabatlarınızda və ya simptomlarınızda vacib bir şey tapdıqda xəbərdar olun.'; + + @override + String get sectionAccountTitle => 'Hesab'; + + @override + String get sectionAppTitle => 'Tətbiq'; + + @override + String get sectionAboutTitle => 'Haqqında'; + + @override + String get sectionNotificationsTitle => 'Bildirişlər'; + + @override + String get sectionVideoTutorialsTitle => 'Video dərslər'; + + @override + String get accountPhoneLabel => 'Telefon'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Ad'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '$count fayl mövcud fayllarla təkrarlana bildiyi üçün atlandı'; + } + + @override + String get bugReportTypeSectionLabel => 'Növ'; + + @override + String get bugReportDescriptionSectionLabel => 'Təsvir'; + + @override + String get bugReportAttachmentsSectionLabel => 'Prəqədlər'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Çöküş'; + + @override + String get bugReportTypeUiIssue => 'İstifadəçi interfeysi problemi'; + + @override + String get bugReportTypeOther => 'Digər'; + + @override + String get deleteAccountWarningMessage => + 'Hesabınızı silmək, Doctorina-dan məlumatlarınızı daimi olaraq siləcək.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Silmeden əvvəl'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Sizin $store vasitəsilə aktiv abunəliyiniz var. Hesabınızı silmək onu ləğv etməyəcək.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store -da abunəliyi ləğv et'; + } + + @override + String get deleteAccountContinueButton => 'Davam et'; + + @override + String get deleteAccountFormDescription => + 'Sizi getdiyinizi görməkdən məyus olduq. Hesabınızı silmək istədiyinizə əminsinizmi? Təsdiqlədikdən sonra məlumatlarınız silinəcək.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Artıq tətbiqdən istifadə etmirəm'; + + @override + String get deleteAccountReasonFoundBetter => 'Daha yaxşı bir şey tapdım'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Texniki problemlər'; + + @override + String get deleteAccountReasonEaseOfUse => 'İstifadə rahatlığı problemləri'; + + @override + String get deleteAccountReasonMissingFeatures => 'Əskik funksiyalar'; + + @override + String get deleteAccountReasonPrivacy => 'Məxfilik narahatlıqları'; + + @override + String get deleteAccountReasonClearData => + 'Sadəcə məlumatlarımı silmək istədim'; + + @override + String get deleteAccountReasonOther => 'Digər'; + + @override + String get deleteAccountFeedbackHint => 'Fikrinizi paylaşın'; + + @override + String get deleteAccountProgressMessage => 'Hesabınız silinir...'; + + @override + String get deleteAccountDeletingButton => 'Silinir'; + + @override + String get deleteAccountUndoButton => 'Geri al'; + + @override + String get deleteAccountSuccessToast => 'Hesabınız silindi.'; + + @override + String get deleteAccountErrorToast => + 'Hesabı silmək mümkün olmadı. Zəhmət olmasa, yenidən cəhd edin.'; + + @override + String get emailClientUnavailableToast => + 'Bu cihazda heç bir e-poçt tətbiqi mövcud deyil. Zəhmət olmasa, support@doctorina.com ilə əl ilə əlaqə saxlayın.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_be.dart b/example/lib/src/generated/settings/settings_localization_be.dart new file mode 100644 index 0000000..b29ff97 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_be.dart @@ -0,0 +1,258 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Belarusian (`be`). +class SettingsLocalizationBe extends SettingsLocalization { + SettingsLocalizationBe([String locale = 'be']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Ачысціць усе чаты'; + + @override + String get sectionClearAllChatsSubtitle => + 'Гэта назусім выдаліць вашу гісторыю чатаў.'; + + @override + String get sectionClearAllChatsButton => 'Ачысціць усе чаты'; + + @override + String get sectionClearAllChatsEmailTheme => 'Ачысціць усе чаты'; + + @override + String get sectionDeleteAccountTitle => 'Выдаліць акаўнт'; + + @override + String get sectionDeleteAccountSubtitle => + 'Выдаленне вашага акаўнта з\'яўляецца пастаянным дзеяннем і не можа быць адменена.'; + + @override + String get sectionDeleteAccountButton => 'Выдаліць'; + + @override + String get sectionDeleteAccountTheme => 'Выдаліць уліковы запіс'; + + @override + String get sectionLogOutTitle => 'Выйсці'; + + @override + String get sectionLogOutSubtitle => 'Вы выйдзеце са свайго ўліковага запісу.'; + + @override + String get sectionLogOutButton => 'Выйсці'; + + @override + String get sendBugReportButton => 'Адправіць справаздачу пра памылку'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Адправіць паведамленне з [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Адпраўце паведамленне з [⏎ Enter] і новы радок з [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Адправіць з [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Канфідэнцыяльнасць'; + + @override + String get sectionSelectLocaleTitle => 'Мова'; + + @override + String get sectionSelectLocaleSubtitle => + 'Выберыце пажаданую мову інтэрфейсу прыкладання'; + + @override + String get sectionSwitchThemeTitle => 'Цёмны рэжым'; + + @override + String get sectionSwitchThemeSubtitle => + 'Уключыце цёмны рэжым для камфортнага прагляду пры нізкім асвятленні'; + + @override + String get sectionLogsTitle => 'Журналы'; + + @override + String get sectionLogsSubtitle => + 'Прагляд і кіраванне журналамі прыкладання для адладкі'; + + @override + String get doneButton => 'Гатова'; + + @override + String get bugReportDialogTitle => 'Дэталi памылкi'; + + @override + String get bugReportDialogHintText => + 'Калі ласка, апішыце памылку, з якой вы сутыкнуліся'; + + @override + String get attachFilesButtonTooltip => 'Прымацаваць файлы'; + + @override + String get filePickerError => 'Не атрымалася выбраць файлы'; + + @override + String get emptyBugReportError => + 'Калі ласка, спачатку ўвядзіце справаздачу аб памылцы'; + + @override + String get failedToSendBugReportError => + 'Не ўдалося адправіць справаздачу пра памылку'; + + @override + String get sectionManageSubscriptionTitle => 'Кіраванне падпіскай'; + + @override + String get sectionManageSubscriptionSubtitle => 'Кіруйце наладамі падпіскі'; + + @override + String get sectionHapticFeedbackTitle => 'Вібрацыя'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Уключыце або адключыце тактыльную зваротную сувязь (вібрацыю) на падтрымоўваных прыладах'; + + @override + String get sectionNotificationTitle => 'Уключыць апавяшчэнні'; + + @override + String get sectionNotificationSubtitle => + 'Заставайцеся ў курсе, калі Doctorina знаходзіць нешта важнае ў вашых чатах, справаздачах або сімптомах'; + + @override + String get sectionAccountTitle => 'Акаўнт'; + + @override + String get sectionAppTitle => 'Дадатак'; + + @override + String get sectionAboutTitle => 'Пра праграму'; + + @override + String get sectionNotificationsTitle => 'Апавяшчэнні'; + + @override + String get sectionVideoTutorialsTitle => 'Відэаўрокі'; + + @override + String get accountPhoneLabel => 'Тэлефон'; + + @override + String get accountEmailLabel => 'Пошта'; + + @override + String get accountNameLabel => 'Імя'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Пропушчана $count файлаў з-за дублікатаў з існуючымі файламі'; + } + + @override + String get bugReportTypeSectionLabel => 'Тып'; + + @override + String get bugReportDescriptionSectionLabel => 'Апісанне'; + + @override + String get bugReportAttachmentsSectionLabel => 'Укладанні'; + + @override + String get bugReportTypeBug => 'Памылка'; + + @override + String get bugReportTypeCrash => 'Збой'; + + @override + String get bugReportTypeUiIssue => 'Праблема з інтэрфейсам'; + + @override + String get bugReportTypeOther => 'Іншае'; + + @override + String get deleteAccountWarningMessage => + 'Выдаленне вашага акаўнта назаўсёды выдаліць вашы дадзеныя з Doctorina'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Перад выдаленнем'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'У вас ёсць актыўная падпіска праз $store. Выдаленне вашага акаўнта не адменіць яе.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Адмяніць падпіску ў $store'; + } + + @override + String get deleteAccountContinueButton => 'Працягнуць'; + + @override + String get deleteAccountFormDescription => + 'Нам шкада вас губляць. Вы ўпэўненыя, што хочаце выдаліць свой уліковы запіс? Пасля пацверджання вашы дадзеныя будуць выдалены.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Я больш не карыстаюся прыкладаннем'; + + @override + String get deleteAccountReasonFoundBetter => 'Знайшлося нешта лепшае'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Тэхнічныя праблемы'; + + @override + String get deleteAccountReasonEaseOfUse => + 'Праблемы з зручнасцю выкарыстання'; + + @override + String get deleteAccountReasonMissingFeatures => 'Не хапае функцый'; + + @override + String get deleteAccountReasonPrivacy => 'Турбота пра прыватнасць'; + + @override + String get deleteAccountReasonClearData => + 'Я проста хачу выдаліць свае дадзеныя'; + + @override + String get deleteAccountReasonOther => 'Іншае'; + + @override + String get deleteAccountFeedbackHint => 'Падзяліцеся сваім меркаваннем'; + + @override + String get deleteAccountProgressMessage => 'Выдаленне вашага акаўнта...'; + + @override + String get deleteAccountDeletingButton => 'Выдаленне'; + + @override + String get deleteAccountUndoButton => 'Скасаваць'; + + @override + String get deleteAccountSuccessToast => 'Ваш уліковы запіс быў выдалены.'; + + @override + String get deleteAccountErrorToast => + 'Не ўдалося выдаліць акаўнт. Калі ласка, паспрабуйце яшчэ раз.'; + + @override + String get emailClientUnavailableToast => + 'Няма даступнага паштовага кліента. Калі ласка, звяжыцеся з support@doctorina.com.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_bg.dart b/example/lib/src/generated/settings/settings_localization_bg.dart new file mode 100644 index 0000000..5b0f148 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_bg.dart @@ -0,0 +1,258 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Bulgarian (`bg`). +class SettingsLocalizationBg extends SettingsLocalization { + SettingsLocalizationBg([String locale = 'bg']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Изчисти всички разговори'; + + @override + String get sectionClearAllChatsSubtitle => + 'Това ще изтрие трайно историята на вашите разговори.'; + + @override + String get sectionClearAllChatsButton => 'Изчисти всички разговори'; + + @override + String get sectionClearAllChatsEmailTheme => 'Изчисти всички чатове'; + + @override + String get sectionDeleteAccountTitle => 'Изтриване на акаунт'; + + @override + String get sectionDeleteAccountSubtitle => + 'Изтриването на акаунта ви е постоянно действие и не може да бъде отменено.'; + + @override + String get sectionDeleteAccountButton => 'Изтрий'; + + @override + String get sectionDeleteAccountTheme => 'Изтриване на акаунт'; + + @override + String get sectionLogOutTitle => 'Изход'; + + @override + String get sectionLogOutSubtitle => 'Ще бъдете излезли от акаунта си.'; + + @override + String get sectionLogOutButton => 'Изход'; + + @override + String get sendBugReportButton => 'Изпрати доклад за грешка'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Изпрати съобщение с [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Изпратете съобщение с [⏎ Enter] и нов ред с [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Изпрати с [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Политика за поверителност'; + + @override + String get sectionSelectLocaleTitle => 'Език'; + + @override + String get sectionSelectLocaleSubtitle => + 'Изберете предпочитания от вас език за интерфейса на приложението'; + + @override + String get sectionSwitchThemeTitle => 'Тъмен режим'; + + @override + String get sectionSwitchThemeSubtitle => + 'Активирайте тъмен режим за удобно гледане при слаба светлина'; + + @override + String get sectionLogsTitle => 'Логове'; + + @override + String get sectionLogsSubtitle => + 'Прегледайте и управлявайте приложенските журнали за отстраняване на грешки'; + + @override + String get doneButton => 'Готово'; + + @override + String get bugReportDialogTitle => 'Доклад за грешка'; + + @override + String get bugReportDialogHintText => + 'Моля, опишете грешката, която срещнахте'; + + @override + String get attachFilesButtonTooltip => 'Прикрепете файлове'; + + @override + String get filePickerError => 'Неуспешен избор на файлове'; + + @override + String get emptyBugReportError => 'Моля, първо въведете доклад за грешка'; + + @override + String get failedToSendBugReportError => + 'Неуспешно изпращане на отчет за грешка'; + + @override + String get sectionManageSubscriptionTitle => 'Управление на абонамента'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Управлявайте настройките на абонамента си'; + + @override + String get sectionHapticFeedbackTitle => 'Вибрация'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Активирайте или деактивирайте хаптична обратна връзка (вибрация) на съвместимите устройства'; + + @override + String get sectionNotificationTitle => 'Включете известията'; + + @override + String get sectionNotificationSubtitle => + 'Останете информирани, когато Doctorina намери нещо важно в вашите чатове, доклади или симптоми.'; + + @override + String get sectionAccountTitle => 'Акаунт'; + + @override + String get sectionAppTitle => 'Приложение'; + + @override + String get sectionAboutTitle => 'За приложението'; + + @override + String get sectionNotificationsTitle => 'Уведомления'; + + @override + String get sectionVideoTutorialsTitle => 'Видеоуроци'; + + @override + String get accountPhoneLabel => 'Телефон'; + + @override + String get accountEmailLabel => 'Имейл'; + + @override + String get accountNameLabel => 'Име'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Пропуснати са $count файла поради дублиране с вече съществуващи файлове'; + } + + @override + String get bugReportTypeSectionLabel => 'Тип'; + + @override + String get bugReportDescriptionSectionLabel => 'Описание'; + + @override + String get bugReportAttachmentsSectionLabel => 'Прикачени файлове'; + + @override + String get bugReportTypeBug => 'Бъг'; + + @override + String get bugReportTypeCrash => 'Срив'; + + @override + String get bugReportTypeUiIssue => 'Проблем с потребителския интерфейс'; + + @override + String get bugReportTypeOther => 'Друго'; + + @override + String get deleteAccountWarningMessage => + 'Изтриването на акаунта ви ще премахне трайно данните ви от Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Преди да изтриете'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Имате активна абонаментна услуга през $store. Изтриването на акаунта ви няма да я анулира.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Отмяна на абонамента в $store'; + } + + @override + String get deleteAccountContinueButton => 'Продължи'; + + @override + String get deleteAccountFormDescription => + 'Съжаляваме, че си тръгвате. Сигурни ли сте, че искате да изтриете акаунта си? След като потвърдите, данните ви ще бъдат загубени.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Не използвам приложението вече'; + + @override + String get deleteAccountReasonFoundBetter => 'Намерих нещо по-добро'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Технически проблеми'; + + @override + String get deleteAccountReasonEaseOfUse => + 'Проблеми с удобството на използване'; + + @override + String get deleteAccountReasonMissingFeatures => 'Липсващи функции'; + + @override + String get deleteAccountReasonPrivacy => 'Проблеми с конфиденциалността'; + + @override + String get deleteAccountReasonClearData => + 'Просто исках да изчистя данните си'; + + @override + String get deleteAccountReasonOther => 'Друго'; + + @override + String get deleteAccountFeedbackHint => 'Споделете вашето мнение'; + + @override + String get deleteAccountProgressMessage => 'Изтривам акаунта ви...'; + + @override + String get deleteAccountDeletingButton => 'Изтриване'; + + @override + String get deleteAccountUndoButton => 'Отмяна'; + + @override + String get deleteAccountSuccessToast => 'Вашият акаунт беше изтрит.'; + + @override + String get deleteAccountErrorToast => + 'Неуспешно изтриване на акаунта. Моля, опитайте отново.'; + + @override + String get emailClientUnavailableToast => + 'На това устройство няма налично приложение за имейл. Моля, свържете се ръчно на support@doctorina.com.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_bn.dart b/example/lib/src/generated/settings/settings_localization_bn.dart index 3ae6e02..40c2e54 100644 --- a/example/lib/src/generated/settings/settings_localization_bn.dart +++ b/example/lib/src/generated/settings/settings_localization_bn.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,40 +11,36 @@ class SettingsLocalizationBn extends SettingsLocalization { SettingsLocalizationBn([String locale = 'bn']) : super(locale); @override - String get title => 'অ্যাকাউন্ট সেটিংস'; - - @override - String get sectionClearAllChatsTitle => 'সমস্ত চ্যাট সাফ করুন'; + String get sectionClearAllChatsTitle => 'সব চ্যাট পরিস্কার করুন'; @override String get sectionClearAllChatsSubtitle => - 'এটি স্থায়ীভাবে আপনার চ্যাট ইতিহাস মুছে ফেলবে।'; + 'এটি আপনার চ্যাট ইতিহাস স্থায়ীভাবে মুছে ফেলবে.'; @override - String get sectionClearAllChatsButton => 'সমস্ত চ্যাট সাফ করুন'; + String get sectionClearAllChatsButton => 'সব চ্যাট মুছে ফেলুন'; @override - String get sectionClearAllChatsEmailTheme => 'সমস্ত চ্যাট সাফ করুন'; + String get sectionClearAllChatsEmailTheme => 'সব চ্যাট মুছে দিন'; @override String get sectionDeleteAccountTitle => 'অ্যাকাউন্ট মুছুন'; @override String get sectionDeleteAccountSubtitle => - 'আপনার অ্যাকাউন্ট মুছে ফেলা একটি স্থায়ী কাজ এবং পূর্বাবস্থায় ফেরানো যাবে না।'; + 'আপনার অ্যাকাউন্ট মুছে ফেলা একটি স্থায়ী ক্রিয়া এবং এটি ফিরিয়ে আনা যায় না।'; @override - String get sectionDeleteAccountButton => 'মুছুন'; + String get sectionDeleteAccountButton => 'মুছে ফেলুন'; @override - String get sectionDeleteAccountTheme => 'অ্যাকাউন্ট মুছুন'; + String get sectionDeleteAccountTheme => 'অ্যাকাউন্ট মুছে ফেলুন'; @override String get sectionLogOutTitle => 'সাইন আউট'; @override - String get sectionLogOutSubtitle => - 'আপনি আপনার অ্যাকাউন্ট থেকে সাইন আউট করা হবে.'; + String get sectionLogOutSubtitle => 'আপনার অ্যাকাউন্ট থেকে লগআউট করা হবে.'; @override String get sectionLogOutButton => 'সাইন আউট'; @@ -53,12 +49,17 @@ class SettingsLocalizationBn extends SettingsLocalization { String get sendBugReportButton => 'বাগ রিপোর্ট পাঠান'; @override - String get sectionSendMessageWithShiftEnterTitle => - '[⏎ Enter] দিয়ে বার্তা পাঠান'; + String get sectionSendMessageWithEnterTitle => 'মেসেজ পাঠান [⏎ এন্টার] দিয়ে'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'বার্তা পাঠান [⏎ Enter] দিয়ে এবং নতুন লাইন তৈরি করুন [Shift] + [⏎ Enter] দিয়ে'; + + @override + String get sectionSendMessageEnter => 'পাঠান [⏎ Enter]'; @override - String get sectionSendMessageWithShiftEnterSubtitle => - '[⏎ Enter] দিয়ে একটি বার্তা পাঠান এবং [Shift] + [⏎ Enter] দিয়ে একটি নতুন লাইন পাঠান'; + String get sectionPrivacyPolicy => 'গোপনীয়তা নীতি'; @override String get sectionSelectLocaleTitle => 'ভাষা'; @@ -72,14 +73,14 @@ class SettingsLocalizationBn extends SettingsLocalization { @override String get sectionSwitchThemeSubtitle => - 'কম আলোতে আরামদায়ক দেখার অভিজ্ঞতার জন্য অন্ধকার মোড সক্ষম করুন'; + 'কম আলোতে আরামদায়ক দেখার অভিজ্ঞতার জন্য ডার্ক মোড সক্রিয় করুন'; @override String get sectionLogsTitle => 'লগ'; @override String get sectionLogsSubtitle => - 'ডিবাগিংয়ের জন্য অ্যাপ্লিকেশন লগগুলি দেখুন এবং পরিচালনা করুন৷'; + 'ডিবাগিংয়ের জন্য অ্যাপ্লিকেশন লগ দেখুন এবং পরিচালনা করুন'; @override String get doneButton => 'সম্পন্ন'; @@ -88,24 +89,168 @@ class SettingsLocalizationBn extends SettingsLocalization { String get bugReportDialogTitle => 'বাগ রিপোর্ট'; @override - String get bugReportDialogHintText => 'আপনি সম্মুখীন বাগ বর্ণনা করুন'; + String get bugReportDialogHintText => + 'অনুগ্রহ করে আপনি যে বাগটি অভিজ্ঞতা করেছেন তা বর্ণনা করুন'; @override String get attachFilesButtonTooltip => 'ফাইল সংযুক্ত করুন'; @override - String get filePickerError => 'ফাইল বাছাই করতে ব্যর্থ হয়েছে'; + String get filePickerError => 'ফাইল নির্বাচন করতে ব্যর্থ'; @override - String get emptyBugReportError => 'অনুগ্রহ করে প্রথমে একটি বাগ রিপোর্ট লিখুন'; + String get emptyBugReportError => 'প্রথমে একটি বাগ রিপোর্ট দিন'; @override - String get failedToSendBugReportError => 'বাগ রিপোর্ট পাঠাতে ব্যর্থ হয়েছে'; + String get failedToSendBugReportError => 'বাগ রিপোর্ট পাঠাতে ব্যর্থ'; @override - String get sectionManageSubscriptionTitle => 'সদস্যতা পরিচালনা করুন'; + String get sectionManageSubscriptionTitle => 'সাবস্ক্রিপশন পরিচালনা করুন'; @override String get sectionManageSubscriptionSubtitle => - 'আপনার সদস্যতা সেটিংস পরিচালনা করুন'; + 'আপনার সাবস্ক্রিপশন সেটিংস পরিচালনা করুন'; + + @override + String get sectionHapticFeedbackTitle => 'হ্যাপটিক প্রতিক্রিয়া'; + + @override + String get sectionHapticFeedbackSubtitle => + 'সমর্থিত ডিভাইসগুলিতে হ্যাপ্টিক ফিডব্যাক (কম্পন) সক্রিয় বা নিষ্ক্রিয় করুন'; + + @override + String get sectionNotificationTitle => 'নোটিফিকেশন চালু করুন'; + + @override + String get sectionNotificationSubtitle => + 'Doctorina আপনার চ্যাট, রিপোর্ট বা উপসর্গে কিছু গুরুত্বপূর্ণ খুঁজে পেলে আপডেট থাকুন'; + + @override + String get sectionAccountTitle => 'অ্যাকাউন্ট'; + + @override + String get sectionAppTitle => 'অ্যাপ'; + + @override + String get sectionAboutTitle => 'সম্পর্কে'; + + @override + String get sectionNotificationsTitle => 'নোটিফিকেশন'; + + @override + String get sectionVideoTutorialsTitle => 'ভিডিও টিউটোরিয়াল'; + + @override + String get accountPhoneLabel => 'ফোন'; + + @override + String get accountEmailLabel => 'ইমেইল'; + + @override + String get accountNameLabel => 'নাম'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '$countটি ফাইল বিদ্যমান ফাইলের সাথে ডুপ্লিকেট হওয়ার কারণে বাদ দেওয়া হয়েছে'; + } + + @override + String get bugReportTypeSectionLabel => 'প্রকার'; + + @override + String get bugReportDescriptionSectionLabel => 'বর্ণনা'; + + @override + String get bugReportAttachmentsSectionLabel => 'সংযুক্তি'; + + @override + String get bugReportTypeBug => 'বাগ'; + + @override + String get bugReportTypeCrash => 'ক্র্যাশ'; + + @override + String get bugReportTypeUiIssue => 'UI সমস্যা'; + + @override + String get bugReportTypeOther => 'অন্যান্য'; + + @override + String get deleteAccountWarningMessage => + 'আপনার অ্যাকাউন্ট মুছে ফেলা হলে Doctorina থেকে আপনার ডেটা স্থায়ীভাবে মুছে যাবে।'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'আপনি মুছার আগে'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'আপনার একটি সক্রিয় সাবস্ক্রিপশন $store এর মাধ্যমে রয়েছে। আপনার অ্যাকাউন্ট মুছে ফেলা হলে এটি বাতিল হবে না।'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store এ সাবস্ক্রিপশন বাতিল করুন'; + } + + @override + String get deleteAccountContinueButton => 'অগ্রসর হন'; + + @override + String get deleteAccountFormDescription => + 'আমরা আপনাকে যেতে দেখে দুঃখিত। আপনি কি নিশ্চিত যে আপনার অ্যাকাউন্ট মুছে ফেলতে চান? একবার নিশ্চিত হলে, আপনার তথ্য চলে যাবে।'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'আমি আর অ্যাপটি ব্যবহার করি না'; + + @override + String get deleteAccountReasonFoundBetter => 'ভালো কিছু পেয়েছি'; + + @override + String get deleteAccountReasonTechnicalIssues => 'প্রযুক্তিগত সমস্যা'; + + @override + String get deleteAccountReasonEaseOfUse => 'ব্যবহারের সমস্যা'; + + @override + String get deleteAccountReasonMissingFeatures => 'ফিচারের অভাব'; + + @override + String get deleteAccountReasonPrivacy => 'গোপনীয়তা উদ্বেগ'; + + @override + String get deleteAccountReasonClearData => + 'আমি শুধু আমার ডেটা মুছে ফেলতে চেয়েছিলাম'; + + @override + String get deleteAccountReasonOther => 'অন্যান্য'; + + @override + String get deleteAccountFeedbackHint => 'আপনার প্রতিক্রিয়া শেয়ার করুন'; + + @override + String get deleteAccountProgressMessage => + 'আপনার অ্যাকাউন্ট মুছে ফেলা হচ্ছে...'; + + @override + String get deleteAccountDeletingButton => 'মুছে ফেলা হচ্ছে'; + + @override + String get deleteAccountUndoButton => 'পুনরুদ্ধার'; + + @override + String get deleteAccountSuccessToast => 'আপনার অ্যাকাউন্ট মুছে ফেলা হয়েছে।'; + + @override + String get deleteAccountErrorToast => + 'অ্যাকাউন্ট মুছতে ব্যর্থ হয়েছে। আবার চেষ্টা করুন।'; + + @override + String get emailClientUnavailableToast => + 'এই ডিভাইসে কোন ইমেল অ্যাপ উপলব্ধ নেই। দয়া করে support@doctorina.com এ ম্যানুয়ালি যোগাযোগ করুন।'; } diff --git a/example/lib/src/generated/settings/settings_localization_ca.dart b/example/lib/src/generated/settings/settings_localization_ca.dart new file mode 100644 index 0000000..0b7721e --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_ca.dart @@ -0,0 +1,259 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Catalan Valencian (`ca`). +class SettingsLocalizationCa extends SettingsLocalization { + SettingsLocalizationCa([String locale = 'ca']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Esborra Totes les Xerrades'; + + @override + String get sectionClearAllChatsSubtitle => + 'Això suposarà la eliminació permanent de l\'historial de xats.'; + + @override + String get sectionClearAllChatsButton => 'Esborra totes les xerrades'; + + @override + String get sectionClearAllChatsEmailTheme => 'Esborra totes les xerrades'; + + @override + String get sectionDeleteAccountTitle => 'Eliminar compte'; + + @override + String get sectionDeleteAccountSubtitle => + 'Esborrar el teu compte és una acció permanent i no es pot desfer.'; + + @override + String get sectionDeleteAccountButton => 'Eliminar'; + + @override + String get sectionDeleteAccountTheme => 'Eliminar compte'; + + @override + String get sectionLogOutTitle => 'Tancar sessió'; + + @override + String get sectionLogOutSubtitle => 'Seràs desconnectat del teu compte'; + + @override + String get sectionLogOutButton => 'Tancar sessió'; + + @override + String get sendBugReportButton => 'Enviar informe de bug'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Envia el missatge amb [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Envia un missatge amb [⏎ Enter] i una nova línia amb [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Envia amb [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Política de privadesa'; + + @override + String get sectionSelectLocaleTitle => 'Idioma'; + + @override + String get sectionSelectLocaleSubtitle => + 'Selecciona el teu idioma preferit per a la interfície de l\'aplicació'; + + @override + String get sectionSwitchThemeTitle => 'Mode fosc'; + + @override + String get sectionSwitchThemeSubtitle => + 'Activa el mode fosc per a una experiència de visualització còmoda en poca llum'; + + @override + String get sectionLogsTitle => 'Registres'; + + @override + String get sectionLogsSubtitle => + 'Veure i gestionar els registres de l\'aplicació per a la depuració'; + + @override + String get doneButton => 'Fet'; + + @override + String get bugReportDialogTitle => 'Informe de errors'; + + @override + String get bugReportDialogHintText => + 'Si us plau, descriu el problema que has trobat'; + + @override + String get attachFilesButtonTooltip => 'Adjunta fitxers'; + + @override + String get filePickerError => 'No s\'han pogut seleccionar fitxers'; + + @override + String get emptyBugReportError => + 'Si us plau, introdueix primer un informe d\'error'; + + @override + String get failedToSendBugReportError => + 'No s\'ha pogut enviar el informe d\'error'; + + @override + String get sectionManageSubscriptionTitle => 'Gestiona la subscripció'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Gestiona la teva subscripció'; + + @override + String get sectionHapticFeedbackTitle => 'Retroalimentació hàptica'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Activa o desactiva la retroalimentació hàptica (vibració) en dispositius compatibles'; + + @override + String get sectionNotificationTitle => 'Activa les notificacions'; + + @override + String get sectionNotificationSubtitle => + 'Mantingueu-vos actualitzat quan Doctorina trobi alguna cosa important en les vostres xats, informes o símptomes.'; + + @override + String get sectionAccountTitle => 'Compte'; + + @override + String get sectionAppTitle => 'App'; + + @override + String get sectionAboutTitle => 'Sobre'; + + @override + String get sectionNotificationsTitle => 'Notificacions'; + + @override + String get sectionVideoTutorialsTitle => 'Tutorials en vídeo'; + + @override + String get accountPhoneLabel => 'Telèfon'; + + @override + String get accountEmailLabel => 'Correu electrònic'; + + @override + String get accountNameLabel => 'Nom'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'S\'han saltat $count fitxers a causa de duplicats amb fitxers existents'; + } + + @override + String get bugReportTypeSectionLabel => 'Tipus'; + + @override + String get bugReportDescriptionSectionLabel => 'Descripció'; + + @override + String get bugReportAttachmentsSectionLabel => 'Adjunts'; + + @override + String get bugReportTypeBug => 'Error'; + + @override + String get bugReportTypeCrash => 'Crash'; + + @override + String get bugReportTypeUiIssue => 'Problema d\'UI'; + + @override + String get bugReportTypeOther => 'Altres'; + + @override + String get deleteAccountWarningMessage => + 'Esborrar el teu compte eliminarà permanentment les teves dades de Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Abans de suprimir'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Tens un abonament actiu a través de $store. Eliminar el teu compte no el cancel·larà.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Cancel·la la subscripció a la $store'; + } + + @override + String get deleteAccountContinueButton => 'Continuar'; + + @override + String get deleteAccountFormDescription => + 'Lamentem veure\'t marxar. Estàs segur que vols eliminar el teu compte? Un cop ho confirmis, les teves dades desapareixeran.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Ja no faig servir l\'aplicació'; + + @override + String get deleteAccountReasonFoundBetter => 'He trobat alguna cosa millor'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Problemes tècnics'; + + @override + String get deleteAccountReasonEaseOfUse => 'Problemes d\'ús'; + + @override + String get deleteAccountReasonMissingFeatures => 'Funcions que falten'; + + @override + String get deleteAccountReasonPrivacy => 'Preocupacions per la privadesa'; + + @override + String get deleteAccountReasonClearData => + 'Només volia esborrar les meves dades'; + + @override + String get deleteAccountReasonOther => 'Altres'; + + @override + String get deleteAccountFeedbackHint => 'Comparteix el teu comentari'; + + @override + String get deleteAccountProgressMessage => + 'S\'està eliminant el teu compte...'; + + @override + String get deleteAccountDeletingButton => 'Eliminant'; + + @override + String get deleteAccountUndoButton => 'Desfer'; + + @override + String get deleteAccountSuccessToast => 'El teu compte ha estat eliminat.'; + + @override + String get deleteAccountErrorToast => + 'No s\'ha pogut eliminar el compte. Si us plau, torna a provar.'; + + @override + String get emailClientUnavailableToast => + 'No hi ha cap aplicació de correu electrònic disponible en aquest dispositiu. Si us plau, contacta manualment amb support@doctorina.com.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_cs.dart b/example/lib/src/generated/settings/settings_localization_cs.dart new file mode 100644 index 0000000..752a7c5 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_cs.dart @@ -0,0 +1,255 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Czech (`cs`). +class SettingsLocalizationCs extends SettingsLocalization { + SettingsLocalizationCs([String locale = 'cs']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Smazat všechny chaty'; + + @override + String get sectionClearAllChatsSubtitle => + 'Tímto trvale odstraníte svou historii chatu.'; + + @override + String get sectionClearAllChatsButton => 'Smazat všechny chaty'; + + @override + String get sectionClearAllChatsEmailTheme => 'Vymazat všechny chaty'; + + @override + String get sectionDeleteAccountTitle => 'Smazat účet'; + + @override + String get sectionDeleteAccountSubtitle => + 'Smazání vašeho účtu je trvalá akce a nelze ji vrátit zpět.'; + + @override + String get sectionDeleteAccountButton => 'Smazat'; + + @override + String get sectionDeleteAccountTheme => 'Smazat účet'; + + @override + String get sectionLogOutTitle => 'Odhlásit se'; + + @override + String get sectionLogOutSubtitle => 'Budete odhlášeni ze svého účtu.'; + + @override + String get sectionLogOutButton => 'Odhlásit se'; + + @override + String get sendBugReportButton => 'Odeslat hlášení o chybě'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Odeslat zprávu pomocí [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Odešlete zprávu pomocí [⏎ Enter] a nový řádek pomocí [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Odeslat pomocí [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Soukromí'; + + @override + String get sectionSelectLocaleTitle => 'Jazyk'; + + @override + String get sectionSelectLocaleSubtitle => + 'Vyberte si preferovaný jazyk pro rozhraní aplikace'; + + @override + String get sectionSwitchThemeTitle => 'Tmavý režim'; + + @override + String get sectionSwitchThemeSubtitle => + 'Povolit tmavý režim pro pohodlnější prohlížení při slabém osvětlení'; + + @override + String get sectionLogsTitle => 'Záznamy'; + + @override + String get sectionLogsSubtitle => + 'Zobrazit a spravovat protokoly aplikace pro ladění'; + + @override + String get doneButton => 'Hotovo'; + + @override + String get bugReportDialogTitle => 'Hlášení chyby'; + + @override + String get bugReportDialogHintText => + 'Prosím, popište chybu, se kterou jste se setkali'; + + @override + String get attachFilesButtonTooltip => 'Připojit soubory'; + + @override + String get filePickerError => 'Výběr souborů se nezdařil'; + + @override + String get emptyBugReportError => 'Prosím, nejprve zadejte hlášení o chybě'; + + @override + String get failedToSendBugReportError => + 'Nepodařilo se odeslat hlášení o chybě'; + + @override + String get sectionManageSubscriptionTitle => 'Spravovat předplatné'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Spravujte svá nastavení předplatného'; + + @override + String get sectionHapticFeedbackTitle => 'Haptická zpětná vazba'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Povolit nebo zakázat haptickou zpětnou vazbu (vibraci) na podporovaných zařízeních'; + + @override + String get sectionNotificationTitle => 'Zapnout oznámení'; + + @override + String get sectionNotificationSubtitle => + 'Buďte informováni, když Doctorina najde něco důležitého ve vašich chatech, zprávách nebo symptomech.'; + + @override + String get sectionAccountTitle => 'Účet'; + + @override + String get sectionAppTitle => 'Aplikace'; + + @override + String get sectionAboutTitle => 'O aplikaci'; + + @override + String get sectionNotificationsTitle => 'Upozornění'; + + @override + String get sectionVideoTutorialsTitle => 'Video tutoriály'; + + @override + String get accountPhoneLabel => 'Telefon'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Jméno'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Přeskočeno $count souborů kvůli duplicitě s existujícími soubory'; + } + + @override + String get bugReportTypeSectionLabel => 'Typ'; + + @override + String get bugReportDescriptionSectionLabel => 'Popis'; + + @override + String get bugReportAttachmentsSectionLabel => 'Přílohy'; + + @override + String get bugReportTypeBug => 'Chyba'; + + @override + String get bugReportTypeCrash => 'Pád'; + + @override + String get bugReportTypeUiIssue => 'Problém s uživatelským rozhraním'; + + @override + String get bugReportTypeOther => 'Jiné'; + + @override + String get deleteAccountWarningMessage => + 'Smazání vašeho účtu trvale odstraní vaše data z Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Před odstraněním'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Máte aktivní předplatné přes $store. Smazání vašeho účtu jej nezruší.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Zrušit předplatné v $store'; + } + + @override + String get deleteAccountContinueButton => 'Pokračovat'; + + @override + String get deleteAccountFormDescription => + 'Je nám líto, že odcházíte. Jste si jisti, že chcete smazat svůj účet? Jakmile potvrdíte, vaše data budou ztracena.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'Už aplikaci nepoužívám'; + + @override + String get deleteAccountReasonFoundBetter => 'Našel jsem něco lepšího'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Technické problémy'; + + @override + String get deleteAccountReasonEaseOfUse => 'Problémy s používáním'; + + @override + String get deleteAccountReasonMissingFeatures => 'Chybějící funkce'; + + @override + String get deleteAccountReasonPrivacy => 'Obavy o soukromí'; + + @override + String get deleteAccountReasonClearData => 'Jen jsem si chtěl vymazat data'; + + @override + String get deleteAccountReasonOther => 'Jiné'; + + @override + String get deleteAccountFeedbackHint => 'Sdílejte své názory'; + + @override + String get deleteAccountProgressMessage => 'Odstraňuji váš účet...'; + + @override + String get deleteAccountDeletingButton => 'Mazání'; + + @override + String get deleteAccountUndoButton => 'Zpět'; + + @override + String get deleteAccountSuccessToast => 'Váš účet byl smazán.'; + + @override + String get deleteAccountErrorToast => + 'Nepodařilo se smazat účet. Zkuste to prosím znovu.'; + + @override + String get emailClientUnavailableToast => + 'Na tomto zařízení není k dispozici žádná aplikace pro e-mail. Prosím, kontaktujte support@doctorina.com ručně.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_da.dart b/example/lib/src/generated/settings/settings_localization_da.dart new file mode 100644 index 0000000..e2e328e --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_da.dart @@ -0,0 +1,254 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Danish (`da`). +class SettingsLocalizationDa extends SettingsLocalization { + SettingsLocalizationDa([String locale = 'da']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Slet Alle Chats'; + + @override + String get sectionClearAllChatsSubtitle => + 'Dette vil permanent slette din chat-historik.'; + + @override + String get sectionClearAllChatsButton => 'Slet alle chats'; + + @override + String get sectionClearAllChatsEmailTheme => 'Slet alle chats'; + + @override + String get sectionDeleteAccountTitle => 'Slet konto'; + + @override + String get sectionDeleteAccountSubtitle => + 'Sletning af din konto er en permanent handling og kan ikke fortrydes.'; + + @override + String get sectionDeleteAccountButton => 'Slet'; + + @override + String get sectionDeleteAccountTheme => 'Slet konto'; + + @override + String get sectionLogOutTitle => 'Log ud'; + + @override + String get sectionLogOutSubtitle => 'Du vil blive logget ud af din konto'; + + @override + String get sectionLogOutButton => 'Log ud'; + + @override + String get sendBugReportButton => 'Send fejlrapport'; + + @override + String get sectionSendMessageWithEnterTitle => 'Send besked med [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Send en besked med [⏎ Enter] og en ny linje med [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Send med [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Privatlivspolitik'; + + @override + String get sectionSelectLocaleTitle => 'Sprog'; + + @override + String get sectionSelectLocaleSubtitle => + 'Vælg dit foretrukne sprog til appens grænseflade'; + + @override + String get sectionSwitchThemeTitle => 'Mørk tilstand'; + + @override + String get sectionSwitchThemeSubtitle => + 'Aktivér mørk tilstand for en behagelig visningsoplevelse i svagt lys'; + + @override + String get sectionLogsTitle => 'Logs'; + + @override + String get sectionLogsSubtitle => + 'Se og administrer applikationslogfiler til fejlfinding'; + + @override + String get doneButton => 'Færdig'; + + @override + String get bugReportDialogTitle => 'Fejlrapport'; + + @override + String get bugReportDialogHintText => + 'Beskriv venligst den fejl, du stødte på'; + + @override + String get attachFilesButtonTooltip => 'Vedhæft filer'; + + @override + String get filePickerError => 'Kunne ikke vælge filer'; + + @override + String get emptyBugReportError => 'Indtast venligst først en fejlrapport'; + + @override + String get failedToSendBugReportError => 'Kunne ikke sende fejlrapport'; + + @override + String get sectionManageSubscriptionTitle => 'Administrer abonnement'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Administrer dine abonnementsindstillinger'; + + @override + String get sectionHapticFeedbackTitle => 'Haptisk feedback'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Aktivér eller deaktiver haptisk feedback (vibration) på understøttede enheder'; + + @override + String get sectionNotificationTitle => 'Tænd for notifikationer'; + + @override + String get sectionNotificationSubtitle => + 'Hold dig opdateret, når Doctorina finder noget vigtigt i dine chats, rapporter eller symptomer.'; + + @override + String get sectionAccountTitle => 'Konto'; + + @override + String get sectionAppTitle => 'App'; + + @override + String get sectionAboutTitle => 'Om'; + + @override + String get sectionNotificationsTitle => 'Notifikationer'; + + @override + String get sectionVideoTutorialsTitle => 'Videovejledninger'; + + @override + String get accountPhoneLabel => 'Telefon'; + + @override + String get accountEmailLabel => 'E-mail'; + + @override + String get accountNameLabel => 'Navn'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Sprunget over $count filer på grund af duplikater med eksisterende filer'; + } + + @override + String get bugReportTypeSectionLabel => 'Type'; + + @override + String get bugReportDescriptionSectionLabel => 'Beskrivelse'; + + @override + String get bugReportAttachmentsSectionLabel => 'Vedhæftninger'; + + @override + String get bugReportTypeBug => 'Fejl'; + + @override + String get bugReportTypeCrash => 'Crash'; + + @override + String get bugReportTypeUiIssue => 'UI-problem'; + + @override + String get bugReportTypeOther => 'Andet'; + + @override + String get deleteAccountWarningMessage => + 'Sletning af din konto vil permanent fjerne dine data fra Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Før du sletter'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Du har et aktivt abonnement gennem $store. Sletning af din konto annullerer det ikke.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Annuller abonnement i $store'; + } + + @override + String get deleteAccountContinueButton => 'Fortsæt'; + + @override + String get deleteAccountFormDescription => + 'Vi er kede af at se dig gå. Er du sikker på, at du vil slette din konto? Når du bekræfter, vil dine data være væk.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Jeg bruger appen ikke længere'; + + @override + String get deleteAccountReasonFoundBetter => 'Har fundet noget bedre'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Tekniske problemer'; + + @override + String get deleteAccountReasonEaseOfUse => 'Problemer med brugervenlighed'; + + @override + String get deleteAccountReasonMissingFeatures => 'Manglende funktioner'; + + @override + String get deleteAccountReasonPrivacy => 'Privatlivsbekymringer'; + + @override + String get deleteAccountReasonClearData => 'Jeg ville bare rydde mine data'; + + @override + String get deleteAccountReasonOther => 'Andet'; + + @override + String get deleteAccountFeedbackHint => 'Del din feedback'; + + @override + String get deleteAccountProgressMessage => 'Sletter din konto...'; + + @override + String get deleteAccountDeletingButton => 'Sletter'; + + @override + String get deleteAccountUndoButton => 'Fortryd'; + + @override + String get deleteAccountSuccessToast => 'Din konto er blevet slettet.'; + + @override + String get deleteAccountErrorToast => + 'Kunne ikke slette konto. Prøv venligst igen.'; + + @override + String get emailClientUnavailableToast => + 'Ingen e-mailapp er tilgængelig på denne enhed. Kontakt venligst support@doctorina.com manuelt.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_de.dart b/example/lib/src/generated/settings/settings_localization_de.dart index 55e9c68..f65d8bb 100644 --- a/example/lib/src/generated/settings/settings_localization_de.dart +++ b/example/lib/src/generated/settings/settings_localization_de.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'settings_localization.dart'; class SettingsLocalizationDe extends SettingsLocalization { SettingsLocalizationDe([String locale = 'de']) : super(locale); - @override - String get title => 'Kontoeinstellungen'; - @override String get sectionClearAllChatsTitle => 'Alle Chats löschen'; @@ -52,12 +49,18 @@ class SettingsLocalizationDe extends SettingsLocalization { String get sendBugReportButton => 'Fehlerbericht senden'; @override - String get sectionSendMessageWithShiftEnterTitle => - 'Nachricht senden mit [⏎ Enter]'; + String get sectionSendMessageWithEnterTitle => + 'Nachricht senden mit [⏎ Eingabe]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Sende eine Nachricht mit [⏎ Enter] und einen Zeilenumbruch mit [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Senden mit [⏎ Enter]'; @override - String get sectionSendMessageWithShiftEnterSubtitle => - 'Senden Sie eine Nachricht mit [⏎ Enter] und eine neue Zeile mit [Shift] + [⏎ Enter]'; + String get sectionPrivacyPolicy => 'Datenschutzrichtlinie'; @override String get sectionSelectLocaleTitle => 'Sprache'; @@ -67,34 +70,34 @@ class SettingsLocalizationDe extends SettingsLocalization { 'Wählen Sie Ihre bevorzugte Sprache für die App-Oberfläche'; @override - String get sectionSwitchThemeTitle => 'Dunkler Modus'; + String get sectionSwitchThemeTitle => 'Dunkelmodus'; @override String get sectionSwitchThemeSubtitle => - 'Aktivieren Sie den Dunkelmodus für ein angenehmes Seherlebnis bei schwachem Licht'; + 'Aktiviere den Dunkelmodus für ein angenehmes Seherlebnis bei schwachem Licht'; @override String get sectionLogsTitle => 'Protokolle'; @override String get sectionLogsSubtitle => - 'Anzeigen und Verwalten von Anwendungsprotokollen zum Debuggen'; + 'Anwendungsprotokolle zur Fehlersuche anzeigen und verwalten'; @override - String get doneButton => 'Erledigt'; + String get doneButton => 'Fertig'; @override String get bugReportDialogTitle => 'Fehlerbericht'; @override String get bugReportDialogHintText => - 'Bitte beschreiben Sie den aufgetretenen Fehler'; + 'Bitte beschreiben Sie den Fehler, den Sie festgestellt haben'; @override String get attachFilesButtonTooltip => 'Dateien anhängen'; @override - String get filePickerError => 'Fehler beim Auswählen der Dateien'; + String get filePickerError => 'Dateien konnten nicht ausgewählt werden'; @override String get emptyBugReportError => @@ -109,5 +112,147 @@ class SettingsLocalizationDe extends SettingsLocalization { @override String get sectionManageSubscriptionSubtitle => - 'Verwalten Sie Ihre Abonnementeinstellungen'; + 'Verwalte deine Abonnementseinstellungen'; + + @override + String get sectionHapticFeedbackTitle => 'Haptisches Feedback'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Aktiviere oder deaktiviere das haptische Feedback (Vibration) auf unterstützten Geräten'; + + @override + String get sectionNotificationTitle => 'Benachrichtigungen aktivieren'; + + @override + String get sectionNotificationSubtitle => + 'Bleiben Sie informiert, wenn Doctorina etwas Wichtiges in Ihren Chats, Berichten oder Symptomen findet.'; + + @override + String get sectionAccountTitle => 'Konto'; + + @override + String get sectionAppTitle => 'App'; + + @override + String get sectionAboutTitle => 'Über'; + + @override + String get sectionNotificationsTitle => 'Benachrichtigungen'; + + @override + String get sectionVideoTutorialsTitle => 'Video-Tutorials'; + + @override + String get accountPhoneLabel => 'Telefon'; + + @override + String get accountEmailLabel => 'E-Mail'; + + @override + String get accountNameLabel => 'Name'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Es wurden $count Dateien aufgrund von Duplikaten mit vorhandenen Dateien übersprungen'; + } + + @override + String get bugReportTypeSectionLabel => 'Typ'; + + @override + String get bugReportDescriptionSectionLabel => 'Beschreibung'; + + @override + String get bugReportAttachmentsSectionLabel => 'Anhänge'; + + @override + String get bugReportTypeBug => 'Fehler'; + + @override + String get bugReportTypeCrash => 'Absturz'; + + @override + String get bugReportTypeUiIssue => 'UI-Problem'; + + @override + String get bugReportTypeOther => 'Andere'; + + @override + String get deleteAccountWarningMessage => + 'Das Löschen Ihres Kontos entfernt Ihre Daten dauerhaft von Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Bevor Sie löschen'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Sie haben ein aktives Abonnement über den $store. Das Löschen Ihres Kontos wird es nicht kündigen.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Abonnement im $store kündigen'; + } + + @override + String get deleteAccountContinueButton => 'Weiter'; + + @override + String get deleteAccountFormDescription => + 'Es tut uns leid, dass Sie gehen. Sind Sie sicher, dass Sie Ihr Konto löschen möchten? Sobald Sie bestätigen, sind Ihre Daten weg.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Ich benutze die App nicht mehr'; + + @override + String get deleteAccountReasonFoundBetter => 'Etwas Besseres gefunden'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Technische Probleme'; + + @override + String get deleteAccountReasonEaseOfUse => 'Benutzerfreundlichkeitsprobleme'; + + @override + String get deleteAccountReasonMissingFeatures => 'Fehlende Funktionen'; + + @override + String get deleteAccountReasonPrivacy => 'Datenschutzbedenken'; + + @override + String get deleteAccountReasonClearData => + 'Ich wollte nur meine Daten löschen'; + + @override + String get deleteAccountReasonOther => 'Andere'; + + @override + String get deleteAccountFeedbackHint => 'Teilen Sie uns Ihr Feedback mit'; + + @override + String get deleteAccountProgressMessage => 'Ihr Konto wird gelöscht...'; + + @override + String get deleteAccountDeletingButton => 'Löschen'; + + @override + String get deleteAccountUndoButton => 'Rückgängig'; + + @override + String get deleteAccountSuccessToast => 'Ihr Konto wurde gelöscht.'; + + @override + String get deleteAccountErrorToast => + 'Konto konnte nicht gelöscht werden. Bitte versuchen Sie es erneut.'; + + @override + String get emailClientUnavailableToast => + 'Auf diesem Gerät ist keine E-Mail-App verfügbar. Bitte kontaktieren Sie support@doctorina.com manuell.'; } diff --git a/example/lib/src/generated/settings/settings_localization_el.dart b/example/lib/src/generated/settings/settings_localization_el.dart new file mode 100644 index 0000000..ee76d54 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_el.dart @@ -0,0 +1,259 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Modern Greek (`el`). +class SettingsLocalizationEl extends SettingsLocalization { + SettingsLocalizationEl([String locale = 'el']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Καθαρίστε όλες τις συνομιλίες'; + + @override + String get sectionClearAllChatsSubtitle => + 'Αυτό θα διαγράψει μόνιμα το ιστορικό συνομιλιών σας.'; + + @override + String get sectionClearAllChatsButton => 'Καθαρίστε όλες τις συνομιλίες'; + + @override + String get sectionClearAllChatsEmailTheme => 'Καθαρίστε όλες τις συνομιλίες'; + + @override + String get sectionDeleteAccountTitle => 'Διαγραφή Λογαριασμού'; + + @override + String get sectionDeleteAccountSubtitle => + 'Η διαγραφή του λογαριασμού σας είναι μια μόνιμη ενέργεια και δεν μπορεί να αναιρεθεί.'; + + @override + String get sectionDeleteAccountButton => 'Διαγραφή'; + + @override + String get sectionDeleteAccountTheme => 'Διαγραφή Λογαριασμού'; + + @override + String get sectionLogOutTitle => 'Αποσύνδεση'; + + @override + String get sectionLogOutSubtitle => + 'Θα αποσυνδεθείτε από τον λογαριασμό σας.'; + + @override + String get sectionLogOutButton => 'Αποσύνδεση'; + + @override + String get sendBugReportButton => 'Αποστολή αναφοράς σφάλματος'; + + @override + String get sectionSendMessageWithEnterTitle => 'Στείλτε μήνυμα με [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Στείλτε ένα μήνυμα με [⏎ Enter] και μια νέα γραμμή με [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Αποστολή με [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Πολιτική Απορρήτου'; + + @override + String get sectionSelectLocaleTitle => 'Γλώσσα'; + + @override + String get sectionSelectLocaleSubtitle => + 'Επιλέξτε τη γλώσσα που προτιμάτε για τη διεπαφή της εφαρμογής'; + + @override + String get sectionSwitchThemeTitle => 'Σκοτεινή λειτουργία'; + + @override + String get sectionSwitchThemeSubtitle => + 'Ενεργοποιήστε τη σκοτεινή λειτουργία για άνετη εμπειρία θέασης σε χαμηλό φωτισμό'; + + @override + String get sectionLogsTitle => 'Καταγραφές'; + + @override + String get sectionLogsSubtitle => + 'Δείτε και διαχειριστείτε τα αρχεία καταγραφής εφαρμογής για αποσφαλμάτωση'; + + @override + String get doneButton => 'Έγινε'; + + @override + String get bugReportDialogTitle => 'Αναφορά σφάλματος'; + + @override + String get bugReportDialogHintText => + 'Παρακαλώ περιγράψτε το σφάλμα που συναντήσατε'; + + @override + String get attachFilesButtonTooltip => 'Επισυνάψτε αρχεία'; + + @override + String get filePickerError => 'Αποτυχία επιλογής αρχείων'; + + @override + String get emptyBugReportError => + 'Παρακαλώ εισάγετε πρώτα μια αναφορά σφάλματος'; + + @override + String get failedToSendBugReportError => + 'Αποτυχία αποστολής αναφοράς σφάλματος'; + + @override + String get sectionManageSubscriptionTitle => 'Διαχείριση συνδρομής'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Διαχειριστείτε τις ρυθμίσεις συνδρομής σας'; + + @override + String get sectionHapticFeedbackTitle => 'Δόνηση'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Ενεργοποιήστε ή απενεργοποιήστε την απτική ανατροφοδότηση (δόνηση) σε υποστηριζόμενες συσκευές'; + + @override + String get sectionNotificationTitle => 'Ενεργοποιήστε τις ειδοποιήσεις'; + + @override + String get sectionNotificationSubtitle => + 'Μείνετε ενημερωμένοι όταν η Doctorina βρει κάτι σημαντικό στις συνομιλίες, τις αναφορές ή τα συμπτώματά σας.'; + + @override + String get sectionAccountTitle => 'Λογαριασμός'; + + @override + String get sectionAppTitle => 'Εφαρμογή'; + + @override + String get sectionAboutTitle => 'Σχετικά'; + + @override + String get sectionNotificationsTitle => 'Ειδοποιήσεις'; + + @override + String get sectionVideoTutorialsTitle => 'Βίντεο μαθήματα'; + + @override + String get accountPhoneLabel => 'Τηλέφωνο'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Όνομα'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Παραλείφθηκαν $count αρχεία λόγω διπλοτύπου με υπάρχοντα αρχεία'; + } + + @override + String get bugReportTypeSectionLabel => 'Τύπος'; + + @override + String get bugReportDescriptionSectionLabel => 'Περιγραφή'; + + @override + String get bugReportAttachmentsSectionLabel => 'Συνημμένα'; + + @override + String get bugReportTypeBug => 'Σφάλμα'; + + @override + String get bugReportTypeCrash => 'Σφάλμα'; + + @override + String get bugReportTypeUiIssue => 'Πρόβλημα UI'; + + @override + String get bugReportTypeOther => 'Άλλο'; + + @override + String get deleteAccountWarningMessage => + 'Η διαγραφή του λογαριασμού σας θα αφαιρέσει μόνιμα τα δεδομένα σας από το Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Πριν διαγράψετε'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Έχετε μια ενεργή συνδρομή μέσω του $store. Η διαγραφή του λογαριασμού σας δεν θα την ακυρώσει.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Ακύρωση συνδρομής στο $store'; + } + + @override + String get deleteAccountContinueButton => 'Συνέχεια'; + + @override + String get deleteAccountFormDescription => + 'Λυπούμαστε που σας βλέπουμε να φεύγετε. Είστε σίγουροι ότι θέλετε να διαγράψετε τον λογαριασμό σας; Μόλις το επιβεβαιώσετε, τα δεδομένα σας θα χαθούν.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Δεν χρησιμοποιώ πια την εφαρμογή'; + + @override + String get deleteAccountReasonFoundBetter => 'Βρήκα κάτι καλύτερο'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Τεχνικά προβλήματα'; + + @override + String get deleteAccountReasonEaseOfUse => 'Προβλήματα ευχρηστίας'; + + @override + String get deleteAccountReasonMissingFeatures => 'Ελλείποντα χαρακτηριστικά'; + + @override + String get deleteAccountReasonPrivacy => + 'Ανησυχίες σχετικά με την ιδιωτικότητα'; + + @override + String get deleteAccountReasonClearData => + 'Απλώς ήθελα να καθαρίσω τα δεδομένα μου'; + + @override + String get deleteAccountReasonOther => 'Άλλο'; + + @override + String get deleteAccountFeedbackHint => 'Μοιραστείτε την ανατροφοδότησή σας'; + + @override + String get deleteAccountProgressMessage => 'Διαγράφεται ο λογαριασμός σας...'; + + @override + String get deleteAccountDeletingButton => 'Διαγραφή'; + + @override + String get deleteAccountUndoButton => 'Αναίρεση'; + + @override + String get deleteAccountSuccessToast => 'Ο λογαριασμός σας έχει διαγραφεί.'; + + @override + String get deleteAccountErrorToast => + 'Αποτυχία διαγραφής λογαριασμού. Παρακαλώ δοκιμάστε ξανά.'; + + @override + String get emailClientUnavailableToast => + 'Δεν υπάρχει διαθέσιμη εφαρμογή email σε αυτή τη συσκευή. Παρακαλώ επικοινωνήστε με το support@doctorina.com χειροκίνητα.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_en.dart b/example/lib/src/generated/settings/settings_localization_en.dart index 85d0a2b..860e1b0 100644 --- a/example/lib/src/generated/settings/settings_localization_en.dart +++ b/example/lib/src/generated/settings/settings_localization_en.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'settings_localization.dart'; class SettingsLocalizationEn extends SettingsLocalization { SettingsLocalizationEn([String locale = 'en']) : super(locale); - @override - String get title => 'Account Settings'; - @override String get sectionClearAllChatsTitle => 'Clear All Chats'; @@ -52,13 +49,18 @@ class SettingsLocalizationEn extends SettingsLocalization { String get sendBugReportButton => 'Send Bug Report'; @override - String get sectionSendMessageWithShiftEnterTitle => - 'Send message with [⏎ Enter]'; + String get sectionSendMessageWithEnterTitle => 'Send message with [⏎ Enter]'; @override - String get sectionSendMessageWithShiftEnterSubtitle => + String get sectionSendMessageWithEnterSubtitle => 'Send a message with [⏎ Enter] and a new line with [Shift] + [⏎ Enter]'; + @override + String get sectionSendMessageEnter => 'Send with [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Privacy Policy'; + @override String get sectionSelectLocaleTitle => 'Language'; @@ -108,4 +110,145 @@ class SettingsLocalizationEn extends SettingsLocalization { @override String get sectionManageSubscriptionSubtitle => 'Manage your subscription settings'; + + @override + String get sectionHapticFeedbackTitle => 'Haptic Feedback'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Enable or disable haptic feedback (vibration) on supported devices'; + + @override + String get sectionNotificationTitle => 'Turn on notifications'; + + @override + String get sectionNotificationSubtitle => + 'Stay updated when Doctorina finds something important in your chats, reports, or symptoms.'; + + @override + String get sectionAccountTitle => 'Account'; + + @override + String get sectionAppTitle => 'App'; + + @override + String get sectionAboutTitle => 'About'; + + @override + String get sectionNotificationsTitle => 'Notifications'; + + @override + String get sectionVideoTutorialsTitle => 'Video tutorials'; + + @override + String get accountPhoneLabel => 'Phone'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Name'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Skipped $count files due to duplicate with existing files'; + } + + @override + String get bugReportTypeSectionLabel => 'Type'; + + @override + String get bugReportDescriptionSectionLabel => 'Description'; + + @override + String get bugReportAttachmentsSectionLabel => 'Attachments'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Crash'; + + @override + String get bugReportTypeUiIssue => 'UI issue'; + + @override + String get bugReportTypeOther => 'Other'; + + @override + String get deleteAccountWarningMessage => + 'Deleting your account will permanently remove your data from Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Before you delete'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'You have an active subscription through the $store. Deleting your account will not cancel it.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Cancel subscription in the $store'; + } + + @override + String get deleteAccountContinueButton => 'Continue'; + + @override + String get deleteAccountFormDescription => + 'We are sorry to see you go. Are you sure you want to delete your account? Once you confirm, your data will be gone.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'I don\'t use the app anymore'; + + @override + String get deleteAccountReasonFoundBetter => 'Found something better'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Technical issues'; + + @override + String get deleteAccountReasonEaseOfUse => 'Ease of use issues'; + + @override + String get deleteAccountReasonMissingFeatures => 'Missing features'; + + @override + String get deleteAccountReasonPrivacy => 'Privacy concerns'; + + @override + String get deleteAccountReasonClearData => 'I just wanted to clear my data'; + + @override + String get deleteAccountReasonOther => 'Other'; + + @override + String get deleteAccountFeedbackHint => 'Share your feedback'; + + @override + String get deleteAccountProgressMessage => 'Deleting your account...'; + + @override + String get deleteAccountDeletingButton => 'Deleting'; + + @override + String get deleteAccountUndoButton => 'Undo'; + + @override + String get deleteAccountSuccessToast => 'Your account has been deleted.'; + + @override + String get deleteAccountErrorToast => + 'Failed to delete account. Please try again.'; + + @override + String get emailClientUnavailableToast => + 'No email app is available on this device. Please contact support@doctorina.com.'; } diff --git a/example/lib/src/generated/settings/settings_localization_es.dart b/example/lib/src/generated/settings/settings_localization_es.dart index bec5411..a9b8d6f 100644 --- a/example/lib/src/generated/settings/settings_localization_es.dart +++ b/example/lib/src/generated/settings/settings_localization_es.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'settings_localization.dart'; class SettingsLocalizationEs extends SettingsLocalization { SettingsLocalizationEs([String locale = 'es']) : super(locale); - @override - String get title => 'Ajustes'; - @override String get sectionClearAllChatsTitle => 'Borrar todos los chats'; @@ -52,13 +49,18 @@ class SettingsLocalizationEs extends SettingsLocalization { String get sendBugReportButton => 'Enviar informe de error'; @override - String get sectionSendMessageWithShiftEnterTitle => - 'Enviar mensaje con [⏎ Enter]'; + String get sectionSendMessageWithEnterTitle => 'Enviar mensaje con [⏎ Intro]'; @override - String get sectionSendMessageWithShiftEnterSubtitle => + String get sectionSendMessageWithEnterSubtitle => 'Envía un mensaje con [⏎ Enter] y una nueva línea con [Shift] + [⏎ Enter]'; + @override + String get sectionSendMessageEnter => 'Enviar con [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Política de privacidad'; + @override String get sectionSelectLocaleTitle => 'Idioma'; @@ -71,14 +73,14 @@ class SettingsLocalizationEs extends SettingsLocalization { @override String get sectionSwitchThemeSubtitle => - 'Habilite el modo oscuro para una experiencia de visualización cómoda con poca luz.'; + 'Activa el modo oscuro para una experiencia de visualización cómoda en condiciones de poca luz'; @override String get sectionLogsTitle => 'Registros'; @override String get sectionLogsSubtitle => - 'Ver y administrar registros de aplicaciones para depuración'; + 'Ver y administrar los registros de la aplicación para depuración'; @override String get doneButton => 'Hecho'; @@ -87,8 +89,7 @@ class SettingsLocalizationEs extends SettingsLocalization { String get bugReportDialogTitle => 'Informe de errores'; @override - String get bugReportDialogHintText => - 'Por favor describe el error que encontraste'; + String get bugReportDialogHintText => 'Describa el error que encontró'; @override String get attachFilesButtonTooltip => 'Adjuntar archivos'; @@ -98,7 +99,7 @@ class SettingsLocalizationEs extends SettingsLocalization { @override String get emptyBugReportError => - 'Por favor, primero ingrese un informe de error'; + 'Por favor, introduzca primero un informe de error'; @override String get failedToSendBugReportError => @@ -109,5 +110,146 @@ class SettingsLocalizationEs extends SettingsLocalization { @override String get sectionManageSubscriptionSubtitle => - 'Administrar la configuración de su suscripción'; + 'Gestiona la configuración de tu suscripción'; + + @override + String get sectionHapticFeedbackTitle => 'Vibración'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Activa o desactiva la retroalimentación háptica (vibración) en los dispositivos compatibles'; + + @override + String get sectionNotificationTitle => 'Activar notificaciones'; + + @override + String get sectionNotificationSubtitle => + 'Mantente actualizado cuando Doctorina encuentre algo importante en tus chats, informes o síntomas'; + + @override + String get sectionAccountTitle => 'Cuenta'; + + @override + String get sectionAppTitle => 'Aplicación'; + + @override + String get sectionAboutTitle => 'Acerca de'; + + @override + String get sectionNotificationsTitle => 'Notificaciones'; + + @override + String get sectionVideoTutorialsTitle => 'Video tutoriales'; + + @override + String get accountPhoneLabel => 'Teléfono'; + + @override + String get accountEmailLabel => 'Correo electrónico'; + + @override + String get accountNameLabel => 'Nombre'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Se omitieron $count archivos debido a duplicados con archivos existentes'; + } + + @override + String get bugReportTypeSectionLabel => 'Tipo'; + + @override + String get bugReportDescriptionSectionLabel => 'Descripción'; + + @override + String get bugReportAttachmentsSectionLabel => 'Adjuntos'; + + @override + String get bugReportTypeBug => 'Error'; + + @override + String get bugReportTypeCrash => 'Fallo'; + + @override + String get bugReportTypeUiIssue => 'Problema de interfaz'; + + @override + String get bugReportTypeOther => 'Otro'; + + @override + String get deleteAccountWarningMessage => + 'Eliminar su cuenta eliminará permanentemente sus datos de Doctorina'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Antes de eliminar'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Tienes una suscripción activa a través de $store. Eliminar tu cuenta no la cancelará.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Cancelar suscripción en $store'; + } + + @override + String get deleteAccountContinueButton => 'Continuar'; + + @override + String get deleteAccountFormDescription => + 'Lamentamos verte partir. ¿Estás seguro de que deseas eliminar tu cuenta? Una vez que confirmes, tus datos se perderán.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'No uso la aplicación anymore'; + + @override + String get deleteAccountReasonFoundBetter => 'Encontré algo mejor'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Problemas técnicos'; + + @override + String get deleteAccountReasonEaseOfUse => 'Problemas de facilidad de uso'; + + @override + String get deleteAccountReasonMissingFeatures => 'Faltan funciones'; + + @override + String get deleteAccountReasonPrivacy => 'Preocupaciones de privacidad'; + + @override + String get deleteAccountReasonClearData => 'Solo quería limpiar mis datos'; + + @override + String get deleteAccountReasonOther => 'Otro'; + + @override + String get deleteAccountFeedbackHint => 'Comparte tu opinión'; + + @override + String get deleteAccountProgressMessage => 'Eliminando tu cuenta...'; + + @override + String get deleteAccountDeletingButton => 'Eliminando'; + + @override + String get deleteAccountUndoButton => 'Deshacer'; + + @override + String get deleteAccountSuccessToast => 'Tu cuenta ha sido eliminada.'; + + @override + String get deleteAccountErrorToast => + 'No se pudo eliminar la cuenta. Por favor, inténtalo de nuevo.'; + + @override + String get emailClientUnavailableToast => + 'No hay ninguna aplicación de correo disponible en este dispositivo. Por favor, contacta manualmente a support@doctorina.com.'; } diff --git a/example/lib/src/generated/settings/settings_localization_fa.dart b/example/lib/src/generated/settings/settings_localization_fa.dart new file mode 100644 index 0000000..7138b35 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_fa.dart @@ -0,0 +1,255 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Persian (`fa`). +class SettingsLocalizationFa extends SettingsLocalization { + SettingsLocalizationFa([String locale = 'fa']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'پاک کردن همه گفتگوها'; + + @override + String get sectionClearAllChatsSubtitle => + 'این کار تاریخچه چت شما را به‌طور دائمی حذف خواهد کرد.'; + + @override + String get sectionClearAllChatsButton => 'پاک کردن همه چت‌ها'; + + @override + String get sectionClearAllChatsEmailTheme => 'پاک کردن همه گفتگوها'; + + @override + String get sectionDeleteAccountTitle => 'حذف حساب'; + + @override + String get sectionDeleteAccountSubtitle => + 'حذف حساب کاربری شما یک اقدام دائمی است و قابل بازگشت نیست.'; + + @override + String get sectionDeleteAccountButton => 'حذف'; + + @override + String get sectionDeleteAccountTheme => 'حذف حساب'; + + @override + String get sectionLogOutTitle => 'خروج'; + + @override + String get sectionLogOutSubtitle => 'شما از حساب خود خارج خواهید شد.'; + + @override + String get sectionLogOutButton => 'خروج'; + + @override + String get sendBugReportButton => 'ارسال گزارش باگ'; + + @override + String get sectionSendMessageWithEnterTitle => 'ارسال پیام با [⏎ اینتر]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'پیام بفرستید با [⏎ Enter] و خط جدید با [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'ارسال با [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'سیاست حفظ حریم خصوصی'; + + @override + String get sectionSelectLocaleTitle => 'زبان'; + + @override + String get sectionSelectLocaleSubtitle => + 'زبان مورد علاقه خود را برای رابط برنامه انتخاب کنید'; + + @override + String get sectionSwitchThemeTitle => 'حالت تیره'; + + @override + String get sectionSwitchThemeSubtitle => + 'حالت تاریک را فعال کنید تا تجربه مشاهده راحتی در نور کم داشته باشید'; + + @override + String get sectionLogsTitle => 'گزارش‌ها'; + + @override + String get sectionLogsSubtitle => + 'مشاهده و مدیریت لاگ‌های برنامه برای اشکال‌زدایی'; + + @override + String get doneButton => 'انجام شد'; + + @override + String get bugReportDialogTitle => 'گزارش اشکال'; + + @override + String get bugReportDialogHintText => + 'لطفاً خطایی را که با آن مواجه شدید توصیف کنید'; + + @override + String get attachFilesButtonTooltip => 'ضم کردن فایل‌ها'; + + @override + String get filePickerError => 'انتخاب فایل‌ها ناموفق بود'; + + @override + String get emptyBugReportError => 'لطفاً ابتدا یک گزارش باگ وارد کنید'; + + @override + String get failedToSendBugReportError => 'ارسال گزارش باگ ناموفق بود'; + + @override + String get sectionManageSubscriptionTitle => 'مدیریت اشتراک'; + + @override + String get sectionManageSubscriptionSubtitle => + 'تنظیمات اشتراک خود را مدیریت کنید'; + + @override + String get sectionHapticFeedbackTitle => 'بازخورد لمسی'; + + @override + String get sectionHapticFeedbackSubtitle => + 'بازخورد لمسی (لرزش) را در دستگاه‌های پشتیبانی‌شده فعال یا غیرفعال کنید'; + + @override + String get sectionNotificationTitle => 'اعلان‌ها را فعال کنید'; + + @override + String get sectionNotificationSubtitle => + 'زمانی که دکترینا چیزی مهم در چت‌ها، گزارش‌ها یا علائم شما پیدا کند، به‌روز بمانید'; + + @override + String get sectionAccountTitle => 'حساب'; + + @override + String get sectionAppTitle => 'برنامه'; + + @override + String get sectionAboutTitle => 'درباره'; + + @override + String get sectionNotificationsTitle => 'اطلاعیه‌ها'; + + @override + String get sectionVideoTutorialsTitle => 'آموزش‌های ویدیویی'; + + @override + String get accountPhoneLabel => 'تلفن'; + + @override + String get accountEmailLabel => 'ایمیل'; + + @override + String get accountNameLabel => 'نام'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'به دلیل وجود فایل‌های تکراری، $count فایل نادیده گرفته شد'; + } + + @override + String get bugReportTypeSectionLabel => 'نوع'; + + @override + String get bugReportDescriptionSectionLabel => 'توضیحات'; + + @override + String get bugReportAttachmentsSectionLabel => 'پیوست‌ها'; + + @override + String get bugReportTypeBug => 'خطا'; + + @override + String get bugReportTypeCrash => 'خرابی'; + + @override + String get bugReportTypeUiIssue => 'مسئله رابط کاربری'; + + @override + String get bugReportTypeOther => 'دیگر'; + + @override + String get deleteAccountWarningMessage => + 'حذف حساب شما به طور دائمی داده‌های شما را از Doctorina حذف خواهد کرد'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'قبل از حذف'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'شما یک اشتراک فعال از طریق $store دارید. حذف حساب شما آن را لغو نخواهد کرد.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'لغو اشتراک در $store'; + } + + @override + String get deleteAccountContinueButton => 'ادامه'; + + @override + String get deleteAccountFormDescription => + 'متأسفیم که شما می‌روید. آیا مطمئن هستید که می‌خواهید حساب خود را حذف کنید؟ پس از تأیید، داده‌های شما از بین خواهد رفت.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'دیگر از برنامه استفاده نمی‌کنم'; + + @override + String get deleteAccountReasonFoundBetter => 'چیزی بهتر پیدا کردم'; + + @override + String get deleteAccountReasonTechnicalIssues => 'مشکلات فنی'; + + @override + String get deleteAccountReasonEaseOfUse => 'مشکلات استفاده'; + + @override + String get deleteAccountReasonMissingFeatures => 'ویژگی‌های ناقص'; + + @override + String get deleteAccountReasonPrivacy => 'نگرانی‌های مربوط به حریم خصوصی'; + + @override + String get deleteAccountReasonClearData => + 'فقط می‌خواستم داده‌هایم را پاک کنم'; + + @override + String get deleteAccountReasonOther => 'دیگر'; + + @override + String get deleteAccountFeedbackHint => 'بازخورد خود را به اشتراک بگذارید'; + + @override + String get deleteAccountProgressMessage => 'در حال حذف حساب شما...'; + + @override + String get deleteAccountDeletingButton => 'در حال حذف'; + + @override + String get deleteAccountUndoButton => 'بازگشت'; + + @override + String get deleteAccountSuccessToast => 'حساب شما حذف شده است'; + + @override + String get deleteAccountErrorToast => + 'خطا در حذف حساب. لطفاً دوباره تلاش کنید.'; + + @override + String get emailClientUnavailableToast => + 'هیچ برنامه ایمیلی در این دستگاه موجود نیست. لطفاً به صورت دستی با support@doctorina.com تماس بگیرید.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_fr.dart b/example/lib/src/generated/settings/settings_localization_fr.dart index 9aebac7..09b4a3c 100644 --- a/example/lib/src/generated/settings/settings_localization_fr.dart +++ b/example/lib/src/generated/settings/settings_localization_fr.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,27 +11,24 @@ class SettingsLocalizationFr extends SettingsLocalization { SettingsLocalizationFr([String locale = 'fr']) : super(locale); @override - String get title => 'Paramètres du compte'; - - @override - String get sectionClearAllChatsTitle => 'Effacer toutes les discussions'; + String get sectionClearAllChatsTitle => 'Effacer les chats'; @override String get sectionClearAllChatsSubtitle => - 'Cela supprimera définitivement votre historique de discussion.'; + 'Cela supprimera définitivement votre historique de chat.'; @override - String get sectionClearAllChatsButton => 'Effacer toutes les discussions'; + String get sectionClearAllChatsButton => 'Effacer les chats'; @override - String get sectionClearAllChatsEmailTheme => 'Effacer toutes les discussions'; + String get sectionClearAllChatsEmailTheme => 'Effacer les chats'; @override String get sectionDeleteAccountTitle => 'Supprimer le compte'; @override String get sectionDeleteAccountSubtitle => - 'La suppression de votre compte est une action permanente et ne peut pas être annulée.'; + 'La suppression de votre compte est une action définitive et ne peut pas être annulée.'; @override String get sectionDeleteAccountButton => 'Supprimer'; @@ -49,15 +46,21 @@ class SettingsLocalizationFr extends SettingsLocalization { String get sectionLogOutButton => 'Se déconnecter'; @override - String get sendBugReportButton => 'Envoyer un rapport de bogue'; + String get sendBugReportButton => 'Envoyer un rapport de bug'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Envoyer le message avec [⏎ Entrée]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Envoyez un message avec [⏎ Enter] et une nouvelle ligne avec [Shift] + [⏎ Enter]'; @override - String get sectionSendMessageWithShiftEnterTitle => - 'Envoyer un message avec [⏎ Entrée]'; + String get sectionSendMessageEnter => 'Envoyer avec [⏎ Enter]'; @override - String get sectionSendMessageWithShiftEnterSubtitle => - 'Envoyer un message avec [⏎ Entrée] et une nouvelle ligne avec [Maj] + [⏎ Entrée]'; + String get sectionPrivacyPolicy => 'Politique de confidentialité'; @override String get sectionSelectLocaleTitle => 'Langue'; @@ -71,43 +74,186 @@ class SettingsLocalizationFr extends SettingsLocalization { @override String get sectionSwitchThemeSubtitle => - 'Activez le mode sombre pour une expérience de visionnage confortable en basse lumière'; + 'Activez le mode sombre pour une expérience visuelle confortable en basse lumière'; @override String get sectionLogsTitle => 'Journaux'; @override String get sectionLogsSubtitle => - 'Afficher et gérer les journaux d\'application pour le débogage'; + 'Afficher et gérer les journaux de l\'application pour le débogage'; @override - String get doneButton => 'Fait'; + String get doneButton => 'Terminé'; @override String get bugReportDialogTitle => 'Rapport de bogue'; @override - String get bugReportDialogHintText => - 'Veuillez décrire le bug que vous avez rencontré'; + String get bugReportDialogHintText => 'Veuillez décrire le bug rencontré'; @override String get attachFilesButtonTooltip => 'Joindre des fichiers'; @override - String get filePickerError => 'Échec de la sélection des fichiers'; + String get filePickerError => 'Impossible de sélectionner les fichiers'; @override String get emptyBugReportError => - 'Veuillez d\'abord saisir un rapport de bogue'; + 'Veuillez d\'abord saisir un rapport de bug'; @override String get failedToSendBugReportError => - 'Échec de l\'envoi du rapport de bogue'; + 'Échec de l\'envoi du rapport de bug'; @override String get sectionManageSubscriptionTitle => 'Gérer l\'abonnement'; @override String get sectionManageSubscriptionSubtitle => - 'Gérez vos paramètres d\'abonnement'; + 'Gérez les paramètres de votre abonnement'; + + @override + String get sectionHapticFeedbackTitle => 'Retour haptique'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Activez ou désactivez le retour haptique (vibration) sur les appareils compatibles'; + + @override + String get sectionNotificationTitle => 'Activer les notifications'; + + @override + String get sectionNotificationSubtitle => + 'Restez informé lorsque Doctorina trouve quelque chose d\'important dans vos discussions, rapports ou symptômes.'; + + @override + String get sectionAccountTitle => 'Compte'; + + @override + String get sectionAppTitle => 'Application'; + + @override + String get sectionAboutTitle => 'À propos'; + + @override + String get sectionNotificationsTitle => 'Notifications'; + + @override + String get sectionVideoTutorialsTitle => 'Tutoriels vidéo'; + + @override + String get accountPhoneLabel => 'Téléphone'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Nom'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Fichiers ignorés : $count en raison de doublons avec des fichiers existants'; + } + + @override + String get bugReportTypeSectionLabel => 'Type'; + + @override + String get bugReportDescriptionSectionLabel => 'Description'; + + @override + String get bugReportAttachmentsSectionLabel => 'Pièces jointes'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Crash'; + + @override + String get bugReportTypeUiIssue => 'Problème d\'interface utilisateur'; + + @override + String get bugReportTypeOther => 'Autre'; + + @override + String get deleteAccountWarningMessage => + 'La suppression de votre compte supprimera définitivement vos données de Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Avant de supprimer'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Vous avez un abonnement actif via le $store. La suppression de votre compte ne l\'annulera pas.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Annuler l\'abonnement dans le $store'; + } + + @override + String get deleteAccountContinueButton => 'Continuer'; + + @override + String get deleteAccountFormDescription => + 'Nous sommes désolés de vous voir partir. Êtes-vous sûr de vouloir supprimer votre compte ? Une fois que vous aurez confirmé, vos données seront perdues.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Je n\'utilise plus l\'application'; + + @override + String get deleteAccountReasonFoundBetter => + 'J\'ai trouvé quelque chose de mieux'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Problèmes techniques'; + + @override + String get deleteAccountReasonEaseOfUse => 'Problèmes d\'utilisation'; + + @override + String get deleteAccountReasonMissingFeatures => 'Fonctionnalités manquantes'; + + @override + String get deleteAccountReasonPrivacy => + 'Préoccupations concernant la vie privée'; + + @override + String get deleteAccountReasonClearData => + 'Je voulais juste effacer mes données'; + + @override + String get deleteAccountReasonOther => 'Autre'; + + @override + String get deleteAccountFeedbackHint => 'Partagez vos commentaires'; + + @override + String get deleteAccountProgressMessage => 'Suppression de votre compte...'; + + @override + String get deleteAccountDeletingButton => 'Suppression'; + + @override + String get deleteAccountUndoButton => 'Annuler'; + + @override + String get deleteAccountSuccessToast => 'Votre compte a été supprimé.'; + + @override + String get deleteAccountErrorToast => + 'Échec de la suppression du compte. Veuillez réessayer.'; + + @override + String get emailClientUnavailableToast => + 'Aucune application de messagerie n\'est disponible sur cet appareil. Veuillez contacter support@doctorina.com manuellement.'; } diff --git a/example/lib/src/generated/settings/settings_localization_gu.dart b/example/lib/src/generated/settings/settings_localization_gu.dart new file mode 100644 index 0000000..fd06661 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_gu.dart @@ -0,0 +1,257 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Gujarati (`gu`). +class SettingsLocalizationGu extends SettingsLocalization { + SettingsLocalizationGu([String locale = 'gu']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'તમામ ચેટ્સ સાફ કરો'; + + @override + String get sectionClearAllChatsSubtitle => + 'આ તમારા ચેટ ઇતિહાસને કાયમી રીતે કાઢી નાખશે'; + + @override + String get sectionClearAllChatsButton => 'બધા ચેટ્સ સાફ કરો'; + + @override + String get sectionClearAllChatsEmailTheme => 'બધા ચેટ્સ સાફ કરો'; + + @override + String get sectionDeleteAccountTitle => 'એકાઉન્ટ કાઢી નાખો'; + + @override + String get sectionDeleteAccountSubtitle => + 'તમારૂં એકાઉન્ટ કાઢી નાખવું એક સ્થાયી કાર્યવાહી છે અને તેને પાછું કરી શકાયું તેવું નથી.'; + + @override + String get sectionDeleteAccountButton => 'મિટાવો'; + + @override + String get sectionDeleteAccountTheme => 'એકાઉન્ટ કાઢી નાખો'; + + @override + String get sectionLogOutTitle => 'બહાર નીકળો'; + + @override + String get sectionLogOutSubtitle => 'તમે તમારા એકાઉન્ટમાંથી સાઇન આઉટ થઈ જશે.'; + + @override + String get sectionLogOutButton => 'સાઇન આઉટ'; + + @override + String get sendBugReportButton => 'બગ રિપોર્ટ મોકલો'; + + @override + String get sectionSendMessageWithEnterTitle => '[⏎ Enter] સાથે સંદેશ મોકલો'; + + @override + String get sectionSendMessageWithEnterSubtitle => + '[⏎ Enter] સાથે સંદેશ મોકલો અને [Shift] + [⏎ Enter] સાથે નવી લાઇન મોકલો.'; + + @override + String get sectionSendMessageEnter => 'સંદેશો મોકલવા માટે [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'ગોપનીયતા નીતિ'; + + @override + String get sectionSelectLocaleTitle => 'ભાષા'; + + @override + String get sectionSelectLocaleSubtitle => + 'એપ્લિકેશન ઇન્ટરફેસ માટે તમારી પસંદગીની ભાષા પસંદ કરો.'; + + @override + String get sectionSwitchThemeTitle => 'ડાર્ક મોડ'; + + @override + String get sectionSwitchThemeSubtitle => + 'ઓછા પ્રકાશમાં આરામદાયક જોવાના અનુભવ માટે ડાર્ક મોડ ચાલુ કરો'; + + @override + String get sectionLogsTitle => 'લોગ'; + + @override + String get sectionLogsSubtitle => + 'ડિબગીંગ માટે એપ્લિકેશન લોગ જુઓ અને મેનેજ કરો'; + + @override + String get doneButton => 'થઈ ગયું'; + + @override + String get bugReportDialogTitle => 'બગ રિપોર્ટ'; + + @override + String get bugReportDialogHintText => + 'કૃપા કરીને તમને મળેલી ભૂલનું વર્ણન કરો.'; + + @override + String get attachFilesButtonTooltip => 'ફાઇલો જોડો'; + + @override + String get filePickerError => 'ફાઇલો પસંદ કરવામાં નિષ્ફળ થયાં'; + + @override + String get emptyBugReportError => 'કૃપા કરીને પહેલા બગ રિપોર્ટ દાખલ કરો'; + + @override + String get failedToSendBugReportError => 'બગ રિપોર્ટ મોકલવામાં નિષ્ફળ થયાં'; + + @override + String get sectionManageSubscriptionTitle => 'સબ્સ્ક્રિપ્શન મેનેજ કરો'; + + @override + String get sectionManageSubscriptionSubtitle => + 'તમારા સબ્સ્ક્રિપ્શન સેટિંગ્સ મેનેજ કરો'; + + @override + String get sectionHapticFeedbackTitle => 'હેપ્ટિક પ્રતિસાદ'; + + @override + String get sectionHapticFeedbackSubtitle => + 'સપોર્ટેડ ઉપકરણોમાં હેપ્ટિક ફીડબેક (કંપન) ચાલુ અથવા બંધ કરો'; + + @override + String get sectionNotificationTitle => 'નોટિફિકેશન્સ ચાલુ કરો'; + + @override + String get sectionNotificationSubtitle => + 'જ્યારે Doctorina તમારા ચેટ, અહેવાલો અથવા લક્ષણોમાં કંઈ મહત્વપૂર્ણ શોધે છે ત્યારે અપડેટ રહો.'; + + @override + String get sectionAccountTitle => 'ખાતું'; + + @override + String get sectionAppTitle => 'એપ'; + + @override + String get sectionAboutTitle => 'વિશે'; + + @override + String get sectionNotificationsTitle => 'સૂચનાઓ'; + + @override + String get sectionVideoTutorialsTitle => 'વિડિયો ટ્યુટોરિયલ'; + + @override + String get accountPhoneLabel => 'ફોન'; + + @override + String get accountEmailLabel => 'ઈમેલ'; + + @override + String get accountNameLabel => 'નામ'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'અસ્તિત્વમાં આવેલા ફાઇલો સાથે ડુપ્લિકેટના કારણે $count ફાઇલો છોડી દેવામાં આવી છે'; + } + + @override + String get bugReportTypeSectionLabel => 'પ્રકાર'; + + @override + String get bugReportDescriptionSectionLabel => 'વર્ણન'; + + @override + String get bugReportAttachmentsSectionLabel => 'જોડાણો'; + + @override + String get bugReportTypeBug => 'બગ'; + + @override + String get bugReportTypeCrash => 'ક્રેશ'; + + @override + String get bugReportTypeUiIssue => 'યુઆઈ સમસ્યા'; + + @override + String get bugReportTypeOther => 'અન્ય'; + + @override + String get deleteAccountWarningMessage => + 'તમારો ખાતો કાઢી નાખવાથી Doctorina માંથી તમારું ડેટા શાશ્વત રીતે દૂર થઈ જશે'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'તમે કાઢી નાખતા પહેલા'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'તમે $store દ્વારા એક્ટિવ સબ્સ્ક્રિપ્શન ધરાવો છો. તમારા ખાતાને કાઢી નાખવાથી તે રદ નહીં થાય.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'સબ્સ્ક્રિપ્શન રદ કરો $storeમાં'; + } + + @override + String get deleteAccountContinueButton => 'જારી રાખો'; + + @override + String get deleteAccountFormDescription => + 'તમે જવા માટે દુઃખી છીએ. શું તમે ખરેખર તમારું ખાતું કાઢી નાખવા માંગો છો? એકવાર તમે પુષ્ટિ કરી, તમારી માહિતી જાશે.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'હું એપ્લિકેશનનો ઉપયોગ કરતો નથી'; + + @override + String get deleteAccountReasonFoundBetter => 'કંઈક વધુ સારું મળ્યું'; + + @override + String get deleteAccountReasonTechnicalIssues => 'તકનીકી સમસ્યાઓ'; + + @override + String get deleteAccountReasonEaseOfUse => 'ઉપયોગમાં મુશ્કેલીઓ'; + + @override + String get deleteAccountReasonMissingFeatures => 'ફીચર્સની અછત'; + + @override + String get deleteAccountReasonPrivacy => 'ગોપનીયતા અંગેની ચિંતા'; + + @override + String get deleteAccountReasonClearData => + 'હું ફક્ત મારા ડેટા સાફ કરવા માંગતો હતો'; + + @override + String get deleteAccountReasonOther => 'અન્ય'; + + @override + String get deleteAccountFeedbackHint => 'તમારો પ્રતિસાદ શેર કરો'; + + @override + String get deleteAccountProgressMessage => + 'તમારો ખાતો કાઢી નાખી રહ્યા છીએ...'; + + @override + String get deleteAccountDeletingButton => 'કાઢી રહ્યું છે'; + + @override + String get deleteAccountUndoButton => 'ફેરવાં'; + + @override + String get deleteAccountSuccessToast => + 'તમારું ખાતું કાઢી નાખવામાં આવ્યું છે.'; + + @override + String get deleteAccountErrorToast => + 'ખાતું કાઢી નાખવામાં નિષ્ફળ. કૃપા કરીને ફરી પ્રયાસ કરો.'; + + @override + String get emailClientUnavailableToast => + 'આ ઉપકરણ પર કોઈ ઇમેઇલ એપ ઉપલબ્ધ નથી. કૃપા કરીને support@doctorina.com પર હાથે સંપર્ક કરો.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_he.dart b/example/lib/src/generated/settings/settings_localization_he.dart new file mode 100644 index 0000000..55ca740 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_he.dart @@ -0,0 +1,249 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hebrew (`he`). +class SettingsLocalizationHe extends SettingsLocalization { + SettingsLocalizationHe([String locale = 'he']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'נקה את כל השיחות'; + + @override + String get sectionClearAllChatsSubtitle => + 'זה ימחק לצמיתות את היסטוריית הצ\'אט שלך.'; + + @override + String get sectionClearAllChatsButton => 'נקה את כל השיחות'; + + @override + String get sectionClearAllChatsEmailTheme => 'נקה את כל השיחות'; + + @override + String get sectionDeleteAccountTitle => 'מחק חשבון'; + + @override + String get sectionDeleteAccountSubtitle => + 'מחיקת חשבונך היא פעולה קבועה ולא ניתנת לביטול.'; + + @override + String get sectionDeleteAccountButton => 'מחק'; + + @override + String get sectionDeleteAccountTheme => 'מחיקת חשבון'; + + @override + String get sectionLogOutTitle => 'התנתק'; + + @override + String get sectionLogOutSubtitle => 'תתנתק מחשבונך.'; + + @override + String get sectionLogOutButton => 'התנתק'; + + @override + String get sendBugReportButton => 'שלח דיווח על באג'; + + @override + String get sectionSendMessageWithEnterTitle => 'שלח הודעה עם [⏎ אנטר]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'שלח הודעה עם [⏎ Enter] ושורה חדשה עם [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'שלח עם [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'מדיניות פרטיות'; + + @override + String get sectionSelectLocaleTitle => 'שפה'; + + @override + String get sectionSelectLocaleSubtitle => + 'בחר את השפה המועדפת עליך לממשק האפליקציה'; + + @override + String get sectionSwitchThemeTitle => 'מצב כהה'; + + @override + String get sectionSwitchThemeSubtitle => + 'הפעל מצב חשוך לחוויית צפייה נוחה בתנאי תאורה נמוכה'; + + @override + String get sectionLogsTitle => 'יומנים'; + + @override + String get sectionLogsSubtitle => 'צפה ונהל את יומני האפליקציה לניפוי שגיאות'; + + @override + String get doneButton => 'בוצע'; + + @override + String get bugReportDialogTitle => 'דוח באג'; + + @override + String get bugReportDialogHintText => 'אנא תאר את הבאג שנתקלת בו'; + + @override + String get attachFilesButtonTooltip => 'הוספת קבצים'; + + @override + String get filePickerError => 'לא ניתן לבחור קבצים'; + + @override + String get emptyBugReportError => 'אנא הזן קודם דו\\\"ח באג'; + + @override + String get failedToSendBugReportError => 'שליחת דיווח על באג נכשלה'; + + @override + String get sectionManageSubscriptionTitle => 'נהל מנוי'; + + @override + String get sectionManageSubscriptionSubtitle => 'נהל את הגדרות המנוי שלך'; + + @override + String get sectionHapticFeedbackTitle => 'משוב מיששי'; + + @override + String get sectionHapticFeedbackSubtitle => + 'הפעל או כבה את המשוב המישושי (רעידה) במכשירים הנתמכים'; + + @override + String get sectionNotificationTitle => 'הפעל התראות'; + + @override + String get sectionNotificationSubtitle => + 'הישאר מעודכן כאשר דוקטורינה מוצאת משהו חשוב בצ\'אטים, דוחות או סימפטומים שלך'; + + @override + String get sectionAccountTitle => 'חשבון'; + + @override + String get sectionAppTitle => 'אפליקציה'; + + @override + String get sectionAboutTitle => 'אודות'; + + @override + String get sectionNotificationsTitle => 'התראות'; + + @override + String get sectionVideoTutorialsTitle => 'סדנאות וידאו'; + + @override + String get accountPhoneLabel => 'טלפון'; + + @override + String get accountEmailLabel => 'אימייל'; + + @override + String get accountNameLabel => 'שם'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'נמנעו $count קבצים עקב כפילויות עם קבצים קיימים'; + } + + @override + String get bugReportTypeSectionLabel => 'סוג'; + + @override + String get bugReportDescriptionSectionLabel => 'תיאור'; + + @override + String get bugReportAttachmentsSectionLabel => 'קבצים מצורפים'; + + @override + String get bugReportTypeBug => 'באג'; + + @override + String get bugReportTypeCrash => 'קריסה'; + + @override + String get bugReportTypeUiIssue => 'בעיה בממשק המשתמש'; + + @override + String get bugReportTypeOther => 'אחר'; + + @override + String get deleteAccountWarningMessage => + 'מחיקת החשבון שלך תסיר לצמיתות את הנתונים שלך מ-Doctorina'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'לפני שתמחק'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'יש לך מנוי פעיל דרך $store. מחיקת החשבון שלך לא תבטל אותו.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'ביטול מנוי ב-$store'; + } + + @override + String get deleteAccountContinueButton => 'המשך'; + + @override + String get deleteAccountFormDescription => + 'אנחנו מצטערים לראות אותך הולך. האם אתה בטוח שברצונך למחוק את החשבון שלך? ברגע שתאשר, הנתונים שלך יימחקו.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'אני כבר לא משתמש באפליקציה'; + + @override + String get deleteAccountReasonFoundBetter => 'מצאתי משהו טוב יותר'; + + @override + String get deleteAccountReasonTechnicalIssues => 'בעיות טכניות'; + + @override + String get deleteAccountReasonEaseOfUse => 'בעיות שימוש'; + + @override + String get deleteAccountReasonMissingFeatures => 'חסרים תכונות'; + + @override + String get deleteAccountReasonPrivacy => 'דאגות פרטיות'; + + @override + String get deleteAccountReasonClearData => 'רק רציתי לנקות את הנתונים שלי'; + + @override + String get deleteAccountReasonOther => 'אחר'; + + @override + String get deleteAccountFeedbackHint => 'שתף את המשוב שלך'; + + @override + String get deleteAccountProgressMessage => 'מוחק את החשבון שלך...'; + + @override + String get deleteAccountDeletingButton => 'מוחק'; + + @override + String get deleteAccountUndoButton => 'ביטול'; + + @override + String get deleteAccountSuccessToast => 'החשבון שלך נמחק'; + + @override + String get deleteAccountErrorToast => 'נכשל במחקת החשבון. אנא נסה שוב.'; + + @override + String get emailClientUnavailableToast => + 'אין אפליקציית דוא\"ל זמינה במכשיר זה. אנא פנה ל-support@doctorina.com ידנית.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_hi.dart b/example/lib/src/generated/settings/settings_localization_hi.dart index b1ef151..c4ec392 100644 --- a/example/lib/src/generated/settings/settings_localization_hi.dart +++ b/example/lib/src/generated/settings/settings_localization_hi.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,40 +10,37 @@ import 'settings_localization.dart'; class SettingsLocalizationHi extends SettingsLocalization { SettingsLocalizationHi([String locale = 'hi']) : super(locale); - @override - String get title => 'अकाउंट सेटिंग'; - @override String get sectionClearAllChatsTitle => 'सभी चैट साफ़ करें'; @override String get sectionClearAllChatsSubtitle => - 'इससे आपका चैट इतिहास स्थायी रूप से मिट जाएगा।'; + 'यह आपके चैट इतिहास को स्थायी रूप से हटा देगा।'; @override - String get sectionClearAllChatsButton => 'सभी चैट साफ़ करें'; + String get sectionClearAllChatsButton => 'सभी चैट साफ करें'; @override - String get sectionClearAllChatsEmailTheme => 'सभी चैट साफ़ करें'; + String get sectionClearAllChatsEmailTheme => 'सभी चैट हटाएं'; @override - String get sectionDeleteAccountTitle => 'खाता हटा दो'; + String get sectionDeleteAccountTitle => 'खाता हटाएं'; @override String get sectionDeleteAccountSubtitle => - 'अपना खाता हटाना एक स्थायी कार्रवाई है और इसे पूर्ववत नहीं किया जा सकता.'; + 'आपका खाता हटाना एक स्थायी कार्रवाई है और इसे पूर्ववत नहीं किया जा सकता।'; @override - String get sectionDeleteAccountButton => 'मिटाना'; + String get sectionDeleteAccountButton => 'हटाएं'; @override - String get sectionDeleteAccountTheme => 'खाता हटा दो'; + String get sectionDeleteAccountTheme => 'खाता हटाएं'; @override String get sectionLogOutTitle => 'साइन आउट'; @override - String get sectionLogOutSubtitle => 'आप अपने खाते से साइन आउट हो जाएंगे.'; + String get sectionLogOutSubtitle => 'आपके खाते से लॉगआउट कर दिया जाएगा.'; @override String get sectionLogOutButton => 'साइन आउट'; @@ -52,12 +49,17 @@ class SettingsLocalizationHi extends SettingsLocalization { String get sendBugReportButton => 'बग रिपोर्ट भेजें'; @override - String get sectionSendMessageWithShiftEnterTitle => - '[⏎ Enter] के साथ संदेश भेजें'; + String get sectionSendMessageWithEnterTitle => 'संदेश भेजें [⏎ एंटर]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'संदेश भेजें [⏎ Enter] के साथ और नई पंक्ति के लिए [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'भेजें [⏎ Enter] के साथ'; @override - String get sectionSendMessageWithShiftEnterSubtitle => - '[⏎ Enter] के साथ एक संदेश और [Shift] + [⏎ Enter] के साथ एक नई पंक्ति भेजें'; + String get sectionPrivacyPolicy => 'गोपनीयता नीति'; @override String get sectionSelectLocaleTitle => 'भाषा'; @@ -71,10 +73,10 @@ class SettingsLocalizationHi extends SettingsLocalization { @override String get sectionSwitchThemeSubtitle => - 'कम रोशनी में आरामदायक दृश्य अनुभव के लिए डार्क मोड सक्षम करें'; + 'कम रोशनी में आरामदायक देखने के अनुभव के लिए डार्क मोड सक्षम करें'; @override - String get sectionLogsTitle => 'लॉग्स'; + String get sectionLogsTitle => 'लॉग'; @override String get sectionLogsSubtitle => @@ -88,10 +90,10 @@ class SettingsLocalizationHi extends SettingsLocalization { @override String get bugReportDialogHintText => - 'कृपया उस बग का वर्णन करें जिसका आपने सामना किया'; + 'कृपया जिस बग का आपने अनुभव किया है, उसका वर्णन करें'; @override - String get attachFilesButtonTooltip => 'फ़ाइलों को संलग्न करें'; + String get attachFilesButtonTooltip => 'फाइलें संलग्न करें'; @override String get filePickerError => 'फ़ाइलें चुनने में विफल'; @@ -107,5 +109,147 @@ class SettingsLocalizationHi extends SettingsLocalization { @override String get sectionManageSubscriptionSubtitle => - 'अपनी सदस्यता सेटिंग प्रबंधित करें'; + 'अपनी सदस्यता सेटिंग्स प्रबंधित करें'; + + @override + String get sectionHapticFeedbackTitle => 'हैप्टिक फीडबैक'; + + @override + String get sectionHapticFeedbackSubtitle => + 'समर्थित उपकरणों पर हैप्टिक फीडबैक (कंपन) को सक्षम या अक्षम करें'; + + @override + String get sectionNotificationTitle => 'सूचनाएँ चालू करें'; + + @override + String get sectionNotificationSubtitle => + 'जब Doctorina आपके चैट, रिपोर्ट या लक्षणों में कुछ महत्वपूर्ण पाता है, तो अपडेट रहें।'; + + @override + String get sectionAccountTitle => 'खाता'; + + @override + String get sectionAppTitle => 'ऐप'; + + @override + String get sectionAboutTitle => 'के बारे में'; + + @override + String get sectionNotificationsTitle => 'सूचनाएँ'; + + @override + String get sectionVideoTutorialsTitle => 'वीडियो ट्यूटोरियल'; + + @override + String get accountPhoneLabel => 'फोन'; + + @override + String get accountEmailLabel => 'ईमेल'; + + @override + String get accountNameLabel => 'नाम'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '$count फ़ाइलों को मौजूदा फ़ाइलों के साथ डुप्लिकेट के कारण छोड़ दिया गया'; + } + + @override + String get bugReportTypeSectionLabel => 'प्रकार'; + + @override + String get bugReportDescriptionSectionLabel => 'विवरण'; + + @override + String get bugReportAttachmentsSectionLabel => 'संलग्नक'; + + @override + String get bugReportTypeBug => 'बग'; + + @override + String get bugReportTypeCrash => 'क्रैश'; + + @override + String get bugReportTypeUiIssue => 'यूआई समस्या'; + + @override + String get bugReportTypeOther => 'अन्य'; + + @override + String get deleteAccountWarningMessage => + 'अपने खाते को हटाने से आपके डेटा को Doctorina से स्थायी रूप से हटा दिया जाएगा।'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'आप हटाने से पहले'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'आपके पास $store के माध्यम से एक सक्रिय सदस्यता है। आपका खाता हटाने से यह रद्द नहीं होगा।'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store में सदस्यता रद्द करें'; + } + + @override + String get deleteAccountContinueButton => 'जारी रखें'; + + @override + String get deleteAccountFormDescription => + 'हमें खेद है कि आप जा रहे हैं। क्या आप सुनिश्चित हैं कि आप अपना खाता हटाना चाहते हैं? एक बार जब आप पुष्टि कर देंगे, तो आपका डेटा चला जाएगा।'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'मैं ऐप का उपयोग नहीं करता हूँ'; + + @override + String get deleteAccountReasonFoundBetter => 'कुछ बेहतर मिला'; + + @override + String get deleteAccountReasonTechnicalIssues => 'तकनीकी समस्याएँ'; + + @override + String get deleteAccountReasonEaseOfUse => 'उपयोग में कठिनाई'; + + @override + String get deleteAccountReasonMissingFeatures => 'विशेषताएँ गायब हैं'; + + @override + String get deleteAccountReasonPrivacy => 'गोपनीयता संबंधी चिंताएँ'; + + @override + String get deleteAccountReasonClearData => + 'मैं बस अपने डेटा को साफ करना चाहता था'; + + @override + String get deleteAccountReasonOther => 'अन्य'; + + @override + String get deleteAccountFeedbackHint => 'अपना फीडबैक साझा करें'; + + @override + String get deleteAccountProgressMessage => 'आपका खाता हटाया जा रहा है...'; + + @override + String get deleteAccountDeletingButton => 'हटाना'; + + @override + String get deleteAccountUndoButton => 'पूर्ववत'; + + @override + String get deleteAccountSuccessToast => 'आपका खाता हटा दिया गया है।'; + + @override + String get deleteAccountErrorToast => + 'खाता हटाने में विफल। कृपया फिर से प्रयास करें।'; + + @override + String get emailClientUnavailableToast => + 'इस डिवाइस पर कोई ईमेल ऐप उपलब्ध नहीं है। कृपया support@doctorina.com पर मैन्युअल रूप से संपर्क करें।'; } diff --git a/example/lib/src/generated/settings/settings_localization_hu.dart b/example/lib/src/generated/settings/settings_localization_hu.dart new file mode 100644 index 0000000..48fd52c --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_hu.dart @@ -0,0 +1,256 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hungarian (`hu`). +class SettingsLocalizationHu extends SettingsLocalization { + SettingsLocalizationHu([String locale = 'hu']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Összes csevegés törlése'; + + @override + String get sectionClearAllChatsSubtitle => + 'Ez véglegesen törli a csevegési előzményeidet.'; + + @override + String get sectionClearAllChatsButton => 'Összes csevegés törlése'; + + @override + String get sectionClearAllChatsEmailTheme => 'Minden csevegés törlése'; + + @override + String get sectionDeleteAccountTitle => 'Fiók törlése'; + + @override + String get sectionDeleteAccountSubtitle => + 'A fiók törlése végleges lépés, és nem vonható vissza.'; + + @override + String get sectionDeleteAccountButton => 'Törlés'; + + @override + String get sectionDeleteAccountTheme => 'Fiók törlése'; + + @override + String get sectionLogOutTitle => 'Kijelentkezés'; + + @override + String get sectionLogOutSubtitle => 'Ki leszel jelentkezve a fiókodból.'; + + @override + String get sectionLogOutButton => 'Kijelentkezés'; + + @override + String get sendBugReportButton => 'Hibajelentés küldése'; + + @override + String get sectionSendMessageWithEnterTitle => 'Üzenet küldése [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Üzenet küldése [⏎ Enter] billentyűvel, új sor beszúrása [Shift] + [⏎ Enter] billentyűkkel'; + + @override + String get sectionSendMessageEnter => 'Küldés [⏎ Enter] gombbal'; + + @override + String get sectionPrivacyPolicy => 'Adatvédelmi irányelvek'; + + @override + String get sectionSelectLocaleTitle => 'Nyelv'; + + @override + String get sectionSelectLocaleSubtitle => + 'Válaszd ki a preferált nyelvet az alkalmazás felületéhez'; + + @override + String get sectionSwitchThemeTitle => 'Sötét mód'; + + @override + String get sectionSwitchThemeSubtitle => + 'Engedélyezze a sötét módot a kényelmesebb megtekintési élmény érdekében gyenge fényviszonyok között'; + + @override + String get sectionLogsTitle => 'Naplók'; + + @override + String get sectionLogsSubtitle => + 'Alkalmazásnaplók megtekintése és kezelése a hibakereséshez'; + + @override + String get doneButton => 'Kész'; + + @override + String get bugReportDialogTitle => 'Hibajelentés'; + + @override + String get bugReportDialogHintText => 'Kérjük, írja le a tapasztalt hibát'; + + @override + String get attachFilesButtonTooltip => 'Fájlok csatolása'; + + @override + String get filePickerError => 'A fájlok kiválasztása nem sikerült'; + + @override + String get emptyBugReportError => + 'Kérjük, először adjon meg egy hibajelentést'; + + @override + String get failedToSendBugReportError => + 'A hibajelentés elküldése nem sikerült'; + + @override + String get sectionManageSubscriptionTitle => 'Előfizetés kezelése'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Kezelje előfizetési beállításait'; + + @override + String get sectionHapticFeedbackTitle => 'Haptikus visszajelzés'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Engedélyezze vagy tiltsa le a haptikus visszajelzést (rezgést) a támogatott eszközökön'; + + @override + String get sectionNotificationTitle => 'Értesítések bekapcsolása'; + + @override + String get sectionNotificationSubtitle => + 'Maradjon naprakész, amikor a Doctorina fontos dolgot talál a csevegéseiben, jelentéseiben vagy tüneteiben.'; + + @override + String get sectionAccountTitle => 'Fiók'; + + @override + String get sectionAppTitle => 'Alkalmazás'; + + @override + String get sectionAboutTitle => 'Rólunk'; + + @override + String get sectionNotificationsTitle => 'Értesítések'; + + @override + String get sectionVideoTutorialsTitle => 'Videó oktatóanyagok'; + + @override + String get accountPhoneLabel => 'Telefon'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Név'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Kihagyott $count fájlt a meglévő fájlokkal való duplikáció miatt'; + } + + @override + String get bugReportTypeSectionLabel => 'Típus'; + + @override + String get bugReportDescriptionSectionLabel => 'Leírás'; + + @override + String get bugReportAttachmentsSectionLabel => 'Mellékletek'; + + @override + String get bugReportTypeBug => 'Hiba'; + + @override + String get bugReportTypeCrash => 'Összeomlás'; + + @override + String get bugReportTypeUiIssue => 'UI probléma'; + + @override + String get bugReportTypeOther => 'Egyéb'; + + @override + String get deleteAccountWarningMessage => + 'A fiók törlése véglegesen eltávolítja az adatait a Doctorina-ból.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Törlés előtt'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Aktív előfizetéssel rendelkezik a $store szolgáltatáson keresztül. A fiók törlése nem törli azt.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Előfizetés lemondása a $store'; + } + + @override + String get deleteAccountContinueButton => 'Folytatás'; + + @override + String get deleteAccountFormDescription => + 'Sajnáljuk, hogy elmegy. Biztos benne, hogy törölni szeretné a fiókját? Miután megerősíti, az adatai eltűnnek.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Már nem használom az alkalmazást'; + + @override + String get deleteAccountReasonFoundBetter => 'Találtam valami jobbat'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Technikai problémák'; + + @override + String get deleteAccountReasonEaseOfUse => 'Használati problémák'; + + @override + String get deleteAccountReasonMissingFeatures => 'Hiányzó funkciók'; + + @override + String get deleteAccountReasonPrivacy => 'Adatvédelmi aggályok'; + + @override + String get deleteAccountReasonClearData => + 'Csak szerettem volna törölni az adataimat'; + + @override + String get deleteAccountReasonOther => 'Egyéb'; + + @override + String get deleteAccountFeedbackHint => 'Ossza meg véleményét'; + + @override + String get deleteAccountProgressMessage => 'Fiókja törlése...'; + + @override + String get deleteAccountDeletingButton => 'Törlés'; + + @override + String get deleteAccountUndoButton => 'Visszavonás'; + + @override + String get deleteAccountSuccessToast => 'A fiókja törölve lett.'; + + @override + String get deleteAccountErrorToast => + 'Sikertelen fiók törlés. Kérjük, próbálja újra.'; + + @override + String get emailClientUnavailableToast => + 'Nincs elérhető e-mail alkalmazás ezen az eszközön. Kérjük, lépjen kapcsolatba a support@doctorina.com címen.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_id.dart b/example/lib/src/generated/settings/settings_localization_id.dart new file mode 100644 index 0000000..21702a3 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_id.dart @@ -0,0 +1,256 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Indonesian (`id`). +class SettingsLocalizationId extends SettingsLocalization { + SettingsLocalizationId([String locale = 'id']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Hapus Semua Obrolan'; + + @override + String get sectionClearAllChatsSubtitle => + 'Ini akan menghapus riwayat chat Anda secara permanen.'; + + @override + String get sectionClearAllChatsButton => 'Hapus Semua Obrolan'; + + @override + String get sectionClearAllChatsEmailTheme => 'Bersihkan Semua Obrolan'; + + @override + String get sectionDeleteAccountTitle => 'Hapus Akun'; + + @override + String get sectionDeleteAccountSubtitle => + 'Menghapus akun Anda merupakan tindakan permanen dan tidak dapat dibatalkan.'; + + @override + String get sectionDeleteAccountButton => 'Hapus'; + + @override + String get sectionDeleteAccountTheme => 'Hapus Akun'; + + @override + String get sectionLogOutTitle => 'Keluar'; + + @override + String get sectionLogOutSubtitle => 'Anda akan keluar dari akun Anda.'; + + @override + String get sectionLogOutButton => 'Keluar'; + + @override + String get sendBugReportButton => 'Kirim Laporan Bug'; + + @override + String get sectionSendMessageWithEnterTitle => 'Kirim pesan dengan [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Kirim pesan dengan [⏎ Enter] dan baris baru dengan [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Kirim dengan [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Kebijakan Privasi'; + + @override + String get sectionSelectLocaleTitle => 'Bahasa'; + + @override + String get sectionSelectLocaleSubtitle => + 'Pilih bahasa yang Anda inginkan untuk antarmuka aplikasi'; + + @override + String get sectionSwitchThemeTitle => 'Mode Gelap'; + + @override + String get sectionSwitchThemeSubtitle => + 'Aktifkan mode gelap untuk pengalaman menonton yang nyaman dalam cahaya rendah'; + + @override + String get sectionLogsTitle => 'Riwayat'; + + @override + String get sectionLogsSubtitle => + 'Lihat dan kelola log aplikasi untuk debugging'; + + @override + String get doneButton => 'Selesai'; + + @override + String get bugReportDialogTitle => 'Laporan Bug'; + + @override + String get bugReportDialogHintText => 'Silakan jelaskan bug yang Anda temui'; + + @override + String get attachFilesButtonTooltip => 'Lampirkan file'; + + @override + String get filePickerError => 'Gagal memilih file'; + + @override + String get emptyBugReportError => + 'Harap masukkan laporan bug terlebih dahulu'; + + @override + String get failedToSendBugReportError => 'Gagal mengirim laporan bug'; + + @override + String get sectionManageSubscriptionTitle => 'Kelola langganan'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Kelola pengaturan langganan Anda'; + + @override + String get sectionHapticFeedbackTitle => 'Umpan Balik Haptik'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Aktifkan atau nonaktifkan umpan balik haptik (getaran) pada perangkat yang didukung'; + + @override + String get sectionNotificationTitle => 'Nyalakan notifikasi'; + + @override + String get sectionNotificationSubtitle => + 'Tetap terupdate ketika Doctorina menemukan sesuatu yang penting dalam obrolan, laporan, atau gejala Anda.'; + + @override + String get sectionAccountTitle => 'Akun'; + + @override + String get sectionAppTitle => 'Aplikasi'; + + @override + String get sectionAboutTitle => 'Tentang'; + + @override + String get sectionNotificationsTitle => 'Notifikasi'; + + @override + String get sectionVideoTutorialsTitle => 'Video tutorial'; + + @override + String get accountPhoneLabel => 'Telepon'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Nama'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Dilewati $count file karena duplikat dengan file yang ada'; + } + + @override + String get bugReportTypeSectionLabel => 'Tipe'; + + @override + String get bugReportDescriptionSectionLabel => 'Deskripsi'; + + @override + String get bugReportAttachmentsSectionLabel => 'Lampiran'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Kecelakaan'; + + @override + String get bugReportTypeUiIssue => 'Masalah UI'; + + @override + String get bugReportTypeOther => 'Lainnya'; + + @override + String get deleteAccountWarningMessage => + 'Menghapus akun Anda akan menghapus data Anda secara permanen dari Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Sebelum Anda menghapus'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Anda memiliki langganan aktif melalui $store. Menghapus akun Anda tidak akan membatalkannya.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Batalkan langganan di $store'; + } + + @override + String get deleteAccountContinueButton => 'Lanjutkan'; + + @override + String get deleteAccountFormDescription => + 'Kami menyesal melihat Anda pergi. Apakah Anda yakin ingin menghapus akun Anda? Setelah Anda mengonfirmasi, data Anda akan hilang.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Saya tidak lagi menggunakan aplikasi'; + + @override + String get deleteAccountReasonFoundBetter => + 'Menemukan sesuatu yang lebih baik'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Masalah teknis'; + + @override + String get deleteAccountReasonEaseOfUse => 'Masalah kemudahan penggunaan'; + + @override + String get deleteAccountReasonMissingFeatures => 'Fitur yang hilang'; + + @override + String get deleteAccountReasonPrivacy => 'Kekhawatiran privasi'; + + @override + String get deleteAccountReasonClearData => + 'Saya hanya ingin menghapus data saya'; + + @override + String get deleteAccountReasonOther => 'Lainnya'; + + @override + String get deleteAccountFeedbackHint => 'Bagikan umpan balik Anda'; + + @override + String get deleteAccountProgressMessage => 'Menghapus akun Anda...'; + + @override + String get deleteAccountDeletingButton => 'Menghapus'; + + @override + String get deleteAccountUndoButton => 'Batalkan'; + + @override + String get deleteAccountSuccessToast => 'Akun Anda telah dihapus.'; + + @override + String get deleteAccountErrorToast => + 'Gagal menghapus akun. Silakan coba lagi.'; + + @override + String get emailClientUnavailableToast => + 'Tidak ada aplikasi email yang tersedia di perangkat ini. Silakan hubungi support@doctorina.com secara manual.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_it.dart b/example/lib/src/generated/settings/settings_localization_it.dart index 3a2f2d8..713bb4b 100644 --- a/example/lib/src/generated/settings/settings_localization_it.dart +++ b/example/lib/src/generated/settings/settings_localization_it.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,18 +10,15 @@ import 'settings_localization.dart'; class SettingsLocalizationIt extends SettingsLocalization { SettingsLocalizationIt([String locale = 'it']) : super(locale); - @override - String get title => 'Impostazioni dell\'account'; - @override String get sectionClearAllChatsTitle => 'Cancella tutte le chat'; @override String get sectionClearAllChatsSubtitle => - 'Questa operazione eliminerà definitivamente la cronologia della chat.'; + 'Questo cancellerà definitivamente la cronologia delle chat.'; @override - String get sectionClearAllChatsButton => 'Cancella tutte le chat'; + String get sectionClearAllChatsButton => 'Elimina tutte le chat'; @override String get sectionClearAllChatsEmailTheme => 'Cancella tutte le chat'; @@ -31,54 +28,60 @@ class SettingsLocalizationIt extends SettingsLocalization { @override String get sectionDeleteAccountSubtitle => - 'L\'eliminazione del tuo account è un\'azione permanente e non può essere annullata.'; + 'Eliminare il tuo account è un\'azione permanente e non può essere annullata.'; @override - String get sectionDeleteAccountButton => 'Eliminare'; + String get sectionDeleteAccountButton => 'Elimina'; @override String get sectionDeleteAccountTheme => 'Elimina account'; @override - String get sectionLogOutTitle => 'Disconnessione'; + String get sectionLogOutTitle => 'Esci'; @override String get sectionLogOutSubtitle => 'Verrai disconnesso dal tuo account.'; @override - String get sectionLogOutButton => 'Disconnessione'; + String get sectionLogOutButton => 'Esci'; @override String get sendBugReportButton => 'Invia segnalazione bug'; @override - String get sectionSendMessageWithShiftEnterTitle => + String get sectionSendMessageWithEnterTitle => 'Invia messaggio con [⏎ Invio]'; @override - String get sectionSendMessageWithShiftEnterSubtitle => - 'Invia un messaggio con [⏎ Invio] e una nuova riga con [Maiusc] + [⏎ Invio]'; + String get sectionSendMessageWithEnterSubtitle => + 'Invia un messaggio con [⏎ Enter] e una nuova riga con [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Invia con [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Informativa sulla privacy'; @override String get sectionSelectLocaleTitle => 'Lingua'; @override String get sectionSelectLocaleSubtitle => - 'Seleziona la lingua preferita per l\'interfaccia dell\'app'; + 'Seleziona la tua lingua preferita per l\'interfaccia dell\'app'; @override String get sectionSwitchThemeTitle => 'Modalità scura'; @override String get sectionSwitchThemeSubtitle => - 'Abilita la modalità scura per un\'esperienza visiva confortevole in condizioni di scarsa illuminazione'; + 'Attiva la modalità scura per un\'esperienza visiva confortevole in condizioni di scarsa luminosità'; @override String get sectionLogsTitle => 'Registri'; @override String get sectionLogsSubtitle => - 'Visualizza e gestisci i registri delle applicazioni per il debug'; + 'Visualizza e gestisci i log dell\'applicazione per il debug'; @override String get doneButton => 'Fatto'; @@ -87,7 +90,7 @@ class SettingsLocalizationIt extends SettingsLocalization { String get bugReportDialogTitle => 'Segnalazione di bug'; @override - String get bugReportDialogHintText => 'Descrivi il bug che hai riscontrato'; + String get bugReportDialogHintText => 'Descrivi il bug riscontrato'; @override String get attachFilesButtonTooltip => 'Allega file'; @@ -100,12 +103,153 @@ class SettingsLocalizationIt extends SettingsLocalization { @override String get failedToSendBugReportError => - 'Impossibile inviare la segnalazione di bug'; + 'Invio del rapporto di bug non riuscito'; @override - String get sectionManageSubscriptionTitle => 'Gestisci l\'abbonamento'; + String get sectionManageSubscriptionTitle => 'Gestisci abbonamento'; @override String get sectionManageSubscriptionSubtitle => - 'Gestisci le impostazioni del tuo abbonamento'; + 'Gestisci le impostazioni dell\'abbonamento'; + + @override + String get sectionHapticFeedbackTitle => 'Feedback aptico'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Attiva o disattiva il feedback aptico (vibrazione) sui dispositivi supportati'; + + @override + String get sectionNotificationTitle => 'Attiva le notifiche'; + + @override + String get sectionNotificationSubtitle => + 'Rimani aggiornato quando Doctorina trova qualcosa di importante nelle tue chat, report o sintomi.'; + + @override + String get sectionAccountTitle => 'Account'; + + @override + String get sectionAppTitle => 'App'; + + @override + String get sectionAboutTitle => 'Informazioni'; + + @override + String get sectionNotificationsTitle => 'Notifiche'; + + @override + String get sectionVideoTutorialsTitle => 'Video tutorial'; + + @override + String get accountPhoneLabel => 'Telefono'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Nome'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Saltate $count file a causa di duplicati con file esistenti'; + } + + @override + String get bugReportTypeSectionLabel => 'Tipo'; + + @override + String get bugReportDescriptionSectionLabel => 'Descrizione'; + + @override + String get bugReportAttachmentsSectionLabel => 'Allegati'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Crash'; + + @override + String get bugReportTypeUiIssue => 'Problema UI'; + + @override + String get bugReportTypeOther => 'Altro'; + + @override + String get deleteAccountWarningMessage => + 'Eliminare il tuo account rimuoverà permanentemente i tuoi dati da Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Prima di eliminare'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Hai un abbonamento attivo tramite $store. Eliminare il tuo account non lo annullerà.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Annulla l\'abbonamento nello $store'; + } + + @override + String get deleteAccountContinueButton => 'Continua'; + + @override + String get deleteAccountFormDescription => + 'Ci dispiace vederti andare. Sei sicuro di voler eliminare il tuo account? Una volta confermato, i tuoi dati saranno persi.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'Non uso più l\'app'; + + @override + String get deleteAccountReasonFoundBetter => 'Trovato qualcosa di meglio'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Problemi tecnici'; + + @override + String get deleteAccountReasonEaseOfUse => 'Problemi di usabilità'; + + @override + String get deleteAccountReasonMissingFeatures => 'Funzionalità mancanti'; + + @override + String get deleteAccountReasonPrivacy => 'Preoccupazioni per la privacy'; + + @override + String get deleteAccountReasonClearData => + 'Volevo solo cancellare i miei dati'; + + @override + String get deleteAccountReasonOther => 'Altro'; + + @override + String get deleteAccountFeedbackHint => 'Condividi il tuo feedback'; + + @override + String get deleteAccountProgressMessage => 'Eliminazione del tuo account...'; + + @override + String get deleteAccountDeletingButton => 'Eliminazione'; + + @override + String get deleteAccountUndoButton => 'Annulla'; + + @override + String get deleteAccountSuccessToast => 'Il tuo account è stato eliminato.'; + + @override + String get deleteAccountErrorToast => + 'Impossibile eliminare l\'account. Riprova.'; + + @override + String get emailClientUnavailableToast => + 'Nessuna app di posta è disponibile su questo dispositivo. Contatta manualmente support@doctorina.com.'; } diff --git a/example/lib/src/generated/settings/settings_localization_ja.dart b/example/lib/src/generated/settings/settings_localization_ja.dart new file mode 100644 index 0000000..9f57ef0 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_ja.dart @@ -0,0 +1,246 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Japanese (`ja`). +class SettingsLocalizationJa extends SettingsLocalization { + SettingsLocalizationJa([String locale = 'ja']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'すべてのチャットをクリア'; + + @override + String get sectionClearAllChatsSubtitle => 'チャット履歴が永久に削除されます。'; + + @override + String get sectionClearAllChatsButton => 'すべてのチャットを消去'; + + @override + String get sectionClearAllChatsEmailTheme => 'すべてのチャットを消去'; + + @override + String get sectionDeleteAccountTitle => 'アカウントを削除'; + + @override + String get sectionDeleteAccountSubtitle => + 'アカウントの削除は、永久的な操作であり、元に戻すことはできません。'; + + @override + String get sectionDeleteAccountButton => '削除'; + + @override + String get sectionDeleteAccountTheme => 'アカウント削除'; + + @override + String get sectionLogOutTitle => 'サインアウト'; + + @override + String get sectionLogOutSubtitle => 'アカウントからサインアウトされます.'; + + @override + String get sectionLogOutButton => 'サインアウト'; + + @override + String get sendBugReportButton => 'バグ報告を送信'; + + @override + String get sectionSendMessageWithEnterTitle => '[⏎ Enter]でメッセージを送信'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'メッセージは[⏎ Enter]で送信し、[Shift] + [⏎ Enter]で改行します'; + + @override + String get sectionSendMessageEnter => '[⏎ Enter] で送信'; + + @override + String get sectionPrivacyPolicy => 'プライバシーポリシー'; + + @override + String get sectionSelectLocaleTitle => '言語'; + + @override + String get sectionSelectLocaleSubtitle => 'アプリのインターフェイスに使用する言語を選択してください'; + + @override + String get sectionSwitchThemeTitle => 'ダークモード'; + + @override + String get sectionSwitchThemeSubtitle => '低照度での快適な閲覧のためにダークモードを有効にする'; + + @override + String get sectionLogsTitle => 'ログ'; + + @override + String get sectionLogsSubtitle => 'デバッグ用にアプリケーションログを表示および管理'; + + @override + String get doneButton => '完了'; + + @override + String get bugReportDialogTitle => 'バグレポート'; + + @override + String get bugReportDialogHintText => '遭遇したバグについて記述してください'; + + @override + String get attachFilesButtonTooltip => 'ファイルを添付'; + + @override + String get filePickerError => 'ファイルの選択に失敗しました'; + + @override + String get emptyBugReportError => '最初にバグレポートを入力してください'; + + @override + String get failedToSendBugReportError => 'バグレポートの送信に失敗しました'; + + @override + String get sectionManageSubscriptionTitle => 'サブスクリプションを管理'; + + @override + String get sectionManageSubscriptionSubtitle => '購読設定を管理'; + + @override + String get sectionHapticFeedbackTitle => '触覚フィードバック'; + + @override + String get sectionHapticFeedbackSubtitle => + '対応デバイスでハプティックフィードバック(バイブレーション)を有効または無効にする'; + + @override + String get sectionNotificationTitle => '通知をオンにする'; + + @override + String get sectionNotificationSubtitle => + 'Doctorinaがチャット、レポート、または症状で重要なことを見つけたときに最新情報を受け取ります。'; + + @override + String get sectionAccountTitle => 'アカウント'; + + @override + String get sectionAppTitle => 'アプリ'; + + @override + String get sectionAboutTitle => '概要'; + + @override + String get sectionNotificationsTitle => '通知'; + + @override + String get sectionVideoTutorialsTitle => 'ビデオチュートリアル'; + + @override + String get accountPhoneLabel => '電話'; + + @override + String get accountEmailLabel => 'メール'; + + @override + String get accountNameLabel => '名前'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '既存のファイルと重複しているため、$count ファイルがスキップされました'; + } + + @override + String get bugReportTypeSectionLabel => 'タイプ'; + + @override + String get bugReportDescriptionSectionLabel => '説明'; + + @override + String get bugReportAttachmentsSectionLabel => '添付ファイル'; + + @override + String get bugReportTypeBug => 'バグ'; + + @override + String get bugReportTypeCrash => 'クラッシュ'; + + @override + String get bugReportTypeUiIssue => 'UIの問題'; + + @override + String get bugReportTypeOther => 'その他'; + + @override + String get deleteAccountWarningMessage => + 'アカウントを削除すると、Doctorinaからデータが永久に削除されます。'; + + @override + String get deleteAccountBeforeYouDeleteTitle => '削除する前に'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return '$storeを通じてアクティブなサブスクリプションがあります。アカウントを削除してもキャンセルされません。'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$storeでサブスクリプションをキャンセル'; + } + + @override + String get deleteAccountContinueButton => '続ける'; + + @override + String get deleteAccountFormDescription => + 'あなたが去るのは残念です。アカウントを削除してもよろしいですか?確認すると、あなたのデータは消えます。'; + + @override + String get deleteAccountReasonDontUseAnymore => 'もうアプリを使っていません'; + + @override + String get deleteAccountReasonFoundBetter => 'より良いものを見つけました'; + + @override + String get deleteAccountReasonTechnicalIssues => '技術的な問題'; + + @override + String get deleteAccountReasonEaseOfUse => '使いやすさの問題'; + + @override + String get deleteAccountReasonMissingFeatures => '機能が不足'; + + @override + String get deleteAccountReasonPrivacy => 'プライバシーの懸念'; + + @override + String get deleteAccountReasonClearData => '私はただ自分のデータを消去したかった'; + + @override + String get deleteAccountReasonOther => 'その他'; + + @override + String get deleteAccountFeedbackHint => 'フィードバックを共有してください'; + + @override + String get deleteAccountProgressMessage => 'アカウントを削除しています...'; + + @override + String get deleteAccountDeletingButton => '削除中'; + + @override + String get deleteAccountUndoButton => '元に戻す'; + + @override + String get deleteAccountSuccessToast => 'アカウントが削除されました。'; + + @override + String get deleteAccountErrorToast => 'アカウントの削除に失敗しました。もう一度お試しください。'; + + @override + String get emailClientUnavailableToast => + 'このデバイスにはメールアプリがありません。手動でsupport@doctorina.comに連絡してください。'; +} diff --git a/example/lib/src/generated/settings/settings_localization_kk.dart b/example/lib/src/generated/settings/settings_localization_kk.dart new file mode 100644 index 0000000..340c312 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_kk.dart @@ -0,0 +1,257 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kazakh (`kk`). +class SettingsLocalizationKk extends SettingsLocalization { + SettingsLocalizationKk([String locale = 'kk']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Барлық чаттарды тазалау'; + + @override + String get sectionClearAllChatsSubtitle => + 'Бұл сіздің чат тарихыңызды тұрақты түрде жояды.'; + + @override + String get sectionClearAllChatsButton => 'Барлық чаттарды тазалау'; + + @override + String get sectionClearAllChatsEmailTheme => 'Барлық чаттарды тазалау'; + + @override + String get sectionDeleteAccountTitle => 'Есепті жою'; + + @override + String get sectionDeleteAccountSubtitle => + 'Есептік жазбаңызды жою - бұл тұрақты әрекет және оны қайтару мүмкін емес.'; + + @override + String get sectionDeleteAccountButton => 'Жою'; + + @override + String get sectionDeleteAccountTheme => 'Есепті жою'; + + @override + String get sectionLogOutTitle => 'Шығу'; + + @override + String get sectionLogOutSubtitle => + 'Сіз өз есептік жазбаңыздан шығып кетесіз.'; + + @override + String get sectionLogOutButton => 'Шығу'; + + @override + String get sendBugReportButton => 'Бұзушылық туралы есеп жіберу'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Хабарламаны [⏎ Enter] арқылы жіберіңіз'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Хабарламаны [⏎ Enter] арқылы жіберіңіз, ал жаңа жолды [Shift] + [⏎ Enter] арқылы жасаңыз'; + + @override + String get sectionSendMessageEnter => 'Жіберу [⏎ Enter] арқылы'; + + @override + String get sectionPrivacyPolicy => 'Жекелік саясат'; + + @override + String get sectionSelectLocaleTitle => 'Тіл'; + + @override + String get sectionSelectLocaleSubtitle => + 'Қосымша интерфейсі үшін қалаған тіліңізді таңдаңыз'; + + @override + String get sectionSwitchThemeTitle => 'Қара режим'; + + @override + String get sectionSwitchThemeSubtitle => + 'Төмен жарықта ыңғайлы көру тәжірибесі үшін қара режимді қосыңыз'; + + @override + String get sectionLogsTitle => 'Журналдар'; + + @override + String get sectionLogsSubtitle => + 'Қателерді жою үшін қолданба журналдарын қарау және басқару'; + + @override + String get doneButton => 'Дайын'; + + @override + String get bugReportDialogTitle => 'Қате туралы есеп'; + + @override + String get bugReportDialogHintText => 'Кездескен қателікті сипаттаңыз'; + + @override + String get attachFilesButtonTooltip => 'Файлдарды тіркеу'; + + @override + String get filePickerError => 'Файлдарды таңдау сәтсіз аяқталды'; + + @override + String get emptyBugReportError => 'Алдымен қате туралы есеп енгізіңіз'; + + @override + String get failedToSendBugReportError => + 'Қате туралы есеп жіберу сәтсіз аяқталды'; + + @override + String get sectionManageSubscriptionTitle => 'Жазылымды басқару'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Жазылым параметрлеріңізді басқару'; + + @override + String get sectionHapticFeedbackTitle => 'Діріл'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Қолдау көрсететін құрылғыларда тактильді кері байланысты (діріл) қосу немесе өшіру'; + + @override + String get sectionNotificationTitle => 'Хабарландыруларды қосу'; + + @override + String get sectionNotificationSubtitle => + 'Докторина сіздің чаттарыңызда, есептеріңізде немесе симптомдарыңызда маңызды нәрселерді тапқанда хабардар болыңыз.'; + + @override + String get sectionAccountTitle => 'Аккаунт'; + + @override + String get sectionAppTitle => 'Қосымша'; + + @override + String get sectionAboutTitle => 'Туралы'; + + @override + String get sectionNotificationsTitle => 'Хабарландырулар'; + + @override + String get sectionVideoTutorialsTitle => 'Бейне сабақтар'; + + @override + String get accountPhoneLabel => 'Телефон'; + + @override + String get accountEmailLabel => 'Электрондық пошта'; + + @override + String get accountNameLabel => 'Аты'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Барлық файлдармен дубликатқа байланысты $count файл өткізіліп кетті'; + } + + @override + String get bugReportTypeSectionLabel => 'Тип'; + + @override + String get bugReportDescriptionSectionLabel => 'Сипаттама'; + + @override + String get bugReportAttachmentsSectionLabel => 'Қосымшалар'; + + @override + String get bugReportTypeBug => 'Бұқа'; + + @override + String get bugReportTypeCrash => 'Құлау'; + + @override + String get bugReportTypeUiIssue => 'UI мәселесі'; + + @override + String get bugReportTypeOther => 'Басқа'; + + @override + String get deleteAccountWarningMessage => + 'Есептік жазбаңызды жою сіздің деректеріңізді Doctorina-дан мәңгілікке жояды.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Жоюдан бұрын'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Сізде $store арқылы белсенді жазылым бар. Аккаунтыңызды жою оны тоқтатпайды.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store жазылымын тоқтату'; + } + + @override + String get deleteAccountContinueButton => 'Жалғастыру'; + + @override + String get deleteAccountFormDescription => + 'Сізді кетіп бара жатқанымызға өкінішті. Сіздің аккаунтыңызды жоюға сенімдісіз бе? Сіз растағаннан кейін, деректеріңіз жойылады.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Мен енді қосымшаны пайдаланбаймын'; + + @override + String get deleteAccountReasonFoundBetter => 'Жақсырақ нұсқа таптым'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Техникалық мәселелер'; + + @override + String get deleteAccountReasonEaseOfUse => 'Пайдалану қиындықтары'; + + @override + String get deleteAccountReasonMissingFeatures => 'Функциялар жетіспейді'; + + @override + String get deleteAccountReasonPrivacy => 'Жеке өмір туралы алаңдаушылық'; + + @override + String get deleteAccountReasonClearData => + 'Мен тек деректерімді тазалағым келді'; + + @override + String get deleteAccountReasonOther => 'Басқа'; + + @override + String get deleteAccountFeedbackHint => 'Пікіріңізбен бөлісіңіз'; + + @override + String get deleteAccountProgressMessage => 'Аккаунтыңызды жою...'; + + @override + String get deleteAccountDeletingButton => 'Жою'; + + @override + String get deleteAccountUndoButton => 'Кері қайтару'; + + @override + String get deleteAccountSuccessToast => 'Сіздің аккаунтыңыз жойылды.'; + + @override + String get deleteAccountErrorToast => + 'Аккаунтты жою мүмкін болмады. Қайтадан әрекет жасап көріңіз.'; + + @override + String get emailClientUnavailableToast => + 'Бұл құрылғыда электрондық пошта қосымшасы жоқ. Қолдау қызметіне қолмен хабарласыңыз: support@doctorina.com.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_km.dart b/example/lib/src/generated/settings/settings_localization_km.dart new file mode 100644 index 0000000..650e878 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_km.dart @@ -0,0 +1,254 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Khmer Central Khmer (`km`). +class SettingsLocalizationKm extends SettingsLocalization { + SettingsLocalizationKm([String locale = 'km']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'សម្អាតការជជែកទាំងអស់'; + + @override + String get sectionClearAllChatsSubtitle => + 'នេះនឹងលុបប្រវត្តិការសន្ទនារបស់អ្នកយ៉ាងថេរ។'; + + @override + String get sectionClearAllChatsButton => 'លុបការសន្ទនាទាំងអស់'; + + @override + String get sectionClearAllChatsEmailTheme => 'Clear All Chats'; + + @override + String get sectionDeleteAccountTitle => 'លុបគណនី'; + + @override + String get sectionDeleteAccountSubtitle => + 'ការលុបគណនីរបស់អ្នកគឺជាការប្រតិបត្តិដែលអចិន្រ្តៃ និងមិនអាចត្រឡប់មកវិញបានទេ។'; + + @override + String get sectionDeleteAccountButton => 'លុប'; + + @override + String get sectionDeleteAccountTheme => 'លុបគណនី'; + + @override + String get sectionLogOutTitle => 'ចេញ'; + + @override + String get sectionLogOutSubtitle => 'អ្នកនឹងត្រូវចាកចេញពីគណនីរបស់អ្នក។'; + + @override + String get sectionLogOutButton => 'ចាកចេញ'; + + @override + String get sendBugReportButton => 'ផ្ញើរបាយការណ៍កំហុស'; + + @override + String get sectionSendMessageWithEnterTitle => 'ផ្ញើសារដោយ [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'ផ្ញើសារដោយប្រើ [⏎ Enter] និងបន្ទាត់ថ្មីដោយប្រើ [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'ផ្ញើជាមួយ [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'គោលការណ៍ភាពឯកជន'; + + @override + String get sectionSelectLocaleTitle => 'ភាសា'; + + @override + String get sectionSelectLocaleSubtitle => + 'ជ្រើសរើសភាសាដែលអ្នកចូលចិត្តសម្រាប់អ៊ីនធឺហ្វេសនៃកម្មវិធី'; + + @override + String get sectionSwitchThemeTitle => 'មូដងងឹត'; + + @override + String get sectionSwitchThemeSubtitle => + 'បើកម៉ូដងងឹតសម្រាប់បទពិសោធន៍មើលដែលមានសុវត្ថិភាពនៅក្នុងពន្លឺទាប'; + + @override + String get sectionLogsTitle => 'កំណត់ហេតុ'; + + @override + String get sectionLogsSubtitle => + 'មើល និងគ្រប់គ្រងកំណត់ហេតុកម្មវិធីសម្រាប់កំណត់កំហុស'; + + @override + String get doneButton => 'បានបញ្ចប់'; + + @override + String get bugReportDialogTitle => 'របាយការណ៍កំហុស'; + + @override + String get bugReportDialogHintText => 'សូមពិពណ៌នាអំពីកំហុសដែលអ្នកបានជួបប្រទៈ'; + + @override + String get attachFilesButtonTooltip => 'ភ្ជាប់ឯកសារ'; + + @override + String get filePickerError => 'មិនអាចជ្រើសរើសឯកសារ'; + + @override + String get emptyBugReportError => 'សូមបញ្ចូលរបាយការណ៍កំហុសមុន'; + + @override + String get failedToSendBugReportError => 'មិនអាចផ្ញើរប្រកាសកំហុសបានទេ'; + + @override + String get sectionManageSubscriptionTitle => 'គ្រប់គ្រងការជាវ'; + + @override + String get sectionManageSubscriptionSubtitle => + 'គ្រប់គ្រងការកំណត់ការជាវរបស់អ្នក'; + + @override + String get sectionHapticFeedbackTitle => 'ការបញ្ជូនអារម្មណ៍'; + + @override + String get sectionHapticFeedbackSubtitle => + 'បើកឬបិទការបញ្ចេញសំឡេងប៉ះ (ការប៉ះ) នៅលើឧបករណ៍ដែលគាំទ្រ'; + + @override + String get sectionNotificationTitle => 'បើកការជូនដំណឹង'; + + @override + String get sectionNotificationSubtitle => + 'នៅតែទាន់ពេលនៅពេលដែល Doctorina រកឃើញអ្វីសំខាន់នៅក្នុងការសន្ទនា, របាយការណ៍, ឬរោគសញ្ញារបស់អ្នក។'; + + @override + String get sectionAccountTitle => 'គណនី'; + + @override + String get sectionAppTitle => 'កម្មវិធី'; + + @override + String get sectionAboutTitle => 'អំពី'; + + @override + String get sectionNotificationsTitle => 'ការជូនដំណឹង'; + + @override + String get sectionVideoTutorialsTitle => 'វីដេអូបង្រៀន'; + + @override + String get accountPhoneLabel => 'ទូរស័ព្ទ'; + + @override + String get accountEmailLabel => 'អ៊ីមែល'; + + @override + String get accountNameLabel => 'ឈ្មោះ'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'បានរំលងឯកសារ $count ដោយសារតែមានឯកសារដែលមានស្រាប់'; + } + + @override + String get bugReportTypeSectionLabel => 'ប្រភេទ'; + + @override + String get bugReportDescriptionSectionLabel => 'ការពិពណ៌នា'; + + @override + String get bugReportAttachmentsSectionLabel => 'ឯកសារភ្ជាប់'; + + @override + String get bugReportTypeBug => 'កំហុស'; + + @override + String get bugReportTypeCrash => 'ការបរាជ័យ'; + + @override + String get bugReportTypeUiIssue => 'បញ្ហា UI'; + + @override + String get bugReportTypeOther => 'ផ្សេងទៀត'; + + @override + String get deleteAccountWarningMessage => + 'ការលុបគណនីរបស់អ្នកនឹងលុបទិន្នន័យរបស់អ្នកចេញពីDoctorinaយ៉ាងថេរ។'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'មុនពេលអ្នកលុប'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'អ្នកមានការជាវសកម្មតាមរយៈ $store។ ការលុបគណនីរបស់អ្នកនឹងមិនបោះបង់វាទេ។'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'បោះបង់ការជាវនៅក្នុង $store'; + } + + @override + String get deleteAccountContinueButton => 'បន្ត'; + + @override + String get deleteAccountFormDescription => + 'យើងសោកស្តាយដែលឃើញអ្នកចាកចេញ។ តើអ្នកប្រាកដថាអ្នកចង់លុបគណនីរបស់អ្នកទេ? មួយដងដែលអ្នកបញ្ជាក់, ទិន្នន័យរបស់អ្នកនឹងបាត់បង់។'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'ខ្ញុំមិនប្រើកម្មវិធីនេះទៀតទេ'; + + @override + String get deleteAccountReasonFoundBetter => 'បានរកឃើញអ្វីមួយល្អជាង'; + + @override + String get deleteAccountReasonTechnicalIssues => 'បញ្ហាបច្ចេកទេស'; + + @override + String get deleteAccountReasonEaseOfUse => 'បញ្ហាការប្រើប្រាស់'; + + @override + String get deleteAccountReasonMissingFeatures => 'ខ្វះមុខងារ'; + + @override + String get deleteAccountReasonPrivacy => 'ការព្រួយបារម្ភអំពីភាពឯកជន'; + + @override + String get deleteAccountReasonClearData => + 'ខ្ញុំគ្រាន់តែចង់សម្អាតទិន្នន័យរបស់ខ្ញុំ'; + + @override + String get deleteAccountReasonOther => 'ផ្សេងទៀត'; + + @override + String get deleteAccountFeedbackHint => 'ចែករំលែកមតិយោបល់របស់អ្នក'; + + @override + String get deleteAccountProgressMessage => 'កំពុងលុបគណនីរបស់អ្នក...'; + + @override + String get deleteAccountDeletingButton => 'កំពុងលុប'; + + @override + String get deleteAccountUndoButton => 'បដិសេធ'; + + @override + String get deleteAccountSuccessToast => 'គណនីរបស់អ្នកត្រូវបានលុបចោល។'; + + @override + String get deleteAccountErrorToast => + 'មិនអាចលុបគណនីបានទេ។ សូមព្យាយាមម្តងទៀត។'; + + @override + String get emailClientUnavailableToast => + 'មិនមានកម្មវិធីអ៊ីមែលនៅលើឧបករណ៍នេះទេ។ សូមទំនាក់ទំនង support@doctorina.com ដោយដៃ។'; +} diff --git a/example/lib/src/generated/settings/settings_localization_kn.dart b/example/lib/src/generated/settings/settings_localization_kn.dart new file mode 100644 index 0000000..4446fc7 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_kn.dart @@ -0,0 +1,258 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kannada (`kn`). +class SettingsLocalizationKn extends SettingsLocalization { + SettingsLocalizationKn([String locale = 'kn']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'ಎಲ್ಲಾ ಚಾಟ್‌ಗಳನ್ನು ಕ್ಲಿಯರ್ ಮಾಡಿ'; + + @override + String get sectionClearAllChatsSubtitle => + 'ಇದು ನಿಮ್ಮ ಚಾಟ್ ಇತಿಹಾಸವನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸುತ್ತದೆ.'; + + @override + String get sectionClearAllChatsButton => 'ಎಲ್ಲಾ ಚಾಟ್‌ಗಳನ್ನು ಕ್ಲಿಯರ್ ಮಾಡಿ'; + + @override + String get sectionClearAllChatsEmailTheme => 'ಎಲ್ಲಾ ಚಾಟ್‌ಗಳನ್ನು ಕ್ಲಿಯರ್ ಮಾಡಿ'; + + @override + String get sectionDeleteAccountTitle => 'ಖಾತೆ ಅಳಿಸಿ'; + + @override + String get sectionDeleteAccountSubtitle => + 'ನಿಮ್ಮ ಖಾತೆ ಅಳಿಸುವುದು ಶಾಶ್ವತ ಕ್ರಿಯೆ ಮತ್ತು ಅದನ್ನು ಹಿಂದಿರುಗಿಸಲಾಗುವುದಿಲ್ಲ'; + + @override + String get sectionDeleteAccountButton => 'ಅಳಿಸಿ'; + + @override + String get sectionDeleteAccountTheme => 'ಖಾತೆ ಅಳಿಸಿ'; + + @override + String get sectionLogOutTitle => 'ಸೈನ್ ಔಟ್'; + + @override + String get sectionLogOutSubtitle => + 'ನೀವು ನಿಮ್ಮ ಖಾತೆಯಿಂದ ಹೊರಗೊಮ್ಮಲು ಹೋಗುತ್ತೀರಿ.'; + + @override + String get sectionLogOutButton => 'ಸೈನ್ ಔಟ್'; + + @override + String get sendBugReportButton => 'ಬಗ್ ವರದಿ ಕಳುಹಿಸಿ'; + + @override + String get sectionSendMessageWithEnterTitle => + 'ಸಂದೇಶವನ್ನು [⏎ Enter] ಮೂಲಕ ಕಳುಹಿಸಿ'; + + @override + String get sectionSendMessageWithEnterSubtitle => + '[⏎ Enter] ಬಳಸಿ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿ ಮತ್ತು [Shift] + [⏎ Enter] ಬಳಸಿ ಹೊಸ ಸಾಲು'; + + @override + String get sectionSendMessageEnter => '[⏎ Enter] ಮೂಲಕ ಕಳುಹಿಸಿ'; + + @override + String get sectionPrivacyPolicy => 'ಗೋಪ್ಯತಾ ನೀತಿ'; + + @override + String get sectionSelectLocaleTitle => 'ಭಾಷೆ'; + + @override + String get sectionSelectLocaleSubtitle => + 'ನಿಮ್ಮ ಆಯ್ಕೆಯ ಭಾಷೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿ ಆಪ್ ಇಂಟರ್ಫೇಸ್‌ಗಾಗಿ'; + + @override + String get sectionSwitchThemeTitle => 'ಕಪ್ಪು ಮೋಡ್'; + + @override + String get sectionSwitchThemeSubtitle => + 'ಕಡಿಮೆ ಬೆಳಕಿನಲ್ಲಿ ಆರಾಮದಾಯಕ ವೀಕ್ಷಣೆಯ ಅನುಭವಕ್ಕಾಗಿ ಕಪ್ಪು ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ'; + + @override + String get sectionLogsTitle => 'Logs'; + + @override + String get sectionLogsSubtitle => + 'ಅನುಷ್ಠಾನ ಲಾಗ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ ಮತ್ತು ನಿರ್ವಹಿಸಿ'; + + @override + String get doneButton => 'ಮುಗಿಯಿತು'; + + @override + String get bugReportDialogTitle => 'ಬಗ್ ವರದಿ'; + + @override + String get bugReportDialogHintText => + 'ದಯವಿಟ್ಟು ನೀವು ಎದುರಿಸಿದ ದೋಷವನ್ನು ವಿವರಿಸಿ'; + + @override + String get attachFilesButtonTooltip => 'ಫೈಲ್‌ಗಳನ್ನು ಅಟ್ಯಾಚ್ ಮಾಡಿ'; + + @override + String get filePickerError => 'ಫೈಲ್ ಆಯ್ಕೆ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get emptyBugReportError => 'ದಯವಿಟ್ಟು ಮೊದಲು ದೋಷ ವರದಿಯನ್ನು ನಮೂದಿಸಿ'; + + @override + String get failedToSendBugReportError => 'ದೋಷ ವರದಿಯನ್ನು ಕಳುಹಿಸಲು ವಿಫಲವಾಗಿದೆ'; + + @override + String get sectionManageSubscriptionTitle => 'ಚಂದಾ ನಿರ್ವಹಣೆ'; + + @override + String get sectionManageSubscriptionSubtitle => + 'ನಿಮ್ಮ ಚಂದಾ ಸೆಟಿಂಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ'; + + @override + String get sectionHapticFeedbackTitle => 'Haptic Feedback'; + + @override + String get sectionHapticFeedbackSubtitle => + ' ಬೆಂಬಲಿತ ಸಾಧನಗಳಲ್ಲಿ ಹ್ಯಾಪ್ಟಿಕ್ ಫೀಡ್‌ಬ್ಯಾಕ್ (ಕಂಪನ) ಅನ್ನು ಸಕ್ರಿಯ ಅಥವಾ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ'; + + @override + String get sectionNotificationTitle => 'ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಆನ್ ಮಾಡಿ'; + + @override + String get sectionNotificationSubtitle => + 'Doctorina ನಿಮ್ಮ ಚಾಟ್‌ಗಳಲ್ಲಿ, ವರದಿಗಳಲ್ಲಿ ಅಥವಾ ಲಕ್ಷಣಗಳಲ್ಲಿ ಏನಾದರೂ ಪ್ರಮುಖವನ್ನು ಕಂಡುಹಿಡಿದಾಗ ನವೀಕರಿತವಾಗಿರಿ.'; + + @override + String get sectionAccountTitle => 'ಖಾತೆ'; + + @override + String get sectionAppTitle => 'ಆಪ್'; + + @override + String get sectionAboutTitle => 'ಹೆಚ್ಚಿನ ಮಾಹಿತಿ'; + + @override + String get sectionNotificationsTitle => 'ಅಧಿಸೂಚನೆಗಳು'; + + @override + String get sectionVideoTutorialsTitle => 'ವಿಡಿಯೋ ಟ್ಯುಟೋರಿಯಲ್'; + + @override + String get accountPhoneLabel => 'ದೂರವಾಣಿ'; + + @override + String get accountEmailLabel => 'ಇಮೇಲ್'; + + @override + String get accountNameLabel => 'ಹೆಸರು'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '$count ಫೈಲ್‌ಗಳನ್ನು ಇತ್ತೀಚಿನ ಫೈಲ್‌ಗಳೊಂದಿಗೆ ಡುಪ್ಲಿಕೇಟ್‌ನ ಕಾರಣದಿಂದ ಬಿಟ್ಟುಹೋಗಿದೆ'; + } + + @override + String get bugReportTypeSectionLabel => 'ಪ್ರಕಾರ'; + + @override + String get bugReportDescriptionSectionLabel => 'ವಿವರಣೆ'; + + @override + String get bugReportAttachmentsSectionLabel => 'ಜೋಡಣೆಗಳು'; + + @override + String get bugReportTypeBug => 'ಬಗ್'; + + @override + String get bugReportTypeCrash => 'ಕ್ರ್ಯಾಶ್'; + + @override + String get bugReportTypeUiIssue => 'ಯುಐ ಸಮಸ್ಯೆ'; + + @override + String get bugReportTypeOther => 'ಇತರ'; + + @override + String get deleteAccountWarningMessage => + 'ನಿಮ್ಮ ಖಾತೆ ಅಳಿಸುವುದರಿಂದ ಡಾಕ್ಟೊರಿನಾದಿಂದ ನಿಮ್ಮ ಡೇಟಾ ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'ನೀವು ಅಳಿಸುವ ಮೊದಲು'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return '$store ಮೂಲಕ ನೀವು ಸಕ್ರಿಯ ಚಂದಾ ಹೊಂದಿದ್ದೀರಿ. ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಅಳಿಸುವುದರಿಂದ ಅದು ರದ್ದುಗೊಳ್ಳುವುದಿಲ್ಲ.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$storeನಲ್ಲಿ ಚಂದಾ ರದ್ದುಪಡಿಸಿ'; + } + + @override + String get deleteAccountContinueButton => 'ಮುಂದುವರಿಯಿರಿ'; + + @override + String get deleteAccountFormDescription => + 'ನೀವು ಹೋಗುತ್ತಿರುವುದನ್ನು ನೋಡಿ ನಮಗೆ ವಿಷಾದವಾಗಿದೆ. ನೀವು ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಅಳಿಸಲು ಖಚಿತವಾಗಿದ್ದೀರಾ? ನೀವು ದೃಢೀಕರಿಸಿದಾಗ, ನಿಮ್ಮ ಡೇಟಾ ಹೋಗುತ್ತದೆ.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'ನಾನು ಆಪ್ ಅನ್ನು ಇನ್ನೂ ಬಳಸುತ್ತಿಲ್ಲ'; + + @override + String get deleteAccountReasonFoundBetter => + 'ಹೆಚ್ಚು ಉತ್ತಮವಾದದ್ದನ್ನು ಕಂಡುಬಂದಿದೆ'; + + @override + String get deleteAccountReasonTechnicalIssues => 'ತಾಂತ್ರಿಕ ಸಮಸ್ಯೆಗಳು'; + + @override + String get deleteAccountReasonEaseOfUse => 'ಬಳಕೆದಾರ ಅನುಭವದ ಸಮಸ್ಯೆಗಳು'; + + @override + String get deleteAccountReasonMissingFeatures => 'ವಿಶೇಷಣಗಳ ಕೊರತೆಯಾಗಿದೆ'; + + @override + String get deleteAccountReasonPrivacy => 'ಗೋಪ್ಯತೆಯ ಬಗ್ಗೆ ಚಿಂತೆ'; + + @override + String get deleteAccountReasonClearData => + 'ನಾನು ನನ್ನ ಡೇಟಾವನ್ನು ಕ್ಲಿಯರ್ ಮಾಡಲು ಬಯಸುತ್ತೆನೆ'; + + @override + String get deleteAccountReasonOther => 'ಇತರ'; + + @override + String get deleteAccountFeedbackHint => 'ನಿಮ್ಮ ಪ್ರತಿಕ್ರಿಯೆ ಹಂಚಿಕೊಳ್ಳಿ'; + + @override + String get deleteAccountProgressMessage => 'ನಿಮ್ಮ ಖಾತೆ ಅಳಿಸುತ್ತಿದ್ದೇವೆ...'; + + @override + String get deleteAccountDeletingButton => 'ಅಳಿಸುತ್ತಿದೆ'; + + @override + String get deleteAccountUndoButton => 'ಮರುಗೊಳ್ಳಿ'; + + @override + String get deleteAccountSuccessToast => 'ನಿಮ್ಮ ಖಾತೆ ಅಳಿಸಲಾಗಿದೆ.'; + + @override + String get deleteAccountErrorToast => + 'ಖಾತೆ ಅಳಿಸಲು ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.'; + + @override + String get emailClientUnavailableToast => + 'ಈ ಸಾಧನದಲ್ಲಿ ಯಾವುದೇ ಇಮೇಲ್ ಅಪ್ಲಿಕೇಶನ್ ಲಭ್ಯವಿಲ್ಲ. ದಯವಿಟ್ಟು support@doctorina.com ಗೆ ಕೈಯಿಂದ ಸಂಪರ್ಕಿಸಿ.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_ko.dart b/example/lib/src/generated/settings/settings_localization_ko.dart index 91133a2..5f9b966 100644 --- a/example/lib/src/generated/settings/settings_localization_ko.dart +++ b/example/lib/src/generated/settings/settings_localization_ko.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,17 +10,14 @@ import 'settings_localization.dart'; class SettingsLocalizationKo extends SettingsLocalization { SettingsLocalizationKo([String locale = 'ko']) : super(locale); - @override - String get title => '계정 설정'; - @override String get sectionClearAllChatsTitle => '모든 채팅 지우기'; @override - String get sectionClearAllChatsSubtitle => '이렇게 하면 채팅 기록이 영구적으로 삭제됩니다.'; + String get sectionClearAllChatsSubtitle => '채팅 기록이 영구적으로 삭제됩니다.'; @override - String get sectionClearAllChatsButton => '모든 채팅 지우기'; + String get sectionClearAllChatsButton => '모든 채팅 삭제'; @override String get sectionClearAllChatsEmailTheme => '모든 채팅 지우기'; @@ -29,7 +26,8 @@ class SettingsLocalizationKo extends SettingsLocalization { String get sectionDeleteAccountTitle => '계정 삭제'; @override - String get sectionDeleteAccountSubtitle => '계정 삭제는 영구적인 작업이며 취소할 수 없습니다.'; + String get sectionDeleteAccountSubtitle => + '계정을 삭제하는 것은 영구적인 조치이며 취소할 수 없습니다.'; @override String get sectionDeleteAccountButton => '삭제'; @@ -41,39 +39,45 @@ class SettingsLocalizationKo extends SettingsLocalization { String get sectionLogOutTitle => '로그아웃'; @override - String get sectionLogOutSubtitle => '귀하의 계정에서 로그아웃됩니다.'; + String get sectionLogOutSubtitle => '계정에서 로그아웃됩니다.'; @override String get sectionLogOutButton => '로그아웃'; @override - String get sendBugReportButton => '버그 리포트 보내기'; + String get sendBugReportButton => '버그 신고 보내기'; + + @override + String get sectionSendMessageWithEnterTitle => '[⏎ Enter]로 메시지 전송'; + + @override + String get sectionSendMessageWithEnterSubtitle => + '메시지를 보내려면 [⏎ Enter]를 사용하고, 새 줄을 만들려면 [Shift] + [⏎ Enter]를 사용하세요'; @override - String get sectionSendMessageWithShiftEnterTitle => '[⏎ Enter]로 메시지를 보내세요'; + String get sectionSendMessageEnter => '전송 [⏎ Enter]'; @override - String get sectionSendMessageWithShiftEnterSubtitle => - '[⏎ Enter]로 메시지를 보내고 [Shift] + [⏎ Enter]로 새 줄을 보냅니다.'; + String get sectionPrivacyPolicy => '개인정보 보호정책'; @override String get sectionSelectLocaleTitle => '언어'; @override - String get sectionSelectLocaleSubtitle => '앱 인터페이스에 대한 기본 언어를 선택하세요'; + String get sectionSelectLocaleSubtitle => '앱 인터페이스에 사용할 선호하는 언어를 선택하세요'; @override String get sectionSwitchThemeTitle => '다크 모드'; @override String get sectionSwitchThemeSubtitle => - '어두운 곳에서도 편안한 시청 환경을 위해 다크 모드를 활성화하세요.'; + '어두운 환경에서 편안한 시청 경험을 위해 다크 모드를 활성화하세요'; @override String get sectionLogsTitle => '로그'; @override - String get sectionLogsSubtitle => '디버깅을 위한 애플리케이션 로그 보기 및 관리'; + String get sectionLogsSubtitle => '디버깅을 위해 애플리케이션 로그 보기 및 관리'; @override String get doneButton => '완료'; @@ -82,23 +86,162 @@ class SettingsLocalizationKo extends SettingsLocalization { String get bugReportDialogTitle => '버그 리포트'; @override - String get bugReportDialogHintText => '발생한 버그를 설명해 주세요.'; + String get bugReportDialogHintText => '발생한 버그를 설명해 주세요'; @override String get attachFilesButtonTooltip => '파일 첨부'; @override - String get filePickerError => '파일을 선택하지 못했습니다'; + String get filePickerError => '파일 선택에 실패했습니다'; @override String get emptyBugReportError => '먼저 버그 리포트를 입력하세요'; @override - String get failedToSendBugReportError => '버그 보고서를 보내지 못했습니다.'; + String get failedToSendBugReportError => '버그 보고서를 보내지 못했습니다'; @override String get sectionManageSubscriptionTitle => '구독 관리'; @override String get sectionManageSubscriptionSubtitle => '구독 설정 관리'; + + @override + String get sectionHapticFeedbackTitle => '촉각 피드백'; + + @override + String get sectionHapticFeedbackSubtitle => + '지원되는 기기에서 햅틱 피드백(진동)을 활성화하거나 비활성화합니다'; + + @override + String get sectionNotificationTitle => '알림 켜기'; + + @override + String get sectionNotificationSubtitle => + 'Doctorina가 채팅, 보고서 또는 증상에서 중요한 내용을 찾을 때 업데이트를 받으세요'; + + @override + String get sectionAccountTitle => '계정'; + + @override + String get sectionAppTitle => '앱'; + + @override + String get sectionAboutTitle => '정보'; + + @override + String get sectionNotificationsTitle => '알림'; + + @override + String get sectionVideoTutorialsTitle => '비디오 튜토리얼'; + + @override + String get accountPhoneLabel => '전화'; + + @override + String get accountEmailLabel => '이메일'; + + @override + String get accountNameLabel => '이름'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '기존 파일과 중복으로 인해 $count 파일이 건너뛰었습니다'; + } + + @override + String get bugReportTypeSectionLabel => '유형'; + + @override + String get bugReportDescriptionSectionLabel => '설명'; + + @override + String get bugReportAttachmentsSectionLabel => '첨부파일'; + + @override + String get bugReportTypeBug => '버그'; + + @override + String get bugReportTypeCrash => '충돌'; + + @override + String get bugReportTypeUiIssue => 'UI 문제'; + + @override + String get bugReportTypeOther => '기타'; + + @override + String get deleteAccountWarningMessage => + '계정을 삭제하면 Doctorina에서 데이터가 영구적으로 제거됩니다.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => '삭제하기 전에'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return '현재 $store를 통해 활성 구독이 있습니다. 계정을 삭제해도 구독이 취소되지 않습니다.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store에서 구독 취소'; + } + + @override + String get deleteAccountContinueButton => '계속'; + + @override + String get deleteAccountFormDescription => + '안녕히 가세요. 정말로 계정을 삭제하시겠습니까? 확인하시면 데이터가 사라집니다.'; + + @override + String get deleteAccountReasonDontUseAnymore => '더 이상 앱을 사용하지 않습니다'; + + @override + String get deleteAccountReasonFoundBetter => '더 나은 것을 찾았습니다'; + + @override + String get deleteAccountReasonTechnicalIssues => '기술적 문제'; + + @override + String get deleteAccountReasonEaseOfUse => '사용의 용이성 문제'; + + @override + String get deleteAccountReasonMissingFeatures => '기능 부족'; + + @override + String get deleteAccountReasonPrivacy => '프라이버시 문제'; + + @override + String get deleteAccountReasonClearData => '그냥 내 데이터를 지우고 싶었어요'; + + @override + String get deleteAccountReasonOther => '기타'; + + @override + String get deleteAccountFeedbackHint => '피드백을 공유하세요'; + + @override + String get deleteAccountProgressMessage => '계정을 삭제하는 중...'; + + @override + String get deleteAccountDeletingButton => '삭제 중'; + + @override + String get deleteAccountUndoButton => '실행 취소'; + + @override + String get deleteAccountSuccessToast => '귀하의 계정이 삭제되었습니다.'; + + @override + String get deleteAccountErrorToast => '계정을 삭제하지 못했습니다. 다시 시도해 주세요.'; + + @override + String get emailClientUnavailableToast => + '이 장치에서 이메일 앱을 사용할 수 없습니다. support@doctorina.com으로 수동으로 연락해 주십시오.'; } diff --git a/example/lib/src/generated/settings/settings_localization_lo.dart b/example/lib/src/generated/settings/settings_localization_lo.dart new file mode 100644 index 0000000..e8a4778 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_lo.dart @@ -0,0 +1,252 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Lao (`lo`). +class SettingsLocalizationLo extends SettingsLocalization { + SettingsLocalizationLo([String locale = 'lo']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'ລົບທັງໝົດສົນທະນາ'; + + @override + String get sectionClearAllChatsSubtitle => + 'ນີ້ຈະລົບປະຫວັດສົນທະນາຂອງທ່ານຢ່າງຖານທີ.'; + + @override + String get sectionClearAllChatsButton => 'ລົບທັງໝົດສົນທະນາ'; + + @override + String get sectionClearAllChatsEmailTheme => 'Clear All Chats'; + + @override + String get sectionDeleteAccountTitle => 'ລົບບັດບັດ'; + + @override + String get sectionDeleteAccountSubtitle => + 'ການລົບບັດທີ່ບັນທຶກຂອງທ່ານແມ່ນການດຳເນີນງານທີ່ຖານທີ່ບັນທຶກບໍ່ສາມາດກັບຄືນໄດ້.'; + + @override + String get sectionDeleteAccountButton => 'ລົບ'; + + @override + String get sectionDeleteAccountTheme => 'ລົບບັດທີ່ບັນທຶກ'; + + @override + String get sectionLogOutTitle => 'ອອກ'; + + @override + String get sectionLogOutSubtitle => 'ທ່ານຈະຖອນອອກຈາກບັນຊີຂອງທ່ານ.'; + + @override + String get sectionLogOutButton => 'ອອກ'; + + @override + String get sendBugReportButton => 'Send Bug Report'; + + @override + String get sectionSendMessageWithEnterTitle => 'ສົ່ງຂໍໍ່ດ້ວຍ [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'ສົ່ງຂໍໍ່ດ້ວຍ [⏎ Enter] ແລະບັນທຶກໃໝ່ດ້ວຍ [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'ສົ່ງດ໧ວດດໍາດັບ [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'ນโยบายຄວາมລັບ'; + + @override + String get sectionSelectLocaleTitle => 'ພາສາ'; + + @override + String get sectionSelectLocaleSubtitle => + 'ເລືອກພາສາທີ່ທ່ານຕ້ອງການສໍາລັບສະຖານທີ່ຂອງແອັບ'; + + @override + String get sectionSwitchThemeTitle => 'ລະບົບສີດຳ'; + + @override + String get sectionSwitchThemeSubtitle => + 'ເປີດແບບສີດຳເພື່ອປະສົບປະກອບທີ່ສະດວກໃນແສງສີດຳ'; + + @override + String get sectionLogsTitle => 'Logs'; + + @override + String get sectionLogsSubtitle => 'ເບິ່ງແລະຈັດການລອກສໍາລັບການແກ້ໄຂ'; + + @override + String get doneButton => 'ສຳເລັດ'; + + @override + String get bugReportDialogTitle => 'ລາຍງານບັກ'; + + @override + String get bugReportDialogHintText => 'ກະລຸນາອະທິບາຍບັດທີ່ເຈົ້າເຫັນ'; + + @override + String get attachFilesButtonTooltip => 'Sambat files'; + + @override + String get filePickerError => 'ລົ້ມເລີ່ມໃນການເລືອກໄຟລ໌'; + + @override + String get emptyBugReportError => + 'Por favor, введіть спочатку звіт про помилку'; + + @override + String get failedToSendBugReportError => 'ບໍ່ສາມາດສົ່ງລາຍງານບັກ'; + + @override + String get sectionManageSubscriptionTitle => 'Manage subscription'; + + @override + String get sectionManageSubscriptionSubtitle => 'ຈັດການການຕັ້ງຄ່າສະມາຊິກ'; + + @override + String get sectionHapticFeedbackTitle => 'Haptic Feedback'; + + @override + String get sectionHapticFeedbackSubtitle => + 'ເປີດໃຊ້ງານ ຫຼື ປະຕິເສດ ການຕອບຮອງຮູບແບບ (vibration) ໃນອຸປະກອນທີ່ຮອງຮັບ'; + + @override + String get sectionNotificationTitle => 'ເປີດການແຈ້ງເຕືອນ'; + + @override + String get sectionNotificationSubtitle => + 'ຢູ່ໃນສະຖານທີ່ສົມບູນໃນເວລາທີ່ Doctorina ພົບສິ່ງສຳຄັນໃນສົນທະນາ, ລາຍງານ ຫຼື ອາການຂອງທ່ານ.'; + + @override + String get sectionAccountTitle => 'ບັດຊະບັດ'; + + @override + String get sectionAppTitle => 'ແອບ'; + + @override + String get sectionAboutTitle => 'ກ່ຽວກັບ'; + + @override + String get sectionNotificationsTitle => 'ການແຈ້ງເຕືອນ'; + + @override + String get sectionVideoTutorialsTitle => 'ວິດີໂອສອນ'; + + @override + String get accountPhoneLabel => 'ໂທະລະສັບ'; + + @override + String get accountEmailLabel => 'ອີເມວ'; + + @override + String get accountNameLabel => 'ຊື່'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'ບໍ່ເລີ່ມການສົ່ງສະແດງ $count ຟາຍເພາະມີການສົ່ງສະແດງດຽວກັນກັບຟາຍທີ່ມີຢູ່'; + } + + @override + String get bugReportTypeSectionLabel => 'ປະເພດ'; + + @override + String get bugReportDescriptionSectionLabel => 'ລາຍລະອຽດ'; + + @override + String get bugReportAttachmentsSectionLabel => 'ແນບເອກະສານ'; + + @override + String get bugReportTypeBug => 'ບັກ'; + + @override + String get bugReportTypeCrash => 'ການລົບລູກ'; + + @override + String get bugReportTypeUiIssue => 'ບັກລົງປະກອບສິ່ງທີ່ສົມບູນ'; + + @override + String get bugReportTypeOther => 'ອື່ນ'; + + @override + String get deleteAccountWarningMessage => + 'ການລົບບັດທະບຽນຂອງທ່ານຈະລົບຂໍໍ່ຂອງທ່ານອອກຈາກ Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'ກ່ຽວກັບການລົບ'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'ທ່ານມີການສະໜັກສຽງທີ່ກະຕຸ້ນຜ່ານ $store. ການລົບບັນຊີຂອງທ່ານຈະບໍ່ຍົກເລີກມັນ.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'ຍົກເລີກການສະໜັກໃນ $store'; + } + + @override + String get deleteAccountContinueButton => 'ດຳເນີນຕໍ່'; + + @override + String get deleteAccountFormDescription => + 'ຂໍອະໄພ ສໍາລັບການອອກ ຈາກບັນຊີຂອງເຈົ້າ. ເຈົ້າແນ່ໃຈບໍ່ວ່າຈະລົບບັນຊີຂອງເຈົ້າບໍ່? ເມື່ອເຈົ້າຢືນຢັນ, ຂໍໍ່ອງຂໍໍ່ຈະສູນເສຍ.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'ຂໍໍ່ອນບັດ: ບໍ່ໃຊ້ແອບເອັບແລ້ວ'; + + @override + String get deleteAccountReasonFoundBetter => 'ພວກເຂົ້າໃຈວ່າພົບສິນຄ້າດີກວ່າ'; + + @override + String get deleteAccountReasonTechnicalIssues => 'ບັດສະບັດທາງເທັກນິກ'; + + @override + String get deleteAccountReasonEaseOfUse => 'ບັນຫາການໃຊ້ງານ'; + + @override + String get deleteAccountReasonMissingFeatures => 'ບໍ່ມີຄຸນລັກສະນະ'; + + @override + String get deleteAccountReasonPrivacy => 'ຄວາມກົດກັນໃນຄວາມສໍາຄັນ'; + + @override + String get deleteAccountReasonClearData => 'ຂ້ອຍພຽງແຕ່ຢາກລຶບຂໍ້ມູນຂອງຂ້ອຍ'; + + @override + String get deleteAccountReasonOther => 'ອື່ນ'; + + @override + String get deleteAccountFeedbackHint => 'ແບ່ງປັນຄວາมຄິດເຫັນຂອງທ່ານ'; + + @override + String get deleteAccountProgressMessage => 'ກຳລັງລົບບັດທະບຽນຂອງທ່ານ...'; + + @override + String get deleteAccountDeletingButton => 'ກຳລັງລົບ'; + + @override + String get deleteAccountUndoButton => 'ກັບຄືນ'; + + @override + String get deleteAccountSuccessToast => 'ບັນຊີຂອງທ່ານໄດ້ຖອນອອກແລ້ວ.'; + + @override + String get deleteAccountErrorToast => + 'ບໍ່ສາມາດລົບບັດທີ່ບັນທຶກ. ກະລຸນາລອງໃໝ່.'; + + @override + String get emailClientUnavailableToast => + 'ບໍ່ມີແອບອີເມວໃນເຄື່ອງນີ້. ກະລຸນາຕິດຕໍ່ support@doctorina.com ດ້ວຍມື.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_ml.dart b/example/lib/src/generated/settings/settings_localization_ml.dart new file mode 100644 index 0000000..3a78bde --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_ml.dart @@ -0,0 +1,262 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malayalam (`ml`). +class SettingsLocalizationMl extends SettingsLocalization { + SettingsLocalizationMl([String locale = 'ml']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'എല്ലാ ചാറ്റുകളും ക്ലിയർ ചെയ്യുക'; + + @override + String get sectionClearAllChatsSubtitle => + 'ഇത് നിങ്ങളുടെ ചാറ്റ് ചരിത്രം സ്ഥിരമായി ഇല്ലാതാക്കും.'; + + @override + String get sectionClearAllChatsButton => 'എല്ലാ ചാറ്റുകളും ക്ലിയർ ചെയ്യുക'; + + @override + String get sectionClearAllChatsEmailTheme => + 'എല്ലാ ചാറ്റുകളും ക്ലിയർ ചെയ്യുക'; + + @override + String get sectionDeleteAccountTitle => 'അക്കൗണ്ട് നീക്കം ചെയ്യുക'; + + @override + String get sectionDeleteAccountSubtitle => + 'നിങ്ങളുടെ അക്കൗണ്ട് നീക്കം ചെയ്യുന്നത് ഒരു സ്ഥിരമായ പ്രവർത്തനമാണ്, ഇത് തിരികെ എടുക്കാൻ കഴിയില്ല.'; + + @override + String get sectionDeleteAccountButton => 'മാറ്റി'; + + @override + String get sectionDeleteAccountTheme => 'അക്കൗണ്ട് നീക്കം ചെയ്യുക'; + + @override + String get sectionLogOutTitle => 'സൈൻ ഔട്ട്'; + + @override + String get sectionLogOutSubtitle => + 'നിങ്ങൾ നിങ്ങളുടെ അക്കൗണ്ടിൽ നിന്ന് സൈൻ ഔട്ട് ആകും.'; + + @override + String get sectionLogOutButton => 'സൈൻ ഔട്ട്'; + + @override + String get sendBugReportButton => 'ബഗ് റിപ്പോർട്ട് അയയ്ക്കുക'; + + @override + String get sectionSendMessageWithEnterTitle => + 'സന്ദേശം അയക്കുക [⏎ Enter] ഉപയോഗിച്ച്'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'സന്ദേശം അയക്കാൻ [⏎ Enter] ഉപയോഗിക്കുക, പുതിയ വരി [Shift] + [⏎ Enter] ഉപയോഗിച്ച്'; + + @override + String get sectionSendMessageEnter => '[⏎ Enter] ഉപയോഗിച്ച് അയക്കുക'; + + @override + String get sectionPrivacyPolicy => 'ഗോപ്പനീയത നയം'; + + @override + String get sectionSelectLocaleTitle => 'ഭാഷ'; + + @override + String get sectionSelectLocaleSubtitle => + 'ആപ്പിന്റെ ഇന്റർഫേസിന് നിങ്ങളുടെ ഇഷ്ടഭാഷ തിരഞ്ഞെടുക്കുക'; + + @override + String get sectionSwitchThemeTitle => 'കറുത്ത മോഡ്'; + + @override + String get sectionSwitchThemeSubtitle => + 'കുറഞ്ഞ വെളിച്ചത്തിൽ സുഖകരമായ കാഴ്ചക്കായി ഇരുണ്ട മോഡ് സജീവമാക്കുക'; + + @override + String get sectionLogsTitle => 'ലോഗുകൾ'; + + @override + String get sectionLogsSubtitle => + 'ഡിബഗ് ചെയ്യുന്നതിനായി ആപ്ലിക്കേഷൻ ലോഗുകൾ കാണുക ಮತ್ತು കൈകാര്യം ചെയ്യുക'; + + @override + String get doneButton => 'ചെയ്തു'; + + @override + String get bugReportDialogTitle => 'ബഗ് റിപ്പോർട്ട്'; + + @override + String get bugReportDialogHintText => + 'ദയവായി നിങ്ങൾ നേരിടുന്ന പിശക് വിവരിക്കുക'; + + @override + String get attachFilesButtonTooltip => 'ഫയലുകൾ ചേർക്കുക'; + + @override + String get filePickerError => 'ഫയലുകൾ തിരഞ്ഞെടുക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String get emptyBugReportError => 'ദയവായി ആദ്യം ഒരു ബഗ് റിപ്പോർട്ട് നൽകുക'; + + @override + String get failedToSendBugReportError => + 'ബഗ് റിപ്പോർട്ട് അയയ്ക്കാൻ പരാജയപ്പെട്ടു'; + + @override + String get sectionManageSubscriptionTitle => 'സബ്സ്ക്രിപ്ഷൻ കൈകാര്യം ചെയ്യുക'; + + @override + String get sectionManageSubscriptionSubtitle => + 'നിങ്ങളുടെ സബ്സ്ക്രിപ്ഷൻ ക്രമീകരണങ്ങൾ കൈകാര്യം ചെയ്യുക'; + + @override + String get sectionHapticFeedbackTitle => 'Haptic Feedback'; + + @override + String get sectionHapticFeedbackSubtitle => + 'സഹായിക്കുന്ന ഉപകരണങ്ങളിൽ ഹാപ്റ്റിക് ഫീഡ്ബാക്ക് (കമ്പനം) സജീവമാക്കുക അല്ലെങ്കിൽ നിർത്തുക'; + + @override + String get sectionNotificationTitle => 'അറിയിപ്പുകൾ ഓണാക്കുക'; + + @override + String get sectionNotificationSubtitle => + 'ഡോക്ടറിന നിങ്ങളുടെ ചാറ്റുകൾ, റിപ്പോർട്ടുകൾ, അല്ലെങ്കിൽ ലക്ഷണങ്ങളിൽ എന്തെങ്കിലും പ്രധാനപ്പെട്ടത് കണ്ടെത്തുമ്പോൾ അപ്ഡേറ്റ് ആയിരിക്കുക.'; + + @override + String get sectionAccountTitle => 'Account'; + + @override + String get sectionAppTitle => 'ആപ്പ്'; + + @override + String get sectionAboutTitle => 'കുറിച്ച്'; + + @override + String get sectionNotificationsTitle => 'അറിയിപ്പുകൾ'; + + @override + String get sectionVideoTutorialsTitle => 'വീഡിയോ ട്യൂട്ടോറിയലുകൾ'; + + @override + String get accountPhoneLabel => 'ഫോൺ'; + + @override + String get accountEmailLabel => 'ഇമെയിൽ'; + + @override + String get accountNameLabel => 'പേര്'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '$count ഫയലുകൾ നിലവിലുള്ള ഫയലുകളുമായി പുനരാവൃതമായതിനാൽ ഒഴിവാക്കി'; + } + + @override + String get bugReportTypeSectionLabel => 'തരം'; + + @override + String get bugReportDescriptionSectionLabel => 'വിവരണം'; + + @override + String get bugReportAttachmentsSectionLabel => 'അറ്റാച്ച്മെന്റുകൾ'; + + @override + String get bugReportTypeBug => 'ബഗ്'; + + @override + String get bugReportTypeCrash => 'ക്രാഷ്'; + + @override + String get bugReportTypeUiIssue => 'യൂഐ പ്രശ്നം'; + + @override + String get bugReportTypeOther => 'മറ്റു'; + + @override + String get deleteAccountWarningMessage => + 'നിങ്ങളുടെ അക്കൗണ്ട് ഇല്ലാതാക്കുന്നത് ഡോക്ടറിനയിൽ നിന്നുള്ള നിങ്ങളുടെ ഡാറ്റ സ്ഥിരമായി നീക്കം ചെയ്യും.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => + 'നിങ്ങൾ ഇല്ലാതാക്കുന്നതിന് മുമ്പ്'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return '$store വഴി നിങ്ങൾക്ക് ഒരു സബ്സ്ക്രിപ്ഷൻ സജീവമാണ്. നിങ്ങളുടെ അക്കൗണ്ട് ഇല്ലാതാക്കുന്നത് അത് റദ്ദാക്കുകയില്ല.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store ൽ സബ്സ്ക്രിപ്ഷൻ റദ്ദാക്കുക'; + } + + @override + String get deleteAccountContinueButton => 'തുടരുക'; + + @override + String get deleteAccountFormDescription => + 'നിങ്ങളെ പോകുന്നത് കാണാൻ ഞങ്ങൾ ദുഖിതരാണ്. നിങ്ങൾ നിങ്ങളുടെ അക്കൗണ്ട് ഇല്ലാതാക്കാൻ ഉറപ്പാണോ? നിങ്ങൾ സ്ഥിരീകരിച്ചാൽ, നിങ്ങളുടെ ഡാറ്റ ഇല്ലാതാകും.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'ഞാൻ ആപ്പ് ഇനി ഉപയോഗിക്കുന്നില്ല'; + + @override + String get deleteAccountReasonFoundBetter => 'മികച്ചതൊന്നാണ് കണ്ടെത്തിയത്'; + + @override + String get deleteAccountReasonTechnicalIssues => + 'താങ്കളുടെ അക്കൗണ്ട് നീക്കം ചെയ്യാനുള്ള കാരണം: സാങ്കേതിക പ്രശ്നങ്ങൾ'; + + @override + String get deleteAccountReasonEaseOfUse => 'ഉപയോഗത്തിലെ പ്രശ്നങ്ങൾ'; + + @override + String get deleteAccountReasonMissingFeatures => 'സവിശേഷതകളുടെ കുറവ്'; + + @override + String get deleteAccountReasonPrivacy => 'സ്വകാര്യത സംബന്ധമായ ആശങ്കകൾ'; + + @override + String get deleteAccountReasonClearData => + 'ഞാൻ എന്റെ ഡാറ്റ മാത്രം ക്ലിയർ ചെയ്യാൻ ആഗ്രഹിച്ചിരുന്നു'; + + @override + String get deleteAccountReasonOther => 'മറ്റത്'; + + @override + String get deleteAccountFeedbackHint => 'നിങ്ങളുടെ ഫീഡ്ബാക്ക് പങ്കിടുക'; + + @override + String get deleteAccountProgressMessage => + 'നിങ്ങളുടെ അക്കൗണ്ട് നീക്കം ചെയ്യുന്നു...'; + + @override + String get deleteAccountDeletingButton => 'മാറ്റുന്നു'; + + @override + String get deleteAccountUndoButton => 'തിരിച്ചെടുക്കുക'; + + @override + String get deleteAccountSuccessToast => 'നിങ്ങളുടെ അക്കൗണ്ട് ഇല്ലാതാക്കി.'; + + @override + String get deleteAccountErrorToast => + 'അക്കൗണ്ട് ഇല്ലാതാക്കാൻ പരാജയപ്പെട്ടു. ദയവായി വീണ്ടും ശ്രമിക്കുക.'; + + @override + String get emailClientUnavailableToast => + 'ഈ ഉപകരണത്തിൽ ഇമെയിൽ ആപ്പ് ലഭ്യമല്ല. ദയവായി support@doctorina.com എന്ന വിലാസത്തിൽ കൈമാറുക.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_mr.dart b/example/lib/src/generated/settings/settings_localization_mr.dart new file mode 100644 index 0000000..cbddc91 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_mr.dart @@ -0,0 +1,253 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Marathi (`mr`). +class SettingsLocalizationMr extends SettingsLocalization { + SettingsLocalizationMr([String locale = 'mr']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'सर्व चॅट काढून टाका'; + + @override + String get sectionClearAllChatsSubtitle => + 'हे आपला चॅट इतिहास कायमस्वरूपी हटवेल.'; + + @override + String get sectionClearAllChatsButton => 'सर्व चॅट साफ करा'; + + @override + String get sectionClearAllChatsEmailTheme => 'सर्व चॅट्स साफ करा'; + + @override + String get sectionDeleteAccountTitle => 'खाते हटवा'; + + @override + String get sectionDeleteAccountSubtitle => + 'तुमचे खाते हटविणे ही कायमची क्रिया आहे आणि ती पूर्ववत केली जाऊ शकत नाही.'; + + @override + String get sectionDeleteAccountButton => 'हटवा'; + + @override + String get sectionDeleteAccountTheme => 'खाता हटवा'; + + @override + String get sectionLogOutTitle => 'बाहेर पडा'; + + @override + String get sectionLogOutSubtitle => 'तुमच्या खात्यातून लॉगआउट केले जाईल.'; + + @override + String get sectionLogOutButton => 'साइन आउट'; + + @override + String get sendBugReportButton => 'बग अहवाल पाठवा'; + + @override + String get sectionSendMessageWithEnterTitle => '[⏎ Enter] वापरून संदेश पाठवा'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'संदेश पाठवण्यासाठी [⏎ Enter] वापरा आणि नवीन ओळ तयार करण्यासाठी [Shift] + [⏎ Enter] वापरा'; + + @override + String get sectionSendMessageEnter => 'संदेश पाठवा [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'गोपनीयता धोरण'; + + @override + String get sectionSelectLocaleTitle => 'भाषा'; + + @override + String get sectionSelectLocaleSubtitle => + 'अ‍ॅप इंटरफेससाठी आपली पसंतीची भाषा निवडा'; + + @override + String get sectionSwitchThemeTitle => 'डार्क मोड'; + + @override + String get sectionSwitchThemeSubtitle => + 'कमी प्रकाशात आरामदायक दृष्टी अनुभवासाठी डार्क मोड सक्षम करा'; + + @override + String get sectionLogsTitle => 'नोंदी'; + + @override + String get sectionLogsSubtitle => + 'डिबगिंगसाठी अ‍ॅप्लिकेशन लॉग्स पहा आणि व्यवस्थापित करा'; + + @override + String get doneButton => 'संपले'; + + @override + String get bugReportDialogTitle => 'त्रुटी अहवाल'; + + @override + String get bugReportDialogHintText => 'कृपया तुम्ही अनुभवलेला बग वर्णन करा'; + + @override + String get attachFilesButtonTooltip => 'फाइल जोडणे'; + + @override + String get filePickerError => 'फाइल निवडण्यात अयशस्वी'; + + @override + String get emptyBugReportError => 'कृपया प्रथम बग रिपोर्ट प्रविष्ट करा'; + + @override + String get failedToSendBugReportError => 'बग रिपोर्ट पाठवण्यात अयशस्वी'; + + @override + String get sectionManageSubscriptionTitle => 'सदस्यता व्यवस्थापित करा'; + + @override + String get sectionManageSubscriptionSubtitle => + 'आपल्या सदस्यता सेटिंग्ज व्यवस्थापित करा'; + + @override + String get sectionHapticFeedbackTitle => 'हॅप्टिक फीडबॅक'; + + @override + String get sectionHapticFeedbackSubtitle => + 'समर्थन करणाऱ्या उपकरणांवर हॅप्टिक फीडबॅक (कंपन) सक्षम किंवा अक्षम करा'; + + @override + String get sectionNotificationTitle => 'सूचनाएं चालू करा'; + + @override + String get sectionNotificationSubtitle => + 'डॉक्टरिना तुमच्या चॅट्स, अहवाल किंवा लक्षणांमध्ये काही महत्त्वाचे सापडले की अद्ययावत रहा'; + + @override + String get sectionAccountTitle => 'खाते'; + + @override + String get sectionAppTitle => 'अॅप'; + + @override + String get sectionAboutTitle => 'बद्दल'; + + @override + String get sectionNotificationsTitle => 'सूचनाएँ'; + + @override + String get sectionVideoTutorialsTitle => 'व्हिडिओ ट्यूटोरियल'; + + @override + String get accountPhoneLabel => 'फोन'; + + @override + String get accountEmailLabel => 'ईमेल'; + + @override + String get accountNameLabel => 'नाव'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '$count फाइल्स विद्यमान फाइल्ससह डुप्लिकेट असल्यामुळे वगळल्या'; + } + + @override + String get bugReportTypeSectionLabel => 'प्रकार'; + + @override + String get bugReportDescriptionSectionLabel => 'विवरण'; + + @override + String get bugReportAttachmentsSectionLabel => 'संलग्नक'; + + @override + String get bugReportTypeBug => 'बग'; + + @override + String get bugReportTypeCrash => 'क्रॅश'; + + @override + String get bugReportTypeUiIssue => 'यूआय समस्या'; + + @override + String get bugReportTypeOther => 'इतर'; + + @override + String get deleteAccountWarningMessage => + 'तुमचा खाता हटवल्यास तुमचे डेटा Doctorina वरून कायमचा हटविला जाईल'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'तुम्ही हटवण्यापूर्वी'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'तुमच्याकडे $store द्वारे सक्रिय सदस्यता आहे. तुमचा खाता हटवल्याने ती रद्द होणार नाही.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store मध्ये सदस्यता रद्द करा'; + } + + @override + String get deleteAccountContinueButton => 'सुरू ठेवा'; + + @override + String get deleteAccountFormDescription => + 'आम्हाला तुमचे जाणे दु:खद आहे. तुम्हाला तुमचा खाता हटवायचा आहे का? एकदा तुम्ही पुष्टी केली की, तुमचे डेटा गायब होईल.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'मी अॅप वापरत नाही'; + + @override + String get deleteAccountReasonFoundBetter => 'काहीतरी चांगले सापडले'; + + @override + String get deleteAccountReasonTechnicalIssues => 'तांत्रिक समस्या'; + + @override + String get deleteAccountReasonEaseOfUse => 'सहजतेच्या समस्यां'; + + @override + String get deleteAccountReasonMissingFeatures => 'वैशिष्ट्यांची कमतरता'; + + @override + String get deleteAccountReasonPrivacy => 'गोपनीयतेची चिंता'; + + @override + String get deleteAccountReasonClearData => + 'मी फक्त माझे डेटा साफ करू इच्छित होतो'; + + @override + String get deleteAccountReasonOther => 'इतर'; + + @override + String get deleteAccountFeedbackHint => 'आपला अभिप्राय द्या'; + + @override + String get deleteAccountProgressMessage => 'तुमचा खाता हटविला जात आहे...'; + + @override + String get deleteAccountDeletingButton => 'हटवित आहे'; + + @override + String get deleteAccountUndoButton => 'पूर्ववत'; + + @override + String get deleteAccountSuccessToast => 'तुमचा खाता हटविला गेला आहे.'; + + @override + String get deleteAccountErrorToast => + 'खाते हटवण्यात अयशस्वी. कृपया पुन्हा प्रयत्न करा.'; + + @override + String get emailClientUnavailableToast => + 'या डिव्हाइसवर ई-मेल अॅप उपलब्ध नाही. कृपया support@doctorina.com वर manually संपर्क करा.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_ms.dart b/example/lib/src/generated/settings/settings_localization_ms.dart new file mode 100644 index 0000000..b7c87c5 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_ms.dart @@ -0,0 +1,255 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malay (`ms`). +class SettingsLocalizationMs extends SettingsLocalization { + SettingsLocalizationMs([String locale = 'ms']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Bersihkan Semua Perbualan'; + + @override + String get sectionClearAllChatsSubtitle => + 'Ini akan memadamkan sejarah sembang anda secara kekal.'; + + @override + String get sectionClearAllChatsButton => 'Bersihkan Semua Perbualan'; + + @override + String get sectionClearAllChatsEmailTheme => 'Bersihkan Semua Perbualan'; + + @override + String get sectionDeleteAccountTitle => 'Padam Akaun'; + + @override + String get sectionDeleteAccountSubtitle => + 'Menghapus akaun anda adalah tindakan kekal dan tidak boleh dibatalkan.'; + + @override + String get sectionDeleteAccountButton => 'Padam'; + + @override + String get sectionDeleteAccountTheme => 'Padam Akaun'; + + @override + String get sectionLogOutTitle => 'Log Keluar'; + + @override + String get sectionLogOutSubtitle => 'Anda akan keluar dari akaun anda.'; + + @override + String get sectionLogOutButton => 'Log Keluar'; + + @override + String get sendBugReportButton => 'Hantar Laporan Bug'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Hantar mesej dengan [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Hantar mesej dengan [⏎ Enter] dan baris baru dengan [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Hantar dengan [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Dasar Privasi'; + + @override + String get sectionSelectLocaleTitle => 'Bahasa'; + + @override + String get sectionSelectLocaleSubtitle => + 'Pilih bahasa pilihan anda untuk antara muka aplikasi'; + + @override + String get sectionSwitchThemeTitle => 'Mod gelap'; + + @override + String get sectionSwitchThemeSubtitle => + 'Aktifkan mod gelap untuk pengalaman tontonan yang selesa dalam cahaya rendah'; + + @override + String get sectionLogsTitle => 'Log'; + + @override + String get sectionLogsSubtitle => + 'Lihat dan urus log aplikasi untuk penyahpepijatan'; + + @override + String get doneButton => 'Selesai'; + + @override + String get bugReportDialogTitle => 'Laporan Cacat'; + + @override + String get bugReportDialogHintText => 'Sila terangkan bug yang anda temui'; + + @override + String get attachFilesButtonTooltip => 'Lampirkan fail'; + + @override + String get filePickerError => 'Gagal untuk memilih fail'; + + @override + String get emptyBugReportError => 'Sila masukkan laporan bug terlebih dahulu'; + + @override + String get failedToSendBugReportError => 'Gagal menghantar laporan pepijat'; + + @override + String get sectionManageSubscriptionTitle => 'Urus langganan'; + + @override + String get sectionManageSubscriptionSubtitle => 'Urus tetapan langganan anda'; + + @override + String get sectionHapticFeedbackTitle => 'Haptic Feedback'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Dayakan atau matikan maklum balas haptik (getaran) pada peranti yang disokong'; + + @override + String get sectionNotificationTitle => 'Hidupkan pemberitahuan'; + + @override + String get sectionNotificationSubtitle => + 'Dapatkan kemas kini apabila Doctorina menemui sesuatu yang penting dalam sembang, laporan, atau simptom anda.'; + + @override + String get sectionAccountTitle => 'Akaun'; + + @override + String get sectionAppTitle => 'Aplikasi'; + + @override + String get sectionAboutTitle => 'Tentang'; + + @override + String get sectionNotificationsTitle => 'Pemberitahuan'; + + @override + String get sectionVideoTutorialsTitle => 'Tutorial video'; + + @override + String get accountPhoneLabel => 'Telefon'; + + @override + String get accountEmailLabel => 'Emel'; + + @override + String get accountNameLabel => 'Nama'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Dilepaskan $count fail kerana duplikasi dengan fail sedia ada'; + } + + @override + String get bugReportTypeSectionLabel => 'Jenis'; + + @override + String get bugReportDescriptionSectionLabel => 'Penerangan'; + + @override + String get bugReportAttachmentsSectionLabel => 'Lampiran'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Kejutan'; + + @override + String get bugReportTypeUiIssue => 'Isu UI'; + + @override + String get bugReportTypeOther => 'Lainnya'; + + @override + String get deleteAccountWarningMessage => + 'Menghapus akaun anda akan menghapus data anda secara kekal dari Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Sebelum anda memadam'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Anda mempunyai langganan aktif melalui $store. Menghapus akaun anda tidak akan membatalkannya.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Batalkan langganan di $store'; + } + + @override + String get deleteAccountContinueButton => 'Teruskan'; + + @override + String get deleteAccountFormDescription => + 'Kami turut bersimpati dengan pemergian anda. Adakah anda pasti mahu memadamkan akaun anda? Sebaik sahaja anda mengesahkan, data anda akan hilang.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Saya tidak menggunakan aplikasi ini lagi'; + + @override + String get deleteAccountReasonFoundBetter => + 'Menemui sesuatu yang lebih baik'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Masalah teknikal'; + + @override + String get deleteAccountReasonEaseOfUse => 'Masalah kemudahan penggunaan'; + + @override + String get deleteAccountReasonMissingFeatures => 'Ciri yang hilang'; + + @override + String get deleteAccountReasonPrivacy => 'Kebimbangan privasi'; + + @override + String get deleteAccountReasonClearData => + 'Saya hanya ingin membersihkan data saya'; + + @override + String get deleteAccountReasonOther => 'Lain-lain'; + + @override + String get deleteAccountFeedbackHint => 'Kongsi maklum balas anda'; + + @override + String get deleteAccountProgressMessage => 'Menghapus akaun anda...'; + + @override + String get deleteAccountDeletingButton => 'Menghapus'; + + @override + String get deleteAccountUndoButton => 'Batal'; + + @override + String get deleteAccountSuccessToast => 'Akaun anda telah dipadam.'; + + @override + String get deleteAccountErrorToast => + 'Gagal untuk memadam akaun. Sila cuba lagi.'; + + @override + String get emailClientUnavailableToast => + 'Tiada aplikasi emel tersedia pada peranti ini. Sila hubungi support@doctorina.com secara manual.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_my.dart b/example/lib/src/generated/settings/settings_localization_my.dart new file mode 100644 index 0000000..141b543 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_my.dart @@ -0,0 +1,253 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Burmese (`my`). +class SettingsLocalizationMy extends SettingsLocalization { + SettingsLocalizationMy([String locale = 'my']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Kosongkan Semua Perbualan'; + + @override + String get sectionClearAllChatsSubtitle => + 'Ini akan memadamkan sejarah sembang anda secara kekal.'; + + @override + String get sectionClearAllChatsButton => 'Kosongkan Semua Perbualan'; + + @override + String get sectionClearAllChatsEmailTheme => 'Kosongkan Semua Perbualan'; + + @override + String get sectionDeleteAccountTitle => 'Padam Akaun'; + + @override + String get sectionDeleteAccountSubtitle => + 'Menghapus akaun anda adalah tindakan kekal dan tidak boleh dibatalkan.'; + + @override + String get sectionDeleteAccountButton => 'Padam'; + + @override + String get sectionDeleteAccountTheme => 'Hapus Akaun'; + + @override + String get sectionLogOutTitle => 'Log Keluar'; + + @override + String get sectionLogOutSubtitle => 'Anda akan keluar dari akaun anda.'; + + @override + String get sectionLogOutButton => 'Log Keluar'; + + @override + String get sendBugReportButton => 'Hantar Laporan Bug'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Hantar mesej dengan [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Hantar mesej dengan [⏎ Enter] dan baris baru dengan [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'ပို့ရန် [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'သိမ်းဆည်းမှုမူဝါဒ'; + + @override + String get sectionSelectLocaleTitle => 'Bahasa'; + + @override + String get sectionSelectLocaleSubtitle => + 'Pilih bahasa pilihan anda untuk antara muka aplikasi'; + + @override + String get sectionSwitchThemeTitle => 'Mod gelap'; + + @override + String get sectionSwitchThemeSubtitle => + 'Aktifkan mod gelap untuk pengalaman tontonan yang selesa dalam cahaya rendah'; + + @override + String get sectionLogsTitle => 'Log'; + + @override + String get sectionLogsSubtitle => + 'Lihat dan urus log aplikasi untuk penyahpepijatan'; + + @override + String get doneButton => 'Selesai'; + + @override + String get bugReportDialogTitle => 'Laporan Bug'; + + @override + String get bugReportDialogHintText => 'Sila huraikan pepijat yang anda temui'; + + @override + String get attachFilesButtonTooltip => 'Lampirkan fail'; + + @override + String get filePickerError => 'Gagal untuk memilih fail'; + + @override + String get emptyBugReportError => 'Sila masukkan laporan bug terlebih dahulu'; + + @override + String get failedToSendBugReportError => 'Gagal menghantar laporan pepijat'; + + @override + String get sectionManageSubscriptionTitle => 'Urus langganan'; + + @override + String get sectionManageSubscriptionSubtitle => 'Urus tetapan langganan anda'; + + @override + String get sectionHapticFeedbackTitle => 'Maklum Balas Haptik'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Aktifkan atau nonaktifkan maklum balas haptik (getaran) pada peranti yang disokong'; + + @override + String get sectionNotificationTitle => 'Hidupkan pemberitahuan'; + + @override + String get sectionNotificationSubtitle => + 'Dapatkan kemas kini apabila Doctorina menemui sesuatu yang penting dalam sembang, laporan, atau simptom anda.'; + + @override + String get sectionAccountTitle => 'အကောင့်'; + + @override + String get sectionAppTitle => 'အက်ပ'; + + @override + String get sectionAboutTitle => 'အကြောင်း'; + + @override + String get sectionNotificationsTitle => 'သတိပေးချက်များ'; + + @override + String get sectionVideoTutorialsTitle => 'ဗီဒီယိုသင်ခန်းစာများ'; + + @override + String get accountPhoneLabel => 'ဖုန်း'; + + @override + String get accountEmailLabel => 'အီးမေးလ်'; + + @override + String get accountNameLabel => 'နာမည်'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'ဖိုင်များကို ရှောင်ထားသည် $count ဖိုင်များသည် ရှိပြီးသား ဖိုင်များနှင့် ထပ်တူဖြစ်သည်'; + } + + @override + String get bugReportTypeSectionLabel => 'အမျိုးအစား'; + + @override + String get bugReportDescriptionSectionLabel => 'ဖော်ပြချက်'; + + @override + String get bugReportAttachmentsSectionLabel => 'ဆက်စပ်ဖိုင်များ'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'ပျက်ကွက်'; + + @override + String get bugReportTypeUiIssue => 'UI ပြဿနာ'; + + @override + String get bugReportTypeOther => 'အခြား'; + + @override + String get deleteAccountWarningMessage => + 'အကောင့်ကို ဖျက်လိုက်ရင် Doctorina မှ သင့်ဒေတာကို အမြဲတမ်း ဖျက်ပစ်မည်။'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'သင်ဖျက်မည်မီ'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'သင်သည် $store မှ လက်ရှိစာရင်းသွင်းမှုရှိသည်။ သင့်အကောင့်ကို ဖျက်လိုက်ပါက ၎င်းကို မဖျက်ပါ။'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'အကောင့်ကို ဖျက်ရန် $store တွင် စာရင်းသွင်းမှုကို ရပ်ဆိုင်းပါ'; + } + + @override + String get deleteAccountContinueButton => 'ဆက်လက်လုပ်ဆောင်ပါ'; + + @override + String get deleteAccountFormDescription => + 'ကျွန်ုပ်တို့သည် သင့်ကို သွားမည်ကို ဝမ်းနည်းပါသည်။ သင့်အကောင့်ကို ဖျက်ရန် သေချာပါသလား။ သင်အတည်ပြုပါက သင့်ဒေတာများ ပျောက်ဆုံးမည်။'; + + @override + String get deleteAccountReasonDontUseAnymore => 'ငါသည် အက်ပ်ကို မသုံးတော့ပါ'; + + @override + String get deleteAccountReasonFoundBetter => 'တွေ့ရှိခဲ့သည့်အရာကောင်းတစ်ခု'; + + @override + String get deleteAccountReasonTechnicalIssues => 'နည်းပညာဆိုင်ရာပြဿနာများ'; + + @override + String get deleteAccountReasonEaseOfUse => 'အသုံးပြုရခက်ခြင်း'; + + @override + String get deleteAccountReasonMissingFeatures => 'အင်္ဂါရပ်များမလုံလောက်ပါ'; + + @override + String get deleteAccountReasonPrivacy => + 'အထူးသဖြင့်ပုဂ္ဂိုလ်ရေးစိုးရိမ်မှုများ'; + + @override + String get deleteAccountReasonClearData => 'ငါ့ဒေတာကိုရှင်းချင်တယ်'; + + @override + String get deleteAccountReasonOther => 'အခြား'; + + @override + String get deleteAccountFeedbackHint => 'သင်၏အကြံပြုချက်ကိုမျှဝေပါ'; + + @override + String get deleteAccountProgressMessage => 'သင်၏အကောင့်ကိုဖျက်နေသည်...'; + + @override + String get deleteAccountDeletingButton => 'ဖျက်နေသည်'; + + @override + String get deleteAccountUndoButton => 'ပြန်လုပ်မည်'; + + @override + String get deleteAccountSuccessToast => 'သင်၏အကောင့်ကို ဖျက်လိုက်ပါပြီ။'; + + @override + String get deleteAccountErrorToast => + 'အကောင့်ဖျက်ရန်အမှားဖြစ်ခဲ့သည်။ ထပ်မံကြိုးစားပါ။'; + + @override + String get emailClientUnavailableToast => + 'ဒီကိရိယာမှာ အီးမေးလ်အက်ပ် မရနိုင်ပါ။ ကျေးဇူးပြု၍ support@doctorina.com ကို လက်မှတ်ရေးထိုးပါ။'; +} diff --git a/example/lib/src/generated/settings/settings_localization_ne.dart b/example/lib/src/generated/settings/settings_localization_ne.dart new file mode 100644 index 0000000..4c65844 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_ne.dart @@ -0,0 +1,255 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Nepali (`ne`). +class SettingsLocalizationNe extends SettingsLocalization { + SettingsLocalizationNe([String locale = 'ne']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'सबै च्याटहरू मेट्नुहोस्'; + + @override + String get sectionClearAllChatsSubtitle => + 'यसले तपाईंको च्याट इतिहासलाई स्थायी रूपमा मेटाउनेछ।'; + + @override + String get sectionClearAllChatsButton => 'सबै च्याटहरू मेटाउनुहोस्'; + + @override + String get sectionClearAllChatsEmailTheme => 'सर्व च्याटहरू मेटाउनुहोस्'; + + @override + String get sectionDeleteAccountTitle => 'खाता हटाउनुहोस्'; + + @override + String get sectionDeleteAccountSubtitle => + 'तपाईंको खाता मेट्नु एक स्थायी क्रिया हो र यसलाई फर्काउन सकिँदैन।'; + + @override + String get sectionDeleteAccountButton => 'हटाउनुहोस्'; + + @override + String get sectionDeleteAccountTheme => 'खाता हटाउनुहोस्'; + + @override + String get sectionLogOutTitle => 'साइन आउट'; + + @override + String get sectionLogOutSubtitle => 'तपाईंको खाताबाट साइन आउट गरिनेछ।'; + + @override + String get sectionLogOutButton => 'साइन आउट'; + + @override + String get sendBugReportButton => 'बग रिपोर्ट पठाउनुहोस्'; + + @override + String get sectionSendMessageWithEnterTitle => 'सन्देश पठाउनुहोस् [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'सन्देश पठाउन [⏎ Enter] र नयाँ पंक्ति बनाउन [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => '[⏎ Enter] सँग पठाउनुहोस्'; + + @override + String get sectionPrivacyPolicy => 'गोपनीयता नीति'; + + @override + String get sectionSelectLocaleTitle => 'भाषा'; + + @override + String get sectionSelectLocaleSubtitle => + 'एप्लिकेसन इन्टरफेसको लागि आफ्नो मनपर्ने भाषा चयन गर्नुहोस्'; + + @override + String get sectionSwitchThemeTitle => 'अँध्यारो मोड'; + + @override + String get sectionSwitchThemeSubtitle => + 'कम उज्यालोमा आरामदायक दृश्य अनुभवको लागि डार्क मोड सक्षम गर्नुहोस्'; + + @override + String get sectionLogsTitle => 'लगत'; + + @override + String get sectionLogsSubtitle => + 'अनुप्रयोगका लगहरू हेर्नुहोस् र व्यवस्थापन गर्नुहोस्'; + + @override + String get doneButton => 'संपन्न'; + + @override + String get bugReportDialogTitle => 'बग रिपोर्ट'; + + @override + String get bugReportDialogHintText => + 'कृपया तपाईंले भेट्टाएको बगको वर्णन गर्नुहोस्'; + + @override + String get attachFilesButtonTooltip => 'फाइलहरू संलग्न गर्नुहोस्'; + + @override + String get filePickerError => 'फाइलहरू चयन गर्न असफल'; + + @override + String get emptyBugReportError => + 'कृपया पहिले एक बग रिपोर्ट प्रविष्ट गर्नुहोस्'; + + @override + String get failedToSendBugReportError => 'बग रिपोर्ट पठाउन असफल'; + + @override + String get sectionManageSubscriptionTitle => 'सदस्यता व्यवस्थापन'; + + @override + String get sectionManageSubscriptionSubtitle => + 'तपाईंको सदस्यता सेटिङहरू व्यवस्थापन गर्नुहोस्'; + + @override + String get sectionHapticFeedbackTitle => 'हैप्टिक फीडबैक'; + + @override + String get sectionHapticFeedbackSubtitle => + 'समर्थित उपकरणहरूमा ह्याप्टिक फिडब्याक (कम्पन) सक्षम वा अक्षम गर्नुहोस्'; + + @override + String get sectionNotificationTitle => 'सूचनाहरू चालु गर्नुहोस्'; + + @override + String get sectionNotificationSubtitle => + 'जब डोक्टरिनाले तपाईंको च्याट, रिपोर्ट, वा लक्षणहरूमा महत्त्वपूर्ण कुरा फेला पार्छ, तब अपडेट रहनुहोस्।'; + + @override + String get sectionAccountTitle => 'खाता'; + + @override + String get sectionAppTitle => 'एप'; + + @override + String get sectionAboutTitle => 'बारेमा'; + + @override + String get sectionNotificationsTitle => 'सूचनाहरू'; + + @override + String get sectionVideoTutorialsTitle => 'भिडियो ट्यूटोरियल'; + + @override + String get accountPhoneLabel => 'फोन'; + + @override + String get accountEmailLabel => 'इमेल'; + + @override + String get accountNameLabel => 'नाम'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '$count फाइलहरू विद्यमान फाइलहरूसँगको डुप्लिकेटका कारण छोडिएका छन्'; + } + + @override + String get bugReportTypeSectionLabel => 'प्रकार'; + + @override + String get bugReportDescriptionSectionLabel => 'विवरण'; + + @override + String get bugReportAttachmentsSectionLabel => 'संलग्नक'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'क्र्यास'; + + @override + String get bugReportTypeUiIssue => 'यूआई समस्या'; + + @override + String get bugReportTypeOther => 'अन्य'; + + @override + String get deleteAccountWarningMessage => + 'तपाईंको खाता मेट्दा डोक्टरिनाबाट तपाईंको डेटा स्थायी रूपमा हटाइनेछ।'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'मेट्नुअघि'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'तपाईंको $store मार्फत सक्रिय सदस्यता छ। तपाईंको खाता मेट्दा यसलाई रद्द गर्ने छैन।'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store मा सदस्यता रद्द गर्नुहोस्'; + } + + @override + String get deleteAccountContinueButton => 'जारी राख्नुहोस्'; + + @override + String get deleteAccountFormDescription => + 'तपाईंलाई जान दिँदा हामीलाई दु:ख लागेको छ। के तपाईं आफ्नो खाता मेटाउन निश्चित हुनुहुन्छ? पुष्टि गरेपछि, तपाईंको डेटा हराउनेछ।'; + + @override + String get deleteAccountReasonDontUseAnymore => 'म एप्लिकेशन प्रयोग गर्दैन'; + + @override + String get deleteAccountReasonFoundBetter => 'केही राम्रो भेट्टायो'; + + @override + String get deleteAccountReasonTechnicalIssues => 'प्राविधिक समस्या'; + + @override + String get deleteAccountReasonEaseOfUse => 'सहजता सम्बन्धी समस्या'; + + @override + String get deleteAccountReasonMissingFeatures => 'अवश्यक विशेषताहरूको कमी'; + + @override + String get deleteAccountReasonPrivacy => 'गोपनीयता चासो'; + + @override + String get deleteAccountReasonClearData => + 'म केवल मेरो डेटा सफा गर्न चाहन्थें'; + + @override + String get deleteAccountReasonOther => 'अन्य'; + + @override + String get deleteAccountFeedbackHint => 'तपाईंको फिडब्याक साझा गर्नुहोस्'; + + @override + String get deleteAccountProgressMessage => 'तपाईंको खाता मेटाइँदैछ...'; + + @override + String get deleteAccountDeletingButton => 'हटाउँदै'; + + @override + String get deleteAccountUndoButton => 'पूर्ववत'; + + @override + String get deleteAccountSuccessToast => 'तपाईंको खाता मेटिएको छ।'; + + @override + String get deleteAccountErrorToast => + 'खाता मेट्न असफल भयो। कृपया पुनः प्रयास गर्नुहोस्।'; + + @override + String get emailClientUnavailableToast => + 'यस उपकरणमा कुनै इमेल अनुप्रयोग उपलब्ध छैन। कृपया support@doctorina.com मा म्यानुअल रूपमा सम्पर्क गर्नुहोस्।'; +} diff --git a/example/lib/src/generated/settings/settings_localization_nl.dart b/example/lib/src/generated/settings/settings_localization_nl.dart new file mode 100644 index 0000000..f305271 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_nl.dart @@ -0,0 +1,255 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Dutch Flemish (`nl`). +class SettingsLocalizationNl extends SettingsLocalization { + SettingsLocalizationNl([String locale = 'nl']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Alle chats wissen'; + + @override + String get sectionClearAllChatsSubtitle => + 'Dit zal uw chatgeschiedenis permanent verwijderen.'; + + @override + String get sectionClearAllChatsButton => 'Alle chats wissen'; + + @override + String get sectionClearAllChatsEmailTheme => 'Alle chats wissen'; + + @override + String get sectionDeleteAccountTitle => 'Account Verwijderen'; + + @override + String get sectionDeleteAccountSubtitle => + 'Het verwijderen van uw account is een permanente actie en kan niet ongedaan worden gemaakt.'; + + @override + String get sectionDeleteAccountButton => 'Verwijderen'; + + @override + String get sectionDeleteAccountTheme => 'Account Verwijderen'; + + @override + String get sectionLogOutTitle => 'Afmelden'; + + @override + String get sectionLogOutSubtitle => 'U wordt uit uw account uitgelogd.'; + + @override + String get sectionLogOutButton => 'Afmelden'; + + @override + String get sendBugReportButton => 'Stuur Bugrapport'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Bericht verzenden met [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Stuur een bericht met [⏎ Enter] en een nieuwe regel met [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Verstuur met [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Privacybeleid'; + + @override + String get sectionSelectLocaleTitle => 'Taal'; + + @override + String get sectionSelectLocaleSubtitle => + 'Selecteer uw voorkeurstaal voor de app-interface'; + + @override + String get sectionSwitchThemeTitle => 'Donkere modus'; + + @override + String get sectionSwitchThemeSubtitle => + 'Schakel de donkere modus in voor een comfortabele kijkervaring bij weinig licht'; + + @override + String get sectionLogsTitle => 'Logs'; + + @override + String get sectionLogsSubtitle => + 'Bekijk en beheer applicatielogs voor foutopsporing'; + + @override + String get doneButton => 'Klaar'; + + @override + String get bugReportDialogTitle => 'Foutmelding'; + + @override + String get bugReportDialogHintText => + 'Beschrijf alstublieft de fout die u bent tegengekomen'; + + @override + String get attachFilesButtonTooltip => 'Bestanden bijvoegen'; + + @override + String get filePickerError => 'Bestanden kiezen is mislukt'; + + @override + String get emptyBugReportError => 'Voer eerst een bugrapport in'; + + @override + String get failedToSendBugReportError => 'Kon bugrapport niet verzenden'; + + @override + String get sectionManageSubscriptionTitle => 'Abonnement beheren'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Beheer uw abonnementsinstellingen'; + + @override + String get sectionHapticFeedbackTitle => 'Haptische Feedback'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Schakel haptische feedback (trilling) in of uit op ondersteunde apparaten'; + + @override + String get sectionNotificationTitle => 'Zet meldingen aan'; + + @override + String get sectionNotificationSubtitle => + 'Blijf op de hoogte wanneer Doctorina iets belangrijks vindt in je chats, rapporten of symptomen.'; + + @override + String get sectionAccountTitle => 'Account'; + + @override + String get sectionAppTitle => 'App'; + + @override + String get sectionAboutTitle => 'Over'; + + @override + String get sectionNotificationsTitle => 'Meldingen'; + + @override + String get sectionVideoTutorialsTitle => 'Video tutorials'; + + @override + String get accountPhoneLabel => 'Telefoon'; + + @override + String get accountEmailLabel => 'E-mail'; + + @override + String get accountNameLabel => 'Naam'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Overgeslagen $count bestanden vanwege duplicaat met bestaande bestanden'; + } + + @override + String get bugReportTypeSectionLabel => 'Type'; + + @override + String get bugReportDescriptionSectionLabel => 'Beschrijving'; + + @override + String get bugReportAttachmentsSectionLabel => 'Bijlagen'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Crash'; + + @override + String get bugReportTypeUiIssue => 'UI-probleem'; + + @override + String get bugReportTypeOther => 'Overig'; + + @override + String get deleteAccountWarningMessage => + 'Het verwijderen van uw account verwijdert permanent uw gegevens van Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Voordat je verwijdert'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'U heeft een actieve abonnement via $store. Het verwijderen van uw account annuleert het niet.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Abonnement opzeggen in de $store'; + } + + @override + String get deleteAccountContinueButton => 'Doorgaan'; + + @override + String get deleteAccountFormDescription => + 'Het spijt ons u te zien vertrekken. Weet u zeker dat u uw account wilt verwijderen? Zodra u bevestigt, zijn uw gegevens verdwenen.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'Ik gebruik de app niet meer'; + + @override + String get deleteAccountReasonFoundBetter => 'Iets beters gevonden'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Technische problemen'; + + @override + String get deleteAccountReasonEaseOfUse => 'Gebruiksgemakproblemen'; + + @override + String get deleteAccountReasonMissingFeatures => 'Ontbrekende functies'; + + @override + String get deleteAccountReasonPrivacy => 'Privacyzorgen'; + + @override + String get deleteAccountReasonClearData => + 'Ik wilde gewoon mijn gegevens wissen'; + + @override + String get deleteAccountReasonOther => 'Overig'; + + @override + String get deleteAccountFeedbackHint => 'Deel uw feedback'; + + @override + String get deleteAccountProgressMessage => 'Uw account wordt verwijderd...'; + + @override + String get deleteAccountDeletingButton => 'Verwijderen'; + + @override + String get deleteAccountUndoButton => 'Ongedaan maken'; + + @override + String get deleteAccountSuccessToast => 'Uw account is verwijderd.'; + + @override + String get deleteAccountErrorToast => + 'Account kon niet worden verwijderd. Probeer het opnieuw.'; + + @override + String get emailClientUnavailableToast => + 'Er is geen e-mailapp beschikbaar op dit apparaat. Neem alstublieft handmatig contact op met support@doctorina.com.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_pa.dart b/example/lib/src/generated/settings/settings_localization_pa.dart new file mode 100644 index 0000000..09237d4 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_pa.dart @@ -0,0 +1,503 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Panjabi Punjabi (`pa`). +class SettingsLocalizationPa extends SettingsLocalization { + SettingsLocalizationPa([String locale = 'pa']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'ਸਾਰੇ ਗੱਲਾਂ ਸਾਫ਼ ਕਰੋ'; + + @override + String get sectionClearAllChatsSubtitle => + 'ਇਹ ਤੁਹਾਡੇ ਚੈਟ ਇਤਿਹਾਸ ਨੂੰ ਸਦਾ ਲਈ ਮਿਟਾ ਦੇਵੇਗਾ.'; + + @override + String get sectionClearAllChatsButton => 'ਸਾਰੇ ਗੱਲਾਂ ਸਾਫ਼ ਕਰੋ'; + + @override + String get sectionClearAllChatsEmailTheme => 'ਸਾਰੇ ਗੱਲਾਂ ਸਾਫ਼ ਕਰੋ'; + + @override + String get sectionDeleteAccountTitle => 'ਖਾਤਾ ਹਟਾਓ'; + + @override + String get sectionDeleteAccountSubtitle => + 'ਤੁਹਾਡਾ ਖਾਤਾ ਹਟਾਉਣਾ ਇੱਕ ਸਥਾਈ ਕਾਰਵਾਈ ਹੈ ਅਤੇ ਇਸਨੂੰ ਵਾਪਸ ਨਹੀਂ ਲਿਆ ਜਾ ਸਕਦਾ.'; + + @override + String get sectionDeleteAccountButton => 'ਹਟਾਓ'; + + @override + String get sectionDeleteAccountTheme => 'ਖਾਤਾ ਹਟਾਓ'; + + @override + String get sectionLogOutTitle => 'ਸਾਈਨ ਆਉਟ'; + + @override + String get sectionLogOutSubtitle => 'ਤੁਸੀਂ ਆਪਣੇ ਖਾਤੇ ਤੋਂ ਸਾਈਨ ਆਉਟ ਹੋ ਜਾਓਗੇ।'; + + @override + String get sectionLogOutButton => 'ਸਾਈਨ ਆਉਟ'; + + @override + String get sendBugReportButton => 'ਬੱਗ ਰਿਪੋਰਟ ਭੇਜੋ'; + + @override + String get sectionSendMessageWithEnterTitle => 'ਸੁਨੇਹਾ ਭੇਜੋ [⏎ Enter] ਨਾਲ'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'ਸੁਨੇਹਾ ਭੇਜੋ [⏎ Enter] ਨਾਲ ਅਤੇ ਨਵੀਂ ਲਾਈਨ [Shift] + [⏎ Enter] ਨਾਲ'; + + @override + String get sectionSendMessageEnter => 'ਭੇਜੋ [⏎ Enter] ਨਾਲ'; + + @override + String get sectionPrivacyPolicy => 'ਗੋਪਨੀਯਤਾ ਨੀਤੀ'; + + @override + String get sectionSelectLocaleTitle => 'ਭਾਸ਼ਾ'; + + @override + String get sectionSelectLocaleSubtitle => + 'ਆਪਣੇ ਐਪ ਇੰਟਰਫੇਸ ਲਈ ਆਪਣੀ ਪਸੰਦ ਦੀ ਭਾਸ਼ਾ ਚੁਣੋ'; + + @override + String get sectionSwitchThemeTitle => 'ਗੂੜ੍ਹਾ ਮੋਡ'; + + @override + String get sectionSwitchThemeSubtitle => + 'ਗੋਤਕਾ ਮੋਡ ਨੂੰ ਚਾਲੂ ਕਰੋ ਤਾਂ ਜੋ ਘੱਟ ਰੋਸ਼ਨੀ ਵਿੱਚ ਆਰਾਮਦਾਇਕ ਦੇਖਣ ਦਾ ਅਨੁਭਵ ਹੋ ਸਕੇ'; + + @override + String get sectionLogsTitle => 'ਲੌਗ'; + + @override + String get sectionLogsSubtitle => + 'ਐਪਲੀਕੇਸ਼ਨ ਲੌਗ ਨੂੰ ਦੇਖੋ ਅਤੇ ਪ੍ਰਬੰਧਿਤ ਕਰੋ ਜੇਹੜਾ ਡਿਬੱਗਿੰਗ ਲਈ'; + + @override + String get doneButton => 'ਹੋ ਗਿਆ'; + + @override + String get bugReportDialogTitle => 'ਬੱਗ ਰਿਪੋਰਟ'; + + @override + String get bugReportDialogHintText => + 'ਕਿਰਪਾ ਕਰਕੇ ਉਸ ਬੱਗ ਦਾ ਵਰਣਨ ਕਰੋ ਜਿਸਨੂੰ ਤੁਸੀਂ ਸਾਹਮਣਾ ਕੀਤਾ'; + + @override + String get attachFilesButtonTooltip => 'ਫਾਈਲਾਂ ਜੋੜੋ'; + + @override + String get filePickerError => 'ਫਾਈਲਾਂ ਚੁਣਨ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get emptyBugReportError => 'ਕਿਰਪਾ ਕਰਕੇ ਪਹਿਲਾਂ ਬੱਗ ਰਿਪੋਰਟ ਦਿਓ'; + + @override + String get failedToSendBugReportError => 'ਬੱਗ ਰਿਪੋਰਟ ਭੇਜਣ ਵਿੱਚ ਅਸਫਲ'; + + @override + String get sectionManageSubscriptionTitle => 'ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਪ੍ਰਬੰਧਿਤ ਕਰੋ'; + + @override + String get sectionManageSubscriptionSubtitle => + 'ਆਪਣੇ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਸੈਟਿੰਗਜ਼ ਦਾ ਪ੍ਰਬੰਧ ਕਰੋ'; + + @override + String get sectionHapticFeedbackTitle => 'ਕੰਪਨ'; + + @override + String get sectionHapticFeedbackSubtitle => + 'ਹੈਪਟਿਕ ਫੀਡਬੈਕ (ਕੰਪਨ) ਨੂੰ ਸਮਰਥਿਤ ਡਿਵਾਈਸਾਂ \'ਤੇ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰੋ'; + + @override + String get sectionNotificationTitle => 'ਨੋਟੀਫਿਕੇਸ਼ਨ ਚਾਲੂ ਕਰੋ'; + + @override + String get sectionNotificationSubtitle => + 'ਡਾਕਟਰਿਨਾ ਤੁਹਾਡੇ ਚੈਟ, ਰਿਪੋਰਟਾਂ ਜਾਂ ਲੱਛਣਾਂ ਵਿੱਚ ਕੁਝ ਮਹੱਤਵਪੂਰਨ ਲੱਭਣ \'ਤੇ ਅਪਡੇਟ ਰਹੋ.'; + + @override + String get sectionAccountTitle => 'खाता'; + + @override + String get sectionAppTitle => 'ਐਪ'; + + @override + String get sectionAboutTitle => 'ਬਾਰੇ'; + + @override + String get sectionNotificationsTitle => 'ਸੂਚਨਾਵਾਂ'; + + @override + String get sectionVideoTutorialsTitle => 'ਵੀਡੀਓ ਟਿਊਟੋਰੀਅਲ'; + + @override + String get accountPhoneLabel => 'ਫੋਨ'; + + @override + String get accountEmailLabel => 'ਈਮੇਲ'; + + @override + String get accountNameLabel => 'ਨਾਮ'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '$count ਫਾਈਲਾਂ ਨੂੰ ਮੌਜੂਦ ਫਾਈਲਾਂ ਨਾਲ ਦੁਹਰਾਉਣ ਕਾਰਨ ਛੱਡ ਦਿੱਤਾ ਗਿਆ'; + } + + @override + String get bugReportTypeSectionLabel => 'ਕਿਸਮ'; + + @override + String get bugReportDescriptionSectionLabel => 'ਵਰਣਨ'; + + @override + String get bugReportAttachmentsSectionLabel => 'ਅਟੈਚਮੈਂਟ'; + + @override + String get bugReportTypeBug => 'ਬੱਗ'; + + @override + String get bugReportTypeCrash => 'ਕ੍ਰੈਸ਼'; + + @override + String get bugReportTypeUiIssue => 'ਯੂਆਈ ਸਮੱਸਿਆ'; + + @override + String get bugReportTypeOther => 'ਹੋਰ'; + + @override + String get deleteAccountWarningMessage => + 'ਤੁਹਾਡੀ ਖਾਤਾ ਮਿਟਾਉਣ ਨਾਲ Doctorina ਤੋਂ ਤੁਹਾਡਾ ਡੇਟਾ ਸਦਾ ਲਈ ਹਟਾਇਆ ਜਾਵੇਗਾ.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'ਤੁਸੀਂ ਮਿਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'ਤੁਹਾਡੇ ਕੋਲ $store ਰਾਹੀਂ ਇੱਕ ਸਰਵਿਸ ਹੈ। ਤੁਹਾਡਾ ਖਾਤਾ ਮਿਟਾਉਣਾ ਇਸਨੂੰ ਰੱਦ ਨਹੀਂ ਕਰੇਗਾ.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store ਵਿੱਚ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਰੱਦ ਕਰੋ'; + } + + @override + String get deleteAccountContinueButton => 'ਜਾਰੀ ਰੱਖੋ'; + + @override + String get deleteAccountFormDescription => + 'ਸਾਨੂੰ ਦੁੱਖ ਹੈ ਕਿ ਤੁਸੀਂ ਜਾ ਰਹੇ ਹੋ। ਕੀ ਤੁਸੀਂ ਯਕੀਨੀ ਹੋ ਕਿ ਤੁਸੀਂ ਆਪਣਾ ਖਾਤਾ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ? ਜਦੋਂ ਤੁਸੀਂ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹੋ, ਤੁਹਾਡਾ ਡੇਟਾ ਗਾਇਬ ਹੋ ਜਾਵੇਗਾ.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'ਮੈਂ ਐਪ ਦਾ ਇਸਤੇਮਾਲ ਨਹੀਂ ਕਰਦਾ'; + + @override + String get deleteAccountReasonFoundBetter => 'ਕੁਝ ਬਿਹਤਰ ਮਿਲਿਆ'; + + @override + String get deleteAccountReasonTechnicalIssues => 'ਤਕਨੀਕੀ ਸਮੱਸਿਆਵਾਂ'; + + @override + String get deleteAccountReasonEaseOfUse => 'ਉਪਯੋਗ ਵਿੱਚ ਮੁਸ਼ਕਲਾਂ'; + + @override + String get deleteAccountReasonMissingFeatures => 'ਫੀਚਰਾਂ ਦੀ ਘਾਟ'; + + @override + String get deleteAccountReasonPrivacy => 'ਪਰਾਈਵੇਸੀ ਦੇ ਚਿੰਤਾਵਾਂ'; + + @override + String get deleteAccountReasonClearData => + 'ਮੈਂ ਸਿਰਫ ਆਪਣਾ ਡੇਟਾ ਸਾਫ਼ ਕਰਨਾ ਚਾਹੁੰਦਾ ਸੀ'; + + @override + String get deleteAccountReasonOther => 'ਹੋਰ'; + + @override + String get deleteAccountFeedbackHint => 'ਆਪਣਾ ਫੀਡਬੈਕ ਸਾਂਝਾ ਕਰੋ'; + + @override + String get deleteAccountProgressMessage => 'ਤੁਹਾਡਾ ਖਾਤਾ ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ...'; + + @override + String get deleteAccountDeletingButton => 'ਹਟਾਉਣਾ'; + + @override + String get deleteAccountUndoButton => 'ਵਾਪਸ ਲੈਣਾ'; + + @override + String get deleteAccountSuccessToast => 'ਤੁਹਾਡਾ ਖਾਤਾ ਮਿਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ।'; + + @override + String get deleteAccountErrorToast => + 'ਖਾਤਾ ਮਿਟਾਉਣ ਵਿੱਚ ਅਸਫਲ. ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.'; + + @override + String get emailClientUnavailableToast => + 'ਇਸ ਡਿਵਾਈਸ \'ਤੇ ਕੋਈ ਈਮੇਲ ਐਪ ਉਪਲਬਧ ਨਹੀਂ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ support@doctorina.com ਨਾਲ ਹੱਥੋਂ ਸੰਪਰਕ ਕਰੋ.'; +} + +/// The translations for Panjabi Punjabi, as used in Pakistan (`pa_PK`). +class SettingsLocalizationPaPk extends SettingsLocalizationPa { + SettingsLocalizationPaPk() : super('pa_PK'); + + @override + String get sectionClearAllChatsTitle => 'تمام چیٹس صاف کریں'; + + @override + String get sectionClearAllChatsSubtitle => + 'ایہ توہاڈی چیٹ ہسٹری نوں مستقل طور تے حذف کر دے گا.'; + + @override + String get sectionClearAllChatsButton => 'تمام چیٹس مٹاؤ'; + + @override + String get sectionClearAllChatsEmailTheme => 'تمام چیٹس صاف کریں'; + + @override + String get sectionDeleteAccountTitle => 'اکاؤنٹ حذف کریں'; + + @override + String get sectionDeleteAccountSubtitle => + 'ਤੁਹਾਡਾ ਖਾਤਾ ਮਿਟਾਉਣਾ ਇੱਕ ਸਥਾਈ ਕਾਰਵਾਈ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਮੁੜ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ.'; + + @override + String get sectionDeleteAccountButton => 'حذف کریں'; + + @override + String get sectionDeleteAccountTheme => 'اکاؤنٹ حذف کریں'; + + @override + String get sectionLogOutTitle => 'سائن آؤٹ'; + + @override + String get sectionLogOutSubtitle => + 'تُسیں اپنے کھاتے توں سائن آؤٹ ہو جاؤ گے.'; + + @override + String get sectionLogOutButton => 'سائن آؤٹ'; + + @override + String get sendBugReportButton => 'بگ رپورٹ بھیجو'; + + @override + String get sectionSendMessageWithEnterTitle => 'پیغام بھیجیں [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'پیغام بھیجیں [⏎ Enter] اور نئی لائن [Shift] + [⏎ Enter] کے ساتھ'; + + @override + String get sectionSendMessageEnter => '[⏎ Enter] ਨਾਲ ਭੇਜੋ'; + + @override + String get sectionPrivacyPolicy => 'رازداری کی پالیسی'; + + @override + String get sectionSelectLocaleTitle => 'زبان'; + + @override + String get sectionSelectLocaleSubtitle => + 'اپنے ایپ انٹرفیس کے لیے اپنی پسندیدہ زبان منتخب کریں'; + + @override + String get sectionSwitchThemeTitle => 'ڈارک موڈ'; + + @override + String get sectionSwitchThemeSubtitle => + 'کم روشنی میں آرام دہ دیکھنے کے تجربے کے لیے ڈارک موڈ فعال کریں'; + + @override + String get sectionLogsTitle => 'لاگز'; + + @override + String get sectionLogsSubtitle => + 'ڈیبگنگ کے لیے درخواست کے لاگز دیکھیں اور انتظام کریں'; + + @override + String get doneButton => 'مکمل'; + + @override + String get bugReportDialogTitle => 'بگ رپورٹ'; + + @override + String get bugReportDialogHintText => + 'براہ مہربانی اس بگ کی تفصیل بیان کریں جس کا آپ نے سامنا کیا'; + + @override + String get attachFilesButtonTooltip => 'فائلیں منسلک کریں'; + + @override + String get filePickerError => 'فائلیں منتخب کرنے میں ناکام'; + + @override + String get emptyBugReportError => 'براہ کرم پہلے بگ رپورٹ درج کریں'; + + @override + String get failedToSendBugReportError => 'بگ رپورٹ بھیجنے میں ناکام'; + + @override + String get sectionManageSubscriptionTitle => 'سبسکرپشن کا انتظام کریں'; + + @override + String get sectionManageSubscriptionSubtitle => + 'اپنی رکنیت کی ترتیبات کو منظم کریں'; + + @override + String get sectionHapticFeedbackTitle => 'ہیپٹک فیڈبیک'; + + @override + String get sectionHapticFeedbackSubtitle => + 'سپورٹڈ ڈیوائسز تے ہپٹک فیڈبیک (وائبریشن) نوں چالو یا بند کرو'; + + @override + String get sectionNotificationTitle => 'نوٹیفکیشنز آن کریں'; + + @override + String get sectionNotificationSubtitle => + 'ڈاکٹرینا آپ کے چیٹس، رپورٹس، یا علامات میں کچھ اہم تلاش کرنے پر اپ ڈیٹ رہیں۔'; + + @override + String get sectionAccountTitle => 'اکاؤنٹ'; + + @override + String get sectionAppTitle => 'ایپ'; + + @override + String get sectionAboutTitle => 'بارے میں'; + + @override + String get sectionNotificationsTitle => 'نوٹیفیکیشنز'; + + @override + String get sectionVideoTutorialsTitle => 'ویڈیو ٹیوٹوریلز'; + + @override + String get accountPhoneLabel => 'فون'; + + @override + String get accountEmailLabel => 'ای میل'; + + @override + String get accountNameLabel => 'نام'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'موجودہ فائلوں کے ساتھ نقل کی وجہ سے $count فائلیں چھوڑ دی گئیں'; + } + + @override + String get bugReportTypeSectionLabel => 'قسم'; + + @override + String get bugReportDescriptionSectionLabel => 'تفصیل'; + + @override + String get bugReportAttachmentsSectionLabel => 'منسلکات'; + + @override + String get bugReportTypeBug => 'بگ'; + + @override + String get bugReportTypeCrash => 'کریش'; + + @override + String get bugReportTypeUiIssue => 'یو آئی مسئلہ'; + + @override + String get bugReportTypeOther => 'دوسرا'; + + @override + String get deleteAccountWarningMessage => + 'اپنا اکاؤنٹ حذف کرنے سے آپ کا ڈیٹا Doctorina سے مستقل طور پر ہٹا دیا جائے گا.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'حذف کرنے سے پہلے'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'تُہاڈے کول $store دے ذریعے اک فعال سبسکرپشن ہے۔ اپنے اکاؤنٹ نوں حذف کرنا ایہنوں منسوخ نئیں کرے گا۔'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store ਵਿੱਚ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਰੱਦ ਕਰੋ'; + } + + @override + String get deleteAccountContinueButton => 'جاری رکھیں'; + + @override + String get deleteAccountFormDescription => + 'ہمیں افسوس ہے کہ آپ جا رہے ہیں۔ کیا آپ واقعی اپنا اکاؤنٹ حذف کرنا چاہتے ہیں؟ ایک بار جب آپ تصدیق کریں گے، آپ کا ڈیٹا ختم ہو جائے گا.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'میں اب ایپ استعمال نہیں کرتا'; + + @override + String get deleteAccountReasonFoundBetter => 'بہتر چیز ملی'; + + @override + String get deleteAccountReasonTechnicalIssues => 'تکنیکی مسائل'; + + @override + String get deleteAccountReasonEaseOfUse => 'استعمال میں مسائل'; + + @override + String get deleteAccountReasonMissingFeatures => 'خصوصیات کی کمی'; + + @override + String get deleteAccountReasonPrivacy => 'پرائیویسی کے خدشات'; + + @override + String get deleteAccountReasonClearData => + 'میں صرف اپنے ڈیٹا کو صاف کرنا چاہتا تھا'; + + @override + String get deleteAccountReasonOther => 'دوسرا'; + + @override + String get deleteAccountFeedbackHint => 'اپنی رائے کا اظہار کریں'; + + @override + String get deleteAccountProgressMessage => 'ਤੁਹਾਡਾ ਖਾਤਾ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ...'; + + @override + String get deleteAccountDeletingButton => 'مٹانا'; + + @override + String get deleteAccountUndoButton => 'ਰੱਦ ਕਰੋ'; + + @override + String get deleteAccountSuccessToast => 'تُہاڈا اکاؤنٹ حذف کر دیا گیا ہے۔'; + + @override + String get deleteAccountErrorToast => + 'اکاؤنٹ حذف کرنے میں ناکامی ہوئی۔ براہ کرم دوبارہ کوشش کریں۔'; + + @override + String get emailClientUnavailableToast => + 'اس ڈیوائس پر کوئی ای میل ایپ دستیاب نہیں ہے۔ براہ کرم support@doctorina.com پر دستی طور پر رابطہ کریں۔'; +} diff --git a/example/lib/src/generated/settings/settings_localization_pl.dart b/example/lib/src/generated/settings/settings_localization_pl.dart new file mode 100644 index 0000000..514f779 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_pl.dart @@ -0,0 +1,256 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Polish (`pl`). +class SettingsLocalizationPl extends SettingsLocalization { + SettingsLocalizationPl([String locale = 'pl']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Wyczyść wszystkie czaty'; + + @override + String get sectionClearAllChatsSubtitle => + 'To na zawsze usunie historię czatów.'; + + @override + String get sectionClearAllChatsButton => 'Wyczyść wszystkie czaty'; + + @override + String get sectionClearAllChatsEmailTheme => 'Wyczyść wszystkie czaty'; + + @override + String get sectionDeleteAccountTitle => 'Usuń konto'; + + @override + String get sectionDeleteAccountSubtitle => + 'Usunięcie konta to trwała czynność i nie można jej cofnąć.'; + + @override + String get sectionDeleteAccountButton => 'Usuń'; + + @override + String get sectionDeleteAccountTheme => 'Usuń konto'; + + @override + String get sectionLogOutTitle => 'Wyloguj się'; + + @override + String get sectionLogOutSubtitle => 'Zostaniesz wylogowany ze swojego konta'; + + @override + String get sectionLogOutButton => 'Wyloguj się'; + + @override + String get sendBugReportButton => 'Wyślij raport o błędzie'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Wyślij wiadomość za pomocą [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Wyślij wiadomość za pomocą [⏎ Enter] i nową linię za pomocą [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Wyślij za pomocą [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Polityka prywatności'; + + @override + String get sectionSelectLocaleTitle => 'Język'; + + @override + String get sectionSelectLocaleSubtitle => + 'Wybierz preferowany język interfejsu aplikacji'; + + @override + String get sectionSwitchThemeTitle => 'Tryb ciemny'; + + @override + String get sectionSwitchThemeSubtitle => + 'Włącz tryb ciemny, aby uzyskać komfortowe wrażenia podczas przeglądania w słabym świetle'; + + @override + String get sectionLogsTitle => 'Dzienniki'; + + @override + String get sectionLogsSubtitle => + 'Wyświetl i zarządzaj dziennikami aplikacji w celu debugowania'; + + @override + String get doneButton => 'Gotowe'; + + @override + String get bugReportDialogTitle => 'Zgłoszenie błędu'; + + @override + String get bugReportDialogHintText => + 'Proszę opisać błąd, na który napotkałeś'; + + @override + String get attachFilesButtonTooltip => 'Dołącz pliki'; + + @override + String get filePickerError => 'Nie udało się wybrać plików'; + + @override + String get emptyBugReportError => + 'Proszę najpierw wprowadzić zgłoszenie błędu'; + + @override + String get failedToSendBugReportError => + 'Nie udało się wysłać zgłoszenia błędu'; + + @override + String get sectionManageSubscriptionTitle => 'Zarządzaj subskrypcją'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Zarządzaj ustawieniami subskrypcji'; + + @override + String get sectionHapticFeedbackTitle => 'Wibracja'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Włącz lub wyłącz sprzężenie zwrotne dotykowe (wibracje) na obsługiwanych urządzeniach'; + + @override + String get sectionNotificationTitle => 'Włącz powiadomienia'; + + @override + String get sectionNotificationSubtitle => + 'Bądź na bieżąco, gdy Doctorina znajdzie coś ważnego w Twoich czatach, raportach lub objawach.'; + + @override + String get sectionAccountTitle => 'Konto'; + + @override + String get sectionAppTitle => 'Aplikacja'; + + @override + String get sectionAboutTitle => 'O nas'; + + @override + String get sectionNotificationsTitle => 'Powiadomienia'; + + @override + String get sectionVideoTutorialsTitle => 'Samouczki wideo'; + + @override + String get accountPhoneLabel => 'Telefon'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Nazwa'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Pominięto $count plików z powodu duplikatów z istniejącymi plikami'; + } + + @override + String get bugReportTypeSectionLabel => 'Typ'; + + @override + String get bugReportDescriptionSectionLabel => 'Opis'; + + @override + String get bugReportAttachmentsSectionLabel => 'Załączniki'; + + @override + String get bugReportTypeBug => 'Błąd'; + + @override + String get bugReportTypeCrash => 'Awaria'; + + @override + String get bugReportTypeUiIssue => 'Problem z interfejsem'; + + @override + String get bugReportTypeOther => 'Inne'; + + @override + String get deleteAccountWarningMessage => + 'Usunięcie konta na zawsze usunie twoje dane z Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Zanim usuniesz'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Masz aktywną subskrypcję przez $store. Usunięcie konta jej nie anuluje.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Anuluj subskrypcję w $store'; + } + + @override + String get deleteAccountContinueButton => 'Kontynuuj'; + + @override + String get deleteAccountFormDescription => + 'Przykro nam, że odchodzisz. Czy na pewno chcesz usunąć swoje konto? Po potwierdzeniu twoje dane zostaną usunięte.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'Nie używam już aplikacji'; + + @override + String get deleteAccountReasonFoundBetter => 'Znalazło się coś lepszego'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Problemy techniczne'; + + @override + String get deleteAccountReasonEaseOfUse => 'Problemy z użytecznością'; + + @override + String get deleteAccountReasonMissingFeatures => 'Brakujące funkcje'; + + @override + String get deleteAccountReasonPrivacy => 'Obawy o prywatność'; + + @override + String get deleteAccountReasonClearData => 'Po prostu chcę usunąć swoje dane'; + + @override + String get deleteAccountReasonOther => 'Inne'; + + @override + String get deleteAccountFeedbackHint => 'Podziel się swoją opinią'; + + @override + String get deleteAccountProgressMessage => 'Usuwam twoje konto...'; + + @override + String get deleteAccountDeletingButton => 'Usuwanie'; + + @override + String get deleteAccountUndoButton => 'Cofnij'; + + @override + String get deleteAccountSuccessToast => 'Twoje konto zostało usunięte.'; + + @override + String get deleteAccountErrorToast => + 'Nie udało się usunąć konta. Spróbuj ponownie.'; + + @override + String get emailClientUnavailableToast => + 'Na tym urządzeniu nie ma dostępnej aplikacji e-mail. Proszę skontaktować się z support@doctorina.com ręcznie.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_ps.dart b/example/lib/src/generated/settings/settings_localization_ps.dart new file mode 100644 index 0000000..706fb3e --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_ps.dart @@ -0,0 +1,255 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Pushto Pashto (`ps`). +class SettingsLocalizationPs extends SettingsLocalization { + SettingsLocalizationPs([String locale = 'ps']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'ټول چټونه پاک کړئ'; + + @override + String get sectionClearAllChatsSubtitle => + 'دا به ستاسو د خبرو تاریخ په بشپړه توګه له منځه یوسي.'; + + @override + String get sectionClearAllChatsButton => 'ټول چټونه پاک کړئ'; + + @override + String get sectionClearAllChatsEmailTheme => 'ټول چټونه پاک کړئ'; + + @override + String get sectionDeleteAccountTitle => 'حساب حذف کړئ'; + + @override + String get sectionDeleteAccountSubtitle => + 'ستاسو حساب حذفول یوه دایمي عمل دی او نه شي بدلیدلی.'; + + @override + String get sectionDeleteAccountButton => 'حذف'; + + @override + String get sectionDeleteAccountTheme => 'حساب حذف کړئ'; + + @override + String get sectionLogOutTitle => 'د وتلو'; + + @override + String get sectionLogOutSubtitle => 'تاسو به له خپل حساب څخه وتل شئ.'; + + @override + String get sectionLogOutButton => 'د وتلو لپاره'; + + @override + String get sendBugReportButton => 'بګ راپور واستوئ'; + + @override + String get sectionSendMessageWithEnterTitle => 'پیغام د [⏎ Enter] سره واستوئ'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'پیغام د [⏎ Enter] سره واستوئ او نوې کرښه د [Shift] + [⏎ Enter] سره'; + + @override + String get sectionSendMessageEnter => 'لېږل د [⏎ Enter] سره'; + + @override + String get sectionPrivacyPolicy => 'د محرمیت پالیسي'; + + @override + String get sectionSelectLocaleTitle => 'ژبه'; + + @override + String get sectionSelectLocaleSubtitle => + 'د اپلیکیشن انٹرفیس لپاره خپله خوښه ژبه وټاکئ'; + + @override + String get sectionSwitchThemeTitle => 'تاریک حالت'; + + @override + String get sectionSwitchThemeSubtitle => + 'د تیاره حالت فعال کړئ ترڅو په ټیټه رڼا کې د آرامه لید تجربه ولرئ'; + + @override + String get sectionLogsTitle => 'لاگونه'; + + @override + String get sectionLogsSubtitle => + 'د غوښتنلیک لاګونه وګورئ او اداره کړئ د خطا موندنې لپاره'; + + @override + String get doneButton => 'پایان'; + + @override + String get bugReportDialogTitle => 'د تېروتنې راپور'; + + @override + String get bugReportDialogHintText => + 'مهرباني وکړئ هغه تېروتنه چې تاسو ورسره مخ شوئ تشريح کړئ'; + + @override + String get attachFilesButtonTooltip => 'فایلونه ضمیمه کړئ'; + + @override + String get filePickerError => 'د فایلونو انتخاب کې ناکامي'; + + @override + String get emptyBugReportError => 'لطفاً لومړی د خطا راپور داخل کړئ'; + + @override + String get failedToSendBugReportError => 'د تېروتنې راپور لیږل ناکام شول'; + + @override + String get sectionManageSubscriptionTitle => 'د ګډون مدیریت'; + + @override + String get sectionManageSubscriptionSubtitle => + 'د خپل ګډون ترتیبات مدیریت کړئ'; + + @override + String get sectionHapticFeedbackTitle => 'حسی فیڈبیک'; + + @override + String get sectionHapticFeedbackSubtitle => + 'د ملاتړ شوي وسایلو کې هپتیک فیډبیک (لرزه) فعال یا غیر فعال کړئ'; + + @override + String get sectionNotificationTitle => 'خبرتیاوې فعال کړئ'; + + @override + String get sectionNotificationSubtitle => + 'د ډاکټرینا په خبرو اترو، راپورونو، یا نښو کې کله چې څه مهم ومومي تازه اوسئ.'; + + @override + String get sectionAccountTitle => 'حساب'; + + @override + String get sectionAppTitle => 'ایپ'; + + @override + String get sectionAboutTitle => 'په اړه'; + + @override + String get sectionNotificationsTitle => 'خبرتیاوې'; + + @override + String get sectionVideoTutorialsTitle => 'ویدیو ښوونې'; + + @override + String get accountPhoneLabel => 'تلیفون'; + + @override + String get accountEmailLabel => 'برېښنالیک'; + + @override + String get accountNameLabel => 'نوم'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'د موجوده فایلونو سره د تکرار له امله $count فایلونه پریښودل شوي'; + } + + @override + String get bugReportTypeSectionLabel => 'ډول'; + + @override + String get bugReportDescriptionSectionLabel => 'تفصیل'; + + @override + String get bugReportAttachmentsSectionLabel => 'ضمیمه'; + + @override + String get bugReportTypeBug => 'خطا'; + + @override + String get bugReportTypeCrash => 'راپرسی د ناکامۍ'; + + @override + String get bugReportTypeUiIssue => 'د UI ستونزه'; + + @override + String get bugReportTypeOther => 'نور'; + + @override + String get deleteAccountWarningMessage => + 'حساب مو حذف کول به ستاسو معلومات د Doctorina نه په تلپاتې توګه لیرې کړي.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'مخکې له دې چې تاسو حذف کړئ'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'تاسو د $store له لارې فعاله ګډون لرئ. د خپل حساب حذف کول به دا لغو نه کړي.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'د $store کې د ګډون لغوه کول'; + } + + @override + String get deleteAccountContinueButton => 'ادامه'; + + @override + String get deleteAccountFormDescription => + 'موږ د دې لپاره خواشینی یو چې تاسو ځئ. آیا تاسو باوري یاست چې غواړئ خپل حساب حذف کړئ؟ یو ځل چې تاسو تایید کړئ، ستاسو معلومات به له منځه لاړ شي.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'زه نور د دې اپلیکیشن نه استفاده نه کوم'; + + @override + String get deleteAccountReasonFoundBetter => 'یو غوره انتخاب وموندل'; + + @override + String get deleteAccountReasonTechnicalIssues => 'تخنیکي ستونزې'; + + @override + String get deleteAccountReasonEaseOfUse => 'د کارولو ستونزې'; + + @override + String get deleteAccountReasonMissingFeatures => 'د ځانګړتیاوو نشتوالی'; + + @override + String get deleteAccountReasonPrivacy => 'د پټتیا اندیښنې'; + + @override + String get deleteAccountReasonClearData => + 'زه یوازې غوښتل چې خپل معلومات پاک کړم'; + + @override + String get deleteAccountReasonOther => 'نور'; + + @override + String get deleteAccountFeedbackHint => 'خپل نظر شریک کړئ'; + + @override + String get deleteAccountProgressMessage => 'ستاسو حساب حذف کول...'; + + @override + String get deleteAccountDeletingButton => 'حذف کول'; + + @override + String get deleteAccountUndoButton => 'بېرته واچول'; + + @override + String get deleteAccountSuccessToast => 'ستاسو حساب حذف شو.'; + + @override + String get deleteAccountErrorToast => + 'د حساب حذف کولو کې ناکامي. مهرباني وکړئ بیا هڅه وکړئ.'; + + @override + String get emailClientUnavailableToast => + 'په دې وسیله کې هیڅ بریښنالیک غوښتنلیک شتون نلري. مهرباني وکړئ support@doctorina.com ته په لاسي ډول اړیکه ونیسئ.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_pt.dart b/example/lib/src/generated/settings/settings_localization_pt.dart index 04daa2e..777b531 100644 --- a/example/lib/src/generated/settings/settings_localization_pt.dart +++ b/example/lib/src/generated/settings/settings_localization_pt.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,20 +11,17 @@ class SettingsLocalizationPt extends SettingsLocalization { SettingsLocalizationPt([String locale = 'pt']) : super(locale); @override - String get title => 'Configurações de Conta'; - - @override - String get sectionClearAllChatsTitle => 'Limpar todos os chats'; + String get sectionClearAllChatsTitle => 'Limpar Todas as Conversas'; @override String get sectionClearAllChatsSubtitle => 'Isso excluirá permanentemente seu histórico de bate-papo.'; @override - String get sectionClearAllChatsButton => 'Limpar todos os chats'; + String get sectionClearAllChatsButton => 'Limpar todas as conversas'; @override - String get sectionClearAllChatsEmailTheme => 'Limpar todos os chats'; + String get sectionClearAllChatsEmailTheme => 'Limpar todas as conversas'; @override String get sectionDeleteAccountTitle => 'Excluir conta'; @@ -52,15 +49,21 @@ class SettingsLocalizationPt extends SettingsLocalization { String get sendBugReportButton => 'Enviar relatório de bug'; @override - String get sectionSendMessageWithShiftEnterTitle => + String get sectionSendMessageWithEnterTitle => 'Enviar mensagem com [⏎ Enter]'; @override - String get sectionSendMessageWithShiftEnterSubtitle => + String get sectionSendMessageWithEnterSubtitle => 'Envie uma mensagem com [⏎ Enter] e uma nova linha com [Shift] + [⏎ Enter]'; @override - String get sectionSelectLocaleTitle => 'Linguagem'; + String get sectionSendMessageEnter => 'Enviar com [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Política de Privacidade'; + + @override + String get sectionSelectLocaleTitle => 'Idioma'; @override String get sectionSelectLocaleSubtitle => @@ -71,24 +74,24 @@ class SettingsLocalizationPt extends SettingsLocalization { @override String get sectionSwitchThemeSubtitle => - 'Ative o modo escuro para uma experiência de visualização confortável com pouca luz'; + 'Ative o modo escuro para uma experiência de visualização confortável em baixa luminosidade'; @override String get sectionLogsTitle => 'Registros'; @override String get sectionLogsSubtitle => - 'Visualizar e gerenciar logs de aplicativos para depuração'; + 'Visualize e gerencie os logs da aplicação para depuração'; @override - String get doneButton => 'Feito'; + String get doneButton => 'Concluído'; @override String get bugReportDialogTitle => 'Relatório de bug'; @override String get bugReportDialogHintText => - 'Por favor descreva o bug que você encontrou'; + 'Por favor, descreva o bug que você encontrou'; @override String get attachFilesButtonTooltip => 'Anexar arquivos'; @@ -98,17 +101,157 @@ class SettingsLocalizationPt extends SettingsLocalization { @override String get emptyBugReportError => - 'Por favor, insira um relatório de bug primeiro'; + 'Por favor, insira primeiro um relatório de bug'; @override - String get failedToSendBugReportError => 'Falha ao enviar relatório de bug'; + String get failedToSendBugReportError => 'Falha ao enviar o relatório de bug'; @override String get sectionManageSubscriptionTitle => 'Gerenciar assinatura'; @override String get sectionManageSubscriptionSubtitle => - 'Gerencie suas configurações de assinatura'; + 'Gerencie as configurações da sua assinatura'; + + @override + String get sectionHapticFeedbackTitle => 'Feedback háptico'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Ative ou desative o feedback tátil (vibração) nos dispositivos compatíveis'; + + @override + String get sectionNotificationTitle => 'Ativar notificações'; + + @override + String get sectionNotificationSubtitle => + 'Fique atualizado quando a Doctorina encontrar algo importante em suas conversas, relatórios ou sintomas.'; + + @override + String get sectionAccountTitle => 'Conta'; + + @override + String get sectionAppTitle => 'Aplicativo'; + + @override + String get sectionAboutTitle => 'Sobre'; + + @override + String get sectionNotificationsTitle => 'Notificações'; + + @override + String get sectionVideoTutorialsTitle => 'Tutoriais em vídeo'; + + @override + String get accountPhoneLabel => 'Telefone'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Nome'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Ignorados $count arquivos devido a duplicatas com arquivos existentes'; + } + + @override + String get bugReportTypeSectionLabel => 'Tipo'; + + @override + String get bugReportDescriptionSectionLabel => 'Descrição'; + + @override + String get bugReportAttachmentsSectionLabel => 'Anexos'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Crash'; + + @override + String get bugReportTypeUiIssue => 'Problema de interface do usuário'; + + @override + String get bugReportTypeOther => 'Outro'; + + @override + String get deleteAccountWarningMessage => + 'Excluir sua conta removerá permanentemente seus dados do Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Antes de excluir'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Você tem uma assinatura ativa através do $store. Excluir sua conta não cancelará isso.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Cancelar assinatura no $store'; + } + + @override + String get deleteAccountContinueButton => 'Continuar'; + + @override + String get deleteAccountFormDescription => + 'Lamentamos vê-lo partir. Você tem certeza de que deseja excluir sua conta? Uma vez que você confirmar, seus dados serão perdidos.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'Não uso mais o aplicativo'; + + @override + String get deleteAccountReasonFoundBetter => 'Encontrei algo melhor'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Problemas técnicos'; + + @override + String get deleteAccountReasonEaseOfUse => 'Problemas de usabilidade'; + + @override + String get deleteAccountReasonMissingFeatures => 'Recursos ausentes'; + + @override + String get deleteAccountReasonPrivacy => 'Preocupações com a privacidade'; + + @override + String get deleteAccountReasonClearData => 'Eu só queria limpar meus dados'; + + @override + String get deleteAccountReasonOther => 'Outro'; + + @override + String get deleteAccountFeedbackHint => 'Compartilhe seu feedback'; + + @override + String get deleteAccountProgressMessage => 'Excluindo sua conta...'; + + @override + String get deleteAccountDeletingButton => 'Excluindo'; + + @override + String get deleteAccountUndoButton => 'Desfazer'; + + @override + String get deleteAccountSuccessToast => 'Sua conta foi excluída.'; + + @override + String get deleteAccountErrorToast => + 'Falha ao excluir a conta. Por favor, tente novamente.'; + + @override + String get emailClientUnavailableToast => + 'Nenhum aplicativo de e-mail está disponível neste dispositivo. Por favor, entre em contato manualmente com support@doctorina.com.'; } /// The translations for Portuguese, as used in Brazil (`pt_BR`). @@ -116,20 +259,17 @@ class SettingsLocalizationPtBr extends SettingsLocalizationPt { SettingsLocalizationPtBr() : super('pt_BR'); @override - String get title => 'Configurações de Conta'; - - @override - String get sectionClearAllChatsTitle => 'Limpar todos os chats'; + String get sectionClearAllChatsTitle => 'Limpar Todas as Conversas'; @override String get sectionClearAllChatsSubtitle => 'Isso excluirá permanentemente seu histórico de bate-papo.'; @override - String get sectionClearAllChatsButton => 'Limpar todos os chats'; + String get sectionClearAllChatsButton => 'Limpar todas as conversas'; @override - String get sectionClearAllChatsEmailTheme => 'Limpar todos os chats'; + String get sectionClearAllChatsEmailTheme => 'Limpar todas as conversas'; @override String get sectionDeleteAccountTitle => 'Excluir conta'; @@ -157,15 +297,21 @@ class SettingsLocalizationPtBr extends SettingsLocalizationPt { String get sendBugReportButton => 'Enviar relatório de bug'; @override - String get sectionSendMessageWithShiftEnterTitle => + String get sectionSendMessageWithEnterTitle => 'Enviar mensagem com [⏎ Enter]'; @override - String get sectionSendMessageWithShiftEnterSubtitle => + String get sectionSendMessageWithEnterSubtitle => 'Envie uma mensagem com [⏎ Enter] e uma nova linha com [Shift] + [⏎ Enter]'; @override - String get sectionSelectLocaleTitle => 'Linguagem'; + String get sectionSendMessageEnter => 'Enviar com [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Política de Privacidade'; + + @override + String get sectionSelectLocaleTitle => 'Idioma'; @override String get sectionSelectLocaleSubtitle => @@ -176,24 +322,24 @@ class SettingsLocalizationPtBr extends SettingsLocalizationPt { @override String get sectionSwitchThemeSubtitle => - 'Ative o modo escuro para uma experiência de visualização confortável com pouca luz'; + 'Ative o modo escuro para uma experiência de visualização confortável em baixa luminosidade'; @override String get sectionLogsTitle => 'Registros'; @override String get sectionLogsSubtitle => - 'Visualizar e gerenciar logs de aplicativos para depuração'; + 'Visualize e gerencie os logs da aplicação para depuração'; @override - String get doneButton => 'Feito'; + String get doneButton => 'Concluído'; @override String get bugReportDialogTitle => 'Relatório de bug'; @override String get bugReportDialogHintText => - 'Por favor descreva o bug que você encontrou'; + 'Por favor, descreva o bug que você encontrou'; @override String get attachFilesButtonTooltip => 'Anexar arquivos'; @@ -203,15 +349,155 @@ class SettingsLocalizationPtBr extends SettingsLocalizationPt { @override String get emptyBugReportError => - 'Por favor, insira um relatório de bug primeiro'; + 'Por favor, insira primeiro um relatório de bug'; @override - String get failedToSendBugReportError => 'Falha ao enviar relatório de bug'; + String get failedToSendBugReportError => 'Falha ao enviar o relatório de bug'; @override String get sectionManageSubscriptionTitle => 'Gerenciar assinatura'; @override String get sectionManageSubscriptionSubtitle => - 'Gerencie suas configurações de assinatura'; + 'Gerencie as configurações da sua assinatura'; + + @override + String get sectionHapticFeedbackTitle => 'Feedback háptico'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Ative ou desative o feedback tátil (vibração) nos dispositivos compatíveis'; + + @override + String get sectionNotificationTitle => 'Ativar notificações'; + + @override + String get sectionNotificationSubtitle => + 'Fique atualizado quando a Doctorina encontrar algo importante em suas conversas, relatórios ou sintomas.'; + + @override + String get sectionAccountTitle => 'Conta'; + + @override + String get sectionAppTitle => 'Aplicativo'; + + @override + String get sectionAboutTitle => 'Sobre'; + + @override + String get sectionNotificationsTitle => 'Notificações'; + + @override + String get sectionVideoTutorialsTitle => 'Tutoriais em vídeo'; + + @override + String get accountPhoneLabel => 'Telefone'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Nome'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Ignorados $count arquivos devido a duplicatas com arquivos existentes'; + } + + @override + String get bugReportTypeSectionLabel => 'Tipo'; + + @override + String get bugReportDescriptionSectionLabel => 'Descrição'; + + @override + String get bugReportAttachmentsSectionLabel => 'Anexos'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Crash'; + + @override + String get bugReportTypeUiIssue => 'Problema de interface do usuário'; + + @override + String get bugReportTypeOther => 'Outro'; + + @override + String get deleteAccountWarningMessage => + 'Excluir sua conta removerá permanentemente seus dados do Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Antes de excluir'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Você tem uma assinatura ativa através do $store. Excluir sua conta não cancelará isso.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Cancelar assinatura no $store'; + } + + @override + String get deleteAccountContinueButton => 'Continuar'; + + @override + String get deleteAccountFormDescription => + 'Lamentamos vê-lo partir. Você tem certeza de que deseja excluir sua conta? Uma vez que você confirmar, seus dados serão perdidos.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'Não uso mais o aplicativo'; + + @override + String get deleteAccountReasonFoundBetter => 'Encontrei algo melhor'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Problemas técnicos'; + + @override + String get deleteAccountReasonEaseOfUse => 'Problemas de usabilidade'; + + @override + String get deleteAccountReasonMissingFeatures => 'Recursos ausentes'; + + @override + String get deleteAccountReasonPrivacy => 'Preocupações com a privacidade'; + + @override + String get deleteAccountReasonClearData => 'Eu só queria limpar meus dados'; + + @override + String get deleteAccountReasonOther => 'Outro'; + + @override + String get deleteAccountFeedbackHint => 'Compartilhe seu feedback'; + + @override + String get deleteAccountProgressMessage => 'Excluindo sua conta...'; + + @override + String get deleteAccountDeletingButton => 'Excluindo'; + + @override + String get deleteAccountUndoButton => 'Desfazer'; + + @override + String get deleteAccountSuccessToast => 'Sua conta foi excluída.'; + + @override + String get deleteAccountErrorToast => + 'Falha ao excluir a conta. Por favor, tente novamente.'; + + @override + String get emailClientUnavailableToast => + 'Nenhum aplicativo de e-mail está disponível neste dispositivo. Por favor, entre em contato manualmente com support@doctorina.com.'; } diff --git a/example/lib/src/generated/settings/settings_localization_ro.dart b/example/lib/src/generated/settings/settings_localization_ro.dart new file mode 100644 index 0000000..f55d363 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_ro.dart @@ -0,0 +1,257 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Romanian Moldavian Moldovan (`ro`). +class SettingsLocalizationRo extends SettingsLocalization { + SettingsLocalizationRo([String locale = 'ro']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Șterge toate conversațiile'; + + @override + String get sectionClearAllChatsSubtitle => + 'Aceasta va șterge permanent istoricul conversațiilor tale.'; + + @override + String get sectionClearAllChatsButton => 'Șterge toate conversațiile'; + + @override + String get sectionClearAllChatsEmailTheme => 'Șterge toate conversațiile'; + + @override + String get sectionDeleteAccountTitle => 'Șterge contul'; + + @override + String get sectionDeleteAccountSubtitle => + 'Ștergerea contului tău este o acțiune permanentă și nu poate fi anulată.'; + + @override + String get sectionDeleteAccountButton => 'Șterge'; + + @override + String get sectionDeleteAccountTheme => 'Șterge contul'; + + @override + String get sectionLogOutTitle => 'Deconectare'; + + @override + String get sectionLogOutSubtitle => + 'Veți fi deconectat din contul dumneavoastră.'; + + @override + String get sectionLogOutButton => 'Deconectare'; + + @override + String get sendBugReportButton => 'Trimite raport de eroare'; + + @override + String get sectionSendMessageWithEnterTitle => 'Trimite mesaj cu [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Trimite un mesaj cu [⏎ Enter] și o linie nouă cu [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Trimite cu [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Politica de confidențialitate'; + + @override + String get sectionSelectLocaleTitle => 'Limba'; + + @override + String get sectionSelectLocaleSubtitle => + 'Selectați limba preferată pentru interfața aplicației'; + + @override + String get sectionSwitchThemeTitle => 'Mod întunecat'; + + @override + String get sectionSwitchThemeSubtitle => + 'Activați modul întunecat pentru o experiență de vizionare confortabilă în lumină scăzută'; + + @override + String get sectionLogsTitle => 'Jurnale'; + + @override + String get sectionLogsSubtitle => + 'Vizualizați și gestionați jurnalele aplicației pentru depanare'; + + @override + String get doneButton => 'Finalizat'; + + @override + String get bugReportDialogTitle => 'Raport de eroare'; + + @override + String get bugReportDialogHintText => 'Vă rugăm să descrieți bug-ul întâlnit'; + + @override + String get attachFilesButtonTooltip => 'Atașați fișiere'; + + @override + String get filePickerError => 'Nu s-au putut selecta fișierele'; + + @override + String get emptyBugReportError => + 'Vă rugăm să introduceți mai întâi un raport de eroare'; + + @override + String get failedToSendBugReportError => + 'A eșuat trimiterea raportului de eroare'; + + @override + String get sectionManageSubscriptionTitle => 'Gestionați abonamentul'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Gestionează setările abonamentului tău'; + + @override + String get sectionHapticFeedbackTitle => 'Feedback haptic'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Activați sau dezactivați feedback-ul haptic (vibrație) pe dispozitivele acceptate'; + + @override + String get sectionNotificationTitle => 'Activați notificările'; + + @override + String get sectionNotificationSubtitle => + 'Rămâi la curent când Doctorina găsește ceva important în conversațiile, rapoartele sau simptomele tale.'; + + @override + String get sectionAccountTitle => 'Cont'; + + @override + String get sectionAppTitle => 'Aplicație'; + + @override + String get sectionAboutTitle => 'Despre'; + + @override + String get sectionNotificationsTitle => 'Notificări'; + + @override + String get sectionVideoTutorialsTitle => 'Tutoriale video'; + + @override + String get accountPhoneLabel => 'Telefon'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Nume'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Au fost omise $count fișiere din cauza duplicatelor cu fișierele existente'; + } + + @override + String get bugReportTypeSectionLabel => 'Tip'; + + @override + String get bugReportDescriptionSectionLabel => 'Descriere'; + + @override + String get bugReportAttachmentsSectionLabel => 'Atașamente'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Crăpare'; + + @override + String get bugReportTypeUiIssue => 'Problemă de interfață'; + + @override + String get bugReportTypeOther => 'Altele'; + + @override + String get deleteAccountWarningMessage => + 'Ștergerea contului dvs. va elimina permanent datele dvs. din Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Înainte să ștergi'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Aveți un abonament activ prin $store. Ștergerea contului dumneavoastră nu îl va anula.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Anulează abonamentul în $store'; + } + + @override + String get deleteAccountContinueButton => 'Continuare'; + + @override + String get deleteAccountFormDescription => + 'Ne pare rău să te vedem plecând. Ești sigur că vrei să îți ștergi contul? Odată ce confirmi, datele tale vor fi șterse.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'Nu mai folosesc aplicația'; + + @override + String get deleteAccountReasonFoundBetter => 'Am găsit ceva mai bun'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Probleme tehnice'; + + @override + String get deleteAccountReasonEaseOfUse => 'Probleme de utilizare'; + + @override + String get deleteAccountReasonMissingFeatures => 'Funcții lipsă'; + + @override + String get deleteAccountReasonPrivacy => + 'Îngrijorări legate de confidențialitate'; + + @override + String get deleteAccountReasonClearData => 'Am vrut doar să îmi șterg datele'; + + @override + String get deleteAccountReasonOther => 'Altele'; + + @override + String get deleteAccountFeedbackHint => 'Împărtășește-ți feedback-ul'; + + @override + String get deleteAccountProgressMessage => + 'Se șterge contul dumneavoastră...'; + + @override + String get deleteAccountDeletingButton => 'Ștergere'; + + @override + String get deleteAccountUndoButton => 'Anulează'; + + @override + String get deleteAccountSuccessToast => 'Contul dumneavoastră a fost șters.'; + + @override + String get deleteAccountErrorToast => + 'Nu s-a putut șterge contul. Vă rugăm să încercați din nou.'; + + @override + String get emailClientUnavailableToast => + 'Nici o aplicație de email nu este disponibilă pe acest dispozitiv. Vă rugăm să contactați manual support@doctorina.com.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_ru.dart b/example/lib/src/generated/settings/settings_localization_ru.dart index 25514e6..d27976d 100644 --- a/example/lib/src/generated/settings/settings_localization_ru.dart +++ b/example/lib/src/generated/settings/settings_localization_ru.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,27 +11,24 @@ class SettingsLocalizationRu extends SettingsLocalization { SettingsLocalizationRu([String locale = 'ru']) : super(locale); @override - String get title => 'Настройки'; - - @override - String get sectionClearAllChatsTitle => 'Удалить все чаты'; + String get sectionClearAllChatsTitle => 'Очистить все чаты'; @override String get sectionClearAllChatsSubtitle => - 'Это навсегда удалит вашу историю чатов.'; + 'Это навсегда удалит историю ваших чатов.'; @override - String get sectionClearAllChatsButton => 'Удалить все чаты'; + String get sectionClearAllChatsButton => 'Очистить все чаты'; @override - String get sectionClearAllChatsEmailTheme => 'Удалить все чаты'; + String get sectionClearAllChatsEmailTheme => 'Очистить все чаты'; @override String get sectionDeleteAccountTitle => 'Удалить аккаунт'; @override String get sectionDeleteAccountSubtitle => - 'Удаление аккаунта невозможно отменить.'; + 'Удаление вашего аккаунта является необратимым действием и не может быть отменено.'; @override String get sectionDeleteAccountButton => 'Удалить'; @@ -40,45 +37,51 @@ class SettingsLocalizationRu extends SettingsLocalization { String get sectionDeleteAccountTheme => 'Удалить аккаунт'; @override - String get sectionLogOutTitle => 'Выйти из аккаунта'; + String get sectionLogOutTitle => 'Выйти'; + + @override + String get sectionLogOutSubtitle => 'Вы выйдете из своей учётной записи.'; + + @override + String get sectionLogOutButton => 'Выйти'; @override - String get sectionLogOutSubtitle => 'Вы выходите из своего аккаунта.'; + String get sendBugReportButton => 'Отправить отчёт об ошибке'; @override - String get sectionLogOutButton => 'Выйти из аккаунта'; + String get sectionSendMessageWithEnterTitle => + 'Отправить сообщение с [⏎ Enter]'; @override - String get sendBugReportButton => 'Отправить отчет об ошибке'; + String get sectionSendMessageWithEnterSubtitle => + 'Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]'; @override - String get sectionSendMessageWithShiftEnterTitle => - 'Отправить сообщение с помощью [⏎ Enter]'; + String get sectionSendMessageEnter => 'Отправить с [⏎ Enter]'; @override - String get sectionSendMessageWithShiftEnterSubtitle => - 'Отправьте сообщение с помощью [⏎ Enter] и создайте новую строку с помощью [Shift] + [⏎ Enter]'; + String get sectionPrivacyPolicy => 'Конфиденциальность'; @override String get sectionSelectLocaleTitle => 'Язык'; @override String get sectionSelectLocaleSubtitle => - 'Выберите язык интерфейса приложения'; + 'Выберите предпочитаемый язык интерфейса приложения'; @override String get sectionSwitchThemeTitle => 'Темный режим'; @override String get sectionSwitchThemeSubtitle => - 'Включите темный режим для комфортного просмотра при слабом освещении.'; + 'Включите тёмный режим для комфортного просмотра при слабом освещении'; @override - String get sectionLogsTitle => 'Логи'; + String get sectionLogsTitle => 'Журналы'; @override String get sectionLogsSubtitle => - 'Просмотр и управление журналами приложений для отладки'; + 'Просмотр и управление журналами приложения для отладки'; @override String get doneButton => 'Готово'; @@ -88,7 +91,7 @@ class SettingsLocalizationRu extends SettingsLocalization { @override String get bugReportDialogHintText => - 'Опишите ошибку, с которой вы столкнулись.'; + 'Пожалуйста, опишите ошибку, с которой вы столкнулись'; @override String get attachFilesButtonTooltip => 'Прикрепить файлы'; @@ -97,8 +100,7 @@ class SettingsLocalizationRu extends SettingsLocalization { String get filePickerError => 'Не удалось выбрать файлы'; @override - String get emptyBugReportError => - 'Пожалуйста, сначала отправьте отчет об ошибке'; + String get emptyBugReportError => 'Пожалуйста, введите отчёт об ошибке'; @override String get failedToSendBugReportError => @@ -110,4 +112,147 @@ class SettingsLocalizationRu extends SettingsLocalization { @override String get sectionManageSubscriptionSubtitle => 'Управляйте настройками подписки'; + + @override + String get sectionHapticFeedbackTitle => 'Вибрация'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Включите или отключите тактильную обратную связь (вибрацию) на поддерживаемых устройствах'; + + @override + String get sectionNotificationTitle => 'Включить уведомления'; + + @override + String get sectionNotificationSubtitle => + 'Оставайтесь в курсе, когда Doctorina находит что-то важное в ваших чатах, отчетах или симптомах'; + + @override + String get sectionAccountTitle => 'Аккаунт'; + + @override + String get sectionAppTitle => 'Приложение'; + + @override + String get sectionAboutTitle => 'О приложении'; + + @override + String get sectionNotificationsTitle => 'Уведомления'; + + @override + String get sectionVideoTutorialsTitle => 'Видеоуроки'; + + @override + String get accountPhoneLabel => 'Телефон'; + + @override + String get accountEmailLabel => 'Почта'; + + @override + String get accountNameLabel => 'Имя'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Пропущено $count файлов из-за дубликатов с существующими файлами'; + } + + @override + String get bugReportTypeSectionLabel => 'Тип'; + + @override + String get bugReportDescriptionSectionLabel => 'Описание'; + + @override + String get bugReportAttachmentsSectionLabel => 'Вложения'; + + @override + String get bugReportTypeBug => 'Ошибка'; + + @override + String get bugReportTypeCrash => 'Сбой'; + + @override + String get bugReportTypeUiIssue => 'Проблема с интерфейсом'; + + @override + String get bugReportTypeOther => 'Другое'; + + @override + String get deleteAccountWarningMessage => + 'Удаление вашего аккаунта навсегда удалит ваши данные из Doctorina'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Перед удалением'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'У вас есть активная подписка через $store. Удаление вашего аккаунта не отменит её.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Отменить подписку в $store'; + } + + @override + String get deleteAccountContinueButton => 'Продолжить'; + + @override + String get deleteAccountFormDescription => + 'Нам жаль вас терять. Вы уверены, что хотите удалить свою учетную запись? После подтверждения ваши данные будут удалены.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Я больше не пользуюсь приложением'; + + @override + String get deleteAccountReasonFoundBetter => 'Нашлось что-то получше'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Технические проблемы'; + + @override + String get deleteAccountReasonEaseOfUse => + 'Проблемы с удобством использования'; + + @override + String get deleteAccountReasonMissingFeatures => 'Не хватает функций'; + + @override + String get deleteAccountReasonPrivacy => 'Беспокойство о приватности'; + + @override + String get deleteAccountReasonClearData => + 'Я просто хочу удалить свои данные'; + + @override + String get deleteAccountReasonOther => 'Другое'; + + @override + String get deleteAccountFeedbackHint => 'Поделитесь своим мнением'; + + @override + String get deleteAccountProgressMessage => 'Удаление вашего аккаунта...'; + + @override + String get deleteAccountDeletingButton => 'Удаление'; + + @override + String get deleteAccountUndoButton => 'Отменить'; + + @override + String get deleteAccountSuccessToast => 'Ваш аккаунт был удален.'; + + @override + String get deleteAccountErrorToast => + 'Не удалось удалить аккаунт. Пожалуйста, попробуйте снова.'; + + @override + String get emailClientUnavailableToast => + 'Нет доступного почтового клиента. Пожалуйста, свяжитесь с support@doctorina.com.'; } diff --git a/example/lib/src/generated/settings/settings_localization_si.dart b/example/lib/src/generated/settings/settings_localization_si.dart new file mode 100644 index 0000000..3f397be --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_si.dart @@ -0,0 +1,254 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Sinhala Sinhalese (`si`). +class SettingsLocalizationSi extends SettingsLocalization { + SettingsLocalizationSi([String locale = 'si']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'සියලු කතාබහ මකන්න'; + + @override + String get sectionClearAllChatsSubtitle => + 'මෙය ඔබගේ සංවාද ඉතිහාසය ස්ථායීව මකනු ඇත.'; + + @override + String get sectionClearAllChatsButton => 'සියලු කතාබහ මකන්න'; + + @override + String get sectionClearAllChatsEmailTheme => 'සියලු කතාබහ මකන්න'; + + @override + String get sectionDeleteAccountTitle => 'ගිණුම මකන්න'; + + @override + String get sectionDeleteAccountSubtitle => + 'ඔබගේ ගිණුම මකන එක ස්ථිර ක්‍රියාවක් වන අතර එය ආපසු ගෙන නොහැක.'; + + @override + String get sectionDeleteAccountButton => 'ඉවත් කරන්න'; + + @override + String get sectionDeleteAccountTheme => 'ගිණුම මකන්න'; + + @override + String get sectionLogOutTitle => 'ඉවත් වන්න'; + + @override + String get sectionLogOutSubtitle => 'ඔබගේ ගිණුමෙන් පිටවනු ඇත.'; + + @override + String get sectionLogOutButton => 'ඉවත් වන්න'; + + @override + String get sendBugReportButton => 'දෝෂ වාර්තාව යවන්න'; + + @override + String get sectionSendMessageWithEnterTitle => 'පණිවිඩය යවන්න [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'පණිවුඩයක් යවන්න [⏎ Enter] සහ නව පේළියක් සඳහා [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'පණිවිඩය යවන්න [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'පෞද්ගලිකත්ව ප්‍රතිපත්තිය'; + + @override + String get sectionSelectLocaleTitle => 'භාෂාව'; + + @override + String get sectionSelectLocaleSubtitle => 'අපේක්ෂිත භාෂාව තෝරන්න'; + + @override + String get sectionSwitchThemeTitle => 'අඳුරු ආකාරය'; + + @override + String get sectionSwitchThemeSubtitle => + 'අඩු ආලෝකයේ සුවපහසු දෘෂ්ටියක් සඳහා අඳුරු ආකාරය සක්‍රීය කරන්න'; + + @override + String get sectionLogsTitle => 'ලොග්'; + + @override + String get sectionLogsSubtitle => + 'අයදුම්පත් ලොග් පරීක්ෂා කරන්න සහ කළමනාකරණය කරන්න'; + + @override + String get doneButton => 'සම්පූර්ණයි'; + + @override + String get bugReportDialogTitle => 'බග් වාර්තාව'; + + @override + String get bugReportDialogHintText => + 'කරුණාකර ඔබ encountered කළ දෝෂය විස්තර කරන්න'; + + @override + String get attachFilesButtonTooltip => 'ගොනු අමුණන්න'; + + @override + String get filePickerError => 'ගොනු තෝරා ගැනීමට අසාර්ථකයි'; + + @override + String get emptyBugReportError => 'කරුණාකර පළමුව බග් වාර්තාවක් ඇතුළත් කරන්න'; + + @override + String get failedToSendBugReportError => 'දෝෂ වාර්තාව යැවීමට අසාර්ථකයි'; + + @override + String get sectionManageSubscriptionTitle => 'අභිජනන කළමනාකරණය'; + + @override + String get sectionManageSubscriptionSubtitle => + 'ඔබේ සාමාජිකත්ව සැකසුම් කළමනාකරණය කරන්න'; + + @override + String get sectionHapticFeedbackTitle => 'හැප්ටික් ප්‍රතිචාරය'; + + @override + String get sectionHapticFeedbackSubtitle => + 'සහාය වන උපාංගවල හප්ටික් ප්‍රතිචාරය (කම්පනය) සක්‍රීය හෝ නික්මන්න'; + + @override + String get sectionNotificationTitle => 'Обавезите обавештења'; + + @override + String get sectionNotificationSubtitle => + 'ඔබේ සංවාද, වාර්තා, හෝ ලක්ෂණ වලදී Doctorina කුමක් හෝ වැදගත් දෙයක් සොයා ගන්නා විට යාවත්කාලීන වන්න.'; + + @override + String get sectionAccountTitle => 'ගිණුම'; + + @override + String get sectionAppTitle => 'අයදුම්පත'; + + @override + String get sectionAboutTitle => 'පිළිබඳ'; + + @override + String get sectionNotificationsTitle => 'සැණැල්ලන්'; + + @override + String get sectionVideoTutorialsTitle => 'වීඩියෝ පාඩම්'; + + @override + String get accountPhoneLabel => 'දුරකථනය'; + + @override + String get accountEmailLabel => 'ඊ-මේල්'; + + @override + String get accountNameLabel => 'නම'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'පවතින ගොනු සමඟ අනුපිටපත් වීම නිසා $count ගොනු අතහැර ඇත'; + } + + @override + String get bugReportTypeSectionLabel => 'වර්ගය'; + + @override + String get bugReportDescriptionSectionLabel => 'විස්තරය'; + + @override + String get bugReportAttachmentsSectionLabel => 'අමුණීම්'; + + @override + String get bugReportTypeBug => 'බග්'; + + @override + String get bugReportTypeCrash => 'කඩා වැටීම'; + + @override + String get bugReportTypeUiIssue => 'UI ගැටලුව'; + + @override + String get bugReportTypeOther => 'අනෙකුත්'; + + @override + String get deleteAccountWarningMessage => + 'ඔබගේ ගිණුම මකන විට, ඔබගේ දත්ත Doctorina වෙතින් ස්ථිරවම ඉවත් වේ.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'ඔබ මකා දැමීමට පෙර'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'ඔබට $store හරහා ක්‍රියාත්මක සබැඳියක් ඇත. ඔබගේ ගිණුම මකන විට එය අවලංගු නොවේ.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store හි අනුබන්ධනය අවලංගු කරන්න'; + } + + @override + String get deleteAccountContinueButton => 'ඉදිරියට'; + + @override + String get deleteAccountFormDescription => + 'ඔබට පිටවීමට කණගාටුයි. ඔබට ඔබේ ගිණුම මකන්න අවශ්‍යද? ඔබ තහවුරු කළ විට, ඔබගේ දත්ත අහිමි වේ.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'මට යෙදුම භාවිතා නොකරයි'; + + @override + String get deleteAccountReasonFoundBetter => + 'ආරක්ෂිත වඩා හොඳ දෙයක් සොයා ගත්තා'; + + @override + String get deleteAccountReasonTechnicalIssues => 'තාක්ෂණික ගැටළු'; + + @override + String get deleteAccountReasonEaseOfUse => 'පරිශීලන ගැටළු'; + + @override + String get deleteAccountReasonMissingFeatures => 'අඩු විශේෂාංග'; + + @override + String get deleteAccountReasonPrivacy => 'පෞද්ගලිකත්වය පිළිබඳ කණගාටුකම'; + + @override + String get deleteAccountReasonClearData => + 'මට මගේ දත්ත පිරිසිදු කිරීමට අවශ්‍ය විය'; + + @override + String get deleteAccountReasonOther => 'අනෙකුත්'; + + @override + String get deleteAccountFeedbackHint => 'ඔබේ ප්‍රතිචාරය බෙදා ගන්න'; + + @override + String get deleteAccountProgressMessage => 'ඔබගේ ගිණුම මකමින්...'; + + @override + String get deleteAccountDeletingButton => 'මකන්න'; + + @override + String get deleteAccountUndoButton => 'අවලංගු කරන්න'; + + @override + String get deleteAccountSuccessToast => 'ඔබගේ ගිණුම මකා දැමී ඇත.'; + + @override + String get deleteAccountErrorToast => + 'ගිණුම මකන්න බැරි විය. කරුණාකර නැවත උත්සාහ කරන්න.'; + + @override + String get emailClientUnavailableToast => + 'මෙම උපාංගයේ ඊ-මේල් යෙදුමක් නොමැත. කරුණාකර support@doctorina.com වෙත අතිරේකව සම්බන්ධ වන්න.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_sk.dart b/example/lib/src/generated/settings/settings_localization_sk.dart new file mode 100644 index 0000000..ee29eb4 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_sk.dart @@ -0,0 +1,256 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Slovak (`sk`). +class SettingsLocalizationSk extends SettingsLocalization { + SettingsLocalizationSk([String locale = 'sk']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Vymazať všetky chaty'; + + @override + String get sectionClearAllChatsSubtitle => + 'Toto trvalo vymaže vašu históriu chatov'; + + @override + String get sectionClearAllChatsButton => 'Vymazať všetky chaty'; + + @override + String get sectionClearAllChatsEmailTheme => 'Vymazať všetky chaty'; + + @override + String get sectionDeleteAccountTitle => 'Zmazať účet'; + + @override + String get sectionDeleteAccountSubtitle => + 'Zmazanie vášho účtu je trvalá akcia a nemožno ju zvrátiť.'; + + @override + String get sectionDeleteAccountButton => 'Zmazať'; + + @override + String get sectionDeleteAccountTheme => 'Zmazať účet'; + + @override + String get sectionLogOutTitle => 'Odhlásiť sa'; + + @override + String get sectionLogOutSubtitle => 'Odhlásite sa zo svojho účtu.'; + + @override + String get sectionLogOutButton => 'Odhlásiť sa'; + + @override + String get sendBugReportButton => 'Odoslať hlásenie o chybe'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Odoslať správu pomocou [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Odošlite správu pomocou [⏎ Enter] a nový riadok pomocou [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Odoslať pomocou [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Súkromie'; + + @override + String get sectionSelectLocaleTitle => 'Jazyk'; + + @override + String get sectionSelectLocaleSubtitle => + 'Vyberte si preferovaný jazyk pre rozhranie aplikácie'; + + @override + String get sectionSwitchThemeTitle => 'Tmavý režim'; + + @override + String get sectionSwitchThemeSubtitle => + 'Povoľte tmavý režim pre pohodlné sledovanie v slabom svetle'; + + @override + String get sectionLogsTitle => 'Záznamy'; + + @override + String get sectionLogsSubtitle => + 'Zobraziť a spravovať protokoly aplikácie na ladenie'; + + @override + String get doneButton => 'Hotovo'; + + @override + String get bugReportDialogTitle => 'Hlášenie chyby'; + + @override + String get bugReportDialogHintText => + 'Prosím, opíšte chybu, ktorú ste zaznamenali'; + + @override + String get attachFilesButtonTooltip => 'Pripojiť súbory'; + + @override + String get filePickerError => 'Nepodarilo sa vybrať súbory'; + + @override + String get emptyBugReportError => 'Najprv zadajte hlásenie o chybe'; + + @override + String get failedToSendBugReportError => + 'Nepodarilo sa odoslať hlásenie o chybe'; + + @override + String get sectionManageSubscriptionTitle => 'Spravovať predplatné'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Spravujte nastavenia svojho predplatného'; + + @override + String get sectionHapticFeedbackTitle => 'Haptická spätná väzba'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Povoliť alebo zakázať haptickú spätnú väzbu (vibráciu) na podporovaných zariadeniach'; + + @override + String get sectionNotificationTitle => 'Zapnúť upozornenia'; + + @override + String get sectionNotificationSubtitle => + 'Buďte informovaní, keď Doctorina nájde niečo dôležité vo vašich chatových správach, správach alebo symptómoch.'; + + @override + String get sectionAccountTitle => 'Účet'; + + @override + String get sectionAppTitle => 'Aplikácia'; + + @override + String get sectionAboutTitle => 'O nás'; + + @override + String get sectionNotificationsTitle => 'Upozornenia'; + + @override + String get sectionVideoTutorialsTitle => 'Video tutoriály'; + + @override + String get accountPhoneLabel => 'Telefón'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Meno'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Preskočilo sa $count súborov kvôli duplicitám s existujúcimi súbormi'; + } + + @override + String get bugReportTypeSectionLabel => 'Typ'; + + @override + String get bugReportDescriptionSectionLabel => 'Popis'; + + @override + String get bugReportAttachmentsSectionLabel => 'Prílohy'; + + @override + String get bugReportTypeBug => 'Chyba'; + + @override + String get bugReportTypeCrash => 'Zlyhanie'; + + @override + String get bugReportTypeUiIssue => 'Problém s UI'; + + @override + String get bugReportTypeOther => 'Iné'; + + @override + String get deleteAccountWarningMessage => + 'Vymazanie vášho účtu trvalo odstráni vaše údaje z Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Predtým, než odstránite'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Máte aktívne predplatné cez $store. Odstránenie vášho účtu ho nezruší.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Zrušiť predplatné v $store'; + } + + @override + String get deleteAccountContinueButton => 'Pokračovať'; + + @override + String get deleteAccountFormDescription => + 'Je nám ľúto, že odchádzate. Ste si istý, že chcete zmazať svoj účet? Akonáhle to potvrdíte, vaše údaje budú preč.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'Už nepoužívam aplikáciu'; + + @override + String get deleteAccountReasonFoundBetter => 'Našiel som niečo lepšie'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Technické problémy'; + + @override + String get deleteAccountReasonEaseOfUse => 'Problémy s používaním'; + + @override + String get deleteAccountReasonMissingFeatures => 'Chýbajúce funkcie'; + + @override + String get deleteAccountReasonPrivacy => 'Obavy o súkromie'; + + @override + String get deleteAccountReasonClearData => + 'Proste som chcel vymazať svoje údaje'; + + @override + String get deleteAccountReasonOther => 'Iné'; + + @override + String get deleteAccountFeedbackHint => 'Podeľte sa o svoju spätnú väzbu'; + + @override + String get deleteAccountProgressMessage => 'Odstraňujem váš účet...'; + + @override + String get deleteAccountDeletingButton => 'Odstraňovanie'; + + @override + String get deleteAccountUndoButton => 'Zrušiť'; + + @override + String get deleteAccountSuccessToast => 'Váš účet bol odstránený.'; + + @override + String get deleteAccountErrorToast => + 'Nepodarilo sa odstrániť účet. Skúste to znova.'; + + @override + String get emailClientUnavailableToast => + 'Na tomto zariadení nie je k dispozícii žiadna aplikácia na e-mail. Prosím, kontaktujte support@doctorina.com manuálne.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_sw.dart b/example/lib/src/generated/settings/settings_localization_sw.dart new file mode 100644 index 0000000..6b50b2a --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_sw.dart @@ -0,0 +1,256 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Swahili (`sw`). +class SettingsLocalizationSw extends SettingsLocalization { + SettingsLocalizationSw([String locale = 'sw']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Futa Mazungumzo Yote'; + + @override + String get sectionClearAllChatsSubtitle => + 'Hii itaifuta historia yako ya mazungumzo milele'; + + @override + String get sectionClearAllChatsButton => 'Futa Mazungumzo Yote'; + + @override + String get sectionClearAllChatsEmailTheme => 'Futa Mazungumzo Yote'; + + @override + String get sectionDeleteAccountTitle => 'Futa Akaunti'; + + @override + String get sectionDeleteAccountSubtitle => + 'Kufuta akaunti yako ni kitendo cha kudumu na hakiwezi kubatilishwa.'; + + @override + String get sectionDeleteAccountButton => 'Futa'; + + @override + String get sectionDeleteAccountTheme => 'Futa Akaunti'; + + @override + String get sectionLogOutTitle => 'Toka'; + + @override + String get sectionLogOutSubtitle => 'Utaondolewa kwenye akaunti yako.'; + + @override + String get sectionLogOutButton => 'Toka'; + + @override + String get sendBugReportButton => 'Tuma Ripoti ya Hitilafu'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Tuma ujumbe kwa kutumia [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Tuma ujumbe ukitumia [⏎ Enter] na mstari mpya ukitumia [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Tuma na [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Sera ya Faragha'; + + @override + String get sectionSelectLocaleTitle => 'Lugha'; + + @override + String get sectionSelectLocaleSubtitle => + 'Chagua lugha unayopendelea kwa ajili ya kiolesura cha programu'; + + @override + String get sectionSwitchThemeTitle => 'Hali nyeusi'; + + @override + String get sectionSwitchThemeSubtitle => + 'Washa hali ya giza kwa ajili ya hali nzuri ya kutazama katika mwanga hafifu'; + + @override + String get sectionLogsTitle => 'Kumbukumbu'; + + @override + String get sectionLogsSubtitle => + 'Tazama na udhibiti kumbukumbu za programu kwa ajili ya utatuzi wa matatizo'; + + @override + String get doneButton => 'Imekamilika'; + + @override + String get bugReportDialogTitle => 'Ripoti ya Hitilafu'; + + @override + String get bugReportDialogHintText => + 'Tafadhali eleza hitilafu uliyokutana nayo'; + + @override + String get attachFilesButtonTooltip => 'Ambatisha faili'; + + @override + String get filePickerError => 'Imeshindwa kuchagua faili'; + + @override + String get emptyBugReportError => + 'Tafadhali ingiza ripoti ya hitilafu kwanza'; + + @override + String get failedToSendBugReportError => + 'Imeshindwa kutuma ripoti ya hitilafu'; + + @override + String get sectionManageSubscriptionTitle => 'Dhibiti usajili'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Dhibiti mipangilio yako ya usajili'; + + @override + String get sectionHapticFeedbackTitle => 'Maoni ya Haptic'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Washa au zima mwitikio wa mguso (kutetemeka) kwenye vifaa vinavyounga mkono'; + + @override + String get sectionNotificationTitle => 'Washitisha arifa'; + + @override + String get sectionNotificationSubtitle => + 'Pata habari mpya wakati Doctorina inapogundua jambo muhimu katika mazungumzo yako, ripoti, au dalili.'; + + @override + String get sectionAccountTitle => 'Akaunti'; + + @override + String get sectionAppTitle => 'Programu'; + + @override + String get sectionAboutTitle => 'Kuhusu'; + + @override + String get sectionNotificationsTitle => 'Arifa'; + + @override + String get sectionVideoTutorialsTitle => 'Video tutorials'; + + @override + String get accountPhoneLabel => 'Simu'; + + @override + String get accountEmailLabel => 'Barua pepe'; + + @override + String get accountNameLabel => 'Jina'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Imepuuzia faili $count kutokana na nakala zinazokinzana na faili zilizopo'; + } + + @override + String get bugReportTypeSectionLabel => 'Aina'; + + @override + String get bugReportDescriptionSectionLabel => 'Maelezo'; + + @override + String get bugReportAttachmentsSectionLabel => 'Viambatano'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Ajali'; + + @override + String get bugReportTypeUiIssue => 'Tatizo la UI'; + + @override + String get bugReportTypeOther => 'Nyingine'; + + @override + String get deleteAccountWarningMessage => + 'Kufuta akaunti yako kutafuta data yako kutoka Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Kabla hujaondoa'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Una akaunti yako ina usajili hai kupitia $store. Kufuta akaunti yako hakutakifuta.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Futa usajili katika $store'; + } + + @override + String get deleteAccountContinueButton => 'Endelea'; + + @override + String get deleteAccountFormDescription => + 'Tuna huzuni kukuona ukiondoka. Je, uko tayari kufuta akaunti yako? Mara tu unapothibitisha, data yako itapotea.'; + + @override + String get deleteAccountReasonDontUseAnymore => 'Situmia tena programu'; + + @override + String get deleteAccountReasonFoundBetter => 'Kupata kitu bora'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Masuala ya kiufundi'; + + @override + String get deleteAccountReasonEaseOfUse => 'Masuala ya urahisi wa matumizi'; + + @override + String get deleteAccountReasonMissingFeatures => 'Kukosa vipengele'; + + @override + String get deleteAccountReasonPrivacy => 'Wasiwasi wa faragha'; + + @override + String get deleteAccountReasonClearData => 'Nilitaka tu kufuta data zangu'; + + @override + String get deleteAccountReasonOther => 'Nyingine'; + + @override + String get deleteAccountFeedbackHint => 'Shiriki maoni yako'; + + @override + String get deleteAccountProgressMessage => 'Inafuta akaunti yako...'; + + @override + String get deleteAccountDeletingButton => 'Inafuta'; + + @override + String get deleteAccountUndoButton => 'Rejesha'; + + @override + String get deleteAccountSuccessToast => 'Akaunti yako imefutwa.'; + + @override + String get deleteAccountErrorToast => + 'Imeshindikana kufuta akaunti. Tafadhali jaribu tena.'; + + @override + String get emailClientUnavailableToast => + 'Hakuna programu ya barua pepe inayopatikana kwenye kifaa hiki. Tafadhali wasiliana na support@doctorina.com kwa mkono.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_ta.dart b/example/lib/src/generated/settings/settings_localization_ta.dart new file mode 100644 index 0000000..adc9df6 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_ta.dart @@ -0,0 +1,258 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tamil (`ta`). +class SettingsLocalizationTa extends SettingsLocalization { + SettingsLocalizationTa([String locale = 'ta']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'அதிர்வு'; + + @override + String get sectionClearAllChatsSubtitle => + 'இது உங்கள் உரையாடல் வரலாற்றை நிரந்தரமாக நீக்கும்'; + + @override + String get sectionClearAllChatsButton => 'அரட்டைகளை அழி'; + + @override + String get sectionClearAllChatsEmailTheme => 'அரட்டைகளை அழி'; + + @override + String get sectionDeleteAccountTitle => 'கணக்கை நீக்கு'; + + @override + String get sectionDeleteAccountSubtitle => + 'உங்கள் கணக்கை நீக்குவது நிரந்தர நடவடிக்கையாகும் மற்றும் அதனை திரும்ப பெற முடியாது.'; + + @override + String get sectionDeleteAccountButton => 'அழி'; + + @override + String get sectionDeleteAccountTheme => 'கணக்கை நீக்கு'; + + @override + String get sectionLogOutTitle => 'வெளியேறு'; + + @override + String get sectionLogOutSubtitle => + 'உங்கள் கணக்கிலிருந்து நீங்கள் வெளியேற்றப்படுவீர்கள்.'; + + @override + String get sectionLogOutButton => 'வெளியேறு'; + + @override + String get sendBugReportButton => 'பிழை அறிக்கை அனுப்பு'; + + @override + String get sectionSendMessageWithEnterTitle => + '[⏎ Enter] மூலம் செய்தி அனுப்பவும்'; + + @override + String get sectionSendMessageWithEnterSubtitle => + '[⏎ Enter] அழுத்தி ஒரு செய்தியையும், [Shift] + [⏎ Enter] அழுத்தி ஒரு புதிய வரியையும் அனுப்பவும்.'; + + @override + String get sectionSendMessageEnter => '[⏎ Enter] மூலம் அனுப்பு'; + + @override + String get sectionPrivacyPolicy => 'தனியுரிமை கொள்கை'; + + @override + String get sectionSelectLocaleTitle => 'மொழி'; + + @override + String get sectionSelectLocaleSubtitle => + 'செயலி இடைமுகத்திற்கான உங்கள் விருப்பமான மொழியைத் தேர்ந்தெடுக்கவும்.'; + + @override + String get sectionSwitchThemeTitle => 'இருண்ட பயன்முறை'; + + @override + String get sectionSwitchThemeSubtitle => + 'குறைந்த ஒளியில் வசதியான பார்வை அனுபவத்தைப் பெற டார்க் மோடை இயக்கவும்.'; + + @override + String get sectionLogsTitle => 'பதிவுகள்'; + + @override + String get sectionLogsSubtitle => + 'பிழைதிருத்தத்திற்காக பயன்பாட்டுப் பதிவுகளைப் பார்க்கவும் மற்றும் நிர்வகிக்கவும்.'; + + @override + String get doneButton => 'முடிந்தது'; + + @override + String get bugReportDialogTitle => 'பிழை அறிக்கை'; + + @override + String get bugReportDialogHintText => 'நீங்கள் சந்தித்த பிழையை விவரிக்கவும்.'; + + @override + String get attachFilesButtonTooltip => 'கோப்புகளை இணைக்கவும்'; + + @override + String get filePickerError => 'கோப்புகளை எடுக்க முடியவில்லை'; + + @override + String get emptyBugReportError => 'முதலில் ஒரு பிழை அறிக்கையை உள்ளிடவும்.'; + + @override + String get failedToSendBugReportError => 'பிழை அறிக்கையை அனுப்ப முடியவில்லை'; + + @override + String get sectionManageSubscriptionTitle => 'சந்தாவை நிர்வகிக்கவும்'; + + @override + String get sectionManageSubscriptionSubtitle => + 'உங்கள் சந்தா அமைப்புகளை நிர்வகிக்கவும்'; + + @override + String get sectionHapticFeedbackTitle => 'அதிர்வு'; + + @override + String get sectionHapticFeedbackSubtitle => + 'ஆதரிக்கப்படும் சாதனங்களில் தொட்டு எதிர்வினை (அதிர்வு) ஐ இயக்கவும் அல்லது முடக்கவும்'; + + @override + String get sectionNotificationTitle => 'அறிக்கைகளை இயக்கவும்'; + + @override + String get sectionNotificationSubtitle => + 'உங்கள் உரையாடல்கள், அறிக்கைகள் அல்லது அறிகுறிகளில் டாக்டரினா முக்கியமானதை கண்டுபிடிக்கும்போது புதுப்பிப்புகளைப் பெறுங்கள்.'; + + @override + String get sectionAccountTitle => 'கணக்கு'; + + @override + String get sectionAppTitle => 'பயன்பாடு'; + + @override + String get sectionAboutTitle => 'பற்றி'; + + @override + String get sectionNotificationsTitle => 'அறிவிப்புகள்'; + + @override + String get sectionVideoTutorialsTitle => 'வீடியோ பாடங்கள்'; + + @override + String get accountPhoneLabel => 'தொலைபேசி'; + + @override + String get accountEmailLabel => 'மின்னஞ்சல்'; + + @override + String get accountNameLabel => 'பெயர்'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '$count கோப்புகள் உள்ள கோப்புகளுடன் மோதியதால் தவிர்க்கப்பட்டது'; + } + + @override + String get bugReportTypeSectionLabel => 'வகை'; + + @override + String get bugReportDescriptionSectionLabel => 'விளக்கம்'; + + @override + String get bugReportAttachmentsSectionLabel => 'இணைப்புகள்'; + + @override + String get bugReportTypeBug => 'பிழை'; + + @override + String get bugReportTypeCrash => 'அழிவு'; + + @override + String get bugReportTypeUiIssue => 'யூஎய் சிக்கல்'; + + @override + String get bugReportTypeOther => 'மற்றவை'; + + @override + String get deleteAccountWarningMessage => + 'உங்கள் கணக்கை நீக்குவது உங்கள் தரவுகளை Doctorina-இல் இருந்து நிரந்தரமாக நீக்கும்.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'நீங்கள் நீக்குவதற்கு முன்'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return '$store மூலம் உங்களுக்கு ஒரு செயல்பாட்டில் உள்ள சந்தா உள்ளது. உங்கள் கணக்கை நீக்குவது அதை ரத்து செய்யாது.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store இல் சந்தாவை நிறுத்தவும்'; + } + + @override + String get deleteAccountContinueButton => 'தொடர்க'; + + @override + String get deleteAccountFormDescription => + 'நாங்கள் உங்களை இழக்க வருந்துகிறோம். உங்கள் கணக்கை நீக்க விரும்புகிறீர்களா? நீங்கள் உறுதிப்படுத்தியவுடன், உங்கள் தரவுகள் மறைந்து விடும்.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'நான் செயலியை இனி பயன்படுத்தவில்லை'; + + @override + String get deleteAccountReasonFoundBetter => 'சிறந்த ஒன்றை கண்டுபிடித்தேன்'; + + @override + String get deleteAccountReasonTechnicalIssues => 'தொழில்நுட்ப சிக்கல்கள்'; + + @override + String get deleteAccountReasonEaseOfUse => + 'பயன்பாட்டின் எளிமை தொடர்பான சிக்கல்கள்'; + + @override + String get deleteAccountReasonMissingFeatures => + 'சிறப்பம்சங்கள் குறைவாக உள்ளன'; + + @override + String get deleteAccountReasonPrivacy => 'தனியுரிமை கவலைகள்'; + + @override + String get deleteAccountReasonClearData => + 'நான் என் தரவுகளை அழிக்க விரும்பினேன்'; + + @override + String get deleteAccountReasonOther => 'மற்றவை'; + + @override + String get deleteAccountFeedbackHint => 'உங்கள் கருத்துகளைப் பகிரவும்'; + + @override + String get deleteAccountProgressMessage => 'உங்கள் கணக்கை நீக்குகிறேன்...'; + + @override + String get deleteAccountDeletingButton => 'அழிக்கிறது'; + + @override + String get deleteAccountUndoButton => 'மீட்டெடுக்கவும்'; + + @override + String get deleteAccountSuccessToast => 'உங்கள் கணக்கு நீக்கப்பட்டுள்ளது.'; + + @override + String get deleteAccountErrorToast => + 'கணக்கை நீக்க முடியவில்லை. தயவுசெய்து மீண்டும் முயற்சிக்கவும்.'; + + @override + String get emailClientUnavailableToast => + 'இந்த சாதனத்தில் மின்னஞ்சல் செயலி கிடைக்கவில்லை. தயவுசெய்து support@doctorina.com என்ற முகவரிக்கு கையால் தொடர்பு கொள்ளவும்.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_te.dart b/example/lib/src/generated/settings/settings_localization_te.dart new file mode 100644 index 0000000..9cd268c --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_te.dart @@ -0,0 +1,255 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Telugu (`te`). +class SettingsLocalizationTe extends SettingsLocalization { + SettingsLocalizationTe([String locale = 'te']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'అన్ని చాట్‌లను తొలగించండి'; + + @override + String get sectionClearAllChatsSubtitle => + 'ఈ చర్య మీ చాట్ చరిత్రను శాశ్వతంగా తొలగిస్తుంది.'; + + @override + String get sectionClearAllChatsButton => 'అన్ని చాట్లను తొలగించు'; + + @override + String get sectionClearAllChatsEmailTheme => 'అన్ని చాట్‌లను తొలగించు'; + + @override + String get sectionDeleteAccountTitle => 'ఖాతాను తొలగించు'; + + @override + String get sectionDeleteAccountSubtitle => + 'మీ ఖాతాను తొలగించడం శాశ్వత చర్య మరియు తిరిగి చేయడం సాధ్యం కాదు.'; + + @override + String get sectionDeleteAccountButton => 'తొలగించు'; + + @override + String get sectionDeleteAccountTheme => 'ఖాతాను తొలగించండి'; + + @override + String get sectionLogOutTitle => 'సైన్ అవుట్'; + + @override + String get sectionLogOutSubtitle => + 'మీరు మీ ఖాతా నుండి సైన్ అవుట్ చేయబడతారు.'; + + @override + String get sectionLogOutButton => 'సైన్ అవుట్'; + + @override + String get sendBugReportButton => 'బగ్ నివేదిక పంపండి'; + + @override + String get sectionSendMessageWithEnterTitle => 'సందేశం పంపండి [⏎ Enter] తో'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'సందేశాన్ని పంపడానికి [⏎ Enter] వాడండి మరియు కొత్త లైన్ కోసం [Shift] + [⏎ Enter] వాడండి'; + + @override + String get sectionSendMessageEnter => 'సందేశం పంపండి [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'గోప్యతా విధానం'; + + @override + String get sectionSelectLocaleTitle => 'భాష'; + + @override + String get sectionSelectLocaleSubtitle => + 'ఆప్ ఇంటర్‌ఫేస్ కోసం మీకు ఇష్టమైన భాషను ఎంచుకోండి'; + + @override + String get sectionSwitchThemeTitle => 'డార్క్ మోడ్'; + + @override + String get sectionSwitchThemeSubtitle => + 'తక్కువ వెలుగులో సౌకర్యవంతమైన వీక్షణ అనుభవం కోసం డార్క్ మోడ్ ప్రారంభించండి'; + + @override + String get sectionLogsTitle => 'లాగ్లు'; + + @override + String get sectionLogsSubtitle => + 'డీబగ్గింగ్ కోసం అనువర్తన లాగ్‌లను వీక్షించండి మరియు నిర్వహించండి'; + + @override + String get doneButton => 'ముగిసింది'; + + @override + String get bugReportDialogTitle => 'బగ్ నివేదిక'; + + @override + String get bugReportDialogHintText => 'మీరు ఎదుర్కొన్న లోపాన్ని వివరించండి'; + + @override + String get attachFilesButtonTooltip => 'ఫైళ్ళను జోడించండి'; + + @override + String get filePickerError => 'ఫైళ్ళను ఎంచుకోలేకపోయింది'; + + @override + String get emptyBugReportError => 'దయచేసి ముందుగా బగ్ నివేదికను నమోదు చేయండి'; + + @override + String get failedToSendBugReportError => 'బగ్ రిపోర్ట్ పంపడంలో విఫలమైంది'; + + @override + String get sectionManageSubscriptionTitle => 'సబ్‌స్క్రిప్షన్ నిర్వహించండి'; + + @override + String get sectionManageSubscriptionSubtitle => + 'మీ చందా సెట్టింగులను నిర్వహించండి'; + + @override + String get sectionHapticFeedbackTitle => 'హాప్టిక్ ఫీడ్‌బ్యాక్'; + + @override + String get sectionHapticFeedbackSubtitle => + 'మద్దతు ఉన్న పరికరాల్లో హాప్‌టిక్ ఫీడ్‌బ్యాక్ (వైబ్రేషన్)ను ప్రారంభించండి లేదా నిలిపివేయండి'; + + @override + String get sectionNotificationTitle => 'నోటిఫికేషన్లు ఆన్ చేయండి'; + + @override + String get sectionNotificationSubtitle => + 'డాక్టర్‌నా మీ చాట్లలో, నివేదికలలో లేదా లక్షణాలలో ముఖ్యమైనది కనుగొన్నప్పుడు అప్డేట్‌లో ఉండండి.'; + + @override + String get sectionAccountTitle => 'ఖాతా'; + + @override + String get sectionAppTitle => 'అప్'; + + @override + String get sectionAboutTitle => 'గురించి'; + + @override + String get sectionNotificationsTitle => 'అనుబంధాలు'; + + @override + String get sectionVideoTutorialsTitle => 'వీడియో పాఠాలు'; + + @override + String get accountPhoneLabel => 'ఫోన్'; + + @override + String get accountEmailLabel => 'ఇమెయిల్'; + + @override + String get accountNameLabel => 'పేరు'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'అనుకరణలతో ఉన్న ఫైళ్లతో $count ఫైళ్లను మిస్సయ్యాయి'; + } + + @override + String get bugReportTypeSectionLabel => 'రకం'; + + @override + String get bugReportDescriptionSectionLabel => 'వివరణ'; + + @override + String get bugReportAttachmentsSectionLabel => 'అటాచ్‌మెంట్స్'; + + @override + String get bugReportTypeBug => 'బగ్'; + + @override + String get bugReportTypeCrash => 'క్రాష్'; + + @override + String get bugReportTypeUiIssue => 'యూఐ సమస్య'; + + @override + String get bugReportTypeOther => 'ఇతర'; + + @override + String get deleteAccountWarningMessage => + 'మీ ఖాతాను తొలగించడం మీ డేటాను Doctorina నుండి శాశ్వతంగా తొలగిస్తుంది.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'మీరు తొలగించే ముందు'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'మీకు $store ద్వారా ఒక చురుకైన సభ్యత్వం ఉంది. మీ ఖాతాను తొలగించడం దాన్ని రద్దు చేయదు.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$storeలో సభ్యత్వాన్ని రద్దు చేయండి'; + } + + @override + String get deleteAccountContinueButton => 'కొనసాగించు'; + + @override + String get deleteAccountFormDescription => + 'మీరు వెళ్ళడం చూసి మాకు బాధగా ఉంది. మీరు మీ ఖాతాను తొలగించాలనుకుంటున్నారా? మీరు నిర్ధారించిన తర్వాత, మీ డేటా పోతుంది.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'నేను ఈ యాప్‌ను ఇక ఉపయోగించడం లేదు'; + + @override + String get deleteAccountReasonFoundBetter => 'మంచి ఎంపిక దొరికింది'; + + @override + String get deleteAccountReasonTechnicalIssues => 'సాంకేతిక సమస్యలు'; + + @override + String get deleteAccountReasonEaseOfUse => 'ఉపయోగించడంలో సమస్యలు'; + + @override + String get deleteAccountReasonMissingFeatures => 'ఫీచర్లు లేవు'; + + @override + String get deleteAccountReasonPrivacy => 'ప్రైవసీ ఆందోళనలు'; + + @override + String get deleteAccountReasonClearData => + 'నేను నా డేటాను క్లియర్ చేయాలనుకుంటున్నాను'; + + @override + String get deleteAccountReasonOther => 'ఇతర'; + + @override + String get deleteAccountFeedbackHint => 'మీ అభిప్రాయాన్ని పంచుకోండి'; + + @override + String get deleteAccountProgressMessage => 'మీ ఖాతాను తొలగిస్తున్నాము...'; + + @override + String get deleteAccountDeletingButton => 'తొలగించడం'; + + @override + String get deleteAccountUndoButton => 'రద్దు చేయి'; + + @override + String get deleteAccountSuccessToast => 'మీ ఖాతా తొలగించబడింది.'; + + @override + String get deleteAccountErrorToast => + 'ఖాతా తొలగించడంలో విఫలమైంది. దయచేసి మళ్లీ ప్రయత్నించండి.'; + + @override + String get emailClientUnavailableToast => + 'ఈ పరికరంలో ఇమెయిల్ యాప్ అందుబాటులో లేదు. దయచేసి support@doctorina.com కు చేతితో సంప్రదించండి.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_th.dart b/example/lib/src/generated/settings/settings_localization_th.dart new file mode 100644 index 0000000..6b7744d --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_th.dart @@ -0,0 +1,251 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Thai (`th`). +class SettingsLocalizationTh extends SettingsLocalization { + SettingsLocalizationTh([String locale = 'th']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'ล้างแชททั้งหมด'; + + @override + String get sectionClearAllChatsSubtitle => + 'สิ่งนี้จะลบประวัติการแชทของคุณอย่างถาวร'; + + @override + String get sectionClearAllChatsButton => 'ล้างการสนทนาทั้งหมด'; + + @override + String get sectionClearAllChatsEmailTheme => 'ล้างการแชททั้งหมด'; + + @override + String get sectionDeleteAccountTitle => 'ลบบัญชี'; + + @override + String get sectionDeleteAccountSubtitle => + 'การลบบัญชีของคุณเป็นการกระทำถาวรและไม่สามารถย้อนกลับได้.'; + + @override + String get sectionDeleteAccountButton => 'ลบ'; + + @override + String get sectionDeleteAccountTheme => 'ลบบัญชี'; + + @override + String get sectionLogOutTitle => 'ออกจากระบบ'; + + @override + String get sectionLogOutSubtitle => 'คุณจะถูกลงชื่อออกจากบัญชีของคุณ.'; + + @override + String get sectionLogOutButton => 'ออกจากระบบ'; + + @override + String get sendBugReportButton => 'ส่งรายงานข้อบกพร่อง'; + + @override + String get sectionSendMessageWithEnterTitle => 'ส่งข้อความโดยกด [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'ส่งข้อความโดยกด [⏎ Enter] และขึ้นบรรทัดใหม่โดยกด [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'ส่งด้วย [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'นโยบายความเป็นส่วนตัว'; + + @override + String get sectionSelectLocaleTitle => 'ภาษา'; + + @override + String get sectionSelectLocaleSubtitle => + 'เลือกภาษาที่คุณต้องการใช้สำหรับส่วนติดต่อผู้ใช้ของแอป'; + + @override + String get sectionSwitchThemeTitle => 'โหมดมืด'; + + @override + String get sectionSwitchThemeSubtitle => + 'เปิดใช้งานโหมดมืดเพื่อประสบการณ์การรับชมที่สบายตาในที่แสงน้อย'; + + @override + String get sectionLogsTitle => 'บันทึก'; + + @override + String get sectionLogsSubtitle => + 'ดูและจัดการบันทึกแอปพลิเคชันเพื่อการแก้ไขปัญหา'; + + @override + String get doneButton => 'เสร็จแล้ว'; + + @override + String get bugReportDialogTitle => 'รายงานข้อผิดพลาด'; + + @override + String get bugReportDialogHintText => 'โปรดอธิบายข้อผิดพลาดที่คุณพบ'; + + @override + String get attachFilesButtonTooltip => 'แนบไฟล์'; + + @override + String get filePickerError => 'ไม่สามารถเลือกไฟล์ได้'; + + @override + String get emptyBugReportError => 'กรุณาส่งรายงานข้อผิดพลาดก่อน'; + + @override + String get failedToSendBugReportError => 'ไม่สามารถส่งรายงานข้อผิดพลาดได้'; + + @override + String get sectionManageSubscriptionTitle => 'จัดการการสมัครสมาชิก'; + + @override + String get sectionManageSubscriptionSubtitle => + 'จัดการการตั้งค่าการสมัครสมาชิกของคุณ'; + + @override + String get sectionHapticFeedbackTitle => 'การตอบสนองแบบสัมผัส'; + + @override + String get sectionHapticFeedbackSubtitle => + 'เปิดหรือปิดการตอบสนองแบบสั่น (การสั่น) บนอุปกรณ์ที่รองรับ'; + + @override + String get sectionNotificationTitle => 'เปิดการแจ้งเตือน'; + + @override + String get sectionNotificationSubtitle => + 'อัปเดตเมื่อ Doctorina พบสิ่งสำคัญในแชท รายงาน หรืออาการของคุณ'; + + @override + String get sectionAccountTitle => 'บัญชี'; + + @override + String get sectionAppTitle => 'แอป'; + + @override + String get sectionAboutTitle => 'เกี่ยวกับ'; + + @override + String get sectionNotificationsTitle => 'การแจ้งเตือน'; + + @override + String get sectionVideoTutorialsTitle => 'วิดีโอสอน'; + + @override + String get accountPhoneLabel => 'โทรศัพท์'; + + @override + String get accountEmailLabel => 'อีเมล'; + + @override + String get accountNameLabel => 'ชื่อ'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'ข้ามไฟล์ $count ไฟล์เนื่องจากซ้ำกับไฟล์ที่มีอยู่'; + } + + @override + String get bugReportTypeSectionLabel => 'ประเภท'; + + @override + String get bugReportDescriptionSectionLabel => 'คำอธิบาย'; + + @override + String get bugReportAttachmentsSectionLabel => 'ไฟล์แนบ'; + + @override + String get bugReportTypeBug => 'ข้อบกพร่อง'; + + @override + String get bugReportTypeCrash => 'การชน'; + + @override + String get bugReportTypeUiIssue => 'ปัญหาจาก UI'; + + @override + String get bugReportTypeOther => 'อื่นๆ'; + + @override + String get deleteAccountWarningMessage => + 'การลบบัญชีของคุณจะลบข้อมูลของคุณจาก Doctorina อย่างถาวร'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'ก่อนที่คุณจะลบ'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'คุณมีการสมัครสมาชิกที่ใช้งานอยู่ผ่าน $store การลบบัญชีของคุณจะไม่ยกเลิกมัน'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'ยกเลิกการสมัครสมาชิกใน $store'; + } + + @override + String get deleteAccountContinueButton => 'ดำเนินการต่อ'; + + @override + String get deleteAccountFormDescription => + 'เราขอโทษที่เห็นคุณไป คุณแน่ใจหรือว่าต้องการลบบัญชีของคุณ? เมื่อคุณยืนยัน ข้อมูลของคุณจะหายไป'; + + @override + String get deleteAccountReasonDontUseAnymore => 'ฉันไม่ใช้แอปอีกต่อไป'; + + @override + String get deleteAccountReasonFoundBetter => 'พบสิ่งที่ดีกว่า'; + + @override + String get deleteAccountReasonTechnicalIssues => 'ปัญหาทางเทคนิค'; + + @override + String get deleteAccountReasonEaseOfUse => 'ปัญหาเรื่องการใช้งาน'; + + @override + String get deleteAccountReasonMissingFeatures => 'ขาดฟีเจอร์'; + + @override + String get deleteAccountReasonPrivacy => 'ความกังวลเกี่ยวกับความเป็นส่วนตัว'; + + @override + String get deleteAccountReasonClearData => 'ฉันแค่ต้องการลบข้อมูลของฉัน'; + + @override + String get deleteAccountReasonOther => 'อื่นๆ'; + + @override + String get deleteAccountFeedbackHint => 'แชร์ข้อเสนอแนะแบบของคุณ'; + + @override + String get deleteAccountProgressMessage => 'กำลังลบบัญชีของคุณ...'; + + @override + String get deleteAccountDeletingButton => 'กำลังลบ'; + + @override + String get deleteAccountUndoButton => 'ย้อนกลับ'; + + @override + String get deleteAccountSuccessToast => 'บัญชีของคุณถูกลบแล้ว'; + + @override + String get deleteAccountErrorToast => 'ไม่สามารถลบบัญชีได้ กรุณาลองอีกครั้ง'; + + @override + String get emailClientUnavailableToast => + 'อีเมลแอปไม่พร้อมใช้งานในอุปกรณ์นี้ กรุณาติดต่อ support@doctorina.com ด้วยตนเอง'; +} diff --git a/example/lib/src/generated/settings/settings_localization_tl.dart b/example/lib/src/generated/settings/settings_localization_tl.dart new file mode 100644 index 0000000..d731e5c --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_tl.dart @@ -0,0 +1,255 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tagalog (`tl`). +class SettingsLocalizationTl extends SettingsLocalization { + SettingsLocalizationTl([String locale = 'tl']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'I-clear ang Lahat ng Usapan'; + + @override + String get sectionClearAllChatsSubtitle => + 'Ito ay permanenteng magbubura ng iyong kasaysayan ng chat.'; + + @override + String get sectionClearAllChatsButton => 'I-clear ang Lahat ng Usapan'; + + @override + String get sectionClearAllChatsEmailTheme => 'I-clear ang Lahat ng Usapan'; + + @override + String get sectionDeleteAccountTitle => 'Tanggalin ang Account'; + + @override + String get sectionDeleteAccountSubtitle => + 'Ang pagtanggal ng iyong account ay isang permanenteng aksyon at hindi maibabalik.'; + + @override + String get sectionDeleteAccountButton => 'Tanggalin'; + + @override + String get sectionDeleteAccountTheme => 'Tanggalin ang Account'; + + @override + String get sectionLogOutTitle => 'Mag-Log Out'; + + @override + String get sectionLogOutSubtitle => 'Mag-sign out ka sa iyong account.'; + + @override + String get sectionLogOutButton => 'Mag-logout'; + + @override + String get sendBugReportButton => 'Magpadala ng Ulat ng Bug'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Mag-send ng mensahe gamit ang [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Mag-send ng mensahe gamit ang [⏎ Enter] at bagong linya gamit ang [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Ipadala gamit ang [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Patakaran sa Privacy'; + + @override + String get sectionSelectLocaleTitle => 'Wika'; + + @override + String get sectionSelectLocaleSubtitle => + 'Pumili ng iyong gustong wika para sa interface ng app'; + + @override + String get sectionSwitchThemeTitle => 'Madilim na mode'; + + @override + String get sectionSwitchThemeSubtitle => + 'I-enable ang madilim na mode para sa komportableng karanasan sa pagtingin sa mababang ilaw'; + + @override + String get sectionLogsTitle => 'Mga Tala'; + + @override + String get sectionLogsSubtitle => + 'Tingnan at pamahalaan ang mga log ng aplikasyon para sa pag-debug'; + + @override + String get doneButton => 'Tapos'; + + @override + String get bugReportDialogTitle => 'Ulat ng Bug'; + + @override + String get bugReportDialogHintText => 'Pakisabi ang bug na iyong naranasan'; + + @override + String get attachFilesButtonTooltip => 'Mag-attach ng mga file'; + + @override + String get filePickerError => 'Nabigong pumili ng mga file'; + + @override + String get emptyBugReportError => 'Mangyaring maglagay ng ulat ng bug muna'; + + @override + String get failedToSendBugReportError => 'Nabigong magpadala ng ulat ng bug'; + + @override + String get sectionManageSubscriptionTitle => 'Pamahalaan ang subscription'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Pamahalaan ang iyong mga setting ng subscription'; + + @override + String get sectionHapticFeedbackTitle => 'Haptic Feedback'; + + @override + String get sectionHapticFeedbackSubtitle => + 'I-enable o i-disable ang haptic feedback (panginginig) sa mga suportadong device'; + + @override + String get sectionNotificationTitle => 'I-on ang mga notification'; + + @override + String get sectionNotificationSubtitle => + 'Manatiling updated kapag may mahalagang natagpuan si Doctorina sa iyong mga chat, ulat, o sintomas.'; + + @override + String get sectionAccountTitle => 'Account'; + + @override + String get sectionAppTitle => 'App'; + + @override + String get sectionAboutTitle => 'Tungkol'; + + @override + String get sectionNotificationsTitle => 'Mga Abiso'; + + @override + String get sectionVideoTutorialsTitle => 'Mga video tutorial'; + + @override + String get accountPhoneLabel => 'Telepono'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Pangalan'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Nawala ang $count na mga file dahil sa pagkakapareho sa mga umiiral na file'; + } + + @override + String get bugReportTypeSectionLabel => 'Uri'; + + @override + String get bugReportDescriptionSectionLabel => 'Paglalarawan'; + + @override + String get bugReportAttachmentsSectionLabel => 'Mga Kalakip'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => 'Bumagsak'; + + @override + String get bugReportTypeUiIssue => 'Isyu sa UI'; + + @override + String get bugReportTypeOther => 'Iba'; + + @override + String get deleteAccountWarningMessage => + 'Ang pagtanggal ng iyong account ay permanenteng aalisin ang iyong data mula sa Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Bago mo tanggalin'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Mayroon kang aktibong subscription sa $store. Ang pagtanggal ng iyong account ay hindi ito kakanselahin.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'I-cancel ang subscription sa $store'; + } + + @override + String get deleteAccountContinueButton => 'Magpatuloy'; + + @override + String get deleteAccountFormDescription => + 'Ikinalulungkot naming makita kang umalis. Sigurado ka bang nais mong tanggalin ang iyong account? Kapag nakumpirma mo, mawawala na ang iyong data.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Hindi ko na ginagamit ang app'; + + @override + String get deleteAccountReasonFoundBetter => 'Nakahanap ng mas mabuti'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Mga teknikal na isyu'; + + @override + String get deleteAccountReasonEaseOfUse => 'Mga isyu sa kadalian ng paggamit'; + + @override + String get deleteAccountReasonMissingFeatures => 'Kulang na mga tampok'; + + @override + String get deleteAccountReasonPrivacy => 'Mga alalahanin sa privacy'; + + @override + String get deleteAccountReasonClearData => + 'Gusto ko lang linisin ang aking data'; + + @override + String get deleteAccountReasonOther => 'Iba'; + + @override + String get deleteAccountFeedbackHint => 'Ibahagi ang iyong feedback'; + + @override + String get deleteAccountProgressMessage => 'Tinatanggal ang iyong account...'; + + @override + String get deleteAccountDeletingButton => 'Nagtatanggal'; + + @override + String get deleteAccountUndoButton => 'Bawiin'; + + @override + String get deleteAccountSuccessToast => 'Nabura na ang iyong account.'; + + @override + String get deleteAccountErrorToast => + 'Nabigong tanggalin ang account. Pakisubukan muli.'; + + @override + String get emailClientUnavailableToast => + 'Walang available na email app sa device na ito. Mangyaring makipag-ugnayan sa support@doctorina.com nang manu-mano.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_tr.dart b/example/lib/src/generated/settings/settings_localization_tr.dart new file mode 100644 index 0000000..7f35e0e --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_tr.dart @@ -0,0 +1,254 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Turkish (`tr`). +class SettingsLocalizationTr extends SettingsLocalization { + SettingsLocalizationTr([String locale = 'tr']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Tüm Sohbetleri Temizle'; + + @override + String get sectionClearAllChatsSubtitle => + 'Bu işlem, sohbet geçmişinizi kalıcı olarak silecektir.'; + + @override + String get sectionClearAllChatsButton => 'Tüm Sohbetleri Temizle'; + + @override + String get sectionClearAllChatsEmailTheme => 'Tüm Sohbetleri Temizle'; + + @override + String get sectionDeleteAccountTitle => 'Hesabı Sil'; + + @override + String get sectionDeleteAccountSubtitle => + 'Hesabınızı silmek kalıcı bir işlemdir ve geri alınamaz.'; + + @override + String get sectionDeleteAccountButton => 'Sil'; + + @override + String get sectionDeleteAccountTheme => 'Hesabı Sil'; + + @override + String get sectionLogOutTitle => 'Çıkış Yap'; + + @override + String get sectionLogOutSubtitle => 'Hesabınızdan çıkış yapılacaktır.'; + + @override + String get sectionLogOutButton => 'Çıkış Yap'; + + @override + String get sendBugReportButton => 'Hata Raporu Gönder'; + + @override + String get sectionSendMessageWithEnterTitle => 'Mesajı [⏎ Enter] ile gönder'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Bir mesaj göndermek için [⏎ Enter] tuşuna, yeni satır için [Shift] + [⏎ Enter] tuşlarına basın'; + + @override + String get sectionSendMessageEnter => '[⏎ Enter] ile gönder'; + + @override + String get sectionPrivacyPolicy => 'Gizlilik Politikası'; + + @override + String get sectionSelectLocaleTitle => 'Dil'; + + @override + String get sectionSelectLocaleSubtitle => + 'Uygulama arayüzü için tercih ettiğiniz dili seçin'; + + @override + String get sectionSwitchThemeTitle => 'Koyu mod'; + + @override + String get sectionSwitchThemeSubtitle => + 'Düşük ışık koşullarında konforlu bir görüntüleme deneyimi için karanlık modu etkinleştirin'; + + @override + String get sectionLogsTitle => 'Günlükler'; + + @override + String get sectionLogsSubtitle => + 'Hata ayıklama için uygulama günlüklerini görüntüleyin ve yönetin'; + + @override + String get doneButton => 'Bitti'; + + @override + String get bugReportDialogTitle => 'Hata Bildirimi'; + + @override + String get bugReportDialogHintText => + 'Lütfen karşılaştığınız hatayı açıklayın'; + + @override + String get attachFilesButtonTooltip => 'Dosyaları ekle'; + + @override + String get filePickerError => 'Dosyalar seçilemedi'; + + @override + String get emptyBugReportError => 'Lütfen önce bir hata raporu girin'; + + @override + String get failedToSendBugReportError => 'Hata raporu gönderilemedi'; + + @override + String get sectionManageSubscriptionTitle => 'Aboneliği yönet'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Abonelik ayarlarınızı yönetin'; + + @override + String get sectionHapticFeedbackTitle => 'Dokunsal Geri Bildirim'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Desteklenen cihazlarda dokunsal geri bildirimi (titreşim) etkinleştirin veya devre dışı bırakın'; + + @override + String get sectionNotificationTitle => 'Bildirimleri aç'; + + @override + String get sectionNotificationSubtitle => + 'Doctorina, sohbetlerinizde, raporlarınızda veya semptomlarınızda önemli bir şey bulduğunda güncel kalın.'; + + @override + String get sectionAccountTitle => 'Hesap'; + + @override + String get sectionAppTitle => 'Uygulama'; + + @override + String get sectionAboutTitle => 'Hakkında'; + + @override + String get sectionNotificationsTitle => 'Bildirimler'; + + @override + String get sectionVideoTutorialsTitle => 'Video eğitimleri'; + + @override + String get accountPhoneLabel => 'Telefon'; + + @override + String get accountEmailLabel => 'E-posta'; + + @override + String get accountNameLabel => 'İsim'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Mevcut dosyalarla çakıştığı için $count dosya atlandı'; + } + + @override + String get bugReportTypeSectionLabel => 'Tür'; + + @override + String get bugReportDescriptionSectionLabel => 'Açıklama'; + + @override + String get bugReportAttachmentsSectionLabel => 'Ekler'; + + @override + String get bugReportTypeBug => 'Hata'; + + @override + String get bugReportTypeCrash => 'Çökme'; + + @override + String get bugReportTypeUiIssue => 'Kullanıcı Arayüzü sorunu'; + + @override + String get bugReportTypeOther => 'Diğer'; + + @override + String get deleteAccountWarningMessage => + 'Hesabınızı silmek, verilerinizi Doctorina\'dan kalıcı olarak kaldıracaktır.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Silmeden önce'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return '$store üzerinden aktif bir aboneliğiniz var. Hesabınızı silmek bunu iptal etmeyecektir.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '$store\'da aboneliği iptal et'; + } + + @override + String get deleteAccountContinueButton => 'Devam et'; + + @override + String get deleteAccountFormDescription => + 'Sizi gittiğinizi görmekten üzgünüz. Hesabınızı silmek istediğinizden emin misiniz? Onayladıktan sonra verileriniz silinecek.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Artık uygulamayı kullanmıyorum'; + + @override + String get deleteAccountReasonFoundBetter => 'Daha iyi bir şey buldum'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Teknik sorunlar'; + + @override + String get deleteAccountReasonEaseOfUse => 'Kullanım kolaylığı sorunları'; + + @override + String get deleteAccountReasonMissingFeatures => 'Eksik özellikler'; + + @override + String get deleteAccountReasonPrivacy => 'Gizlilik endişeleri'; + + @override + String get deleteAccountReasonClearData => 'Verilerimi temizlemek istedim'; + + @override + String get deleteAccountReasonOther => 'Diğer'; + + @override + String get deleteAccountFeedbackHint => 'Geri bildiriminizi paylaşın'; + + @override + String get deleteAccountProgressMessage => 'Hesabınızı siliyoruz...'; + + @override + String get deleteAccountDeletingButton => 'Siliniyor'; + + @override + String get deleteAccountUndoButton => 'Geri Al'; + + @override + String get deleteAccountSuccessToast => 'Hesabınız silindi.'; + + @override + String get deleteAccountErrorToast => + 'Hesap silme işlemi başarısız oldu. Lütfen tekrar deneyin.'; + + @override + String get emailClientUnavailableToast => + 'Bu cihazda e-posta uygulaması mevcut değil. Lütfen support@doctorina.com adresine manuel olarak ulaşın.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_uk.dart b/example/lib/src/generated/settings/settings_localization_uk.dart new file mode 100644 index 0000000..fac853b --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_uk.dart @@ -0,0 +1,258 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Ukrainian (`uk`). +class SettingsLocalizationUk extends SettingsLocalization { + SettingsLocalizationUk([String locale = 'uk']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Очистити всі чати'; + + @override + String get sectionClearAllChatsSubtitle => + 'Це назавжди видалить вашу історію чату.'; + + @override + String get sectionClearAllChatsButton => 'Очистити всі чати'; + + @override + String get sectionClearAllChatsEmailTheme => 'Очистити всі чати'; + + @override + String get sectionDeleteAccountTitle => 'Видалити обліковий запис'; + + @override + String get sectionDeleteAccountSubtitle => + 'Видалення вашого облікового запису є постійною дією і не може бути скасовано.'; + + @override + String get sectionDeleteAccountButton => 'Видалити'; + + @override + String get sectionDeleteAccountTheme => 'Видалити обліковий запис'; + + @override + String get sectionLogOutTitle => 'Вийти'; + + @override + String get sectionLogOutSubtitle => 'Ви вийдете зі свого облікового запису.'; + + @override + String get sectionLogOutButton => 'Вийти'; + + @override + String get sendBugReportButton => 'Надіслати звіт про помилку'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Надіслати повідомлення з [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Надіслати повідомлення за допомогою [⏎ Enter] і новий рядок за допомогою [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Відправити з [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Політика конфіденційності'; + + @override + String get sectionSelectLocaleTitle => 'Мова'; + + @override + String get sectionSelectLocaleSubtitle => + 'Виберіть бажану мову для інтерфейсу додатку'; + + @override + String get sectionSwitchThemeTitle => 'Темний режим'; + + @override + String get sectionSwitchThemeSubtitle => + 'Увімкніть темний режим для комфортного перегляду в умовах низького освітлення'; + + @override + String get sectionLogsTitle => 'Журнали'; + + @override + String get sectionLogsSubtitle => + 'Перегляньте та керуйте журналами додатку для налагодження'; + + @override + String get doneButton => 'Готово'; + + @override + String get bugReportDialogTitle => 'Повідомлення про помилку'; + + @override + String get bugReportDialogHintText => + 'Будь ласка, опишіть помилку, з якою ви зіткнулися'; + + @override + String get attachFilesButtonTooltip => 'Прикріпити файли'; + + @override + String get filePickerError => 'Не вдалося вибрати файли'; + + @override + String get emptyBugReportError => + 'Будь ласка, спочатку введіть звіт про помилку'; + + @override + String get failedToSendBugReportError => + 'Не вдалося надіслати звіт про помилку'; + + @override + String get sectionManageSubscriptionTitle => 'Керувати підпискою'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Управляйте налаштуваннями підписки'; + + @override + String get sectionHapticFeedbackTitle => 'Тактильний відгук'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Увімкніть або вимкніть тактильний відгук (вібрацію) на підтримуваних пристроях'; + + @override + String get sectionNotificationTitle => 'Увімкнути сповіщення'; + + @override + String get sectionNotificationSubtitle => + 'Залишайтеся в курсі, коли Doctorina знаходить щось важливе у ваших чатах, звітах або симптомах.'; + + @override + String get sectionAccountTitle => 'Обліковий запис'; + + @override + String get sectionAppTitle => 'Додаток'; + + @override + String get sectionAboutTitle => 'Про нас'; + + @override + String get sectionNotificationsTitle => 'Сповіщення'; + + @override + String get sectionVideoTutorialsTitle => 'Відеоуроки'; + + @override + String get accountPhoneLabel => 'Телефон'; + + @override + String get accountEmailLabel => 'Електронна пошта'; + + @override + String get accountNameLabel => 'Ім\'я'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Пропущено $count файлів через дублікат з існуючими файлами'; + } + + @override + String get bugReportTypeSectionLabel => 'Тип'; + + @override + String get bugReportDescriptionSectionLabel => 'Опис'; + + @override + String get bugReportAttachmentsSectionLabel => 'Вкладення'; + + @override + String get bugReportTypeBug => 'Баг'; + + @override + String get bugReportTypeCrash => 'Збій'; + + @override + String get bugReportTypeUiIssue => 'Проблема з інтерфейсом'; + + @override + String get bugReportTypeOther => 'Інше'; + + @override + String get deleteAccountWarningMessage => + 'Видалення вашого облікового запису назавжди видалить ваші дані з Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Перед видаленням'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'У вас є активна підписка через $store. Видалення вашого облікового запису не скасує її.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Скасувати підписку в $store'; + } + + @override + String get deleteAccountContinueButton => 'Продовжити'; + + @override + String get deleteAccountFormDescription => + 'Нам шкода вас бачити. Ви впевнені, що хочете видалити свій акаунт? Після підтвердження ваші дані зникнуть.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Я більше не користуюсь додатком'; + + @override + String get deleteAccountReasonFoundBetter => 'Знайшлося щось краще'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Технічні проблеми'; + + @override + String get deleteAccountReasonEaseOfUse => 'Проблеми з використанням'; + + @override + String get deleteAccountReasonMissingFeatures => 'Бракує функцій'; + + @override + String get deleteAccountReasonPrivacy => 'Проблеми з конфіденційністю'; + + @override + String get deleteAccountReasonClearData => 'Я просто хочу видалити свої дані'; + + @override + String get deleteAccountReasonOther => 'Інше'; + + @override + String get deleteAccountFeedbackHint => 'Поділіться своїм відгуком'; + + @override + String get deleteAccountProgressMessage => + 'Видалення вашого облікового запису...'; + + @override + String get deleteAccountDeletingButton => 'Видалення'; + + @override + String get deleteAccountUndoButton => 'Скасувати'; + + @override + String get deleteAccountSuccessToast => 'Ваш обліковий запис було видалено.'; + + @override + String get deleteAccountErrorToast => + 'Не вдалося видалити обліковий запис. Спробуйте ще раз.'; + + @override + String get emailClientUnavailableToast => + 'На цьому пристрої немає доступного поштового додатку. Будь ласка, зв\'яжіться з support@doctorina.com вручну.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_ur.dart b/example/lib/src/generated/settings/settings_localization_ur.dart new file mode 100644 index 0000000..f2f4a5f --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_ur.dart @@ -0,0 +1,257 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Urdu (`ur`). +class SettingsLocalizationUr extends SettingsLocalization { + SettingsLocalizationUr([String locale = 'ur']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'تمام چیٹس صاف کریں'; + + @override + String get sectionClearAllChatsSubtitle => + 'یہ آپ کی چیٹ ہسٹری کو مستقل طور پر حذف کر دے گا.'; + + @override + String get sectionClearAllChatsButton => 'تمام چیٹس صاف کریں'; + + @override + String get sectionClearAllChatsEmailTheme => 'تمام چیٹس صاف کریں'; + + @override + String get sectionDeleteAccountTitle => 'اکاؤنٹ حذف کریں'; + + @override + String get sectionDeleteAccountSubtitle => + 'آپ کا اکاؤنٹ حذف کرنا ایک مستقل عمل ہے اور اسے واپس نہیں لیا جا سکتا.'; + + @override + String get sectionDeleteAccountButton => 'حذف'; + + @override + String get sectionDeleteAccountTheme => 'اکاؤنٹ حذف کریں'; + + @override + String get sectionLogOutTitle => 'سائن آؤٹ'; + + @override + String get sectionLogOutSubtitle => 'آپ اپنے اکاؤنٹ سے لاگ آؤٹ ہو جائیں گے.'; + + @override + String get sectionLogOutButton => 'لاگ آؤٹ'; + + @override + String get sendBugReportButton => 'بگ رپورٹ بھیجیں'; + + @override + String get sectionSendMessageWithEnterTitle => + 'پیغام [⏎ Enter] کے ساتھ بھیجیں'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'پیغام بھیجنے کے لیے [⏎ Enter] اور نئی لائن کے لیے [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'بھیجیں [⏎ Enter] کے ساتھ'; + + @override + String get sectionPrivacyPolicy => 'رازداری کی پالیسی'; + + @override + String get sectionSelectLocaleTitle => 'زبان'; + + @override + String get sectionSelectLocaleSubtitle => + 'اپلیکیشن انٹرفیس کے لیے اپنی پسندیدہ زبان منتخب کریں'; + + @override + String get sectionSwitchThemeTitle => 'ڈارک موڈ'; + + @override + String get sectionSwitchThemeSubtitle => + 'کم روشنی میں آرام دہ دیکھنے کے لیے ڈارک موڈ فعال کریں'; + + @override + String get sectionLogsTitle => 'لاگز'; + + @override + String get sectionLogsSubtitle => + 'ڈی بگنگ کے لیے درخواست کے لاگز دیکھیں اور منظم کریں'; + + @override + String get doneButton => 'ہو گیا'; + + @override + String get bugReportDialogTitle => 'بگ رپورٹ'; + + @override + String get bugReportDialogHintText => + 'براہ کرم اس بگ کی وضاحت کریں جس کا آپ کو سامنا ہوا'; + + @override + String get attachFilesButtonTooltip => 'فائلیں منسلک کریں'; + + @override + String get filePickerError => 'فائل منتخب کرنے میں ناکام'; + + @override + String get emptyBugReportError => 'براہ مہربانی پہلے بگ رپورٹ درج کریں'; + + @override + String get failedToSendBugReportError => 'بگ رپورٹ بھیجنے میں ناکام'; + + @override + String get sectionManageSubscriptionTitle => 'رکنیت کا انتظام کریں'; + + @override + String get sectionManageSubscriptionSubtitle => + 'اپنی سبسکرپشن ترتیبات کا انتظام کریں'; + + @override + String get sectionHapticFeedbackTitle => 'ہپٹک فیڈبیک'; + + @override + String get sectionHapticFeedbackSubtitle => + 'سپورٹڈ ڈیوائسز پر ہیپٹک فیڈ بیک (کمپن) کو فعال یا غیر فعال کریں'; + + @override + String get sectionNotificationTitle => 'نوٹیفکیشن آن کریں'; + + @override + String get sectionNotificationSubtitle => + 'جب آپ کے چیٹس، رپورٹس، یا علامات میں ڈاکٹرینا کچھ اہم تلاش کرے تو اپ ڈیٹ رہیں۔'; + + @override + String get sectionAccountTitle => 'اکاؤنٹ'; + + @override + String get sectionAppTitle => 'ایپ'; + + @override + String get sectionAboutTitle => 'کے بارے میں'; + + @override + String get sectionNotificationsTitle => 'نوٹیفیکیشن'; + + @override + String get sectionVideoTutorialsTitle => 'ویڈیو ٹیوٹوریلز'; + + @override + String get accountPhoneLabel => 'فون'; + + @override + String get accountEmailLabel => 'ای میل'; + + @override + String get accountNameLabel => 'نام'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '$count فائلیں موجودہ فائلز کے ساتھ ڈپلیکیٹ ہونے کی وجہ سے چھوڑ دی گئیں'; + } + + @override + String get bugReportTypeSectionLabel => 'قسم'; + + @override + String get bugReportDescriptionSectionLabel => 'تفصیل'; + + @override + String get bugReportAttachmentsSectionLabel => 'منسلکات'; + + @override + String get bugReportTypeBug => 'بگ'; + + @override + String get bugReportTypeCrash => 'کریش'; + + @override + String get bugReportTypeUiIssue => 'یو آئی کا مسئلہ'; + + @override + String get bugReportTypeOther => 'دیگر'; + + @override + String get deleteAccountWarningMessage => + 'اپنا اکاؤنٹ حذف کرنے سے آپ کا ڈیٹا Doctorina سے مستقل طور پر ہٹا دیا جائے گا۔'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'حذف کرنے سے پہلے'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'آپ کے پاس $store کے ذریعے ایک فعال سبسکرپشن ہے۔ اپنے اکاؤنٹ کو حذف کرنے سے یہ منسوخ نہیں ہوگا۔'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'سبسکرپشن منسوخ کریں $store میں'; + } + + @override + String get deleteAccountContinueButton => 'جاری رکھیں'; + + @override + String get deleteAccountFormDescription => + 'ہمیں افسوس ہے کہ آپ جا رہے ہیں۔ کیا آپ واقعی اپنا اکاؤنٹ حذف کرنا چاہتے ہیں؟ ایک بار جب آپ تصدیق کر لیں گے، آپ کا ڈیٹا ختم ہو جائے گا۔'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'میں اب ایپ کا استعمال نہیں کرتا'; + + @override + String get deleteAccountReasonFoundBetter => 'بہتر چیز ملی'; + + @override + String get deleteAccountReasonTechnicalIssues => 'تکنیکی مسائل'; + + @override + String get deleteAccountReasonEaseOfUse => 'استعمال میں مشکلات'; + + @override + String get deleteAccountReasonMissingFeatures => 'خصوصیات کی کمی'; + + @override + String get deleteAccountReasonPrivacy => 'پرائیویسی کے خدشات'; + + @override + String get deleteAccountReasonClearData => + 'میں صرف اپنے ڈیٹا کو صاف کرنا چاہتا تھا'; + + @override + String get deleteAccountReasonOther => 'دیگر'; + + @override + String get deleteAccountFeedbackHint => 'اپنی رائے کا اشتراک کریں'; + + @override + String get deleteAccountProgressMessage => + 'آپ کا اکاؤنٹ حذف کیا جا رہا ہے...'; + + @override + String get deleteAccountDeletingButton => 'حذف کر رہا ہے'; + + @override + String get deleteAccountUndoButton => 'واپس لیں'; + + @override + String get deleteAccountSuccessToast => 'آپ کا اکاؤنٹ حذف کر دیا گیا ہے۔'; + + @override + String get deleteAccountErrorToast => + 'اکاؤنٹ حذف کرنے میں ناکامی۔ براہ کرم دوبارہ کوشش کریں۔'; + + @override + String get emailClientUnavailableToast => + 'اس ڈیوائس پر کوئی ای میل ایپ دستیاب نہیں ہے۔ براہ کرم support@doctorina.com پر دستی طور پر رابطہ کریں۔'; +} diff --git a/example/lib/src/generated/settings/settings_localization_uz.dart b/example/lib/src/generated/settings/settings_localization_uz.dart new file mode 100644 index 0000000..1d53862 --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_uz.dart @@ -0,0 +1,258 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Uzbek (`uz`). +class SettingsLocalizationUz extends SettingsLocalization { + SettingsLocalizationUz([String locale = 'uz']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Barcha suhbatlarni tozalash'; + + @override + String get sectionClearAllChatsSubtitle => + 'Bu sizning chat tarixingizni doimiy ravishda o\'chirib tashlaydi.'; + + @override + String get sectionClearAllChatsButton => 'Barcha suhbatlarni tozalash'; + + @override + String get sectionClearAllChatsEmailTheme => 'Barcha chatlarni tozalash'; + + @override + String get sectionDeleteAccountTitle => 'Hisobni o\'chirish'; + + @override + String get sectionDeleteAccountSubtitle => + 'Hisobingizni o\'chirish doimiy amal bo\'lib, qaytarib bo\'lmaydi.'; + + @override + String get sectionDeleteAccountButton => 'O\'chirish'; + + @override + String get sectionDeleteAccountTheme => 'Hisobni o\'chirish'; + + @override + String get sectionLogOutTitle => 'Chiqish'; + + @override + String get sectionLogOutSubtitle => 'Siz hisobingizdan chiqasiz.'; + + @override + String get sectionLogOutButton => 'Chiqish'; + + @override + String get sendBugReportButton => 'Xatolik hisobotini yuborish'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Xabar yuborish [⏎ Enter] bilan'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Xabar yuboring [⏎ Enter] yordamida va yangi qator uchun [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Yuborish [⏎ Enter] bilan'; + + @override + String get sectionPrivacyPolicy => 'Maxfiylik siyosati'; + + @override + String get sectionSelectLocaleTitle => 'Til'; + + @override + String get sectionSelectLocaleSubtitle => + 'Ilova interfeysi uchun afzal tilingizni tanlang'; + + @override + String get sectionSwitchThemeTitle => 'Qorong\'u rejim'; + + @override + String get sectionSwitchThemeSubtitle => + 'Past yorug\'likda qulay ko‘rish tajribasi uchun qorong‘i rejimni yoqing'; + + @override + String get sectionLogsTitle => 'Loglar'; + + @override + String get sectionLogsSubtitle => + 'Nosozliklarni aniqlash uchun dastur loglarini ko\'rish va boshqarish'; + + @override + String get doneButton => 'Bajarildi'; + + @override + String get bugReportDialogTitle => 'Xato hisobot'; + + @override + String get bugReportDialogHintText => + 'Iltimos, duch kelgan xatoni tasvirlab bering'; + + @override + String get attachFilesButtonTooltip => 'Fayllarni ilova qilish'; + + @override + String get filePickerError => 'Fayllarni tanlab bo‘lmadi'; + + @override + String get emptyBugReportError => + 'Iltimos, avval xatolik hisobotini kiriting'; + + @override + String get failedToSendBugReportError => + 'Bug hisobotini yuborishda muvaffaqiyatsiz bo\'ldi'; + + @override + String get sectionManageSubscriptionTitle => 'Obunani boshqarish'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Obunangiz sozlamalarini boshqaring'; + + @override + String get sectionHapticFeedbackTitle => 'Haptik javob'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Qo\'llab-quvvatlanadigan qurilmalarda haptik javob (tebranish) ni yoqing yoki o\'chiring'; + + @override + String get sectionNotificationTitle => 'Bildirishnomalarni yoqish'; + + @override + String get sectionNotificationSubtitle => + 'Doktorina sizning suhbatlaringizda, hisobotlaringizda yoki simptomlaringizda muhim biror narsa topganda yangilaning'; + + @override + String get sectionAccountTitle => 'Hisob'; + + @override + String get sectionAppTitle => 'Ilova'; + + @override + String get sectionAboutTitle => 'Haqida'; + + @override + String get sectionNotificationsTitle => 'Bildirishnomalar'; + + @override + String get sectionVideoTutorialsTitle => 'Video darslar'; + + @override + String get accountPhoneLabel => 'Telefon'; + + @override + String get accountEmailLabel => 'Elektron pochta'; + + @override + String get accountNameLabel => 'Ism'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '$count ta fayl mavjud fayllar bilan takrorlanishi sababli o‘tkazib yuborildi'; + } + + @override + String get bugReportTypeSectionLabel => 'Tur'; + + @override + String get bugReportDescriptionSectionLabel => 'Tavsif'; + + @override + String get bugReportAttachmentsSectionLabel => 'Ilovalar'; + + @override + String get bugReportTypeBug => 'Xato'; + + @override + String get bugReportTypeCrash => 'Qayta ishga tushish'; + + @override + String get bugReportTypeUiIssue => 'UI muammosi'; + + @override + String get bugReportTypeOther => 'Boshqa'; + + @override + String get deleteAccountWarningMessage => + 'Hisobingizni o\'chirish Doctorina\'dan ma\'lumotlaringizni doimiy ravishda olib tashlaydi'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'O\'chirishdan oldin'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Sizda $store orqali faol obuna mavjud. Hisobingizni o\'chirish uni bekor qilmaydi.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '${store}da obunani bekor qilish'; + } + + @override + String get deleteAccountContinueButton => 'Davom etish'; + + @override + String get deleteAccountFormDescription => + 'Sizni yo‘qotayotganimizdan afsusdamiz. Hisobingizni o‘chirishni xohlaysizmi? Tasdiqlaganingizdan so‘ng, ma’lumotlaringiz yo‘qoladi.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Men endi ilovadan foydalanmayman'; + + @override + String get deleteAccountReasonFoundBetter => 'Yaxshiroq variant topdim'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Texnik muammolar'; + + @override + String get deleteAccountReasonEaseOfUse => 'Foydalanish muammolari'; + + @override + String get deleteAccountReasonMissingFeatures => 'Xususiyatlar yetishmayapti'; + + @override + String get deleteAccountReasonPrivacy => 'Shaxsiy hayotga oid xavotirlar'; + + @override + String get deleteAccountReasonClearData => + 'Men faqat ma\'lumotlarimni tozalamoqchi edim'; + + @override + String get deleteAccountReasonOther => 'Boshqa'; + + @override + String get deleteAccountFeedbackHint => 'Fikrlaringizni baham ko\'ring'; + + @override + String get deleteAccountProgressMessage => 'Hisobingiz o\'chirilmoqda...'; + + @override + String get deleteAccountDeletingButton => 'O\'chirilmoqda'; + + @override + String get deleteAccountUndoButton => 'Qaytarish'; + + @override + String get deleteAccountSuccessToast => 'Hisobingiz o\'chirildi'; + + @override + String get deleteAccountErrorToast => + 'Hisobni o\'chirishda xato. Iltimos, qayta urinib ko\'ring.'; + + @override + String get emailClientUnavailableToast => + 'Ushbu qurilmada hech qanday elektron pochta ilovasi mavjud emas. Iltimos, support@doctorina.com manziliga qo\'lda murojaat qiling.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_vi.dart b/example/lib/src/generated/settings/settings_localization_vi.dart new file mode 100644 index 0000000..34b61ec --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_vi.dart @@ -0,0 +1,254 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Vietnamese (`vi`). +class SettingsLocalizationVi extends SettingsLocalization { + SettingsLocalizationVi([String locale = 'vi']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Xóa tất cả cuộc trò chuyện'; + + @override + String get sectionClearAllChatsSubtitle => + 'Điều này sẽ xóa vĩnh viễn lịch sử trò chuyện của bạn.'; + + @override + String get sectionClearAllChatsButton => 'Xóa tất cả các cuộc trò chuyện'; + + @override + String get sectionClearAllChatsEmailTheme => 'Xóa tất cả cuộc trò chuyện'; + + @override + String get sectionDeleteAccountTitle => 'Xóa Tài Khoản'; + + @override + String get sectionDeleteAccountSubtitle => + 'Xóa tài khoản của bạn là hành động vĩnh viễn và không thể hoàn tác.'; + + @override + String get sectionDeleteAccountButton => 'Xóa'; + + @override + String get sectionDeleteAccountTheme => 'Xóa Tài Khoản'; + + @override + String get sectionLogOutTitle => 'Đăng xuất'; + + @override + String get sectionLogOutSubtitle => + 'Bạn sẽ được đăng xuất khỏi tài khoản của mình.'; + + @override + String get sectionLogOutButton => 'Đăng xuất'; + + @override + String get sendBugReportButton => 'Gửi báo cáo lỗi'; + + @override + String get sectionSendMessageWithEnterTitle => 'Gửi tin nhắn với [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Gửi tin nhắn bằng [⏎ Enter] và xuống dòng mới với [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Gửi với [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Chính sách bảo mật'; + + @override + String get sectionSelectLocaleTitle => 'Ngôn ngữ'; + + @override + String get sectionSelectLocaleSubtitle => + 'Chọn ngôn ngữ ưu thích cho giao diện ứng dụng'; + + @override + String get sectionSwitchThemeTitle => 'Chế độ tối'; + + @override + String get sectionSwitchThemeSubtitle => + 'Bật chế độ tối để có trải nghiệm xem thoải mái trong ánh sáng yếu'; + + @override + String get sectionLogsTitle => 'Nhật ký'; + + @override + String get sectionLogsSubtitle => 'Xem và quản lý nhật ký ứng dụng để gỡ lỗi'; + + @override + String get doneButton => 'Xong'; + + @override + String get bugReportDialogTitle => 'Báo cáo lỗi'; + + @override + String get bugReportDialogHintText => 'Vui lòng mô tả lỗi bạn gặp phải'; + + @override + String get attachFilesButtonTooltip => 'Đính kèm tệp'; + + @override + String get filePickerError => 'Không chọn được tệp'; + + @override + String get emptyBugReportError => 'Vui lòng nhập báo cáo lỗi trước'; + + @override + String get failedToSendBugReportError => 'Không gửi được báo cáo lỗi'; + + @override + String get sectionManageSubscriptionTitle => 'Quản lý đăng ký'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Quản lý cài đặt đăng ký của bạn'; + + @override + String get sectionHapticFeedbackTitle => 'Phản hồi rung'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Bật hoặc tắt phản hồi rung (vibration) trên các thiết bị hỗ trợ'; + + @override + String get sectionNotificationTitle => 'Bật thông báo'; + + @override + String get sectionNotificationSubtitle => + 'Cập nhật khi Doctorina tìm thấy điều gì đó quan trọng trong các cuộc trò chuyện, báo cáo hoặc triệu chứng của bạn'; + + @override + String get sectionAccountTitle => 'Tài khoản'; + + @override + String get sectionAppTitle => 'Ứng dụng'; + + @override + String get sectionAboutTitle => 'Về'; + + @override + String get sectionNotificationsTitle => 'Thông báo'; + + @override + String get sectionVideoTutorialsTitle => 'Video tutorials'; + + @override + String get accountPhoneLabel => 'Điện thoại'; + + @override + String get accountEmailLabel => 'Email'; + + @override + String get accountNameLabel => 'Tên'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Bỏ qua $count tệp do trùng lặp với các tệp hiện có'; + } + + @override + String get bugReportTypeSectionLabel => 'Loại'; + + @override + String get bugReportDescriptionSectionLabel => 'Mô tả'; + + @override + String get bugReportAttachmentsSectionLabel => 'Tệp đính kèm'; + + @override + String get bugReportTypeBug => 'Lỗi'; + + @override + String get bugReportTypeCrash => 'Sập'; + + @override + String get bugReportTypeUiIssue => 'Vấn đề giao diện người dùng'; + + @override + String get bugReportTypeOther => 'Khác'; + + @override + String get deleteAccountWarningMessage => + 'Xóa tài khoản của bạn sẽ xóa vĩnh viễn dữ liệu của bạn khỏi Doctorina'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Trước khi bạn xóa'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Bạn có một đăng ký hoạt động qua $store. Việc xóa tài khoản của bạn sẽ không hủy bỏ nó.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Hủy đăng ký trong $store'; + } + + @override + String get deleteAccountContinueButton => 'Tiếp tục'; + + @override + String get deleteAccountFormDescription => + 'Chúng tôi rất tiếc khi thấy bạn ra đi. Bạn có chắc chắn muốn xóa tài khoản của mình không? Khi bạn xác nhận, dữ liệu của bạn sẽ biến mất.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Tôi không sử dụng ứng dụng nữa'; + + @override + String get deleteAccountReasonFoundBetter => 'Tìm thấy cái gì đó tốt hơn'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Vấn đề kỹ thuật'; + + @override + String get deleteAccountReasonEaseOfUse => 'Vấn đề về tính dễ sử dụng'; + + @override + String get deleteAccountReasonMissingFeatures => 'Thiếu tính năng'; + + @override + String get deleteAccountReasonPrivacy => 'Lo ngại về quyền riêng tư'; + + @override + String get deleteAccountReasonClearData => + 'Tôi chỉ muốn xóa dữ liệu của mình'; + + @override + String get deleteAccountReasonOther => 'Khác'; + + @override + String get deleteAccountFeedbackHint => 'Chia sẻ phản hồi của bạn'; + + @override + String get deleteAccountProgressMessage => 'Đang xóa tài khoản của bạn...'; + + @override + String get deleteAccountDeletingButton => 'Đang xóa'; + + @override + String get deleteAccountUndoButton => 'Hoàn tác'; + + @override + String get deleteAccountSuccessToast => 'Tài khoản của bạn đã được xóa.'; + + @override + String get deleteAccountErrorToast => + 'Xóa tài khoản không thành công. Vui lòng thử lại.'; + + @override + String get emailClientUnavailableToast => + 'Không có ứng dụng email nào trên thiết bị này. Vui lòng liên hệ với support@doctorina.com một cách thủ công.'; +} diff --git a/example/lib/src/generated/settings/settings_localization_zh.dart b/example/lib/src/generated/settings/settings_localization_zh.dart index 2dff238..3859402 100644 --- a/example/lib/src/generated/settings/settings_localization_zh.dart +++ b/example/lib/src/generated/settings/settings_localization_zh.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,14 +10,11 @@ import 'settings_localization.dart'; class SettingsLocalizationZh extends SettingsLocalization { SettingsLocalizationZh([String locale = 'zh']) : super(locale); - @override - String get title => '帐户设置'; - @override String get sectionClearAllChatsTitle => '清除所有聊天'; @override - String get sectionClearAllChatsSubtitle => '这将永久删除您的聊天记录。'; + String get sectionClearAllChatsSubtitle => '这将永久删除您的聊天记录.'; @override String get sectionClearAllChatsButton => '清除所有聊天'; @@ -26,68 +23,74 @@ class SettingsLocalizationZh extends SettingsLocalization { String get sectionClearAllChatsEmailTheme => '清除所有聊天'; @override - String get sectionDeleteAccountTitle => '删除帐户'; + String get sectionDeleteAccountTitle => '删除账户'; @override - String get sectionDeleteAccountSubtitle => '删除您的帐户是永久性操作,无法撤消。'; + String get sectionDeleteAccountSubtitle => '删除您的账户是永久性的操作,无法撤销。'; @override String get sectionDeleteAccountButton => '删除'; @override - String get sectionDeleteAccountTheme => '删除帐户'; + String get sectionDeleteAccountTheme => '删除账户'; @override - String get sectionLogOutTitle => '登出'; + String get sectionLogOutTitle => '退出'; @override - String get sectionLogOutSubtitle => '您将退出您的帐户。'; + String get sectionLogOutSubtitle => '您将退出您的账户.'; @override - String get sectionLogOutButton => '登出'; + String get sectionLogOutButton => '退出'; @override String get sendBugReportButton => '发送错误报告'; @override - String get sectionSendMessageWithShiftEnterTitle => '使用 [⏎ Enter] 发送消息'; + String get sectionSendMessageWithEnterTitle => '按 [⏎ Enter] 发送消息'; + + @override + String get sectionSendMessageWithEnterSubtitle => + '使用[⏎ Enter]发送消息,使用[Shift] + [⏎ Enter]换行'; @override - String get sectionSendMessageWithShiftEnterSubtitle => - '使用 [⏎ Enter] 发送消息,使用 [Shift] + [⏎ Enter] 换行'; + String get sectionSendMessageEnter => '使用 [⏎ Enter] 发送'; + + @override + String get sectionPrivacyPolicy => '隐私政策'; @override String get sectionSelectLocaleTitle => '语言'; @override - String get sectionSelectLocaleSubtitle => '选择应用程序界面的首选语言'; + String get sectionSelectLocaleSubtitle => '选择您偏好的应用界面语言'; @override - String get sectionSwitchThemeTitle => '黑暗模式'; + String get sectionSwitchThemeTitle => '暗黑模式'; @override - String get sectionSwitchThemeSubtitle => '启用暗模式,在弱光环境下获得舒适的观看体验'; + String get sectionSwitchThemeSubtitle => '在低光环境中启用暗模式以获得舒适的观看体验'; @override String get sectionLogsTitle => '日志'; @override - String get sectionLogsSubtitle => '查看和管理应用程序日志以进行调试'; + String get sectionLogsSubtitle => '查看和管理应用日志以进行调试'; @override - String get doneButton => '完毕'; + String get doneButton => '完成'; @override String get bugReportDialogTitle => '错误报告'; @override - String get bugReportDialogHintText => '请描述您遇到的bug'; + String get bugReportDialogHintText => '请描述您遇到的错误'; @override String get attachFilesButtonTooltip => '附加文件'; @override - String get filePickerError => '选择文件失败'; + String get filePickerError => '无法选择文件'; @override String get emptyBugReportError => '请先输入错误报告'; @@ -100,20 +103,154 @@ class SettingsLocalizationZh extends SettingsLocalization { @override String get sectionManageSubscriptionSubtitle => '管理您的订阅设置'; + + @override + String get sectionHapticFeedbackTitle => '触觉反馈'; + + @override + String get sectionHapticFeedbackSubtitle => '在支持的设备上启用或禁用触觉反馈(振动)'; + + @override + String get sectionNotificationTitle => '开启通知'; + + @override + String get sectionNotificationSubtitle => + '当Doctorina在您的聊天、报告或症状中发现重要信息时,请保持更新。'; + + @override + String get sectionAccountTitle => '账户'; + + @override + String get sectionAppTitle => '应用'; + + @override + String get sectionAboutTitle => '关于'; + + @override + String get sectionNotificationsTitle => '通知'; + + @override + String get sectionVideoTutorialsTitle => '视频教程'; + + @override + String get accountPhoneLabel => '电话'; + + @override + String get accountEmailLabel => '电子邮件'; + + @override + String get accountNameLabel => '姓名'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '由于与现有文件重复,跳过了 $count 个文件'; + } + + @override + String get bugReportTypeSectionLabel => '类型'; + + @override + String get bugReportDescriptionSectionLabel => '描述'; + + @override + String get bugReportAttachmentsSectionLabel => '附件'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => '崩溃'; + + @override + String get bugReportTypeUiIssue => '用户界面问题'; + + @override + String get bugReportTypeOther => '其他'; + + @override + String get deleteAccountWarningMessage => '删除您的账户将永久删除您在Doctorina上的数据。'; + + @override + String get deleteAccountBeforeYouDeleteTitle => '在您删除之前'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return '您通过 $store 拥有一个活跃的订阅。删除您的账户不会取消它。'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '在$store取消订阅'; + } + + @override + String get deleteAccountContinueButton => '继续'; + + @override + String get deleteAccountFormDescription => + '我们很遗憾看到您离开。您确定要删除您的账户吗?一旦您确认,您的数据将被删除。'; + + @override + String get deleteAccountReasonDontUseAnymore => '我不再使用这个应用'; + + @override + String get deleteAccountReasonFoundBetter => '找到了更好的选择'; + + @override + String get deleteAccountReasonTechnicalIssues => '技术问题'; + + @override + String get deleteAccountReasonEaseOfUse => '使用问题'; + + @override + String get deleteAccountReasonMissingFeatures => '缺少功能'; + + @override + String get deleteAccountReasonPrivacy => '隐私问题'; + + @override + String get deleteAccountReasonClearData => '我只是想清除我的数据'; + + @override + String get deleteAccountReasonOther => '其他'; + + @override + String get deleteAccountFeedbackHint => '分享您的反馈'; + + @override + String get deleteAccountProgressMessage => '正在删除您的账户...'; + + @override + String get deleteAccountDeletingButton => '正在删除'; + + @override + String get deleteAccountUndoButton => '撤销'; + + @override + String get deleteAccountSuccessToast => '您的账户已被删除。'; + + @override + String get deleteAccountErrorToast => '删除账户失败。请再试一次。'; + + @override + String get emailClientUnavailableToast => + '此设备上没有可用的电子邮件应用程序。请手动联系support@doctorina.com。'; } /// The translations for Chinese, as used in China (`zh_CN`). class SettingsLocalizationZhCn extends SettingsLocalizationZh { SettingsLocalizationZhCn() : super('zh_CN'); - @override - String get title => '帐户设置'; - @override String get sectionClearAllChatsTitle => '清除所有聊天'; @override - String get sectionClearAllChatsSubtitle => '这将永久删除您的聊天记录。'; + String get sectionClearAllChatsSubtitle => '这将永久删除您的聊天记录.'; @override String get sectionClearAllChatsButton => '清除所有聊天'; @@ -122,68 +259,74 @@ class SettingsLocalizationZhCn extends SettingsLocalizationZh { String get sectionClearAllChatsEmailTheme => '清除所有聊天'; @override - String get sectionDeleteAccountTitle => '删除帐户'; + String get sectionDeleteAccountTitle => '删除账户'; @override - String get sectionDeleteAccountSubtitle => '删除您的帐户是永久性操作,无法撤消。'; + String get sectionDeleteAccountSubtitle => '删除您的账户是永久性的操作,无法撤销。'; @override String get sectionDeleteAccountButton => '删除'; @override - String get sectionDeleteAccountTheme => '删除帐户'; + String get sectionDeleteAccountTheme => '删除账户'; @override - String get sectionLogOutTitle => '登出'; + String get sectionLogOutTitle => '退出'; @override - String get sectionLogOutSubtitle => '您将退出您的帐户。'; + String get sectionLogOutSubtitle => '您将退出您的账户.'; @override - String get sectionLogOutButton => '登出'; + String get sectionLogOutButton => '退出'; @override String get sendBugReportButton => '发送错误报告'; @override - String get sectionSendMessageWithShiftEnterTitle => '使用 [⏎ Enter] 发送消息'; + String get sectionSendMessageWithEnterTitle => '按 [⏎ Enter] 发送消息'; + + @override + String get sectionSendMessageWithEnterSubtitle => + '使用[⏎ Enter]发送消息,使用[Shift] + [⏎ Enter]换行'; + + @override + String get sectionSendMessageEnter => '使用 [⏎ Enter] 发送'; @override - String get sectionSendMessageWithShiftEnterSubtitle => - '使用 [⏎ Enter] 发送消息,使用 [Shift] + [⏎ Enter] 换行'; + String get sectionPrivacyPolicy => '隐私政策'; @override String get sectionSelectLocaleTitle => '语言'; @override - String get sectionSelectLocaleSubtitle => '选择应用程序界面的首选语言'; + String get sectionSelectLocaleSubtitle => '选择您偏好的应用界面语言'; @override - String get sectionSwitchThemeTitle => '黑暗模式'; + String get sectionSwitchThemeTitle => '暗黑模式'; @override - String get sectionSwitchThemeSubtitle => '启用暗模式,在弱光环境下获得舒适的观看体验'; + String get sectionSwitchThemeSubtitle => '在低光环境中启用暗模式以获得舒适的观看体验'; @override String get sectionLogsTitle => '日志'; @override - String get sectionLogsSubtitle => '查看和管理应用程序日志以进行调试'; + String get sectionLogsSubtitle => '查看和管理应用日志以进行调试'; @override - String get doneButton => '完毕'; + String get doneButton => '完成'; @override String get bugReportDialogTitle => '错误报告'; @override - String get bugReportDialogHintText => '请描述您遇到的bug'; + String get bugReportDialogHintText => '请描述您遇到的错误'; @override String get attachFilesButtonTooltip => '附加文件'; @override - String get filePickerError => '选择文件失败'; + String get filePickerError => '无法选择文件'; @override String get emptyBugReportError => '请先输入错误报告'; @@ -196,4 +339,377 @@ class SettingsLocalizationZhCn extends SettingsLocalizationZh { @override String get sectionManageSubscriptionSubtitle => '管理您的订阅设置'; + + @override + String get sectionHapticFeedbackTitle => '触觉反馈'; + + @override + String get sectionHapticFeedbackSubtitle => '在支持的设备上启用或禁用触觉反馈(振动)'; + + @override + String get sectionNotificationTitle => '开启通知'; + + @override + String get sectionNotificationSubtitle => + '当Doctorina在您的聊天、报告或症状中发现重要信息时,请保持更新。'; + + @override + String get sectionAccountTitle => '账户'; + + @override + String get sectionAppTitle => '应用'; + + @override + String get sectionAboutTitle => '关于'; + + @override + String get sectionNotificationsTitle => '通知'; + + @override + String get sectionVideoTutorialsTitle => '视频教程'; + + @override + String get accountPhoneLabel => '电话'; + + @override + String get accountEmailLabel => '电子邮件'; + + @override + String get accountNameLabel => '姓名'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '由于与现有文件重复,跳过了 $count 个文件'; + } + + @override + String get bugReportTypeSectionLabel => '类型'; + + @override + String get bugReportDescriptionSectionLabel => '描述'; + + @override + String get bugReportAttachmentsSectionLabel => '附件'; + + @override + String get bugReportTypeBug => 'Bug'; + + @override + String get bugReportTypeCrash => '崩溃'; + + @override + String get bugReportTypeUiIssue => '用户界面问题'; + + @override + String get bugReportTypeOther => '其他'; + + @override + String get deleteAccountWarningMessage => '删除您的账户将永久删除您在Doctorina上的数据。'; + + @override + String get deleteAccountBeforeYouDeleteTitle => '在您删除之前'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return '您通过 $store 拥有一个活跃的订阅。删除您的账户不会取消它。'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '在$store取消订阅'; + } + + @override + String get deleteAccountContinueButton => '继续'; + + @override + String get deleteAccountFormDescription => + '我们很遗憾看到您离开。您确定要删除您的账户吗?一旦您确认,您的数据将被删除。'; + + @override + String get deleteAccountReasonDontUseAnymore => '我不再使用这个应用'; + + @override + String get deleteAccountReasonFoundBetter => '找到了更好的选择'; + + @override + String get deleteAccountReasonTechnicalIssues => '技术问题'; + + @override + String get deleteAccountReasonEaseOfUse => '使用问题'; + + @override + String get deleteAccountReasonMissingFeatures => '缺少功能'; + + @override + String get deleteAccountReasonPrivacy => '隐私问题'; + + @override + String get deleteAccountReasonClearData => '我只是想清除我的数据'; + + @override + String get deleteAccountReasonOther => '其他'; + + @override + String get deleteAccountFeedbackHint => '分享您的反馈'; + + @override + String get deleteAccountProgressMessage => '正在删除您的账户...'; + + @override + String get deleteAccountDeletingButton => '正在删除'; + + @override + String get deleteAccountUndoButton => '撤销'; + + @override + String get deleteAccountSuccessToast => '您的账户已被删除。'; + + @override + String get deleteAccountErrorToast => '删除账户失败。请再试一次。'; + + @override + String get emailClientUnavailableToast => + '此设备上没有可用的电子邮件应用程序。请手动联系support@doctorina.com。'; +} + +/// The translations for Chinese, as used in Hong Kong (`zh_HK`). +class SettingsLocalizationZhHk extends SettingsLocalizationZh { + SettingsLocalizationZhHk() : super('zh_HK'); + + @override + String get sectionClearAllChatsTitle => '清除所有對話'; + + @override + String get sectionClearAllChatsSubtitle => '呢個會永久刪除你嘅對話記錄.'; + + @override + String get sectionClearAllChatsButton => '清除所有對話'; + + @override + String get sectionClearAllChatsEmailTheme => '清除所有對話'; + + @override + String get sectionDeleteAccountTitle => '刪除帳戶'; + + @override + String get sectionDeleteAccountSubtitle => '刪除你嘅帳戶係永久性操作,無法還原.'; + + @override + String get sectionDeleteAccountButton => '刪除'; + + @override + String get sectionDeleteAccountTheme => '刪除帳戶'; + + @override + String get sectionLogOutTitle => '登出'; + + @override + String get sectionLogOutSubtitle => '你將會登出你嘅帳戶.'; + + @override + String get sectionLogOutButton => '登出'; + + @override + String get sendBugReportButton => '發送Bug報告'; + + @override + String get sectionSendMessageWithEnterTitle => '用 [⏎ Enter] 發送訊息'; + + @override + String get sectionSendMessageWithEnterSubtitle => + '用 [⏎ Enter] 發送訊息,而用 [Shift] + [⏎ Enter] 換行'; + + @override + String get sectionSendMessageEnter => '使用 [⏎ Enter] 發送'; + + @override + String get sectionPrivacyPolicy => '私隱政策'; + + @override + String get sectionSelectLocaleTitle => '語言'; + + @override + String get sectionSelectLocaleSubtitle => '揀選你鍾意嘅應用程式界面語言'; + + @override + String get sectionSwitchThemeTitle => '深色模式'; + + @override + String get sectionSwitchThemeSubtitle => '開啟暗色模式,令您喺弱光環境下享受舒適瀏覽體驗'; + + @override + String get sectionLogsTitle => '日誌'; + + @override + String get sectionLogsSubtitle => '睇同管理應用程式嘅日誌用嚟偵錯'; + + @override + String get doneButton => '完成'; + + @override + String get bugReportDialogTitle => '錯誤回報'; + + @override + String get bugReportDialogHintText => '請描述您遇到嘅bug'; + + @override + String get attachFilesButtonTooltip => '附上檔案'; + + @override + String get filePickerError => '揀唔到檔案'; + + @override + String get emptyBugReportError => '請先輸入bug報告'; + + @override + String get failedToSendBugReportError => '發送錯誤回報失敗'; + + @override + String get sectionManageSubscriptionTitle => '管理訂閱'; + + @override + String get sectionManageSubscriptionSubtitle => '管理你的訂閱設定'; + + @override + String get sectionHapticFeedbackTitle => '觸覺反饋'; + + @override + String get sectionHapticFeedbackSubtitle => '喺支援嘅裝置上啟用或停用觸覺反饋(震動)'; + + @override + String get sectionNotificationTitle => '開啟通知'; + + @override + String get sectionNotificationSubtitle => + '當 Doctorina 在您的聊天、報告或症狀中發現重要信息時,保持更新。'; + + @override + String get sectionAccountTitle => '帳戶'; + + @override + String get sectionAppTitle => '應用程式'; + + @override + String get sectionAboutTitle => '關於'; + + @override + String get sectionNotificationsTitle => '通知'; + + @override + String get sectionVideoTutorialsTitle => '視頻教程'; + + @override + String get accountPhoneLabel => '電話'; + + @override + String get accountEmailLabel => '電子郵件'; + + @override + String get accountNameLabel => '姓名'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return '因與現有文件重複而跳過 $count 個文件'; + } + + @override + String get bugReportTypeSectionLabel => '類型'; + + @override + String get bugReportDescriptionSectionLabel => '描述'; + + @override + String get bugReportAttachmentsSectionLabel => '附件'; + + @override + String get bugReportTypeBug => '錯誤'; + + @override + String get bugReportTypeCrash => '崩潰'; + + @override + String get bugReportTypeUiIssue => '界面問題'; + + @override + String get bugReportTypeOther => '其他'; + + @override + String get deleteAccountWarningMessage => '刪除您的帳戶將永久刪除您在Doctorina的數據'; + + @override + String get deleteAccountBeforeYouDeleteTitle => '在您刪除之前'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return '您在 $store 有一個活躍的訂閱。刪除您的帳戶不會取消它。'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return '在 $store 取消訂閱'; + } + + @override + String get deleteAccountContinueButton => '繼續'; + + @override + String get deleteAccountFormDescription => + '我們很遺憾看到你離開。你確定要刪除你的帳戶嗎?一旦你確認,你的數據將會消失。'; + + @override + String get deleteAccountReasonDontUseAnymore => '我不再使用這個應用程式'; + + @override + String get deleteAccountReasonFoundBetter => '找到更好的選擇'; + + @override + String get deleteAccountReasonTechnicalIssues => '技術問題'; + + @override + String get deleteAccountReasonEaseOfUse => '使用問題'; + + @override + String get deleteAccountReasonMissingFeatures => '缺少功能'; + + @override + String get deleteAccountReasonPrivacy => '隱私問題'; + + @override + String get deleteAccountReasonClearData => '我只是想清除我的數據'; + + @override + String get deleteAccountReasonOther => '其他'; + + @override + String get deleteAccountFeedbackHint => '分享您的意見'; + + @override + String get deleteAccountProgressMessage => '正在刪除您的帳戶...'; + + @override + String get deleteAccountDeletingButton => '刪除中'; + + @override + String get deleteAccountUndoButton => '撤銷'; + + @override + String get deleteAccountSuccessToast => '您的帳戶已被刪除。'; + + @override + String get deleteAccountErrorToast => '刪除帳戶失敗。請再試一次。'; + + @override + String get emailClientUnavailableToast => + '此設備上沒有可用的電子郵件應用程式。請手動聯繫support@doctorina.com。'; } diff --git a/example/lib/src/generated/settings/settings_localization_zu.dart b/example/lib/src/generated/settings/settings_localization_zu.dart new file mode 100644 index 0000000..4d9ac3a --- /dev/null +++ b/example/lib/src/generated/settings/settings_localization_zu.dart @@ -0,0 +1,256 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'settings_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Zulu (`zu`). +class SettingsLocalizationZu extends SettingsLocalization { + SettingsLocalizationZu([String locale = 'zu']) : super(locale); + + @override + String get sectionClearAllChatsTitle => 'Susa Zonke Izingxoxo'; + + @override + String get sectionClearAllChatsSubtitle => + 'Lokhu kuzokhipha umlando wakho wezokuxhumana.'; + + @override + String get sectionClearAllChatsButton => 'Susa Zonke Izingxoxo'; + + @override + String get sectionClearAllChatsEmailTheme => 'Susa Zonke Izingxoxo'; + + @override + String get sectionDeleteAccountTitle => 'Susa i-akhawunti'; + + @override + String get sectionDeleteAccountSubtitle => + 'Ukususa i-akhawunti yakho kuyisenzo esingapheli futhi akukwazi ukubuyiselwa.'; + + @override + String get sectionDeleteAccountButton => 'Susa'; + + @override + String get sectionDeleteAccountTheme => 'Susa i-akhawunti'; + + @override + String get sectionLogOutTitle => 'Phuma'; + + @override + String get sectionLogOutSubtitle => 'Uzophuma kwi-akhawunti yakho.'; + + @override + String get sectionLogOutButton => 'Phuma'; + + @override + String get sendBugReportButton => 'Thumela Umbiko Wokuhluleka'; + + @override + String get sectionSendMessageWithEnterTitle => + 'Thumela umlayezo nge [⏎ Enter]'; + + @override + String get sectionSendMessageWithEnterSubtitle => + 'Thumela umlayezo nge [⏎ Enter] bese ufaka umugqa omusha nge [Shift] + [⏎ Enter]'; + + @override + String get sectionSendMessageEnter => 'Thumela nge [⏎ Enter]'; + + @override + String get sectionPrivacyPolicy => 'Inqubomgomo Yokuvikela'; + + @override + String get sectionSelectLocaleTitle => 'Ulimi'; + + @override + String get sectionSelectLocaleSubtitle => + 'Khetha ulimi oluthandayo lwe-interface ye-app'; + + @override + String get sectionSwitchThemeTitle => 'Imodi emnyama'; + + @override + String get sectionSwitchThemeSubtitle => + 'Vula imodi emnyama ukuze uthole isipiliyoni sokubuka esikahle ezimeni zokukhanya eziphansi'; + + @override + String get sectionLogsTitle => 'Amalogi'; + + @override + String get sectionLogsSubtitle => + 'Bheka futhi uphathe ama-log wesicelo ukuze uthole izinkinga'; + + @override + String get doneButton => 'Qed'; + + @override + String get bugReportDialogTitle => 'Umbiko Wokuhlola'; + + @override + String get bugReportDialogHintText => 'Sicela uchaze ngempela oyitholile'; + + @override + String get attachFilesButtonTooltip => 'Faka amafayela'; + + @override + String get filePickerError => + 'Ukuphumelela ukukhetha amafayela akwehlulekile'; + + @override + String get emptyBugReportError => 'Sicela ufakele umbiko wephutha kuqala'; + + @override + String get failedToSendBugReportError => + 'Ukuthumela umbiko wephutha akuphumelelanga'; + + @override + String get sectionManageSubscriptionTitle => 'Phatha ubhaliso'; + + @override + String get sectionManageSubscriptionSubtitle => + 'Phatha izilungiselelo zakho zokubhalisela'; + + @override + String get sectionHapticFeedbackTitle => 'Ihaptik feedback'; + + @override + String get sectionHapticFeedbackSubtitle => + 'Vula noma uvalele haptic feedback (ukushaya) kumadivayisi asekelwayo'; + + @override + String get sectionNotificationTitle => 'Vula izaziso'; + + @override + String get sectionNotificationSubtitle => + 'Hlala unolwazi uma uDoctorina ethola okuthile okubalulekile ezingxoxweni zakho, imibiko, noma izimpawu.'; + + @override + String get sectionAccountTitle => 'I-akhawunti'; + + @override + String get sectionAppTitle => 'Uhlelo'; + + @override + String get sectionAboutTitle => 'Mayelana'; + + @override + String get sectionNotificationsTitle => 'Izaziso'; + + @override + String get sectionVideoTutorialsTitle => 'Izifundo zevidiyo'; + + @override + String get accountPhoneLabel => 'Ucingo'; + + @override + String get accountEmailLabel => 'I-imeyili'; + + @override + String get accountNameLabel => 'Igama'; + + @override + String appVersionLabel(String version) { + return 'Doctorina v$version'; + } + + @override + String duplicateAttachmentFilesError(String count) { + return 'Kushiywe amafayela angu-$count ngenxa yokuphindaphinda namafayela akhona'; + } + + @override + String get bugReportTypeSectionLabel => 'Uhlobo'; + + @override + String get bugReportDescriptionSectionLabel => 'Incazelo'; + + @override + String get bugReportAttachmentsSectionLabel => 'Izithombe'; + + @override + String get bugReportTypeBug => 'Ibhakede'; + + @override + String get bugReportTypeCrash => 'Ukwehliswa'; + + @override + String get bugReportTypeUiIssue => 'Inkingi ye-UI'; + + @override + String get bugReportTypeOther => 'Okunye'; + + @override + String get deleteAccountWarningMessage => + 'Ukususa i-akhawunti yakho kuzokwenza ukuthi idatha yakho isuswe ngokuphelele ku-Doctorina.'; + + @override + String get deleteAccountBeforeYouDeleteTitle => 'Ngaphambi kokususa'; + + @override + String deleteAccountActiveSubscriptionNotice(String store) { + return 'Unesiphakeli esebenzisa $store. Ukususa i-akhawunti yakho ngeke kukhanseli.'; + } + + @override + String deleteAccountCancelSubscriptionLink(String store) { + return 'Khansela ubhaliso ku-$store'; + } + + @override + String get deleteAccountContinueButton => 'Qhubeka'; + + @override + String get deleteAccountFormDescription => + 'Siyaxolisa ukukubona uhamba. Uqinisekile ukuthi ufuna ukususa i-akhawunti yakho? Uma uqinisekisa, idatha yakho izophela.'; + + @override + String get deleteAccountReasonDontUseAnymore => + 'Angisasebenzisi uhlelo lokusebenza'; + + @override + String get deleteAccountReasonFoundBetter => 'Thole into engcono'; + + @override + String get deleteAccountReasonTechnicalIssues => 'Izinkinga zobuchwepheshe'; + + @override + String get deleteAccountReasonEaseOfUse => 'Izinkinga zokusebenzisa'; + + @override + String get deleteAccountReasonMissingFeatures => 'Izici ezikhona'; + + @override + String get deleteAccountReasonPrivacy => 'Ukukhathazeka ngasese'; + + @override + String get deleteAccountReasonClearData => 'Ngifuna nje ukusula idatha yami'; + + @override + String get deleteAccountReasonOther => 'Okunye'; + + @override + String get deleteAccountFeedbackHint => 'Yabelana ngombono wakho'; + + @override + String get deleteAccountProgressMessage => 'Ukususa i-akhawunti yakho...'; + + @override + String get deleteAccountDeletingButton => 'Ukususa'; + + @override + String get deleteAccountUndoButton => 'Buyisela'; + + @override + String get deleteAccountSuccessToast => 'I-akhawunti yakho isuswe.'; + + @override + String get deleteAccountErrorToast => + 'Ukuphuma kwe-akhawunti kwehlulekile. Sicela uzame futhi.'; + + @override + String get emailClientUnavailableToast => + 'Ayikho i-app ye-imeyili etholakalayo kulolu divayisi. Sicela uxhumane ne-support@doctorina.com ngesandla.'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization.dart b/example/lib/src/generated/sign_up/sign_up_localization.dart index 9e9c719..355b192 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! import 'dart:async'; import 'package:flutter/foundation.dart'; @@ -6,18 +6,60 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; +import 'sign_up_localization_af.dart'; +import 'sign_up_localization_am.dart'; import 'sign_up_localization_ar.dart'; +import 'sign_up_localization_az.dart'; +import 'sign_up_localization_be.dart'; +import 'sign_up_localization_bg.dart'; import 'sign_up_localization_bn.dart'; +import 'sign_up_localization_ca.dart'; +import 'sign_up_localization_cs.dart'; +import 'sign_up_localization_da.dart'; import 'sign_up_localization_de.dart'; +import 'sign_up_localization_el.dart'; import 'sign_up_localization_en.dart'; import 'sign_up_localization_es.dart'; +import 'sign_up_localization_fa.dart'; import 'sign_up_localization_fr.dart'; +import 'sign_up_localization_gu.dart'; +import 'sign_up_localization_he.dart'; import 'sign_up_localization_hi.dart'; +import 'sign_up_localization_hu.dart'; +import 'sign_up_localization_id.dart'; import 'sign_up_localization_it.dart'; +import 'sign_up_localization_ja.dart'; +import 'sign_up_localization_kk.dart'; +import 'sign_up_localization_km.dart'; +import 'sign_up_localization_kn.dart'; import 'sign_up_localization_ko.dart'; +import 'sign_up_localization_lo.dart'; +import 'sign_up_localization_ml.dart'; +import 'sign_up_localization_mr.dart'; +import 'sign_up_localization_ms.dart'; +import 'sign_up_localization_my.dart'; +import 'sign_up_localization_ne.dart'; +import 'sign_up_localization_nl.dart'; +import 'sign_up_localization_pa.dart'; +import 'sign_up_localization_pl.dart'; +import 'sign_up_localization_ps.dart'; import 'sign_up_localization_pt.dart'; +import 'sign_up_localization_ro.dart'; import 'sign_up_localization_ru.dart'; +import 'sign_up_localization_si.dart'; +import 'sign_up_localization_sk.dart'; +import 'sign_up_localization_sw.dart'; +import 'sign_up_localization_ta.dart'; +import 'sign_up_localization_te.dart'; +import 'sign_up_localization_th.dart'; +import 'sign_up_localization_tl.dart'; +import 'sign_up_localization_tr.dart'; +import 'sign_up_localization_uk.dart'; +import 'sign_up_localization_ur.dart'; +import 'sign_up_localization_uz.dart'; +import 'sign_up_localization_vi.dart'; import 'sign_up_localization_zh.dart'; +import 'sign_up_localization_zu.dart'; // ignore_for_file: type=lint @@ -105,35 +147,74 @@ abstract class SignUpLocalization { /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ + Locale('af'), + Locale('am'), Locale('ar'), + Locale('ar', 'EG'), + Locale('az'), + Locale('be'), + Locale('bg'), Locale('bn'), + Locale('ca'), + Locale('cs'), + Locale('da'), Locale('de'), + Locale('el'), Locale('en'), Locale('es'), + Locale('fa'), Locale('fr'), + Locale('gu'), + Locale('he'), Locale('hi'), + Locale('hu'), + Locale('id'), Locale('it'), + Locale('ja'), + Locale('kk'), + Locale('km'), + Locale('kn'), Locale('ko'), + Locale('lo'), + Locale('ml'), + Locale('mr'), + Locale('ms'), + Locale('my'), + Locale('ne'), + Locale('nl'), + Locale('pa'), + Locale('pa', 'PK'), + Locale('pl'), + Locale('ps'), Locale('pt'), Locale('pt', 'BR'), + Locale('ro'), Locale('ru'), + Locale('si'), + Locale('sk'), + Locale('sw'), + Locale('ta'), + Locale('te'), + Locale('th'), + Locale('tl'), + Locale('tr'), + Locale('uk'), + Locale('ur'), + Locale('uz'), + Locale('vi'), Locale('zh'), - Locale('zh', 'CN') + Locale('zh', 'CN'), + Locale('zh', 'HK'), + Locale('zu') ]; - /// No description provided for @title. - /// - /// In en, this message translates to: - /// **'Sign In'** - String get title; - - /// No description provided for @logIn. + /// Надпись "логин" /// /// In en, this message translates to: /// **'Log in'** String get logIn; - /// No description provided for @password. + /// Надпись "пароль" /// /// In en, this message translates to: /// **'Password'** @@ -342,6 +423,403 @@ abstract class SignUpLocalization { /// In en, this message translates to: /// **'Resend code ({timer})'** String resendCodeTimer(String timer); + + /// Соглашение на обработку персональных данных. + /// В тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках. + /// + /// In en, this message translates to: + /// **'I consent to the processing of personal data, the use of cookies, agree to the terms and conditions, and acknowledge the

privacy policy

.'** + String get consentFull; + + /// Email input field label. + /// + /// In en, this message translates to: + /// **'Enter your email'** + String get emailLabel; + + /// AppBar title for email signup overlay + /// + /// In en, this message translates to: + /// **'Sign up with Email'** + String get signUpWithEmailTitle; + + /// AppBar title for email login overlay + /// + /// In en, this message translates to: + /// **'Log in with Email'** + String get logInWithEmailTitle; + + /// Phone input field label + /// + /// In en, this message translates to: + /// **'Enter your phone'** + String get phoneLabel; + + /// AppBar title for phone confirmation screen + /// + /// In en, this message translates to: + /// **'Confirm your phone'** + String get confirmPhoneTitle; + + /// Standalone "Sign up" text for buttons and tabs + /// + /// In en, this message translates to: + /// **'Sign up'** + String get signUpText; + + /// Short email hint text in login dialog + /// + /// In en, this message translates to: + /// **'Enter email'** + String get emailHintShort; + + /// Button text for Google sign up + /// + /// In en, this message translates to: + /// **'Sign up with Google'** + String get buttonTextSignUpWithGoogle; + + /// Button text for Apple login sign up + /// + /// In en, this message translates to: + /// **'Sign up with Apple'** + String get buttonTextSignUpWithApple; + + /// Button text for phone login sign up + /// + /// In en, this message translates to: + /// **'Sign up with Phone'** + String get buttonTextSignUpWithPhone; + + /// Button text for Google sign up + /// + /// In en, this message translates to: + /// **'Login with Google'** + String get buttonTextLoginWithGoogle; + + /// Button text for Apple login sign up + /// + /// In en, this message translates to: + /// **'Login with Apple'** + String get buttonTextLoginWithApple; + + /// Button text for phone login sign up + /// + /// In en, this message translates to: + /// **'Login with Phone'** + String get buttonTextLoginWithPhone; + + /// Message displayed on logout screen + /// + /// In en, this message translates to: + /// **'You are logged out'** + String get youAreLoggedOutMessage; + + /// Reload button text on logout screen + /// + /// In en, this message translates to: + /// **'Reload'** + String get reloadButtonText; + + /// Error message for invalid email address + /// + /// In en, this message translates to: + /// **'Invalid email address'** + String get emailErrorText; + + /// Error message for password validation (minimum length) + /// + /// In en, this message translates to: + /// **'Password must be at least 6 characters long'** + String get passwordErrorText; + + /// Error message for invalid phone number format + /// + /// In en, this message translates to: + /// **'Invalid phone number: {phoneNumber}'** + String invalidPhoneNumberError(Object phoneNumber); + + /// Error message when trying to resend code too soon + /// + /// In en, this message translates to: + /// **'Please wait {seconds} seconds before requesting a new code.'** + String resendCodeWaitError(Object seconds); + + /// Error message for invalid phone verification code + /// + /// In en, this message translates to: + /// **'Invalid phone code: {phoneCode}'** + String invalidPhoneCodeError(Object phoneCode); + + /// Terms and conditions link text in login dialog + /// + /// In en, this message translates to: + /// **'Terms and conditions'** + String get termsAndConditionsText; + + /// Btn to continue as guest on sign up screen + /// + /// In en, this message translates to: + /// **'Continue as guest'** + String get continueAsGuestBtn; + + /// Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link. + /// + /// In en, this message translates to: + /// **'Don\'t have an account yet?

Sign up

'** + String get noAccountYetPromptText; + + /// Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link. + /// + /// In en, this message translates to: + /// **'Already have an account?

Log in

'** + String get alreadyHaveAccountPromptText; + + /// Subtitle for login dialog + /// + /// In en, this message translates to: + /// **'You need to sign up before you can continue with Premium'** + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle; + + /// Подзаголовок на экране входа, мотивирующий пользователя авторизоваться + /// + /// In en, this message translates to: + /// **'Get personalized content and keep in touch with your community!'** + String get loginSubtitle; + + /// Метка поля ввода email в форме + /// + /// In en, this message translates to: + /// **'E-mail'** + String get emailFieldLabel; + + /// Пример email в поле ввода + /// + /// In en, this message translates to: + /// **'username@gmail.com'** + String get emailPlaceholder; + + /// Тултип кнопки восстановления пароля когда email валиден + /// + /// In en, this message translates to: + /// **'Recover your password'** + String get recoverPasswordTooltip; + + /// Заголовок экрана регистрации + /// + /// In en, this message translates to: + /// **'Create an account'** + String get createAccountTitle; + + /// Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт + /// + /// In en, this message translates to: + /// **'We need an account to securely save your health data and continue your assessment.'** + String get createAccountSubtitle; + + /// Метка поля повторного ввода пароля + /// + /// In en, this message translates to: + /// **'Repeat'** + String get repeatLabel; + + /// Подсказка в поле повторного ввода пароля + /// + /// In en, this message translates to: + /// **'Repeat your password'** + String get repeatPasswordHint; + + /// Кнопка подтверждения регистрации с паролем + /// + /// In en, this message translates to: + /// **'Confirm'** + String get confirmButton; + + /// Текст перед ссылкой на регистрацию на экране входа + /// + /// In en, this message translates to: + /// **'Don\'t have an account?'** + String get noAccountPrompt; + + /// Текст перед ссылкой на вход на экране регистрации + /// + /// In en, this message translates to: + /// **'Already have an account?'** + String get alreadyHaveAccountPrompt; + + /// Заголовок шага создания пароля в хедере диалога + /// + /// In en, this message translates to: + /// **'Create a password'** + String get createPasswordHeader; + + /// Заголовок шага ввода телефона в хедере диалога + /// + /// In en, this message translates to: + /// **'Phone'** + String get phoneHeader; + + /// Заголовок шага верификации телефона в хедере диалога + /// + /// In en, this message translates to: + /// **'Verify Phone'** + String get verifyPhoneHeader; + + /// Заголовок экрана ввода номера телефона + /// + /// In en, this message translates to: + /// **'What\'s your number?'** + String get phoneTitle; + + /// Подзаголовок экрана ввода телефона + /// + /// In en, this message translates to: + /// **'We\'ll text a code to verify your phone'** + String get phoneSubtitle; + + /// Метка поля ввода номера телефона + /// + /// In en, this message translates to: + /// **'Number'** + String get phoneNumberLabel; + + /// Подсказка в поле ввода телефона + /// + /// In en, this message translates to: + /// **'Enter phone number'** + String get enterPhoneNumber; + + /// Пример номера телефона в поле ввода + /// + /// In en, this message translates to: + /// **'+1 (201) 555-01-23'** + String get phonePlaceholder; + + /// Текст кнопки во время ожидания повторной отправки OTP + /// + /// In en, this message translates to: + /// **'Wait {countdown} seconds'** + String waitCountdownButton(int countdown); + + /// Заголовок экрана ввода OTP кода + /// + /// In en, this message translates to: + /// **'Enter your code'** + String get enterCodeTitle; + + /// Текст с информацией куда отправлен код + /// + /// In en, this message translates to: + /// **'We sent a code to {phone}'** + String codeSentToPhone(String phone); + + /// Текст перед ссылкой на повторную отправку кода + /// + /// In en, this message translates to: + /// **'Didn\'t receive the code?'** + String get didntReceiveCode; + + /// Текст ссылки повторной отправки кода + /// + /// In en, this message translates to: + /// **'Click to resend'** + String get clickToResend; + + /// Текст с обратным отсчётом до возможности повторной отправки кода + /// + /// In en, this message translates to: + /// **'You can request a new code in {countdown} seconds'** + String requestNewCodeCountdown(int countdown); + + /// Тултип кнопки закрытия диалога + /// + /// In en, this message translates to: + /// **'Close'** + String get closeTooltip; + + /// Тултип кнопки назад + /// + /// In en, this message translates to: + /// **'Back'** + String get backTooltip; + + /// Текст ссылки на условия использования в футере + /// + /// In en, this message translates to: + /// **'Terms of Service'** + String get termsOfServiceLink; + + /// Текст ссылки на политику конфиденциальности в футере + /// + /// In en, this message translates to: + /// **'Privacy Policy'** + String get privacyPolicyLink; + + /// Заголовок экрана приветствия при возвращении пользователя + /// + /// In en, this message translates to: + /// **'Welcome back'** + String get welcomeBackTitle; + + /// Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться + /// + /// In en, this message translates to: + /// **'Log in if you already have a Doctorina account, or sign up to get started.'** + String get welcomeBackSubtitle; + + /// Правило валидации пароля: длина от 8 до 128 символов + /// + /// In en, this message translates to: + /// **'From 8 to 128 characters'** + String get passwordRuleLength; + + /// Правило валидации пароля: минимум 1 цифра + /// + /// In en, this message translates to: + /// **'At least 1 number'** + String get passwordRuleNumber; + + /// Правило валидации пароля: минимум 1 заглавная буква + /// + /// In en, this message translates to: + /// **'At least 1 uppercase letter'** + String get passwordRuleUppercase; + + /// Правило валидации пароля: пароли совпадают + /// + /// In en, this message translates to: + /// **'Passwords match'** + String get passwordRuleMatch; + + /// No description provided for @phoneOtpVerificationFailed. + /// + /// In en, this message translates to: + /// **'OTP verification failed. Please try again.'** + String get phoneOtpVerificationFailed; + + /// Заголовок поля ввода реферального кода на экране регистрации + /// + /// In en, this message translates to: + /// **'Referral code'** + String get referralCodeLabel; + + /// Подсказка (labelText) в поле ввода реферального кода + /// + /// In en, this message translates to: + /// **'Enter your referral code'** + String get enterReferralCodeHint; + + /// Пример реферального кода в поле ввода (hintText) + /// + /// In en, this message translates to: + /// **'E.G. CREATOR2026'** + String get referralCodeExampleHint; + + /// Ссылка-вопрос, раскрывающая поле ввода реферального кода + /// + /// In en, this message translates to: + /// **'Have a referral code?'** + String get haveReferralCodeQuestion; } class _SignUpLocalizationDelegate @@ -356,18 +834,60 @@ class _SignUpLocalizationDelegate @override bool isSupported(Locale locale) => [ + 'af', + 'am', 'ar', + 'az', + 'be', + 'bg', 'bn', + 'ca', + 'cs', + 'da', 'de', + 'el', 'en', 'es', + 'fa', 'fr', + 'gu', + 'he', 'hi', + 'hu', + 'id', 'it', + 'ja', + 'kk', + 'km', + 'kn', 'ko', + 'lo', + 'ml', + 'mr', + 'ms', + 'my', + 'ne', + 'nl', + 'pa', + 'pl', + 'ps', 'pt', + 'ro', 'ru', - 'zh' + 'si', + 'sk', + 'sw', + 'ta', + 'te', + 'th', + 'tl', + 'tr', + 'uk', + 'ur', + 'uz', + 'vi', + 'zh', + 'zu' ].contains(locale.languageCode); @override @@ -377,6 +897,22 @@ class _SignUpLocalizationDelegate SignUpLocalization lookupSignUpLocalization(Locale locale) { // Lookup logic when language+country codes are specified. switch (locale.languageCode) { + case 'ar': + { + switch (locale.countryCode) { + case 'EG': + return SignUpLocalizationArEg(); + } + break; + } + case 'pa': + { + switch (locale.countryCode) { + case 'PK': + return SignUpLocalizationPaPk(); + } + break; + } case 'pt': { switch (locale.countryCode) { @@ -390,6 +926,8 @@ SignUpLocalization lookupSignUpLocalization(Locale locale) { switch (locale.countryCode) { case 'CN': return SignUpLocalizationZhCn(); + case 'HK': + return SignUpLocalizationZhHk(); } break; } @@ -397,30 +935,114 @@ SignUpLocalization lookupSignUpLocalization(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { + case 'af': + return SignUpLocalizationAf(); + case 'am': + return SignUpLocalizationAm(); case 'ar': return SignUpLocalizationAr(); + case 'az': + return SignUpLocalizationAz(); + case 'be': + return SignUpLocalizationBe(); + case 'bg': + return SignUpLocalizationBg(); case 'bn': return SignUpLocalizationBn(); + case 'ca': + return SignUpLocalizationCa(); + case 'cs': + return SignUpLocalizationCs(); + case 'da': + return SignUpLocalizationDa(); case 'de': return SignUpLocalizationDe(); + case 'el': + return SignUpLocalizationEl(); case 'en': return SignUpLocalizationEn(); case 'es': return SignUpLocalizationEs(); + case 'fa': + return SignUpLocalizationFa(); case 'fr': return SignUpLocalizationFr(); + case 'gu': + return SignUpLocalizationGu(); + case 'he': + return SignUpLocalizationHe(); case 'hi': return SignUpLocalizationHi(); + case 'hu': + return SignUpLocalizationHu(); + case 'id': + return SignUpLocalizationId(); case 'it': return SignUpLocalizationIt(); + case 'ja': + return SignUpLocalizationJa(); + case 'kk': + return SignUpLocalizationKk(); + case 'km': + return SignUpLocalizationKm(); + case 'kn': + return SignUpLocalizationKn(); case 'ko': return SignUpLocalizationKo(); + case 'lo': + return SignUpLocalizationLo(); + case 'ml': + return SignUpLocalizationMl(); + case 'mr': + return SignUpLocalizationMr(); + case 'ms': + return SignUpLocalizationMs(); + case 'my': + return SignUpLocalizationMy(); + case 'ne': + return SignUpLocalizationNe(); + case 'nl': + return SignUpLocalizationNl(); + case 'pa': + return SignUpLocalizationPa(); + case 'pl': + return SignUpLocalizationPl(); + case 'ps': + return SignUpLocalizationPs(); case 'pt': return SignUpLocalizationPt(); + case 'ro': + return SignUpLocalizationRo(); case 'ru': return SignUpLocalizationRu(); + case 'si': + return SignUpLocalizationSi(); + case 'sk': + return SignUpLocalizationSk(); + case 'sw': + return SignUpLocalizationSw(); + case 'ta': + return SignUpLocalizationTa(); + case 'te': + return SignUpLocalizationTe(); + case 'th': + return SignUpLocalizationTh(); + case 'tl': + return SignUpLocalizationTl(); + case 'tr': + return SignUpLocalizationTr(); + case 'uk': + return SignUpLocalizationUk(); + case 'ur': + return SignUpLocalizationUr(); + case 'uz': + return SignUpLocalizationUz(); + case 'vi': + return SignUpLocalizationVi(); case 'zh': return SignUpLocalizationZh(); + case 'zu': + return SignUpLocalizationZu(); } throw FlutterError( diff --git a/example/lib/src/generated/sign_up/sign_up_localization_af.dart b/example/lib/src/generated/sign_up/sign_up_localization_af.dart new file mode 100644 index 0000000..e34b305 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_af.dart @@ -0,0 +1,346 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Afrikaans (`af`). +class SignUpLocalizationAf extends SignUpLocalization { + SignUpLocalizationAf([String locale = 'af']) : super(locale); + + @override + String get logIn => 'Teken in'; + + @override + String get password => 'Wagwoord'; + + @override + String get changeNumber => 'Verander nommer'; + + @override + String get forgotPassword => 'Vergeet wagwoord?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Voer jou e-posadres in, en ons sal vir jou \'n skakel stuur om jou wagwoord te herstel.'; + + @override + String get rememberYourPasswordQuestion => 'Onthou jy jou wagwoord?'; + + @override + String get backToLoginButton => 'Ek het \'n wagwoord'; + + @override + String get continueButton => 'Gaan voort'; + + @override + String get passwordResetEmailSentSnackBar => 'Wagwoordherstel-e-pos gestuur'; + + @override + String get resetPasswordButton => 'Reset wagwoord'; + + @override + String get confirmCodeButton => 'Bevestig kode'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Begin vandag om Doctorina te gebruik'; + + @override + String get orDivider => 'OF'; + + @override + String get enterPasswordForEmailHint => 'Voer jou wagwoord in'; + + @override + String get showPasswordHint => 'Wys wagwoord'; + + @override + String get obscurePasswordHint => 'Versteek wagwoord'; + + @override + String get clearLoginTooltip => 'Maak inlog skoon'; + + @override + String get emailOrPhoneLabel => 'E-pos of telefoon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com of +1234567890'; + + @override + String get emailOrPhoneHint => 'Voer e-pos of telefoonnommer in'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Asseblief aanvaar die ooreenkomste om voort te gaan'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Ek stem in met die verwerking van persoonlike data,'; + + @override + String get consentTheUseOf => 'die gebruik van'; + + @override + String get consentCookies => 'koekies'; + + @override + String get consentAgreeToThe => ', stem in'; + + @override + String get consentTermsAndConditions => 'terme en voorwaardes'; + + @override + String get consentAndAcknowledgeThe => ', en erken die'; + + @override + String get consentPrivacyPolicy => 'privaatheidsbeleid'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Ek erken dat my konsultasie met \'n KI is en nie \'n gelisensieerde mediese professionele is.'; + + @override + String get logOutDialogTitle => 'Teken uit'; + + @override + String get logOutDialogContent => 'Is jy seker jy wil uitteken?'; + + @override + String get logOutDialogCancelButton => 'Kanselleer'; + + @override + String get logOutDialogLogOutButton => 'Ja, teken uit'; + + @override + String get resendCodeButton => 'Stuur kode weer'; + + @override + String resendCodeTimer(String timer) { + return 'Stuur kode weer ($timer)'; + } + + @override + String get consentFull => + 'Ek stem in tot die verwerking van persoonlike data, die gebruik van cookies, stem in met die terme en voorwaardes, en erken die

privaatheidsbeleid

.'; + + @override + String get emailLabel => 'Voer jou e-pos in'; + + @override + String get signUpWithEmailTitle => 'Teken in met e-pos'; + + @override + String get logInWithEmailTitle => 'Teken in met e-pos'; + + @override + String get phoneLabel => 'Voer jou telefoon in'; + + @override + String get confirmPhoneTitle => 'Bevestig jou telefoon'; + + @override + String get signUpText => 'Registreer'; + + @override + String get emailHintShort => 'Voer e-pos in'; + + @override + String get buttonTextSignUpWithGoogle => 'Teken aan met Google'; + + @override + String get buttonTextSignUpWithApple => 'Teken in met Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Registreer met foon'; + + @override + String get buttonTextLoginWithGoogle => 'Teken in met Google'; + + @override + String get buttonTextLoginWithApple => 'Teken in met Apple'; + + @override + String get buttonTextLoginWithPhone => 'Teken in met foon'; + + @override + String get youAreLoggedOutMessage => 'Jy is uitgeteken'; + + @override + String get reloadButtonText => 'Herlaai'; + + @override + String get emailErrorText => 'Ongeldige e-posadres'; + + @override + String get passwordErrorText => + 'Wagwoord moet ten minste 6 karakters lank wees'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Ongeldige telefonnommer: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Wag asseblief $seconds sekondes voordat jy \'n nuwe kode versoek.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Ongeldige telefoonkode: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Bepalings en voorwaardes'; + + @override + String get continueAsGuestBtn => 'Gaan voort as gas'; + + @override + String get noAccountYetPromptText => 'Nog geen rekening?

Registreer

'; + + @override + String get alreadyHaveAccountPromptText => + 'Het jy al \'n rekening?

Teken in

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Jy moet eers aanmeld voordat jy met Premium kan voortgaan'; + + @override + String get loginSubtitle => + 'Kry persoonlike inhoud en hou kontak met jou gemeenskap!'; + + @override + String get emailFieldLabel => 'E-pos'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Herstel jou wagwoord'; + + @override + String get createAccountTitle => 'Skep \'n rekening'; + + @override + String get createAccountSubtitle => + 'Ons het \'n rekening nodig om jou gesondheidsdata veilig te stoor en jou assessering voort te sit.'; + + @override + String get repeatLabel => 'Herhaal'; + + @override + String get repeatPasswordHint => 'Herhaal jou wagwoord'; + + @override + String get confirmButton => 'Bevestig'; + + @override + String get noAccountPrompt => 'Het jy nie \'n rekening nie?'; + + @override + String get alreadyHaveAccountPrompt => 'Het u reeds \'n rekening?'; + + @override + String get createPasswordHeader => 'Skep \'n wagwoord'; + + @override + String get phoneHeader => 'Telefoon'; + + @override + String get verifyPhoneHeader => 'Verifieer telefoon'; + + @override + String get phoneTitle => 'Wat is jou nommer?'; + + @override + String get phoneSubtitle => + 'Ons sal \'n kode stuur om jou telefoon te verifieer'; + + @override + String get phoneNumberLabel => 'Nommer'; + + @override + String get enterPhoneNumber => 'Voer telefoonnommer in'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Wag $countdown sekondes'; + } + + @override + String get enterCodeTitle => 'Voer jou kode in'; + + @override + String codeSentToPhone(String phone) { + return 'Ons het \'n kode na $phone gestuur'; + } + + @override + String get didntReceiveCode => 'Het u nie die kode ontvang nie?'; + + @override + String get clickToResend => 'Klik om weer te stuur'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Jy kan \'n nuwe kode in $countdown sekondes aanvra'; + } + + @override + String get closeTooltip => 'Sluit'; + + @override + String get backTooltip => 'Terug'; + + @override + String get termsOfServiceLink => 'Voorwaardes van Diens'; + + @override + String get privacyPolicyLink => 'Privaatheidsbeleid'; + + @override + String get welcomeBackTitle => 'Welkom terug'; + + @override + String get welcomeBackSubtitle => + 'Teken in as jy reeds \'n Doctorina-rekening het, of registreer om te begin.'; + + @override + String get passwordRuleLength => 'Van 8 tot 128 karakters'; + + @override + String get passwordRuleNumber => 'Ten minste 1 nommer'; + + @override + String get passwordRuleUppercase => 'Ten minste 1 hoofletter'; + + @override + String get passwordRuleMatch => 'Wagwoord stem ooreen'; + + @override + String get phoneOtpVerificationFailed => + 'OTP-verifikasie het misluk. Probeer asseblief weer.'; + + @override + String get referralCodeLabel => 'Verwysingskode'; + + @override + String get enterReferralCodeHint => 'Voer jou verwysingskode in'; + + @override + String get referralCodeExampleHint => 'bv. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Het u \'n verwysingskode?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_am.dart b/example/lib/src/generated/sign_up/sign_up_localization_am.dart new file mode 100644 index 0000000..ede7f48 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_am.dart @@ -0,0 +1,341 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Amharic (`am`). +class SignUpLocalizationAm extends SignUpLocalization { + SignUpLocalizationAm([String locale = 'am']) : super(locale); + + @override + String get logIn => 'ግባ'; + + @override + String get password => 'የይለፍ ቃል'; + + @override + String get changeNumber => 'ቁጥር ይለውጡ'; + + @override + String get forgotPassword => 'የወረዳ ቃል ይቅርታ?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'ኢሜይል አድራሻዎን ይጻፉ፣ እና ወደ ይዘው የይለፍ ቃል ለማስተካከል አገናኝ እንላክልዎታለን.'; + + @override + String get rememberYourPasswordQuestion => 'እባክህ የይለፍ ቃልህን አስታውስ?'; + + @override + String get backToLoginButton => 'እኔ የይለፍ ቃል አለኝ'; + + @override + String get continueButton => 'ቀጥል'; + + @override + String get passwordResetEmailSentSnackBar => 'የይለፍ ቃል እንደገና ኢሜይል ተላክቷል'; + + @override + String get resetPasswordButton => 'የይለፍ ቃል ይቀይሩ'; + + @override + String get confirmCodeButton => 'ኮድ እንደገና ይረጋገጡ'; + + @override + String get startUsingDoctorinaTodaySubtitle => 'ዛሬ ዶክተርኢናን መጠቀም ይጀምሩ'; + + @override + String get orDivider => 'ወይም'; + + @override + String get enterPasswordForEmailHint => 'እባክዎ የይለፍ ቃልዎን ይግቡ'; + + @override + String get showPasswordHint => 'የይለፍ ቃል አሳይ'; + + @override + String get obscurePasswordHint => 'የይለፍ ቃል ይሰውር'; + + @override + String get clearLoginTooltip => 'Clear login'; + + @override + String get emailOrPhoneLabel => 'ኢሜይል ወይም ስልክ'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com ወይም +1234567890'; + + @override + String get emailOrPhoneHint => 'ኢሜይል ወይም የስልክ ቁጥር ይግቡ'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'እባክህ ምርጫዎቹን እንዲቀጥሉ አቅርብ.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'እኔ ወደ የግል ውሂብ ሂደት እቀበላለሁ,'; + + @override + String get consentTheUseOf => 'እንደ እንቅስቃሴ ይጠቀሙ'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', ተስማሚ ሆኑ'; + + @override + String get consentTermsAndConditions => 'terms and conditions'; + + @override + String get consentAndAcknowledgeThe => ', እና አረጋግጥ'; + + @override + String get consentPrivacyPolicy => 'የግል የእንቅስቃሴ ፖሊሲ'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'እኔ እቀበላለሁ የኔ ኮንስልታሽን ከAI እና ከወቅታዊ የሕክምና ሙያ ሰው አይደለም.'; + + @override + String get logOutDialogTitle => 'ወደ ውጭ ይሂዱ'; + + @override + String get logOutDialogContent => 'እቅፍ ነህ ወይም ነሽ ወይ? ወይም ወይ? ወይ?'; + + @override + String get logOutDialogCancelButton => 'ተወው'; + + @override + String get logOutDialogLogOutButton => 'አዎን ውጣ'; + + @override + String get resendCodeButton => 'እባክህ ኮድ ይላኩ'; + + @override + String resendCodeTimer(String timer) { + return 'ኮድ ይዘርዝር ($timer)'; + } + + @override + String get consentFull => + 'እኔ ለግል መረጃ ማስተካከያ, cookies አጠቃቀም, ውሎችና መመሪያዎች ማስተባበር, እና

የግል መረጃ ፖሊሲ

መቀበል እፈልጋለሁ'; + + @override + String get emailLabel => 'ኢሜይልዎን ያስገቡ'; + + @override + String get signUpWithEmailTitle => 'በኢሜል ይመዝገቡ'; + + @override + String get logInWithEmailTitle => 'በኢሜይል ግባ'; + + @override + String get phoneLabel => 'ስልክዎን ያስገቡ'; + + @override + String get confirmPhoneTitle => 'ስልክዎን ያረጋግጡ'; + + @override + String get signUpText => 'ተመዝግበው'; + + @override + String get emailHintShort => 'ኢሜይል ያስገቡ'; + + @override + String get buttonTextSignUpWithGoogle => 'Google ጋር ይምዝገቡ'; + + @override + String get buttonTextSignUpWithApple => 'ከApple ጋር ይመዝገቡ'; + + @override + String get buttonTextSignUpWithPhone => 'በስልክ ይመዝገቡ'; + + @override + String get buttonTextLoginWithGoogle => 'Google ጋር ግባ'; + + @override + String get buttonTextLoginWithApple => 'Apple ጋር መግባት'; + + @override + String get buttonTextLoginWithPhone => 'በስልክ ግባ'; + + @override + String get youAreLoggedOutMessage => 'እርስዎ ውጭ ሆነዋል'; + + @override + String get reloadButtonText => 'እንደገና ተጫን'; + + @override + String get emailErrorText => 'የተሳሳተ ኢሜል አድራሻ'; + + @override + String get passwordErrorText => 'የመለያ ቁልፍ ቢያንስ 6 ፊደሎች መያዝ አለበት'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'የልክ ያልሆነ ስልክ ቁጥር: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'እባክዎ $seconds ሰከንት በፊት አዲስ ኮድ ለመጠየቅ ይጠብቁ።'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'የተሳሳተ ስልክ ኮድ: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'ውሎች እና ደንቦች'; + + @override + String get continueAsGuestBtn => 'እንደ እንግዳ ቀጥል'; + + @override + String get noAccountYetPromptText => 'አካውንት አልተፈጠረም?

ተመዝግበው

'; + + @override + String get alreadyHaveAccountPromptText => 'አሁንም መለያ አለዎት?

ግባ

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'እባኮትን ወደ ፕሪምየም ለመቀጠል መመዘገብ አለብዎት'; + + @override + String get loginSubtitle => 'የግል ይዘት ይቀበሉ እና ከማህበረሰብዎ ጋር ይገናኙ!'; + + @override + String get emailFieldLabel => 'ኢሜይል'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'የእርዳታውን ፓስወርድ ይወዳድሩ'; + + @override + String get createAccountTitle => 'መለያ ይፍጠሩ'; + + @override + String get createAccountSubtitle => + 'አካውንት ይፈልጋሉ የጤና ውሂብዎን በደህና መንገድ ለማስቀመጥ እና ግንዛቤዎን ለመቀጠል።'; + + @override + String get repeatLabel => 'ድጋፍ'; + + @override + String get repeatPasswordHint => 'የእርስዎን የይለፍ ቃል ይደግፉ'; + + @override + String get confirmButton => 'እርግጠኛ'; + + @override + String get noAccountPrompt => 'አካውንት የለህም?'; + + @override + String get alreadyHaveAccountPrompt => 'አሁን አካውንት አለዎት?'; + + @override + String get createPasswordHeader => 'የይለፍ ቃል ይፍጠሩ'; + + @override + String get phoneHeader => 'ስልክ'; + + @override + String get verifyPhoneHeader => 'ስልኩን አረጋግጥ'; + + @override + String get phoneTitle => 'እባክዎ የስልክ ቁጥርዎን ያስገቡ'; + + @override + String get phoneSubtitle => 'እባኮትን ስልኩን ለማረጋገጥ ኮድ እንልክልዎታለን'; + + @override + String get phoneNumberLabel => 'ቁጥር'; + + @override + String get enterPhoneNumber => 'የስልክ ቁጥር ይግቡ'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'መጠባበቅ $countdown ሴት'; + } + + @override + String get enterCodeTitle => 'ኮድዎን ይግቡ'; + + @override + String codeSentToPhone(String phone) { + return 'እኛ ወደ $phone ኮድ ላክን ነን'; + } + + @override + String get didntReceiveCode => 'ኮድ አልተቀበሉም?'; + + @override + String get clickToResend => 'እባክዎ ወደ ኋላ ለመላክ ጠቅ ይቀጥሉ'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'እባኮትን አዲስ ኮድ በ$countdown ሴከንድ ይጠይቁ'; + } + + @override + String get closeTooltip => 'ዝግጅት'; + + @override + String get backTooltip => 'ተመለስ'; + + @override + String get termsOfServiceLink => 'አገልግሎት ውል'; + + @override + String get privacyPolicyLink => 'የግለሰቦች የግል ፖሊሲ'; + + @override + String get welcomeBackTitle => 'እንኳን ወደ እንግዳ በደህና መጡ'; + + @override + String get welcomeBackSubtitle => + 'እባኮትን ወደ ዶክተርና መለያ እንደተነሱ ገብተው ወይም መጀመሪያ ይመዘገቡ።'; + + @override + String get passwordRuleLength => 'ከ8 እስከ 128 ቁምፊ'; + + @override + String get passwordRuleNumber => 'አንድ ቁጥር ቢኖር ይኖርብዎታል'; + + @override + String get passwordRuleUppercase => 'አንድ የሚለው የከፍተኛ ፊደል አለ'; + + @override + String get passwordRuleMatch => 'የይለፍ ቃሎች ይገናኛሉ'; + + @override + String get phoneOtpVerificationFailed => + 'የOTP ማረጋገጫ አልተሳካም። እባክዎ እንደገና ይሞክሩ።'; + + @override + String get referralCodeLabel => 'የምንጭ ኮድ'; + + @override + String get enterReferralCodeHint => 'እባክዎ የምንጭ ኮድዎን ይግቡ'; + + @override + String get referralCodeExampleHint => 'እንደ ምሳሌ የሚሆን ኮድ ይጻፉ እንደ CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'የምንጭ ኮድ አለዎት?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ar.dart b/example/lib/src/generated/sign_up/sign_up_localization_ar.dart index 6dcaaf3..beb632b 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_ar.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_ar.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,7 +11,341 @@ class SignUpLocalizationAr extends SignUpLocalization { SignUpLocalizationAr([String locale = 'ar']) : super(locale); @override - String get title => 'تسجيل الدخول'; + String get logIn => 'تسجيل الدخول'; + + @override + String get password => 'كلمة المرور'; + + @override + String get changeNumber => 'تغيير الرقم'; + + @override + String get forgotPassword => 'نسيت كلمة المرور؟'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'أدخل عنوان بريدك الإلكتروني، وسنرسل لك رابطًا لإعادة تعيين كلمة المرور'; + + @override + String get rememberYourPasswordQuestion => 'هل تتذكر كلمة المرور الخاصة بك؟'; + + @override + String get backToLoginButton => 'عندي كلمة مرور'; + + @override + String get continueButton => 'استمر'; + + @override + String get passwordResetEmailSentSnackBar => + 'تم إرسال بريد إعادة تعيين كلمة المرور'; + + @override + String get resetPasswordButton => 'إعادة تعيين كلمة المرور'; + + @override + String get confirmCodeButton => 'تأكيد الرمز'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'ابدأ باستخدام Doctorina اليوم'; + + @override + String get orDivider => 'أو'; + + @override + String get enterPasswordForEmailHint => 'أدخل كلمة المرور الخاصة بك'; + + @override + String get showPasswordHint => 'إظهار كلمة المرور'; + + @override + String get obscurePasswordHint => 'إخفاء كلمة المرور'; + + @override + String get clearLoginTooltip => 'مسح تسجيل الدخول'; + + @override + String get emailOrPhoneLabel => 'البريد الإلكتروني أو الهاتف'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com أو +1234567890'; + + @override + String get emailOrPhoneHint => 'أدخل البريد الإلكتروني أو رقم الهاتف'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'يرجى قبول الاتفاقيات للمتابعة.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'أوافق على معالجة البيانات الشخصية,'; + + @override + String get consentTheUseOf => 'استخدام'; + + @override + String get consentCookies => 'ملفات تعريف الارتباط'; + + @override + String get consentAgreeToThe => '، أوافق على ال'; + + @override + String get consentTermsAndConditions => 'الشروط والأحكام'; + + @override + String get consentAndAcknowledgeThe => ', وتقر بـ'; + + @override + String get consentPrivacyPolicy => 'سياسة الخصوصية'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'أقر بأن استشارتي مع الذكاء الاصطناعي وليست مع محترف طبي مرخص'; + + @override + String get logOutDialogTitle => 'تسجيل الخروج'; + + @override + String get logOutDialogContent => 'هل أنت متأكد من تسجيل الخروج?'; + + @override + String get logOutDialogCancelButton => 'إلغاء'; + + @override + String get logOutDialogLogOutButton => 'نعم، تسجيل الخروج'; + + @override + String get resendCodeButton => 'أعد إرسال الرمز'; + + @override + String resendCodeTimer(String timer) { + return 'إعادة إرسال الرمز ($timer)'; + } + + @override + String get consentFull => + 'أوافق على معالجة البيانات الشخصية، واستخدام الكوكيز، وأوافق على الشروط والأحكام، وأقر بـ

سياسة الخصوصية

.'; + + @override + String get emailLabel => 'أدخل بريدك الإلكتروني'; + + @override + String get signUpWithEmailTitle => 'سجّل باستخدام البريد الإلكتروني'; + + @override + String get logInWithEmailTitle => 'تسجيل الدخول باستخدام البريد الإلكتروني'; + + @override + String get phoneLabel => 'أدخل رقم هاتفك'; + + @override + String get confirmPhoneTitle => 'أكد هاتفك'; + + @override + String get signUpText => 'سجل'; + + @override + String get emailHintShort => 'أدخل البريد الإلكتروني'; + + @override + String get buttonTextSignUpWithGoogle => 'سجّل باستخدام Google'; + + @override + String get buttonTextSignUpWithApple => 'سجّل باستخدام Apple'; + + @override + String get buttonTextSignUpWithPhone => 'سجل عبر الهاتف'; + + @override + String get buttonTextLoginWithGoogle => 'تسجيل الدخول باستخدام Google'; + + @override + String get buttonTextLoginWithApple => 'تسجيل الدخول باستخدام Apple'; + + @override + String get buttonTextLoginWithPhone => 'تسجيل الدخول عبر الهاتف'; + + @override + String get youAreLoggedOutMessage => 'تم تسجيل خروجك'; + + @override + String get reloadButtonText => 'إعادة تحميل'; + + @override + String get emailErrorText => 'عنوان البريد الإلكتروني غير صالح'; + + @override + String get passwordErrorText => 'يجب أن تتكون كلمة السر من 6 أحرف على الأقل'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'رقم الهاتف غير صالح: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'من فضلك انتظر $seconds ثانية قبل طلب رمز جديد.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'رمز الهاتف غير صالح: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'الشروط والأحكام'; + + @override + String get continueAsGuestBtn => 'استمر كضيف'; + + @override + String get noAccountYetPromptText => 'لسه ما عندكش حساب؟

إنشاء حساب

'; + + @override + String get alreadyHaveAccountPromptText => + 'عندك حساب بالفعل؟

تسجيل الدخول

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'يجب عليك التسجيل قبل أن تتمكن من الاستمرار مع Premium'; + + @override + String get loginSubtitle => 'احصل على محتوى مخصص وابقَ على اتصال مع مجتمعك!'; + + @override + String get emailFieldLabel => 'البريد الإلكتروني'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'استعد كلمة المرور الخاصة بك'; + + @override + String get createAccountTitle => 'إنشاء حساب'; + + @override + String get createAccountSubtitle => + 'نحتاج إلى حساب لحفظ بيانات صحتك بأمان ومتابعة تقييمك'; + + @override + String get repeatLabel => 'كرر'; + + @override + String get repeatPasswordHint => 'كرر كلمة المرور الخاصة بك'; + + @override + String get confirmButton => 'تأكيد'; + + @override + String get noAccountPrompt => 'ليس لديك حساب؟'; + + @override + String get alreadyHaveAccountPrompt => 'هل لديك حساب بالفعل؟'; + + @override + String get createPasswordHeader => 'إنشاء كلمة مرور'; + + @override + String get phoneHeader => 'الهاتف'; + + @override + String get verifyPhoneHeader => 'تحقق من الهاتف'; + + @override + String get phoneTitle => 'ما هو رقمك؟'; + + @override + String get phoneSubtitle => 'سنرسل لك رمزًا للتحقق من هاتفك'; + + @override + String get phoneNumberLabel => 'رقم'; + + @override + String get enterPhoneNumber => 'أدخل رقم الهاتف'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'انتظر $countdown ثواني'; + } + + @override + String get enterCodeTitle => 'أدخل الرمز الخاص بك'; + + @override + String codeSentToPhone(String phone) { + return 'لقد أرسلنا رمزًا إلى $phone'; + } + + @override + String get didntReceiveCode => 'لم تستلم الكود؟'; + + @override + String get clickToResend => 'انقر لإعادة الإرسال'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'يمكنك طلب رمز جديد خلال $countdown ثواني'; + } + + @override + String get closeTooltip => 'إغلاق'; + + @override + String get backTooltip => 'رجوع'; + + @override + String get termsOfServiceLink => 'شروط الخدمة'; + + @override + String get privacyPolicyLink => 'سياسة الخصوصية'; + + @override + String get welcomeBackTitle => 'مرحبًا بعودتك'; + + @override + String get welcomeBackSubtitle => + 'قم بتسجيل الدخول إذا كان لديك حساب Doctorina بالفعل، أو اشترك للبدء.'; + + @override + String get passwordRuleLength => 'من 8 إلى 128 حرفًا'; + + @override + String get passwordRuleNumber => 'على الأقل 1 رقم'; + + @override + String get passwordRuleUppercase => 'على الأقل 1 حرف كبير'; + + @override + String get passwordRuleMatch => 'كلمات المرور متطابقة'; + + @override + String get phoneOtpVerificationFailed => + 'فشلت عملية التحقق من رمز التحقق لمرة واحدة. يرجى المحاولة مرة أخرى.'; + + @override + String get referralCodeLabel => 'كود الإحالة'; + + @override + String get enterReferralCodeHint => 'أدخل رمز الإحالة الخاص بك'; + + @override + String get referralCodeExampleHint => 'مثال على رمز الإحالة في حقل الإدخال'; + + @override + String get haveReferralCodeQuestion => 'هل لديك رمز إحالة؟'; +} + +/// The translations for Arabic, as used in Egypt (`ar_EG`). +class SignUpLocalizationArEg extends SignUpLocalizationAr { + SignUpLocalizationArEg() : super('ar_EG'); @override String get logIn => 'تسجيل الدخول'; @@ -23,24 +357,24 @@ class SignUpLocalizationAr extends SignUpLocalization { String get changeNumber => 'تغيير الرقم'; @override - String get forgotPassword => 'هل نسيت كلمة السر؟'; + String get forgotPassword => 'نسيت كلمة المرور؟'; @override String get forgotPasswordEnterYourEmailAddress => - 'أدخل عنوان بريدك الإلكتروني وسنرسل لك رابطًا لإعادة تعيين كلمة المرور الخاصة بك.'; + 'أدخل عنوان بريدك الإلكتروني، وسنرسل لك رابطًا لإعادة تعيين كلمة المرور'; @override - String get rememberYourPasswordQuestion => 'تذكر كلمة المرور الخاصة بك؟'; + String get rememberYourPasswordQuestion => 'هل تتذكر كلمة المرور الخاصة بك؟'; @override - String get backToLoginButton => 'لدي كلمة مرور'; + String get backToLoginButton => 'عندي كلمة مرور'; @override - String get continueButton => 'يكمل'; + String get continueButton => 'استمر'; @override String get passwordResetEmailSentSnackBar => - 'تم إرسال بريد إلكتروني لإعادة تعيين كلمة المرور'; + 'تم إرسال بريد إعادة تعيين كلمة المرور'; @override String get resetPasswordButton => 'إعادة تعيين كلمة المرور'; @@ -62,7 +396,7 @@ class SignUpLocalizationAr extends SignUpLocalization { String get showPasswordHint => 'إظهار كلمة المرور'; @override - String get obscurePasswordHint => 'كلمة مرور غامضة'; + String get obscurePasswordHint => 'إخفاء كلمة المرور'; @override String get clearLoginTooltip => 'مسح تسجيل الدخول'; @@ -78,11 +412,11 @@ class SignUpLocalizationAr extends SignUpLocalization { @override String get pleaseAcceptTheAgreementsToContinueSnackBar => - 'يرجى قبول الاتفاقيات للاستمرار.'; + 'يرجى قبول الاتفاقيات للمتابعة.'; @override String get consentToTheProcessingOfPersonalData => - 'أوافق على معالجة البيانات الشخصية،'; + 'أوافق على معالجة البيانات الشخصية,'; @override String get consentTheUseOf => 'استخدام'; @@ -91,13 +425,13 @@ class SignUpLocalizationAr extends SignUpLocalization { String get consentCookies => 'ملفات تعريف الارتباط'; @override - String get consentAgreeToThe => '، أوافق على'; + String get consentAgreeToThe => '، أوافق على ال'; @override String get consentTermsAndConditions => 'الشروط والأحكام'; @override - String get consentAndAcknowledgeThe => '، والاعتراف'; + String get consentAndAcknowledgeThe => ', وتقر بـ'; @override String get consentPrivacyPolicy => 'سياسة الخصوصية'; @@ -107,25 +441,241 @@ class SignUpLocalizationAr extends SignUpLocalization { @override String get acknowledgeMyConsultation => - 'أقر بأن استشارتي تتم مع الذكاء الاصطناعي وليس مع أخصائي طبي مرخص.'; + 'أقر بأن استشارتي مع الذكاء الاصطناعي وليست مع محترف طبي مرخص'; @override String get logOutDialogTitle => 'تسجيل الخروج'; @override - String get logOutDialogContent => 'هل أنت متأكد من تسجيل الخروج؟'; + String get logOutDialogContent => 'هل أنت متأكد من تسجيل الخروج?'; @override - String get logOutDialogCancelButton => 'يلغي'; + String get logOutDialogCancelButton => 'إلغاء'; @override String get logOutDialogLogOutButton => 'نعم، تسجيل الخروج'; @override - String get resendCodeButton => 'إعادة إرسال الرمز'; + String get resendCodeButton => 'أعد إرسال الرمز'; @override String resendCodeTimer(String timer) { return 'إعادة إرسال الرمز ($timer)'; } + + @override + String get consentFull => + 'أوافق على معالجة البيانات الشخصية، واستخدام الكوكيز، وأوافق على الشروط والأحكام، وأقر بـ

سياسة الخصوصية

.'; + + @override + String get emailLabel => 'أدخل بريدك الإلكتروني'; + + @override + String get signUpWithEmailTitle => 'سجّل باستخدام البريد الإلكتروني'; + + @override + String get logInWithEmailTitle => 'تسجيل الدخول باستخدام البريد الإلكتروني'; + + @override + String get phoneLabel => 'أدخل رقم هاتفك'; + + @override + String get confirmPhoneTitle => 'أكد هاتفك'; + + @override + String get signUpText => 'سجل'; + + @override + String get emailHintShort => 'أدخل البريد الإلكتروني'; + + @override + String get buttonTextSignUpWithGoogle => 'سجّل باستخدام Google'; + + @override + String get buttonTextSignUpWithApple => 'سجّل باستخدام Apple'; + + @override + String get buttonTextSignUpWithPhone => 'سجل عبر الهاتف'; + + @override + String get buttonTextLoginWithGoogle => 'تسجيل الدخول باستخدام Google'; + + @override + String get buttonTextLoginWithApple => 'تسجيل الدخول باستخدام Apple'; + + @override + String get buttonTextLoginWithPhone => 'تسجيل الدخول عبر الهاتف'; + + @override + String get youAreLoggedOutMessage => 'تم تسجيل خروجك'; + + @override + String get reloadButtonText => 'إعادة تحميل'; + + @override + String get emailErrorText => 'عنوان البريد الإلكتروني غير صالح'; + + @override + String get passwordErrorText => 'يجب أن تتكون كلمة السر من 6 أحرف على الأقل'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'رقم الهاتف غير صالح: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'من فضلك انتظر $seconds ثانية قبل طلب رمز جديد.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'رمز الهاتف غير صالح: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'الشروط والأحكام'; + + @override + String get continueAsGuestBtn => 'استمر كضيف'; + + @override + String get noAccountYetPromptText => 'لسه ما عندكش حساب؟

إنشاء حساب

'; + + @override + String get alreadyHaveAccountPromptText => + 'عندك حساب بالفعل؟

تسجيل الدخول

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'يجب عليك التسجيل قبل أن تتمكن من الاستمرار مع Premium'; + + @override + String get loginSubtitle => 'احصل على محتوى مخصص وابقَ على اتصال مع مجتمعك!'; + + @override + String get emailFieldLabel => 'البريد الإلكتروني'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'استعد كلمة المرور الخاصة بك'; + + @override + String get createAccountTitle => 'إنشاء حساب'; + + @override + String get createAccountSubtitle => + 'نحتاج إلى حساب لحفظ بيانات صحتك بأمان ومتابعة تقييمك'; + + @override + String get repeatLabel => 'كرر'; + + @override + String get repeatPasswordHint => 'كرر كلمة المرور الخاصة بك'; + + @override + String get confirmButton => 'تأكيد'; + + @override + String get noAccountPrompt => 'ليس لديك حساب؟'; + + @override + String get alreadyHaveAccountPrompt => 'هل لديك حساب بالفعل؟'; + + @override + String get createPasswordHeader => 'إنشاء كلمة مرور'; + + @override + String get phoneHeader => 'الهاتف'; + + @override + String get verifyPhoneHeader => 'تحقق من الهاتف'; + + @override + String get phoneTitle => 'ما هو رقمك؟'; + + @override + String get phoneSubtitle => 'سنرسل لك رمزًا للتحقق من هاتفك'; + + @override + String get phoneNumberLabel => 'رقم'; + + @override + String get enterPhoneNumber => 'أدخل رقم الهاتف'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'انتظر $countdown ثواني'; + } + + @override + String get enterCodeTitle => 'أدخل الرمز الخاص بك'; + + @override + String codeSentToPhone(String phone) { + return 'لقد أرسلنا رمزًا إلى $phone'; + } + + @override + String get didntReceiveCode => 'لم تستلم الكود؟'; + + @override + String get clickToResend => 'انقر لإعادة الإرسال'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'يمكنك طلب رمز جديد خلال $countdown ثواني'; + } + + @override + String get closeTooltip => 'إغلاق'; + + @override + String get backTooltip => 'رجوع'; + + @override + String get termsOfServiceLink => 'شروط الخدمة'; + + @override + String get privacyPolicyLink => 'سياسة الخصوصية'; + + @override + String get welcomeBackTitle => 'مرحبًا بعودتك'; + + @override + String get welcomeBackSubtitle => + 'قم بتسجيل الدخول إذا كان لديك حساب Doctorina بالفعل، أو اشترك للبدء.'; + + @override + String get passwordRuleLength => 'من 8 إلى 128 حرفًا'; + + @override + String get passwordRuleNumber => 'على الأقل 1 رقم'; + + @override + String get passwordRuleUppercase => 'على الأقل 1 حرف كبير'; + + @override + String get passwordRuleMatch => 'كلمات المرور متطابقة'; + + @override + String get phoneOtpVerificationFailed => + 'فشلت عملية التحقق من رمز التحقق لمرة واحدة. يرجى المحاولة مرة أخرى.'; + + @override + String get referralCodeLabel => 'كود الإحالة'; + + @override + String get enterReferralCodeHint => 'أدخل رمز الإحالة الخاص بك'; + + @override + String get referralCodeExampleHint => 'مثال على رمز الإحالة في حقل الإدخال'; + + @override + String get haveReferralCodeQuestion => 'هل لديك رمز إحالة؟'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_az.dart b/example/lib/src/generated/sign_up/sign_up_localization_az.dart new file mode 100644 index 0000000..eeecb74 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_az.dart @@ -0,0 +1,347 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Azerbaijani (`az`). +class SignUpLocalizationAz extends SignUpLocalization { + SignUpLocalizationAz([String locale = 'az']) : super(locale); + + @override + String get logIn => 'Daxil olun'; + + @override + String get password => 'Şifrə'; + + @override + String get changeNumber => 'Rəqəmi dəyişdir'; + + @override + String get forgotPassword => 'Şifrəni unutmusan? '; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'E-poçt adresinizi daxil edin, biz sizə şifrəni sıfırlamaq üçün bir link göndərəcəyik.'; + + @override + String get rememberYourPasswordQuestion => 'Şifrənizi xatırlayırsınız? '; + + @override + String get backToLoginButton => 'Mənim şifrəmdir'; + + @override + String get continueButton => 'Davam'; + + @override + String get passwordResetEmailSentSnackBar => + 'Şifrəni bərpa etmək üçün email göndərildi'; + + @override + String get resetPasswordButton => 'Şifrəni sıfırla'; + + @override + String get confirmCodeButton => 'Kodu təsdiqlə'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Bugün Doctorina istifadə etməyə başlayın'; + + @override + String get orDivider => 'VƏ'; + + @override + String get enterPasswordForEmailHint => 'Şifrənizi daxil edin'; + + @override + String get showPasswordHint => 'Parolu göstər'; + + @override + String get obscurePasswordHint => 'Obscure password'; + + @override + String get clearLoginTooltip => 'Girişin təmizlənməsi'; + + @override + String get emailOrPhoneLabel => 'Email və ya telefon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com və ya +1234567890'; + + @override + String get emailOrPhoneHint => 'E-poçtayı və ya telefon nömrəsini daxil edin'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Davranışları qəbul edin, davam etmək üçün.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Şəxsi məlumatların emalına razıyam,'; + + @override + String get consentTheUseOf => 'istifadə'; + + @override + String get consentCookies => 'şirniyyat'; + + @override + String get consentAgreeToThe => ', razıyam'; + + @override + String get consentTermsAndConditions => 'şərtlər və qaydalar'; + + @override + String get consentAndAcknowledgeThe => ', və qəbul edin'; + + @override + String get consentPrivacyPolicy => 'məxfilik siyasəti'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Mənim konsultasiyamın bir süni intellektlə olduğunu və lisenziyalı tibbi mütəxəssis olmadığını qəbul edirəm'; + + @override + String get logOutDialogTitle => 'Çıxış et'; + + @override + String get logOutDialogContent => 'Çıxmaq istədiyinizə əminsiniz?'; + + @override + String get logOutDialogCancelButton => 'İmtina et'; + + @override + String get logOutDialogLogOutButton => 'Bəli, çıxış et'; + + @override + String get resendCodeButton => 'Kodu yenidən göndər'; + + @override + String resendCodeTimer(String timer) { + return 'Kodu yenidən göndər ($timer)'; + } + + @override + String get consentFull => + 'Mən şəxsi məlumatların emalına, çərəzlərin istifadəsinə, şərtlər və qaydalarla razıyam və

məxfilik siyasətini

qəbul edirəm.'; + + @override + String get emailLabel => 'Elektron poçtunuzu daxil edin'; + + @override + String get signUpWithEmailTitle => 'Email ilə qeydiyyatdan keçin'; + + @override + String get logInWithEmailTitle => 'E-poçtla daxil ol'; + + @override + String get phoneLabel => 'Telefonunuzu daxil edin'; + + @override + String get confirmPhoneTitle => 'Telefonunuzu təsdiqləyin'; + + @override + String get signUpText => 'Qeydiyyatdan keçin'; + + @override + String get emailHintShort => 'Elektron poçtu daxil edin'; + + @override + String get buttonTextSignUpWithGoogle => 'Google ilə qeydiyyatdan keçin'; + + @override + String get buttonTextSignUpWithApple => 'Apple ilə qeydiyyatdan keçin'; + + @override + String get buttonTextSignUpWithPhone => 'Telefonla qeydiyyatdan keçin'; + + @override + String get buttonTextLoginWithGoogle => 'Google ilə daxil olun'; + + @override + String get buttonTextLoginWithApple => 'Apple ilə daxil olun'; + + @override + String get buttonTextLoginWithPhone => 'Telefonla daxil ol'; + + @override + String get youAreLoggedOutMessage => 'Siz çıxış etmisiniz'; + + @override + String get reloadButtonText => 'Yenidən yüklə'; + + @override + String get emailErrorText => 'Yanlış elektron poçtası ünvanı'; + + @override + String get passwordErrorText => 'Şifrə ən azı 6 simvol olmalıdır'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Yanlış telefon nömrəsi: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Zəhmət olmasa yeni kod istəmədən əvvəl $seconds saniyə gözləyin.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Yanlış telefon kodu: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Şərtlər və qaydalar'; + + @override + String get continueAsGuestBtn => 'Qonaq olaraq davam et'; + + @override + String get noAccountYetPromptText => + 'Hələ hesabınız yoxdur?

Qeydiyyatdan keçin

'; + + @override + String get alreadyHaveAccountPromptText => + 'Artıq hesabınız var?

Daxil ol

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Premium ilə davam etmək üçün qeydiyyatdan keçməlisiniz'; + + @override + String get loginSubtitle => + 'Şəxsi məzmun əldə edin və icmanızla əlaqədə qalın!'; + + @override + String get emailFieldLabel => 'E-poçt'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Şifrənizi bərpa edin'; + + @override + String get createAccountTitle => 'Hesab yarat'; + + @override + String get createAccountSubtitle => + 'Sağlıq məlumatlarınızı təhlükəsiz saxlamaq və qiymətləndirmənizi davam etdirmək üçün hesab lazımdır.'; + + @override + String get repeatLabel => 'Təkrarla'; + + @override + String get repeatPasswordHint => 'Parolanızı təkrarlayın'; + + @override + String get confirmButton => 'Təsdiq et'; + + @override + String get noAccountPrompt => 'Hesabınız yoxdur?'; + + @override + String get alreadyHaveAccountPrompt => 'Artıq hesabınız var? '; + + @override + String get createPasswordHeader => 'Şifrə yaradın'; + + @override + String get phoneHeader => 'Telefon'; + + @override + String get verifyPhoneHeader => 'Telefonu təsdiqləyin'; + + @override + String get phoneTitle => 'Nömrəniz nədir?'; + + @override + String get phoneSubtitle => + 'Telefonunuzu təsdiqləmək üçün sizə bir kod göndərəcəyik'; + + @override + String get phoneNumberLabel => 'Nömrə'; + + @override + String get enterPhoneNumber => 'Telefon nömrəsini daxil edin'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Gözləyin $countdown saniyə'; + } + + @override + String get enterCodeTitle => 'Kodunuzu daxil edin'; + + @override + String codeSentToPhone(String phone) { + return '$phone nömrəsinə kod göndərdik'; + } + + @override + String get didntReceiveCode => 'Kodu almadınız?'; + + @override + String get clickToResend => 'Təkrar göndərmək üçün klikləyin'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Yeni kodu $countdown saniyədən sonra tələb edə bilərsiniz'; + } + + @override + String get closeTooltip => 'Bağla'; + + @override + String get backTooltip => 'Geri'; + + @override + String get termsOfServiceLink => 'Xidmət Şərtləri'; + + @override + String get privacyPolicyLink => 'Məxfilik Siyasəti'; + + @override + String get welcomeBackTitle => 'Xoş gəlmisiniz'; + + @override + String get welcomeBackSubtitle => + 'Əgər artıq Doctorina hesabınız varsa, daxil olun, ya da başlamaq üçün qeydiyyatdan keçin.'; + + @override + String get passwordRuleLength => '8-dən 128 simvola qədər'; + + @override + String get passwordRuleNumber => 'Ən azı 1 rəqəm'; + + @override + String get passwordRuleUppercase => 'Ən azı 1 böyük hərf'; + + @override + String get passwordRuleMatch => 'Şifrələr uyğun gəlir'; + + @override + String get phoneOtpVerificationFailed => + 'OTP doğrulaması uğursuz oldu. Yenidən cəhd edin.'; + + @override + String get referralCodeLabel => 'Referal kodu'; + + @override + String get enterReferralCodeHint => 'Referal kodunuzu daxil edin'; + + @override + String get referralCodeExampleHint => 'E.G. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Təklif kodunuz varmı?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_be.dart b/example/lib/src/generated/sign_up/sign_up_localization_be.dart new file mode 100644 index 0000000..7457250 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_be.dart @@ -0,0 +1,348 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Belarusian (`be`). +class SignUpLocalizationBe extends SignUpLocalization { + SignUpLocalizationBe([String locale = 'be']) : super(locale); + + @override + String get logIn => 'Увайсці'; + + @override + String get password => 'Пароль'; + + @override + String get changeNumber => 'Змяніць нумар'; + + @override + String get forgotPassword => 'Забылі пароль?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Увядзіце свой адрас электроннай пошты, і мы вышлем вам спасылку на аднаўленне пароля'; + + @override + String get rememberYourPasswordQuestion => 'Памятаеце свой пароль?'; + + @override + String get backToLoginButton => 'Я маю пароль'; + + @override + String get continueButton => 'Працягнуць'; + + @override + String get passwordResetEmailSentSnackBar => + 'Ліст для аднаўлення пароля адпраўлены'; + + @override + String get resetPasswordButton => 'Скінуць пароль'; + + @override + String get confirmCodeButton => 'Пацвердзіць код'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Пачніце карыстацца Doctorina сёння'; + + @override + String get orDivider => 'АБО'; + + @override + String get enterPasswordForEmailHint => 'Увядзіце свой пароль'; + + @override + String get showPasswordHint => 'Паказаць пароль'; + + @override + String get obscurePasswordHint => 'Схаваць пароль'; + + @override + String get clearLoginTooltip => 'Ачысціць лагін'; + + @override + String get emailOrPhoneLabel => 'Электронная пошта або тэлефон'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com або +1234567890'; + + @override + String get emailOrPhoneHint => + 'Увядзіце адрас электроннай пошты або нумар тэлефона'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Калі ласка, пагадзіцеся з умовамі, каб працягнуць.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Я даю згоду на апрацоўку персанальных дадзеных,'; + + @override + String get consentTheUseOf => 'выкарыстанне'; + + @override + String get consentCookies => 'кукі'; + + @override + String get consentAgreeToThe => ', згаджаюся з'; + + @override + String get consentTermsAndConditions => 'умовы і палажэнні'; + + @override + String get consentAndAcknowledgeThe => ', і пацвердзіць'; + + @override + String get consentPrivacyPolicy => 'палітыка прыватнасці'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Я прызнаю, што мая кансультацыя адбываецца з дапамогай штучнага інтэлекту, а не з ліцэнзаваным медыцынскім спецыялістам.'; + + @override + String get logOutDialogTitle => 'Выйсці'; + + @override + String get logOutDialogContent => 'Вы ўпэўнены, што хочаце выйсці?'; + + @override + String get logOutDialogCancelButton => 'Адмена'; + + @override + String get logOutDialogLogOutButton => 'Так, выйсьці'; + + @override + String get resendCodeButton => 'Пераслаць код'; + + @override + String resendCodeTimer(String timer) { + return 'Пераслаць код ($timer)'; + } + + @override + String get consentFull => + 'Я даю згоду на апрацоўку персанальных дадзеных, выкарыстанне cookies, згаджаюся з умовамі і прызнаю

палітыку канфідэнцыяльнасці

.'; + + @override + String get emailLabel => 'Увядзіце ваш email'; + + @override + String get signUpWithEmailTitle => 'Зарэгістравацца праз электронную пошту'; + + @override + String get logInWithEmailTitle => 'Увайсці з электроннай поштай'; + + @override + String get phoneLabel => 'Увядзіце тэлефон'; + + @override + String get confirmPhoneTitle => 'Пацвердзіце тэлефон'; + + @override + String get signUpText => 'Рэгістравацца'; + + @override + String get emailHintShort => 'Увядзіце пошту'; + + @override + String get buttonTextSignUpWithGoogle => 'Зарэгістравацца праз Google'; + + @override + String get buttonTextSignUpWithApple => 'Зарэгістравацца праз Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Зарэгістравацца праз тэлефон'; + + @override + String get buttonTextLoginWithGoogle => 'Увайсці праз Google'; + + @override + String get buttonTextLoginWithApple => 'Увайсці праз Apple'; + + @override + String get buttonTextLoginWithPhone => 'Увайсці праз тэлефон'; + + @override + String get youAreLoggedOutMessage => 'Вы выйшлі'; + + @override + String get reloadButtonText => 'Перазагрузіць'; + + @override + String get emailErrorText => 'Няправільны адрас электроннай пошты'; + + @override + String get passwordErrorText => + 'Пароль павінен утрымліваць не менш за 6 сімвалаў'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Няправільны нумар тэлефона: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Калі ласка, пачакайце $seconds секунд, перш чым запытваць новы код.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Няправільны код тэлефона: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Умовы і палажэнні'; + + @override + String get continueAsGuestBtn => 'Працягнуць як госць'; + + @override + String get noAccountYetPromptText => + 'Яшчэ няма акаўнта?

Рэгістравацца

'; + + @override + String get alreadyHaveAccountPromptText => 'Ужо ёсць акаўнт?

Увайсці

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Вам трэба зарэгістравацца, перш чым вы зможаце працягнуць з Premium'; + + @override + String get loginSubtitle => + 'Атрымаеце персаналізаваны кантэнт і падтрымлівайце сувязь з вашай супольнасцю!'; + + @override + String get emailFieldLabel => 'Электронная пошта'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Аднавіце ваш пароль'; + + @override + String get createAccountTitle => 'Стварыць акаўнт'; + + @override + String get createAccountSubtitle => + 'Нам патрэбен уліковы запіс, каб бяспечна захаваць вашы дадзеныя аб здароўі і працягнуць вашу ацэнку.'; + + @override + String get repeatLabel => 'Паўтарыць'; + + @override + String get repeatPasswordHint => 'Паўторна ўвядзіце ваш пароль'; + + @override + String get confirmButton => 'Пацвердзіць'; + + @override + String get noAccountPrompt => 'У вас няма акаўнта?'; + + @override + String get alreadyHaveAccountPrompt => 'У вас ужо ёсць уліковы запіс?'; + + @override + String get createPasswordHeader => 'Стварыце пароль'; + + @override + String get phoneHeader => 'Тэлефон'; + + @override + String get verifyPhoneHeader => 'Праверце тэлефон'; + + @override + String get phoneTitle => 'Які ў вас нумар?'; + + @override + String get phoneSubtitle => + 'Мы адправім код для пацверджання вашага тэлефона'; + + @override + String get phoneNumberLabel => 'Нумар'; + + @override + String get enterPhoneNumber => 'Увядзіце нумар тэлефона'; + + @override + String get phonePlaceholder => '+375 (29) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Чакайце $countdown секунд'; + } + + @override + String get enterCodeTitle => 'Увядзіце ваш код'; + + @override + String codeSentToPhone(String phone) { + return 'Мы адправілі код на $phone'; + } + + @override + String get didntReceiveCode => 'Не атрымалі код?'; + + @override + String get clickToResend => 'Націсніце, каб паўторна адправіць'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Вы можаце запытаць новы код праз $countdown секунд'; + } + + @override + String get closeTooltip => 'Зачыніць'; + + @override + String get backTooltip => 'Назад'; + + @override + String get termsOfServiceLink => 'Умовы выкарыстання'; + + @override + String get privacyPolicyLink => 'Палітыка канфідэнцыяльнасці'; + + @override + String get welcomeBackTitle => 'С вяртаннем'; + + @override + String get welcomeBackSubtitle => + 'Увайдзіце, калі ў вас ужо ёсць уліковы запіс Doctorina, або зарэгіструйцеся, каб пачаць.'; + + @override + String get passwordRuleLength => 'Ад 8 да 128 сімвалаў'; + + @override + String get passwordRuleNumber => 'Мінімум 1 лічба'; + + @override + String get passwordRuleUppercase => 'Мінімум 1 вялікая літара'; + + @override + String get passwordRuleMatch => 'Паролі супадаюць'; + + @override + String get phoneOtpVerificationFailed => + 'Праверка аднаразовага пароля не атрымалася. Паўтарыце спробу.'; + + @override + String get referralCodeLabel => 'Рэферальны код'; + + @override + String get enterReferralCodeHint => 'Увядзіце ваш рэферальны код'; + + @override + String get referralCodeExampleHint => 'Напр. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'У вас ёсць рэферальны код?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_bg.dart b/example/lib/src/generated/sign_up/sign_up_localization_bg.dart new file mode 100644 index 0000000..8d893db --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_bg.dart @@ -0,0 +1,345 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Bulgarian (`bg`). +class SignUpLocalizationBg extends SignUpLocalization { + SignUpLocalizationBg([String locale = 'bg']) : super(locale); + + @override + String get logIn => 'Вход'; + + @override + String get password => 'Парола'; + + @override + String get changeNumber => 'Промяна на номера'; + + @override + String get forgotPassword => 'Забравена парола?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Въведете имейл адреса си и ние ще ви изпратим линк за нулиране на паролата.'; + + @override + String get rememberYourPasswordQuestion => 'Помните ли паролата си?'; + + @override + String get backToLoginButton => 'Имам парола'; + + @override + String get continueButton => 'Продължи'; + + @override + String get passwordResetEmailSentSnackBar => + 'Изпратен имейл за нулиране на паролата'; + + @override + String get resetPasswordButton => 'Нулиране на паролата'; + + @override + String get confirmCodeButton => 'Потвърдете кода'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Започнете да използвате Doctorina днес'; + + @override + String get orDivider => 'ИЛИ'; + + @override + String get enterPasswordForEmailHint => 'Въведете паролата си'; + + @override + String get showPasswordHint => 'Покажи паролата'; + + @override + String get obscurePasswordHint => 'Скрий парол'; + + @override + String get clearLoginTooltip => 'Изчисти входа'; + + @override + String get emailOrPhoneLabel => 'Имейл или телефон'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com или +1234567890'; + + @override + String get emailOrPhoneHint => 'Въведете имейл или телефонен номер'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Моля, приемете споразуменията, за да продължите'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Съгласявам се с обработката на лични данни,'; + + @override + String get consentTheUseOf => 'използването на'; + + @override + String get consentCookies => 'бисквитки'; + + @override + String get consentAgreeToThe => ', съгласен съм с'; + + @override + String get consentTermsAndConditions => 'общи условия'; + + @override + String get consentAndAcknowledgeThe => ', и признавам'; + + @override + String get consentPrivacyPolicy => 'политика за поверителност'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Признавам, че консултацията ми е с ИИ, а не с лицензиран медицински специалист.'; + + @override + String get logOutDialogTitle => 'Изход'; + + @override + String get logOutDialogContent => 'Сигурни ли сте, че искате да излезете?'; + + @override + String get logOutDialogCancelButton => 'Отказ'; + + @override + String get logOutDialogLogOutButton => 'Да, излез'; + + @override + String get resendCodeButton => 'Изпрати кода отново'; + + @override + String resendCodeTimer(String timer) { + return 'Изпратете отново кода ($timer)'; + } + + @override + String get consentFull => + 'Съгласявам се с обработката на лични данни, използването на cookies, съгласявам се с общите условия и потвърждавам

политиката за поверителност

'; + + @override + String get emailLabel => 'Въведете имейла си'; + + @override + String get signUpWithEmailTitle => 'Регистрирай се с имейл'; + + @override + String get logInWithEmailTitle => 'Вход с имейл'; + + @override + String get phoneLabel => 'Въведете вашия телефон'; + + @override + String get confirmPhoneTitle => 'Потвърдете телефона си'; + + @override + String get signUpText => 'Регистрация'; + + @override + String get emailHintShort => 'Въведете имейл'; + + @override + String get buttonTextSignUpWithGoogle => 'Регистрирай се с Google'; + + @override + String get buttonTextSignUpWithApple => 'Регистрирай се с Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Регистрирайте се с телефон'; + + @override + String get buttonTextLoginWithGoogle => 'Вход с Google'; + + @override + String get buttonTextLoginWithApple => 'Вход с Apple'; + + @override + String get buttonTextLoginWithPhone => 'Вход с телефон'; + + @override + String get youAreLoggedOutMessage => 'Вие сте излезли'; + + @override + String get reloadButtonText => 'Презареди'; + + @override + String get emailErrorText => 'Невалиден имейл адрес'; + + @override + String get passwordErrorText => 'Паролата трябва да съдържа поне 6 символа'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Невалиден телефонен номер: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Моля, изчакайте $seconds секунди, преди да поискате нов код.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Невалиден телефонен код: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Условия и разпоредби'; + + @override + String get continueAsGuestBtn => 'Продължи като гост'; + + @override + String get noAccountYetPromptText => + 'Все още нямате акаунт?

Регистрирай се

'; + + @override + String get alreadyHaveAccountPromptText => 'Вече имате акаунт?

Вход

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Трябва да се регистрирате, преди да можете да продължите с Premium'; + + @override + String get loginSubtitle => + 'Получавайте персонализирано съдържание и поддържайте връзка с вашата общност!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Възстановете паролата си'; + + @override + String get createAccountTitle => 'Създайте акаунт'; + + @override + String get createAccountSubtitle => + 'Нуждаем се от акаунт, за да запазим сигурно вашите здравни данни и да продължим оценката.'; + + @override + String get repeatLabel => 'Повтори'; + + @override + String get repeatPasswordHint => 'Повторете паролата си'; + + @override + String get confirmButton => 'Потвърдете'; + + @override + String get noAccountPrompt => 'Нямате акаунт?'; + + @override + String get alreadyHaveAccountPrompt => 'Вече имате акаунт?'; + + @override + String get createPasswordHeader => 'Създайте парола'; + + @override + String get phoneHeader => 'Телефон'; + + @override + String get verifyPhoneHeader => 'Потвърдете телефона'; + + @override + String get phoneTitle => 'Какво е вашето число?'; + + @override + String get phoneSubtitle => 'Ще изпратим код за потвърждение на телефона ви'; + + @override + String get phoneNumberLabel => 'Номер'; + + @override + String get enterPhoneNumber => 'Въведете телефонен номер'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Изчакайте $countdown секунди'; + } + + @override + String get enterCodeTitle => 'Въведете кода си'; + + @override + String codeSentToPhone(String phone) { + return 'Изпратихме код на $phone'; + } + + @override + String get didntReceiveCode => 'Не получихте кода?'; + + @override + String get clickToResend => 'Кликнете, за да изпратите отново'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Можете да поискате нов код след $countdown секунди'; + } + + @override + String get closeTooltip => 'Затвори'; + + @override + String get backTooltip => 'Назад'; + + @override + String get termsOfServiceLink => 'Условия за ползване'; + + @override + String get privacyPolicyLink => 'Политика за поверителност'; + + @override + String get welcomeBackTitle => 'Добре дошли отново'; + + @override + String get welcomeBackSubtitle => + 'Влезте, ако вече имате акаунт в Doctorina, или се регистрирайте, за да започнете.'; + + @override + String get passwordRuleLength => 'От 8 до 128 символа'; + + @override + String get passwordRuleNumber => 'Най-малко 1 число'; + + @override + String get passwordRuleUppercase => 'Най-малко 1 главна буква'; + + @override + String get passwordRuleMatch => 'Паролите съвпадат'; + + @override + String get phoneOtpVerificationFailed => + 'Проверката на еднократната парола (OTP) не бе успешна. Моля, опитайте отново.'; + + @override + String get referralCodeLabel => 'Код за препоръка'; + + @override + String get enterReferralCodeHint => 'Въведете референтния си код'; + + @override + String get referralCodeExampleHint => 'Пример CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Имате ли реферален код?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_bn.dart b/example/lib/src/generated/sign_up/sign_up_localization_bn.dart index 6cac9d3..2c3d1cc 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_bn.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_bn.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,49 +11,46 @@ class SignUpLocalizationBn extends SignUpLocalization { SignUpLocalizationBn([String locale = 'bn']) : super(locale); @override - String get title => 'সাইন ইন করুন'; - - @override - String get logIn => 'লগ ইন করুন'; + String get logIn => 'লগ ইন'; @override String get password => 'পাসওয়ার্ড'; @override - String get changeNumber => 'নম্বর পরিবর্তন করুন'; + String get changeNumber => 'নম্বর পরিবর্তন'; @override String get forgotPassword => 'পাসওয়ার্ড ভুলে গেছেন?'; @override String get forgotPasswordEnterYourEmailAddress => - 'আপনার ইমেল ঠিকানা লিখুন, এবং আমরা আপনাকে আপনার পাসওয়ার্ড পুনরায় সেট করার জন্য একটি লিঙ্ক পাঠাব।'; + 'আপনার ইমেল ঠিকানা প্রদান করুন, আমরা আপনার পাসওয়ার্ড রিসেট করার জন্য একটি লিঙ্ক পাঠাব।'; @override String get rememberYourPasswordQuestion => 'আপনার পাসওয়ার্ড মনে আছে?'; @override - String get backToLoginButton => 'আমার কাছে একটি পাসওয়ার্ড আছে'; + String get backToLoginButton => 'আমার একটি পাসওয়ার্ড আছে'; @override String get continueButton => 'চালিয়ে যান'; @override String get passwordResetEmailSentSnackBar => - 'পাসওয়ার্ড রিসেট ইমেল পাঠানো হয়েছে'; + 'পাসওয়ার্ড রিসেট ইমেইল পাঠানো হয়েছে'; @override - String get resetPasswordButton => 'পাসওয়ার্ড রিসেট করুন'; + String get resetPasswordButton => 'পাসওয়ার্ড পুনরায় সেট করুন'; @override String get confirmCodeButton => 'কোড নিশ্চিত করুন'; @override String get startUsingDoctorinaTodaySubtitle => - 'আজই ডক্টরিনা ব্যবহার করা শুরু করুন'; + 'আজই Doctorina ব্যবহার শুরু করুন'; @override - String get orDivider => 'বা'; + String get orDivider => 'অথবা'; @override String get enterPasswordForEmailHint => 'আপনার পাসওয়ার্ড লিখুন'; @@ -62,13 +59,13 @@ class SignUpLocalizationBn extends SignUpLocalization { String get showPasswordHint => 'পাসওয়ার্ড দেখান'; @override - String get obscurePasswordHint => 'অস্পষ্ট পাসওয়ার্ড'; + String get obscurePasswordHint => 'পাসওয়ার্ড লুকান'; @override - String get clearLoginTooltip => 'সাফ লগইন'; + String get clearLoginTooltip => 'লগইন মুছুন'; @override - String get emailOrPhoneLabel => 'ইমেইল বা ফোন'; + String get emailOrPhoneLabel => 'ইমেল অথবা ফোন'; @override String get emailOrPhoneLabelExample => 'name@gmail.com বা +1234567890'; @@ -78,26 +75,26 @@ class SignUpLocalizationBn extends SignUpLocalization { @override String get pleaseAcceptTheAgreementsToContinueSnackBar => - 'চালিয়ে যেতে চুক্তি স্বীকার করুন.'; + 'অগ্রসর হতে, দয়া করে চুক্তিগুলো গ্রহণ করুন.'; @override String get consentToTheProcessingOfPersonalData => - 'আমি ব্যক্তিগত তথ্য প্রক্রিয়াকরণে সম্মতি জানাই,'; + 'আমি ব্যক্তিগত তথ্য প্রক্রিয়াকরণের জন্য সম্মতি প্রদান করি,'; @override - String get consentTheUseOf => 'এর ব্যবহার'; + String get consentTheUseOf => 'ব্যবহার'; @override String get consentCookies => 'কুকিজ'; @override - String get consentAgreeToThe => ', রাজি'; + String get consentAgreeToThe => ', একমত'; @override String get consentTermsAndConditions => 'শর্তাবলী'; @override - String get consentAndAcknowledgeThe => ', এবং স্বীকার করুন '; + String get consentAndAcknowledgeThe => ', এবং স্বীকার করুন'; @override String get consentPrivacyPolicy => 'গোপনীয়তা নীতি'; @@ -107,25 +104,244 @@ class SignUpLocalizationBn extends SignUpLocalization { @override String get acknowledgeMyConsultation => - 'আমি স্বীকার করি যে আমার পরামর্শ একজন AI এর সাথে এবং লাইসেন্সপ্রাপ্ত মেডিকেল পেশাদার নয়।'; + 'আমি স্বীকার করছি যে আমার পরামর্শটি একটি এআইয়ের সাথে, এবং একজন লাইসেন্সপ্রাপ্ত চিকিৎসা পেশাদারের সাথে নয়.'; @override - String get logOutDialogTitle => 'লগ আউট করুন'; + String get logOutDialogTitle => 'লগ আউট'; @override - String get logOutDialogContent => 'আপনি লগ আউট করতে নিশ্চিত?'; + String get logOutDialogContent => 'আপনি কি নিশ্চিতভাবে লগআউট করতে চান?'; @override String get logOutDialogCancelButton => 'বাতিল করুন'; @override - String get logOutDialogLogOutButton => 'হ্যাঁ, লগ আউট করুন'; + String get logOutDialogLogOutButton => 'হ্যাঁ, লগ আউট'; @override - String get resendCodeButton => 'কোড আবার পাঠান'; + String get resendCodeButton => 'কোড পুনরায় পাঠান'; @override String resendCodeTimer(String timer) { return 'কোড আবার পাঠান ($timer)'; } + + @override + String get consentFull => + 'আমি ব্যক্তিগত তথ্য প্রক্রিয়াকরণের জন্য সম্মতি দিচ্ছি, কুকিজ ব্যবহারে সম্মতি দিচ্ছি, শর্তাবলী মেনে নিচ্ছি এবং

গোপনীয়তা নীতি

স্বীকার করছি।'; + + @override + String get emailLabel => 'আপনার ইমেল লিখুন'; + + @override + String get signUpWithEmailTitle => 'ইমেইল দিয়েই সাইন আপ করুন'; + + @override + String get logInWithEmailTitle => 'ইমেল দিয়ে লগইন করুন'; + + @override + String get phoneLabel => 'আপনার ফোন নম্বর লিখুন'; + + @override + String get confirmPhoneTitle => 'আপনার ফোন নিশ্চিত করুন'; + + @override + String get signUpText => 'সাইন আপ করুন'; + + @override + String get emailHintShort => 'ইমেইল লিখুন'; + + @override + String get buttonTextSignUpWithGoogle => 'Google দিয়ে সাইন আপ করুন'; + + @override + String get buttonTextSignUpWithApple => 'Apple দিয়ে সাইন আপ করুন'; + + @override + String get buttonTextSignUpWithPhone => 'ফোন দিয়ে সাইন আপ করুন'; + + @override + String get buttonTextLoginWithGoogle => 'Google দিয়ে লগইন করুন'; + + @override + String get buttonTextLoginWithApple => 'Apple দিয়ে লগইন করুন'; + + @override + String get buttonTextLoginWithPhone => 'ফোন দিয়ে লগইন করুন'; + + @override + String get youAreLoggedOutMessage => 'আপনি লগ আউট করেছেন'; + + @override + String get reloadButtonText => 'পুনরায় লোড করুন'; + + @override + String get emailErrorText => 'অবৈধ ইমেল ঠিকানা'; + + @override + String get passwordErrorText => 'পাসওয়ার্ড অন্তত 6টি অক্ষরের হতে হবে'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'অবৈধ ফোন নম্বর: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'দয়া করে নতুন কোডের অনুরোধ করার আগে $seconds সেকেন্ড অপেক্ষা করুন।'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'অবৈধ ফোন কোড: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'শর্তাবলী'; + + @override + String get continueAsGuestBtn => 'অতিথি হিসেবে চালিয়ে যান'; + + @override + String get noAccountYetPromptText => + 'এখনও একটি অ্যাকাউন্ট নেই?

নিবন্ধন করুন

'; + + @override + String get alreadyHaveAccountPromptText => + 'আপনার কি ইতিমধ্যেই একটি অ্যাকাউন্ট আছে?

লগ ইন করুন

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'আপনাকে প্রিমিয়ামে এগিয়ে যাওয়ার জন্য সাইন আপ করতে হবে'; + + @override + String get loginSubtitle => + 'ব্যক্তিগতকৃত সামগ্রী পান এবং আপনার সম্প্রদায়ের সাথে যোগাযোগ রাখুন!'; + + @override + String get emailFieldLabel => 'ইমেইল'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'আপনার পাসওয়ার্ড পুনরুদ্ধার করুন'; + + @override + String get createAccountTitle => 'একটি অ্যাকাউন্ট তৈরি করুন'; + + @override + String get createAccountSubtitle => + 'আমাদের আপনার স্বাস্থ্য তথ্য নিরাপদে সংরক্ষণ এবং আপনার মূল্যায়ন চালিয়ে যেতে একটি অ্যাকাউন্টের প্রয়োজন।'; + + @override + String get repeatLabel => 'পুনরাবৃত্তি'; + + @override + String get repeatPasswordHint => 'আপনার পাসওয়ার্ড পুনরায় লিখুন'; + + @override + String get confirmButton => 'নিশ্চিত করুন'; + + @override + String get noAccountPrompt => 'একটি অ্যাকাউন্ট নেই?'; + + @override + String get alreadyHaveAccountPrompt => + 'আপনার কি ইতিমধ্যে একটি অ্যাকাউন্ট আছে?'; + + @override + String get createPasswordHeader => 'একটি পাসওয়ার্ড তৈরি করুন'; + + @override + String get phoneHeader => 'ফোন'; + + @override + String get verifyPhoneHeader => 'ফোন যাচাই করুন'; + + @override + String get phoneTitle => 'আপনার নম্বর কী?'; + + @override + String get phoneSubtitle => 'আপনার ফোন যাচাই করতে আমরা একটি কোড পাঠাব'; + + @override + String get phoneNumberLabel => 'নম্বর'; + + @override + String get enterPhoneNumber => 'ফোন নম্বর লিখুন'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'পরবর্তী OTP পাঠানোর জন্য $countdown সেকেন্ড অপেক্ষা করুন'; + } + + @override + String get enterCodeTitle => 'আপনার কোড প্রবেশ করুন'; + + @override + String codeSentToPhone(String phone) { + return '$phone এ একটি কোড পাঠানো হয়েছে'; + } + + @override + String get didntReceiveCode => 'কোডটি পাননি?'; + + @override + String get clickToResend => 'পুনরায় পাঠাতে ক্লিক করুন'; + + @override + String requestNewCodeCountdown(int countdown) { + return '$countdown সেকেন্ড পরে আপনি একটি নতুন কোড অনুরোধ করতে পারেন'; + } + + @override + String get closeTooltip => 'বন্ধ করুন'; + + @override + String get backTooltip => 'পেছনে'; + + @override + String get termsOfServiceLink => 'সেবা শর্তাবলী'; + + @override + String get privacyPolicyLink => 'গোপনীয়তা নীতি'; + + @override + String get welcomeBackTitle => 'স্বাগতম ফিরে'; + + @override + String get welcomeBackSubtitle => + 'আপনার যদি ইতিমধ্যে একটি Doctorina অ্যাকাউন্ট থাকে তবে লগ ইন করুন, অথবা শুরু করতে সাইন আপ করুন।'; + + @override + String get passwordRuleLength => '৮ থেকে ১২৮ অক্ষর'; + + @override + String get passwordRuleNumber => 'অন্তত 1টি সংখ্যা'; + + @override + String get passwordRuleUppercase => 'অন্তত 1টি বড় হাতের অক্ষর'; + + @override + String get passwordRuleMatch => 'পাসওয়ার্ড মিলে গেছে'; + + @override + String get phoneOtpVerificationFailed => + 'ওটিপি যাচাইকরণ ব্যর্থ হয়েছে। অনুগ্রহ করে আবার চেষ্টা করুন।'; + + @override + String get referralCodeLabel => 'রেফারেল কোড'; + + @override + String get enterReferralCodeHint => 'আপনার রেফারেল কোড প্রবেশ করুন'; + + @override + String get referralCodeExampleHint => 'যেমন: CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'আপনার কি রেফারেল কোড আছে?'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ca.dart b/example/lib/src/generated/sign_up/sign_up_localization_ca.dart new file mode 100644 index 0000000..e68e7d1 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_ca.dart @@ -0,0 +1,349 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Catalan Valencian (`ca`). +class SignUpLocalizationCa extends SignUpLocalization { + SignUpLocalizationCa([String locale = 'ca']) : super(locale); + + @override + String get logIn => 'Iniciar sessió'; + + @override + String get password => 'Contrasenya'; + + @override + String get changeNumber => 'Canviar número'; + + @override + String get forgotPassword => 'He oblidat la contrasenya?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Introduïu la vostra adreça de correu electrònic i us enviarem un enllaç per restablir la vostra contrasenya.'; + + @override + String get rememberYourPasswordQuestion => 'Recorda la teva contrasenya?'; + + @override + String get backToLoginButton => 'Tinc una contrasenya'; + + @override + String get continueButton => 'Continuar'; + + @override + String get passwordResetEmailSentSnackBar => + 'Correu electrònic de restabliment de contrasenya enviat'; + + @override + String get resetPasswordButton => 'Restableix la contrasenya'; + + @override + String get confirmCodeButton => 'Confirmar codi'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Comença a utilitzar Doctorina avui'; + + @override + String get orDivider => 'O'; + + @override + String get enterPasswordForEmailHint => 'Introdueix la teva contrasenya'; + + @override + String get showPasswordHint => 'Mostra la contrasenya'; + + @override + String get obscurePasswordHint => 'Amaga la contrasenya'; + + @override + String get clearLoginTooltip => 'Esborrar inici de sessió'; + + @override + String get emailOrPhoneLabel => 'Correu electrònic o telèfon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com o +1234567890'; + + @override + String get emailOrPhoneHint => + 'Introduïu el correu electrònic o el número de telèfon'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Si us plau, accepta els acords per continuar'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Consento al processament de dades personals,'; + + @override + String get consentTheUseOf => 'l\'ús de'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', accepto'; + + @override + String get consentTermsAndConditions => 'termes i condicions'; + + @override + String get consentAndAcknowledgeThe => ', i reconèixer el'; + + @override + String get consentPrivacyPolicy => 'política de privadesa'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Reconec que la meva consulta és amb una IA i no amb un professional mèdic autoritzat.'; + + @override + String get logOutDialogTitle => 'Tancar sessió'; + + @override + String get logOutDialogContent => 'Estàs segur que vols tancar la sessió?'; + + @override + String get logOutDialogCancelButton => 'Cancel·la'; + + @override + String get logOutDialogLogOutButton => 'Sí, tanca la sessió'; + + @override + String get resendCodeButton => 'Torna a enviar el codi'; + + @override + String resendCodeTimer(String timer) { + return 'Reenviar codi ($timer)'; + } + + @override + String get consentFull => + 'Consento al processament de dades personals, l\'ús de cookies, accepto els termes i condicions, i reconec la

política de privadesa

.'; + + @override + String get emailLabel => 'Introdueix el teu correu electrònic'; + + @override + String get signUpWithEmailTitle => 'Registra\'t amb el correu electrònic'; + + @override + String get logInWithEmailTitle => 'Inicia sessió amb correu electrònic'; + + @override + String get phoneLabel => 'Introdueix el teu telèfon'; + + @override + String get confirmPhoneTitle => 'Confirma el teu telèfon'; + + @override + String get signUpText => 'Registrat'; + + @override + String get emailHintShort => 'Introdueix el correu electrònic'; + + @override + String get buttonTextSignUpWithGoogle => 'Registra\'t amb Google'; + + @override + String get buttonTextSignUpWithApple => 'Registra\'t amb Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Registra\'t amb el telèfon'; + + @override + String get buttonTextLoginWithGoogle => 'Inicia sessió amb Google'; + + @override + String get buttonTextLoginWithApple => 'Inicia sessió amb Apple'; + + @override + String get buttonTextLoginWithPhone => 'Inicia sessió amb el telèfon'; + + @override + String get youAreLoggedOutMessage => 'Has tancat la sessió'; + + @override + String get reloadButtonText => 'Torna a carregar'; + + @override + String get emailErrorText => 'Adreça de correu electrònic no vàlida'; + + @override + String get passwordErrorText => + 'La contrasenya ha de tenir almenys 6 caràcters'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Nombre de telèfon no vàlid: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Si us plau, esperi $seconds segons abans de sol·licitar un nou codi.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Codi de telèfon invàlid: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Termes i condicions'; + + @override + String get continueAsGuestBtn => 'Continua com a convidat'; + + @override + String get noAccountYetPromptText => + 'Encara no tens un compte?

Registra\'t

'; + + @override + String get alreadyHaveAccountPromptText => + 'Ja tens un compte?

Inicia sessió

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Heu de registrar-te abans de poder continuar amb Premium'; + + @override + String get loginSubtitle => + 'Obteniu contingut personalitzat i mantingueu-vos en contacte amb la vostra comunitat!'; + + @override + String get emailFieldLabel => 'Correu electrònic'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Recupera el teu contrasenya'; + + @override + String get createAccountTitle => 'Crea un compte'; + + @override + String get createAccountSubtitle => + 'Necessitem un compte per desar de manera segura les teves dades de salut i continuar la teva avaluació.'; + + @override + String get repeatLabel => 'Repetir'; + + @override + String get repeatPasswordHint => 'Repeteix la teva contrasenya'; + + @override + String get confirmButton => 'Confirmar'; + + @override + String get noAccountPrompt => 'No tens un compte?'; + + @override + String get alreadyHaveAccountPrompt => 'Ja tens un compte?'; + + @override + String get createPasswordHeader => 'Crea una contrasenya'; + + @override + String get phoneHeader => 'Telèfon'; + + @override + String get verifyPhoneHeader => 'Verifica el telèfon'; + + @override + String get phoneTitle => 'Quin és el teu número?'; + + @override + String get phoneSubtitle => + 'Usarem un missatge de text per verificar el teu telèfon'; + + @override + String get phoneNumberLabel => 'Número'; + + @override + String get enterPhoneNumber => 'Introdueix el número de telèfon'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Espera $countdown segons'; + } + + @override + String get enterCodeTitle => 'Introdueix el teu codi'; + + @override + String codeSentToPhone(String phone) { + return 'Hem enviat un codi a $phone'; + } + + @override + String get didntReceiveCode => 'No heu rebut el codi?'; + + @override + String get clickToResend => 'Fes clic per tornar a enviar'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Podeu sol·licitar un nou codi en $countdown segons'; + } + + @override + String get closeTooltip => 'Tanca'; + + @override + String get backTooltip => 'Enrere'; + + @override + String get termsOfServiceLink => 'Termes de servei'; + + @override + String get privacyPolicyLink => 'Política de privadesa'; + + @override + String get welcomeBackTitle => 'Benvingut de nou'; + + @override + String get welcomeBackSubtitle => + 'Inicia sessió si ja tens un compte de Doctorina, o registra\'t per començar.'; + + @override + String get passwordRuleLength => 'De 8 a 128 caràcters'; + + @override + String get passwordRuleNumber => 'Almenys 1 número'; + + @override + String get passwordRuleUppercase => 'Almenys 1 lletra majúscula'; + + @override + String get passwordRuleMatch => 'Les contrasenyes coincideixen'; + + @override + String get phoneOtpVerificationFailed => + 'La verificació d\'OTP ha fallat. Torna-ho a provar.'; + + @override + String get referralCodeLabel => 'Codi de referència'; + + @override + String get enterReferralCodeHint => 'Introdueix el teu codi de referència'; + + @override + String get referralCodeExampleHint => 'p. ex. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Tens un codi de referència?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_cs.dart b/example/lib/src/generated/sign_up/sign_up_localization_cs.dart new file mode 100644 index 0000000..b367555 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_cs.dart @@ -0,0 +1,346 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Czech (`cs`). +class SignUpLocalizationCs extends SignUpLocalization { + SignUpLocalizationCs([String locale = 'cs']) : super(locale); + + @override + String get logIn => 'Přihlásit se'; + + @override + String get password => 'Heslo'; + + @override + String get changeNumber => 'Změnit číslo'; + + @override + String get forgotPassword => 'Zapomněli jste heslo?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Zadejte svou e-mailovou adresu a my vám zašleme odkaz pro resetování hesla.'; + + @override + String get rememberYourPasswordQuestion => 'Pamatujete si své heslo?'; + + @override + String get backToLoginButton => 'Mám heslo'; + + @override + String get continueButton => 'Pokračovat'; + + @override + String get passwordResetEmailSentSnackBar => + 'E-mail pro resetování hesla byl odeslán'; + + @override + String get resetPasswordButton => 'Obnovit heslo'; + + @override + String get confirmCodeButton => 'Potvrdit kód'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Začněte používat Doctorinu dnes'; + + @override + String get orDivider => 'NEBO'; + + @override + String get enterPasswordForEmailHint => 'Zadejte své heslo'; + + @override + String get showPasswordHint => 'Zobrazit heslo'; + + @override + String get obscurePasswordHint => 'Zamaskovat heslo'; + + @override + String get clearLoginTooltip => 'Vymazat přihlášení'; + + @override + String get emailOrPhoneLabel => 'Email nebo telefon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com nebo +1234567890'; + + @override + String get emailOrPhoneHint => 'Zadejte e-mail nebo telefonní číslo'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Prosím, přijměte dohody, abyste mohli pokračovat.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Souhlasím se zpracováním osobních údajů,'; + + @override + String get consentTheUseOf => 'použití'; + + @override + String get consentCookies => 'soubory cookie'; + + @override + String get consentAgreeToThe => ', souhlasím s'; + + @override + String get consentTermsAndConditions => 'podmínky a ujednání'; + + @override + String get consentAndAcknowledgeThe => ', a potvrzujete, že'; + + @override + String get consentPrivacyPolicy => 'zásady ochrany osobních údajů'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Potvrzuji, že moje konzultace probíhá s AI a ne s licencovaným zdravotnickým profesionálem.'; + + @override + String get logOutDialogTitle => 'Odhlásit se'; + + @override + String get logOutDialogContent => 'Jste si jisti, že se chcete odhlásit?'; + + @override + String get logOutDialogCancelButton => 'Zrušit'; + + @override + String get logOutDialogLogOutButton => 'Ano, odhlásit se'; + + @override + String get resendCodeButton => 'Znovu odeslat kód'; + + @override + String resendCodeTimer(String timer) { + return 'Znovu odeslat kód ($timer)'; + } + + @override + String get consentFull => + 'Souhlasím se zpracováním osobních údajů, používáním cookies, souhlasím s obchodními podmínkami a potvrzuji

zásady ochrany osobních údajů

'; + + @override + String get emailLabel => 'Zadejte svůj e-mail'; + + @override + String get signUpWithEmailTitle => 'Zaregistrujte se pomocí e-mailu'; + + @override + String get logInWithEmailTitle => 'Přihlásit se pomocí e-mailu'; + + @override + String get phoneLabel => 'Zadejte svůj telefon'; + + @override + String get confirmPhoneTitle => 'Potvrďte svůj telefon'; + + @override + String get signUpText => 'Zaregistrovat se'; + + @override + String get emailHintShort => 'Zadejte e-mail'; + + @override + String get buttonTextSignUpWithGoogle => 'Zaregistrujte se pomocí Google'; + + @override + String get buttonTextSignUpWithApple => 'Zaregistrujte se pomocí Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Zaregistrujte se telefonem'; + + @override + String get buttonTextLoginWithGoogle => 'Přihlásit se přes Google'; + + @override + String get buttonTextLoginWithApple => 'Přihlásit se pomocí Apple'; + + @override + String get buttonTextLoginWithPhone => 'Přihlásit se telefonem'; + + @override + String get youAreLoggedOutMessage => 'Jste odhlášen'; + + @override + String get reloadButtonText => 'Obnovit'; + + @override + String get emailErrorText => 'Neplatná e-mailová adresa'; + + @override + String get passwordErrorText => 'Heslo musí mít alespoň 6 znaků'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Neplatné telefonní číslo: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Prosím, počkejte $seconds sekund, než požádáte o nový kód.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Neplatný telefonní kód: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Obchodní podmínky'; + + @override + String get continueAsGuestBtn => 'Pokračovat jako host'; + + @override + String get noAccountYetPromptText => + 'Ještě nemáš účet?

Zaregistruj se

'; + + @override + String get alreadyHaveAccountPromptText => + 'Už máte účet?

Přihlásit se

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Musíte se zaregistrovat, než budete moci pokračovat s Premium'; + + @override + String get loginSubtitle => + 'Získejte personalizovaný obsah a zůstaňte v kontaktu se svou komunitou!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'uzivatel@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Obnovte své heslo'; + + @override + String get createAccountTitle => 'Vytvořit účet'; + + @override + String get createAccountSubtitle => + 'Potřebujeme účet, abychom mohli bezpečně uložit vaše zdravotní údaje a pokračovat v hodnocení.'; + + @override + String get repeatLabel => 'Opakovat'; + + @override + String get repeatPasswordHint => 'Zopakujte své heslo'; + + @override + String get confirmButton => 'Potvrdit'; + + @override + String get noAccountPrompt => 'Nemáte účet?'; + + @override + String get alreadyHaveAccountPrompt => 'Už máte účet?'; + + @override + String get createPasswordHeader => 'Vytvořte heslo'; + + @override + String get phoneHeader => 'Telefon'; + + @override + String get verifyPhoneHeader => 'Ověřit telefon'; + + @override + String get phoneTitle => 'Jaké je vaše číslo?'; + + @override + String get phoneSubtitle => 'Pošleme kód pro ověření vašeho telefonu'; + + @override + String get phoneNumberLabel => 'Číslo'; + + @override + String get enterPhoneNumber => 'Zadejte telefonní číslo'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Čekejte $countdown sekund'; + } + + @override + String get enterCodeTitle => 'Zadejte svůj kód'; + + @override + String codeSentToPhone(String phone) { + return 'Odeslali jsme kód na $phone'; + } + + @override + String get didntReceiveCode => 'Nedostal(a) jste kód?'; + + @override + String get clickToResend => 'Klikněte pro opětovné odeslání'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Nový kód můžete požádat za $countdown sekund'; + } + + @override + String get closeTooltip => 'Zavřít'; + + @override + String get backTooltip => 'Zpět'; + + @override + String get termsOfServiceLink => 'Podmínky služby'; + + @override + String get privacyPolicyLink => 'Zásady ochrany osobních údajů'; + + @override + String get welcomeBackTitle => 'Vítejte zpět'; + + @override + String get welcomeBackSubtitle => + 'Přihlaste se, pokud již máte účet Doctorina, nebo se zaregistrujte a začněte.'; + + @override + String get passwordRuleLength => 'Od 8 do 128 znaků'; + + @override + String get passwordRuleNumber => 'Alespoň 1 číslo'; + + @override + String get passwordRuleUppercase => 'Alespoň 1 velké písmeno'; + + @override + String get passwordRuleMatch => 'Hesla se shodují'; + + @override + String get phoneOtpVerificationFailed => + 'Ověření jednorázového hesla se nezdařilo. Zkuste to prosím znovu.'; + + @override + String get referralCodeLabel => 'Referral code'; + + @override + String get enterReferralCodeHint => 'Zadejte svůj referenční kód'; + + @override + String get referralCodeExampleHint => 'Např. TVŮRCE2026'; + + @override + String get haveReferralCodeQuestion => 'Máte referral kód?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_da.dart b/example/lib/src/generated/sign_up/sign_up_localization_da.dart new file mode 100644 index 0000000..736e45b --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_da.dart @@ -0,0 +1,347 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Danish (`da`). +class SignUpLocalizationDa extends SignUpLocalization { + SignUpLocalizationDa([String locale = 'da']) : super(locale); + + @override + String get logIn => 'Log ind'; + + @override + String get password => 'Adgangskode'; + + @override + String get changeNumber => 'Skift nummer'; + + @override + String get forgotPassword => 'Glemt adgangskode?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Indtast din e-mailadresse, så sender vi dig et link til at nulstille din adgangskode.'; + + @override + String get rememberYourPasswordQuestion => 'Husk din adgangskode?'; + + @override + String get backToLoginButton => 'Jeg har et kodeord'; + + @override + String get continueButton => 'Fortsæt'; + + @override + String get passwordResetEmailSentSnackBar => + 'E-mail til nulstilling af adgangskode sendt'; + + @override + String get resetPasswordButton => 'Nulstil adgangskode'; + + @override + String get confirmCodeButton => 'Bekræft kode'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Begynd at bruge Doctorina i dag'; + + @override + String get orDivider => 'Eller'; + + @override + String get enterPasswordForEmailHint => 'Indtast din adgangskode'; + + @override + String get showPasswordHint => 'Vis adgangskode'; + + @override + String get obscurePasswordHint => 'Skjul adgangskoden'; + + @override + String get clearLoginTooltip => 'Ryd login'; + + @override + String get emailOrPhoneLabel => 'Email eller telefon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com eller +1234567890'; + + @override + String get emailOrPhoneHint => 'Indtast e-mail eller telefonnummer'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Venligst accepter aftalerne for at fortsætte'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Jeg samtykker til behandlingen af personoplysninger,'; + + @override + String get consentTheUseOf => 'brugen af'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', accepterer'; + + @override + String get consentTermsAndConditions => 'vilkår og betingelser'; + + @override + String get consentAndAcknowledgeThe => ', og anerkende det'; + + @override + String get consentPrivacyPolicy => 'privatlivspolitik'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Jeg anerkender, at min konsultation er med en AI og ikke en autoriseret sundhedsprofessionel.'; + + @override + String get logOutDialogTitle => 'Log ud'; + + @override + String get logOutDialogContent => 'Er du sikker på, at du vil logge ud?'; + + @override + String get logOutDialogCancelButton => 'Annuller'; + + @override + String get logOutDialogLogOutButton => 'Ja, log ud'; + + @override + String get resendCodeButton => 'Send koden igen'; + + @override + String resendCodeTimer(String timer) { + return 'Send kode igen ($timer)'; + } + + @override + String get consentFull => + 'Jeg samtykker til behandlingen af personlige data, brugen af cookies, accepterer vilkår og betingelser, og anerkender

privatlivspolitikken

.'; + + @override + String get emailLabel => 'Indtast din e-mail'; + + @override + String get signUpWithEmailTitle => 'Tilmeld med e-mail'; + + @override + String get logInWithEmailTitle => 'Log ind med email'; + + @override + String get phoneLabel => 'Indtast dit telefonnummer'; + + @override + String get confirmPhoneTitle => 'Bekræft din telefon'; + + @override + String get signUpText => 'Tilmeld'; + + @override + String get emailHintShort => 'Indtast e-mail'; + + @override + String get buttonTextSignUpWithGoogle => 'Tilmeld dig med Google'; + + @override + String get buttonTextSignUpWithApple => 'Tilmeld med Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Tilmeld dig med telefon'; + + @override + String get buttonTextLoginWithGoogle => 'Log ind med Google'; + + @override + String get buttonTextLoginWithApple => 'Log ind med Apple'; + + @override + String get buttonTextLoginWithPhone => 'Log ind med telefon'; + + @override + String get youAreLoggedOutMessage => 'Du er logget ud'; + + @override + String get reloadButtonText => 'Genindlæs'; + + @override + String get emailErrorText => 'Ugyldig e-mailadresse'; + + @override + String get passwordErrorText => 'Adgangskoden skal være på mindst 6 tegn'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Ugyldigt telefonnummer: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Vent venligst $seconds sekunder, før du anmoder om en ny kode.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Ugyldig telefonkode: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Vilkår og betingelser'; + + @override + String get continueAsGuestBtn => 'Fortsæt som gæst'; + + @override + String get noAccountYetPromptText => + 'Har du ikke en konto endnu?

Tilmeld dig

'; + + @override + String get alreadyHaveAccountPromptText => + 'Har du allerede en konto?

Log ind

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Du skal tilmelde dig, før du kan fortsætte med Premium'; + + @override + String get loginSubtitle => + 'Få personligt indhold og hold kontakten med dit fællesskab!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Gendan dit kodeord'; + + @override + String get createAccountTitle => 'Opret en konto'; + + @override + String get createAccountSubtitle => + 'Vi har brug for en konto for sikkert at gemme dine sundhedsdata og fortsætte din vurdering.'; + + @override + String get repeatLabel => 'Gentag'; + + @override + String get repeatPasswordHint => 'Gentag dit kodeord'; + + @override + String get confirmButton => 'Bekræft'; + + @override + String get noAccountPrompt => 'Har du ikke en konto?'; + + @override + String get alreadyHaveAccountPrompt => 'Har du allerede en konto?'; + + @override + String get createPasswordHeader => 'Opret en adgangskode'; + + @override + String get phoneHeader => 'Telefon'; + + @override + String get verifyPhoneHeader => 'Bekræft telefon'; + + @override + String get phoneTitle => 'Hvad er dit nummer?'; + + @override + String get phoneSubtitle => + 'Vi sender en kode via sms for at bekræfte dit telefonnummer'; + + @override + String get phoneNumberLabel => 'Nummer'; + + @override + String get enterPhoneNumber => 'Indtast telefonnummer'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Vent $countdown sekunder'; + } + + @override + String get enterCodeTitle => 'Indtast din kode'; + + @override + String codeSentToPhone(String phone) { + return 'Vi har sendt en kode til $phone'; + } + + @override + String get didntReceiveCode => 'Modtog du ikke koden?'; + + @override + String get clickToResend => 'Klik for at gensende'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Du kan anmode om en ny kode om $countdown sekunder'; + } + + @override + String get closeTooltip => 'Luk'; + + @override + String get backTooltip => 'Tilbage'; + + @override + String get termsOfServiceLink => 'Brugsvilkår'; + + @override + String get privacyPolicyLink => 'Privatlivspolitik'; + + @override + String get welcomeBackTitle => 'Velkommen tilbage'; + + @override + String get welcomeBackSubtitle => + 'Log ind, hvis du allerede har en Doctorina-konto, eller tilmeld dig for at komme i gang.'; + + @override + String get passwordRuleLength => 'Fra 8 til 128 tegn'; + + @override + String get passwordRuleNumber => 'Mindst 1 tal'; + + @override + String get passwordRuleUppercase => 'Mindst 1 stort bogstav'; + + @override + String get passwordRuleMatch => 'Adgangskoderne matcher'; + + @override + String get phoneOtpVerificationFailed => + 'OTP-bekræftelse mislykkedes. Prøv igen.'; + + @override + String get referralCodeLabel => 'Henvisningskode'; + + @override + String get enterReferralCodeHint => 'Indtast din henvisningskode'; + + @override + String get referralCodeExampleHint => 'f.eks. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Har du en henvisningskode?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_de.dart b/example/lib/src/generated/sign_up/sign_up_localization_de.dart index df5d0c9..3685b7a 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_de.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_de.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'sign_up_localization.dart'; class SignUpLocalizationDe extends SignUpLocalization { SignUpLocalizationDe([String locale = 'de']) : super(locale); - @override - String get title => 'Anmelden'; - @override String get logIn => 'Anmelden'; @@ -129,4 +126,223 @@ class SignUpLocalizationDe extends SignUpLocalization { String resendCodeTimer(String timer) { return 'Code erneut senden ($timer)'; } + + @override + String get consentFull => + 'Ich stimme der Verarbeitung personenbezogener Daten zu, der Verwendung von Cookies, den Nutzungsbedingungen zu und erkenne die

Datenschutzrichtlinie

an.'; + + @override + String get emailLabel => 'Geben Sie Ihre E-Mail ein'; + + @override + String get signUpWithEmailTitle => 'Mit E-Mail registrieren'; + + @override + String get logInWithEmailTitle => 'Mit E-Mail anmelden'; + + @override + String get phoneLabel => 'Geben Sie Ihr Telefon ein'; + + @override + String get confirmPhoneTitle => 'Bestätige dein Telefon'; + + @override + String get signUpText => 'Registrieren'; + + @override + String get emailHintShort => 'E-Mail eingeben'; + + @override + String get buttonTextSignUpWithGoogle => 'Mit Google registrieren'; + + @override + String get buttonTextSignUpWithApple => 'Mit Apple registrieren'; + + @override + String get buttonTextSignUpWithPhone => 'Mit Telefon registrieren'; + + @override + String get buttonTextLoginWithGoogle => 'Mit Google anmelden'; + + @override + String get buttonTextLoginWithApple => 'Mit Apple anmelden'; + + @override + String get buttonTextLoginWithPhone => 'Mit Telefon anmelden'; + + @override + String get youAreLoggedOutMessage => 'Sie sind abgemeldet'; + + @override + String get reloadButtonText => 'Neu laden'; + + @override + String get emailErrorText => 'Ungültige E-Mail-Adresse'; + + @override + String get passwordErrorText => + 'Das Passwort muss mindestens 6 Zeichen lang sein'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Ungültige Telefonnummer: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Bitte warte $seconds Sekunden, bevor du einen neuen Code anforderst.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Ungültiger Telefoncode: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Geschäftsbedingungen'; + + @override + String get continueAsGuestBtn => 'Als Gast fortfahren'; + + @override + String get noAccountYetPromptText => 'Noch kein Konto?

Registrieren

'; + + @override + String get alreadyHaveAccountPromptText => + 'Bereits ein Konto?

Anmelden

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Sie müssen sich anmelden, bevor Sie mit Premium fortfahren können'; + + @override + String get loginSubtitle => + 'Erhalten Sie personalisierte Inhalte und bleiben Sie mit Ihrer Community in Kontakt!'; + + @override + String get emailFieldLabel => 'E-Mail'; + + @override + String get emailPlaceholder => 'benutzername@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Passwort wiederherstellen'; + + @override + String get createAccountTitle => 'Ein Konto erstellen'; + + @override + String get createAccountSubtitle => + 'Wir benötigen ein Konto, um Ihre Gesundheitsdaten sicher zu speichern und Ihre Bewertung fortzusetzen.'; + + @override + String get repeatLabel => 'Wiederholen'; + + @override + String get repeatPasswordHint => 'Wiederholen Sie Ihr Passwort'; + + @override + String get confirmButton => 'Bestätigen'; + + @override + String get noAccountPrompt => 'Haben Sie kein Konto?'; + + @override + String get alreadyHaveAccountPrompt => 'Haben Sie bereits ein Konto?'; + + @override + String get createPasswordHeader => 'Ein Passwort erstellen'; + + @override + String get phoneHeader => 'Telefon'; + + @override + String get verifyPhoneHeader => 'Telefon verifizieren'; + + @override + String get phoneTitle => 'Was ist Ihre Nummer?'; + + @override + String get phoneSubtitle => + 'Wir senden Ihnen einen Code per SMS zur Verifizierung Ihres Telefons'; + + @override + String get phoneNumberLabel => 'Nummer'; + + @override + String get enterPhoneNumber => 'Telefonnummer eingeben'; + + @override + String get phonePlaceholder => '+49 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Warten Sie $countdown Sekunden'; + } + + @override + String get enterCodeTitle => 'Geben Sie Ihren Code ein'; + + @override + String codeSentToPhone(String phone) { + return 'Wir haben einen Code an $phone gesendet'; + } + + @override + String get didntReceiveCode => 'Haben Sie den Code nicht erhalten?'; + + @override + String get clickToResend => 'Klicken Sie hier, um erneut zu senden'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Sie können in $countdown Sekunden einen neuen Code anfordern'; + } + + @override + String get closeTooltip => 'Schließen'; + + @override + String get backTooltip => 'Zurück'; + + @override + String get termsOfServiceLink => 'Nutzungsbedingungen'; + + @override + String get privacyPolicyLink => 'Datenschutzrichtlinie'; + + @override + String get welcomeBackTitle => 'Willkommen zurück'; + + @override + String get welcomeBackSubtitle => + 'Melden Sie sich an, wenn Sie bereits ein Doctorina-Konto haben, oder registrieren Sie sich, um loszulegen.'; + + @override + String get passwordRuleLength => 'Von 8 bis 128 Zeichen'; + + @override + String get passwordRuleNumber => 'Mindestens 1 Zahl'; + + @override + String get passwordRuleUppercase => 'Mindestens 1 Großbuchstabe'; + + @override + String get passwordRuleMatch => 'Passwörter stimmen überein'; + + @override + String get phoneOtpVerificationFailed => + 'Die OTP-Verifizierung ist fehlgeschlagen. Bitte versuchen Sie es erneut.'; + + @override + String get referralCodeLabel => 'Empfehlungscode'; + + @override + String get enterReferralCodeHint => 'Geben Sie Ihren Empfehlungs-Code ein'; + + @override + String get referralCodeExampleHint => 'Z.B. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Haben Sie einen Empfehlungs-Code?'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_el.dart b/example/lib/src/generated/sign_up/sign_up_localization_el.dart new file mode 100644 index 0000000..2abfdb2 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_el.dart @@ -0,0 +1,349 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Modern Greek (`el`). +class SignUpLocalizationEl extends SignUpLocalization { + SignUpLocalizationEl([String locale = 'el']) : super(locale); + + @override + String get logIn => 'Σύνδεση'; + + @override + String get password => 'Κωδικός πρόσβασης'; + + @override + String get changeNumber => 'Αλλαγή αριθμού'; + + @override + String get forgotPassword => 'Ξέχασες τον κωδικό πρόσβασης;'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Εισάγετε τη διεύθυνση email σας και θα σας στείλουμε έναν σύνδεσμο για να επαναφέρετε τον κωδικό πρόσβασής σας.'; + + @override + String get rememberYourPasswordQuestion => 'Θυμάστε τον κωδικό σας;'; + + @override + String get backToLoginButton => 'Έχω έναν κωδικό πρόσβασης'; + + @override + String get continueButton => 'Συνέχεια'; + + @override + String get passwordResetEmailSentSnackBar => + 'Εστάλη email επαναφοράς κωδικού πρόσβασης'; + + @override + String get resetPasswordButton => 'Επαναφορά κωδικού πρόσβασης'; + + @override + String get confirmCodeButton => 'Επιβεβαίωση κωδικού'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Ξεκινήστε να χρησιμοποιείτε το Doctorina σήμερα'; + + @override + String get orDivider => 'Ή'; + + @override + String get enterPasswordForEmailHint => 'Εισάγετε τον κωδικό πρόσβασής σας'; + + @override + String get showPasswordHint => 'Εμφάνιση κωδικού πρόσβασης'; + + @override + String get obscurePasswordHint => 'Obscure password'; + + @override + String get clearLoginTooltip => 'Καθαρισμός σύνδεσης'; + + @override + String get emailOrPhoneLabel => 'Email ή τηλέφωνο'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com ή +1234567890'; + + @override + String get emailOrPhoneHint => 'Εισάγετε email ή αριθμό τηλεφώνου'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Παρακαλώ αποδεχθείτε τις συμφωνίες για να συνεχίσετε'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Συμφωνώ με την επεξεργασία προσωπικών δεδομένων,'; + + @override + String get consentTheUseOf => 'η χρήση του'; + + @override + String get consentCookies => 'μπισκότα'; + + @override + String get consentAgreeToThe => ', συμφωνώ με το'; + + @override + String get consentTermsAndConditions => 'όροι και προϋποθέσεις'; + + @override + String get consentAndAcknowledgeThe => ', και αναγνωρίζω το'; + + @override + String get consentPrivacyPolicy => 'πολιτική απορρήτου'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Αναγνωρίζω ότι η διαβούλευσή μου είναι με μια AI και όχι με έναν αδειοδοτημένο ιατρικό επαγγελματία.'; + + @override + String get logOutDialogTitle => 'Αποσύνδεση'; + + @override + String get logOutDialogContent => + 'Είστε σίγουροι ότι θέλετε να αποσυνδεθείτε;'; + + @override + String get logOutDialogCancelButton => 'Ακύρωση'; + + @override + String get logOutDialogLogOutButton => 'Ναι, αποσύνδεση'; + + @override + String get resendCodeButton => 'Αποστολή κωδικού ξανά'; + + @override + String resendCodeTimer(String timer) { + return 'Επαναποστολή κωδικού ($timer)'; + } + + @override + String get consentFull => + 'Συμφωνώ με την επεξεργασία προσωπικών δεδομένων, τη χρήση cookies, συμφωνώ με τους όρους και προϋποθέσεις και αναγνωρίζω την

πολιτική απορρήτου

.'; + + @override + String get emailLabel => 'Εισάγετε το email σας'; + + @override + String get signUpWithEmailTitle => 'Εγγραφείτε με email'; + + @override + String get logInWithEmailTitle => 'Σύνδεση με email'; + + @override + String get phoneLabel => 'Εισάγετε το τηλέφωνό σας'; + + @override + String get confirmPhoneTitle => 'Επιβεβαιώστε το τηλέφωνό σας'; + + @override + String get signUpText => 'Εγγραφή'; + + @override + String get emailHintShort => 'Εισάγετε email'; + + @override + String get buttonTextSignUpWithGoogle => 'Εγγραφείτε με το Google'; + + @override + String get buttonTextSignUpWithApple => 'Εγγραφείτε με Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Εγγραφείτε με τηλέφωνο'; + + @override + String get buttonTextLoginWithGoogle => 'Σύνδεση με Google'; + + @override + String get buttonTextLoginWithApple => 'Σύνδεση με Apple'; + + @override + String get buttonTextLoginWithPhone => 'Σύνδεση με τηλέφωνο'; + + @override + String get youAreLoggedOutMessage => 'Έχετε αποσυνδεθεί'; + + @override + String get reloadButtonText => 'Ανανέωση'; + + @override + String get emailErrorText => 'Μη έγκυρη διεύθυνση email'; + + @override + String get passwordErrorText => + 'Ο κωδικός πρέπει να αποτελείται από τουλάχιστον 6 χαρακτήρες'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Μη έγκυρος αριθμός τηλεφώνου: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Παρακαλώ περιμένετε $seconds δευτερόλεπτα πριν ζητήσετε νέο κωδικό.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Μη έγκυρος κωδικός τηλεφώνου: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Όροι και προϋποθέσεις'; + + @override + String get continueAsGuestBtn => 'Συνεχίστε ως επισκέπτης'; + + @override + String get noAccountYetPromptText => + 'Δεν έχεις λογαριασμό ακόμα?

Εγγραφή

'; + + @override + String get alreadyHaveAccountPromptText => + 'Έχετε ήδη λογαριασμό;

Σύνδεση

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Πρέπει να εγγραφείτε πριν μπορέσετε να συνεχίσετε με το Premium'; + + @override + String get loginSubtitle => + 'Αποκτήστε εξατομικευμένο περιεχόμενο και μείνετε σε επαφή με την κοινότητά σας!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Ανακτήστε τον κωδικό πρόσβασής σας'; + + @override + String get createAccountTitle => 'Δημιουργία λογαριασμού'; + + @override + String get createAccountSubtitle => + 'Χρειαζόμαστε έναν λογαριασμό για να αποθηκεύσουμε με ασφάλεια τα δεδομένα υγείας σας και να συνεχίσουμε την αξιολόγησή σας.'; + + @override + String get repeatLabel => 'Επανάληψη'; + + @override + String get repeatPasswordHint => 'Επαναλάβετε τον κωδικό σας'; + + @override + String get confirmButton => 'Επιβεβαίωση'; + + @override + String get noAccountPrompt => 'Δεν έχετε λογαριασμό;'; + + @override + String get alreadyHaveAccountPrompt => 'Έχετε ήδη λογαριασμό;'; + + @override + String get createPasswordHeader => 'Δημιουργήστε έναν κωδικό πρόσβασης'; + + @override + String get phoneHeader => 'Τηλέφωνο'; + + @override + String get verifyPhoneHeader => 'Επιβεβαίωση Τηλεφώνου'; + + @override + String get phoneTitle => 'Ποιος είναι ο αριθμός σας;'; + + @override + String get phoneSubtitle => + 'Θα στείλουμε έναν κωδικό για να επιβεβαιώσετε το τηλέφωνό σας'; + + @override + String get phoneNumberLabel => 'Αριθμός'; + + @override + String get enterPhoneNumber => 'Εισάγετε αριθμό τηλεφώνου'; + + @override + String get phonePlaceholder => '+30 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Περιμένετε $countdown δευτερόλεπτα'; + } + + @override + String get enterCodeTitle => 'Εισάγετε τον κωδικό σας'; + + @override + String codeSentToPhone(String phone) { + return 'Στείλαμε έναν κωδικό στο $phone'; + } + + @override + String get didntReceiveCode => 'Δεν λάβατε τον κωδικό;'; + + @override + String get clickToResend => 'Κάντε κλικ για να ξαναστείλετε'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Μπορείτε να ζητήσετε νέο κωδικό σε $countdown δευτερόλεπτα'; + } + + @override + String get closeTooltip => 'Κλείσιμο'; + + @override + String get backTooltip => 'Πίσω'; + + @override + String get termsOfServiceLink => 'Όροι Υπηρεσίας'; + + @override + String get privacyPolicyLink => 'Πολιτική Απορρήτου'; + + @override + String get welcomeBackTitle => 'Καλώς ήρθατε πίσω'; + + @override + String get welcomeBackSubtitle => + 'Συνδεθείτε αν έχετε ήδη λογαριασμό Doctorina ή εγγραφείτε για να ξεκινήσετε.'; + + @override + String get passwordRuleLength => 'Από 8 έως 128 χαρακτήρες'; + + @override + String get passwordRuleNumber => 'τουλάχιστον 1 αριθμός'; + + @override + String get passwordRuleUppercase => 'τουλάχιστον 1 κεφαλαίο γράμμα'; + + @override + String get passwordRuleMatch => 'Οι κωδικοί πρόσβασης ταιριάζουν'; + + @override + String get phoneOtpVerificationFailed => + 'Η επαλήθευση OTP απέτυχε. Δοκιμάστε ξανά.'; + + @override + String get referralCodeLabel => 'Κωδικός παραπομπής'; + + @override + String get enterReferralCodeHint => 'Εισάγετε τον κωδικό παραπομπής σας'; + + @override + String get referralCodeExampleHint => 'Π.χ. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Έχετε κωδικό παραπομπής;'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_en.dart b/example/lib/src/generated/sign_up/sign_up_localization_en.dart index 7fca840..e0b4922 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_en.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_en.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'sign_up_localization.dart'; class SignUpLocalizationEn extends SignUpLocalization { SignUpLocalizationEn([String locale = 'en']) : super(locale); - @override - String get title => 'Sign In'; - @override String get logIn => 'Log in'; @@ -126,4 +123,222 @@ class SignUpLocalizationEn extends SignUpLocalization { String resendCodeTimer(String timer) { return 'Resend code ($timer)'; } + + @override + String get consentFull => + 'I consent to the processing of personal data, the use of cookies, agree to the terms and conditions, and acknowledge the

privacy policy

.'; + + @override + String get emailLabel => 'Enter your email'; + + @override + String get signUpWithEmailTitle => 'Sign up with Email'; + + @override + String get logInWithEmailTitle => 'Log in with Email'; + + @override + String get phoneLabel => 'Enter your phone'; + + @override + String get confirmPhoneTitle => 'Confirm your phone'; + + @override + String get signUpText => 'Sign up'; + + @override + String get emailHintShort => 'Enter email'; + + @override + String get buttonTextSignUpWithGoogle => 'Sign up with Google'; + + @override + String get buttonTextSignUpWithApple => 'Sign up with Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Sign up with Phone'; + + @override + String get buttonTextLoginWithGoogle => 'Login with Google'; + + @override + String get buttonTextLoginWithApple => 'Login with Apple'; + + @override + String get buttonTextLoginWithPhone => 'Login with Phone'; + + @override + String get youAreLoggedOutMessage => 'You are logged out'; + + @override + String get reloadButtonText => 'Reload'; + + @override + String get emailErrorText => 'Invalid email address'; + + @override + String get passwordErrorText => 'Password must be at least 6 characters long'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Invalid phone number: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Please wait $seconds seconds before requesting a new code.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Invalid phone code: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Terms and conditions'; + + @override + String get continueAsGuestBtn => 'Continue as guest'; + + @override + String get noAccountYetPromptText => + 'Don\'t have an account yet?

Sign up

'; + + @override + String get alreadyHaveAccountPromptText => + 'Already have an account?

Log in

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'You need to sign up before you can continue with Premium'; + + @override + String get loginSubtitle => + 'Get personalized content and keep in touch with your community!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Recover your password'; + + @override + String get createAccountTitle => 'Create an account'; + + @override + String get createAccountSubtitle => + 'We need an account to securely save your health data and continue your assessment.'; + + @override + String get repeatLabel => 'Repeat'; + + @override + String get repeatPasswordHint => 'Repeat your password'; + + @override + String get confirmButton => 'Confirm'; + + @override + String get noAccountPrompt => 'Don\'t have an account?'; + + @override + String get alreadyHaveAccountPrompt => 'Already have an account?'; + + @override + String get createPasswordHeader => 'Create a password'; + + @override + String get phoneHeader => 'Phone'; + + @override + String get verifyPhoneHeader => 'Verify Phone'; + + @override + String get phoneTitle => 'What\'s your number?'; + + @override + String get phoneSubtitle => 'We\'ll text a code to verify your phone'; + + @override + String get phoneNumberLabel => 'Number'; + + @override + String get enterPhoneNumber => 'Enter phone number'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Wait $countdown seconds'; + } + + @override + String get enterCodeTitle => 'Enter your code'; + + @override + String codeSentToPhone(String phone) { + return 'We sent a code to $phone'; + } + + @override + String get didntReceiveCode => 'Didn\'t receive the code?'; + + @override + String get clickToResend => 'Click to resend'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'You can request a new code in $countdown seconds'; + } + + @override + String get closeTooltip => 'Close'; + + @override + String get backTooltip => 'Back'; + + @override + String get termsOfServiceLink => 'Terms of Service'; + + @override + String get privacyPolicyLink => 'Privacy Policy'; + + @override + String get welcomeBackTitle => 'Welcome back'; + + @override + String get welcomeBackSubtitle => + 'Log in if you already have a Doctorina account, or sign up to get started.'; + + @override + String get passwordRuleLength => 'From 8 to 128 characters'; + + @override + String get passwordRuleNumber => 'At least 1 number'; + + @override + String get passwordRuleUppercase => 'At least 1 uppercase letter'; + + @override + String get passwordRuleMatch => 'Passwords match'; + + @override + String get phoneOtpVerificationFailed => + 'OTP verification failed. Please try again.'; + + @override + String get referralCodeLabel => 'Referral code'; + + @override + String get enterReferralCodeHint => 'Enter your referral code'; + + @override + String get referralCodeExampleHint => 'E.G. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Have a referral code?'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_es.dart b/example/lib/src/generated/sign_up/sign_up_localization_es.dart index b8dbbe4..cf7bb2a 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_es.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_es.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'sign_up_localization.dart'; class SignUpLocalizationEs extends SignUpLocalization { SignUpLocalizationEs([String locale = 'es']) : super(locale); - @override - String get title => 'Iniciar sesión'; - @override String get logIn => 'Iniciar sesión'; @@ -129,4 +126,224 @@ class SignUpLocalizationEs extends SignUpLocalization { String resendCodeTimer(String timer) { return 'Reenviar código ($timer)'; } + + @override + String get consentFull => + 'Consiento el procesamiento de datos personales, el uso de cookies, acepto los términos y condiciones, y reconozco la

política de privacidad

.'; + + @override + String get emailLabel => 'Introduce tu correo electrónico'; + + @override + String get signUpWithEmailTitle => 'Regístrate con correo electrónico'; + + @override + String get logInWithEmailTitle => 'Iniciar sesión con correo electrónico'; + + @override + String get phoneLabel => 'Introduce tu teléfono'; + + @override + String get confirmPhoneTitle => 'Confirma tu teléfono'; + + @override + String get signUpText => 'Regístrate'; + + @override + String get emailHintShort => 'Introduce el correo electrónico'; + + @override + String get buttonTextSignUpWithGoogle => 'Regístrate con Google'; + + @override + String get buttonTextSignUpWithApple => 'Regístrate con Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Regístrate con teléfono'; + + @override + String get buttonTextLoginWithGoogle => 'Iniciar sesión con Google'; + + @override + String get buttonTextLoginWithApple => 'Iniciar sesión con Apple'; + + @override + String get buttonTextLoginWithPhone => 'Iniciar sesión con teléfono'; + + @override + String get youAreLoggedOutMessage => 'Has cerrado sesión'; + + @override + String get reloadButtonText => 'Recargar'; + + @override + String get emailErrorText => 'Dirección de correo electrónico no válida'; + + @override + String get passwordErrorText => + 'La contraseña debe tener al menos 6 caracteres'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Número de teléfono no válido: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Por favor, espera $seconds segundos antes de solicitar un nuevo código.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Código de teléfono inválido: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Términos y condiciones'; + + @override + String get continueAsGuestBtn => 'Continuar como invitado'; + + @override + String get noAccountYetPromptText => + '¿Aún no tienes una cuenta?

Regístrate

'; + + @override + String get alreadyHaveAccountPromptText => + '¿Ya tienes una cuenta?

Iniciar sesión

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Necesitas registrarte antes de poder continuar con Premium'; + + @override + String get loginSubtitle => + '¡Obtén contenido personalizado y mantente en contacto con tu comunidad!'; + + @override + String get emailFieldLabel => 'Correo electrónico'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Recupera tu contraseña'; + + @override + String get createAccountTitle => 'Crear una cuenta'; + + @override + String get createAccountSubtitle => + 'Necesitamos una cuenta para guardar de forma segura tus datos de salud y continuar con tu evaluación.'; + + @override + String get repeatLabel => 'Repetir'; + + @override + String get repeatPasswordHint => 'Repite tu contraseña'; + + @override + String get confirmButton => 'Confirmar'; + + @override + String get noAccountPrompt => '¿No tienes una cuenta?'; + + @override + String get alreadyHaveAccountPrompt => '¿Ya tienes una cuenta?'; + + @override + String get createPasswordHeader => 'Crea una contraseña'; + + @override + String get phoneHeader => 'Teléfono'; + + @override + String get verifyPhoneHeader => 'Verificar teléfono'; + + @override + String get phoneTitle => '¿Cuál es tu número?'; + + @override + String get phoneSubtitle => + 'Te enviaremos un código para verificar tu teléfono'; + + @override + String get phoneNumberLabel => 'Número'; + + @override + String get enterPhoneNumber => 'Ingrese el número de teléfono'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Espera $countdown segundos'; + } + + @override + String get enterCodeTitle => 'Ingresa tu código'; + + @override + String codeSentToPhone(String phone) { + return 'Enviamos un código a $phone'; + } + + @override + String get didntReceiveCode => '¿No recibiste el código?'; + + @override + String get clickToResend => 'Haz clic para reenviar'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Puedes solicitar un nuevo código en $countdown segundos'; + } + + @override + String get closeTooltip => 'Cerrar'; + + @override + String get backTooltip => 'Atrás'; + + @override + String get termsOfServiceLink => 'Términos de servicio'; + + @override + String get privacyPolicyLink => 'Política de privacidad'; + + @override + String get welcomeBackTitle => 'Bienvenido de nuevo'; + + @override + String get welcomeBackSubtitle => + 'Inicia sesión si ya tienes una cuenta de Doctorina, o regístrate para comenzar.'; + + @override + String get passwordRuleLength => 'De 8 a 128 caracteres'; + + @override + String get passwordRuleNumber => 'Al menos 1 número'; + + @override + String get passwordRuleUppercase => 'Al menos 1 letra mayúscula'; + + @override + String get passwordRuleMatch => 'Las contraseñas coinciden'; + + @override + String get phoneOtpVerificationFailed => + 'La verificación del código OTP falló. Inténtelo de nuevo.'; + + @override + String get referralCodeLabel => 'Código de referencia'; + + @override + String get enterReferralCodeHint => 'Ingresa tu código de referencia'; + + @override + String get referralCodeExampleHint => 'Ej. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => '¿Tienes un código de referencia?'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_fa.dart b/example/lib/src/generated/sign_up/sign_up_localization_fa.dart new file mode 100644 index 0000000..36621c4 Binary files /dev/null and b/example/lib/src/generated/sign_up/sign_up_localization_fa.dart differ diff --git a/example/lib/src/generated/sign_up/sign_up_localization_fr.dart b/example/lib/src/generated/sign_up/sign_up_localization_fr.dart index a4d9975..9c32fa4 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_fr.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_fr.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'sign_up_localization.dart'; class SignUpLocalizationFr extends SignUpLocalization { SignUpLocalizationFr([String locale = 'fr']) : super(locale); - @override - String get title => 'Se connecter'; - @override String get logIn => 'Se connecter'; @@ -27,11 +24,11 @@ class SignUpLocalizationFr extends SignUpLocalization { @override String get forgotPasswordEnterYourEmailAddress => - 'Entrez votre adresse e-mail et nous vous enverrons un lien pour réinitialiser votre mot de passe.'; + 'Entrez votre adresse e-mail, et nous vous enverrons un lien pour réinitialiser votre mot de passe.'; @override String get rememberYourPasswordQuestion => - 'Vous vous souvenez de votre mot de passe ?'; + 'Vous vous souvenez de votre mot de passe?'; @override String get backToLoginButton => 'J\'ai un mot de passe'; @@ -41,7 +38,7 @@ class SignUpLocalizationFr extends SignUpLocalization { @override String get passwordResetEmailSentSnackBar => - 'E-mail de réinitialisation du mot de passe envoyé'; + 'E-mail de réinitialisation du mot de passe envoyée'; @override String get resetPasswordButton => 'Réinitialiser le mot de passe'; @@ -51,7 +48,7 @@ class SignUpLocalizationFr extends SignUpLocalization { @override String get startUsingDoctorinaTodaySubtitle => - 'Commencez à utiliser Doctorina dès aujourd\'hui'; + 'Commencez à utiliser Doctorina aujourd\'hui'; @override String get orDivider => 'OU'; @@ -63,19 +60,19 @@ class SignUpLocalizationFr extends SignUpLocalization { String get showPasswordHint => 'Afficher le mot de passe'; @override - String get obscurePasswordHint => 'Mot de passe obscur'; + String get obscurePasswordHint => 'Masquer le mot de passe'; @override String get clearLoginTooltip => 'Effacer la connexion'; @override - String get emailOrPhoneLabel => 'Courriel ou téléphone'; + String get emailOrPhoneLabel => 'Email ou téléphone'; @override - String get emailOrPhoneLabelExample => 'nom@gmail.com ou +1234567890'; + String get emailOrPhoneLabelExample => 'name@gmail.com ou +1234567890'; @override - String get emailOrPhoneHint => 'Entrez l\'e-mail ou le numéro de téléphone'; + String get emailOrPhoneHint => 'Entrez l\'email ou le numéro de téléphone'; @override String get pleaseAcceptTheAgreementsToContinueSnackBar => @@ -92,13 +89,13 @@ class SignUpLocalizationFr extends SignUpLocalization { String get consentCookies => 'cookies'; @override - String get consentAgreeToThe => ', acceptez le'; + String get consentAgreeToThe => ', j\'accepte'; @override String get consentTermsAndConditions => 'termes et conditions'; @override - String get consentAndAcknowledgeThe => ', et reconnaissons le'; + String get consentAndAcknowledgeThe => ', et reconnais'; @override String get consentPrivacyPolicy => 'politique de confidentialité'; @@ -108,20 +105,20 @@ class SignUpLocalizationFr extends SignUpLocalization { @override String get acknowledgeMyConsultation => - 'Je reconnais que ma consultation est effectuée avec une IA et non avec un professionnel de la santé agréé.'; + 'Je reconnais que ma consultation se fait avec une IA et non avec un professionnel de santé agréé.'; @override String get logOutDialogTitle => 'Se déconnecter'; @override String get logOutDialogContent => - 'Êtes-vous sûr de vouloir vous déconnecter ?'; + 'Êtes-vous sûr de vouloir vous déconnecter?'; @override String get logOutDialogCancelButton => 'Annuler'; @override - String get logOutDialogLogOutButton => 'Oui, déconnectez-vous'; + String get logOutDialogLogOutButton => 'Oui, se déconnecter'; @override String get resendCodeButton => 'Renvoyer le code'; @@ -130,4 +127,224 @@ class SignUpLocalizationFr extends SignUpLocalization { String resendCodeTimer(String timer) { return 'Renvoyer le code ($timer)'; } + + @override + String get consentFull => + 'Je consens au traitement des données personnelles, à l\'utilisation des cookies, j\'accepte les conditions générales, et je reconnais la

politique de confidentialité

.'; + + @override + String get emailLabel => 'Entrez votre e-mail'; + + @override + String get signUpWithEmailTitle => 'Inscrivez-vous avec votre e-mail'; + + @override + String get logInWithEmailTitle => 'Se connecter avec email'; + + @override + String get phoneLabel => 'Entrez votre téléphone'; + + @override + String get confirmPhoneTitle => 'Confirmez votre téléphone'; + + @override + String get signUpText => 'S\'inscrire'; + + @override + String get emailHintShort => 'Entrez votre email'; + + @override + String get buttonTextSignUpWithGoogle => 'Inscrivez-vous avec Google'; + + @override + String get buttonTextSignUpWithApple => 'Inscrivez-vous avec Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Inscrivez-vous avec téléphone'; + + @override + String get buttonTextLoginWithGoogle => 'Se connecter avec Google'; + + @override + String get buttonTextLoginWithApple => 'Se connecter avec Apple'; + + @override + String get buttonTextLoginWithPhone => 'Se connecter avec le téléphone'; + + @override + String get youAreLoggedOutMessage => 'Vous êtes déconnecté'; + + @override + String get reloadButtonText => 'Recharger'; + + @override + String get emailErrorText => 'Adresse e-mail invalide'; + + @override + String get passwordErrorText => + 'Le mot de passe doit comporter au moins 6 caractères'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Numéro de téléphone invalide : $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Veuillez attendre $seconds secondes avant de demander un nouveau code.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Code téléphone invalide: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Termes et conditions'; + + @override + String get continueAsGuestBtn => 'Continuer en tant qu\'invité'; + + @override + String get noAccountYetPromptText => + 'Vous n\'avez pas encore de compte ?

Inscrivez-vous

'; + + @override + String get alreadyHaveAccountPromptText => + 'Vous avez déjà un compte ?

Se connecter

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Vous devez vous inscrire avant de pouvoir continuer avec Premium'; + + @override + String get loginSubtitle => + 'Obtenez du contenu personnalisé et restez en contact avec votre communauté!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Récupérez votre mot de passe'; + + @override + String get createAccountTitle => 'Créer un compte'; + + @override + String get createAccountSubtitle => + 'Nous avons besoin d\'un compte pour sauvegarder en toute sécurité vos données de santé et continuer votre évaluation.'; + + @override + String get repeatLabel => 'Répéter'; + + @override + String get repeatPasswordHint => 'Répétez votre mot de passe'; + + @override + String get confirmButton => 'Confirmer'; + + @override + String get noAccountPrompt => 'Vous n\'avez pas de compte ?'; + + @override + String get alreadyHaveAccountPrompt => 'Vous avez déjà un compte ?'; + + @override + String get createPasswordHeader => 'Créer un mot de passe'; + + @override + String get phoneHeader => 'Téléphone'; + + @override + String get verifyPhoneHeader => 'Vérifier le téléphone'; + + @override + String get phoneTitle => 'Quel est votre numéro ?'; + + @override + String get phoneSubtitle => + 'Nous vous enverrons un code par SMS pour vérifier votre téléphone'; + + @override + String get phoneNumberLabel => 'Numéro'; + + @override + String get enterPhoneNumber => 'Entrez le numéro de téléphone'; + + @override + String get phonePlaceholder => '+33 (0)1 55 01 23'; + + @override + String waitCountdownButton(int countdown) { + return 'Attendez $countdown secondes'; + } + + @override + String get enterCodeTitle => 'Entrez votre code'; + + @override + String codeSentToPhone(String phone) { + return 'Nous avons envoyé un code à $phone'; + } + + @override + String get didntReceiveCode => 'Vous n\'avez pas reçu le code ?'; + + @override + String get clickToResend => 'Cliquez pour renvoyer'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Vous pouvez demander un nouveau code dans $countdown secondes'; + } + + @override + String get closeTooltip => 'Fermer'; + + @override + String get backTooltip => 'Retour'; + + @override + String get termsOfServiceLink => 'Conditions d\'utilisation'; + + @override + String get privacyPolicyLink => 'Politique de confidentialité'; + + @override + String get welcomeBackTitle => 'Bienvenue de nouveau'; + + @override + String get welcomeBackSubtitle => + 'Connectez-vous si vous avez déjà un compte Doctorina, ou inscrivez-vous pour commencer.'; + + @override + String get passwordRuleLength => 'De 8 à 128 caractères'; + + @override + String get passwordRuleNumber => 'Au moins 1 chiffre'; + + @override + String get passwordRuleUppercase => 'Au moins 1 lettre majuscule'; + + @override + String get passwordRuleMatch => 'Les mots de passe correspondent'; + + @override + String get phoneOtpVerificationFailed => + 'La vérification du code OTP a échoué. Veuillez réessayer.'; + + @override + String get referralCodeLabel => 'Code de parrainage'; + + @override + String get enterReferralCodeHint => 'Entrez votre code de parrainage'; + + @override + String get referralCodeExampleHint => 'C.-à-d. CRÉATEUR2026'; + + @override + String get haveReferralCodeQuestion => 'Avez-vous un code de parrainage ?'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_gu.dart b/example/lib/src/generated/sign_up/sign_up_localization_gu.dart new file mode 100644 index 0000000..59d9476 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_gu.dart @@ -0,0 +1,346 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Gujarati (`gu`). +class SignUpLocalizationGu extends SignUpLocalization { + SignUpLocalizationGu([String locale = 'gu']) : super(locale); + + @override + String get logIn => 'પ્રવેશ કરો'; + + @override + String get password => 'પાસવર્ડ'; + + @override + String get changeNumber => 'નંબર બદલો'; + + @override + String get forgotPassword => 'પાસવર્ડ ભૂલી ગયા?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'તમારો ઇમેઇલ સરનામું દાખલ કરો, અને અમે તમારો પાસવર્ડ ફરીથી સેટ કરવા માટેનું લિંક મોકલીશું'; + + @override + String get rememberYourPasswordQuestion => 'તમારો પાસવર્ડ યાદ છે?'; + + @override + String get backToLoginButton => 'મને પાસવર્ડ છે'; + + @override + String get continueButton => 'ચાલુ રાખો'; + + @override + String get passwordResetEmailSentSnackBar => + 'પાસવર્ડ રીસેટ ઇમેઇલ મોકલવામાં આવ્યો'; + + @override + String get resetPasswordButton => 'પાસવર્ડ રીસેટ કરો'; + + @override + String get confirmCodeButton => 'કોડની પુષ્ટિ કરો'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'આજેજ Doctorina નો ઉપયોગ શરૂ કરો'; + + @override + String get orDivider => 'અથવા'; + + @override + String get enterPasswordForEmailHint => 'તમારો પાસવર્ડ દાખલ કરો'; + + @override + String get showPasswordHint => 'પાસવર્ડ બતાવો'; + + @override + String get obscurePasswordHint => 'પાસવર્ડ છુપાવો'; + + @override + String get clearLoginTooltip => 'લૉગિન સાફ કરો'; + + @override + String get emailOrPhoneLabel => 'ઈમેલ અથવા ફોન'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com અથવા +1234567890'; + + @override + String get emailOrPhoneHint => 'ઇમેઇલ અથવા ફોન નંબર દાખલ કરો'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'કૃપા કરીને ચાલુ રાખવા માટે કરારો સ્વીકારો.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'હું અંગત ડેટાનો પ્રોસેસિંગ કરવા માટે સંમતિ આપું છું,'; + + @override + String get consentTheUseOf => 'ઉપયોગનો'; + + @override + String get consentCookies => 'કૂકીઝ'; + + @override + String get consentAgreeToThe => ', મંજૂરી આપો'; + + @override + String get consentTermsAndConditions => 'શરતો અને નિયમો'; + + @override + String get consentAndAcknowledgeThe => ', અને સ્વીકારવું'; + + @override + String get consentPrivacyPolicy => 'ગોપનીયતા નીતિ'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'હું સ્વીકારું છું કે મારી સલાહકાર બેઠક એ AI સાથે છે અને લાઈસન્સ ધરાવતા ચિકિત્સક નથી.'; + + @override + String get logOutDialogTitle => 'લૉગ આઉટ'; + + @override + String get logOutDialogContent => 'શું તમે ખરેખર લૉગ આઉટ થવા માંગો છો?'; + + @override + String get logOutDialogCancelButton => 'રદ કરો'; + + @override + String get logOutDialogLogOutButton => 'હા, લૉગ આઉટ'; + + @override + String get resendCodeButton => 'કોડ ફરી મોકલો'; + + @override + String resendCodeTimer(String timer) { + return 'કોડ ફરી મોકલો ($timer)'; + } + + @override + String get consentFull => + 'હું વ્યક્તિગત ડેટાની પ્રક્રિયા માટે સંમતિ આપું છું, કૂકીઝ નો ઉપયોગ, શરતો અને નિયમો સાથે સંમત છું, અને

ગોપનીયતા નીતિ

ને માન્ય રાખું છું'; + + @override + String get emailLabel => 'તમારો ઇમેઇલ દાખલ કરો'; + + @override + String get signUpWithEmailTitle => 'ઇમેલથી સાઇન અપ કરો'; + + @override + String get logInWithEmailTitle => 'ઇમેઇલથી લૉગિન કરો'; + + @override + String get phoneLabel => 'તમારો ફોન દાખલ કરો'; + + @override + String get confirmPhoneTitle => 'તમારો ફોન પુષ્ટિ કરો'; + + @override + String get signUpText => 'સાઇન અપ કરો'; + + @override + String get emailHintShort => 'ઇમેઇલ દાખલ કરો'; + + @override + String get buttonTextSignUpWithGoogle => 'Google સાથે સાઇન અપ કરો'; + + @override + String get buttonTextSignUpWithApple => 'Apple સાથે સાઇન અપ કરો'; + + @override + String get buttonTextSignUpWithPhone => 'ફોન દ્વારા સાઇન અપ કરો'; + + @override + String get buttonTextLoginWithGoogle => 'Google વડે લૉગિન કરો'; + + @override + String get buttonTextLoginWithApple => 'Apple સાથે લોગિન કરો'; + + @override + String get buttonTextLoginWithPhone => 'ફોનથી લોગિન કરો'; + + @override + String get youAreLoggedOutMessage => 'તમે લોગ આઉટ થયા છો'; + + @override + String get reloadButtonText => 'રિલોડ કરો'; + + @override + String get emailErrorText => 'અમાન્ય ઇમેઇલ સરનામું'; + + @override + String get passwordErrorText => 'પાસવર્ડ ઓછામાં ઓછી 6 અક્ષરોનો હોવો જોઈએ'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'અમાન્ય ફોન નંબર: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'કૃપા કરીને $seconds સેકન્ડ રાહ જુઓ, પછી નવો કોડ માટે વિનંતી કરો.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'અમાન્ય ફોન કોડ: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'શરતો અને નિબંધનો'; + + @override + String get continueAsGuestBtn => 'અતિથિ તરીકે ચાલુ રાખો'; + + @override + String get noAccountYetPromptText => + 'હજુ સુધી કોઈ એકાઉન્ટ નથી?

સાઈન અપ કરો

'; + + @override + String get alreadyHaveAccountPromptText => + 'પહેલાથી એકાઉન્ટ છે?

લોગ ઇન કરો

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'તમે પ્રીમિયમ સાથે આગળ વધવા માટે સાઇન અપ કરવો જરૂરી છે'; + + @override + String get loginSubtitle => + 'વ્યક્તિગત સામગ્રી મેળવો અને તમારી સમુદાય સાથે સંપર્કમાં રહો!'; + + @override + String get emailFieldLabel => 'ઈમેલ'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'તમારો પાસવર્ડ પુનઃપ્રાપ્ત કરો'; + + @override + String get createAccountTitle => 'ખાતું બનાવો'; + + @override + String get createAccountSubtitle => + 'અમે તમારા આરોગ્યના ડેટાને સુરક્ષિત રીતે સાચવવા અને તમારી મૂલ્યાંકનને ચાલુ રાખવા માટે એક ખાતાની જરૂર છે.'; + + @override + String get repeatLabel => 'ફરીથી'; + + @override + String get repeatPasswordHint => 'તમારો પાસવર્ડ પુનરાવર્તિત કરો'; + + @override + String get confirmButton => 'પુષ્ટિ કરો'; + + @override + String get noAccountPrompt => 'તમે ખાતું નથી રાખતા?'; + + @override + String get alreadyHaveAccountPrompt => 'તમે પહેલેથી જ એક ખાતું ધરાવો છો?'; + + @override + String get createPasswordHeader => 'રહસ્યકોડ બનાવો'; + + @override + String get phoneHeader => 'ફોન'; + + @override + String get verifyPhoneHeader => 'ફોનની પુષ્ટિ કરો'; + + @override + String get phoneTitle => 'તમારો નંબર શું છે?'; + + @override + String get phoneSubtitle => 'અમે તમારા ફોનને માન્યતા આપવા માટે કોડ મોકલશું'; + + @override + String get phoneNumberLabel => 'નંબર'; + + @override + String get enterPhoneNumber => 'ફોન નંબર દાખલ કરો'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'વેઇટ $countdown સેકન્ડ'; + } + + @override + String get enterCodeTitle => 'તમારો કોડ દાખલ કરો'; + + @override + String codeSentToPhone(String phone) { + return 'અમે $phone પર એક કોડ મોકલ્યો છે'; + } + + @override + String get didntReceiveCode => 'કોડ મળ્યો નથી?'; + + @override + String get clickToResend => 'ફરીથી મોકલવા માટે ક્લિક કરો'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'તમે $countdown સેકન્ડમાં નવો કોડ માંગો છો'; + } + + @override + String get closeTooltip => 'બંધ કરો'; + + @override + String get backTooltip => 'પાછળ'; + + @override + String get termsOfServiceLink => 'સેવા શરતો'; + + @override + String get privacyPolicyLink => 'ગોપનીયતા નીતિ'; + + @override + String get welcomeBackTitle => 'ફરીથી સ્વાગત છે'; + + @override + String get welcomeBackSubtitle => + 'જો તમારી પાસે પહેલેથી જ Doctorina ખાતું છે તો લોગિન કરો, અથવા શરૂ કરવા માટે સાઇન અપ કરો.'; + + @override + String get passwordRuleLength => '8 થી 128 અક્ષરો'; + + @override + String get passwordRuleNumber => 'કમથી કમ 1 નંબર'; + + @override + String get passwordRuleUppercase => 'કમથી કમ 1 મોટા અક્ષર'; + + @override + String get passwordRuleMatch => 'પાસવર્ડ મેળ ખાતા છે'; + + @override + String get phoneOtpVerificationFailed => + 'OTP ચકાસણી નિષ્ફળ ગઈ. કૃપા કરીને ફરી પ્રયાસ કરો.'; + + @override + String get referralCodeLabel => 'રેફરલ કોડ'; + + @override + String get enterReferralCodeHint => 'તમારો રેફરલ કોડ દાખલ કરો'; + + @override + String get referralCodeExampleHint => 'ઉદાહરણ CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'શું તમારી પાસે રેફરલ કોડ છે?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_he.dart b/example/lib/src/generated/sign_up/sign_up_localization_he.dart new file mode 100644 index 0000000..2902fb4 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_he.dart @@ -0,0 +1,341 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hebrew (`he`). +class SignUpLocalizationHe extends SignUpLocalization { + SignUpLocalizationHe([String locale = 'he']) : super(locale); + + @override + String get logIn => 'התחבר'; + + @override + String get password => 'סיסמה'; + + @override + String get changeNumber => 'שנה מספר'; + + @override + String get forgotPassword => 'שכחת את הסיסמה?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'הכנס את כתובת האימייל שלך, ונשלח לך קישור לאיפוס הסיסמה.'; + + @override + String get rememberYourPasswordQuestion => 'האם אתה זוכר את הסיסמה שלך?'; + + @override + String get backToLoginButton => 'יש לי סיסמה'; + + @override + String get continueButton => 'המשך'; + + @override + String get passwordResetEmailSentSnackBar => 'אימייל לאיפוס הסיסמה נשלח'; + + @override + String get resetPasswordButton => 'אפס סיסמה'; + + @override + String get confirmCodeButton => 'אשר קוד'; + + @override + String get startUsingDoctorinaTodaySubtitle => 'התחל להשתמש ב-Doctorina היום'; + + @override + String get orDivider => 'או'; + + @override + String get enterPasswordForEmailHint => 'הזן את הסיסמה שלך'; + + @override + String get showPasswordHint => 'הצג סיסמה'; + + @override + String get obscurePasswordHint => 'הסתר סיסמה'; + + @override + String get clearLoginTooltip => 'נקה התחברות'; + + @override + String get emailOrPhoneLabel => 'אימייל או טלפון'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com או +1234567890'; + + @override + String get emailOrPhoneHint => 'הזן דוא\"ל או מספר טלפון'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'אנא אשר את ההסכמים כדי להמשיך.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'אני מסכים לעיבוד נתונים אישיים,'; + + @override + String get consentTheUseOf => 'השימוש ב'; + + @override + String get consentCookies => 'עוגיות'; + + @override + String get consentAgreeToThe => ', מסכים ל'; + + @override + String get consentTermsAndConditions => 'תנאים והגבלות'; + + @override + String get consentAndAcknowledgeThe => ', ולאשר'; + + @override + String get consentPrivacyPolicy => 'מדיניות פרטיות'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'אני מאשר שההתייעצות שלי היא עם בינה מלאכותית ולא עם איש מקצוע רפואי מורשה.'; + + @override + String get logOutDialogTitle => 'התנתק'; + + @override + String get logOutDialogContent => 'האם אתה בטוח שברצונך להתנתק?'; + + @override + String get logOutDialogCancelButton => 'ביטול'; + + @override + String get logOutDialogLogOutButton => 'כן, התנתק'; + + @override + String get resendCodeButton => 'שלח קוד מחדש'; + + @override + String resendCodeTimer(String timer) { + return 'שלח קוד מחדש ($timer)'; + } + + @override + String get consentFull => + 'אני מסכים לעיבוד נתונים אישיים, לשימוש בעוגיות, מסכים לתנאים והגבלות, ומאשר את

מדיניות הפרטיות

'; + + @override + String get emailLabel => 'הזן את האימייל שלך'; + + @override + String get signUpWithEmailTitle => 'הירשם עם דוא\"ל'; + + @override + String get logInWithEmailTitle => 'התחבר עם דוא0'; + + @override + String get phoneLabel => 'הכנס את הטלפון שלך'; + + @override + String get confirmPhoneTitle => 'אשר את הטלפון שלך'; + + @override + String get signUpText => 'הרשם'; + + @override + String get emailHintShort => 'הזן דואר אלקטרוני'; + + @override + String get buttonTextSignUpWithGoogle => 'הרשמה באמצעות Google'; + + @override + String get buttonTextSignUpWithApple => 'הירשם עם Apple'; + + @override + String get buttonTextSignUpWithPhone => 'הרשם עם טלפון'; + + @override + String get buttonTextLoginWithGoogle => 'התחבר עם Google'; + + @override + String get buttonTextLoginWithApple => 'התחבר עם Apple'; + + @override + String get buttonTextLoginWithPhone => 'התחבר עם הטלפון'; + + @override + String get youAreLoggedOutMessage => 'התנתקת'; + + @override + String get reloadButtonText => 'טעינה מחדש'; + + @override + String get emailErrorText => 'כתובת דוא\"ל לא חוקית'; + + @override + String get passwordErrorText => 'הסיסמה חייבת להכיל לפחות 6 תווים'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'מספר טלפון לא תקין: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'אנא המתן $seconds שניות לפני בקשת קוד חדש.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'קוד טלפון לא חוקי: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'תנאים והגבלות'; + + @override + String get continueAsGuestBtn => 'המשך כאורח'; + + @override + String get noAccountYetPromptText => 'עוד אין לך חשבון?

הרשם

'; + + @override + String get alreadyHaveAccountPromptText => 'כבר יש חשבון?

התחבר

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'עליך להירשם לפני שתוכל להמשיך עם פרימיום'; + + @override + String get loginSubtitle => + 'קבל תוכן מותאם אישית ושמור על קשר עם הקהילה שלך!'; + + @override + String get emailFieldLabel => 'דוא\"ל'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'שחזר את הסיסמה שלך'; + + @override + String get createAccountTitle => 'צור חשבון'; + + @override + String get createAccountSubtitle => + 'אנחנו צריכים חשבון כדי לשמור בצורה מאובטחת את נתוני הבריאות שלך ולהמשיך את ההערכה שלך.'; + + @override + String get repeatLabel => 'חזור'; + + @override + String get repeatPasswordHint => 'חזור על הסיסמה שלך'; + + @override + String get confirmButton => 'אישור'; + + @override + String get noAccountPrompt => 'אין לך חשבון?'; + + @override + String get alreadyHaveAccountPrompt => 'כבר יש לך חשבון?'; + + @override + String get createPasswordHeader => 'צור סיסמה'; + + @override + String get phoneHeader => 'טלפון'; + + @override + String get verifyPhoneHeader => 'אמת את הטלפון'; + + @override + String get phoneTitle => 'מה המספר שלך?'; + + @override + String get phoneSubtitle => 'נשלח קוד לאימות הטלפון שלך'; + + @override + String get phoneNumberLabel => 'מספר'; + + @override + String get enterPhoneNumber => 'הזן מספר טלפון'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'חכה $countdown שניות'; + } + + @override + String get enterCodeTitle => 'הכנס את הקוד שלך'; + + @override + String codeSentToPhone(String phone) { + return 'שלחנו קוד ל-$phone'; + } + + @override + String get didntReceiveCode => 'לא קיבלת את הקוד?'; + + @override + String get clickToResend => 'לחץ כדי לשלוח מחדש'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'תוכל לבקש קוד חדש בעוד $countdown שניות'; + } + + @override + String get closeTooltip => 'סגור'; + + @override + String get backTooltip => 'חזרה'; + + @override + String get termsOfServiceLink => 'תנאי שירות'; + + @override + String get privacyPolicyLink => 'מדיניות פרטיות'; + + @override + String get welcomeBackTitle => 'ברוך שובך'; + + @override + String get welcomeBackSubtitle => + 'התחבר אם כבר יש לך חשבון Doctorina, או הירשם כדי להתחיל.'; + + @override + String get passwordRuleLength => 'מ-8 עד 128 תווים'; + + @override + String get passwordRuleNumber => 'לפחות 1 מספר'; + + @override + String get passwordRuleUppercase => 'לפחות 1 אות גדולה'; + + @override + String get passwordRuleMatch => 'הסיסמאות תואמות'; + + @override + String get phoneOtpVerificationFailed => 'אימות OTP נכשל. אנא נסה שוב.'; + + @override + String get referralCodeLabel => 'קוד הפניה'; + + @override + String get enterReferralCodeHint => 'הזן את קוד ההפניה שלך'; + + @override + String get referralCodeExampleHint => 'למשל: CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'יש לך קוד הפניה?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_hi.dart b/example/lib/src/generated/sign_up/sign_up_localization_hi.dart index a19db6f..b2889fe 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_hi.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_hi.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,63 +11,61 @@ class SignUpLocalizationHi extends SignUpLocalization { SignUpLocalizationHi([String locale = 'hi']) : super(locale); @override - String get title => 'दाखिल करना'; - - @override - String get logIn => 'लॉग इन करें'; + String get logIn => 'लॉग इन'; @override String get password => 'पासवर्ड'; @override - String get changeNumber => 'अंक बदलो'; + String get changeNumber => 'नंबर बदलें'; @override String get forgotPassword => 'पासवर्ड भूल गए?'; @override String get forgotPasswordEnterYourEmailAddress => - 'अपना ईमेल पता दर्ज करें, और हम आपको अपना पासवर्ड रीसेट करने के लिए एक लिंक भेजेंगे।'; + 'अपना ईमेल पता दर्ज करें, और हम आपको अपना पासवर्ड रीसेट करने के लिए एक लिंक भेजेंगे.'; @override - String get rememberYourPasswordQuestion => 'अपना पासवर्ड याद रखें?'; + String get rememberYourPasswordQuestion => + 'क्या आप अपना पासवर्ड याद करते हैं?'; @override - String get backToLoginButton => 'मेरे पास एक पासवर्ड है'; + String get backToLoginButton => 'मेरे पास पासवर्ड है'; @override - String get continueButton => 'जारी रखना'; + String get continueButton => 'जारी रखें'; @override - String get passwordResetEmailSentSnackBar => 'पासवर्ड रीसेट ईमेल भेजा गया'; + String get passwordResetEmailSentSnackBar => 'पासवर्ड रीसेट ईमेल भेज दी गई'; @override - String get resetPasswordButton => 'पासवर्ड रीसेट'; + String get resetPasswordButton => 'पासवर्ड रीसेट करें'; @override String get confirmCodeButton => 'कोड की पुष्टि करें'; @override String get startUsingDoctorinaTodaySubtitle => - 'आज ही डॉक्टरिना का उपयोग शुरू करें'; + 'आज ही Doctorina का उपयोग शुरू करें'; @override String get orDivider => 'या'; @override - String get enterPasswordForEmailHint => 'अपना कूटशब्द भरें'; + String get enterPasswordForEmailHint => 'अपना पासवर्ड दर्ज करें'; @override - String get showPasswordHint => 'पासवर्ड दिखाए'; + String get showPasswordHint => 'पासवर्ड दिखाएँ'; @override - String get obscurePasswordHint => 'अस्पष्ट पासवर्ड'; + String get obscurePasswordHint => 'पासवर्ड छिपाएं'; @override - String get clearLoginTooltip => 'लॉगिन साफ़ करें'; + String get clearLoginTooltip => 'लॉगिन साफ करें'; @override - String get emailOrPhoneLabel => 'ईमेल या फ़ोन'; + String get emailOrPhoneLabel => 'ईमेल या फोन'; @override String get emailOrPhoneLabelExample => 'name@gmail.com या +1234567890'; @@ -77,11 +75,11 @@ class SignUpLocalizationHi extends SignUpLocalization { @override String get pleaseAcceptTheAgreementsToContinueSnackBar => - 'कृपया आगे बढ़ने के लिए समझौते को स्वीकार करें।'; + 'जारी रखने के लिए कृपया समझौते स्वीकार करें.'; @override String get consentToTheProcessingOfPersonalData => - 'मैं व्यक्तिगत डेटा के प्रसंस्करण के लिए सहमति देता/देती हूँ,'; + 'मैं व्यक्तिगत डेटा के प्रसंस्करण के लिए सहमति देता हूँ,'; @override String get consentTheUseOf => 'का उपयोग'; @@ -90,13 +88,13 @@ class SignUpLocalizationHi extends SignUpLocalization { String get consentCookies => 'कुकीज़'; @override - String get consentAgreeToThe => ', इस बात से सहमत हैं'; + String get consentAgreeToThe => ', सहमति देते हैं'; @override String get consentTermsAndConditions => 'नियम और शर्तें'; @override - String get consentAndAcknowledgeThe => ', और स्वीकार करते हैं'; + String get consentAndAcknowledgeThe => ', और स्वीकारें'; @override String get consentPrivacyPolicy => 'गोपनीयता नीति'; @@ -106,25 +104,243 @@ class SignUpLocalizationHi extends SignUpLocalization { @override String get acknowledgeMyConsultation => - 'मैं स्वीकार करता हूं कि मेरा परामर्श एक एआई के साथ है, न कि किसी लाइसेंस प्राप्त चिकित्सा पेशेवर के साथ।'; + 'मैं स्वीकार करता हूँ कि मेरा परामर्श एक एआई के साथ है और कोई लाइसेंस प्राप्त चिकित्सा पेशेवर नहीं है.'; @override String get logOutDialogTitle => 'लॉग आउट'; @override - String get logOutDialogContent => 'क्या आप लॉग आउट करने के लिए आश्वस्त हैं?'; + String get logOutDialogContent => 'क्या आप वाकई लॉग आउट करना चाहते हैं?'; @override - String get logOutDialogCancelButton => 'रद्द करना'; + String get logOutDialogCancelButton => 'रद्द करें'; @override - String get logOutDialogLogOutButton => 'हाँ, लॉग आउट करें'; + String get logOutDialogLogOutButton => 'हाँ, लॉग आउट'; @override - String get resendCodeButton => 'पुन: कोड भेजे'; + String get resendCodeButton => 'कोड फिर से भेजें'; @override String resendCodeTimer(String timer) { return 'कोड पुनः भेजें ($timer)'; } + + @override + String get consentFull => + 'मैं व्यक्तिगत डेटा की प्रोसेसिंग के लिए सहमति देता हूँ, कुकीज़ के उपयोग के लिए सहमत हूँ, नियम और शर्तें स्वीकार करता हूँ, और

गोपनीयता नीति

को स्वीकार करता हूँ।'; + + @override + String get emailLabel => 'अपना ईमेल दर्ज करें'; + + @override + String get signUpWithEmailTitle => 'ईमेल से साइन अप करें'; + + @override + String get logInWithEmailTitle => 'ईमेल से लॉग इन करें'; + + @override + String get phoneLabel => 'अपना फोन दर्ज करें'; + + @override + String get confirmPhoneTitle => 'अपने फोन की पुष्टि करें'; + + @override + String get signUpText => 'साइन अप करें'; + + @override + String get emailHintShort => 'ईमेल दर्ज करें'; + + @override + String get buttonTextSignUpWithGoogle => 'Google के साथ साइन अप करें'; + + @override + String get buttonTextSignUpWithApple => 'Apple के साथ साइन अप करें'; + + @override + String get buttonTextSignUpWithPhone => 'फोन से साइन अप करें'; + + @override + String get buttonTextLoginWithGoogle => 'Google से लॉगिन करें'; + + @override + String get buttonTextLoginWithApple => 'Apple के साथ लॉगिन करें'; + + @override + String get buttonTextLoginWithPhone => 'फोन से लॉगिन करें'; + + @override + String get youAreLoggedOutMessage => 'आप लॉग आउट हैं'; + + @override + String get reloadButtonText => 'पुनः लोड करें'; + + @override + String get emailErrorText => 'अमान्य ईमेल पता'; + + @override + String get passwordErrorText => 'पासवर्ड कम से कम 6 अक्षरों का होना चाहिए'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'अमान्य फ़ोन नंबर: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'कृपया $seconds सेकंड प्रतीक्षा करें, फिर नया कोड अनुरोध करें.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'अमान्य फोन कोड: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'नियम और शर्तें'; + + @override + String get continueAsGuestBtn => 'अतिथि के रूप में जारी रखें'; + + @override + String get noAccountYetPromptText => + 'अभी तक खाता नहीं है?

साइन अप करें

'; + + @override + String get alreadyHaveAccountPromptText => + 'पहले से खाता है?

लॉग इन करें

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'आपको प्रीमियम के साथ जारी रखने से पहले साइन अप करना होगा'; + + @override + String get loginSubtitle => + 'व्यक्तिगत सामग्री प्राप्त करें और अपने समुदाय के साथ संपर्क में रहें!'; + + @override + String get emailFieldLabel => 'ई-मेल'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'अपना पासवर्ड पुनर्प्राप्त करें'; + + @override + String get createAccountTitle => 'खाता बनाएं'; + + @override + String get createAccountSubtitle => + 'हमें आपका स्वास्थ्य डेटा सुरक्षित रूप से सहेजने और आपकी मूल्यांकन प्रक्रिया को जारी रखने के लिए एक खाता चाहिए।'; + + @override + String get repeatLabel => 'दोहराएँ'; + + @override + String get repeatPasswordHint => 'अपना पासवर्ड दोहराएँ'; + + @override + String get confirmButton => 'पुष्टि करें'; + + @override + String get noAccountPrompt => 'क्या आपके पास खाता नहीं है?'; + + @override + String get alreadyHaveAccountPrompt => 'क्या आपके पास पहले से एक खाता है?'; + + @override + String get createPasswordHeader => 'एक पासवर्ड बनाएं'; + + @override + String get phoneHeader => 'फोन'; + + @override + String get verifyPhoneHeader => 'फोन की पुष्टि करें'; + + @override + String get phoneTitle => 'आपका नंबर क्या है?'; + + @override + String get phoneSubtitle => 'हम आपके फोन की पुष्टि के लिए एक कोड भेजेंगे'; + + @override + String get phoneNumberLabel => 'नंबर'; + + @override + String get enterPhoneNumber => 'फोन नंबर दर्ज करें'; + + @override + String get phonePlaceholder => '+91 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return '$countdown सेकंड प्रतीक्षा करें'; + } + + @override + String get enterCodeTitle => 'कोड दर्ज करें'; + + @override + String codeSentToPhone(String phone) { + return '$phone पर एक कोड भेजा गया है'; + } + + @override + String get didntReceiveCode => 'क्या आपको कोड नहीं मिला?'; + + @override + String get clickToResend => 'पुनः भेजने के लिए क्लिक करें'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'आप $countdown सेकंड में एक नया कोड अनुरोध कर सकते हैं'; + } + + @override + String get closeTooltip => 'बंद करें'; + + @override + String get backTooltip => 'वापस'; + + @override + String get termsOfServiceLink => 'सेवा की शर्तें'; + + @override + String get privacyPolicyLink => 'गोपनीयता नीति'; + + @override + String get welcomeBackTitle => 'स्वागत है वापस'; + + @override + String get welcomeBackSubtitle => + 'यदि आपके पास पहले से Doctorina खाता है, तो लॉग इन करें, या शुरू करने के लिए साइन अप करें।'; + + @override + String get passwordRuleLength => '8 से 128 अक्षरों तक'; + + @override + String get passwordRuleNumber => 'कम से कम 1 संख्या'; + + @override + String get passwordRuleUppercase => 'कम से कम 1 बड़े अक्षर'; + + @override + String get passwordRuleMatch => 'पासवर्ड मेल खाते हैं'; + + @override + String get phoneOtpVerificationFailed => + 'ओटीपी सत्यापन विफल रहा। कृपया पुनः प्रयास करें।'; + + @override + String get referralCodeLabel => 'रेफरल कोड'; + + @override + String get enterReferralCodeHint => 'अपना रेफरल कोड दर्ज करें'; + + @override + String get referralCodeExampleHint => 'उदाहरण: CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'क्या आपके पास रेफरल कोड है?'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_hu.dart b/example/lib/src/generated/sign_up/sign_up_localization_hu.dart new file mode 100644 index 0000000..6fe11e1 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_hu.dart @@ -0,0 +1,347 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Hungarian (`hu`). +class SignUpLocalizationHu extends SignUpLocalization { + SignUpLocalizationHu([String locale = 'hu']) : super(locale); + + @override + String get logIn => 'Bejelentkezés'; + + @override + String get password => 'Jelszó'; + + @override + String get changeNumber => 'Szám megváltoztatása'; + + @override + String get forgotPassword => 'Elfelejtette a jelszavát?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Írja be az e-mail címét, és küldünk Önnek egy linket a jelszó visszaállításához.'; + + @override + String get rememberYourPasswordQuestion => 'Emlékszik a jelszavára?'; + + @override + String get backToLoginButton => 'Van jelszavam'; + + @override + String get continueButton => 'Folytatás'; + + @override + String get passwordResetEmailSentSnackBar => + 'Jelszó-visszaállító e-mail elküldve'; + + @override + String get resetPasswordButton => 'Jelszó visszaállítása'; + + @override + String get confirmCodeButton => 'Kód megerősítése'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Kezdje el használni a Doctorinát ma'; + + @override + String get orDivider => 'VAGY'; + + @override + String get enterPasswordForEmailHint => 'Adja meg a jelszavát'; + + @override + String get showPasswordHint => 'Jelszó megjelenítése'; + + @override + String get obscurePasswordHint => 'Jelszó elrejtése'; + + @override + String get clearLoginTooltip => 'Bejelentkezés törlése'; + + @override + String get emailOrPhoneLabel => 'Email vagy telefon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com vagy +1234567890'; + + @override + String get emailOrPhoneHint => + 'Adja meg az e-mail címét vagy a telefonszámát'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Kérjük, fogadja el a megállapodásokat a folytatáshoz.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Hozzájárulok a személyes adatok feldolgozásához,'; + + @override + String get consentTheUseOf => 'a használat'; + + @override + String get consentCookies => 'süti'; + + @override + String get consentAgreeToThe => ', egyetértek a'; + + @override + String get consentTermsAndConditions => 'feltételek és kikötések'; + + @override + String get consentAndAcknowledgeThe => ', és elismeri a'; + + @override + String get consentPrivacyPolicy => 'adatvédelmi irányelv'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Elismerem, hogy a konzultációm egy mesterséges intelligenciával történik, és nem egy engedéllyel rendelkező egészségügyi szakemberrel.'; + + @override + String get logOutDialogTitle => 'Kijelentkezés'; + + @override + String get logOutDialogContent => 'Biztos, hogy ki szeretnél lépni?'; + + @override + String get logOutDialogCancelButton => 'Mégse'; + + @override + String get logOutDialogLogOutButton => 'Igen, kijelentkezés'; + + @override + String get resendCodeButton => 'Kód újraküldése'; + + @override + String resendCodeTimer(String timer) { + return 'Kód újraküldése ($timer)'; + } + + @override + String get consentFull => + 'Hozzájárulok a személyes adatok feldolgozásához, a cookie használatához, egyetértek a feltételekkel, és tudomásul veszem a

adatvédelmi irányelveket

.'; + + @override + String get emailLabel => 'Írd be az email címed'; + + @override + String get signUpWithEmailTitle => 'E-maillel regisztrálj'; + + @override + String get logInWithEmailTitle => 'Bejelentkezés e-maillel'; + + @override + String get phoneLabel => 'Adja meg a telefonját'; + + @override + String get confirmPhoneTitle => 'Erősítsd meg a telefonodat'; + + @override + String get signUpText => 'Regisztráció'; + + @override + String get emailHintShort => 'Írja be az e-mail címét'; + + @override + String get buttonTextSignUpWithGoogle => 'Regisztrálj a Google-lal'; + + @override + String get buttonTextSignUpWithApple => 'Regisztrálj az Apple-lel'; + + @override + String get buttonTextSignUpWithPhone => 'Regisztráljon telefonnal'; + + @override + String get buttonTextLoginWithGoogle => 'Bejelentkezés a Google fiókkal'; + + @override + String get buttonTextLoginWithApple => 'Bejelentkezés Apple-lal'; + + @override + String get buttonTextLoginWithPhone => 'Bejelentkezés telefonnal'; + + @override + String get youAreLoggedOutMessage => 'Kijelentkeztél'; + + @override + String get reloadButtonText => 'Újratöltés'; + + @override + String get emailErrorText => 'Érvénytelen e-mail cím'; + + @override + String get passwordErrorText => + 'A jelszónak legalább 6 karakter hosszúnak kell lennie'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Érvénytelen telefonszám: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Kérjük, várjon $seconds másodpercet, mielőtt új kódot kérne.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Érvénytelen telefonkód: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Felhasználási feltételek'; + + @override + String get continueAsGuestBtn => 'Folytatás vendégként'; + + @override + String get noAccountYetPromptText => 'Még nincs fiókod?

Regisztrálj

'; + + @override + String get alreadyHaveAccountPromptText => + 'Már van fiókod?

Bejelentkezés

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'A Premium folytatásához regisztrálnia kell'; + + @override + String get loginSubtitle => + 'Személyre szabott tartalmat kap, és kapcsolatban maradhat közösségével!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Állítsa vissza a jelszavát'; + + @override + String get createAccountTitle => 'Fiók létrehozása'; + + @override + String get createAccountSubtitle => + 'Az egészségügyi adatai biztonságos tárolásához és az értékelés folytatásához szükség van egy fiókra.'; + + @override + String get repeatLabel => 'Ismételje'; + + @override + String get repeatPasswordHint => 'Ismételje meg a jelszavát'; + + @override + String get confirmButton => 'Megerősít'; + + @override + String get noAccountPrompt => 'Nincs fiókja?'; + + @override + String get alreadyHaveAccountPrompt => 'Már van fiókja?'; + + @override + String get createPasswordHeader => 'Hozzon létre egy jelszót'; + + @override + String get phoneHeader => 'Telefon'; + + @override + String get verifyPhoneHeader => 'Telefon ellenőrzése'; + + @override + String get phoneTitle => 'Mi a számod?'; + + @override + String get phoneSubtitle => 'Küldünk egy kódot a telefonod megerősítéséhez'; + + @override + String get phoneNumberLabel => 'Szám'; + + @override + String get enterPhoneNumber => 'Adja meg a telefonszámot'; + + @override + String get phonePlaceholder => '+36 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Várj $countdown másodpercet'; + } + + @override + String get enterCodeTitle => 'Írd be a kódodat'; + + @override + String codeSentToPhone(String phone) { + return 'Kódot küldtünk a(z) $phone számra'; + } + + @override + String get didntReceiveCode => 'Nem kaptad meg a kódot?'; + + @override + String get clickToResend => 'Kattintson az újraküldéshez'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Új kódot kérhetsz $countdown másodperc múlva'; + } + + @override + String get closeTooltip => 'Bezárás'; + + @override + String get backTooltip => 'Vissza'; + + @override + String get termsOfServiceLink => 'Szolgáltatási feltételek'; + + @override + String get privacyPolicyLink => 'Adatvédelmi irányelv'; + + @override + String get welcomeBackTitle => 'Üdvözöljük visszatérőként'; + + @override + String get welcomeBackSubtitle => + 'Jelentkezzen be, ha már van Doctorina fiókja, vagy regisztráljon a kezdéshez.'; + + @override + String get passwordRuleLength => '8-tól 128 karakterig'; + + @override + String get passwordRuleNumber => 'Legalább 1 szám'; + + @override + String get passwordRuleUppercase => 'Legalább 1 nagybetű'; + + @override + String get passwordRuleMatch => 'A jelszavak egyeznek'; + + @override + String get phoneOtpVerificationFailed => + 'Az OTP ellenőrzése sikertelen. Próbáld újra.'; + + @override + String get referralCodeLabel => 'Ajánló kód'; + + @override + String get enterReferralCodeHint => 'Írja be a referral kódját'; + + @override + String get referralCodeExampleHint => 'Pl. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Van ajánlói kódja?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_id.dart b/example/lib/src/generated/sign_up/sign_up_localization_id.dart new file mode 100644 index 0000000..0ccd372 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_id.dart @@ -0,0 +1,346 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Indonesian (`id`). +class SignUpLocalizationId extends SignUpLocalization { + SignUpLocalizationId([String locale = 'id']) : super(locale); + + @override + String get logIn => 'Masuk'; + + @override + String get password => 'Kata sandi'; + + @override + String get changeNumber => 'Ubah nomor'; + + @override + String get forgotPassword => 'Lupa Kata Sandi?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Masukkan alamat email Anda, dan kami akan mengirimkan tautan untuk mereset kata sandi Anda.'; + + @override + String get rememberYourPasswordQuestion => 'Ingat kata sandi Anda?'; + + @override + String get backToLoginButton => 'Saya memiliki kata sandi'; + + @override + String get continueButton => 'Lanjutkan'; + + @override + String get passwordResetEmailSentSnackBar => + 'Email pengaturan ulang kata sandi telah dikirim'; + + @override + String get resetPasswordButton => 'Atur ulang kata sandi'; + + @override + String get confirmCodeButton => 'Konfirmasi kode'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Mulailah menggunakan Doctorina hari ini'; + + @override + String get orDivider => 'ATAU'; + + @override + String get enterPasswordForEmailHint => 'Masukkan kata sandi Anda'; + + @override + String get showPasswordHint => 'Tampilkan kata sandi'; + + @override + String get obscurePasswordHint => 'Sembunyikan kata sandi'; + + @override + String get clearLoginTooltip => 'Bersihkan login'; + + @override + String get emailOrPhoneLabel => 'Email atau telepon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com atau +1234567890'; + + @override + String get emailOrPhoneHint => 'Masukkan email atau nomor telepon'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Harap terima perjanjian untuk melanjutkan.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Saya menyetujui pemrosesan data pribadi,'; + + @override + String get consentTheUseOf => 'penggunaan'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', setuju dengan'; + + @override + String get consentTermsAndConditions => 'syarat dan ketentuan'; + + @override + String get consentAndAcknowledgeThe => ', dan akui'; + + @override + String get consentPrivacyPolicy => 'kebijakan privasi'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Saya menyadari bahwa konsultasi saya dilakukan oleh AI dan bukan oleh profesional medis berlisensi.'; + + @override + String get logOutDialogTitle => 'Keluar'; + + @override + String get logOutDialogContent => 'Anda yakin untuk keluar?'; + + @override + String get logOutDialogCancelButton => 'Batal'; + + @override + String get logOutDialogLogOutButton => 'Ya, keluar'; + + @override + String get resendCodeButton => 'Kirim ulang kode'; + + @override + String resendCodeTimer(String timer) { + return 'Kirim ulang kode ($timer)'; + } + + @override + String get consentFull => + 'Saya setuju untuk pemrosesan data pribadi, penggunaan cookies, setuju dengan syarat dan ketentuan, dan mengakui

kebijakan privasi

.'; + + @override + String get emailLabel => 'Masukkan email Anda'; + + @override + String get signUpWithEmailTitle => 'Daftar dengan email'; + + @override + String get logInWithEmailTitle => 'Masuk dengan email'; + + @override + String get phoneLabel => 'Masukkan telepon Anda'; + + @override + String get confirmPhoneTitle => 'Konfirmasi telepon Anda'; + + @override + String get signUpText => 'Daftar'; + + @override + String get emailHintShort => 'Masukkan email'; + + @override + String get buttonTextSignUpWithGoogle => 'Daftar dengan Google'; + + @override + String get buttonTextSignUpWithApple => 'Daftar dengan Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Daftar dengan telepon'; + + @override + String get buttonTextLoginWithGoogle => 'Masuk dengan Google'; + + @override + String get buttonTextLoginWithApple => 'Masuk dengan Apple'; + + @override + String get buttonTextLoginWithPhone => 'Masuk dengan Ponsel'; + + @override + String get youAreLoggedOutMessage => 'Anda telah keluar'; + + @override + String get reloadButtonText => 'Muat ulang'; + + @override + String get emailErrorText => 'Alamat email tidak valid'; + + @override + String get passwordErrorText => + 'Kata sandi harus terdiri dari minimal 6 karakter'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Nomor telepon tidak valid: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Harap tunggu $seconds detik sebelum meminta kode baru.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Kode telepon tidak valid: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Syarat dan ketentuan'; + + @override + String get continueAsGuestBtn => 'Lanjutkan sebagai tamu'; + + @override + String get noAccountYetPromptText => 'Belum punya akun?

Daftar

'; + + @override + String get alreadyHaveAccountPromptText => 'Sudah punya akun?

Masuk

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Anda perlu mendaftar sebelum Anda dapat melanjutkan dengan Premium'; + + @override + String get loginSubtitle => + 'Dapatkan konten yang dipersonalisasi dan tetap terhubung dengan komunitas Anda!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Pulihkan kata sandi Anda'; + + @override + String get createAccountTitle => 'Buat akun'; + + @override + String get createAccountSubtitle => + 'Kami memerlukan akun untuk menyimpan data kesehatan Anda dengan aman dan melanjutkan penilaian Anda.'; + + @override + String get repeatLabel => 'Ulangi'; + + @override + String get repeatPasswordHint => 'Ulangi kata sandi Anda'; + + @override + String get confirmButton => 'Konfirmasi'; + + @override + String get noAccountPrompt => 'Tidak punya akun?'; + + @override + String get alreadyHaveAccountPrompt => 'Sudah memiliki akun?'; + + @override + String get createPasswordHeader => 'Buat kata sandi'; + + @override + String get phoneHeader => 'Telepon'; + + @override + String get verifyPhoneHeader => 'Verifikasi Telepon'; + + @override + String get phoneTitle => 'Apa nomormu?'; + + @override + String get phoneSubtitle => + 'Kami akan mengirimkan kode untuk memverifikasi ponsel Anda'; + + @override + String get phoneNumberLabel => 'Nomor'; + + @override + String get enterPhoneNumber => 'Masukkan nomor telepon'; + + @override + String get phonePlaceholder => '+62 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Tunggu $countdown detik'; + } + + @override + String get enterCodeTitle => 'Masukkan kode Anda'; + + @override + String codeSentToPhone(String phone) { + return 'Kami mengirimkan kode ke $phone'; + } + + @override + String get didntReceiveCode => 'Tidak menerima kode?'; + + @override + String get clickToResend => 'Klik untuk mengirim ulang'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Anda dapat meminta kode baru dalam $countdown detik'; + } + + @override + String get closeTooltip => 'Tutup'; + + @override + String get backTooltip => 'Kembali'; + + @override + String get termsOfServiceLink => 'Syarat Layanan'; + + @override + String get privacyPolicyLink => 'Kebijakan Privasi'; + + @override + String get welcomeBackTitle => 'Selamat datang kembali'; + + @override + String get welcomeBackSubtitle => + 'Masuk jika Anda sudah memiliki akun Doctorina, atau daftar untuk memulai.'; + + @override + String get passwordRuleLength => 'Dari 8 hingga 128 karakter'; + + @override + String get passwordRuleNumber => 'Setidaknya 1 angka'; + + @override + String get passwordRuleUppercase => 'Setidaknya 1 huruf kapital'; + + @override + String get passwordRuleMatch => 'Kata sandi cocok'; + + @override + String get phoneOtpVerificationFailed => + 'Verifikasi OTP gagal. Silakan coba lagi.'; + + @override + String get referralCodeLabel => 'Kode rujukan'; + + @override + String get enterReferralCodeHint => 'Masukkan kode rujukan Anda'; + + @override + String get referralCodeExampleHint => 'Cth. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Punya kode rujukan?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_it.dart b/example/lib/src/generated/sign_up/sign_up_localization_it.dart index f7d78ef..5677f0d 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_it.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_it.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,10 +11,7 @@ class SignUpLocalizationIt extends SignUpLocalization { SignUpLocalizationIt([String locale = 'it']) : super(locale); @override - String get title => 'Registrazione'; - - @override - String get logIn => 'Login'; + String get logIn => 'Accedi'; @override String get password => 'Password'; @@ -23,11 +20,11 @@ class SignUpLocalizationIt extends SignUpLocalization { String get changeNumber => 'Cambia numero'; @override - String get forgotPassword => 'Ha dimenticato la password?'; + String get forgotPassword => 'Password dimenticata?'; @override String get forgotPasswordEnterYourEmailAddress => - 'Inserisci il tuo indirizzo email e ti invieremo un link per reimpostare la password.'; + 'Inserisci il tuo indirizzo email, e ti invieremo un link per reimpostare la password.'; @override String get rememberYourPasswordQuestion => 'Ricordi la tua password?'; @@ -36,21 +33,21 @@ class SignUpLocalizationIt extends SignUpLocalization { String get backToLoginButton => 'Ho una password'; @override - String get continueButton => 'Continuare'; + String get continueButton => 'Continua'; @override String get passwordResetEmailSentSnackBar => - 'Email di reimpostazione password inviata'; + 'Email di reimpostazione della password inviata'; @override String get resetPasswordButton => 'Reimposta password'; @override - String get confirmCodeButton => 'Conferma il codice'; + String get confirmCodeButton => 'Conferma codice'; @override String get startUsingDoctorinaTodaySubtitle => - 'Inizia a usare Doctorina oggi stesso'; + 'Inizia a usare Doctorina oggi'; @override String get orDivider => 'O'; @@ -62,23 +59,23 @@ class SignUpLocalizationIt extends SignUpLocalization { String get showPasswordHint => 'Mostra password'; @override - String get obscurePasswordHint => 'Password oscura'; + String get obscurePasswordHint => 'Nascondi password'; @override - String get clearLoginTooltip => 'Cancella accesso'; + String get clearLoginTooltip => 'Cancella login'; @override - String get emailOrPhoneLabel => 'E-mail o telefono'; + String get emailOrPhoneLabel => 'Email o telefono'; @override - String get emailOrPhoneLabelExample => 'nome@gmail.com o +1234567890'; + String get emailOrPhoneLabelExample => 'name@gmail.com o +1234567890'; @override - String get emailOrPhoneHint => 'Inserisci l\'email o il numero di telefono'; + String get emailOrPhoneHint => 'Inserisci email o numero di telefono'; @override String get pleaseAcceptTheAgreementsToContinueSnackBar => - 'Per continuare, accetta gli accordi.'; + 'Accetta gli accordi per continuare.'; @override String get consentToTheProcessingOfPersonalData => @@ -88,44 +85,264 @@ class SignUpLocalizationIt extends SignUpLocalization { String get consentTheUseOf => 'l\'uso di'; @override - String get consentCookies => 'biscotti'; + String get consentCookies => 'cookie'; @override - String get consentAgreeToThe => ', accettare il'; + String get consentAgreeToThe => ', accetto'; @override - String get consentTermsAndConditions => 'Termini e Condizioni'; + String get consentTermsAndConditions => 'termini e condizioni'; @override - String get consentAndAcknowledgeThe => 'e riconoscere il'; + String get consentAndAcknowledgeThe => ', e riconosci'; @override - String get consentPrivacyPolicy => 'politica sulla riservatezza'; + String get consentPrivacyPolicy => 'informativa sulla privacy'; @override String get consentDot => '.'; @override String get acknowledgeMyConsultation => - 'Dichiaro di essere consapevole che la mia consulenza è rivolta a un IA e non a un professionista medico autorizzato.'; + 'Riconosco che la mia consultazione è con un\'IA e non con un medico abilitato.'; @override - String get logOutDialogTitle => 'Disconnetti'; + String get logOutDialogTitle => 'Esci'; @override - String get logOutDialogContent => 'Vuoi davvero uscire?'; + String get logOutDialogContent => 'Sei sicuro di voler effettuare il logout?'; @override - String get logOutDialogCancelButton => 'Cancellare'; + String get logOutDialogCancelButton => 'Annulla'; @override String get logOutDialogLogOutButton => 'Sì, esci'; @override - String get resendCodeButton => 'Invia nuovamente il codice'; + String get resendCodeButton => 'Reinvia codice'; @override String resendCodeTimer(String timer) { return 'Invia nuovamente il codice ($timer)'; } + + @override + String get consentFull => + 'Acconsento al trattamento dei dati personali, all\'uso dei cookie, accetto i termini e le condizioni e riconosco la

politica sulla privacy

.'; + + @override + String get emailLabel => 'Inserisci la tua email'; + + @override + String get signUpWithEmailTitle => 'Iscriviti con email'; + + @override + String get logInWithEmailTitle => 'Accedi con email'; + + @override + String get phoneLabel => 'Inserisci il tuo telefono'; + + @override + String get confirmPhoneTitle => 'Conferma il tuo telefono'; + + @override + String get signUpText => 'Iscriviti'; + + @override + String get emailHintShort => 'Inserisci l\'email'; + + @override + String get buttonTextSignUpWithGoogle => 'Iscriviti con Google'; + + @override + String get buttonTextSignUpWithApple => 'Iscriviti con Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Registrati con il telefono'; + + @override + String get buttonTextLoginWithGoogle => 'Accedi con Google'; + + @override + String get buttonTextLoginWithApple => 'Accedi con Apple'; + + @override + String get buttonTextLoginWithPhone => 'Accedi con il telefono'; + + @override + String get youAreLoggedOutMessage => 'Sei disconnesso'; + + @override + String get reloadButtonText => 'Ricarica'; + + @override + String get emailErrorText => 'Indirizzo email non valido'; + + @override + String get passwordErrorText => + 'La password deve contenere almeno 6 caratteri'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Numero di telefono non valido: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Attendi $seconds secondi prima di richiedere un nuovo codice.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Codice telefono non valido: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Termini e condizioni'; + + @override + String get continueAsGuestBtn => 'Continua come ospite'; + + @override + String get noAccountYetPromptText => + 'Non hai ancora un account?

Iscriviti

'; + + @override + String get alreadyHaveAccountPromptText => + 'Hai già un account?

Accedi

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Devi registrarti prima di poter continuare con Premium'; + + @override + String get loginSubtitle => + 'Ottieni contenuti personalizzati e rimani in contatto con la tua comunità!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Recupera la tua password'; + + @override + String get createAccountTitle => 'Crea un account'; + + @override + String get createAccountSubtitle => + 'Abbiamo bisogno di un account per salvare in modo sicuro i tuoi dati sanitari e continuare la tua valutazione.'; + + @override + String get repeatLabel => 'Ripeti'; + + @override + String get repeatPasswordHint => 'Ripeti la tua password'; + + @override + String get confirmButton => 'Conferma'; + + @override + String get noAccountPrompt => 'Non hai un account?'; + + @override + String get alreadyHaveAccountPrompt => 'Hai già un account?'; + + @override + String get createPasswordHeader => 'Crea una password'; + + @override + String get phoneHeader => 'Telefono'; + + @override + String get verifyPhoneHeader => 'Verifica telefono'; + + @override + String get phoneTitle => 'Qual è il tuo numero?'; + + @override + String get phoneSubtitle => + 'Ti invieremo un codice per verificare il tuo telefono'; + + @override + String get phoneNumberLabel => 'Numero'; + + @override + String get enterPhoneNumber => 'Inserisci il numero di telefono'; + + @override + String get phonePlaceholder => '+39 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Attendi $countdown secondi'; + } + + @override + String get enterCodeTitle => 'Inserisci il tuo codice'; + + @override + String codeSentToPhone(String phone) { + return 'Abbiamo inviato un codice a $phone'; + } + + @override + String get didntReceiveCode => 'Non hai ricevuto il codice?'; + + @override + String get clickToResend => 'Clicca per rinviare'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Puoi richiedere un nuovo codice tra $countdown secondi'; + } + + @override + String get closeTooltip => 'Chiudi'; + + @override + String get backTooltip => 'Indietro'; + + @override + String get termsOfServiceLink => 'Termini di servizio'; + + @override + String get privacyPolicyLink => 'Informativa sulla privacy'; + + @override + String get welcomeBackTitle => 'Bentornato'; + + @override + String get welcomeBackSubtitle => + 'Accedi se hai già un account Doctorina, oppure registrati per iniziare.'; + + @override + String get passwordRuleLength => 'Da 8 a 128 caratteri'; + + @override + String get passwordRuleNumber => 'Almeno 1 numero'; + + @override + String get passwordRuleUppercase => 'Almeno 1 lettera maiuscola'; + + @override + String get passwordRuleMatch => 'Le password corrispondono'; + + @override + String get phoneOtpVerificationFailed => + 'Verifica OTP non riuscita. Riprova.'; + + @override + String get referralCodeLabel => 'Codice di riferimento'; + + @override + String get enterReferralCodeHint => 'Inserisci il tuo codice di referral'; + + @override + String get referralCodeExampleHint => 'E.G. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Hai un codice di riferimento?'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ja.dart b/example/lib/src/generated/sign_up/sign_up_localization_ja.dart new file mode 100644 index 0000000..86b2aa8 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_ja.dart @@ -0,0 +1,337 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Japanese (`ja`). +class SignUpLocalizationJa extends SignUpLocalization { + SignUpLocalizationJa([String locale = 'ja']) : super(locale); + + @override + String get logIn => 'ログイン'; + + @override + String get password => 'パスワード'; + + @override + String get changeNumber => '番号を変更'; + + @override + String get forgotPassword => 'パスワードをお忘れですか?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'メールアドレスを入力してください、パスワードリセット用のリンクを送ります'; + + @override + String get rememberYourPasswordQuestion => 'パスワードを覚えていますか?'; + + @override + String get backToLoginButton => 'パスワードを持っています'; + + @override + String get continueButton => '続ける'; + + @override + String get passwordResetEmailSentSnackBar => 'パスワードリセット用のメールを送信しました'; + + @override + String get resetPasswordButton => 'パスワードをリセット'; + + @override + String get confirmCodeButton => 'コードを確認'; + + @override + String get startUsingDoctorinaTodaySubtitle => '今日からDoctorinaを使い始めよう'; + + @override + String get orDivider => 'または'; + + @override + String get enterPasswordForEmailHint => 'パスワードを入力してください'; + + @override + String get showPasswordHint => 'パスワードを表示'; + + @override + String get obscurePasswordHint => 'パスワードを隠す'; + + @override + String get clearLoginTooltip => 'ログインをクリア'; + + @override + String get emailOrPhoneLabel => 'メールまたは電話'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com または +1234567890'; + + @override + String get emailOrPhoneHint => 'メールまたは電話番号を入力'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => '続けるには規約に同意してください'; + + @override + String get consentToTheProcessingOfPersonalData => '私は個人情報の処理に同意します,'; + + @override + String get consentTheUseOf => '利用'; + + @override + String get consentCookies => 'クッキー'; + + @override + String get consentAgreeToThe => ', 同意する'; + + @override + String get consentTermsAndConditions => '利用規約'; + + @override + String get consentAndAcknowledgeThe => ', および承認する'; + + @override + String get consentPrivacyPolicy => 'プライバシーポリシー'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + '私は、自分の相談がAIとのものであり、免許を持つ医療専門家ではないことを認めます'; + + @override + String get logOutDialogTitle => 'ログアウト'; + + @override + String get logOutDialogContent => 'ログアウトしてもよろしいですか?'; + + @override + String get logOutDialogCancelButton => 'キャンセル'; + + @override + String get logOutDialogLogOutButton => 'はい、ログアウト'; + + @override + String get resendCodeButton => 'コードを再送'; + + @override + String resendCodeTimer(String timer) { + return 'コードを再送信($timer)'; + } + + @override + String get consentFull => + '私は個人データの処理、クッキーの使用、利用規約に同意し、

プライバシーポリシー

を認識します。'; + + @override + String get emailLabel => 'メールアドレスを入力'; + + @override + String get signUpWithEmailTitle => 'メールで登録'; + + @override + String get logInWithEmailTitle => 'メールでログイン'; + + @override + String get phoneLabel => '電話番号を入力してください'; + + @override + String get confirmPhoneTitle => '電話を確認する'; + + @override + String get signUpText => '登録'; + + @override + String get emailHintShort => 'メール入力'; + + @override + String get buttonTextSignUpWithGoogle => 'Googleで登録する'; + + @override + String get buttonTextSignUpWithApple => 'Appleで登録する'; + + @override + String get buttonTextSignUpWithPhone => '電話で登録する'; + + @override + String get buttonTextLoginWithGoogle => 'Googleでログイン'; + + @override + String get buttonTextLoginWithApple => 'Appleでログイン'; + + @override + String get buttonTextLoginWithPhone => '電話でログイン'; + + @override + String get youAreLoggedOutMessage => 'ログアウトしました'; + + @override + String get reloadButtonText => '再読み込み'; + + @override + String get emailErrorText => '無効なメールアドレス'; + + @override + String get passwordErrorText => 'パスワードは6文字以上である必要があります'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return '無効な電話番号: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return '新しいコードをリクエストする前に$seconds秒お待ちください。'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return '無効な電話コード: $phoneCode'; + } + + @override + String get termsAndConditionsText => '利用規約'; + + @override + String get continueAsGuestBtn => 'ゲストとして続ける'; + + @override + String get noAccountYetPromptText => 'まだアカウントをお持ちでないですか?

サインアップ

'; + + @override + String get alreadyHaveAccountPromptText => 'すでにアカウントをお持ちですか?

ログイン

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'プレミアムを続行する前にサインアップする必要があります'; + + @override + String get loginSubtitle => 'パーソナライズされたコンテンツを取得し、コミュニティとつながりましょう!'; + + @override + String get emailFieldLabel => 'Eメール'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'パスワードを回復する'; + + @override + String get createAccountTitle => 'アカウントを作成'; + + @override + String get createAccountSubtitle => '健康データを安全に保存し、評価を続けるためにアカウントが必要です。'; + + @override + String get repeatLabel => '繰り返す'; + + @override + String get repeatPasswordHint => 'パスワードを再入力してください'; + + @override + String get confirmButton => '確認'; + + @override + String get noAccountPrompt => 'アカウントをお持ちでないですか?'; + + @override + String get alreadyHaveAccountPrompt => 'すでにアカウントをお持ちですか?'; + + @override + String get createPasswordHeader => 'パスワードを作成する'; + + @override + String get phoneHeader => '電話'; + + @override + String get verifyPhoneHeader => '電話を確認する'; + + @override + String get phoneTitle => 'あなたの番号は何ですか?'; + + @override + String get phoneSubtitle => 'あなたの電話を確認するためにコードをテキストで送ります'; + + @override + String get phoneNumberLabel => '番号'; + + @override + String get enterPhoneNumber => '電話番号を入力してください'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return '$countdown秒待ってください'; + } + + @override + String get enterCodeTitle => 'コードを入力してください'; + + @override + String codeSentToPhone(String phone) { + return '$phoneにコードを送りました'; + } + + @override + String get didntReceiveCode => 'コードが届きませんでしたか?'; + + @override + String get clickToResend => '再送信するにはクリックしてください'; + + @override + String requestNewCodeCountdown(int countdown) { + return '$countdown秒後に新しいコードをリクエストできます'; + } + + @override + String get closeTooltip => '閉じる'; + + @override + String get backTooltip => '戻る'; + + @override + String get termsOfServiceLink => '利用規約'; + + @override + String get privacyPolicyLink => 'プライバシーポリシー'; + + @override + String get welcomeBackTitle => 'お帰りなさい'; + + @override + String get welcomeBackSubtitle => + 'すでにDoctorinaアカウントをお持ちの場合はログインし、始めるにはサインアップしてください。'; + + @override + String get passwordRuleLength => '8文字から128文字まで'; + + @override + String get passwordRuleNumber => '数字を1つ以上含める必要があります'; + + @override + String get passwordRuleUppercase => '少なくとも1つの大文字'; + + @override + String get passwordRuleMatch => 'パスワードが一致します'; + + @override + String get phoneOtpVerificationFailed => 'OTP認証に失敗しました。もう一度お試しください。'; + + @override + String get referralCodeLabel => '紹介コード'; + + @override + String get enterReferralCodeHint => '紹介コードを入力してください'; + + @override + String get referralCodeExampleHint => '例: CREATOR2026'; + + @override + String get haveReferralCodeQuestion => '紹介コードはありますか?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_kk.dart b/example/lib/src/generated/sign_up/sign_up_localization_kk.dart new file mode 100644 index 0000000..08f413b --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_kk.dart @@ -0,0 +1,348 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kazakh (`kk`). +class SignUpLocalizationKk extends SignUpLocalization { + SignUpLocalizationKk([String locale = 'kk']) : super(locale); + + @override + String get logIn => 'Кіру'; + + @override + String get password => 'Құпия сөз'; + + @override + String get changeNumber => 'Нөмірді өзгерту'; + + @override + String get forgotPassword => 'Пароліңізді ұмыттыңыз ба?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Электрондық поштаңызды енгізіңіз, біз сізге пароліңізді қалпына келтіру үшін сілтеме жібереміз.'; + + @override + String get rememberYourPasswordQuestion => + 'Пароліңізді есіңізде сақтадыңыз ба?'; + + @override + String get backToLoginButton => 'Менде пароль бар'; + + @override + String get continueButton => 'Жалғастыру'; + + @override + String get passwordResetEmailSentSnackBar => + 'Парольды қалпына келтіру электрондық поштасы жіберілді'; + + @override + String get resetPasswordButton => 'Парольды қалпына келтіру'; + + @override + String get confirmCodeButton => 'Кодты растау'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Бүгін Doctorina-ны пайдалана бастаңыз'; + + @override + String get orDivider => 'НЕМЕСЕ'; + + @override + String get enterPasswordForEmailHint => 'Пароліңізді енгізіңіз'; + + @override + String get showPasswordHint => 'Парольды көрсету'; + + @override + String get obscurePasswordHint => 'Парольды жасыру'; + + @override + String get clearLoginTooltip => 'Кіруді тазарту'; + + @override + String get emailOrPhoneLabel => 'Электрондық пошта немесе телефон'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com немесе +1234567890'; + + @override + String get emailOrPhoneHint => + 'Электрондық пошта немесе телефон нөмірін енгізіңіз'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Келісімдерді қабылдаңыз, жалғастыру үшін.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Мен жеке деректерді өңдеуге келісемін,'; + + @override + String get consentTheUseOf => 'пайдалану'; + + @override + String get consentCookies => 'печенье'; + + @override + String get consentAgreeToThe => ', келісем'; + + @override + String get consentTermsAndConditions => 'ережелер мен шарттар'; + + @override + String get consentAndAcknowledgeThe => ', және мойындаймын'; + + @override + String get consentPrivacyPolicy => 'жеке деректерді қорғау саясаты'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Менің консультациямның жасанды интеллектпен екенін және лицензияланған медициналық маманмен емес екенін растаймын.'; + + @override + String get logOutDialogTitle => 'Шығу'; + + @override + String get logOutDialogContent => 'Шығуға сенімдісіз бе?'; + + @override + String get logOutDialogCancelButton => 'Бас тарту'; + + @override + String get logOutDialogLogOutButton => 'Иә, шығу'; + + @override + String get resendCodeButton => 'Кодты қайта жіберу'; + + @override + String resendCodeTimer(String timer) { + return 'Кодты қайта жіберу ($timer)'; + } + + @override + String get consentFull => + 'Мен жеке деректерімді өңдеуге, cookies пайдалануға, шарттар мен талаптарға келісемін және

жеке деректерді қорғау саясатын

қабылдаймын.'; + + @override + String get emailLabel => 'Электрондық поштаны енгізіңіз'; + + @override + String get signUpWithEmailTitle => 'Электрондық пошта арқылы тіркелу'; + + @override + String get logInWithEmailTitle => 'Электрондық пошта арқылы кіру'; + + @override + String get phoneLabel => 'Телефоныңызды енгізіңіз'; + + @override + String get confirmPhoneTitle => 'Телефоныңызды растаңыз'; + + @override + String get signUpText => 'Тіркелу'; + + @override + String get emailHintShort => 'Электрондық поштаны енгізіңіз'; + + @override + String get buttonTextSignUpWithGoogle => 'Google арқылы тіркелу'; + + @override + String get buttonTextSignUpWithApple => 'Apple арқылы тіркеліңіз'; + + @override + String get buttonTextSignUpWithPhone => 'Телефон арқылы тіркелу'; + + @override + String get buttonTextLoginWithGoogle => 'Google арқылы кіру'; + + @override + String get buttonTextLoginWithApple => 'Apple арқылы кіру'; + + @override + String get buttonTextLoginWithPhone => 'Телефон арқылы кіру'; + + @override + String get youAreLoggedOutMessage => 'Сіз жүйеден шықтыңыз'; + + @override + String get reloadButtonText => 'Қайта жүктеу'; + + @override + String get emailErrorText => 'Жарамсыз электрондық пошта мекенжайы'; + + @override + String get passwordErrorText => 'Құпиясөз кемінде 6 таңбадан тұруы керек'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Жарамсыз телефон нөмірі: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Жаңа кодты сұрамас бұрын $seconds секунд күтіңіз.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Жарамсыз телефон коды: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Пайдалану шарттары'; + + @override + String get continueAsGuestBtn => 'Қонақ ретінде жалғастырыңыз'; + + @override + String get noAccountYetPromptText => 'Әлі аккаунт жоқ па?

Тіркелу

'; + + @override + String get alreadyHaveAccountPromptText => + 'Аккаунтыңыз бұрыннан бар ма?

Кіру

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Premium-мен жалғастыру үшін тіркелуіңіз керек'; + + @override + String get loginSubtitle => + 'Жеке контент алыңыз және қауымдастығыңызбен байланыста болыңыз!'; + + @override + String get emailFieldLabel => 'Электрондық пошта'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Пароліңізді қалпына келтіріңіз'; + + @override + String get createAccountTitle => 'Есептік жазба жасау'; + + @override + String get createAccountSubtitle => + 'Денсаулық деректеріңізді қауіпсіз сақтау және бағалауыңызды жалғастыру үшін аккаунт қажет.'; + + @override + String get repeatLabel => 'Қайталау'; + + @override + String get repeatPasswordHint => 'Парольді қайталаңыз'; + + @override + String get confirmButton => 'Растау'; + + @override + String get noAccountPrompt => 'Есептік жазбаңыз жоқ па?'; + + @override + String get alreadyHaveAccountPrompt => 'Есептік жазбаңыз бар ма?'; + + @override + String get createPasswordHeader => 'Пароль жасаңыз'; + + @override + String get phoneHeader => 'Телефон'; + + @override + String get verifyPhoneHeader => 'Телефонды растау'; + + @override + String get phoneTitle => 'Сіздің нөміріңіз қандай?'; + + @override + String get phoneSubtitle => + 'Біз телефон нөміріңізді растау үшін код жібереміз'; + + @override + String get phoneNumberLabel => 'Нөмір'; + + @override + String get enterPhoneNumber => 'Телефон нөмірін енгізіңіз'; + + @override + String get phonePlaceholder => '+7 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Келесі OTP жіберу үшін $countdown секунд күтіңіз'; + } + + @override + String get enterCodeTitle => 'Кодты енгізіңіз'; + + @override + String codeSentToPhone(String phone) { + return 'Біз кодты $phone нөміріне жібердік'; + } + + @override + String get didntReceiveCode => 'Кодты алмадыңыз ба?'; + + @override + String get clickToResend => 'Қайта жіберу үшін басыңыз'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Сіз $countdown секундтан кейін жаңа код сұрай аласыз'; + } + + @override + String get closeTooltip => 'Жабу'; + + @override + String get backTooltip => 'Кері'; + + @override + String get termsOfServiceLink => 'Қызмет көрсету шарттары'; + + @override + String get privacyPolicyLink => 'Жекелік саясат'; + + @override + String get welcomeBackTitle => 'Қайта оралуыңызбен'; + + @override + String get welcomeBackSubtitle => + 'Егер сізде Doctorina аккаунты болса, кіріңіз немесе бастау үшін тіркеліңіз.'; + + @override + String get passwordRuleLength => '8-ден 128-ге дейін символ'; + + @override + String get passwordRuleNumber => 'Кемінде 1 сан'; + + @override + String get passwordRuleUppercase => 'Кемінде 1 бас әріп'; + + @override + String get passwordRuleMatch => 'Парольдар сәйкес келеді'; + + @override + String get phoneOtpVerificationFailed => + 'OTP растау сәтсіз аяқталды. Қайталап көріңіз.'; + + @override + String get referralCodeLabel => 'Сілтеме коды'; + + @override + String get enterReferralCodeHint => 'Сіздің рефералдық кодыңызды енгізіңіз'; + + @override + String get referralCodeExampleHint => 'Мысалы, CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Сізде реферал коды бар ма?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_km.dart b/example/lib/src/generated/sign_up/sign_up_localization_km.dart new file mode 100644 index 0000000..23ecc94 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_km.dart @@ -0,0 +1,345 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Khmer Central Khmer (`km`). +class SignUpLocalizationKm extends SignUpLocalization { + SignUpLocalizationKm([String locale = 'km']) : super(locale); + + @override + String get logIn => 'ចូល'; + + @override + String get password => 'ពាក្យសម្ងាត់'; + + @override + String get changeNumber => 'ប្តូរលេខ'; + + @override + String get forgotPassword => 'ភ្លេចពាក្យសម្ងាត់?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'បញ្ចូលអាសយដ្ឋានអ៊ីមែលរបស់អ្នក ហើយយើងនឹងផ្ញើអ្នកតំណភ្ជាប់ដើម្បីកំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញ។'; + + @override + String get rememberYourPasswordQuestion => 'ចងចាំពាក្យសម្ងាត់របស់អ្នកទេ?'; + + @override + String get backToLoginButton => 'ខ្ញុំមានពាក្យសម្ងាត់'; + + @override + String get continueButton => 'បន្ត'; + + @override + String get passwordResetEmailSentSnackBar => + 'អ៊ីមែលកំណត់ពាក្យសម្ងាត់ត្រូវបានផ្ញើ'; + + @override + String get resetPasswordButton => 'កំណត់ពាក្យសម្ងាត់ឡើងវិញ'; + + @override + String get confirmCodeButton => 'បញ្ជាក់កូដ'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'ចាប់ផ្តើមប្រើ Doctorina ថ្ងៃនេះ'; + + @override + String get orDivider => 'ឬ'; + + @override + String get enterPasswordForEmailHint => 'បញ្ចូលពាក្យសម្ងាត់របស់អ្នក'; + + @override + String get showPasswordHint => 'បង្ហាញពាក្យសម្ងាត់'; + + @override + String get obscurePasswordHint => 'Obscure password'; + + @override + String get clearLoginTooltip => 'សម្អាតការចូល'; + + @override + String get emailOrPhoneLabel => 'អ៊ីមែល ឬ ទូរស័ព្ទ'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com ឬ +1234567890'; + + @override + String get emailOrPhoneHint => 'បញ្ចូលអ៊ីមែលឬលេខទូរស័ព្ទ'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'សូមទទួលយកកិច្ចព្រមព្រៀងដើម្បីបន្ត'; + + @override + String get consentToTheProcessingOfPersonalData => + 'ខ្ញុំយល់ព្រមចំពោះការប្រតិបត្តិការទិន្នន័យផ្ទាល់ខ្លួន,'; + + @override + String get consentTheUseOf => 'ការប្រើប្រាស់'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', យល់ព្រម'; + + @override + String get consentTermsAndConditions => 'កិច្ចព្រមព្រៀង និងលក្ខខណ្ឌ'; + + @override + String get consentAndAcknowledgeThe => ', និងទទួលស្គាល់ថា'; + + @override + String get consentPrivacyPolicy => 'គោលការណ៍ឯកជនភាព'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'ខ្ញុំទទួលស្គាល់ថាការពិភាក្សារបស់ខ្ញុំជាមួយAI ហើយមិនមែនជាជំនាញវេជ្ជសាស្ត្រដែលមានអាជ្ញាប័ណ្ណទេ'; + + @override + String get logOutDialogTitle => 'ចេញ'; + + @override + String get logOutDialogContent => 'តើអ្នកប្រាកដថាចង់ចេញពីប្រព័ន្ធទេ?'; + + @override + String get logOutDialogCancelButton => 'បោះបង់'; + + @override + String get logOutDialogLogOutButton => 'បាទ ចេញ'; + + @override + String get resendCodeButton => 'ផ្ញើកូដម្តងទៀត'; + + @override + String resendCodeTimer(String timer) { + return 'ផ្ញើកូដម្តងទៀត ($timer)'; + } + + @override + String get consentFull => + 'ខ្ញុំយល់ព្រមចំពោះការប្រតិបត្តិការទិន្នន័យផ្ទាល់ខ្លួន ការប្រើប្រាស់ cookies យល់ព្រមទៅនឹង ល័ក្ខខ័ណ្ឌ និងលក្ខខណ្ឌ និងទទួលស្គាល់

គោលការណ៍ឯកជនភាព

.'; + + @override + String get emailLabel => 'បញ្ចូលអ៊ីមែលរបស់អ្នក'; + + @override + String get signUpWithEmailTitle => 'ចុះឈ្មោះជាមួយអ៊ីមែល'; + + @override + String get logInWithEmailTitle => 'ចូលដោយអ៊ីមែល'; + + @override + String get phoneLabel => 'បញ្ចូលលេខទូរស័ព្ទរបស់អ្នក'; + + @override + String get confirmPhoneTitle => 'បញ្ជាក់ទូរស័ព្ទរបស់អ្នក'; + + @override + String get signUpText => 'ចុះឈ្មោះ'; + + @override + String get emailHintShort => 'បញ្ចូលអ៊ីមែល'; + + @override + String get buttonTextSignUpWithGoogle => 'ចុះឈ្មោះជាមួយ Google'; + + @override + String get buttonTextSignUpWithApple => 'ចុះឈ្មោះជាមួយ Apple'; + + @override + String get buttonTextSignUpWithPhone => 'ចុះឈ្មោះដោយប្រើទូរស័ព្ទ'; + + @override + String get buttonTextLoginWithGoogle => 'ចូលដោយ Google'; + + @override + String get buttonTextLoginWithApple => 'ចូលដោយ Apple'; + + @override + String get buttonTextLoginWithPhone => 'ចូលដោយទូរស័ព្ទ'; + + @override + String get youAreLoggedOutMessage => 'អ្នកចាកចេញរួចរាល់'; + + @override + String get reloadButtonText => 'បញ្ចូលឡើងវិញ'; + + @override + String get emailErrorText => 'អាសយដ្ឋានអ៊ីមែលមិនត្រឹមត្រូវ'; + + @override + String get passwordErrorText => 'ពាក្យសម្ងាត់ត្រូវមានយ៉ាងហោច 6 តួអក្សរ'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'លេខទូរស័ព្ទមិនត្រឹមត្រូវ: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'សូម​រង់ចាំ $seconds វិនាទី មុនពេលស្នើសុំ​កូដ​ថ្មី​មួយ។'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'លេខកូដទូរស័ព្ទមិនត្រឹមត្រូវ: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'លក្ខខណ្ឌ'; + + @override + String get continueAsGuestBtn => 'បន្តជា​ភ្ញៀវ'; + + @override + String get noAccountYetPromptText => 'មិនមានគណនីមួយទេ?

ចុះឈ្មោះ

'; + + @override + String get alreadyHaveAccountPromptText => 'មានគណនីរួចហើយ?

ចូល

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'អ្នកត្រូវចុះឈ្មោះមុនពេលអ្នកអាចបន្តជាមួយ Premium'; + + @override + String get loginSubtitle => + 'ទទួលបានមាតិកាដែលមានលក្ខណៈផ្ទាល់ខ្លួន និងរក្សាទំនាក់ទំនងជាមួយសហគមន៍របស់អ្នក!'; + + @override + String get emailFieldLabel => 'អ៊ីមែល'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'ស្ដារពាក្យសម្ងាត់របស់អ្នក'; + + @override + String get createAccountTitle => 'បង្កើតគណនី'; + + @override + String get createAccountSubtitle => + 'យើងត្រូវការគណនីដើម្បីរក្សាទុកទិន្នន័យសុខភាពរបស់អ្នកយ៉ាងសុវត្ថិភាព និងបន្តការប៉ាន់ប្រមាណរបស់អ្នក។'; + + @override + String get repeatLabel => 'កំណត់ឡើងវិញ'; + + @override + String get repeatPasswordHint => 'កំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញ'; + + @override + String get confirmButton => 'បញ្ជាក់'; + + @override + String get noAccountPrompt => 'មិនមានគណនីទេ?'; + + @override + String get alreadyHaveAccountPrompt => 'មានគណនីរួចហើយឬ?'; + + @override + String get createPasswordHeader => 'បង្កើតពាក្យសម្ងាត់'; + + @override + String get phoneHeader => 'ទូរស័ព្ទ'; + + @override + String get verifyPhoneHeader => 'បញ្ជាក់លេខទូរស័ព្ទ'; + + @override + String get phoneTitle => 'លេខរបស់អ្នកគឺអ្វី?'; + + @override + String get phoneSubtitle => + 'យើងនឹងផ្ញើកូដមួយដើម្បីបញ្ជាក់លេខទូរស័ព្ទរបស់អ្នក'; + + @override + String get phoneNumberLabel => 'លេខ'; + + @override + String get enterPhoneNumber => 'បញ្ចូលលេខទូរស័ព្ទ'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'រង់ចាំ $countdown វិនាទី'; + } + + @override + String get enterCodeTitle => 'បញ្ចូលកូដរបស់អ្នក'; + + @override + String codeSentToPhone(String phone) { + return 'យើងបានផ្ញើកូដទៅកាន់ $phone'; + } + + @override + String get didntReceiveCode => 'កូដមិនទទួលបានទេ?'; + + @override + String get clickToResend => 'ចុចដើម្បីផ្ញើម្តងទៀត'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'អ្នកអាចស្នើសុំកូដថ្មីក្នុង $countdown វិនាទី'; + } + + @override + String get closeTooltip => 'បិទ'; + + @override + String get backTooltip => 'ត្រឡប់'; + + @override + String get termsOfServiceLink => 'ល័ក្ខខ័ណ្ឌសេវាកម្ម'; + + @override + String get privacyPolicyLink => 'គោលការណ៍ឯកជនភាព'; + + @override + String get welcomeBackTitle => 'សូមស្វាគមន៍ត្រឡប់មកវិញ'; + + @override + String get welcomeBackSubtitle => + 'ចូលប្រើប្រាស់ប្រសិនបើអ្នកមានគណនី Doctorina ហើយ ឬចុះឈ្មោះដើម្បីចាប់ផ្តើម។'; + + @override + String get passwordRuleLength => 'ពី ៨ ដល់ ១២៨ អក្សរ'; + + @override + String get passwordRuleNumber => 'យ៉ាងហោចណាស់ ១ លេខ'; + + @override + String get passwordRuleUppercase => 'យ៉ាងហោចណាស់ ១ អក្សរ​ធំ'; + + @override + String get passwordRuleMatch => 'ពាក្យសម្ងាត់ត្រូវគ្នា'; + + @override + String get phoneOtpVerificationFailed => + 'ការផ្ទៀងផ្ទាត់ OTP បានបរាជ័យ។ សូមព្យាយាមម្តងទៀត។'; + + @override + String get referralCodeLabel => 'កូដយោង'; + + @override + String get enterReferralCodeHint => 'បញ្ចូលកូដយោងរបស់អ្នក'; + + @override + String get referralCodeExampleHint => 'ឧទាហរណ៍កូដយោងនៅក្នុងវាលបញ្ចូល'; + + @override + String get haveReferralCodeQuestion => 'មានកូដយោងមែនទេ?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_kn.dart b/example/lib/src/generated/sign_up/sign_up_localization_kn.dart new file mode 100644 index 0000000..0f2d6c7 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_kn.dart @@ -0,0 +1,347 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Kannada (`kn`). +class SignUpLocalizationKn extends SignUpLocalization { + SignUpLocalizationKn([String locale = 'kn']) : super(locale); + + @override + String get logIn => 'ಲಾಗ್ ಇನ್'; + + @override + String get password => 'ಪಾಸ್ವರ್ಡ್'; + + @override + String get changeNumber => 'ಸಂಖ್ಯೆ ಬದಲಾಯಿಸಿ'; + + @override + String get forgotPassword => 'ನೀವು ಪಾಸ್ವರ್ಡ್ ಮರೆತಿದ್ದೀರಾ?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'ನಿಮ್ಮ ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ನಮೂದಿಸಿ, ಮತ್ತು ನಾವು ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಪುನಃ ಸೆಟಿಂಗ್‌ಗಾಗಿ ನಿಮಗೆ ಲಿಂಕ್ ಕಳುಹಿಸುತ್ತೇವೆ.'; + + @override + String get rememberYourPasswordQuestion => 'ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ನೆನೆಸುತ್ತೀರಾ?'; + + @override + String get backToLoginButton => 'ನನಗೆ ಪಾಸ್ವರ್ಡ್ ಇದೆ'; + + @override + String get continueButton => 'ಮುಂದುವರಿಯಿರಿ'; + + @override + String get passwordResetEmailSentSnackBar => + 'ಪಾಸ್ವರ್ಡ್ ಪುನಃ ಸೆಟಿಂಗ್ ಇಮೇಲ್ ಕಳುಹಿಸಲಾಗಿದೆ'; + + @override + String get resetPasswordButton => 'ಪಾಸ್ವರ್ಡ್ ಪುನಃ ಸೆಟ್ ಮಾಡಿ'; + + @override + String get confirmCodeButton => 'ಕೋಡ್ ದೃಢೀಕರಿಸಿ'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'ಇಂದು ಡಾಕ್ಟರಿನಾ ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿ'; + + @override + String get orDivider => 'ಅಥವಾ'; + + @override + String get enterPasswordForEmailHint => 'ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ನಮೂದಿಸಿ'; + + @override + String get showPasswordHint => 'ಪಾಸ್ವರ್ಡ್ ತೋರಿಸಿ'; + + @override + String get obscurePasswordHint => 'ಅಸ್ಪಷ್ಟ ಪಾಸ್ವರ್ಡ್'; + + @override + String get clearLoginTooltip => 'ಸ್ಪಷ್ಟ ಲಾಗಿನ್'; + + @override + String get emailOrPhoneLabel => 'ಇಮೇಲ್ ಅಥವಾ ಫೋನ್'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com ಅಥವಾ +1234567890'; + + @override + String get emailOrPhoneHint => 'ಇಮೇಲ್ ಅಥವಾ ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'ದಯವಿಟ್ಟು ಮುಂದುವರಿಯಲು ಒಪ್ಪಂದಗಳನ್ನು ಒಪ್ಪಿಕೊಳ್ಳಿ.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'ನಾನು ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯ ಪ್ರಕ್ರಿಯೆಗೆ ಒಪ್ಪುತ್ತೇನೆ,'; + + @override + String get consentTheUseOf => 'ಬಳಕೆ ಮಾಡುವುದು'; + + @override + String get consentCookies => 'ಕೂಕೀಸ್'; + + @override + String get consentAgreeToThe => ', ಒಪ್ಪುತ್ತೇನೆ'; + + @override + String get consentTermsAndConditions => 'ನಿಯಮಗಳು ಮತ್ತು ಶರತ್ತುಗಳು'; + + @override + String get consentAndAcknowledgeThe => ', ಮತ್ತು ಒಪ್ಪಿಕೊಳ್ಳಿ'; + + @override + String get consentPrivacyPolicy => 'ಗೋಪ್ಯತಾ ನೀತಿ'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'ನಾನು ನನ್ನ ಸಲಹೆ ಏಕೈಕ ವೈದ್ಯಕೀಯ ವೃತ್ತಿಪರನಲ್ಲ, ಏಕೈಕ AI ಯೊಂದಿಗೆ ಇದೆ ಎಂದು ಒಪ್ಪುತ್ತೇನೆ.'; + + @override + String get logOutDialogTitle => 'ಲಾಗ್ ಔಟ್'; + + @override + String get logOutDialogContent => 'ನೀವು ಲಾಗ್ ಔಟ್ ಆಗಲು ಖಚಿತವಾಗಿದ್ದೀರಾ?'; + + @override + String get logOutDialogCancelButton => 'ರದ್ದು ಮಾಡಿ'; + + @override + String get logOutDialogLogOutButton => 'ಹೌದು, ಲಾಗ್ ಔಟ್'; + + @override + String get resendCodeButton => 'ಕೋಡ್ ಪುನಃ ಕಳುಹಿಸಿ'; + + @override + String resendCodeTimer(String timer) { + return 'ಕೋಡ್ ಪುನಃ ಕಳುಹಿಸಿ ($timer)'; + } + + @override + String get consentFull => + 'ನಾನು ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯ ಪ್ರಕ್ರಿಯೆಗೆ ಒಪ್ಪಿಗೆ ನೀಡುತ್ತೇನೆ, ಕೂಕೀಸ್ ಬಳಸಲು, ನಿಯಮಗಳು ಮತ್ತು ಷರತ್ತುಗಳು ಗೆ ಒಪ್ಪುತ್ತೇನೆ ಮತ್ತು

ಗೋಪ್ಯತಾ ನೀತಿ

ಅನ್ನು ಒಪ್ಪುತ್ತೇನೆ'; + + @override + String get emailLabel => 'ನಿಮ್ಮ ಇಮೇಲ್ ನಮೂದಿಸಿ'; + + @override + String get signUpWithEmailTitle => 'ಇಮೇಲ್ ಮೂಲಕ ಸೈನ್ ಅಪ್ ಮಾಡಿ'; + + @override + String get logInWithEmailTitle => 'ಇಮೇಲ್ ಮೂಲಕ ಲಾಗಿನ್ ಮಾಡಿ'; + + @override + String get phoneLabel => 'ನಿಮ್ಮ ಫೋನ್ ನಮೂದಿಸಿ'; + + @override + String get confirmPhoneTitle => 'ನಿಮ್ಮ ಫೋನ್ ದೃಢೀಕರಿಸಿ'; + + @override + String get signUpText => 'ಸೈನ್ ಅಪ್ ಮಾಡಿ'; + + @override + String get emailHintShort => 'ಇಮೇಲ್ ನಮೂದಿಸಿ'; + + @override + String get buttonTextSignUpWithGoogle => 'Google ಜೊತೆಗೆ ಸೈನ್ ಅಪ್ ಮಾಡಿ'; + + @override + String get buttonTextSignUpWithApple => 'Apple ಜೊತೆಗೆ ಸೈನ್ ಅಪ್ ಮಾಡಿ'; + + @override + String get buttonTextSignUpWithPhone => 'ಫೋನಿನಿಂದ ಸೈನ್ ಅಪ್ ಮಾಡಿ'; + + @override + String get buttonTextLoginWithGoogle => 'Google ಮೂಲಕ ಲಾಗಿನ್ ಮಾಡಿ'; + + @override + String get buttonTextLoginWithApple => 'Apple ನೊಂದಿಗೆ ಲಾಗಿನ್ ಮಾಡಿ'; + + @override + String get buttonTextLoginWithPhone => 'ಫೋನ್ ಮೂಲಕ ಲಾಗಿನ್ ಮಾಡಿ'; + + @override + String get youAreLoggedOutMessage => 'ನೀವು ಲಾಗ್ ಔಟ್ ಆಗಿದ್ದೀರಿ'; + + @override + String get reloadButtonText => 'ಮರು ಲೋಡ್ ಮಾಡಿ'; + + @override + String get emailErrorText => 'ಅಮಾನ್ಯ ಇಮೇಲ್ ವಿಳಾಸ'; + + @override + String get passwordErrorText => 'ಪಾಸ್ವರ್ಡ್ ಕನಿಷ್ಠ 6 ಅಕ್ಷರಗಳು ಇರಬೇಕು'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'ಅಮಾನ್ಯ ಫೋನ್ ನಂಬರ್: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'ದಯವಿಟ್ಟು ಹೊಸ ಕೋಡ್ ಅನ್ನು ವಿನಂತಿಸುವ ಮೊದಲು $seconds ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯಿರಿ.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'ಅಮಾನ್ಯ ಫೋನ್ ಕೋಡ್: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'ನಿಯಮಗಳು ಮತ್ತು ಷರತ್ತುಗಳು'; + + @override + String get continueAsGuestBtn => 'ಅತಿಥಿಯಾಗಿ ಮುಂದುವರಿಸಿ'; + + @override + String get noAccountYetPromptText => + 'ಇನ್ನೂ ಖಾತೆ ಇಲ್ಲವೇ?

ಸೈನ್ ಅಪ್ ಮಾಡಿ

'; + + @override + String get alreadyHaveAccountPromptText => + 'ಈಗಾಗಲೇ ಖಾತೆ ಇದೆಯೇ?

ಲಾಗಿನ್ ಮಾಡಿ

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'ನೀವು ಪ್ರೀಮಿಯಂ ಮುಂದುವರಿಯಲು ಸೈನ್ ಅಪ್ ಮಾಡಬೇಕು'; + + @override + String get loginSubtitle => + 'ವೈಯಕ್ತಿಕೃತ ವಿಷಯವನ್ನು ಪಡೆಯಿರಿ ಮತ್ತು ನಿಮ್ಮ ಸಮುದಾಯದೊಂದಿಗೆ ಸಂಪರ್ಕದಲ್ಲಿರಿ!'; + + @override + String get emailFieldLabel => 'ಇಮೇಲ್'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಪುನಃ ಪಡೆಯಿರಿ'; + + @override + String get createAccountTitle => 'ಖಾತೆ ರಚಿಸಿ'; + + @override + String get createAccountSubtitle => + 'ನಿಮ್ಮ ಆರೋಗ್ಯದ ಮಾಹಿತಿಯನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಉಳಿಸಲು ಮತ್ತು ನಿಮ್ಮ ಮೌಲ್ಯಮಾಪನವನ್ನು ಮುಂದುವರಿಸಲು ಖಾತೆ ಅಗತ್ಯವಿದೆ.'; + + @override + String get repeatLabel => 'ಮರುಕಳಿಸಿ'; + + @override + String get repeatPasswordHint => 'ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಪುನರಾವೃತ್ತಿ ಮಾಡಿ'; + + @override + String get confirmButton => 'ದೃಢೀಕರಿಸಿ'; + + @override + String get noAccountPrompt => 'ನಿಮ್ಮ ಖಾತೆ ಇಲ್ಲವೇ?'; + + @override + String get alreadyHaveAccountPrompt => 'ನಿಮ್ಮ ಬಳಿ ಈಗಾಗಲೇ ಖಾತೆ ಇದೆಯೆ?'; + + @override + String get createPasswordHeader => 'ಪಾಸ್ವರ್ಡ್ ರಚಿಸಿ'; + + @override + String get phoneHeader => 'ದೂರವಾಣಿ'; + + @override + String get verifyPhoneHeader => 'ದೂರವಾಣಿ ಪರಿಶೀಲಿಸಿ'; + + @override + String get phoneTitle => 'ನಿಮ್ಮ ಸಂಖ್ಯೆ ಏನು?'; + + @override + String get phoneSubtitle => + 'ನಾವು ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ದೃಢೀಕರಿಸಲು ಕೋಡ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತೇವೆ'; + + @override + String get phoneNumberLabel => 'ಸಂಖ್ಯೆ'; + + @override + String get enterPhoneNumber => 'ದೂರವಾಣಿ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'ನೀವು $countdown ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯಬೇಕು'; + } + + @override + String get enterCodeTitle => 'ನಿಮ್ಮ ಕೋಡ್ ನಮೂದಿಸಿ'; + + @override + String codeSentToPhone(String phone) { + return '$phone ಗೆ ಕೋಡ್ ಕಳುಹಿಸಲಾಗಿದೆ'; + } + + @override + String get didntReceiveCode => 'ಕೋಡ್ ಬಂದಿಲ್ಲವೇ?'; + + @override + String get clickToResend => 'ಮರುಕಳಿಸಲು ಕ್ಲಿಕ್ ಮಾಡಿ'; + + @override + String requestNewCodeCountdown(int countdown) { + return '$countdown ಸೆಕೆಂಡುಗಳಲ್ಲಿ ನೀವು ಹೊಸ ಕೋಡ್ ಅನ್ನು ಕೇಳಬಹುದು'; + } + + @override + String get closeTooltip => 'ಮುಚ್ಚಿ'; + + @override + String get backTooltip => 'ಹಿಂದೆ'; + + @override + String get termsOfServiceLink => 'ಸೇವಾ ಶರತ್ತುಗಳು'; + + @override + String get privacyPolicyLink => 'ಗೋಪ್ಯತಾ ನೀತಿ'; + + @override + String get welcomeBackTitle => 'ಮರುಸ್ವಾಗತ'; + + @override + String get welcomeBackSubtitle => + 'ನೀವು ಈಗಾಗಲೇ Doctorina ಖಾತೆ ಹೊಂದಿದ್ದರೆ ಲಾಗಿನ್ ಮಾಡಿ, ಅಥವಾ ಪ್ರಾರಂಭಿಸಲು ಸೈನ್ ಅಪ್ ಮಾಡಿ.'; + + @override + String get passwordRuleLength => '8 ರಿಂದ 128 ಅಕ್ಷರಗಳು'; + + @override + String get passwordRuleNumber => 'ಕನಿಷ್ಠ 1 ಸಂಖ್ಯೆ'; + + @override + String get passwordRuleUppercase => 'ಕನಿಷ್ಠ 1 ದೊಡ್ಡ ಅಕ್ಷರ'; + + @override + String get passwordRuleMatch => 'ಪಾಸ್ವರ್ಡ್ ಹೊಂದಿವೆ'; + + @override + String get phoneOtpVerificationFailed => + 'OTP ಪರಿಶೀಲನೆ ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.'; + + @override + String get referralCodeLabel => 'ರೆಫರಲ್ ಕೋಡ್'; + + @override + String get enterReferralCodeHint => 'ನಿಮ್ಮ ರೆಫರಲ್ ಕೋಡ್ ಅನ್ನು ನಮೂದಿಸಿ'; + + @override + String get referralCodeExampleHint => 'ಉದಾಹರಣೆ CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'ನಿಮ್ಮ ಬಳಿ ರೆಫರಲ್ ಕೋಡ್ ಇದೆಯೆ?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ko.dart b/example/lib/src/generated/sign_up/sign_up_localization_ko.dart index 85d88f9..0bbec70 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_ko.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_ko.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'sign_up_localization.dart'; class SignUpLocalizationKo extends SignUpLocalization { SignUpLocalizationKo([String locale = 'ko']) : super(locale); - @override - String get title => '로그인'; - @override String get logIn => '로그인'; @@ -27,19 +24,19 @@ class SignUpLocalizationKo extends SignUpLocalization { @override String get forgotPasswordEnterYourEmailAddress => - '이메일 주소를 입력하시면 비밀번호 재설정 링크를 보내드립니다.'; + '이메일 주소를 입력하면 비밀번호 재설정을 위한 링크를 보내드립니다.'; @override - String get rememberYourPasswordQuestion => '비밀번호를 기억하세요?'; + String get rememberYourPasswordQuestion => '비밀번호를 기억하시나요?'; @override - String get backToLoginButton => '비밀번호가 있어요'; + String get backToLoginButton => '비밀번호가 있습니다'; @override - String get continueButton => '계속하다'; + String get continueButton => '계속'; @override - String get passwordResetEmailSentSnackBar => '비밀번호 재설정 이메일이 전송되었습니다.'; + String get passwordResetEmailSentSnackBar => '비밀번호 재설정 이메일이 발송되었습니다'; @override String get resetPasswordButton => '비밀번호 재설정'; @@ -48,7 +45,7 @@ class SignUpLocalizationKo extends SignUpLocalization { String get confirmCodeButton => '코드 확인'; @override - String get startUsingDoctorinaTodaySubtitle => '오늘부터 Doctorina를 사용해보세요'; + String get startUsingDoctorinaTodaySubtitle => '오늘부터 Doctorina를 사용하기 시작하세요'; @override String get orDivider => '또는'; @@ -60,7 +57,7 @@ class SignUpLocalizationKo extends SignUpLocalization { String get showPasswordHint => '비밀번호 표시'; @override - String get obscurePasswordHint => '모호한 비밀번호'; + String get obscurePasswordHint => '비밀번호 숨기기'; @override String get clearLoginTooltip => '로그인 지우기'; @@ -72,17 +69,17 @@ class SignUpLocalizationKo extends SignUpLocalization { String get emailOrPhoneLabelExample => 'name@gmail.com 또는 +1234567890'; @override - String get emailOrPhoneHint => '이메일 또는 전화번호를 입력하세요'; + String get emailOrPhoneHint => '이메일 또는 전화번호 입력'; @override String get pleaseAcceptTheAgreementsToContinueSnackBar => - '계속하려면 계약에 동의해 주세요.'; + '계속하려면 약관에 동의해 주세요.'; @override - String get consentToTheProcessingOfPersonalData => '개인정보 처리에 동의합니다.'; + String get consentToTheProcessingOfPersonalData => '개인 데이터 처리에 동의합니다,'; @override - String get consentTheUseOf => '의 사용'; + String get consentTheUseOf => '사용'; @override String get consentCookies => '쿠키'; @@ -91,10 +88,10 @@ class SignUpLocalizationKo extends SignUpLocalization { String get consentAgreeToThe => ', 동의합니다'; @override - String get consentTermsAndConditions => '이용 약관'; + String get consentTermsAndConditions => '이용약관'; @override - String get consentAndAcknowledgeThe => ', 그리고 인정합니다'; + String get consentAndAcknowledgeThe => ', 그리고 확인'; @override String get consentPrivacyPolicy => '개인정보 보호정책'; @@ -104,7 +101,7 @@ class SignUpLocalizationKo extends SignUpLocalization { @override String get acknowledgeMyConsultation => - '저는 상담을 AI와 진행하며, 면허를 소지한 의료 전문가와 진행하지 않는다는 점을 인정합니다.'; + '내 상담이 AI와 진행되었으며, 면허가 있는 의료 전문가가 아님을 인정합니다.'; @override String get logOutDialogTitle => '로그아웃'; @@ -116,7 +113,7 @@ class SignUpLocalizationKo extends SignUpLocalization { String get logOutDialogCancelButton => '취소'; @override - String get logOutDialogLogOutButton => '네, 로그아웃합니다'; + String get logOutDialogLogOutButton => '예, 로그아웃'; @override String get resendCodeButton => '코드 재전송'; @@ -125,4 +122,218 @@ class SignUpLocalizationKo extends SignUpLocalization { String resendCodeTimer(String timer) { return '코드 재전송 ($timer)'; } + + @override + String get consentFull => + '나는 개인 데이터 처리에 동의하며, 쿠키 사용에 동의하고, 약관에 동의하며,

개인정보 보호정책

을 인정합니다.'; + + @override + String get emailLabel => '이메일을 입력하세요'; + + @override + String get signUpWithEmailTitle => '이메일로 가입하기'; + + @override + String get logInWithEmailTitle => '이메일로 로그인'; + + @override + String get phoneLabel => '전화번호를 입력하세요'; + + @override + String get confirmPhoneTitle => '전화 확인'; + + @override + String get signUpText => '가입하기'; + + @override + String get emailHintShort => '이메일 입력'; + + @override + String get buttonTextSignUpWithGoogle => 'Google로 가입하기'; + + @override + String get buttonTextSignUpWithApple => 'Apple로 가입하기'; + + @override + String get buttonTextSignUpWithPhone => '전화로 가입하기'; + + @override + String get buttonTextLoginWithGoogle => 'Google로 로그인'; + + @override + String get buttonTextLoginWithApple => 'Apple로 로그인'; + + @override + String get buttonTextLoginWithPhone => '전화로 로그인'; + + @override + String get youAreLoggedOutMessage => '로그아웃되었습니다'; + + @override + String get reloadButtonText => '다시 불러오기'; + + @override + String get emailErrorText => '잘못된 이메일 주소'; + + @override + String get passwordErrorText => '비밀번호는 최소 6자 이상이어야 합니다'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return '잘못된 전화번호: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return '새 코드를 요청하기 전에 $seconds초 기다려주세요.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return '잘못된 전화 코드: $phoneCode'; + } + + @override + String get termsAndConditionsText => '이용 약관'; + + @override + String get continueAsGuestBtn => '게스트로 계속하기'; + + @override + String get noAccountYetPromptText => '계정이 없으신가요?

가입하기

'; + + @override + String get alreadyHaveAccountPromptText => '이미 계정이 있으신가요?

로그인

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + '프리미엄을 계속 사용하려면 가입해야 합니다'; + + @override + String get loginSubtitle => '개인화된 콘텐츠를 받고 커뮤니티와 소통하세요!'; + + @override + String get emailFieldLabel => '이메일'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => '비밀번호를 복구하세요'; + + @override + String get createAccountTitle => '계정을 만들기'; + + @override + String get createAccountSubtitle => + '건강 데이터를 안전하게 저장하고 평가를 계속하기 위해 계정이 필요합니다.'; + + @override + String get repeatLabel => '다시 입력'; + + @override + String get repeatPasswordHint => '비밀번호를 다시 입력하세요'; + + @override + String get confirmButton => '확인'; + + @override + String get noAccountPrompt => '계정이 없으신가요?'; + + @override + String get alreadyHaveAccountPrompt => '이미 계정이 있으신가요?'; + + @override + String get createPasswordHeader => '비밀번호 만들기'; + + @override + String get phoneHeader => '전화'; + + @override + String get verifyPhoneHeader => '전화 확인'; + + @override + String get phoneTitle => '번호가 무엇인가요?'; + + @override + String get phoneSubtitle => '전화 확인을 위해 코드를 문자로 보내드리겠습니다'; + + @override + String get phoneNumberLabel => '번호'; + + @override + String get enterPhoneNumber => '전화번호를 입력하세요'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return '다음 OTP를 보낼 수 있는 $countdown초 기다리세요'; + } + + @override + String get enterCodeTitle => '코드를 입력하세요'; + + @override + String codeSentToPhone(String phone) { + return '코드를 $phone으로 보냈습니다'; + } + + @override + String get didntReceiveCode => '코드를 받지 못하셨나요?'; + + @override + String get clickToResend => '다시 보내기 클릭'; + + @override + String requestNewCodeCountdown(int countdown) { + return '새 코드를 $countdown초 후에 요청할 수 있습니다'; + } + + @override + String get closeTooltip => '닫기'; + + @override + String get backTooltip => '뒤로'; + + @override + String get termsOfServiceLink => '서비스 약관'; + + @override + String get privacyPolicyLink => '개인정보 처리방침'; + + @override + String get welcomeBackTitle => '다시 오신 것을 환영합니다'; + + @override + String get welcomeBackSubtitle => + '이미 Doctorina 계정이 있는 경우 로그인하거나 시작하려면 가입하세요.'; + + @override + String get passwordRuleLength => '8자에서 128자까지'; + + @override + String get passwordRuleNumber => '숫자 1개 이상'; + + @override + String get passwordRuleUppercase => '대문자 1개 이상 포함'; + + @override + String get passwordRuleMatch => '비밀번호가 일치합니다'; + + @override + String get phoneOtpVerificationFailed => 'OTP 인증에 실패했습니다. 다시 시도해 주세요.'; + + @override + String get referralCodeLabel => '추천 코드'; + + @override + String get enterReferralCodeHint => '추천 코드를 입력하세요'; + + @override + String get referralCodeExampleHint => '예: CREATOR2026'; + + @override + String get haveReferralCodeQuestion => '추천 코드가 있습니까?'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_lo.dart b/example/lib/src/generated/sign_up/sign_up_localization_lo.dart new file mode 100644 index 0000000..3645ebb --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_lo.dart @@ -0,0 +1,344 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Lao (`lo`). +class SignUpLocalizationLo extends SignUpLocalization { + SignUpLocalizationLo([String locale = 'lo']) : super(locale); + + @override + String get logIn => 'ເຂົ້າສູ່ລະບົບ'; + + @override + String get password => 'ລະຫັດ'; + + @override + String get changeNumber => 'ປ່ອນເລກ'; + + @override + String get forgotPassword => 'ລືມລະຫັດຜ່ານບໍ?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'ໃສ່ອີເມວຂອງທ່ານ ແລະພວກເຮົາຈະສົ່ງລິ້ງເພື່ອປ່ອນລະຫັດຜ່ານຂອງທ່ານ.'; + + @override + String get rememberYourPasswordQuestion => 'ຈົ່ງຈືດບັດລະຫັດຂອງທ່ານບໍ?'; + + @override + String get backToLoginButton => 'ຂໍໃຫ້ມີລະຫັດຜ່ານ'; + + @override + String get continueButton => 'ດຳເນີນຕໍ່'; + + @override + String get passwordResetEmailSentSnackBar => 'ອີເມວການຕັ້ງລະຫັດຜ່ານແລ້ວ'; + + @override + String get resetPasswordButton => 'ປ່ອນລະຫັດໃໝ່'; + + @override + String get confirmCodeButton => 'ຢືນຢັນລະຫັດ'; + + @override + String get startUsingDoctorinaTodaySubtitle => 'ເລີ່ມໃຊ້ Doctorina ມື້ນີ້'; + + @override + String get orDivider => 'OR'; + + @override + String get enterPasswordForEmailHint => 'ໃສ່ລະຫັດຜ່ານຂອງທ່ານ'; + + @override + String get showPasswordHint => 'ແສດສະບັດ'; + + @override + String get obscurePasswordHint => 'ປິດບັດລະຫັດ'; + + @override + String get clearLoginTooltip => 'ລົບການເຂົ້າໃຊ້'; + + @override + String get emailOrPhoneLabel => 'Email ຫ或者 ໂທລະສັບ'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com or +1234567890'; + + @override + String get emailOrPhoneHint => 'ໃສ່ອີເມວ ຫຼື ບັດເທັດເບີ'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'ກະລຸນາຍອມຮັບຂໍແອກເພື່ອດຳເນີນຕໍ່'; + + @override + String get consentToTheProcessingOfPersonalData => + 'ຂ້າພະເຈົ້າຍອມຮັບການດໍາເນີນງານຂໍ້ມູນສ່ວນຕົວ,'; + + @override + String get consentTheUseOf => 'ການໃຊ້ງານຂອງ'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', ຍອມຮັບ'; + + @override + String get consentTermsAndConditions => 'terms and conditions'; + + @override + String get consentAndAcknowledgeThe => ', ແລະຍອມຮັບ'; + + @override + String get consentPrivacyPolicy => 'niti za privatnost'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'ຂໍອະໄພວ່າການປຶກສາຂອງຂໍ້ມູນແມ່ນກັບ AI ແລະບໍ່ແມ່ນຜູ້ໃຊ້ບັດທະບຽນ.'; + + @override + String get logOutDialogTitle => 'ອອກ'; + + @override + String get logOutDialogContent => 'ທ່ານແນ່ໃຈບໍ່ວ່າຈະອອກຈາກລະບົບ?'; + + @override + String get logOutDialogCancelButton => 'ຍົກເລີກ'; + + @override + String get logOutDialogLogOutButton => 'Yes, log out'; + + @override + String get resendCodeButton => 'ສົ່ງລະຫັດອີກ'; + + @override + String resendCodeTimer(String timer) { + return 'Reenviar código ($timer)'; + } + + @override + String get consentFull => + 'ຂ້ອຍຍອມຮັບການຈັດການຂໍ້ມູນສ່ວນຕົວ, ການໃຊ້ cookies, ຍອມຮັບ ເງື່ອນໄຂແລະຂໍ້ຕົກລົງ, ແລະຢືນຢັນ

ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ

'; + + @override + String get emailLabel => 'ໃສ່ອີເມວຂອງທ່ານ'; + + @override + String get signUpWithEmailTitle => 'ລົງຮ່ວມຜ່ານອີເມວ'; + + @override + String get logInWithEmailTitle => 'ເຂົ້າລະບົບດ້ວຍອີເມວ'; + + @override + String get phoneLabel => 'ໃສ່ເບີໂທຂອງທ່ານ'; + + @override + String get confirmPhoneTitle => 'ຢືນຢັນໂທລະສັບຂອງທ່ານ'; + + @override + String get signUpText => 'ລົງທະບຽນ'; + + @override + String get emailHintShort => 'ໃສ່ອີເມວ'; + + @override + String get buttonTextSignUpWithGoogle => 'ລົງທະບຽນດ້ວຍ Google'; + + @override + String get buttonTextSignUpWithApple => 'ລົງທະບຽນດ້ວຍ Apple'; + + @override + String get buttonTextSignUpWithPhone => 'ລົງທະບຽນຜ່ານໂທລະສັບ'; + + @override + String get buttonTextLoginWithGoogle => 'ເຂົ້າລະບົບຜ່ານ Google'; + + @override + String get buttonTextLoginWithApple => 'ເຂົ້າລະບົບດ້ວຍ Apple'; + + @override + String get buttonTextLoginWithPhone => 'ເຂົ້າລະບົບຜ່ານໂທລະສັບ'; + + @override + String get youAreLoggedOutMessage => 'ທ່ານໄດ້ອອກຈາກລະບົບ'; + + @override + String get reloadButtonText => 'ຄືນລົงໂຫຼດ'; + + @override + String get emailErrorText => 'ອີເມວບໍ່ຖືກຕ້ອງ'; + + @override + String get passwordErrorText => 'ລະຫັດຜ່ານຕ້ອງມີຢ່າງນ້ອຍ 6 ຕົວອັກສອນ'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'ເບີໂທລະສັບບໍ່ຖືກຕ້ອງ: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'ກະລຸນາລໍຖ້ວຍ $seconds ວິນາທີກ່ອນຂໍເລກລະຫັດໃໝ່.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'ລະຫັດໂທລະສັບບໍ່ຖືກຕ້ອງ: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'ເງື່ອນໄຂແລະຂໍ້ກຳນົด'; + + @override + String get continueAsGuestBtn => 'ດຳເນີນຕໍ່ເປັນຜູ້ເຂົ້າຊົມ'; + + @override + String get noAccountYetPromptText => 'ຍັງບໍ່ມີບັນຊີ?

ລົງທະບຽນ

'; + + @override + String get alreadyHaveAccountPromptText => + 'ທ່ານມີບັນຊີແລ້ວບໍ?

ເຂົ້າລະບົບ

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'ທ່ານຕ້ອງລົງທະບຽນກ່ຽວກັບກ່ຽວກັບ Premium'; + + @override + String get loginSubtitle => + 'ເພີ່ມເລື່ອງສໍາລັບບຸກຄົນແລະຮັກສາສິດສະຖານທີ່ຂອງທ່ານ!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'ກູ້ຄືນລະຫັດຜ່ານຂອງເຈົ້າ'; + + @override + String get createAccountTitle => 'ສ້າງບັດທະບຽນ'; + + @override + String get createAccountSubtitle => + 'ພວກເຮົາຕ້ອງການບັດທະບຽນເພື່ອບັນທຶກຂໍ້ມູນສຸຂະພາບຂອງເຈົ້າແລະດຳເນີນການປ່ອນບັດທະບຽນ.'; + + @override + String get repeatLabel => 'ປະກອບກັນ'; + + @override + String get repeatPasswordHint => 'ກະລຸນາຊໍາລວນລະຫັດຜ່ານຂອງເທັດ'; + + @override + String get confirmButton => 'ຢືນຢັນ'; + + @override + String get noAccountPrompt => 'ຍັງບໍ່ມີບັນຊີບໍ?'; + + @override + String get alreadyHaveAccountPrompt => 'ມີບັນຊີແລ້ວບໍ?'; + + @override + String get createPasswordHeader => 'ສ້າງລະຫັດຜ່ານ'; + + @override + String get phoneHeader => 'ໂທລະສັບ'; + + @override + String get verifyPhoneHeader => 'ຢືນຢັນເບີໂທລະສັບ'; + + @override + String get phoneTitle => 'ເບີໂທຂອງເຈົ້າແມ່ນຫຍັງ?'; + + @override + String get phoneSubtitle => + 'ພວກເຮົາຈະສົ່ງຂໍ້ຄວາມລະຫັດເພື່ອຢືນຢັນໂທລະສັບຂອງທ່ານ'; + + @override + String get phoneNumberLabel => 'ຕົວເລກ'; + + @override + String get enterPhoneNumber => 'ໃສ່ເບີໂທລະສັບ'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'ລໍຖ້າ $countdown ວິນາທີ'; + } + + @override + String get enterCodeTitle => 'ໃສ່ລະຫັດຂອງເຈົ້າ'; + + @override + String codeSentToPhone(String phone) { + return 'ເຮັດສົ່ງລະຫັດໄປທີ່ $phone'; + } + + @override + String get didntReceiveCode => 'ບໍ່ໄດ້ຮັບລະຫັດບໍ?'; + + @override + String get clickToResend => 'ຄລິກເພື່ອສົ່ງຄືນໃໝ່'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'ທ່ານສາมາດຂໍລະຫັດໃໝ່ໃນ $countdown ວິນາທີ'; + } + + @override + String get closeTooltip => 'ປິດ'; + + @override + String get backTooltip => 'ກັບຄືນ'; + + @override + String get termsOfServiceLink => 'ເງື່ອນໄຂການໃຫ້ບໍລິການ'; + + @override + String get privacyPolicyLink => 'ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ'; + + @override + String get welcomeBackTitle => 'ຍິນດີກັບຄືນ'; + + @override + String get welcomeBackSubtitle => + 'ເຂົ້າສູ່ລະບົບຖ້າທ່ານມີບັດທີ່ Doctorina ຢູ່ແລ້ວ ຫຼື ເຂົ້າລົງທະບຽນເພື່ອເລີ່ມຕົ້ນ.'; + + @override + String get passwordRuleLength => 'ຈາກ 8 ຖຶງ 128 ອັກສອນ'; + + @override + String get passwordRuleNumber => 'ມີເລກໃນລະຫັດຜ່ານຢ່າງນໍາທີ່ 1'; + + @override + String get passwordRuleUppercase => 'ມີສະຕິດສະດວກ 1 ອັກສອນໃຫຍ່'; + + @override + String get passwordRuleMatch => 'ລະຫັດຜ່ານສອດກັນ'; + + @override + String get phoneOtpVerificationFailed => + 'ການຢືນຢັນ OTP ລົ້ມເຫຼວ. ກະລຸນາລອງໃໝ່ອີກຄັ້ງ.'; + + @override + String get referralCodeLabel => 'Referral code'; + + @override + String get enterReferralCodeHint => 'ໃສ່ລະຫັດອໍ່ອິງຂອງທ່ານ'; + + @override + String get referralCodeExampleHint => 'ຕົວຢ່າງ CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'ມີລະຫັດອໍ່ນຳສູງບໍ?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ml.dart b/example/lib/src/generated/sign_up/sign_up_localization_ml.dart new file mode 100644 index 0000000..a0808be --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_ml.dart @@ -0,0 +1,351 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malayalam (`ml`). +class SignUpLocalizationMl extends SignUpLocalization { + SignUpLocalizationMl([String locale = 'ml']) : super(locale); + + @override + String get logIn => 'ലോഗിൻ'; + + @override + String get password => 'പാസ്വേഡ്'; + + @override + String get changeNumber => 'നമ്പർ മാറ്റുക'; + + @override + String get forgotPassword => 'പാസ്വേഡ് മറന്നോ?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'നിങ്ങളുടെ ഇമെയിൽ വിലാസം നൽകുക, ഞങ്ങൾ നിങ്ങളുടെ പാസ്വേഡുകൾ പുനഃസജ്ജമാക്കാൻ ഒരു ലിങ്ക് അയയ്ക്കും.'; + + @override + String get rememberYourPasswordQuestion => + 'നിങ്ങളുടെ പാസ്വേഡിനെ നിങ്ങൾ ഓർമ്മിക്കുന്നു吗?'; + + @override + String get backToLoginButton => 'എനിക്ക് പാസ്‌വേഡ് ഉണ്ട്'; + + @override + String get continueButton => 'തുടരുക'; + + @override + String get passwordResetEmailSentSnackBar => + 'പാസ്വേഡ്ഡിന് പുനഃസജ്ജീകരണ ഇമെയിൽ അയച്ചു'; + + @override + String get resetPasswordButton => 'പാസ്വേഡുകൾ പുനഃസജ്ജമാക്കുക'; + + @override + String get confirmCodeButton => 'കോഡ് സ്ഥിരീകരിക്കുക'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'ഇന്ന് ഡോക്ടറിന ഉപയോഗിക്കാൻ തുടങ്ങുക'; + + @override + String get orDivider => 'അല്ല'; + + @override + String get enterPasswordForEmailHint => 'നിങ്ങളുടെ പാസ്വേഡ്ഡ് നൽകുക'; + + @override + String get showPasswordHint => 'പാസ്വേഡ്ഡ് കാണിക്കുക'; + + @override + String get obscurePasswordHint => 'പാസ്വേഡിനെ മറയ്ക്കുക'; + + @override + String get clearLoginTooltip => 'ലോഗിൻ ക്ലിയർ ചെയ്യുക'; + + @override + String get emailOrPhoneLabel => 'ഇമെയിൽ അല്ലെങ്കിൽ ഫോൺ'; + + @override + String get emailOrPhoneLabelExample => + 'name@gmail.com അല്ലെങ്കിൽ +1234567890'; + + @override + String get emailOrPhoneHint => 'ഇമെയിൽ അല്ലെങ്കിൽ ഫോൺ നമ്പർ നൽകുക'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'ദയവായി തുടരാൻ കരാറുകൾ അംഗീകരിക്കുക.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'ഞാൻ വ്യക്തിഗത ഡാറ്റയുടെ പ്രോസസ്സിംഗിന് സമ്മതിക്കുന്നു,'; + + @override + String get consentTheUseOf => 'ഉപയോഗം'; + + @override + String get consentCookies => 'കുക്കീസ്'; + + @override + String get consentAgreeToThe => ', സമ്മതിക്കുന്നു'; + + @override + String get consentTermsAndConditions => 'നിബന്ധനകളും വ്യവസ്ഥകളും'; + + @override + String get consentAndAcknowledgeThe => ', ഒപ്പം അംഗീകരിക്കുക'; + + @override + String get consentPrivacyPolicy => 'ഗോപ്പനീയത നയം'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'ഞാൻ എന്റെ ഉപദേശത്തിന് എഐയുമായാണ്, ലൈസൻസുള്ള മെഡിക്കൽ പ്രൊഫഷണലുമായല്ല എന്ന് അംഗീകരിക്കുന്നു.'; + + @override + String get logOutDialogTitle => 'ലോഗ് ഔട്ട്'; + + @override + String get logOutDialogContent => 'നിങ്ങൾ ലോഗ് ഔട്ട് ചെയ്യാൻ ഉറപ്പാണോ?'; + + @override + String get logOutDialogCancelButton => 'റദ്ദാക്കുക'; + + @override + String get logOutDialogLogOutButton => 'അതെ, ലോഗ് ഔട്ട് ചെയ്യുക'; + + @override + String get resendCodeButton => 'കോഡ് വീണ്ടും അയക്കുക'; + + @override + String resendCodeTimer(String timer) { + return 'കോഡ് വീണ്ടും അയക്കുക ($timer)'; + } + + @override + String get consentFull => + 'ഞാൻ വ്യക്തിഗത ഡാറ്റയുടെ പ്രോസസ്സിംഗിന്, കുക്കികൾ ഉപയോഗിക്കാൻ, നിബന്ധനകളും വ്യവസ്ഥകളും അംഗീകരിക്കുന്നു, കൂടാതെ

ഗോപ്പ്യനയം

അംഗീകരിക്കുന്നു.'; + + @override + String get emailLabel => 'നിങ്ങളുടെ ഇമെയിൽ നൽകുക'; + + @override + String get signUpWithEmailTitle => 'ഇമെയിലിലൂടെ സൈൻ അപ്പ് ചെയ്യുക'; + + @override + String get logInWithEmailTitle => 'ഇമെയിൽ വഴി ലോഗിൻ ചെയ്യുക'; + + @override + String get phoneLabel => 'നിങ്ങളുടെ ഫോൺ നൽകുക'; + + @override + String get confirmPhoneTitle => 'നിങ്ങളുടെ ഫോൺ സ്ഥിരീകരിക്കുക'; + + @override + String get signUpText => 'സൈൻ അപ് ചെയ്യുക'; + + @override + String get emailHintShort => 'ഇമെയിൽ നൽകുക'; + + @override + String get buttonTextSignUpWithGoogle => + 'Google ഉപയോഗിച്ച് സൈൻ അപ്പ് ചെയ്യുക'; + + @override + String get buttonTextSignUpWithApple => 'Apple ഉപയോഗിച്ച് സൈനപ്പ് ചെയ്യുക'; + + @override + String get buttonTextSignUpWithPhone => 'ഫോൺ ഉപയോഗിച്ച് സൈൻ അപ്പ് ചെയ്യുക'; + + @override + String get buttonTextLoginWithGoogle => 'Google ഉപയോഗിച്ച് ലോഗിന് ചെയ്യുക'; + + @override + String get buttonTextLoginWithApple => 'Apple ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുക'; + + @override + String get buttonTextLoginWithPhone => 'ഫോൺ ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുക'; + + @override + String get youAreLoggedOutMessage => 'നിങ്ങള്‍ ലോഗൗട്ട് ചെയ്തു'; + + @override + String get reloadButtonText => 'പുനഃലോഡ് ചെയ്യുക'; + + @override + String get emailErrorText => 'തെറ്റായ ഇമെയിൽ വിലാസം'; + + @override + String get passwordErrorText => 'പാസ്വേഡ് കുറഞ്ഞത് 6 അക്ഷരങ്ങളിരിക്കണം'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'തെറ്റായ ഫോൺ നമ്പർ: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'ദയവായി പുതിയ കോഡ് അപേക്ഷിക്കുന്നതിന് മുമ്പ് $seconds സെക്കൻഡ്‌ കാത്തിരിക്കുക.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'തെറ്റായ ഫോൺ കോഡ്: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'നിബന്ധനകളും വ്യവസ്ഥകളും'; + + @override + String get continueAsGuestBtn => 'വിരുന്നുകാരനായി തുടരുക'; + + @override + String get noAccountYetPromptText => + 'അക്കൗണ്ട് ഇല്ലേ?

സൈൻ അപ് ചെയ്യുക

'; + + @override + String get alreadyHaveAccountPromptText => + 'നിങ്ങൾക്ക് ഇതിനകം ഒരു അക്കൗണ്ട് ഉണ്ടോ?

ലോഗിൻ

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'നിങ്ങൾ പ്രീമിയത്തിലേക്ക് തുടരാൻ മുമ്പ് സൈൻ അപ്പ് ചെയ്യണം'; + + @override + String get loginSubtitle => + 'വ്യക്തിഗത ഉള്ളടക്കം നേടുകയും നിങ്ങളുടെ സമൂഹവുമായി ബന്ധത്തിൽ തുടരുകയും ചെയ്യുക!'; + + @override + String get emailFieldLabel => 'ഇ-മെയിൽ'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'നിങ്ങളുടെ പാസ്‌വേഡ് പുനഃസ്ഥാപിക്കുക'; + + @override + String get createAccountTitle => 'അക്കൗണ്ട് സൃഷ്ടിക്കുക'; + + @override + String get createAccountSubtitle => + 'നിങ്ങളുടെ ആരോഗ്യ ഡാറ്റ സുരക്ഷിതമായി സംരക്ഷിക്കാൻ ಮತ್ತು നിങ്ങളുടെ മൂല്യനിർണയം തുടരാൻ ഒരു അക്കൗണ്ട് ആവശ്യമാണ്.'; + + @override + String get repeatLabel => 'മറുപടി'; + + @override + String get repeatPasswordHint => 'നിങ്ങളുടെ പാസ്വേഡുകൾ ആവർത്തിക്കുക'; + + @override + String get confirmButton => 'സ്ഥിരീകരിക്കുക'; + + @override + String get noAccountPrompt => 'നിങ്ങൾക്ക് ഒരു അക്കൗണ്ട് ഇല്ലേ?'; + + @override + String get alreadyHaveAccountPrompt => + 'നിങ്ങൾക്ക് ഇതിനകം ഒരു അക്കൗണ്ട് ഉണ്ടോ?'; + + @override + String get createPasswordHeader => 'പാസ്വേഡുകൾ സൃഷ്ടിക്കുക'; + + @override + String get phoneHeader => 'ഫോൺ'; + + @override + String get verifyPhoneHeader => 'ഫോൺ സ്ഥിരീകരിക്കുക'; + + @override + String get phoneTitle => 'നിങ്ങളുടെ നമ്പർ എന്താണ്?'; + + @override + String get phoneSubtitle => + 'നിങ്ങളുടെ ഫോൺ സ്ഥിരീകരിക്കാൻ ഒരു കോഡ് ഞങ്ങൾ സന്ദേശം അയയ്ക്കും'; + + @override + String get phoneNumberLabel => 'നമ്പർ'; + + @override + String get enterPhoneNumber => 'ഫോൺ നമ്പർ നൽകുക'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return '$countdown സെക്കൻഡ് കാത്തിരിക്കുക'; + } + + @override + String get enterCodeTitle => 'നിങ്ങളുടെ കോഡ് നൽകുക'; + + @override + String codeSentToPhone(String phone) { + return '$phone എന്ന നമ്പറിലേക്ക് ഒരു കോഡ് അയച്ചു'; + } + + @override + String get didntReceiveCode => 'കോഡ് ലഭിച്ചില്ലേ?'; + + @override + String get clickToResend => 'മറുപടി അയക്കാൻ ക്ലിക്ക് ചെയ്യുക'; + + @override + String requestNewCodeCountdown(int countdown) { + return '$countdown സെക്കൻഡുകൾക്കുള്ളിൽ നിങ്ങൾ പുതിയ കോഡ് അഭ്യർത്ഥിക്കാം'; + } + + @override + String get closeTooltip => 'അടയ്ക്കുക'; + + @override + String get backTooltip => 'മടങ്ങുക'; + + @override + String get termsOfServiceLink => 'സേവനത്തിന്റെ നിബന്ധനകൾ'; + + @override + String get privacyPolicyLink => 'ഗോപ്പനീയത നയം'; + + @override + String get welcomeBackTitle => 'സ്വാഗതം തിരിച്ചുവരവിന്'; + + @override + String get welcomeBackSubtitle => + 'നിങ്ങൾക്ക് ഇതിനകം Doctorina അക്കൗണ്ട് ഉണ്ടെങ്കിൽ ലോഗിൻ ചെയ്യുക, അല്ലെങ്കിൽ ആരംഭിക്കാൻ സൈൻ അപ്പ് ചെയ്യുക.'; + + @override + String get passwordRuleLength => '8 മുതൽ 128 അക്ഷരങ്ങൾ'; + + @override + String get passwordRuleNumber => 'കുറഞ്ഞത് 1 നമ്പർ'; + + @override + String get passwordRuleUppercase => 'കുറഞ്ഞത് 1 വലിയ അക്ഷരം'; + + @override + String get passwordRuleMatch => 'പാസ്വേഡുകൾ പൊരുത്തപ്പെടുന്നു'; + + @override + String get phoneOtpVerificationFailed => + 'OTP പരിശോധന പരാജയപ്പെട്ടു. വീണ്ടും ശ്രമിക്കുക.'; + + @override + String get referralCodeLabel => 'Referral code'; + + @override + String get enterReferralCodeHint => 'നിങ്ങളുടെ റിഫറൽ കോഡ് നൽകുക'; + + @override + String get referralCodeExampleHint => 'ഉദാഹരണം: CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'നിങ്ങൾക്ക് റഫറൽ കോഡ് ഉണ്ടോ?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_mr.dart b/example/lib/src/generated/sign_up/sign_up_localization_mr.dart new file mode 100644 index 0000000..ba3cd6b --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_mr.dart @@ -0,0 +1,344 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Marathi (`mr`). +class SignUpLocalizationMr extends SignUpLocalization { + SignUpLocalizationMr([String locale = 'mr']) : super(locale); + + @override + String get logIn => 'लॉग इन'; + + @override + String get password => 'पासवर्ड'; + + @override + String get changeNumber => 'नंबर बदला'; + + @override + String get forgotPassword => 'पासवर्ड विसरलात?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'आपला ईमेल पत्ता प्रविष्ट करा, आणि आम्ही आपल्याला पासवर्ड रीसेट करण्यासाठी लिंक पाठवू'; + + @override + String get rememberYourPasswordQuestion => 'तुमचा पासवर्ड लक्षात आहे का?'; + + @override + String get backToLoginButton => 'माझ्याकडे पासवर्ड आहे'; + + @override + String get continueButton => 'पुढे जा'; + + @override + String get passwordResetEmailSentSnackBar => 'पासवर्ड रीसेट ईमेल पाठवला'; + + @override + String get resetPasswordButton => 'पासवर्ड रीसेट करा'; + + @override + String get confirmCodeButton => 'कोड पुष्टी करा'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'आजच Doctorina वापरणे सुरू करा'; + + @override + String get orDivider => 'किंवा'; + + @override + String get enterPasswordForEmailHint => 'आपला पासवर्ड प्रविष्ट करा'; + + @override + String get showPasswordHint => 'पासवर्ड दाखवा'; + + @override + String get obscurePasswordHint => 'पासवर्ड लपवा'; + + @override + String get clearLoginTooltip => 'लॉगिन साफ करा'; + + @override + String get emailOrPhoneLabel => 'ईमेल किंवा फोन'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com किंवा +1234567890'; + + @override + String get emailOrPhoneHint => 'ईमेल किंवा फोन नंबर प्रविष्ट करा'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'कृपया पुढे जाण्यासाठी करार स्वीकारा.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'मी वैयक्तिक डेटाच्या प्रक्रिया करण्यास सहमती देतो,'; + + @override + String get consentTheUseOf => 'चा वापर'; + + @override + String get consentCookies => 'कुकीज'; + + @override + String get consentAgreeToThe => ', सहमत आहात'; + + @override + String get consentTermsAndConditions => 'अटी आणि शर्ती'; + + @override + String get consentAndAcknowledgeThe => ', आणि मान्य करा'; + + @override + String get consentPrivacyPolicy => 'गोपनीयता धोरण'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'मी हे मान्य करतो की माझी सल्लामसलत AI सोबत आहे आणि परवाना प्राप्त वैद्यकीय व्यावसायिकाशी नाही.'; + + @override + String get logOutDialogTitle => 'लॉग आउट'; + + @override + String get logOutDialogContent => 'तुम्ही नक्की लॉग आउट करणार का?'; + + @override + String get logOutDialogCancelButton => 'रद्द करा'; + + @override + String get logOutDialogLogOutButton => 'हो, लॉग आउट करा'; + + @override + String get resendCodeButton => 'कोड परत पाठवा'; + + @override + String resendCodeTimer(String timer) { + return 'कोड पुन्हा पाठवा ($timer)'; + } + + @override + String get consentFull => + 'मी वैयक्तिक डेटाच्या प्रक्रियेस सहमती देतो, कुकीज चा वापर करतो, अटी आणि शर्ती सहमत आहे, आणि

गोपनीयता धोरण

मान्य करतो.'; + + @override + String get emailLabel => 'आपला ईमेल प्रविष्ट करा'; + + @override + String get signUpWithEmailTitle => 'ईमेलसह साइन अप करा'; + + @override + String get logInWithEmailTitle => 'ईमेलद्वारे लॉगिन करा'; + + @override + String get phoneLabel => 'आपला फोन प्रविष्ट करा'; + + @override + String get confirmPhoneTitle => 'तुमचा फोन पुष्टी करा'; + + @override + String get signUpText => 'साइन अप करा'; + + @override + String get emailHintShort => 'ईमेल प्रविष्ट करा'; + + @override + String get buttonTextSignUpWithGoogle => 'Google सह साइन अप करा'; + + @override + String get buttonTextSignUpWithApple => 'Apple सह साइन اپ करा'; + + @override + String get buttonTextSignUpWithPhone => 'फोनने साइन अप करा'; + + @override + String get buttonTextLoginWithGoogle => 'Google ने लॉगिन करा'; + + @override + String get buttonTextLoginWithApple => 'Apple सह लॉगिन करा'; + + @override + String get buttonTextLoginWithPhone => 'फोनने लॉगिन करा'; + + @override + String get youAreLoggedOutMessage => 'आपण लॉग आउट आहात'; + + @override + String get reloadButtonText => 'पुनः लोड करा'; + + @override + String get emailErrorText => 'अवैध ईमेल पत्ता'; + + @override + String get passwordErrorText => 'पासवर्ड किमान 6 अक्षरांचा असावा'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'अवैध फोन नंबर: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'कृपया नवीन कोड मागण्याआधी $seconds सेकंद प्रतीक्षा करा.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'अवैध फोन कोड: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'अटी आणि शर्ती'; + + @override + String get continueAsGuestBtn => 'अतिथी म्हणून सुरू ठेवा'; + + @override + String get noAccountYetPromptText => 'अजून खाते नाहीये?

साइन अप करा

'; + + @override + String get alreadyHaveAccountPromptText => 'आधीच खाते आहे?

लॉग इन करा

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'तुम्हाला प्रीमियमसह पुढे जाण्यासाठी साइन अप करणे आवश्यक आहे'; + + @override + String get loginSubtitle => + 'व्यक्तिगत सामग्री मिळवा आणि आपल्या समुदायाशी संपर्कात रहा!'; + + @override + String get emailFieldLabel => 'ई-मेल'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'आपला पासवर्ड पुनर्प्राप्त करा'; + + @override + String get createAccountTitle => 'खाते तयार करा'; + + @override + String get createAccountSubtitle => + 'आपल्या आरोग्य डेटा सुरक्षितपणे जतन करण्यासाठी आणि आपल्या मूल्यमापनास पुढे नेण्यासाठी आम्हाला खात्याची आवश्यकता आहे'; + + @override + String get repeatLabel => 'पुन्हा'; + + @override + String get repeatPasswordHint => 'आपली पासवर्ड पुन्हा टाका'; + + @override + String get confirmButton => 'पुष्टी'; + + @override + String get noAccountPrompt => 'तुमचा खाती नाही का?'; + + @override + String get alreadyHaveAccountPrompt => 'आधीच तुमचा खाता आहे का?'; + + @override + String get createPasswordHeader => 'पासवर्ड तयार करा'; + + @override + String get phoneHeader => 'फोन'; + + @override + String get verifyPhoneHeader => 'फोनची पुष्टी करा'; + + @override + String get phoneTitle => 'तुमचा नंबर काय आहे?'; + + @override + String get phoneSubtitle => + 'आम्ही तुमच्या फोनची पुष्टी करण्यासाठी एक कोड पाठवू'; + + @override + String get phoneNumberLabel => 'नंबर'; + + @override + String get enterPhoneNumber => 'फोन नंबर प्रविष्ट करा'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'कृपया $countdown सेकंद थांबा'; + } + + @override + String get enterCodeTitle => 'आपला कोड प्रविष्ट करा'; + + @override + String codeSentToPhone(String phone) { + return 'आम्ही $phone वर एक कोड पाठवला'; + } + + @override + String get didntReceiveCode => 'कोड मिळाला नाही का?'; + + @override + String get clickToResend => 'पुन्हा पाठवण्यासाठी क्लिक करा'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'आप $countdown सेकंदात नवीन कोड मागू शकता'; + } + + @override + String get closeTooltip => 'बंद करा'; + + @override + String get backTooltip => 'परत'; + + @override + String get termsOfServiceLink => 'सेवा अटी'; + + @override + String get privacyPolicyLink => 'गोपनीयता धोरण'; + + @override + String get welcomeBackTitle => 'तुमचं स्वागत आहे'; + + @override + String get welcomeBackSubtitle => + 'जर तुम्हाला आधीच Doctorina खाते असेल तर लॉगिन करा, किंवा सुरू करण्यासाठी साइन अप करा.'; + + @override + String get passwordRuleLength => '8 ते 128 अक्षरे'; + + @override + String get passwordRuleNumber => 'किमान 1 संख्या'; + + @override + String get passwordRuleUppercase => 'किमान 1 मोठा अक्षर'; + + @override + String get passwordRuleMatch => 'पासवर्ड जुळतात'; + + @override + String get phoneOtpVerificationFailed => + 'ओटीपी पडताळणी अयशस्वी झाली. कृपया पुन्हा प्रयत्न करा.'; + + @override + String get referralCodeLabel => 'रेफरल कोड'; + + @override + String get enterReferralCodeHint => 'आपला संदर्भ कोड प्रविष्ट करा'; + + @override + String get referralCodeExampleHint => 'उदाहरणार्थ, CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'तुमच्याकडे संदर्भ कोड आहे का?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ms.dart b/example/lib/src/generated/sign_up/sign_up_localization_ms.dart new file mode 100644 index 0000000..12131ed --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_ms.dart @@ -0,0 +1,348 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Malay (`ms`). +class SignUpLocalizationMs extends SignUpLocalization { + SignUpLocalizationMs([String locale = 'ms']) : super(locale); + + @override + String get logIn => 'Log masuk'; + + @override + String get password => 'Kata Laluan'; + + @override + String get changeNumber => 'Tukar nombor'; + + @override + String get forgotPassword => 'Lupa Kata Laluan?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Masukkan alamat emel anda, dan kami akan menghantar pautan untuk menetapkan semula kata laluan anda.'; + + @override + String get rememberYourPasswordQuestion => 'Ingat kata laluan anda?'; + + @override + String get backToLoginButton => 'Saya mempunyai kata laluan'; + + @override + String get continueButton => 'Teruskan'; + + @override + String get passwordResetEmailSentSnackBar => + 'Emel reset kata laluan telah dihantar'; + + @override + String get resetPasswordButton => 'Tetapkan semula kata laluan'; + + @override + String get confirmCodeButton => 'Sahkan kod'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Mulakan menggunakan Doctorina hari ini'; + + @override + String get orDivider => 'ATAU'; + + @override + String get enterPasswordForEmailHint => 'Masukkan kata laluan anda'; + + @override + String get showPasswordHint => 'Tunjukkan kata laluan'; + + @override + String get obscurePasswordHint => 'Kata kunci tersembunyi'; + + @override + String get clearLoginTooltip => 'Bersihkan log masuk'; + + @override + String get emailOrPhoneLabel => 'Emel atau telefon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com atau +1234567890'; + + @override + String get emailOrPhoneHint => 'Masukkan email atau nombor telefon'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Sila terima perjanjian untuk meneruskan.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Saya bersetuju untuk pemprosesan data peribadi,'; + + @override + String get consentTheUseOf => 'penggunaan'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', setuju dengan'; + + @override + String get consentTermsAndConditions => 'terma dan syarat'; + + @override + String get consentAndAcknowledgeThe => ', dan mengakui'; + + @override + String get consentPrivacyPolicy => 'dasar privasi'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Saya mengakui bahawa konsultasi saya adalah dengan AI dan bukan dengan profesional perubatan berlesen.'; + + @override + String get logOutDialogTitle => 'Log keluar'; + + @override + String get logOutDialogContent => 'Adakah anda pasti untuk log keluar?'; + + @override + String get logOutDialogCancelButton => 'Batal'; + + @override + String get logOutDialogLogOutButton => 'Ya, log keluar'; + + @override + String get resendCodeButton => 'Hantar semula kod'; + + @override + String resendCodeTimer(String timer) { + return 'Hantar semula kod ($timer)'; + } + + @override + String get consentFull => + 'Saya bersetuju dengan pemprosesan data peribadi, penggunaan cookies, bersetuju dengan terma dan syarat, serta mengakui

dasar privasi

'; + + @override + String get emailLabel => 'Masukkan emel anda'; + + @override + String get signUpWithEmailTitle => 'Daftar dengan e-mel'; + + @override + String get logInWithEmailTitle => 'Masuk dengan emel'; + + @override + String get phoneLabel => 'Masukkan telefon anda'; + + @override + String get confirmPhoneTitle => 'Sahkan telefon anda'; + + @override + String get signUpText => 'Daftar'; + + @override + String get emailHintShort => 'Masukkan e-mel'; + + @override + String get buttonTextSignUpWithGoogle => 'Daftar dengan Google'; + + @override + String get buttonTextSignUpWithApple => 'Daftar dengan Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Daftar dengan telefon'; + + @override + String get buttonTextLoginWithGoogle => 'Log masuk dengan Google'; + + @override + String get buttonTextLoginWithApple => 'Log masuk dengan Apple'; + + @override + String get buttonTextLoginWithPhone => 'Log masuk dengan Telefon'; + + @override + String get youAreLoggedOutMessage => 'Anda telah log keluar'; + + @override + String get reloadButtonText => 'Muat semula'; + + @override + String get emailErrorText => 'Alamat e-mel tidak sah'; + + @override + String get passwordErrorText => + 'Kata laluan mesti mempunyai sekurang-kurangnya 6 aksara'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Nombor telefon tidak sah: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Sila tunggu $seconds saat sebelum meminta kod baru.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Kod telefon tidak sah: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Terma dan syarat'; + + @override + String get continueAsGuestBtn => 'Teruskan sebagai tetamu'; + + @override + String get noAccountYetPromptText => 'Belum ada akaun?

Daftar

'; + + @override + String get alreadyHaveAccountPromptText => + 'Sudah ada akaun?

Log masuk

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Anda perlu mendaftar sebelum anda boleh meneruskan dengan Premium'; + + @override + String get loginSubtitle => + 'Dapatkan kandungan peribadi dan terus berhubung dengan komuniti anda!'; + + @override + String get emailFieldLabel => 'E-mel'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Pulihkan kata laluan anda'; + + @override + String get createAccountTitle => 'Buat akaun'; + + @override + String get createAccountSubtitle => + 'Kami memerlukan akaun untuk menyimpan data kesihatan anda dengan selamat dan meneruskan penilaian anda.'; + + @override + String get repeatLabel => 'Ulang'; + + @override + String get repeatPasswordHint => 'Ulang kata laluan anda'; + + @override + String get confirmButton => 'Sahkan'; + + @override + String get noAccountPrompt => 'Tiada akaun?'; + + @override + String get alreadyHaveAccountPrompt => 'Sudah mempunyai akaun?'; + + @override + String get createPasswordHeader => 'Buat kata laluan'; + + @override + String get phoneHeader => 'Telefon'; + + @override + String get verifyPhoneHeader => 'Sahkan Telefon'; + + @override + String get phoneTitle => 'Apa nombor anda?'; + + @override + String get phoneSubtitle => + 'Kami akan menghantar kod untuk mengesahkan telefon anda'; + + @override + String get phoneNumberLabel => 'Nombor'; + + @override + String get enterPhoneNumber => 'Masukkan nombor telefon'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Tunggu $countdown saat'; + } + + @override + String get enterCodeTitle => 'Masukkan kod anda'; + + @override + String codeSentToPhone(String phone) { + return 'Kami telah menghantar kod ke $phone'; + } + + @override + String get didntReceiveCode => 'Tidak menerima kod?'; + + @override + String get clickToResend => 'Klik untuk menghantar semula'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Anda boleh meminta kod baru dalam $countdown saat'; + } + + @override + String get closeTooltip => 'Tutup'; + + @override + String get backTooltip => 'Kembali'; + + @override + String get termsOfServiceLink => 'Terma Perkhidmatan'; + + @override + String get privacyPolicyLink => 'Dasar Privasi'; + + @override + String get welcomeBackTitle => 'Selamat kembali'; + + @override + String get welcomeBackSubtitle => + 'Log masuk jika anda sudah mempunyai akaun Doctorina, atau daftar untuk memulakan.'; + + @override + String get passwordRuleLength => 'Dari 8 hingga 128 aksara'; + + @override + String get passwordRuleNumber => 'Sekurang-kurangnya 1 nombor'; + + @override + String get passwordRuleUppercase => 'Sekurang-kurangnya 1 huruf besar'; + + @override + String get passwordRuleMatch => 'Kata laluan sepadan'; + + @override + String get phoneOtpVerificationFailed => + 'Pengesahan OTP gagal. Sila cuba lagi.'; + + @override + String get referralCodeLabel => 'Kod rujukan'; + + @override + String get enterReferralCodeHint => 'Masukkan kod rujukan anda'; + + @override + String get referralCodeExampleHint => + 'Contoh kod rujukan di dalam medan input (E.G. CREATOR2026)'; + + @override + String get haveReferralCodeQuestion => 'Ada kod rujukan?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_my.dart b/example/lib/src/generated/sign_up/sign_up_localization_my.dart new file mode 100644 index 0000000..8d87f30 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_my.dart @@ -0,0 +1,347 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Burmese (`my`). +class SignUpLocalizationMy extends SignUpLocalization { + SignUpLocalizationMy([String locale = 'my']) : super(locale); + + @override + String get logIn => 'Log in'; + + @override + String get password => 'Katalaluan'; + + @override + String get changeNumber => 'Nombor Tukar'; + + @override + String get forgotPassword => 'Lupa Kata Laluan?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'အီးမေးလ်လိပ်စာကိုရိုက်ထည့်ပါ၊ သင်၏စကားဝှက်ကိုပြန်လည်သတ်မှတ်ရန်လင့်ခ်တစ်ခုကိုပို့ပါမည်။'; + + @override + String get rememberYourPasswordQuestion => 'သင်၏စကားဝှက်ကိုမှတ်မိပါသလား?'; + + @override + String get backToLoginButton => 'Saya mempunyai kata laluan'; + + @override + String get continueButton => 'ဆက်လက်လုပ်ဆောင်ပါ'; + + @override + String get passwordResetEmailSentSnackBar => + 'စကားဝှက်ပြန်လည်သတ်မှတ်ရန်အီးမေးလ်ပို့ပြီးပါပြီ'; + + @override + String get resetPasswordButton => 'စကားဝှက်ကိုပြန်လည်သတ်မှတ်ပါ'; + + @override + String get confirmCodeButton => 'Kod disahkan'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'ယနေ့ Doctorina ကို အသုံးပြုရန် စတင်ပါ'; + + @override + String get orDivider => 'သို့'; + + @override + String get enterPasswordForEmailHint => 'Kata laluan anda'; + + @override + String get showPasswordHint => 'စကားဝှက်ကိုပြပါ'; + + @override + String get obscurePasswordHint => 'စကားဝှက်ကိုမှုတ်ပါ'; + + @override + String get clearLoginTooltip => 'Clear login'; + + @override + String get emailOrPhoneLabel => 'အီးမေးလ် သို့မဟုတ် ဖုန်း'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com သို့မဟုတ် +1234567890'; + + @override + String get emailOrPhoneHint => 'အီးမေးလ် သို့မဟုတ် ဖုန်းနံပါတ် ထည့်ပါ'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'ဆက်လက်ရန် သဘောတူညီချက်များကို လက်ခံပါ။'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Saya bersetuju untuk pemprosesan data peribadi,'; + + @override + String get consentTheUseOf => 'အသုံးပြုခြင်း'; + + @override + String get consentCookies => 'kukis'; + + @override + String get consentAgreeToThe => ', setuju dengan'; + + @override + String get consentTermsAndConditions => 'terma dan syarat'; + + @override + String get consentAndAcknowledgeThe => ', dan mengakui bahawa'; + + @override + String get consentPrivacyPolicy => 'dasar privasi'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Saya mengakui bahwa konsultasi saya adalah dengan AI dan bukan profesional medis berlisensi'; + + @override + String get logOutDialogTitle => 'Log out'; + + @override + String get logOutDialogContent => 'Adakah anda pasti untuk log keluar?'; + + @override + String get logOutDialogCancelButton => 'Batal'; + + @override + String get logOutDialogLogOutButton => 'Ya, log out'; + + @override + String get resendCodeButton => 'Hantar semula kod'; + + @override + String resendCodeTimer(String timer) { + return 'Hantar semula kod ($timer)'; + } + + @override + String get consentFull => + 'Saya bersetuju dengan pemprosesan data peribadi, penggunaan cookies, bersetuju dengan syarat dan ketentuan, dan mengakui

dasar privasi

.'; + + @override + String get emailLabel => 'သင့်အီးမေးကို ရိုက်ထည့်ပါ'; + + @override + String get signUpWithEmailTitle => 'အီးမေးလ်ဖြင့် စာရင်းသွင်းခြင်း'; + + @override + String get logInWithEmailTitle => 'အီးမေးလ်ဖြင့် လော့ဂ်အင်လုပ်ပါ'; + + @override + String get phoneLabel => 'သင့်ဖုန်းကိုထည့်ပါ'; + + @override + String get confirmPhoneTitle => 'သင်၏ဖုန်းကိုအတည်ပြုပါ'; + + @override + String get signUpText => 'စာရင်းသွင်းပါ'; + + @override + String get emailHintShort => 'အီးမေးလ်ထည့်ပါ'; + + @override + String get buttonTextSignUpWithGoogle => 'Google ဖြင့် စာရင်းသွင်းပါ'; + + @override + String get buttonTextSignUpWithApple => 'Apple ဖြင့် စာရင်းသွင်းပါ'; + + @override + String get buttonTextSignUpWithPhone => 'ဖုန်းဖြင့် စာရင်းသွင်းပါ'; + + @override + String get buttonTextLoginWithGoogle => 'Google ဖြင့် ဝင်ပါ'; + + @override + String get buttonTextLoginWithApple => 'Apple ဖြင့် ဝင်ရောက်ပါ'; + + @override + String get buttonTextLoginWithPhone => 'ဖုန်းဖြင့် လော့ဂ်အင်'; + + @override + String get youAreLoggedOutMessage => 'သင်ထွက်သွားပါပြီ'; + + @override + String get reloadButtonText => 'ပြန်လည်သွင်းယူပါ'; + + @override + String get emailErrorText => 'မမှန်ကန်သောအီးမေးလ်လိပ်စာ'; + + @override + String get passwordErrorText => 'စကားဝှက်သည် အနည်းဆုံး ၆ လုံးရှိရမည်'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'မမှန်သောဖုန်းနံပါတ်: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'ကျေးဇူးပြု၍ အသစ်သောကုဒ်တောင်းဆိုမှုမပြုမီ $seconds စက္ကန့်စောင့်ပါ။'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'မှားယွင်းသော ဖုန်းကုဒ်: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'စည်းမျဉ်းစည်းကမ်းများ'; + + @override + String get continueAsGuestBtn => 'ဧည့်သည်အနေနှင့် ဆက်လက်ပါ'; + + @override + String get noAccountYetPromptText => + 'အကောင့်မရှိသေးရဲ့လား?

စာရင်းသွင်းပါ

'; + + @override + String get alreadyHaveAccountPromptText => + 'အကောင့်ရှိပြီးလား?

လော့ဂ်အင်

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Anda perlu mendaftar sebelum anda boleh meneruskan dengan Premium'; + + @override + String get loginSubtitle => + 'ကိုယ်ပိုင်အကြောင်းအရာများရယူပြီး သင့်လူမှုကွန်ရက်နှင့် ဆက်သွယ်ပါ!'; + + @override + String get emailFieldLabel => 'အီးမေးလ်'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'သင်၏စကားဝှက်ကိုပြန်လည်ရယူပါ'; + + @override + String get createAccountTitle => 'အကောင့်တစ်ခုဖန်တီးပါ'; + + @override + String get createAccountSubtitle => + 'ကျွန်ုပ်တို့သည် သင့်ကျန်းမာရေးဒေတာကို လုံခြုံစွာ သိမ်းဆည်းရန်နှင့် သင့်အကဲဖြတ်မှုကို ဆက်လက်လုပ်ဆောင်ရန် အကောင့်တစ်ခုလိုအပ်သည်။'; + + @override + String get repeatLabel => 'ထပ်မံ'; + + @override + String get repeatPasswordHint => 'သင်၏စကားဝှက်ကိုထပ်မံရိုက်ထည့်ပါ'; + + @override + String get confirmButton => 'အတည်ပြုပါ'; + + @override + String get noAccountPrompt => 'အကောင့်မရှိပါလား?'; + + @override + String get alreadyHaveAccountPrompt => 'အကောင့်ရှိပါသလား?'; + + @override + String get createPasswordHeader => 'စကားဝှက်တစ်ခုဖန်တီးပါ'; + + @override + String get phoneHeader => 'ဖုန်း'; + + @override + String get verifyPhoneHeader => 'ဖုန်းကို အတည်ပြုပါ'; + + @override + String get phoneTitle => 'သင်၏နံပါတ်ကဘာလဲ?'; + + @override + String get phoneSubtitle => + 'ကျွန်ုပ်တို့သည် သင့်ဖုန်းကို အတည်ပြုရန် ကုဒ်တစ်ခုကို စာတိုပို့ပါမည်'; + + @override + String get phoneNumberLabel => 'နံပါတ်'; + + @override + String get enterPhoneNumber => 'ဖုန်းနံပါတ်ထည့်ပါ'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'စောင့်ဆိုင်းပါ $countdown စက္ကန့်'; + } + + @override + String get enterCodeTitle => 'သင်၏ကုဒ်ကိုထည့်ပါ'; + + @override + String codeSentToPhone(String phone) { + return '$phone သို့ ကုဒ်တစ်ခု ပို့ခဲ့ပါသည်'; + } + + @override + String get didntReceiveCode => 'ကုဒ်မရပါဘူးလား?'; + + @override + String get clickToResend => 'ပြန်ပို့ရန်နှိပ်ပါ'; + + @override + String requestNewCodeCountdown(int countdown) { + return '$countdown စက္ကန့်အတွင်း သင်သည် ကုဒ်အသစ်တောင်းဆိုနိုင်သည်'; + } + + @override + String get closeTooltip => 'ပိတ်ပါ'; + + @override + String get backTooltip => 'ပြန်သွားမည်'; + + @override + String get termsOfServiceLink => 'ဝန်ဆောင်မှုအခြေအနေများ'; + + @override + String get privacyPolicyLink => 'ကိုယ်ရေးကိုယ်တာ မူဝါဒ'; + + @override + String get welcomeBackTitle => 'မင်္ဂလာပါ ပြန်လာတာဝမ်းသာပါတယ်'; + + @override + String get welcomeBackSubtitle => + 'လက်ရှိ Doctorina အကောင့်ရှိပါက ဝင်ရောက်ပါ၊ သို့မဟုတ် စတင်ရန် စာရင်းသွင်းပါ။'; + + @override + String get passwordRuleLength => '8 မှ 128 အက္ခရာ'; + + @override + String get passwordRuleNumber => 'အနည်းဆုံး ၁ နံပါတ်'; + + @override + String get passwordRuleUppercase => 'အနည်းဆုံး ၁ လက်ရှိအကြီးအစားစာလုံး'; + + @override + String get passwordRuleMatch => 'စကားဝှက်များကို ကိုက်ညီသည်'; + + @override + String get phoneOtpVerificationFailed => + 'OTP အတည်ပြုခြင်း မအောင်မြင်ပါ။ ထပ်မံကြိုးစားပါ။'; + + @override + String get referralCodeLabel => 'ညွှန်ကြားချက်ကုဒ်'; + + @override + String get enterReferralCodeHint => 'သင်၏ referral ကုဒ်ကို ထည့်ပါ'; + + @override + String get referralCodeExampleHint => 'ဥပမာ CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'သင့်တွင် referral code ရှိပါသလား?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ne.dart b/example/lib/src/generated/sign_up/sign_up_localization_ne.dart new file mode 100644 index 0000000..a33dfb7 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_ne.dart @@ -0,0 +1,346 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Nepali (`ne`). +class SignUpLocalizationNe extends SignUpLocalization { + SignUpLocalizationNe([String locale = 'ne']) : super(locale); + + @override + String get logIn => 'लगइन गर्नुहोस्'; + + @override + String get password => 'पासवर्ड'; + + @override + String get changeNumber => 'संख्या परिवर्तन गर्नुहोस्'; + + @override + String get forgotPassword => 'पासवर्ड बिर्सनुभयो?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'तपाईंको इमेल ठेगाना प्रविष्ट गर्नुहोस्, र हामी तपाईंलाई पासवर्ड रिसेट गर्नको लागि लिंक पठाउनेछौं।'; + + @override + String get rememberYourPasswordQuestion => 'तपाईंको पासवर्ड सम्झनुहुन्छ?'; + + @override + String get backToLoginButton => 'मसँग पासवर्ड छ'; + + @override + String get continueButton => 'जारी राख्नुहोस्'; + + @override + String get passwordResetEmailSentSnackBar => 'पासवर्ड रिसेट इमेल पठाइएको छ'; + + @override + String get resetPasswordButton => 'पासवर्ड रिसेट गर्नुहोस्'; + + @override + String get confirmCodeButton => 'कोड पुष्टि गर्नुहोस्'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'आज Doctorina प्रयोग गर्न सुरु गर्नुहोस्'; + + @override + String get orDivider => 'वा'; + + @override + String get enterPasswordForEmailHint => 'तपाईंको पासवर्ड प्रविष्ट गर्नुहोस्'; + + @override + String get showPasswordHint => 'पासवर्ड देखाउनुहोस्'; + + @override + String get obscurePasswordHint => 'गोप्य पासवर्ड'; + + @override + String get clearLoginTooltip => 'लॉगिन स्पष्ट गर्नुहोस्'; + + @override + String get emailOrPhoneLabel => 'इमेल वा फोन'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com वा +1234567890'; + + @override + String get emailOrPhoneHint => 'इमेल वा फोन नम्बर प्रविष्ट गर्नुहोस्'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'कृपया सम्झौताहरू स्वीकार गर्नुहोस्।'; + + @override + String get consentToTheProcessingOfPersonalData => + 'म मर्मतको लागि व्यक्तिगत डेटा प्रशोधन गर्न सहमत छु,'; + + @override + String get consentTheUseOf => 'प्रयोग'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', सहमत हुनुहुन्छ'; + + @override + String get consentTermsAndConditions => 'शर्तहरू र अवस्था'; + + @override + String get consentAndAcknowledgeThe => ', र स्वीकृत गर्नुहोस्'; + + @override + String get consentPrivacyPolicy => 'गोपनीयता नीति'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'म म मेरो परामर्श एआईसँग भएको र कुनै लाइसेन्स प्राप्त चिकित्सा पेशेवरसँग नभएको कुरा स्वीकार गर्दछु।'; + + @override + String get logOutDialogTitle => 'लगआउट'; + + @override + String get logOutDialogContent => 'के तपाईँ बाहिर जान्न निश्चित हुनुहुन्छ?'; + + @override + String get logOutDialogCancelButton => 'रद्द गर्नुहोस्'; + + @override + String get logOutDialogLogOutButton => 'हो, लगआउट गर्नुहोस्'; + + @override + String get resendCodeButton => 'कोड पुनः पठाउनुहोस्'; + + @override + String resendCodeTimer(String timer) { + return 'कोड पुनः पठाउनुहोस् ($timer)'; + } + + @override + String get consentFull => + 'म व्यक्तिगत डाटाको प्रशोधन, कुकिज को प्रयोग, नियम तथा शर्तहरू सँग सहमत छु, र

गोपनीयता नीति

स्वीकार गर्दछु'; + + @override + String get emailLabel => 'आफ्नो इमेल प्रविष्ट गर्नुहोस्'; + + @override + String get signUpWithEmailTitle => 'इमेलद्वारा साइन अप गर्नुहोस्'; + + @override + String get logInWithEmailTitle => 'इमेल मार्फत लगइन गर्नुहोस्'; + + @override + String get phoneLabel => 'तपाईंको फोन प्रविष्ट गर्नुहोस्'; + + @override + String get confirmPhoneTitle => 'तपाईंको फोन पुष्टि गर्नुहोस्'; + + @override + String get signUpText => 'साइन अप गर्नुहोस्'; + + @override + String get emailHintShort => 'इमेल प्रविष्ट गर्नुहोस्'; + + @override + String get buttonTextSignUpWithGoogle => 'Google मार्फत साइन अप गर्नुहोस्'; + + @override + String get buttonTextSignUpWithApple => 'Apple संग साइन अप गर्नुहोस्'; + + @override + String get buttonTextSignUpWithPhone => 'फोनबाट साइन अप गर्नुहोस्'; + + @override + String get buttonTextLoginWithGoogle => 'Google मार्फत लगइन गर्नुहोस्'; + + @override + String get buttonTextLoginWithApple => 'Apple सँग लगइन गर्नुहोस्'; + + @override + String get buttonTextLoginWithPhone => 'फोनबाट लगइन गर्नुहोस्'; + + @override + String get youAreLoggedOutMessage => 'तपाईं लगआउट हुनु भयो'; + + @override + String get reloadButtonText => 'पुनः लोड गर्नुहोस्'; + + @override + String get emailErrorText => 'अमान्य ईमेल ठेगाना'; + + @override + String get passwordErrorText => 'पासवर्ड कम्तीमा ६ अक्षरको हुनुपर्छ'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'अवैध फोन नम्बर: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'कृपया नयाँ कोड अनुरोध गर्नुभन्दा पहिले $seconds सेकेन्ड पर्खनुहोस्।'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'अमान्य फोन कोड: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'नियम तथा शर्तहरू'; + + @override + String get continueAsGuestBtn => 'अतिथिको रूपमा जारी राख्नुहोस्'; + + @override + String get noAccountYetPromptText => 'अझै खाता छैन?

साइन अप गर्नुहोस्

'; + + @override + String get alreadyHaveAccountPromptText => + 'पहिले नै खाता छ?

लग इन गर्नुहोस्

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'तपाईंलाई प्रीमियमसँग अगाडि बढ्नको लागि साइन अप गर्न आवश्यक छ'; + + @override + String get loginSubtitle => + 'व्यक्तिगत सामग्री प्राप्त गर्नुहोस् र आफ्नो समुदायसँग सम्पर्कमा रहनुहोस्!'; + + @override + String get emailFieldLabel => 'ई-मेल'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'तपाईंको पासवर्ड पुनः प्राप्त गर्नुहोस्'; + + @override + String get createAccountTitle => 'खाता सिर्जना गर्नुहोस्'; + + @override + String get createAccountSubtitle => + 'हामीलाई तपाईंको स्वास्थ्य डेटा सुरक्षित रूपमा बचत गर्न र तपाईंको मूल्याङ्कन जारी राख्न खाता आवश्यक छ।'; + + @override + String get repeatLabel => 'दोहराउनुहोस्'; + + @override + String get repeatPasswordHint => 'तपाईंको पासवर्ड दोहोर्याउनुहोस्'; + + @override + String get confirmButton => 'पुष्टि गर्नुहोस्'; + + @override + String get noAccountPrompt => 'खाता छैन?'; + + @override + String get alreadyHaveAccountPrompt => 'पहिले नै खाता छ?'; + + @override + String get createPasswordHeader => 'पासवर्ड बनाउनुहोस्'; + + @override + String get phoneHeader => 'फोन'; + + @override + String get verifyPhoneHeader => 'फोनको पुष्टि गर्नुहोस्'; + + @override + String get phoneTitle => 'तपाईंको नम्बर के हो?'; + + @override + String get phoneSubtitle => + 'हामी तपाईंको फोनको प्रमाणीकरण गर्न कोड पठाउनेछौं'; + + @override + String get phoneNumberLabel => 'नम्बर'; + + @override + String get enterPhoneNumber => 'फोन नम्बर प्रविष्ट गर्नुहोस्'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return '$countdown सेकेन्ड पर्खनुहोस्'; + } + + @override + String get enterCodeTitle => 'तपाईंको कोड प्रविष्ट गर्नुहोस्'; + + @override + String codeSentToPhone(String phone) { + return 'हामीले $phone मा कोड पठायौं'; + } + + @override + String get didntReceiveCode => 'कोड प्राप्त भएन?'; + + @override + String get clickToResend => 'पुन: पठाउनको लागि क्लिक गर्नुहोस्'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'तपाईं $countdown सेकेन्डमा नयाँ कोडको लागि अनुरोध गर्न सक्नुहुन्छ'; + } + + @override + String get closeTooltip => 'बन्द गर्नुहोस्'; + + @override + String get backTooltip => 'फिर्ता'; + + @override + String get termsOfServiceLink => 'सेवाको शर्तहरू'; + + @override + String get privacyPolicyLink => 'गोपनीयता नीति'; + + @override + String get welcomeBackTitle => 'फेरि स्वागत छ'; + + @override + String get welcomeBackSubtitle => + 'यदि तपाईंसँग पहिले नै Doctorina खाता छ भने लग इन गर्नुहोस्, वा सुरु गर्न साइन अप गर्नुहोस्।'; + + @override + String get passwordRuleLength => '8 देखि 128 अक्षर'; + + @override + String get passwordRuleNumber => 'कम्तिमा 1 संख्या'; + + @override + String get passwordRuleUppercase => 'कम्तिमा 1 ठूला अक्षर'; + + @override + String get passwordRuleMatch => 'पासवर्ड मिल्छ'; + + @override + String get phoneOtpVerificationFailed => + 'OTP प्रमाणीकरण असफल भयो। कृपया फेरि प्रयास गर्नुहोस्।'; + + @override + String get referralCodeLabel => 'रेफरल कोड'; + + @override + String get enterReferralCodeHint => 'तपाईंको सन्दर्भ कोड प्रविष्ट गर्नुहोस्'; + + @override + String get referralCodeExampleHint => + 'इनपुट क्षेत्रमा सन्दर्भ कोडको उदाहरण (E.G. CREATOR2026)'; + + @override + String get haveReferralCodeQuestion => 'के तपाईंसँग सन्दर्भ कोड छ?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_nl.dart b/example/lib/src/generated/sign_up/sign_up_localization_nl.dart new file mode 100644 index 0000000..238b5c5 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_nl.dart @@ -0,0 +1,345 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Dutch Flemish (`nl`). +class SignUpLocalizationNl extends SignUpLocalization { + SignUpLocalizationNl([String locale = 'nl']) : super(locale); + + @override + String get logIn => 'Inloggen'; + + @override + String get password => 'Wachtwoord'; + + @override + String get changeNumber => 'Nummer wijzigen'; + + @override + String get forgotPassword => 'Wachtwoord vergeten?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Voer uw e-mailadres in, en we sturen u een link om uw wachtwoord opnieuw in te stellen.'; + + @override + String get rememberYourPasswordQuestion => 'Vergeet je wachtwoord niet?'; + + @override + String get backToLoginButton => 'Ik heb een wachtwoord'; + + @override + String get continueButton => 'Doorgaan'; + + @override + String get passwordResetEmailSentSnackBar => + 'E-mail voor wachtwoordreset verzonden'; + + @override + String get resetPasswordButton => 'Wachtwoord resetten'; + + @override + String get confirmCodeButton => 'Bevestig code'; + + @override + String get startUsingDoctorinaTodaySubtitle => 'Begin vandaag met Doctorina'; + + @override + String get orDivider => 'OF'; + + @override + String get enterPasswordForEmailHint => 'Voer uw wachtwoord in'; + + @override + String get showPasswordHint => 'Toon wachtwoord'; + + @override + String get obscurePasswordHint => 'Verberg wachtwoord'; + + @override + String get clearLoginTooltip => 'Login wissen'; + + @override + String get emailOrPhoneLabel => 'E-mail of telefoon'; + + @override + String get emailOrPhoneLabelExample => 'naam@gmail.com of +1234567890'; + + @override + String get emailOrPhoneHint => 'Voer e-mailadres of telefoonnummer in'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Accepteer de overeenkomsten om door te gaan.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Ik stem in met de verwerking van persoonlijke gegevens,'; + + @override + String get consentTheUseOf => 'het gebruik van'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', ga akkoord met'; + + @override + String get consentTermsAndConditions => 'voorwaarden en condities'; + + @override + String get consentAndAcknowledgeThe => ', en erkent u de'; + + @override + String get consentPrivacyPolicy => 'privacybeleid'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Ik erken dat mijn consultatie met een AI is en niet met een erkende medische professional'; + + @override + String get logOutDialogTitle => 'Uitloggen'; + + @override + String get logOutDialogContent => 'Weet je zeker dat je wilt uitloggen?'; + + @override + String get logOutDialogCancelButton => 'Annuleren'; + + @override + String get logOutDialogLogOutButton => 'Ja, uitloggen'; + + @override + String get resendCodeButton => 'Code opnieuw verzenden'; + + @override + String resendCodeTimer(String timer) { + return 'Code opnieuw verzenden ($timer)'; + } + + @override + String get consentFull => + 'Ik stem in met de verwerking van persoonlijke gegevens, het gebruik van cookies, ga akkoord met de voorwaarden en erken de

privacyverklaring

.'; + + @override + String get emailLabel => 'Voer je e-mail in'; + + @override + String get signUpWithEmailTitle => 'Aanmelden met e-mail'; + + @override + String get logInWithEmailTitle => 'Inloggen met e-mail'; + + @override + String get phoneLabel => 'Voer uw telefoon in'; + + @override + String get confirmPhoneTitle => 'Bevestig je telefoon'; + + @override + String get signUpText => 'Aanmelden'; + + @override + String get emailHintShort => 'Voer e-mail in'; + + @override + String get buttonTextSignUpWithGoogle => 'Meld je aan met Google'; + + @override + String get buttonTextSignUpWithApple => 'Registreer met Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Registreer met telefoon'; + + @override + String get buttonTextLoginWithGoogle => 'Inloggen met Google'; + + @override + String get buttonTextLoginWithApple => 'Inloggen met Apple'; + + @override + String get buttonTextLoginWithPhone => 'Inloggen met telefoon'; + + @override + String get youAreLoggedOutMessage => 'U bent uitgelogd'; + + @override + String get reloadButtonText => 'Opnieuw laden'; + + @override + String get emailErrorText => 'Ongeldig e-mailadres'; + + @override + String get passwordErrorText => + 'Het wachtwoord moet uit minimaal 6 tekens bestaan'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Ongeldig telefoonnummer: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Wacht $seconds seconden voordat je een nieuwe code aanvraagt.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Ongeldige telefooncode: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Algemene voorwaarden'; + + @override + String get continueAsGuestBtn => 'Doorgaan als gast'; + + @override + String get noAccountYetPromptText => 'Nog geen account?

Registreer

'; + + @override + String get alreadyHaveAccountPromptText => + 'Heb je al een account?

Inloggen

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Je moet je aanmelden voordat je verder kunt met Premium'; + + @override + String get loginSubtitle => + 'Krijg gepersonaliseerde inhoud en blijf in contact met je gemeenschap!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Herstel uw wachtwoord'; + + @override + String get createAccountTitle => 'Een account aanmaken'; + + @override + String get createAccountSubtitle => + 'We hebben een account nodig om uw gezondheidsgegevens veilig op te slaan en uw beoordeling voort te zetten.'; + + @override + String get repeatLabel => 'Herhaal'; + + @override + String get repeatPasswordHint => 'Herhaal uw wachtwoord'; + + @override + String get confirmButton => 'Bevestigen'; + + @override + String get noAccountPrompt => 'Heb je geen account?'; + + @override + String get alreadyHaveAccountPrompt => 'Al een account?'; + + @override + String get createPasswordHeader => 'Maak een wachtwoord aan'; + + @override + String get phoneHeader => 'Telefoon'; + + @override + String get verifyPhoneHeader => 'Verifieer telefoon'; + + @override + String get phoneTitle => 'Wat is uw nummer?'; + + @override + String get phoneSubtitle => 'We sturen een code om uw telefoon te verifiëren'; + + @override + String get phoneNumberLabel => 'Nummer'; + + @override + String get enterPhoneNumber => 'Voer telefoonnummer in'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Wacht $countdown seconden'; + } + + @override + String get enterCodeTitle => 'Voer uw code in'; + + @override + String codeSentToPhone(String phone) { + return 'We hebben een code gestuurd naar $phone'; + } + + @override + String get didntReceiveCode => 'Heeft u de code niet ontvangen?'; + + @override + String get clickToResend => 'Klik om opnieuw te verzenden'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'U kunt een nieuwe code aanvragen in $countdown seconden'; + } + + @override + String get closeTooltip => 'Sluiten'; + + @override + String get backTooltip => 'Terug'; + + @override + String get termsOfServiceLink => 'Voorwaarden'; + + @override + String get privacyPolicyLink => 'Privacybeleid'; + + @override + String get welcomeBackTitle => 'Welkom terug'; + + @override + String get welcomeBackSubtitle => + 'Log in als je al een Doctorina-account hebt, of meld je aan om te beginnen.'; + + @override + String get passwordRuleLength => 'Van 8 tot 128 tekens'; + + @override + String get passwordRuleNumber => 'Minimaal 1 cijfer'; + + @override + String get passwordRuleUppercase => 'Minimaal 1 hoofdletter'; + + @override + String get passwordRuleMatch => 'Wachtwoorden komen overeen'; + + @override + String get phoneOtpVerificationFailed => + 'OTP-verificatie is mislukt. Probeer het opnieuw.'; + + @override + String get referralCodeLabel => 'Verwijscode'; + + @override + String get enterReferralCodeHint => 'Voer uw referralcode in'; + + @override + String get referralCodeExampleHint => 'Bijv. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Heeft u een referral code?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_pa.dart b/example/lib/src/generated/sign_up/sign_up_localization_pa.dart new file mode 100644 index 0000000..7949d90 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_pa.dart @@ -0,0 +1,686 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Panjabi Punjabi (`pa`). +class SignUpLocalizationPa extends SignUpLocalization { + SignUpLocalizationPa([String locale = 'pa']) : super(locale); + + @override + String get logIn => 'ਲਾਗਿਨ ਕਰੋ'; + + @override + String get password => 'ਪਾਸਵਰਡ'; + + @override + String get changeNumber => 'ਨੰਬਰ ਬਦਲੋ'; + + @override + String get forgotPassword => 'ਕੀ ਤੁਸੀਂ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'ਆਪਣਾ ਈਮੇਲ ਪਤਾ ਦਰਜ ਕਰੋ, ਅਤੇ ਅਸੀਂ ਤੁਹਾਨੂੰ ਆਪਣਾ ਪਾਸਵਰਡ ਰੀਸੈਟ ਕਰਨ ਲਈ ਇੱਕ ਲਿੰਕ ਭੇਜਾਂਗੇ.'; + + @override + String get rememberYourPasswordQuestion => + 'ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਪਾਸਵਰਡ ਯਾਦ ਰੱਖਦੇ ਹੋ?'; + + @override + String get backToLoginButton => 'ਮੇਰੇ ਕੋਲ ਪਾਸਵਰਡ ਹੈ'; + + @override + String get continueButton => 'ਜਾਰੀ ਰੱਖੋ'; + + @override + String get passwordResetEmailSentSnackBar => 'ਪਾਸਵਰਡ ਰੀਸੈਟ ਈਮੇਲ ਭੇਜਿਆ ਗਿਆ'; + + @override + String get resetPasswordButton => 'ਪਾਸਵਰਡ ਦੁਬਾਰਾ ਸੈਟ ਕਰੋ'; + + @override + String get confirmCodeButton => 'ਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'ਅੱਜ ਹੀ ਡਾਕਟਰਿਨਾ ਦੀ ਵਰਤੋਂ ਸ਼ੁਰੂ ਕਰੋ'; + + @override + String get orDivider => 'ਜਾਂ'; + + @override + String get enterPasswordForEmailHint => 'ਆਪਣਾ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ'; + + @override + String get showPasswordHint => 'ਪਾਸਵਰਡ ਦਿਖਾਓ'; + + @override + String get obscurePasswordHint => 'ਪਾਸਵਰਡ ਛੁਪਾਓ'; + + @override + String get clearLoginTooltip => 'ਲੌਗਿਨ ਸਾਫ਼ ਕਰੋ'; + + @override + String get emailOrPhoneLabel => 'ਈਮੇਲ ਜਾਂ ਫੋਨ'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com ਜਾਂ +1234567890'; + + @override + String get emailOrPhoneHint => 'ਈਮੇਲ ਜਾਂ ਫੋਨ ਨੰਬਰ ਦਰਜ ਕਰੋ'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'ਕਿਰਪਾ ਕਰਕੇ ਅਗੇ ਵਧਣ ਲਈ ਸਹਿਮਤੀਆਂ ਨੂੰ ਮਨਜ਼ੂਰ ਕਰੋ।'; + + @override + String get consentToTheProcessingOfPersonalData => + 'ਮੈਂ ਨਿੱਜੀ ਡਾਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ ਲਈ ਸਹਿਮਤ ਹਾਂ,'; + + @override + String get consentTheUseOf => 'ਦੇ ਇਸਤੇਮਾਲ'; + + @override + String get consentCookies => 'ਕੁਕੀਜ਼'; + + @override + String get consentAgreeToThe => ', ਸਹਿਮਤ ਹਾਂ'; + + @override + String get consentTermsAndConditions => 'ਸ਼ਰਤਾਂ ਅਤੇ ਨਿਯਮ'; + + @override + String get consentAndAcknowledgeThe => ', ਅਤੇ ਸਵੀਕਾਰ ਕਰੋ'; + + @override + String get consentPrivacyPolicy => 'ਗੋਪਨੀਯਤਾ ਨੀਤੀ'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'ਮੈਂ ਮੰਨਦਾ ਹਾਂ ਕਿ ਮੇਰੀ ਸਲਾਹ-ਮਸ਼ਵਰਾ ਇੱਕ ਏ.ਆਈ. ਨਾਲ ਹੈ ਅਤੇ ਨਾ ਕਿ ਕਿਸੇ ਲਾਇਸੈਂਸ ਪ੍ਰਾਪਤ ਮੈਡੀਕਲ ਪੇਸ਼ੇਵਰ ਨਾਲ.'; + + @override + String get logOutDialogTitle => 'ਲੌਗ ਆਉਟ'; + + @override + String get logOutDialogContent => 'ਕੀ ਤੁਸੀਂ ਲੌਗ ਆਉਟ ਹੋਣ ਲਈ ਯਕੀਨੀ ਹੋ?'; + + @override + String get logOutDialogCancelButton => 'ਰੱਦ ਕਰੋ'; + + @override + String get logOutDialogLogOutButton => 'ਹਾਂ, ਲੌਗ ਆਉਟ ਕਰੋ'; + + @override + String get resendCodeButton => 'ਕੋਡ ਦੁਬਾਰਾ ਭੇਜੋ'; + + @override + String resendCodeTimer(String timer) { + return 'ਕੋਡ ਦੁਬਾਰਾ ਭੇਜੋ ($timer)'; + } + + @override + String get consentFull => + 'ਮੈਂ ਨਿੱਜੀ ਡੇਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ, ਕੁਕੀਜ਼ ਦੇ ਇਸਤੇਮਾਲ, ਸ਼ਰਤਾਂ ਅਤੇ ਨਿਯਮਾਂ ਨਾਲ ਸਹਿਮਤ ਹਾਂ, ਅਤੇ

ਗੋਪਨੀਯਤਾ ਨੀਤੀ

ਨੂੰ ਮੰਨਦਾ ਹਾਂ।'; + + @override + String get emailLabel => 'ਆਪਣਾ ਈਮੇਲ ਦਰਜ ਕਰੋ'; + + @override + String get signUpWithEmailTitle => 'ਈਮੇਲ ਨਾਲ ਸਾਈਨ ਅਪ ਕਰੋ'; + + @override + String get logInWithEmailTitle => 'ਈ-ਮੇਲ ਨਾਲ ਲੌਗ ਇਨ ਕਰੋ'; + + @override + String get phoneLabel => 'ਆਪਣਾ ਫ਼ੋਨ ਦਰਜ ਕਰੋ'; + + @override + String get confirmPhoneTitle => 'ਆਪਣਾ ਫ਼ੋਨ ਪੁਸ਼ਟੀ ਕਰੋ'; + + @override + String get signUpText => 'ਸਾਈਨ ਅਪ ਕਰੋ'; + + @override + String get emailHintShort => 'ਈਮੇਲ ਦਰਜ ਕਰੋ'; + + @override + String get buttonTextSignUpWithGoogle => 'Google ਨਾਲ ਸਾਈਨ ਅੱਪ ਕਰੋ'; + + @override + String get buttonTextSignUpWithApple => 'Apple ਨਾਲ ਸਾਈਨ ਅੱਪ ਕਰੋ'; + + @override + String get buttonTextSignUpWithPhone => 'ਫੋਨ ਨਾਲ ਸਾਈਨਅਪ ਕਰੋ'; + + @override + String get buttonTextLoginWithGoogle => 'Google ਨਾਲ ਲੌਗਿਨ ਕਰੋ'; + + @override + String get buttonTextLoginWithApple => 'Apple ਨਾਲ ਲਾਗਇਨ ਕਰੋ'; + + @override + String get buttonTextLoginWithPhone => 'ਫੋਨ ਨਾਲ ਲੌਗਇਨ ਕਰੋ'; + + @override + String get youAreLoggedOutMessage => 'ਤੁਸੀਂ ਲਾਗ ਆਉਟ ਹੋ ਚੁੱਕੇ ਹੋ'; + + @override + String get reloadButtonText => 'ਰੀਲੋਡ ਕਰੋ'; + + @override + String get emailErrorText => 'ਗਲਤ ਈਮੇਲ ਪਤਾ'; + + @override + String get passwordErrorText => 'ਪਾਸਵਰਡ ਘੱਟੋ-ਘੱਟ 6 ਅੱਖਰਾਂ ਦਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'ਗਲਤ ਫ਼ੋਨ ਨੰਬਰ: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'ਕ੍ਰਿਪਾ ਕਰਕੇ ਨਵਾਂ ਕੋਡ ਮੰਗਣ ਤੋਂ ਪਹਿਲਾਂ $seconds ਸਕਿੰਟ ਰੁਕੋ.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'ਗਲਤ ਫੋਨ ਕੋਡ: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'ਸ਼ਰਤਾਂ ਅਤੇ ਨਿਯਮ'; + + @override + String get continueAsGuestBtn => 'ਮਿਹਮਾਨ ਵਜੋਂ ਜਾਰੀ ਰੱਖੋ'; + + @override + String get noAccountYetPromptText => 'ਹੁਣੇ ਤੱਕ ਖਾਤਾ ਨਹੀਂ?

ਸਾਈਨ ਅਪ ਕਰੋ

'; + + @override + String get alreadyHaveAccountPromptText => + 'ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਖਾਤਾ ਹੈ?

ਲਾਗਿਨ ਕਰੋ

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'ਤੁਹਾਨੂੰ ਪ੍ਰੀਮੀਅਮ ਨਾਲ ਜਾਰੀ ਰੱਖਣ ਤੋਂ ਪਹਿਲਾਂ ਸਾਈਨ ਅਪ ਕਰਨਾ ਪਵੇਗਾ'; + + @override + String get loginSubtitle => + 'ਨਿੱਜੀ ਸਮੱਗਰੀ ਪ੍ਰਾਪਤ ਕਰੋ ਅਤੇ ਆਪਣੇ ਸਮੁਦਾਇ ਨਾਲ ਸੰਪਰਕ ਵਿੱਚ ਰਹੋ!'; + + @override + String get emailFieldLabel => 'ਈ-ਮੇਲ'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'ਆਪਣਾ ਪਾਸਵਰਡ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰੋ'; + + @override + String get createAccountTitle => 'ਖਾਤਾ ਬਣਾਓ'; + + @override + String get createAccountSubtitle => + 'ਸਾਨੂੰ ਤੁਹਾਡੇ ਸਿਹਤ ਡੇਟਾ ਨੂੰ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਸੇਵ ਕਰਨ ਅਤੇ ਤੁਹਾਡੀ ਮੁਲਾਂਕਣ ਜਾਰੀ ਰੱਖਣ ਲਈ ਇੱਕ ਖਾਤੇ ਦੀ ਲੋੜ ਹੈ।'; + + @override + String get repeatLabel => 'ਦੁਹਰਾਓ'; + + @override + String get repeatPasswordHint => 'ਆਪਣਾ ਪਾਸਵਰਡ ਦੁਬਾਰਾ ਦਾਖਲ ਕਰੋ'; + + @override + String get confirmButton => 'ਪੁਸ਼ਟੀ ਕਰੋ'; + + @override + String get noAccountPrompt => 'ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਖਾਤਾ ਨਹੀਂ ਹੈ?'; + + @override + String get alreadyHaveAccountPrompt => 'ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਖਾਤਾ ਹੈ?'; + + @override + String get createPasswordHeader => 'ਪਾਸਵਰਡ ਬਣਾਓ'; + + @override + String get phoneHeader => 'ਫੋਨ'; + + @override + String get verifyPhoneHeader => 'ਫੋਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ'; + + @override + String get phoneTitle => 'ਤੁਹਾਡਾ ਨੰਬਰ ਕੀ ਹੈ?'; + + @override + String get phoneSubtitle => + 'ਅਸੀਂ ਤੁਹਾਡੇ ਫੋਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਇੱਕ ਕੋਡ ਭੇਜਾਂਗੇ'; + + @override + String get phoneNumberLabel => 'ਨੰਬਰ'; + + @override + String get enterPhoneNumber => 'ਫੋਨ ਨੰਬਰ ਦਰਜ ਕਰੋ'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'ਇੰਤਜ਼ਾਰ ਕਰੋ $countdown ਸਕਿੰਟ'; + } + + @override + String get enterCodeTitle => 'ਆਪਣਾ ਕੋਡ ਦਰਜ ਕਰੋ'; + + @override + String codeSentToPhone(String phone) { + return 'ਅਸੀਂ $phone ਤੇ ਇੱਕ ਕੋਡ ਭੇਜਿਆ ਹੈ'; + } + + @override + String get didntReceiveCode => 'ਕੋਡ ਨਹੀਂ ਮਿਲਿਆ?'; + + @override + String get clickToResend => 'ਮੁੜ ਭੇਜਣ ਲਈ ਕਲਿੱਕ ਕਰੋ'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'ਤੁਸੀਂ $countdown ਸਕਿੰਟਾਂ ਵਿੱਚ ਨਵਾਂ ਕੋਡ ਮੰਗ ਸਕਦੇ ਹੋ'; + } + + @override + String get closeTooltip => 'ਬੰਦ ਕਰੋ'; + + @override + String get backTooltip => 'ਵਾਪਸ'; + + @override + String get termsOfServiceLink => 'ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ'; + + @override + String get privacyPolicyLink => 'ਗੋਪਨੀਯਤਾ ਨੀਤੀ'; + + @override + String get welcomeBackTitle => 'ਵਾਪਸ ਆਉਣ \'ਤੇ ਸੁਆਗਤ ਹੈ'; + + @override + String get welcomeBackSubtitle => + 'ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ Doctorina ਖਾਤਾ ਹੈ ਤਾਂ ਲੌਗ ਇਨ ਕਰੋ, ਜਾਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ.'; + + @override + String get passwordRuleLength => '8 ਤੋਂ 128 ਅੱਖਰ'; + + @override + String get passwordRuleNumber => 'ਘੱਟੋ-ਘੱਟ 1 ਨੰਬਰ'; + + @override + String get passwordRuleUppercase => 'ਘੱਟੋ-ਘੱਟ 1 ਵੱਡਾ ਅੱਖਰ'; + + @override + String get passwordRuleMatch => 'ਪਾਸਵਰਡ ਮਿਲਦੇ ਹਨ'; + + @override + String get phoneOtpVerificationFailed => + 'OTP ਪੁਸ਼ਟੀਕਰਨ ਅਸਫਲ ਰਿਹਾ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।'; + + @override + String get referralCodeLabel => 'Referral code'; + + @override + String get enterReferralCodeHint => 'ਆਪਣਾ ਰਿਫਰਲ ਕੋਡ ਦਰਜ ਕਰੋ'; + + @override + String get referralCodeExampleHint => 'ਉਦਾਹਰਨ: CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਰਿਫਰਲ ਕੋਡ ਹੈ?'; +} + +/// The translations for Panjabi Punjabi, as used in Pakistan (`pa_PK`). +class SignUpLocalizationPaPk extends SignUpLocalizationPa { + SignUpLocalizationPaPk() : super('pa_PK'); + + @override + String get logIn => 'لاگ ان'; + + @override + String get password => 'پاس ورڈ'; + + @override + String get changeNumber => 'نمبر تبدیل کریں'; + + @override + String get forgotPassword => 'پاس ورڈ بھول گئے؟'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'اپنا ای میل پتہ درج کریں، اور ہم آپ کو پاس ورڈ ری سیٹ کرنے کے لیے لنک بھیجیں گے'; + + @override + String get rememberYourPasswordQuestion => 'تُسیں اپنا پاس ورڈ یاد اے?'; + + @override + String get backToLoginButton => 'میرے کول پاسورڈ ہے'; + + @override + String get continueButton => 'جاری رکھو'; + + @override + String get passwordResetEmailSentSnackBar => + 'پاس ورڈ ری سیٹ ای میل بھیج دی گئی'; + + @override + String get resetPasswordButton => 'پاس ورڈ ری سیٹ کریں'; + + @override + String get confirmCodeButton => 'کوڈ کی تصدیق کریں'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'آج ہی Doctorina استعمال کرنا شروع کریں'; + + @override + String get orDivider => 'یا'; + + @override + String get enterPasswordForEmailHint => 'اپنا پاس ورڈ درج کریں'; + + @override + String get showPasswordHint => 'پاس ورڈ دکھاو'; + + @override + String get obscurePasswordHint => 'پاس ورڈ چھپاؤ'; + + @override + String get clearLoginTooltip => 'لاگ ان صاف کریں'; + + @override + String get emailOrPhoneLabel => 'ای میل یا فون'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com یا +1234567890'; + + @override + String get emailOrPhoneHint => 'ای میل یا فون نمبر درج کریں'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'براہ مہربانی جاری رکھنے کے لیے معاہدے قبول کریں.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'میں ذاتی ڈیٹا کی پروسیسنگ کی اجازت دیتا ہوں,'; + + @override + String get consentTheUseOf => 'استعمال کا'; + + @override + String get consentCookies => 'کوکیز'; + + @override + String get consentAgreeToThe => ', متفق ہوں'; + + @override + String get consentTermsAndConditions => 'شرائط و ضوابط'; + + @override + String get consentAndAcknowledgeThe => ', تے تسلیم کریں'; + + @override + String get consentPrivacyPolicy => 'پرائیویسی پالیسی'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'میں اس بات کا اعتراف کرتا ہوں کہ میری مشاورت ایک AI کے ساتھ ہے اور لائسنس یافتہ طبی پیشہ ور کے ساتھ نہیں.'; + + @override + String get logOutDialogTitle => 'لاگ آؤٹ'; + + @override + String get logOutDialogContent => + 'تُسیں نِشچِت او کہ تُسیں لاگ آوٹ کرنا چاہندے او؟'; + + @override + String get logOutDialogCancelButton => 'منسوخ کریں'; + + @override + String get logOutDialogLogOutButton => 'ہاں، لاگ آؤٹ'; + + @override + String get resendCodeButton => 'کوڈ دوبارہ بھیجیں'; + + @override + String resendCodeTimer(String timer) { + return 'کوڈ دوبارہ بھیجیں ($timer)'; + } + + @override + String get consentFull => + 'میں ذاتی ڈیٹا کی پروسیسنگ، کوکیز کے استعمال، شرائط و ضوابط سے اتفاق کرتا ہوں، اور

رازداری کی پالیسی

کو تسلیم کرتا ہوں.'; + + @override + String get emailLabel => 'اپنا ای میل درج کریں'; + + @override + String get signUpWithEmailTitle => 'ای میل کے ذریعے سائن اپ کریں'; + + @override + String get logInWithEmailTitle => 'ای میل کے ساتھ لاگ ان کریں'; + + @override + String get phoneLabel => 'اپنا فون درج کریں'; + + @override + String get confirmPhoneTitle => 'اپنا فون تصدیق کرو'; + + @override + String get signUpText => 'سائن اپ کریں'; + + @override + String get emailHintShort => 'ای میل درج کریں'; + + @override + String get buttonTextSignUpWithGoogle => 'گوگل نال سائن اپ کرو'; + + @override + String get buttonTextSignUpWithApple => 'Apple کے ساتھ رجسٹر کریں'; + + @override + String get buttonTextSignUpWithPhone => 'فون کے ذریعے سائن اپ کریں'; + + @override + String get buttonTextLoginWithGoogle => 'گوگل نال لاگ ان کرو'; + + @override + String get buttonTextLoginWithApple => 'Apple نال لاگ ان کرو'; + + @override + String get buttonTextLoginWithPhone => 'فون نال لاگ اِن کرو'; + + @override + String get youAreLoggedOutMessage => 'ਤੁਸੀ ਲਾਗ ਆਊਟ ਹੋ ਗਏ'; + + @override + String get reloadButtonText => 'ری لوڈ کریں'; + + @override + String get emailErrorText => 'غلط ای میل پتہ'; + + @override + String get passwordErrorText => 'پاس ورڈ کم از کم 6 حروف پر مشتمل ہونا چاہیے'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'غلط فون نمبر: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'براہ کرم نیا کوڈ مانگنے سے پہلے $seconds سیکنڈ انتظار کریں.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'غلط فون کوڈ: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'شرائط و ضوابط'; + + @override + String get continueAsGuestBtn => 'مہمان کے طور پر جاری رکھیں'; + + @override + String get noAccountYetPromptText => 'ਹੁਣੇ ਤੱਕ ਖਾਤਾ ਨਹੀਂ?

ਸਾਈਨ ਅਪ ਕਰੋ

'; + + @override + String get alreadyHaveAccountPromptText => + 'کیا آپ کا پہلے سے اکاؤنٹ ہے؟

لاگ ان کریں

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'آپ کو پریمیم کے ساتھ جاری رکھنے سے پہلے سائن اپ کرنا ہوگا'; + + @override + String get loginSubtitle => + 'شخصی مواد حاصل کریں اور اپنی کمیونٹی کے ساتھ رابطے میں رہیں!'; + + @override + String get emailFieldLabel => 'ای میل'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'اپنا پاس ورڈ بحال کریں'; + + @override + String get createAccountTitle => 'اکاؤنٹ بنائیں'; + + @override + String get createAccountSubtitle => + 'ہمیں آپ کے صحت کے ڈیٹا کو محفوظ طریقے سے محفوظ کرنے اور آپ کی تشخیص کو جاری رکھنے کے لیے ایک اکاؤنٹ کی ضرورت ہے.'; + + @override + String get repeatLabel => 'دہرائیں'; + + @override + String get repeatPasswordHint => 'اپنا پاس ورڈ دوبارہ درج کریں'; + + @override + String get confirmButton => 'تصدیق کریں'; + + @override + String get noAccountPrompt => 'کیا آپ کا اکاؤنٹ نہیں ہے؟'; + + @override + String get alreadyHaveAccountPrompt => 'کیا آپ کے پاس پہلے سے ہی اکاؤنٹ ہے؟'; + + @override + String get createPasswordHeader => 'پاسورڈ بنائیں'; + + @override + String get phoneHeader => 'فون'; + + @override + String get verifyPhoneHeader => 'فون کی تصدیق کریں'; + + @override + String get phoneTitle => 'تُہاڈی نمبر کیہ ہے؟'; + + @override + String get phoneSubtitle => + 'ਅਸੀਂ ਤੁਹਾਡੇ ਫੋਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਇੱਕ ਕੋਡ ਭੇਜਾਂਗੇ'; + + @override + String get phoneNumberLabel => 'نمبر'; + + @override + String get enterPhoneNumber => 'فون نمبر درج کریں'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'انتظار کریں $countdown سیکنڈ'; + } + + @override + String get enterCodeTitle => 'اپنا کوڈ درج کریں'; + + @override + String codeSentToPhone(String phone) { + return '$phone تے ایک کوڈ بھیجیا گیا'; + } + + @override + String get didntReceiveCode => 'کیا آپ کو کوڈ موصول نہیں ہوا؟'; + + @override + String get clickToResend => 'دوبارہ بھیجنے کے لیے کلک کریں'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'تُسی $countdown سیکنڈ وچ نواں کوڈ مانگ سکدے او'; + } + + @override + String get closeTooltip => 'بند کرو'; + + @override + String get backTooltip => 'پیچھے'; + + @override + String get termsOfServiceLink => 'خدمات کی شرائط'; + + @override + String get privacyPolicyLink => 'رازداری کی پالیسی'; + + @override + String get welcomeBackTitle => 'پھر خوش آمدید'; + + @override + String get welcomeBackSubtitle => + 'ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ Doctorina ਖਾਤਾ ਹੈ ਤਾਂ ਲਾਗਇਨ ਕਰੋ, ਜਾਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ.'; + + @override + String get passwordRuleLength => '8 ਤੋਂ 128 ਅੱਖਰ'; + + @override + String get passwordRuleNumber => 'کم از کم 1 نمبر'; + + @override + String get passwordRuleUppercase => 'کم از کم 1 بڑے حرف'; + + @override + String get passwordRuleMatch => 'پاس ورڈز میل کھاتے ہیں'; + + @override + String get phoneOtpVerificationFailed => + 'OTP ਪੁਸ਼ਟੀਕਰਨ ਅਸਫਲ ਰਿਹਾ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।'; + + @override + String get referralCodeLabel => 'ریفرل کوڈ'; + + @override + String get enterReferralCodeHint => 'اپنا ریفرل کوڈ درج کریں'; + + @override + String get referralCodeExampleHint => 'مثال کے طور پر CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'کیا آپ کے پاس ریفرل کوڈ ہے؟'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_pl.dart b/example/lib/src/generated/sign_up/sign_up_localization_pl.dart new file mode 100644 index 0000000..10cd913 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_pl.dart @@ -0,0 +1,346 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Polish (`pl`). +class SignUpLocalizationPl extends SignUpLocalization { + SignUpLocalizationPl([String locale = 'pl']) : super(locale); + + @override + String get logIn => 'Zaloguj się'; + + @override + String get password => 'Hasło'; + + @override + String get changeNumber => 'Zmień numer'; + + @override + String get forgotPassword => 'Zapomniałeś hasła?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Wprowadź swój adres e-mail, a wyślemy Ci link do zresetowania hasła.'; + + @override + String get rememberYourPasswordQuestion => 'Pamiętasz swoje hasło?'; + + @override + String get backToLoginButton => 'Mam hasło'; + + @override + String get continueButton => 'Kontynuuj'; + + @override + String get passwordResetEmailSentSnackBar => + 'Wysłano e-mail z resetowaniem hasła'; + + @override + String get resetPasswordButton => 'Zresetuj hasło'; + + @override + String get confirmCodeButton => 'Potwierdź kod'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Zacznij korzystać z Doctorina już dziś'; + + @override + String get orDivider => 'LUB'; + + @override + String get enterPasswordForEmailHint => 'Wprowadź swoje hasło'; + + @override + String get showPasswordHint => 'Pokaż hasło'; + + @override + String get obscurePasswordHint => 'Ukryj hasło'; + + @override + String get clearLoginTooltip => 'Wyczyść logowanie'; + + @override + String get emailOrPhoneLabel => 'Email lub telefon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com lub +1234567890'; + + @override + String get emailOrPhoneHint => 'Wprowadź adres e-mail lub numer telefonu'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Proszę zaakceptować umowy, aby kontynuować'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Wyrażam zgodę na przetwarzanie danych osobowych,'; + + @override + String get consentTheUseOf => 'użycie'; + + @override + String get consentCookies => 'ciasteczka'; + + @override + String get consentAgreeToThe => ', zgadzam się na'; + + @override + String get consentTermsAndConditions => 'warunki i zasady'; + + @override + String get consentAndAcknowledgeThe => ', i potwierdzam, że'; + + @override + String get consentPrivacyPolicy => 'polityka prywatności'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Potwierdzam, że moja konsultacja odbywa się z AI, a nie z licencjonowanym specjalistą medycznym'; + + @override + String get logOutDialogTitle => 'Wyloguj się'; + + @override + String get logOutDialogContent => 'Czy na pewno chcesz się wylogować?'; + + @override + String get logOutDialogCancelButton => 'Anuluj'; + + @override + String get logOutDialogLogOutButton => 'Tak, wyloguj się'; + + @override + String get resendCodeButton => 'Wyślij kod ponownie'; + + @override + String resendCodeTimer(String timer) { + return 'Wyślij kod ponownie ($timer)'; + } + + @override + String get consentFull => + 'Wyrażam zgodę na przetwarzanie danych osobowych, korzystanie z ciasteczek, zgadzam się na warunki oraz potwierdzam

politykę prywatności

'; + + @override + String get emailLabel => 'Wprowadź swój e-mail'; + + @override + String get signUpWithEmailTitle => 'Zarejestruj się przez e-maila'; + + @override + String get logInWithEmailTitle => 'Zaloguj się przez e-maila'; + + @override + String get phoneLabel => 'Wpisz swój telefon'; + + @override + String get confirmPhoneTitle => 'Potwierdź swój telefon'; + + @override + String get signUpText => 'Zarejestruj się'; + + @override + String get emailHintShort => 'Wprowadź e-mail'; + + @override + String get buttonTextSignUpWithGoogle => 'Zarejestruj się przez Google'; + + @override + String get buttonTextSignUpWithApple => 'Zarejestruj się przez Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Zarejestruj się przez telefon'; + + @override + String get buttonTextLoginWithGoogle => 'Zaloguj się przez Google'; + + @override + String get buttonTextLoginWithApple => 'Zaloguj się przez Apple'; + + @override + String get buttonTextLoginWithPhone => 'Zaloguj się przez telefon'; + + @override + String get youAreLoggedOutMessage => 'Wylogowano'; + + @override + String get reloadButtonText => 'Przeładuj'; + + @override + String get emailErrorText => 'Nieprawidłowy adres e-mail'; + + @override + String get passwordErrorText => 'Hasło musi mieć co najmniej 6 znaków'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Nieprawidłowy numer telefonu: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Odczekaj $seconds sekund przed prośbą o nowy kod.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Nieprawidłowy kod telefonu: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Warunki korzystania'; + + @override + String get continueAsGuestBtn => 'Kontynuuj jako gość'; + + @override + String get noAccountYetPromptText => + 'Nie masz jeszcze konta?

Zarejestruj się

'; + + @override + String get alreadyHaveAccountPromptText => + 'Masz już konto?

Zaloguj się

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Musisz się zarejestrować, zanim będziesz mógł kontynuować z Premium'; + + @override + String get loginSubtitle => + 'Uzyskaj spersonalizowane treści i bądź w kontakcie ze swoją społecznością!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Odzyskaj swoje hasło'; + + @override + String get createAccountTitle => 'Utwórz konto'; + + @override + String get createAccountSubtitle => + 'Potrzebujemy konta, aby bezpiecznie zapisać twoje dane zdrowotne i kontynuować ocenę.'; + + @override + String get repeatLabel => 'Powtórz'; + + @override + String get repeatPasswordHint => 'Powtórz swoje hasło'; + + @override + String get confirmButton => 'Potwierdź'; + + @override + String get noAccountPrompt => 'Nie masz konta?'; + + @override + String get alreadyHaveAccountPrompt => 'Masz już konto?'; + + @override + String get createPasswordHeader => 'Utwórz hasło'; + + @override + String get phoneHeader => 'Telefon'; + + @override + String get verifyPhoneHeader => 'Weryfikacja telefonu'; + + @override + String get phoneTitle => 'Jaki jest twój numer?'; + + @override + String get phoneSubtitle => 'Wyślemy kod, aby zweryfikować Twój telefon'; + + @override + String get phoneNumberLabel => 'Numer'; + + @override + String get enterPhoneNumber => 'Wprowadź numer telefonu'; + + @override + String get phonePlaceholder => '+48 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Czekaj $countdown sekund'; + } + + @override + String get enterCodeTitle => 'Wprowadź swój kod'; + + @override + String codeSentToPhone(String phone) { + return 'Wysłaliśmy kod na $phone'; + } + + @override + String get didntReceiveCode => 'Nie otrzymałeś kodu?'; + + @override + String get clickToResend => 'Kliknij, aby wysłać ponownie'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Możesz poprosić o nowy kod za $countdown sekund'; + } + + @override + String get closeTooltip => 'Zamknij'; + + @override + String get backTooltip => 'Wstecz'; + + @override + String get termsOfServiceLink => 'Warunki korzystania'; + + @override + String get privacyPolicyLink => 'Polityka prywatności'; + + @override + String get welcomeBackTitle => 'Witaj z powrotem'; + + @override + String get welcomeBackSubtitle => + 'Zaloguj się, jeśli masz już konto Doctorina, lub zarejestruj się, aby zacząć.'; + + @override + String get passwordRuleLength => 'Od 8 do 128 znaków'; + + @override + String get passwordRuleNumber => 'Co najmniej 1 liczba'; + + @override + String get passwordRuleUppercase => 'Co najmniej 1 wielka litera'; + + @override + String get passwordRuleMatch => 'Hasła się zgadzają'; + + @override + String get phoneOtpVerificationFailed => + 'Weryfikacja OTP nie powiodła się. Spróbuj ponownie.'; + + @override + String get referralCodeLabel => 'Referral code'; + + @override + String get enterReferralCodeHint => 'Wprowadź swój kod polecający'; + + @override + String get referralCodeExampleHint => 'Np. KREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Masz kod polecający?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ps.dart b/example/lib/src/generated/sign_up/sign_up_localization_ps.dart new file mode 100644 index 0000000..8e46d78 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_ps.dart @@ -0,0 +1,344 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Pushto Pashto (`ps`). +class SignUpLocalizationPs extends SignUpLocalization { + SignUpLocalizationPs([String locale = 'ps']) : super(locale); + + @override + String get logIn => 'ننوتل'; + + @override + String get password => 'پټ نوم'; + + @override + String get changeNumber => 'شمیره بدل کړئ'; + + @override + String get forgotPassword => 'پټ پاسورډ؟'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'خپل بریښنالیک پته ولیکئ، او موږ به تاسو ته د خپل پټ نوم د بیا تنظیم کولو لپاره لینک واستوو.'; + + @override + String get rememberYourPasswordQuestion => 'یادته دی پاسورډ دې؟'; + + @override + String get backToLoginButton => 'زه يو پټنوم لرم'; + + @override + String get continueButton => 'ادامه'; + + @override + String get passwordResetEmailSentSnackBar => + 'د پټنوم بیا تنظیمولو ایمیل لیږل شوی'; + + @override + String get resetPasswordButton => 'پاسورډ بیا تنظیم کړئ'; + + @override + String get confirmCodeButton => 'تأیید کوډ'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'نن ورځ Doctorina کارول پیل کړئ'; + + @override + String get orDivider => 'يا'; + + @override + String get enterPasswordForEmailHint => 'خپل پټ نوم داخل کړئ'; + + @override + String get showPasswordHint => 'د پټنوم ښودل'; + + @override + String get obscurePasswordHint => 'Obscure password'; + + @override + String get clearLoginTooltip => 'پاکول د ننوتلو'; + + @override + String get emailOrPhoneLabel => 'برېښنالیک یا ټلیفون'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com یا +1234567890'; + + @override + String get emailOrPhoneHint => 'برېښنالیک یا تلیفون شمېره داخل کړئ'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'مهرباني وکړئ موافقې ومنئ ترڅو دوام ورکړئ'; + + @override + String get consentToTheProcessingOfPersonalData => + 'زه د شخصي معلوماتو پروسس کولو سره موافق یم,'; + + @override + String get consentTheUseOf => 'د کارونې'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', د موافقه کولو'; + + @override + String get consentTermsAndConditions => 'شرایط و ضوابط'; + + @override + String get consentAndAcknowledgeThe => ', او د قبولولو'; + + @override + String get consentPrivacyPolicy => 'د پټتیا پالیسي'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'زه تایید کوم چې زما مشوره د AI سره ده او نه د جواز لرونکي طبي مسلکي سره.'; + + @override + String get logOutDialogTitle => 'خروج'; + + @override + String get logOutDialogContent => 'آیا تاسو د وتلو لپاره باوري یاست؟'; + + @override + String get logOutDialogCancelButton => 'لغو'; + + @override + String get logOutDialogLogOutButton => 'هو، وتړل'; + + @override + String get resendCodeButton => 'کوډ بیا واستوئ'; + + @override + String resendCodeTimer(String timer) { + return 'کوډ بیا واستوئ ($timer)'; + } + + @override + String get consentFull => + 'زه د شخصي معلوماتو پروسس کولو، د کوکیز کارولو، د شرایطو او شرایطو سره موافق یم، او د

محرمیت پالیسي

په اړه پوهیږم.'; + + @override + String get emailLabel => 'خپل برېښنالیک دننه کړئ'; + + @override + String get signUpWithEmailTitle => 'د بریښنالیک له لارې راجستر شی'; + + @override + String get logInWithEmailTitle => 'د برېښنالیک سره ننوتل'; + + @override + String get phoneLabel => 'خپل ټیلیفون دننه کړئ'; + + @override + String get confirmPhoneTitle => 'خپل تلیفون تایید کړئ'; + + @override + String get signUpText => 'راجستر شئ'; + + @override + String get emailHintShort => 'بریښنالیک دننه کړئ'; + + @override + String get buttonTextSignUpWithGoogle => 'د Google سره ثبت نام وکړئ'; + + @override + String get buttonTextSignUpWithApple => 'د Apple سره نوم لیکنه وکړئ'; + + @override + String get buttonTextSignUpWithPhone => 'د تلیفون له لارې ثبت نام وکړئ'; + + @override + String get buttonTextLoginWithGoogle => 'د Google سره ننوتل'; + + @override + String get buttonTextLoginWithApple => 'د Apple سره ننوتل'; + + @override + String get buttonTextLoginWithPhone => 'د تلیفون له لارې ننوتل'; + + @override + String get youAreLoggedOutMessage => 'تاسو وتلي یاست'; + + @override + String get reloadButtonText => 'بیا بار کړئ'; + + @override + String get emailErrorText => 'ناسم بریښنالیک پته'; + + @override + String get passwordErrorText => 'پټنوم باید لږترلږه ۶ توري ولري'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'ناسم د تلیفون شمېره: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'مهرباني وکړئ تر دې چې نوی کوډ وغواړئ $seconds ثانیې انتظار وکړئ.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'ناسم د تلیفون کود: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'شرایط او ضوابط'; + + @override + String get continueAsGuestBtn => 'لکه مېلمه دوام ورکړئ'; + + @override + String get noAccountYetPromptText => 'تر اوسه حساب نه لرئ؟

راجستر شئ

'; + + @override + String get alreadyHaveAccountPromptText => 'آیا لا حساب لرئ؟

ننوتل

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'تاسو باید د پریمیوم سره د دوام لپاره ثبت نام وکړئ'; + + @override + String get loginSubtitle => + 'شخصي محتوا ترلاسه کړئ او له خپلې ټولنې سره اړیکه وساتئ!'; + + @override + String get emailFieldLabel => 'برېښنالیک'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'خپل پټ نوم بیا ترلاسه کړئ'; + + @override + String get createAccountTitle => 'یو حساب جوړ کړئ'; + + @override + String get createAccountSubtitle => + 'موږ ته د حساب اړتیا ده ترڅو ستاسو د روغتیا معلومات په خوندي ډول وساتو او ستاسو ارزونه دوام ورکړو.'; + + @override + String get repeatLabel => 'تکرار'; + + @override + String get repeatPasswordHint => 'خپل پټ نوم تکرار کړئ'; + + @override + String get confirmButton => 'تایید'; + + @override + String get noAccountPrompt => 'ایا تاسو حساب نلرئ؟'; + + @override + String get alreadyHaveAccountPrompt => 'تاسو لا دمخه حساب لرئ؟'; + + @override + String get createPasswordHeader => 'یو پټنوم جوړ کړئ'; + + @override + String get phoneHeader => 'تلیفون'; + + @override + String get verifyPhoneHeader => 'د تلیفون تصدیق'; + + @override + String get phoneTitle => 'شمیره دې څه ده؟'; + + @override + String get phoneSubtitle => 'موږ به ستاسو ټلیفون تایید کولو لپاره کوډ ولیږو'; + + @override + String get phoneNumberLabel => 'شمیره'; + + @override + String get enterPhoneNumber => 'د تلیفون شمیره داخل کړئ'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'انتظار $countdown ثانیې'; + } + + @override + String get enterCodeTitle => 'خپل کوډ داخل کړئ'; + + @override + String codeSentToPhone(String phone) { + return 'موږ کوډ په $phone ته واستاوه'; + } + + @override + String get didntReceiveCode => 'کوډ نه دی ترلاسه شوی؟'; + + @override + String get clickToResend => 'کلیک وکړئ ترڅو بیا واستوئ'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'تاسو کولی شئ په $countdown ثانیو کې نوې کوډ غوښتنه وکړئ'; + } + + @override + String get closeTooltip => 'بندول'; + + @override + String get backTooltip => 'شاته'; + + @override + String get termsOfServiceLink => 'د خدمتونو شرایط'; + + @override + String get privacyPolicyLink => 'د پټتیا پالیسي'; + + @override + String get welcomeBackTitle => 'بېرته راغلاست'; + + @override + String get welcomeBackSubtitle => + 'که تاسو دمخه د Doctorina حساب لرئ نو لاگ ان شئ، یا د پیل لپاره ثبت نام وکړئ.'; + + @override + String get passwordRuleLength => 'له ۸ څخه تر ۱۲۸ حروفو'; + + @override + String get passwordRuleNumber => 'لږ تر لږه ۱ شمېره'; + + @override + String get passwordRuleUppercase => 'لږ تر لږه ۱ لوی حرف'; + + @override + String get passwordRuleMatch => 'پاسورډونه سره برابريږي'; + + @override + String get phoneOtpVerificationFailed => + 'د OTP تایید ناکام شو. مهرباني وکړئ بیا هڅه وکړئ.'; + + @override + String get referralCodeLabel => 'د معرفي کوډ'; + + @override + String get enterReferralCodeHint => 'خپل ریفرل کوډ داخل کړئ'; + + @override + String get referralCodeExampleHint => 'د داخلیدو په ساحه کې د حوالې کوډ مثال'; + + @override + String get haveReferralCodeQuestion => 'ایا تاسو ریفرل کوډ لرئ؟'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_pt.dart b/example/lib/src/generated/sign_up/sign_up_localization_pt.dart index a2ea45d..4e01042 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_pt.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_pt.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -11,10 +11,7 @@ class SignUpLocalizationPt extends SignUpLocalization { SignUpLocalizationPt([String locale = 'pt']) : super(locale); @override - String get title => 'Entrar'; - - @override - String get logIn => 'Conecte-se'; + String get logIn => 'Entrar'; @override String get password => 'Senha'; @@ -23,14 +20,14 @@ class SignUpLocalizationPt extends SignUpLocalization { String get changeNumber => 'Alterar número'; @override - String get forgotPassword => 'Esqueceu sua senha?'; + String get forgotPassword => 'Esqueceu a senha?'; @override String get forgotPasswordEnterYourEmailAddress => - 'Digite seu endereço de e-mail e lhe enviaremos um link para redefinir sua senha.'; + 'Digite seu endereço de e-mail, e nós enviaremos um link para redefinir sua senha.'; @override - String get rememberYourPasswordQuestion => 'Lembra da sua senha?'; + String get rememberYourPasswordQuestion => 'Você se lembra da sua senha?'; @override String get backToLoginButton => 'Eu tenho uma senha'; @@ -40,7 +37,7 @@ class SignUpLocalizationPt extends SignUpLocalization { @override String get passwordResetEmailSentSnackBar => - 'E-mail de redefinição de senha enviado'; + 'E-mail de redefinição de senha enviada'; @override String get resetPasswordButton => 'Redefinir senha'; @@ -50,7 +47,7 @@ class SignUpLocalizationPt extends SignUpLocalization { @override String get startUsingDoctorinaTodaySubtitle => - 'Comece a usar Doctorina hoje mesmo'; + 'Comece a usar o Doctorina hoje'; @override String get orDivider => 'OU'; @@ -62,19 +59,19 @@ class SignUpLocalizationPt extends SignUpLocalization { String get showPasswordHint => 'Mostrar senha'; @override - String get obscurePasswordHint => 'Senha obscura'; + String get obscurePasswordHint => 'Ocultar senha'; @override String get clearLoginTooltip => 'Limpar login'; @override - String get emailOrPhoneLabel => 'E-mail ou telefone'; + String get emailOrPhoneLabel => 'Email ou telefone'; @override - String get emailOrPhoneLabelExample => 'nome@gmail.com ou +1234567890'; + String get emailOrPhoneLabelExample => 'name@gmail.com ou +1234567890'; @override - String get emailOrPhoneHint => 'Digite e-mail ou número de telefone'; + String get emailOrPhoneHint => 'Digite o e-mail ou número de telefone'; @override String get pleaseAcceptTheAgreementsToContinueSnackBar => @@ -82,25 +79,25 @@ class SignUpLocalizationPt extends SignUpLocalization { @override String get consentToTheProcessingOfPersonalData => - 'Eu concordo com o processamento de dados pessoais,'; + 'Eu consinto com o processamento de dados pessoais,'; @override String get consentTheUseOf => 'o uso de'; @override - String get consentCookies => 'biscoitos'; + String get consentCookies => 'cookies'; @override - String get consentAgreeToThe => ', concorda com o'; + String get consentAgreeToThe => ', aceito'; @override - String get consentTermsAndConditions => 'termos e Condições'; + String get consentTermsAndConditions => 'termos e condições'; @override - String get consentAndAcknowledgeThe => ', e reconhecer o'; + String get consentAndAcknowledgeThe => ', e reconheça'; @override - String get consentPrivacyPolicy => 'política de Privacidade'; + String get consentPrivacyPolicy => 'política de privacidade'; @override String get consentDot => '.'; @@ -128,6 +125,224 @@ class SignUpLocalizationPt extends SignUpLocalization { String resendCodeTimer(String timer) { return 'Reenviar código ($timer)'; } + + @override + String get consentFull => + 'Eu consinto com o processamento de dados pessoais, o uso de cookies, concordo com os termos e condições, e reconheço a

política de privacidade

.'; + + @override + String get emailLabel => 'Digite seu e-mail'; + + @override + String get signUpWithEmailTitle => 'Inscreva-se com e-mail'; + + @override + String get logInWithEmailTitle => 'Entrar com email'; + + @override + String get phoneLabel => 'Digite seu telefone'; + + @override + String get confirmPhoneTitle => 'Confirme seu telefone'; + + @override + String get signUpText => 'Cadastrar-se'; + + @override + String get emailHintShort => 'Digite o e-mail'; + + @override + String get buttonTextSignUpWithGoogle => 'Cadastre-se com o Google'; + + @override + String get buttonTextSignUpWithApple => 'Inscreva-se com a Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Cadastre-se com o telefone'; + + @override + String get buttonTextLoginWithGoogle => 'Entrar com o Google'; + + @override + String get buttonTextLoginWithApple => 'Entrar com Apple'; + + @override + String get buttonTextLoginWithPhone => 'Entrar com o telefone'; + + @override + String get youAreLoggedOutMessage => 'Você saiu'; + + @override + String get reloadButtonText => 'Recarregar'; + + @override + String get emailErrorText => 'Endereço de e-mail inválido'; + + @override + String get passwordErrorText => 'A senha deve ter pelo menos 6 caracteres'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Número de telefone inválido: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Por favor, aguarde $seconds segundos antes de solicitar um novo código.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Código de telefone inválido: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Termos e condições'; + + @override + String get continueAsGuestBtn => 'Continuar como convidado'; + + @override + String get noAccountYetPromptText => + 'Ainda não tem uma conta?

Cadastre-se

'; + + @override + String get alreadyHaveAccountPromptText => 'Já tem uma conta?

Entrar

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Você precisa se inscrever antes de continuar com o Premium'; + + @override + String get loginSubtitle => + 'Obtenha conteúdo personalizado e mantenha contato com sua comunidade!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Recupere sua senha'; + + @override + String get createAccountTitle => 'Criar uma conta'; + + @override + String get createAccountSubtitle => + 'Precisamos de uma conta para salvar com segurança seus dados de saúde e continuar sua avaliação.'; + + @override + String get repeatLabel => 'Repetir'; + + @override + String get repeatPasswordHint => 'Repita sua senha'; + + @override + String get confirmButton => 'Confirmar'; + + @override + String get noAccountPrompt => 'Não tem uma conta?'; + + @override + String get alreadyHaveAccountPrompt => 'Já tem uma conta?'; + + @override + String get createPasswordHeader => 'Criar uma senha'; + + @override + String get phoneHeader => 'Telefone'; + + @override + String get verifyPhoneHeader => 'Verificar telefone'; + + @override + String get phoneTitle => 'Qual é o seu número?'; + + @override + String get phoneSubtitle => + 'Nós enviaremos um código por mensagem de texto para verificar seu telefone'; + + @override + String get phoneNumberLabel => 'Número'; + + @override + String get enterPhoneNumber => 'Digite o número de telefone'; + + @override + String get phonePlaceholder => '+55 (21) 5555-0123'; + + @override + String waitCountdownButton(int countdown) { + return 'Aguarde $countdown segundos'; + } + + @override + String get enterCodeTitle => 'Digite seu código'; + + @override + String codeSentToPhone(String phone) { + return 'Enviamos um código para $phone'; + } + + @override + String get didntReceiveCode => 'Não recebeu o código?'; + + @override + String get clickToResend => 'Clique para reenviar'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Você pode solicitar um novo código em $countdown segundos'; + } + + @override + String get closeTooltip => 'Fechar'; + + @override + String get backTooltip => 'Voltar'; + + @override + String get termsOfServiceLink => 'Termos de Serviço'; + + @override + String get privacyPolicyLink => 'Política de Privacidade'; + + @override + String get welcomeBackTitle => 'Bem-vindo de volta'; + + @override + String get welcomeBackSubtitle => + 'Faça login se você já tiver uma conta Doctorina, ou inscreva-se para começar.'; + + @override + String get passwordRuleLength => 'De 8 a 128 caracteres'; + + @override + String get passwordRuleNumber => 'Pelo menos 1 número'; + + @override + String get passwordRuleUppercase => 'Pelo menos 1 letra maiúscula'; + + @override + String get passwordRuleMatch => 'As senhas correspondem'; + + @override + String get phoneOtpVerificationFailed => + 'A verificação por OTP falhou. Tente novamente.'; + + @override + String get referralCodeLabel => 'Código de referência'; + + @override + String get enterReferralCodeHint => 'Digite seu código de referência'; + + @override + String get referralCodeExampleHint => 'Ex.: CRIADOR2026'; + + @override + String get haveReferralCodeQuestion => 'Tem um código de referência?'; } /// The translations for Portuguese, as used in Brazil (`pt_BR`). @@ -135,10 +350,7 @@ class SignUpLocalizationPtBr extends SignUpLocalizationPt { SignUpLocalizationPtBr() : super('pt_BR'); @override - String get title => 'Entrar'; - - @override - String get logIn => 'Conecte-se'; + String get logIn => 'Entrar'; @override String get password => 'Senha'; @@ -147,14 +359,14 @@ class SignUpLocalizationPtBr extends SignUpLocalizationPt { String get changeNumber => 'Alterar número'; @override - String get forgotPassword => 'Esqueceu sua senha?'; + String get forgotPassword => 'Esqueceu a senha?'; @override String get forgotPasswordEnterYourEmailAddress => - 'Digite seu endereço de e-mail e lhe enviaremos um link para redefinir sua senha.'; + 'Digite seu endereço de e-mail, e nós enviaremos um link para redefinir sua senha.'; @override - String get rememberYourPasswordQuestion => 'Lembra da sua senha?'; + String get rememberYourPasswordQuestion => 'Você se lembra da sua senha?'; @override String get backToLoginButton => 'Eu tenho uma senha'; @@ -164,7 +376,7 @@ class SignUpLocalizationPtBr extends SignUpLocalizationPt { @override String get passwordResetEmailSentSnackBar => - 'E-mail de redefinição de senha enviado'; + 'E-mail de redefinição de senha enviada'; @override String get resetPasswordButton => 'Redefinir senha'; @@ -174,7 +386,7 @@ class SignUpLocalizationPtBr extends SignUpLocalizationPt { @override String get startUsingDoctorinaTodaySubtitle => - 'Comece a usar Doctorina hoje mesmo'; + 'Comece a usar o Doctorina hoje'; @override String get orDivider => 'OU'; @@ -186,19 +398,19 @@ class SignUpLocalizationPtBr extends SignUpLocalizationPt { String get showPasswordHint => 'Mostrar senha'; @override - String get obscurePasswordHint => 'Senha obscura'; + String get obscurePasswordHint => 'Ocultar senha'; @override String get clearLoginTooltip => 'Limpar login'; @override - String get emailOrPhoneLabel => 'E-mail ou telefone'; + String get emailOrPhoneLabel => 'Email ou telefone'; @override - String get emailOrPhoneLabelExample => 'nome@gmail.com ou +1234567890'; + String get emailOrPhoneLabelExample => 'name@gmail.com ou +1234567890'; @override - String get emailOrPhoneHint => 'Digite e-mail ou número de telefone'; + String get emailOrPhoneHint => 'Digite o e-mail ou número de telefone'; @override String get pleaseAcceptTheAgreementsToContinueSnackBar => @@ -206,25 +418,25 @@ class SignUpLocalizationPtBr extends SignUpLocalizationPt { @override String get consentToTheProcessingOfPersonalData => - 'Eu concordo com o processamento de dados pessoais,'; + 'Eu consinto com o processamento de dados pessoais,'; @override String get consentTheUseOf => 'o uso de'; @override - String get consentCookies => 'biscoitos'; + String get consentCookies => 'cookies'; @override - String get consentAgreeToThe => ', concorda com o'; + String get consentAgreeToThe => ', aceito'; @override - String get consentTermsAndConditions => 'termos e Condições'; + String get consentTermsAndConditions => 'termos e condições'; @override - String get consentAndAcknowledgeThe => ', e reconhecer o'; + String get consentAndAcknowledgeThe => ', e reconheça'; @override - String get consentPrivacyPolicy => 'política de Privacidade'; + String get consentPrivacyPolicy => 'política de privacidade'; @override String get consentDot => '.'; @@ -252,4 +464,222 @@ class SignUpLocalizationPtBr extends SignUpLocalizationPt { String resendCodeTimer(String timer) { return 'Reenviar código ($timer)'; } + + @override + String get consentFull => + 'Eu consinto com o processamento de dados pessoais, o uso de cookies, concordo com os termos e condições, e reconheço a

política de privacidade

.'; + + @override + String get emailLabel => 'Digite seu e-mail'; + + @override + String get signUpWithEmailTitle => 'Inscreva-se com e-mail'; + + @override + String get logInWithEmailTitle => 'Entrar com email'; + + @override + String get phoneLabel => 'Digite seu telefone'; + + @override + String get confirmPhoneTitle => 'Confirme seu telefone'; + + @override + String get signUpText => 'Cadastrar-se'; + + @override + String get emailHintShort => 'Digite o e-mail'; + + @override + String get buttonTextSignUpWithGoogle => 'Cadastre-se com o Google'; + + @override + String get buttonTextSignUpWithApple => 'Inscreva-se com a Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Cadastre-se com o telefone'; + + @override + String get buttonTextLoginWithGoogle => 'Entrar com o Google'; + + @override + String get buttonTextLoginWithApple => 'Entrar com Apple'; + + @override + String get buttonTextLoginWithPhone => 'Entrar com o telefone'; + + @override + String get youAreLoggedOutMessage => 'Você saiu'; + + @override + String get reloadButtonText => 'Recarregar'; + + @override + String get emailErrorText => 'Endereço de e-mail inválido'; + + @override + String get passwordErrorText => 'A senha deve ter pelo menos 6 caracteres'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Número de telefone inválido: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Por favor, aguarde $seconds segundos antes de solicitar um novo código.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Código de telefone inválido: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Termos e condições'; + + @override + String get continueAsGuestBtn => 'Continuar como convidado'; + + @override + String get noAccountYetPromptText => + 'Ainda não tem uma conta?

Cadastre-se

'; + + @override + String get alreadyHaveAccountPromptText => 'Já tem uma conta?

Entrar

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Você precisa se inscrever antes de continuar com o Premium'; + + @override + String get loginSubtitle => + 'Obtenha conteúdo personalizado e mantenha contato com sua comunidade!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Recupere sua senha'; + + @override + String get createAccountTitle => 'Criar uma conta'; + + @override + String get createAccountSubtitle => + 'Precisamos de uma conta para salvar com segurança seus dados de saúde e continuar sua avaliação.'; + + @override + String get repeatLabel => 'Repetir'; + + @override + String get repeatPasswordHint => 'Repita sua senha'; + + @override + String get confirmButton => 'Confirmar'; + + @override + String get noAccountPrompt => 'Não tem uma conta?'; + + @override + String get alreadyHaveAccountPrompt => 'Já tem uma conta?'; + + @override + String get createPasswordHeader => 'Criar uma senha'; + + @override + String get phoneHeader => 'Telefone'; + + @override + String get verifyPhoneHeader => 'Verificar telefone'; + + @override + String get phoneTitle => 'Qual é o seu número?'; + + @override + String get phoneSubtitle => + 'Nós enviaremos um código por mensagem de texto para verificar seu telefone'; + + @override + String get phoneNumberLabel => 'Número'; + + @override + String get enterPhoneNumber => 'Digite o número de telefone'; + + @override + String get phonePlaceholder => '+55 (21) 5555-0123'; + + @override + String waitCountdownButton(int countdown) { + return 'Aguarde $countdown segundos'; + } + + @override + String get enterCodeTitle => 'Digite seu código'; + + @override + String codeSentToPhone(String phone) { + return 'Enviamos um código para $phone'; + } + + @override + String get didntReceiveCode => 'Não recebeu o código?'; + + @override + String get clickToResend => 'Clique para reenviar'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Você pode solicitar um novo código em $countdown segundos'; + } + + @override + String get closeTooltip => 'Fechar'; + + @override + String get backTooltip => 'Voltar'; + + @override + String get termsOfServiceLink => 'Termos de Serviço'; + + @override + String get privacyPolicyLink => 'Política de Privacidade'; + + @override + String get welcomeBackTitle => 'Bem-vindo de volta'; + + @override + String get welcomeBackSubtitle => + 'Faça login se você já tiver uma conta Doctorina, ou inscreva-se para começar.'; + + @override + String get passwordRuleLength => 'De 8 a 128 caracteres'; + + @override + String get passwordRuleNumber => 'Pelo menos 1 número'; + + @override + String get passwordRuleUppercase => 'Pelo menos 1 letra maiúscula'; + + @override + String get passwordRuleMatch => 'As senhas correspondem'; + + @override + String get phoneOtpVerificationFailed => + 'A verificação por OTP falhou. Tente novamente.'; + + @override + String get referralCodeLabel => 'Código de referência'; + + @override + String get enterReferralCodeHint => 'Digite seu código de referência'; + + @override + String get referralCodeExampleHint => 'Ex.: CRIADOR2026'; + + @override + String get haveReferralCodeQuestion => 'Tem um código de referência?'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ro.dart b/example/lib/src/generated/sign_up/sign_up_localization_ro.dart new file mode 100644 index 0000000..cca2c89 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_ro.dart @@ -0,0 +1,350 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Romanian Moldavian Moldovan (`ro`). +class SignUpLocalizationRo extends SignUpLocalization { + SignUpLocalizationRo([String locale = 'ro']) : super(locale); + + @override + String get logIn => 'Conectare'; + + @override + String get password => 'Parolă'; + + @override + String get changeNumber => 'Schimbă numărul'; + + @override + String get forgotPassword => 'Ați uitat parola?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Introduceți adresa dumneavoastră de email și vă vom trimite un link pentru a vă reseta parola.'; + + @override + String get rememberYourPasswordQuestion => 'Îți amintești parola?'; + + @override + String get backToLoginButton => 'Am o parolă'; + + @override + String get continueButton => 'Continuare'; + + @override + String get passwordResetEmailSentSnackBar => + 'Email de resetare a parolei trimis'; + + @override + String get resetPasswordButton => 'Resetează parola'; + + @override + String get confirmCodeButton => 'Confirmă codul'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Începe să folosești Doctorina astăzi'; + + @override + String get orDivider => 'SAU'; + + @override + String get enterPasswordForEmailHint => 'Introduceți parola dvs.'; + + @override + String get showPasswordHint => 'Arată parola'; + + @override + String get obscurePasswordHint => 'Parolă obscură'; + + @override + String get clearLoginTooltip => 'Ștergeți autentificarea'; + + @override + String get emailOrPhoneLabel => 'Email sau telefon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com sau +1234567890'; + + @override + String get emailOrPhoneHint => + 'Introduceți adresa de email sau numărul de telefon'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Vă rugăm să acceptați acordurile pentru a continua.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Sunt de acord cu prelucrarea datelor personale,'; + + @override + String get consentTheUseOf => 'utilizarea'; + + @override + String get consentCookies => 'cookie'; + + @override + String get consentAgreeToThe => ', sunt de acord cu'; + + @override + String get consentTermsAndConditions => 'termeni și condiții'; + + @override + String get consentAndAcknowledgeThe => ', și recunoașteți'; + + @override + String get consentPrivacyPolicy => 'politica de confidențialitate'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Recunosc că consultația mea este cu un AI și nu cu un profesionist medical autorizat.'; + + @override + String get logOutDialogTitle => 'Deconectare'; + + @override + String get logOutDialogContent => 'Ești sigur că vrei să te deconectezi?'; + + @override + String get logOutDialogCancelButton => 'Anulează'; + + @override + String get logOutDialogLogOutButton => 'Da, deconectează-te'; + + @override + String get resendCodeButton => 'Retrimite codul'; + + @override + String resendCodeTimer(String timer) { + return 'Retrimite codul ($timer)'; + } + + @override + String get consentFull => + 'Sunt de acord cu prelucrarea datelor personale, utilizarea cookie-urilor, sunt de acord cu termenii și condițiile și recunosc

politica de confidențialitate

.'; + + @override + String get emailLabel => 'Introduceți adresa de email'; + + @override + String get signUpWithEmailTitle => 'Înregistrează-te cu email'; + + @override + String get logInWithEmailTitle => 'Autentificare cu email'; + + @override + String get phoneLabel => 'Introduceți telefonul'; + + @override + String get confirmPhoneTitle => 'Confirmă telefonul tău'; + + @override + String get signUpText => 'Înregistrează-te'; + + @override + String get emailHintShort => 'Introduceți e-mail'; + + @override + String get buttonTextSignUpWithGoogle => 'Înscrie-te cu Google'; + + @override + String get buttonTextSignUpWithApple => 'Înregistrează-te cu Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Înscrie-te cu telefonul'; + + @override + String get buttonTextLoginWithGoogle => 'Autentificare cu Google'; + + @override + String get buttonTextLoginWithApple => 'Autentificare cu Apple'; + + @override + String get buttonTextLoginWithPhone => 'Autentificare cu telefonul'; + + @override + String get youAreLoggedOutMessage => 'Ai ieșit din cont'; + + @override + String get reloadButtonText => 'Reîncărcare'; + + @override + String get emailErrorText => 'Adresă de email invalidă'; + + @override + String get passwordErrorText => + 'Parola trebuie să aibă cel puțin 6 caractere'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Număr de telefon invalid: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Vă rugăm să așteptați $seconds secunde înainte de a solicita un cod nou.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Cod de telefon invalid: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Termeni și condiții'; + + @override + String get continueAsGuestBtn => 'Continuă ca oaspete'; + + @override + String get noAccountYetPromptText => + 'Încă nu ai un cont?

Înregistrează-te

'; + + @override + String get alreadyHaveAccountPromptText => + 'Ai deja un cont?

Autentificare

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Trebuie să te înregistrezi înainte de a putea continua cu Premium'; + + @override + String get loginSubtitle => + 'Obțineți conținut personalizat și rămâneți în legătură cu comunitatea dumneavoastră!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Recuperați-vă parola'; + + @override + String get createAccountTitle => 'Creează un cont'; + + @override + String get createAccountSubtitle => + 'Avem nevoie de un cont pentru a salva în siguranță datele tale de sănătate și a continua evaluarea.'; + + @override + String get repeatLabel => 'Repetă'; + + @override + String get repeatPasswordHint => 'Repetă parola ta'; + + @override + String get confirmButton => 'Confirmă'; + + @override + String get noAccountPrompt => 'Nu ai un cont?'; + + @override + String get alreadyHaveAccountPrompt => 'Ai deja un cont?'; + + @override + String get createPasswordHeader => 'Creează o parolă'; + + @override + String get phoneHeader => 'Telefon'; + + @override + String get verifyPhoneHeader => 'Verificare telefon'; + + @override + String get phoneTitle => 'Care este numărul tău?'; + + @override + String get phoneSubtitle => + 'Îți vom trimite un cod prin SMS pentru a-ți verifica telefonul'; + + @override + String get phoneNumberLabel => 'Număr'; + + @override + String get enterPhoneNumber => 'Introduceți numărul de telefon'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Așteptați $countdown secunde'; + } + + @override + String get enterCodeTitle => 'Introduceți codul dvs.'; + + @override + String codeSentToPhone(String phone) { + return 'Am trimis un cod la $phone'; + } + + @override + String get didntReceiveCode => 'Nu ați primit codul?'; + + @override + String get clickToResend => 'Click pentru a retrimite'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Puteți solicita un nou cod în $countdown secunde'; + } + + @override + String get closeTooltip => 'Închide'; + + @override + String get backTooltip => 'Înapoi'; + + @override + String get termsOfServiceLink => 'Termeni și condiții'; + + @override + String get privacyPolicyLink => 'Politica de confidențialitate'; + + @override + String get welcomeBackTitle => 'Bine ai revenit'; + + @override + String get welcomeBackSubtitle => + 'Conectează-te dacă ai deja un cont Doctorina sau înscrie-te pentru a începe.'; + + @override + String get passwordRuleLength => 'De la 8 la 128 de caractere'; + + @override + String get passwordRuleNumber => 'Cel puțin 1 număr'; + + @override + String get passwordRuleUppercase => 'Cel puțin 1 literă mare'; + + @override + String get passwordRuleMatch => 'Parolele se potrivesc'; + + @override + String get phoneOtpVerificationFailed => + 'Verificarea OTP a eșuat. Vă rugăm să încercați din nou.'; + + @override + String get referralCodeLabel => 'Cod de referință'; + + @override + String get enterReferralCodeHint => + 'Introduceți codul dumneavoastră de referință'; + + @override + String get referralCodeExampleHint => 'E.G. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Aveți un cod de referință?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ru.dart b/example/lib/src/generated/sign_up/sign_up_localization_ru.dart index 74cf59f..a107b6c 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_ru.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_ru.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'sign_up_localization.dart'; class SignUpLocalizationRu extends SignUpLocalization { SignUpLocalizationRu([String locale = 'ru']) : super(locale); - @override - String get title => 'Вход в аккаунт'; - @override String get logIn => 'Войти'; @@ -20,17 +17,17 @@ class SignUpLocalizationRu extends SignUpLocalization { String get password => 'Пароль'; @override - String get changeNumber => 'Сменить номер'; + String get changeNumber => 'Изменить номер'; @override String get forgotPassword => 'Забыли пароль?'; @override String get forgotPasswordEnterYourEmailAddress => - 'Введите ваш адрес электронной почты, и мы отправим вам ссылку для сброса пароля.'; + 'Введите свой адрес электронной почты, и мы вышлем вам ссылку для сброса пароля.'; @override - String get rememberYourPasswordQuestion => 'Помните свой пароль?'; + String get rememberYourPasswordQuestion => 'Вы помните свой пароль?'; @override String get backToLoginButton => 'У меня есть пароль'; @@ -50,13 +47,13 @@ class SignUpLocalizationRu extends SignUpLocalization { @override String get startUsingDoctorinaTodaySubtitle => - 'Начните работу с Doctorina уже сегодня'; + 'Начните пользоваться Doctorina сегодня'; @override String get orDivider => 'ИЛИ'; @override - String get enterPasswordForEmailHint => 'Введите ваш пароль'; + String get enterPasswordForEmailHint => 'Введите пароль'; @override String get showPasswordHint => 'Показать пароль'; @@ -65,16 +62,17 @@ class SignUpLocalizationRu extends SignUpLocalization { String get obscurePasswordHint => 'Скрыть пароль'; @override - String get clearLoginTooltip => 'Стереть вход'; + String get clearLoginTooltip => 'Очистить логин'; @override - String get emailOrPhoneLabel => 'Email или телефон'; + String get emailOrPhoneLabel => 'Электронная почта или телефон'; @override String get emailOrPhoneLabelExample => 'name@gmail.com или +1234567890'; @override - String get emailOrPhoneHint => 'Введите email или номер телефона'; + String get emailOrPhoneHint => + 'Введите адрес электронной почты или номер телефона'; @override String get pleaseAcceptTheAgreementsToContinueSnackBar => @@ -88,26 +86,26 @@ class SignUpLocalizationRu extends SignUpLocalization { String get consentTheUseOf => 'использование'; @override - String get consentCookies => 'cookies'; + String get consentCookies => 'куки'; @override - String get consentAgreeToThe => ', согласен с'; + String get consentAgreeToThe => ', соглашаюсь с'; @override - String get consentTermsAndConditions => 'условиями и положениями'; + String get consentTermsAndConditions => 'условия и положения'; @override - String get consentAndAcknowledgeThe => 'и подтверждаю'; + String get consentAndAcknowledgeThe => ', и подтверждаю'; @override - String get consentPrivacyPolicy => 'политику конфиденциальности'; + String get consentPrivacyPolicy => 'политика конфиденциальности'; @override String get consentDot => '.'; @override String get acknowledgeMyConsultation => - 'Я подтверждаю, что моя консультация проводится с ИИ, а не с лицензированным медицинским специалистом.'; + 'Я подтверждаю, что моя консультация проводится с ИИ, а не лицензированным медицинским специалистом.'; @override String get logOutDialogTitle => 'Выйти'; @@ -116,16 +114,234 @@ class SignUpLocalizationRu extends SignUpLocalization { String get logOutDialogContent => 'Вы уверены, что хотите выйти?'; @override - String get logOutDialogCancelButton => 'Закрыть'; + String get logOutDialogCancelButton => 'Отмена'; @override String get logOutDialogLogOutButton => 'Да, выйти'; @override - String get resendCodeButton => 'Отправить код повторно'; + String get resendCodeButton => 'Отправить код заново'; @override String resendCodeTimer(String timer) { return 'Отправить код повторно ($timer)'; } + + @override + String get consentFull => + 'Я даю согласие на обработку персональных данных, использование cookies, согласен с условиями и признаю

политику конфиденциальности

.'; + + @override + String get emailLabel => 'Введите ваш email'; + + @override + String get signUpWithEmailTitle => 'Зарегистрироваться по электронной почте'; + + @override + String get logInWithEmailTitle => 'Войти с электронной почтой'; + + @override + String get phoneLabel => 'Введите телефон'; + + @override + String get confirmPhoneTitle => 'Подтвердите телефон'; + + @override + String get signUpText => 'Зарегистрироваться'; + + @override + String get emailHintShort => 'Введите почту'; + + @override + String get buttonTextSignUpWithGoogle => 'Зарегистрироваться через Google'; + + @override + String get buttonTextSignUpWithApple => 'Зарегистрироваться через Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Зарегистрироваться через телефон'; + + @override + String get buttonTextLoginWithGoogle => 'Войти через Google'; + + @override + String get buttonTextLoginWithApple => 'Войти через Apple'; + + @override + String get buttonTextLoginWithPhone => 'Войти через телефон'; + + @override + String get youAreLoggedOutMessage => 'Вы вышли'; + + @override + String get reloadButtonText => 'Перезагрузить'; + + @override + String get emailErrorText => 'Неверный адрес электронной почты'; + + @override + String get passwordErrorText => 'Пароль должен содержать не менее 6 символов'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Неверный номер телефона: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Пожалуйста, подождите $seconds секунд, прежде чем запрашивать новый код.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Неверный код телефона: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Условия и положения'; + + @override + String get continueAsGuestBtn => 'Продолжить как гость'; + + @override + String get noAccountYetPromptText => + 'Еще нет аккаунта?

Зарегистрироваться

'; + + @override + String get alreadyHaveAccountPromptText => 'Уже есть аккаунт?

Войти

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Вам нужно зарегистрироваться, прежде чем вы сможете продолжить с Premium'; + + @override + String get loginSubtitle => + 'Получите персонализированный контент и оставайтесь на связи с вашим сообществом!'; + + @override + String get emailFieldLabel => 'Электронная почта'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Восстановите ваш пароль'; + + @override + String get createAccountTitle => 'Создать аккаунт'; + + @override + String get createAccountSubtitle => + 'Нам нужна учетная запись, чтобы безопасно сохранить ваши данные о здоровье и продолжить вашу оценку.'; + + @override + String get repeatLabel => 'Повторить'; + + @override + String get repeatPasswordHint => 'Повторите ваш пароль'; + + @override + String get confirmButton => 'Подтвердить'; + + @override + String get noAccountPrompt => 'У вас нет аккаунта?'; + + @override + String get alreadyHaveAccountPrompt => 'Уже есть аккаунт?'; + + @override + String get createPasswordHeader => 'Создайте пароль'; + + @override + String get phoneHeader => 'Телефон'; + + @override + String get verifyPhoneHeader => 'Подтвердите телефон'; + + @override + String get phoneTitle => 'Какой у вас номер?'; + + @override + String get phoneSubtitle => + 'Мы отправим код для подтверждения вашего телефона'; + + @override + String get phoneNumberLabel => 'Номер'; + + @override + String get enterPhoneNumber => 'Введите номер телефона'; + + @override + String get phonePlaceholder => '+7 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Подождите $countdown секунд'; + } + + @override + String get enterCodeTitle => 'Введите ваш код'; + + @override + String codeSentToPhone(String phone) { + return 'Мы отправили код на $phone'; + } + + @override + String get didntReceiveCode => 'Не получили код?'; + + @override + String get clickToResend => 'Нажмите, чтобы повторно отправить'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Вы можете запросить новый код через $countdown секунд'; + } + + @override + String get closeTooltip => 'Закрыть'; + + @override + String get backTooltip => 'Назад'; + + @override + String get termsOfServiceLink => 'Условия использования'; + + @override + String get privacyPolicyLink => 'Политика конфиденциальности'; + + @override + String get welcomeBackTitle => 'С возвращением'; + + @override + String get welcomeBackSubtitle => + 'Войдите, если у вас уже есть аккаунт Doctorina, или зарегистрируйтесь, чтобы начать.'; + + @override + String get passwordRuleLength => 'От 8 до 128 символов'; + + @override + String get passwordRuleNumber => 'Минимум 1 цифра'; + + @override + String get passwordRuleUppercase => 'Минимум 1 заглавная буква'; + + @override + String get passwordRuleMatch => 'Пароли совпадают'; + + @override + String get phoneOtpVerificationFailed => + 'Подтверждение одноразового пароля не удалось. Пожалуйста, попробуйте еще раз.'; + + @override + String get referralCodeLabel => 'Реферальный код'; + + @override + String get enterReferralCodeHint => 'Введите ваш реферальный код'; + + @override + String get referralCodeExampleHint => 'Напр. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'У вас есть реферальный код?'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_si.dart b/example/lib/src/generated/sign_up/sign_up_localization_si.dart new file mode 100644 index 0000000..f2aa192 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_si.dart @@ -0,0 +1,346 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Sinhala Sinhalese (`si`). +class SignUpLocalizationSi extends SignUpLocalization { + SignUpLocalizationSi([String locale = 'si']) : super(locale); + + @override + String get logIn => 'ඇතුල් වන්න'; + + @override + String get password => 'මුරපදය'; + + @override + String get changeNumber => 'අංකය වෙනස් කරන්න'; + + @override + String get forgotPassword => 'මතකය අමතක වුණාද?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Vnesite svoj e-poštni naslov in poslali vam bomo povezavo za ponastavitev gesla.'; + + @override + String get rememberYourPasswordQuestion => 'ඔබේ මුරපදය මතකද?'; + + @override + String get backToLoginButton => 'මට මුරපදයක් ඇත'; + + @override + String get continueButton => 'Nadaljuj'; + + @override + String get passwordResetEmailSentSnackBar => + 'Email za ponastavitev gesla poslan'; + + @override + String get resetPasswordButton => 'Ponastavi geslo'; + + @override + String get confirmCodeButton => 'Potvrdi kod'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Začnite koristiti Doctorinu danas'; + + @override + String get orDivider => 'ALI'; + + @override + String get enterPasswordForEmailHint => 'Vnesite svojo geslo'; + + @override + String get showPasswordHint => 'Prikaži lozinku'; + + @override + String get obscurePasswordHint => 'Obscure password'; + + @override + String get clearLoginTooltip => 'පුරනය වීම මකා දැමීම'; + + @override + String get emailOrPhoneLabel => 'Email ali telefon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com හෝ +1234567890'; + + @override + String get emailOrPhoneHint => 'Vnesite e-pošto ali telefonsko številko'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Prosimo, sprejmite dogovore, da nadaljujete.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Strinjam se za obdelavo osebnih podatkov,'; + + @override + String get consentTheUseOf => 'upotrebu'; + + @override + String get consentCookies => 'piškoti'; + + @override + String get consentAgreeToThe => ', එකඟයි'; + + @override + String get consentTermsAndConditions => 'නියමයන් සහ කොන්දේසි'; + + @override + String get consentAndAcknowledgeThe => ', සහ පිළිගන්න'; + + @override + String get consentPrivacyPolicy => 'ගෝපනීයතා ප්‍රතිපත්තිය'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'මගේ උපදේශනය AI සමඟ සහ බලපත්‍රය ඇති වෛද්‍ය වෘත්තීයවේදීන් සමඟ නොවන බව මම පිළිගනිමි.'; + + @override + String get logOutDialogTitle => 'ඉවත් වන්න'; + + @override + String get logOutDialogContent => 'ඔබ පිටවීමට සහතිකද?'; + + @override + String get logOutDialogCancelButton => 'අවලංගු කරන්න'; + + @override + String get logOutDialogLogOutButton => 'ඔව්, පිටවන්න'; + + @override + String get resendCodeButton => 'කේතය නැවත යවන්න'; + + @override + String resendCodeTimer(String timer) { + return 'කේතය නැවත යවන්න ($timer)'; + } + + @override + String get consentFull => + 'මම පුද්ගලික දත්ත සැකසීමට, කුකී භාවිතයට, නියම සහ කොන්දේසි පිළිගැනීමට සහ

රහස්‍යතා ප්‍රතිපත්ති

පිළිගැනීමට එකඟයි.'; + + @override + String get emailLabel => 'ඔබේ ඊමේල් ඇතුළත් කරන්න'; + + @override + String get signUpWithEmailTitle => 'ඊ-මේල් සමඟ ලියාපදිංචි වන්න'; + + @override + String get logInWithEmailTitle => 'ඊමේල් සමඟ පිවිසෙන්න'; + + @override + String get phoneLabel => 'ඔබගේ දුරකථනය ඇතුළත් කරන්න'; + + @override + String get confirmPhoneTitle => 'ඔබේ දුරකථනය තහවුරු කරන්න'; + + @override + String get signUpText => 'ලියාපදිංචි වන්න'; + + @override + String get emailHintShort => 'ඊමේල් ඇතුල් කරන්න'; + + @override + String get buttonTextSignUpWithGoogle => 'Google සමඟ ලියාපදිංචි වන්න'; + + @override + String get buttonTextSignUpWithApple => 'Apple සමඟ ලියාපදිංචි වන්න'; + + @override + String get buttonTextSignUpWithPhone => 'දුරකථනයෙන් ලියාපදිංචි වන්න'; + + @override + String get buttonTextLoginWithGoogle => 'Google සමඟ ලොගින් වන්න'; + + @override + String get buttonTextLoginWithApple => 'Apple සමඟ ලොගින් වන්න'; + + @override + String get buttonTextLoginWithPhone => 'දුරකථනයෙන් ලොගින් වන්න'; + + @override + String get youAreLoggedOutMessage => 'ඔබ පිටව ගොස් ඇත'; + + @override + String get reloadButtonText => 'නැවත ලෝඩ් කරන්න'; + + @override + String get emailErrorText => 'අවලංගු විද්‍යුත් තැපැල් ලිපිනය'; + + @override + String get passwordErrorText => 'මුරපදය අවම වශයෙන් අකුරු 6 ක් විය යුතුය'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'අවලංගු දුරකථන අංකය: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'කරුණාකර නව කේතයක් ඉල්ලා සිටීමට පෙර $seconds තත්පර රැඳී සිටින්න.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'අවලංගු දුරකථන කේතය: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'නියම සහ කොන්දේසි'; + + @override + String get continueAsGuestBtn => 'අමුත්තෙක් ලෙස ඉදිරියට යන්න'; + + @override + String get noAccountYetPromptText => 'ගිණුමක් නැද්ද?

ලියාපදිංචි වන්න

'; + + @override + String get alreadyHaveAccountPromptText => + 'ඔබට දැනටමත් ගිණුමක් තිබේද?

ඇතුල්වන්න

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Premium-ом даље наставити, морате се пријавити'; + + @override + String get loginSubtitle => + 'අපගේ පෞද්ගලික අන්තර්ගතය ලබා ගන්න සහ ඔබේ සමාජය සමඟ සම්බන්ධ වන්න!'; + + @override + String get emailFieldLabel => 'ඊ-මේල්'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'ඔබගේ මුරපදය නැවත ලබා ගන්න'; + + @override + String get createAccountTitle => 'ගිණුමක් සාදන්න'; + + @override + String get createAccountSubtitle => + 'අපට ඔබගේ සෞඛ්‍ය දත්ත ආරක්ෂිතව සුරකින්න සහ ඔබේ ඇගයීම දිගටම ගෙන යන්න ගිණුමක් අවශ්‍යයි.'; + + @override + String get repeatLabel => 'නැවත'; + + @override + String get repeatPasswordHint => 'ඔබගේ මුරපදය නැවත කරන්න'; + + @override + String get confirmButton => 'අනුමත කරන්න'; + + @override + String get noAccountPrompt => 'ඔබට ගිණුමක් නැද්ද?'; + + @override + String get alreadyHaveAccountPrompt => 'ඔබට දැනටමත් ගිණුමක් තිබේද?'; + + @override + String get createPasswordHeader => 'මුරපදයක් සාදන්න'; + + @override + String get phoneHeader => 'දුරකථනය'; + + @override + String get verifyPhoneHeader => 'දුරකථන තහවුරු කිරීම'; + + @override + String get phoneTitle => 'ඔබගේ අංකය කුමක්ද?'; + + @override + String get phoneSubtitle => + 'ඔබගේ දුරකථනය තහවුරු කිරීමට අපි කේතයක් පණිවිඩයක් ලෙස යවන්නෙමු'; + + @override + String get phoneNumberLabel => 'අංකය'; + + @override + String get enterPhoneNumber => 'දුරකථන අංකය ඇතුළත් කරන්න'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'ඉන්න $countdown තත්පර'; + } + + @override + String get enterCodeTitle => 'ඔබගේ කේතය ඇතුළත් කරන්න'; + + @override + String codeSentToPhone(String phone) { + return 'අපි $phone වෙත කේතයක් යවා ඇත'; + } + + @override + String get didntReceiveCode => 'කේතය ලැබුනේ නැද්ද?'; + + @override + String get clickToResend => 'නැවත යැවීමට ක්ලික් කරන්න'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'ඔබට නව කේතයක් ඉල්ලා ගැනීමට $countdown තත්පර තිබේ'; + } + + @override + String get closeTooltip => 'වසන්න'; + + @override + String get backTooltip => 'පසුබැසීම'; + + @override + String get termsOfServiceLink => 'සේවා කොන්දේසි'; + + @override + String get privacyPolicyLink => 'පෞද්ගලිකත්ව ප්‍රතිපත්ති'; + + @override + String get welcomeBackTitle => 'ආයුබෝවන්'; + + @override + String get welcomeBackSubtitle => + 'ඔබට දැනටමත් Doctorina ගිණුමක් ඇත්නම් පිවිසෙන්න, නැතහොත් ආරම්භ කිරීමට ලියාපදිංචි වන්න.'; + + @override + String get passwordRuleLength => 'අක්ෂර 8 සිට 128 දක්වා'; + + @override + String get passwordRuleNumber => 'අවම වශයෙන් 1 අංකයක්'; + + @override + String get passwordRuleUppercase => 'අවම වශයෙන් අකුරු 1ක්'; + + @override + String get passwordRuleMatch => 'මූලපද එකට ගැලපේ'; + + @override + String get phoneOtpVerificationFailed => + 'OTP සත්‍යාපනය අසාර්ථක විය. කරුණාකර නැවත උත්සාහ කරන්න.'; + + @override + String get referralCodeLabel => 'රෙෆරල් කේතය'; + + @override + String get enterReferralCodeHint => 'ඔබේ යොමු කේතය ඇතුළත් කරන්න'; + + @override + String get referralCodeExampleHint => 'E.G. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'ඔබට යොමුකිරීමේ කේතයක් තිබේද?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_sk.dart b/example/lib/src/generated/sign_up/sign_up_localization_sk.dart new file mode 100644 index 0000000..4b3bd92 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_sk.dart @@ -0,0 +1,345 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Slovak (`sk`). +class SignUpLocalizationSk extends SignUpLocalization { + SignUpLocalizationSk([String locale = 'sk']) : super(locale); + + @override + String get logIn => 'Prihlásiť sa'; + + @override + String get password => 'Heslo'; + + @override + String get changeNumber => 'Zmeniť číslo'; + + @override + String get forgotPassword => 'Zabudli ste heslo?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Zadajte svoju e-mailovú adresu a pošleme vám odkaz na obnovenie hesla.'; + + @override + String get rememberYourPasswordQuestion => 'Pamätáte si svoje heslo?'; + + @override + String get backToLoginButton => 'Mám heslo'; + + @override + String get continueButton => 'Pokračovať'; + + @override + String get passwordResetEmailSentSnackBar => + 'E-mail na resetovanie hesla bola odoslaná'; + + @override + String get resetPasswordButton => 'Obnoviť heslo'; + + @override + String get confirmCodeButton => 'Potvrdiť kód'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Začnite používať Doctorina dnes'; + + @override + String get orDivider => 'ALE'; + + @override + String get enterPasswordForEmailHint => 'Zadajte svoje heslo'; + + @override + String get showPasswordHint => 'Zobraziť heslo'; + + @override + String get obscurePasswordHint => 'Skryť heslo'; + + @override + String get clearLoginTooltip => 'Vymazať prihlásenie'; + + @override + String get emailOrPhoneLabel => 'Email alebo telefón'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com alebo +1234567890'; + + @override + String get emailOrPhoneHint => 'Zadajte e-mail alebo telefónne číslo'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Prosím, akceptujte dohody, aby ste mohli pokračovať'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Súhlasím s spracovaním osobných údajov,'; + + @override + String get consentTheUseOf => 'použitie'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', súhlasím s'; + + @override + String get consentTermsAndConditions => 'podmienky a ustanovenia'; + + @override + String get consentAndAcknowledgeThe => ', a uznať to'; + + @override + String get consentPrivacyPolicy => 'zásady ochrany osobných údajov'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Potvrdzujem, že moja konzultácia je s AI a nie s licencovaným zdravotníckym odborníkom'; + + @override + String get logOutDialogTitle => 'Odhlásiť sa'; + + @override + String get logOutDialogContent => 'Ste si istí, že sa chcete odhlásiť?'; + + @override + String get logOutDialogCancelButton => 'Zrušiť'; + + @override + String get logOutDialogLogOutButton => 'Áno, odhlásiť sa'; + + @override + String get resendCodeButton => 'Zaslať kód znova'; + + @override + String resendCodeTimer(String timer) { + return 'Znova odoslať kód ($timer)'; + } + + @override + String get consentFull => + 'Súhlasím so spracovaním osobných údajov, používaním cookies, súhlasím s podmienkami a beriem na vedomie

zásady ochrany osobných údajov

.'; + + @override + String get emailLabel => 'Zadajte svoj e-mail'; + + @override + String get signUpWithEmailTitle => 'Zaregistrujte sa pomocou e-mailu'; + + @override + String get logInWithEmailTitle => 'Prihlásiť sa pomocou e-mailu'; + + @override + String get phoneLabel => 'Zadajte svoj telefón'; + + @override + String get confirmPhoneTitle => 'Potvrďte svoj telefón'; + + @override + String get signUpText => 'Zaregistrujte sa'; + + @override + String get emailHintShort => 'Zadajte e-mail'; + + @override + String get buttonTextSignUpWithGoogle => 'Zaregistrujte sa cez Google'; + + @override + String get buttonTextSignUpWithApple => 'Zaregistrujte sa cez Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Zaregistrujte sa cez telefón'; + + @override + String get buttonTextLoginWithGoogle => 'Prihlásiť sa cez Google'; + + @override + String get buttonTextLoginWithApple => 'Prihlásiť sa cez Apple'; + + @override + String get buttonTextLoginWithPhone => 'Prihlásiť sa cez telefón'; + + @override + String get youAreLoggedOutMessage => 'Ste odhlásený'; + + @override + String get reloadButtonText => 'Načítať znova'; + + @override + String get emailErrorText => 'Neplatná e-mailová adresa'; + + @override + String get passwordErrorText => 'Heslo musí obsahovať aspoň 6 znakov'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Neplatné telefónne číslo: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Prosím, počkajte $seconds sekúnd pred tým, ako požiadate o nový kód.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Neplatný telefónny kód: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Podmienky používania'; + + @override + String get continueAsGuestBtn => 'Pokračovať ako hosť'; + + @override + String get noAccountYetPromptText => 'Ešte nemáš účet?

Zaregistruj sa

'; + + @override + String get alreadyHaveAccountPromptText => + 'Už máte účet?

Prihlásiť sa

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Musíte sa zaregistrovať, aby ste mohli pokračovať s prémiovým prístupom'; + + @override + String get loginSubtitle => + 'Získajte personalizovaný obsah a zostaňte v kontakte so svojou komunitou!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Obnovte svoje heslo'; + + @override + String get createAccountTitle => 'Vytvoriť účet'; + + @override + String get createAccountSubtitle => + 'Potrebujeme účet na bezpečné uloženie vašich zdravotných údajov a pokračovanie v hodnotení.'; + + @override + String get repeatLabel => 'Opakovať'; + + @override + String get repeatPasswordHint => 'Zopakujte svoje heslo'; + + @override + String get confirmButton => 'Potvrdiť'; + + @override + String get noAccountPrompt => 'Nemáte účet?'; + + @override + String get alreadyHaveAccountPrompt => 'Už máte účet?'; + + @override + String get createPasswordHeader => 'Vytvorte heslo'; + + @override + String get phoneHeader => 'Telefón'; + + @override + String get verifyPhoneHeader => 'Overteľte telefón'; + + @override + String get phoneTitle => 'Aké je vaše číslo?'; + + @override + String get phoneSubtitle => 'Pošleme vám kód, aby sme overili váš telefón'; + + @override + String get phoneNumberLabel => 'Číslo'; + + @override + String get enterPhoneNumber => 'Zadajte telefónne číslo'; + + @override + String get phonePlaceholder => '+421 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Čakajte $countdown sekúnd'; + } + + @override + String get enterCodeTitle => 'Zadajte svoj kód'; + + @override + String codeSentToPhone(String phone) { + return 'Poslali sme kód na $phone'; + } + + @override + String get didntReceiveCode => 'Nedostal si kód?'; + + @override + String get clickToResend => 'Kliknite na opätovné odoslanie'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Môžete požiadať o nový kód za $countdown sekúnd'; + } + + @override + String get closeTooltip => 'Zavrieť'; + + @override + String get backTooltip => 'Späť'; + + @override + String get termsOfServiceLink => 'Podmienky služby'; + + @override + String get privacyPolicyLink => 'Zásady ochrany osobných údajov'; + + @override + String get welcomeBackTitle => 'Vitajte späť'; + + @override + String get welcomeBackSubtitle => + 'Prihláste sa, ak už máte účet Doctorina, alebo sa zaregistrujte a začnite.'; + + @override + String get passwordRuleLength => 'Od 8 do 128 znakov'; + + @override + String get passwordRuleNumber => 'Aspoň 1 číslo'; + + @override + String get passwordRuleUppercase => 'Aspoň 1 veľké písmeno'; + + @override + String get passwordRuleMatch => 'Heslá sa zhodujú'; + + @override + String get phoneOtpVerificationFailed => + 'Overenie jednorazového hesla zlyhalo. Skúste to znova.'; + + @override + String get referralCodeLabel => 'Referral code'; + + @override + String get enterReferralCodeHint => 'Zadajte svoj referenčný kód'; + + @override + String get referralCodeExampleHint => 'Napr. KREATÓR2026'; + + @override + String get haveReferralCodeQuestion => 'Máte referenčný kód?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_sw.dart b/example/lib/src/generated/sign_up/sign_up_localization_sw.dart new file mode 100644 index 0000000..cd85393 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_sw.dart @@ -0,0 +1,346 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Swahili (`sw`). +class SignUpLocalizationSw extends SignUpLocalization { + SignUpLocalizationSw([String locale = 'sw']) : super(locale); + + @override + String get logIn => 'Ingia'; + + @override + String get password => 'Nywila'; + + @override + String get changeNumber => 'Badilisha nambari'; + + @override + String get forgotPassword => 'Umesahau nenosiri?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Ingiza anwani yako ya barua pepe, na tutakutumia kiungo cha kuweka upya nywila yako'; + + @override + String get rememberYourPasswordQuestion => 'Unakumbuka nenosiri lako?'; + + @override + String get backToLoginButton => 'Nina nenosiri'; + + @override + String get continueButton => 'Endelea'; + + @override + String get passwordResetEmailSentSnackBar => + 'Barua pepe ya kurekebisha nywila imetumwa'; + + @override + String get resetPasswordButton => 'Weka upya nenosiri'; + + @override + String get confirmCodeButton => 'Thibitisha msimbo'; + + @override + String get startUsingDoctorinaTodaySubtitle => 'Anza kutumia Doctorina leo'; + + @override + String get orDivider => 'AU'; + + @override + String get enterPasswordForEmailHint => 'Ingiza nenosiri lako'; + + @override + String get showPasswordHint => 'Onyesha nenosiri'; + + @override + String get obscurePasswordHint => 'Ficha nenosiri'; + + @override + String get clearLoginTooltip => 'Futa kuingia'; + + @override + String get emailOrPhoneLabel => 'Barua pepe au simu'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com au +1234567890'; + + @override + String get emailOrPhoneHint => 'Ingiza barua pepe au nambari ya simu'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Tafadhali kubali makubaliano ili kuendelea.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Nakubali kusindika data binafsi,'; + + @override + String get consentTheUseOf => 'matumizi ya'; + + @override + String get consentCookies => 'vidakuzi'; + + @override + String get consentAgreeToThe => ', nakubaliana na'; + + @override + String get consentTermsAndConditions => 'Masharti na Vigezo'; + + @override + String get consentAndAcknowledgeThe => ', na kuthibitisha'; + + @override + String get consentPrivacyPolicy => 'sera ya faragha'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Ninakiri kwamba ushauri wangu ni na AI na si mtaalamu wa matibabu aliyeidhinishwa.'; + + @override + String get logOutDialogTitle => 'Toka'; + + @override + String get logOutDialogContent => 'Je, una uhakika unataka kutoka?'; + + @override + String get logOutDialogCancelButton => 'Ghairi'; + + @override + String get logOutDialogLogOutButton => 'Ndiyo, toka'; + + @override + String get resendCodeButton => 'Tuma tena msimbo'; + + @override + String resendCodeTimer(String timer) { + return 'Tuma tena msimbo ($timer)'; + } + + @override + String get consentFull => + 'Ninakubali usindikaji wa data binafsi, matumizi ya cookies, nakubaliana na masharti na hali, na nakubali

sera ya faragha

.'; + + @override + String get emailLabel => 'Ingiza barua pepe yako'; + + @override + String get signUpWithEmailTitle => 'Jisajili kwa kutumia barua pepe'; + + @override + String get logInWithEmailTitle => 'Ingia na barua pepe'; + + @override + String get phoneLabel => 'Ingiza simu yako'; + + @override + String get confirmPhoneTitle => 'Thibitisha simu yako'; + + @override + String get signUpText => 'Jisajili'; + + @override + String get emailHintShort => 'Weka barua pepe'; + + @override + String get buttonTextSignUpWithGoogle => 'Jiandikishe na Google'; + + @override + String get buttonTextSignUpWithApple => 'Jisajili na Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Jisajili kwa simu'; + + @override + String get buttonTextLoginWithGoogle => 'Ingia na Google'; + + @override + String get buttonTextLoginWithApple => 'Ingia na Apple'; + + @override + String get buttonTextLoginWithPhone => 'Ingia kwa simu'; + + @override + String get youAreLoggedOutMessage => 'Umetoka'; + + @override + String get reloadButtonText => 'Pakua tena'; + + @override + String get emailErrorText => 'Barua pepe batili'; + + @override + String get passwordErrorText => 'Nywila lazima iwe na herufi 6 angalau'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Nambari ya simu si sahihi: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Tafadhali subiri kwa $seconds sekunde kabla ya kuomba msimbo mpya.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Msimbo wa simu si sahihi: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Masharti na vigezo'; + + @override + String get continueAsGuestBtn => 'Endelea kama mgeni'; + + @override + String get noAccountYetPromptText => 'Bado hauna akaunti?

Jisajili

'; + + @override + String get alreadyHaveAccountPromptText => + 'Je, tayari una akaunti?

Ingia

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Unahitaji kujiandikisha kabla hujaendelea na Premium'; + + @override + String get loginSubtitle => + 'Pata maudhui ya kibinafsi na uendelee kuwasiliana na jamii yako!'; + + @override + String get emailFieldLabel => 'Barua pepe'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Rekebisha nenosiri lako'; + + @override + String get createAccountTitle => 'Fungua akaunti'; + + @override + String get createAccountSubtitle => + 'Tunahitaji akaunti ili kuhifadhi data zako za afya kwa usalama na kuendelea na tathmini yako.'; + + @override + String get repeatLabel => 'Rudia'; + + @override + String get repeatPasswordHint => 'Rudia nenosiri yako'; + + @override + String get confirmButton => 'Thibitisha'; + + @override + String get noAccountPrompt => 'Huna akaunti?'; + + @override + String get alreadyHaveAccountPrompt => 'Tayari una akaunti?'; + + @override + String get createPasswordHeader => 'Unda password'; + + @override + String get phoneHeader => 'Simu'; + + @override + String get verifyPhoneHeader => 'Thibitisha Simu'; + + @override + String get phoneTitle => 'Nambari yako ni ipi?'; + + @override + String get phoneSubtitle => + 'Tutatumia ujumbe wa maandiko kuthibitisha simu yako'; + + @override + String get phoneNumberLabel => 'Nambari'; + + @override + String get enterPhoneNumber => 'Ingiza nambari ya simu'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Subiri sekunde $countdown'; + } + + @override + String get enterCodeTitle => 'Ingiza nambari yako'; + + @override + String codeSentToPhone(String phone) { + return 'Tulifanya kutuma nambari kwa $phone'; + } + + @override + String get didntReceiveCode => 'Hujapokea nambari?'; + + @override + String get clickToResend => 'Bonyeza kutuma tena'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Unaweza kuomba msimbo mpya katika sekunde $countdown'; + } + + @override + String get closeTooltip => 'Funga'; + + @override + String get backTooltip => 'Rudi'; + + @override + String get termsOfServiceLink => 'Masharti ya Huduma'; + + @override + String get privacyPolicyLink => 'Sera ya Faragha'; + + @override + String get welcomeBackTitle => 'Karibu tena'; + + @override + String get welcomeBackSubtitle => + 'Ingia ikiwa una akaunti ya Doctorina, au jiandikishe ili kuanza.'; + + @override + String get passwordRuleLength => 'Kutoka 8 hadi 128 herufi'; + + @override + String get passwordRuleNumber => 'Angalau nambari 1'; + + @override + String get passwordRuleUppercase => 'Angalau herufi moja kubwa'; + + @override + String get passwordRuleMatch => 'Maneno ya siri yanalingana'; + + @override + String get phoneOtpVerificationFailed => + 'Uthibitishaji wa OTP umeshindwa. Tafadhali jaribu tena.'; + + @override + String get referralCodeLabel => 'Nambari ya rufaa'; + + @override + String get enterReferralCodeHint => 'Ingiza nambari yako ya rufaa'; + + @override + String get referralCodeExampleHint => + 'Mfano wa nambari ya rufaa katika uwanja wa kuingiza'; + + @override + String get haveReferralCodeQuestion => 'Una na nambari ya rufaa?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ta.dart b/example/lib/src/generated/sign_up/sign_up_localization_ta.dart new file mode 100644 index 0000000..f60ec7a --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_ta.dart @@ -0,0 +1,350 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tamil (`ta`). +class SignUpLocalizationTa extends SignUpLocalization { + SignUpLocalizationTa([String locale = 'ta']) : super(locale); + + @override + String get logIn => 'உள்நுழைய'; + + @override + String get password => 'கடவுச்சொல்'; + + @override + String get changeNumber => 'எண்ணை மாற்றவும்'; + + @override + String get forgotPassword => 'கடவுச்சொல்லை மறந்தீர்களா?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'உங்கள் மின்னஞ்சல் முகவரியை உள்ளிடவும், மற்றும் உங்கள் கடவுச்சொல்லை மீட்டமைக்க இணைப்பை அனுப்புவோம்'; + + @override + String get rememberYourPasswordQuestion => + 'உங்கள் கடவுச்சொல்லை நினைவில் வைத்துள்ளீர்களா?'; + + @override + String get backToLoginButton => 'எனக்கு கடவுச்சொல் உள்ளது'; + + @override + String get continueButton => 'தொடர்'; + + @override + String get passwordResetEmailSentSnackBar => + 'கடவுச்சொல் மீட்டமைப்பு மின்னஞ்சல் அனுப்பப்பட்டது'; + + @override + String get resetPasswordButton => 'கடவுச்சொல்லை மீட்டமைக்கவும்'; + + @override + String get confirmCodeButton => 'குறியீட்டை உறுதிப்படுத்துக'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'இன்று Doctorina ஐப் பயன்படுத்தத் தொடங்குங்கள்'; + + @override + String get orDivider => 'அல்லது'; + + @override + String get enterPasswordForEmailHint => 'உங்கள் கடவுச்சொல்லை உள்ளிடவும்'; + + @override + String get showPasswordHint => 'கடவுச்சொல்லை காட்டு'; + + @override + String get obscurePasswordHint => 'கடவுச்சொல்லை மறைக்க'; + + @override + String get clearLoginTooltip => 'உள்நுழைவு அழி'; + + @override + String get emailOrPhoneLabel => 'ஈமெயில் அல்லது தொலைபேசி'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com அல்லது +1234567890'; + + @override + String get emailOrPhoneHint => 'மின்னஞ்சல் அல்லது தொலைபேசி எண்ணை உள்ளிடவும்'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'தயவு செய்து ஒப்பந்தங்களை ஏற்றுக்கொள்ளவும், தொடர.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'நான் தனிப்பட்ட தரவுகளை செயலாக்கத்திற்கு ஒப்புக் கொள்கிறேன்,'; + + @override + String get consentTheUseOf => 'பயன்பாட்டின்'; + + @override + String get consentCookies => 'குக்கீஸ்'; + + @override + String get consentAgreeToThe => ', ஒப்புக்கொள்கிறேன்'; + + @override + String get consentTermsAndConditions => 'விதிகள் மற்றும் நிபந்தனைகள்'; + + @override + String get consentAndAcknowledgeThe => ', மற்றும் அங்கீகரிக்கவும்'; + + @override + String get consentPrivacyPolicy => 'தனியுரிமைக் கொள்கை'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'எனது ஆலோசனை ஒரு செயற்கை நுண்ணறிவுடன் நடைபெறுகிறது, உரிமம் பெற்ற மருத்துவ நிபுணர் அல்ல என்று நான் ஒப்புக்கொள்கிறேன்.'; + + @override + String get logOutDialogTitle => 'வெளியேறு'; + + @override + String get logOutDialogContent => 'நீங்கள் வெளியேறுவது உறுதியா?'; + + @override + String get logOutDialogCancelButton => 'ரத்து செய்'; + + @override + String get logOutDialogLogOutButton => 'ஆம், வெளியேறு'; + + @override + String get resendCodeButton => 'குறியீட்டை மீண்டும் அனுப்பு'; + + @override + String resendCodeTimer(String timer) { + return 'குறியீட்டை மீண்டும் அனுப்பு ($timer)'; + } + + @override + String get consentFull => + 'நான் தனிப்பட்ட தரவுகளை செயலாக்குவதற்கு ஒப்புக்கொள்கிறேன், குக்கீஸ் பயன்படுத்துவதற்கு, விதிமுறைகள் மற்றும் நிபந்தனைகள்க்கு ஒப்புக்கொள்கிறேன், மற்றும்

தனியுரிமை கொள்கை

ஐ ஒப்புக்கொள்கிறேன்.'; + + @override + String get emailLabel => 'உங்கள் மின்னஞ்சலை உள்ளிடவும்'; + + @override + String get signUpWithEmailTitle => 'மின்னஞ்சலால் பதிவு செய்யவும்'; + + @override + String get logInWithEmailTitle => 'மின்னஞ்சலுடன் உள்நுழைக'; + + @override + String get phoneLabel => 'உங்கள் தொலைபேசியை உள்ளிடவும்'; + + @override + String get confirmPhoneTitle => 'உங்கள் ஃபோனை உறுதிப்படுத்தவும்'; + + @override + String get signUpText => 'பதிவு செய்யவும்'; + + @override + String get emailHintShort => 'மின்னஞ்சலை உள்ளிடவும்'; + + @override + String get buttonTextSignUpWithGoogle => 'Google உடன் பதிவு செய்'; + + @override + String get buttonTextSignUpWithApple => 'Apple உடன் பதிவு செய்யவும்'; + + @override + String get buttonTextSignUpWithPhone => 'தொலைபேசியில் பதிவு செய்யவும்'; + + @override + String get buttonTextLoginWithGoogle => 'Google உடன் உள்நுழையவும்'; + + @override + String get buttonTextLoginWithApple => 'Apple-ல் உள்நுழைய'; + + @override + String get buttonTextLoginWithPhone => 'தொலைபேசியில் உள்நுழைக'; + + @override + String get youAreLoggedOutMessage => 'நீங்கள் வெளியேறிவிட்டீர்கள்'; + + @override + String get reloadButtonText => 'மீட்டமைக்கவும்'; + + @override + String get emailErrorText => 'தவறான மின்னஞ்சல் முகவரி'; + + @override + String get passwordErrorText => + 'கடவுச்சொல் குறைந்தது 6 எழுத்துக்கள் கொண்டதாக இருக்க வேண்டும்'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'தவறான தொலைபேசி எண்: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'புதிய குறியீட்டை கோருவதற்கு முன் $seconds விநாடிகள் காத்திருங்கள்.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'தவறான தொலைபேசி குறியீடு: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'விதிமுறைகள் மற்றும் நிபந்தனைகள்'; + + @override + String get continueAsGuestBtn => 'விருந்தினர் ஆக தொடரவும்'; + + @override + String get noAccountYetPromptText => + 'இன்னும் ஒரு கணக்கு இல்லையா?

பதிவு செய்யவும்

'; + + @override + String get alreadyHaveAccountPromptText => + 'ஏற்கனவே கணக்கு உள்ளதா?

உள்நுழையுங்கள்

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'நீங்கள் பிரீமியத்தை தொடர்வதற்கு முன் பதிவு செய்ய வேண்டும்'; + + @override + String get loginSubtitle => + 'தனிப்பட்ட உள்ளடக்கம் பெறவும், உங்கள் சமூகத்துடன் தொடர்பில் இருங்கள்!'; + + @override + String get emailFieldLabel => 'மின்னஞ்சல்'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'உங்கள் கடவுச்சொல்லை மீட்டெடுக்கவும்'; + + @override + String get createAccountTitle => 'ஒரு கணக்கு உருவாக்கவும்'; + + @override + String get createAccountSubtitle => + 'உங்கள் ஆரோக்கிய தரவுகளை பாதுகாப்பாக சேமிக்க மற்றும் உங்கள் மதிப்பீட்டை தொடர்வதற்காக கணக்கு தேவை.'; + + @override + String get repeatLabel => 'மீண்டும்'; + + @override + String get repeatPasswordHint => 'உங்கள் கடவுச்சொல்லை மீண்டும் உள்ளிடவும்'; + + @override + String get confirmButton => 'உறுதிப்படுத்தவும்'; + + @override + String get noAccountPrompt => 'உங்களிடம் கணக்கு இல்லைவா?'; + + @override + String get alreadyHaveAccountPrompt => 'ஏற்கனவே ஒரு கணக்கு உள்ளதா?'; + + @override + String get createPasswordHeader => 'ஒரு கடவுச்சொல் உருவாக்கவும்'; + + @override + String get phoneHeader => 'தொலைபேசி'; + + @override + String get verifyPhoneHeader => 'தொலைபேசி சரிபார்க்கவும்'; + + @override + String get phoneTitle => 'உங்கள் எண்ணிக்கை என்ன?'; + + @override + String get phoneSubtitle => + 'உங்கள் தொலைபேசிக்கு உறுதிப்படுத்த ஒரு குறியீட்டை நாங்கள் உரை அனுப்புவோம்'; + + @override + String get phoneNumberLabel => 'எண்'; + + @override + String get enterPhoneNumber => 'தொலைபேசி எண்ணை உள்ளிடவும்'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'காத்திருங்கள் $countdown விநாடிகள்'; + } + + @override + String get enterCodeTitle => 'உங்கள் குறியீட்டை உள்ளிடவும்'; + + @override + String codeSentToPhone(String phone) { + return 'நாங்கள் $phoneக்கு ஒரு குறியீட்டை அனுப்பினோம்'; + } + + @override + String get didntReceiveCode => 'கோடுகளைப் பெறவில்லைவா?'; + + @override + String get clickToResend => 'மீண்டும் அனுப்ப கிளிக் செய்க'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'நீங்கள் $countdown விநாடிகளில் புதிய குறியீட்டை கேட்கலாம்'; + } + + @override + String get closeTooltip => 'மூடு'; + + @override + String get backTooltip => 'மீண்டும்'; + + @override + String get termsOfServiceLink => 'சேவையின் விதிமுறைகள்'; + + @override + String get privacyPolicyLink => 'தனியுரிமை கொள்கை'; + + @override + String get welcomeBackTitle => 'மீண்டும் வரவேற்கிறேன்'; + + @override + String get welcomeBackSubtitle => + 'நீங்கள் ஏற்கனவே Doctorina கணக்கு வைத்திருந்தால் உள்நுழைக, இல்லையெனில் தொடங்க பதிவு செய்யவும்.'; + + @override + String get passwordRuleLength => '8 முதல் 128 எழுத்துகள்'; + + @override + String get passwordRuleNumber => 'குறைந்தது 1 எண்'; + + @override + String get passwordRuleUppercase => 'குறைந்தது 1 பெரிய எழுத்து'; + + @override + String get passwordRuleMatch => 'கடவுச்சொற்கள் பொருந்துகின்றன'; + + @override + String get phoneOtpVerificationFailed => + 'OTP சரிபார்ப்பு தோல்வியடைந்தது. மீண்டும் முயற்சிக்கவும்.'; + + @override + String get referralCodeLabel => 'முறையீட்டு குறியீடு'; + + @override + String get enterReferralCodeHint => 'உங்கள் பரிந்துரை குறியீட்டை உள்ளிடவும்'; + + @override + String get referralCodeExampleHint => + 'உள்ளீட்டு புலத்தில் பரிந்துரை குறியீட்டின் எடுத்துக்காட்டு'; + + @override + String get haveReferralCodeQuestion => 'உங்களிடம் பரிந்துரை குறியீடு உள்ளதா?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_te.dart b/example/lib/src/generated/sign_up/sign_up_localization_te.dart new file mode 100644 index 0000000..64be383 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_te.dart @@ -0,0 +1,348 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Telugu (`te`). +class SignUpLocalizationTe extends SignUpLocalization { + SignUpLocalizationTe([String locale = 'te']) : super(locale); + + @override + String get logIn => 'లాగిన్'; + + @override + String get password => 'పాస్వర్డ్'; + + @override + String get changeNumber => 'సంఖ్యను మార్చండి'; + + @override + String get forgotPassword => 'పాస్వర్డ్ మర్చిపోయారా?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'మీ ఇమెయిల్ చిరునామా నమోదు చేయండి, మరియు మేము మీ పాస్‌వర్డ్ రీసెట్ చేసుకోవడానికి లింక్ పంపిస్తాం'; + + @override + String get rememberYourPasswordQuestion => 'మీ పాస్‌వర్డ్ గుర్తుందా?'; + + @override + String get backToLoginButton => 'నాకు పాస్వర్డ్ ఉంది'; + + @override + String get continueButton => 'కొనసాగించండి'; + + @override + String get passwordResetEmailSentSnackBar => + 'పాస్వర్డ్ రీసెట్ ఇమెయిల్ పంపబడింది'; + + @override + String get resetPasswordButton => 'పాస్వర్డ్ రీసెట్'; + + @override + String get confirmCodeButton => 'కోడ్ నిర్ధారించండి'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'ఈరోజే Doctorina ను ఉపయోగించడం ప్రారంభించండి'; + + @override + String get orDivider => 'లేదా'; + + @override + String get enterPasswordForEmailHint => 'మీ పాస్‌వర్డ్ నమోదు చేయండి'; + + @override + String get showPasswordHint => 'పాస్వర్డ్ చూపించు'; + + @override + String get obscurePasswordHint => 'పాస్‌వర్డ్ దాచు'; + + @override + String get clearLoginTooltip => 'లాగిన్ తొలగించు'; + + @override + String get emailOrPhoneLabel => 'ఈమెయిల్ లేదా ఫోన్'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com లేదా +1234567890'; + + @override + String get emailOrPhoneHint => 'ఈమెయిల్ లేదా ఫోన్ నంబర్ నమోదు చేయండి'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'దయచేసి కొనసాగించడానికి ఒప్పందాలను అంగీకరించండి.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'నేను వ్యక్తిగత డేటా ప్రాసెసింగ్‌కు సమ్మతిస్తున్నాను,'; + + @override + String get consentTheUseOf => 'ఉపయోగం'; + + @override + String get consentCookies => 'కుకీస్'; + + @override + String get consentAgreeToThe => ', అంగీకరించండి'; + + @override + String get consentTermsAndConditions => 'నిబంధనలు మరియు షరతులు'; + + @override + String get consentAndAcknowledgeThe => ', మరియు అంగీకరించండి'; + + @override + String get consentPrivacyPolicy => 'గోప్యతా విధానం'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'నేను నా సంప్రదింపును AIతో చేస్తున్నాను మరియు లైసెన్సు పొందిన వైద్య నిపుణుడితో కాదు అని అంగీకరిస్తున్నాను.'; + + @override + String get logOutDialogTitle => 'లాగ్ అవుట్'; + + @override + String get logOutDialogContent => + 'మీరు ఖచ్చితంగా లాగ్ ఔట్ అవ్వాలనుకుంటున్నారా?'; + + @override + String get logOutDialogCancelButton => 'రద్దు'; + + @override + String get logOutDialogLogOutButton => 'అవును, లాగ్ అవుట్'; + + @override + String get resendCodeButton => 'కోడ్ తిరిగి పంపించు'; + + @override + String resendCodeTimer(String timer) { + return 'కోడ్ మళ్లీ పంపించండి ($timer)'; + } + + @override + String get consentFull => + 'నేను వ్యక్తిగత డేటా ప్రాసెసింగ్‌కు అంగీకరిస్తున్నాను, కుకీలు ఉపయోగించడానికి అంగీకరిస్తున్నాను, నిబంధనలు మరియు షరతులు అంగీకరిస్తున్నాను, మరియు

గోప్యతా విధానం

ని అంగీకరిస్తున్నాను.'; + + @override + String get emailLabel => 'మీ ఇమెయిల్ నమోదు చేయండి'; + + @override + String get signUpWithEmailTitle => 'ఇమెయిల్‌తో సైన్ అప్ చేయండి'; + + @override + String get logInWithEmailTitle => 'ఇమెయిల్‌తో లాగిన్ చేయండి'; + + @override + String get phoneLabel => 'మీ ఫోన్ నంబర్ నమోదు చేయండి'; + + @override + String get confirmPhoneTitle => 'మీ ఫోన్‌ను ధృవీకరించండి'; + + @override + String get signUpText => 'సైన్ అప్ చేయండి'; + + @override + String get emailHintShort => 'ఇమెయిల్ నమోదు చేయండి'; + + @override + String get buttonTextSignUpWithGoogle => 'Google తో సైన్ అప్ చేయండి'; + + @override + String get buttonTextSignUpWithApple => 'Appleతో సైన్ అప్ చేయండి'; + + @override + String get buttonTextSignUpWithPhone => 'ఫోన్‌తో సైన్ అప్ చేయండి'; + + @override + String get buttonTextLoginWithGoogle => 'Googleతో లాగిన్ చేయండి'; + + @override + String get buttonTextLoginWithApple => 'Appleతో లాగిన్ చేయండి'; + + @override + String get buttonTextLoginWithPhone => 'ఫోన్‌తో లాగిన్'; + + @override + String get youAreLoggedOutMessage => 'మీరు లాగ్ అవుట్ అయ్యారు'; + + @override + String get reloadButtonText => 'మళ్లీ లోడ్ చేయండి'; + + @override + String get emailErrorText => 'చెల్లని ఇమెయిల్ చిరునామా'; + + @override + String get passwordErrorText => 'పాస్వర్డ్ కనీసం 6 అక్షరాలుగా ఉండాలి'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'చెల్లని ఫోన్ నంబర్: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'కৃপయా కొత్త కోడ్ కోరే ముందు $seconds సెకండ్స్ వేచి ఉండండి.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'చెల్లని ఫోన్ కోడ్: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'నిబంధనలు మరియు షరతులు'; + + @override + String get continueAsGuestBtn => 'అతిథిగా కొనసాగించండి'; + + @override + String get noAccountYetPromptText => + 'మీకు ఇంకా ఖాతా లేదు?

సైన్ అప్ చేయండి

'; + + @override + String get alreadyHaveAccountPromptText => + 'మీకు ఇప్పటికే ఖాతా ఉందా?

లాగిన్ చేయండి

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'మీరు ప్రీమియం కొనసాగించడానికి ముందు సైన్ అప్ చేయాలి'; + + @override + String get loginSubtitle => + 'వ్యక్తిగత కంటెంట్ పొందండి మరియు మీ సమాజంతో సంబంధం ఉంచండి!'; + + @override + String get emailFieldLabel => 'ఈ-మెయిల్'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'మీ పాస్వర్డ్‌ను పునఃప్రాప్తి చేయండి'; + + @override + String get createAccountTitle => 'ఖాతా సృష్టించండి'; + + @override + String get createAccountSubtitle => + 'మీ ఆరోగ్య డేటాను సురక్షితంగా సేవ్ చేయడానికి మరియు మీ అంచనాను కొనసాగించడానికి ఖాతా అవసరం.'; + + @override + String get repeatLabel => 'మరలా'; + + @override + String get repeatPasswordHint => 'మీ పాస్వర్డ్ను మళ్లీ నమోదు చేయండి'; + + @override + String get confirmButton => 'అంగీకరించు'; + + @override + String get noAccountPrompt => 'ఖాతా లేదు?'; + + @override + String get alreadyHaveAccountPrompt => 'ఇప్పటికే మీకు ఖాతా ఉందా?'; + + @override + String get createPasswordHeader => 'పాస్వర్డ్ సృష్టించండి'; + + @override + String get phoneHeader => 'ఫోన్'; + + @override + String get verifyPhoneHeader => 'ఫోన్‌ను నిర్ధారించండి'; + + @override + String get phoneTitle => 'మీ సంఖ్య ఏమిటి?'; + + @override + String get phoneSubtitle => + 'మీ ఫోన్‌ను నిర్ధారించడానికి మేము కోడ్‌ను సందేశం పంపిస్తాము'; + + @override + String get phoneNumberLabel => 'సంఖ్య'; + + @override + String get enterPhoneNumber => 'ఫోన్ నంబర్ నమోదు చేయండి'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return '$countdown సెకండ్లు వేచి ఉండండి'; + } + + @override + String get enterCodeTitle => 'మీ కోడ్‌ను నమోదు చేయండి'; + + @override + String codeSentToPhone(String phone) { + return '$phone కు మేము ఒక కోడ్ పంపించాము'; + } + + @override + String get didntReceiveCode => 'కోడ్ అందలేదు కదా?'; + + @override + String get clickToResend => 'మరలా పంపించడానికి క్లిక్ చేయండి'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'మీరు $countdown సెకన్లలో కొత్త కోడ్‌ను అభ్యర్థించవచ్చు'; + } + + @override + String get closeTooltip => 'మూసివేయి'; + + @override + String get backTooltip => 'తిరిగి'; + + @override + String get termsOfServiceLink => 'సేవా నిబంధనలు'; + + @override + String get privacyPolicyLink => 'గోప్యతా విధానం'; + + @override + String get welcomeBackTitle => 'మళ్లీ స్వాగతం'; + + @override + String get welcomeBackSubtitle => + 'మీకు ఇప్పటికే Doctorina ఖాతా ఉంటే లాగిన్ అవ్వండి, లేదా ప్రారంభించడానికి సైన్ అప్ చేయండి.'; + + @override + String get passwordRuleLength => '8 నుండి 128 అక్షరాలు'; + + @override + String get passwordRuleNumber => 'కనీసం 1 సంఖ్య'; + + @override + String get passwordRuleUppercase => 'కనీసం 1 పెద్ద అక్షరం'; + + @override + String get passwordRuleMatch => 'పాస్వర్డ్లు సరిపోతున్నాయి'; + + @override + String get phoneOtpVerificationFailed => + 'OTP ధృవీకరణ విఫలమైంది. దయచేసి మళ్ళీ ప్రయత్నించండి.'; + + @override + String get referralCodeLabel => 'రిఫరల్ కోడ్'; + + @override + String get enterReferralCodeHint => 'మీ రిఫరల్ కోడ్‌ను నమోదు చేయండి'; + + @override + String get referralCodeExampleHint => 'ఉదాహరణకు CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'మీకు రిఫరల్ కోడ్ ఉందా?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_th.dart b/example/lib/src/generated/sign_up/sign_up_localization_th.dart new file mode 100644 index 0000000..b900403 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_th.dart @@ -0,0 +1,344 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Thai (`th`). +class SignUpLocalizationTh extends SignUpLocalization { + SignUpLocalizationTh([String locale = 'th']) : super(locale); + + @override + String get logIn => 'เข้าสู่ระบบ'; + + @override + String get password => 'รหัสผ่าน'; + + @override + String get changeNumber => 'เปลี่ยนหมายเลข'; + + @override + String get forgotPassword => 'ลืมรหัสผ่าน?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'ป้อนที่อยู่อีเมลของคุณ, แล้วเราจะส่งลิงก์เพื่อรีเซ็ตรหัสผ่านให้คุณ'; + + @override + String get rememberYourPasswordQuestion => 'คุณจำรหัสผ่านของคุณได้หรือไม่?'; + + @override + String get backToLoginButton => 'ฉันมีรหัสผ่าน'; + + @override + String get continueButton => 'ดำเนินต่อ'; + + @override + String get passwordResetEmailSentSnackBar => 'ส่งอีเมลรีเซ็ตรหัสผ่านแล้ว'; + + @override + String get resetPasswordButton => 'รีเซ็ตรหัสผ่าน'; + + @override + String get confirmCodeButton => 'ยืนยันรหัส'; + + @override + String get startUsingDoctorinaTodaySubtitle => 'เริ่มใช้ Doctorina วันนี้'; + + @override + String get orDivider => 'หรือ'; + + @override + String get enterPasswordForEmailHint => 'ป้อนรหัสผ่านของคุณ'; + + @override + String get showPasswordHint => 'แสดงรหัสผ่าน'; + + @override + String get obscurePasswordHint => 'ซ่อนรหัสผ่าน'; + + @override + String get clearLoginTooltip => 'ล้างการเข้าสู่ระบบ'; + + @override + String get emailOrPhoneLabel => 'อีเมลหรือโทรศัพท์'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com หรือ +1234567890'; + + @override + String get emailOrPhoneHint => 'ป้อนอีเมลหรือหมายเลขโทรศัพท์'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'โปรดยอมรับข้อตกลงเพื่อดำเนินการต่อ.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'ฉันยินยอมให้มีการประมวลผลข้อมูลส่วนบุคคล,'; + + @override + String get consentTheUseOf => 'การใช้ของ'; + + @override + String get consentCookies => 'คุกกี้'; + + @override + String get consentAgreeToThe => ', ยินยอมกับ'; + + @override + String get consentTermsAndConditions => 'ข้อกำหนดและเงื่อนไข'; + + @override + String get consentAndAcknowledgeThe => ', และรับทราบ'; + + @override + String get consentPrivacyPolicy => 'นโยบายความเป็นส่วนตัว'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'ฉันรับทราบว่าการปรึกษาของฉันเป็นกับ AI และไม่ใช่ผู้เชี่ยวชาญทางการแพทย์ที่ได้รับอนุญาต.'; + + @override + String get logOutDialogTitle => 'ออกจากระบบ'; + + @override + String get logOutDialogContent => 'คุณแน่ใจหรือว่าต้องการออกจากระบบ?'; + + @override + String get logOutDialogCancelButton => 'ยกเลิก'; + + @override + String get logOutDialogLogOutButton => 'ใช่, ออกจากระบบ'; + + @override + String get resendCodeButton => 'ส่งรหัสอีกครั้ง'; + + @override + String resendCodeTimer(String timer) { + return 'ส่งรหัสอีกครั้ง ($timer)'; + } + + @override + String get consentFull => + 'ฉันยินยอมให้มีการประมวลผลข้อมูลส่วนบุคคล การใช้ คุกกี้ ยอมรับ ข้อกำหนดและเงื่อนไข และรับทราบ

นโยบายความเป็นส่วนตัว

'; + + @override + String get emailLabel => 'กรอกอีเมลของคุณ'; + + @override + String get signUpWithEmailTitle => 'สมัครด้วยอีเมล'; + + @override + String get logInWithEmailTitle => 'เข้าสู่ระบบด้วยอีเมล'; + + @override + String get phoneLabel => 'กรอกเบอร์โทรของคุณ'; + + @override + String get confirmPhoneTitle => 'ยืนยันโทรศัพท์ของคุณ'; + + @override + String get signUpText => 'สมัครสมาชิก'; + + @override + String get emailHintShort => 'ป้อนอีเมล'; + + @override + String get buttonTextSignUpWithGoogle => 'สมัครด้วย Google'; + + @override + String get buttonTextSignUpWithApple => 'สมัครด้วย Apple'; + + @override + String get buttonTextSignUpWithPhone => 'สมัครด้วยโทรศัพท์'; + + @override + String get buttonTextLoginWithGoogle => 'เข้าสู่ระบบด้วย Google'; + + @override + String get buttonTextLoginWithApple => 'เข้าสู่ระบบด้วย Apple'; + + @override + String get buttonTextLoginWithPhone => 'เข้าสู่ระบบด้วยโทรศัพท์'; + + @override + String get youAreLoggedOutMessage => 'คุณได้ออกจากระบบ'; + + @override + String get reloadButtonText => 'รีโหลด'; + + @override + String get emailErrorText => 'ที่อยู่อีเมลไม่ถูกต้อง'; + + @override + String get passwordErrorText => 'รหัสผ่านต้องมีอย่างน้อย 6 ตัวอักษร'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'หมายเลขโทรศัพท์ไม่ถูกต้อง: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'โปรดรอสัก $seconds วินาทีก่อนขอรหัสใหม่'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'รหัสโทรศัพท์ไม่ถูกต้อง: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'ข้อกำหนดและเงื่อนไข'; + + @override + String get continueAsGuestBtn => 'ดำเนินการต่อในฐานะแขก'; + + @override + String get noAccountYetPromptText => 'ยังไม่มีบัญชี?

สมัครสมาชิก

'; + + @override + String get alreadyHaveAccountPromptText => + 'มีบัญชีอยู่แล้ว?

เข้าสู่ระบบ

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'คุณต้องลงทะเบียนก่อนจึงจะสามารถดำเนินการกับ Premium ได้'; + + @override + String get loginSubtitle => + 'รับเนื้อหาที่ปรับให้เหมาะกับคุณและติดต่อกับชุมชนของคุณ!'; + + @override + String get emailFieldLabel => 'อีเมล'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'กู้คืนรหัสผ่านของคุณ'; + + @override + String get createAccountTitle => 'สร้างบัญชี'; + + @override + String get createAccountSubtitle => + 'เราต้องการบัญชีเพื่อบันทึกข้อมูลสุขภาพของคุณอย่างปลอดภัยและดำเนินการประเมินของคุณต่อ'; + + @override + String get repeatLabel => 'ทำซ้ำ'; + + @override + String get repeatPasswordHint => 'กรุณาพิมพ์รหัสผ่านของคุณอีกครั้ง'; + + @override + String get confirmButton => 'ยืนยัน'; + + @override + String get noAccountPrompt => 'ยังไม่มีบัญชีใช่ไหม?'; + + @override + String get alreadyHaveAccountPrompt => 'มีบัญชีอยู่แล้วหรือไม่?'; + + @override + String get createPasswordHeader => 'สร้างรหัสผ่าน'; + + @override + String get phoneHeader => 'โทรศัพท์'; + + @override + String get verifyPhoneHeader => 'ยืนยันหมายเลขโทรศัพท์'; + + @override + String get phoneTitle => 'หมายเลขของคุณคืออะไร'; + + @override + String get phoneSubtitle => + 'เราจะส่งข้อความรหัสไปยังโทรศัพท์ของคุณเพื่อยืนยัน'; + + @override + String get phoneNumberLabel => 'หมายเลข'; + + @override + String get enterPhoneNumber => 'กรอกหมายเลขโทรศัพท์'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'รอ $countdown วินาที'; + } + + @override + String get enterCodeTitle => 'กรอกโค้ดของคุณ'; + + @override + String codeSentToPhone(String phone) { + return 'เราได้ส่งรหัสไปที่ $phone'; + } + + @override + String get didntReceiveCode => 'ไม่ได้รับรหัสใช่ไหม?'; + + @override + String get clickToResend => 'คลิกเพื่อส่งอีกครั้ง'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'คุณสามารถขอรหัสใหม่ได้ใน $countdown วินาที'; + } + + @override + String get closeTooltip => 'ปิด'; + + @override + String get backTooltip => 'กลับ'; + + @override + String get termsOfServiceLink => 'ข้อกำหนดการให้บริการ'; + + @override + String get privacyPolicyLink => 'นโยบายความเป็นส่วนตัว'; + + @override + String get welcomeBackTitle => 'ยินดีต้อนรับกลับ'; + + @override + String get welcomeBackSubtitle => + 'เข้าสู่ระบบหากคุณมีบัญชี Doctorina อยู่แล้ว หรือสมัครสมาชิกเพื่อเริ่มต้น'; + + @override + String get passwordRuleLength => 'จาก 8 ถึง 128 ตัวอักษร'; + + @override + String get passwordRuleNumber => 'อย่างน้อย 1 ตัวเลข'; + + @override + String get passwordRuleUppercase => 'อย่างน้อย 1 ตัวอักษรตัวใหญ่'; + + @override + String get passwordRuleMatch => 'รหัสผ่านตรงกัน'; + + @override + String get phoneOtpVerificationFailed => + 'การยืนยัน OTP ล้มเหลว โปรดลองอีกครั้ง'; + + @override + String get referralCodeLabel => 'รหัสอ้างอิง'; + + @override + String get enterReferralCodeHint => 'กรุณาใส่รหัสอ้างอิงของคุณ'; + + @override + String get referralCodeExampleHint => 'เช่น CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'มีรหัสอ้างอิงหรือไม่?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_tl.dart b/example/lib/src/generated/sign_up/sign_up_localization_tl.dart new file mode 100644 index 0000000..a0beee0 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_tl.dart @@ -0,0 +1,349 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Tagalog (`tl`). +class SignUpLocalizationTl extends SignUpLocalization { + SignUpLocalizationTl([String locale = 'tl']) : super(locale); + + @override + String get logIn => 'Mag-log in'; + + @override + String get password => 'Password'; + + @override + String get changeNumber => 'Palitan ang numero'; + + @override + String get forgotPassword => 'Nakalimutan ang Password?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Ilagay ang iyong email address, at magpapadala kami sa iyo ng link upang i-reset ang iyong password.'; + + @override + String get rememberYourPasswordQuestion => + 'Naalala mo ba ang iyong password?'; + + @override + String get backToLoginButton => 'Mayroon akong password'; + + @override + String get continueButton => 'Magpatuloy'; + + @override + String get passwordResetEmailSentSnackBar => + 'Naipadala ang email para sa pag-reset ng password'; + + @override + String get resetPasswordButton => 'I-reset ang password'; + + @override + String get confirmCodeButton => 'Kumpirmahin ang code'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Simulan ang paggamit ng Doctorina ngayon'; + + @override + String get orDivider => 'O'; + + @override + String get enterPasswordForEmailHint => 'Ilagay ang iyong password'; + + @override + String get showPasswordHint => 'Ipakita ang password'; + + @override + String get obscurePasswordHint => 'Itago ang password'; + + @override + String get clearLoginTooltip => 'Linawin ang pag-login'; + + @override + String get emailOrPhoneLabel => 'Email o telepono'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com o +1234567890'; + + @override + String get emailOrPhoneHint => 'Ilagay ang email o numero ng telepono'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Mangyaring tanggapin ang mga kasunduan upang magpatuloy.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Sumasang-ayon ako sa pagproseso ng personal na data,'; + + @override + String get consentTheUseOf => 'ang paggamit ng'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', sumasang-ayon sa'; + + @override + String get consentTermsAndConditions => 'mga tuntunin at kundisyon'; + + @override + String get consentAndAcknowledgeThe => ', at kilalanin ang'; + + @override + String get consentPrivacyPolicy => 'patakaran sa privacy'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Akin ay kinikilala na ang aking konsultasyon ay kasama ang isang AI at hindi isang lisensyadong propesyonal sa medisina.'; + + @override + String get logOutDialogTitle => 'Mag-logout'; + + @override + String get logOutDialogContent => 'Sigurado ka bang mag-log out?'; + + @override + String get logOutDialogCancelButton => 'Kanselahin'; + + @override + String get logOutDialogLogOutButton => 'Oo, mag-logout'; + + @override + String get resendCodeButton => 'Ipadala muli ang code'; + + @override + String resendCodeTimer(String timer) { + return 'Ipadala muli ang code ($timer)'; + } + + @override + String get consentFull => + 'Sumasang-ayon ako sa pagproseso ng personal na data, sa paggamit ng cookies, sumasang-ayon sa mga tuntunin at kundisyon, at kinikilala ang

patakaran sa privacy

.'; + + @override + String get emailLabel => 'Ilagay ang iyong email'; + + @override + String get signUpWithEmailTitle => 'Mag-sign up gamit ang email'; + + @override + String get logInWithEmailTitle => 'Mag-log in gamit ang email'; + + @override + String get phoneLabel => 'Ilagay ang iyong telepono'; + + @override + String get confirmPhoneTitle => 'Kumpirmahin ang iyong telepono'; + + @override + String get signUpText => 'Mag-sign up'; + + @override + String get emailHintShort => 'Ilagay ang email'; + + @override + String get buttonTextSignUpWithGoogle => 'Mag-sign up gamit ang Google'; + + @override + String get buttonTextSignUpWithApple => 'Mag-sign up gamit ang Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Mag-sign up gamit ang Telepono'; + + @override + String get buttonTextLoginWithGoogle => 'Mag-login gamit ang Google'; + + @override + String get buttonTextLoginWithApple => 'Mag-login gamit ang Apple'; + + @override + String get buttonTextLoginWithPhone => 'Mag-login gamit ang Telepono'; + + @override + String get youAreLoggedOutMessage => 'Naka-log out ka na'; + + @override + String get reloadButtonText => 'I-reload'; + + @override + String get emailErrorText => 'Hindi wastong email address'; + + @override + String get passwordErrorText => + 'Ang password ay dapat hindi bababa sa 6 na karakter'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Hindi wastong numero ng telepono: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Mangyaring hintayin ang $seconds segundo bago humiling ng bagong code.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Di-wastong phone code: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Mga Tuntunin at Kundisyon'; + + @override + String get continueAsGuestBtn => 'Magpatuloy bilang panauhin'; + + @override + String get noAccountYetPromptText => + 'Wala ka pang account?

Mag-sign up

'; + + @override + String get alreadyHaveAccountPromptText => + 'Mayroon ka na bang account?

Mag-login

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Kailangan mong mag-sign up bago ka makapagpatuloy sa Premium'; + + @override + String get loginSubtitle => + 'Kumuha ng personalized na nilalaman at manatiling konektado sa iyong komunidad!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Ibalik ang iyong password'; + + @override + String get createAccountTitle => 'Lumikha ng account'; + + @override + String get createAccountSubtitle => + 'Kailangan namin ng account upang ligtas na mai-save ang iyong data sa kalusugan at ipagpatuloy ang iyong pagsusuri.'; + + @override + String get repeatLabel => 'Ulitin'; + + @override + String get repeatPasswordHint => 'Ulitin ang iyong password'; + + @override + String get confirmButton => 'Kumpirmahin'; + + @override + String get noAccountPrompt => 'Wala ka bang account?'; + + @override + String get alreadyHaveAccountPrompt => 'May account ka na ba?'; + + @override + String get createPasswordHeader => 'Gumawa ng password'; + + @override + String get phoneHeader => 'Telepono'; + + @override + String get verifyPhoneHeader => 'Kumpirmahin ang Telepono'; + + @override + String get phoneTitle => 'Ano ang iyong numero?'; + + @override + String get phoneSubtitle => + 'Magte-text kami ng code upang i-verify ang iyong telepono'; + + @override + String get phoneNumberLabel => 'Numero'; + + @override + String get enterPhoneNumber => 'Ilagay ang numero ng telepono'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Maghintay ng $countdown segundo'; + } + + @override + String get enterCodeTitle => 'Ilagay ang iyong code'; + + @override + String codeSentToPhone(String phone) { + return 'Nagpadala kami ng code sa $phone'; + } + + @override + String get didntReceiveCode => 'Hindi natanggap ang code?'; + + @override + String get clickToResend => 'I-click upang muling ipadala'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Maaari kang humiling ng bagong code sa $countdown segundo'; + } + + @override + String get closeTooltip => 'Isara'; + + @override + String get backTooltip => 'Bumalik'; + + @override + String get termsOfServiceLink => 'Mga Tuntunin ng Serbisyo'; + + @override + String get privacyPolicyLink => 'Patakaran sa Privacy'; + + @override + String get welcomeBackTitle => 'Maligayang pagbabalik'; + + @override + String get welcomeBackSubtitle => + 'Mag-log in kung mayroon ka nang Doctorina account, o mag-sign up upang makapagsimula.'; + + @override + String get passwordRuleLength => 'Mula 8 hanggang 128 na mga karakter'; + + @override + String get passwordRuleNumber => 'Hindi bababa sa 1 numero'; + + @override + String get passwordRuleUppercase => 'Hindi man 1 malaking titik'; + + @override + String get passwordRuleMatch => 'Magkatugma ang mga password'; + + @override + String get phoneOtpVerificationFailed => + 'Nabigo ang pag-verify ng OTP. Pakisubukang muli.'; + + @override + String get referralCodeLabel => 'Referral code'; + + @override + String get enterReferralCodeHint => 'Ilagay ang iyong referral code'; + + @override + String get referralCodeExampleHint => 'Hal. CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'May referral code ka ba?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_tr.dart b/example/lib/src/generated/sign_up/sign_up_localization_tr.dart new file mode 100644 index 0000000..ca6e2e8 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_tr.dart @@ -0,0 +1,348 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Turkish (`tr`). +class SignUpLocalizationTr extends SignUpLocalization { + SignUpLocalizationTr([String locale = 'tr']) : super(locale); + + @override + String get logIn => 'Giriş yap'; + + @override + String get password => 'Şifre'; + + @override + String get changeNumber => 'Numarayı değiştir'; + + @override + String get forgotPassword => 'Şifrenizi mi unuttunuz?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'E-posta adresinizi girin, şifrenizi sıfırlamak için bir bağlantı göndereceğiz'; + + @override + String get rememberYourPasswordQuestion => 'Parolanı hatırlıyor musun?'; + + @override + String get backToLoginButton => 'Bir şifrem var'; + + @override + String get continueButton => 'Devam'; + + @override + String get passwordResetEmailSentSnackBar => + 'Şifre sıfırlama e-postası gönderildi'; + + @override + String get resetPasswordButton => 'Şifreyi sıfırla'; + + @override + String get confirmCodeButton => 'Kodu onayla'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Bugün Doctorina kullanmaya başlayın'; + + @override + String get orDivider => 'VEYA'; + + @override + String get enterPasswordForEmailHint => 'Şifrenizi girin'; + + @override + String get showPasswordHint => 'Şifreyi göster'; + + @override + String get obscurePasswordHint => 'Şifreyi gizle'; + + @override + String get clearLoginTooltip => 'Girişi temizle'; + + @override + String get emailOrPhoneLabel => 'E-posta veya telefon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com veya +1234567890'; + + @override + String get emailOrPhoneHint => 'E-posta veya telefon numarası girin'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Devam etmek için lütfen sözleşmeleri kabul edin.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Kişisel verilerin işlenmesine onay veriyorum,'; + + @override + String get consentTheUseOf => 'kullanım'; + + @override + String get consentCookies => 'çerezler'; + + @override + String get consentAgreeToThe => ', kabul ediyorum'; + + @override + String get consentTermsAndConditions => 'şartlar ve koşullar'; + + @override + String get consentAndAcknowledgeThe => ', ve kabul et'; + + @override + String get consentPrivacyPolicy => 'gizlilik politikası'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Danışmamın bir yapay zeka ile olduğunu ve lisanslı bir tıp profesyoneli ile olmadığını kabul ediyorum.'; + + @override + String get logOutDialogTitle => 'Çıkış Yap'; + + @override + String get logOutDialogContent => 'Çıkış yapmak istediğinize emin misiniz?'; + + @override + String get logOutDialogCancelButton => 'İptal'; + + @override + String get logOutDialogLogOutButton => 'Evet, çıkış yap'; + + @override + String get resendCodeButton => 'Kodu yeniden gönder'; + + @override + String resendCodeTimer(String timer) { + return 'Kodu yeniden gönder ($timer)'; + } + + @override + String get consentFull => + 'Kişisel verilerin işlenmesine, çerezlerin kullanılmasına, şartlar ve koşullara onay veriyorum ve

gizlilik politikasını

kabul ediyorum.'; + + @override + String get emailLabel => 'E-postanızı girin'; + + @override + String get signUpWithEmailTitle => 'E-posta ile kaydol'; + + @override + String get logInWithEmailTitle => 'E-posta ile giriş yap'; + + @override + String get phoneLabel => 'Telefonunuzu girin'; + + @override + String get confirmPhoneTitle => 'Telefonunu onayla'; + + @override + String get signUpText => 'Kaydol'; + + @override + String get emailHintShort => 'E-posta girin'; + + @override + String get buttonTextSignUpWithGoogle => 'Google ile kaydol'; + + @override + String get buttonTextSignUpWithApple => 'Apple ile kaydol'; + + @override + String get buttonTextSignUpWithPhone => 'Telefonla kaydol'; + + @override + String get buttonTextLoginWithGoogle => 'Google ile giriş yap'; + + @override + String get buttonTextLoginWithApple => 'Apple ile giriş yap'; + + @override + String get buttonTextLoginWithPhone => 'Telefon ile giriş yap'; + + @override + String get youAreLoggedOutMessage => 'Oturumunuz kapatıldı'; + + @override + String get reloadButtonText => 'Yeniden yükle'; + + @override + String get emailErrorText => 'Geçersiz e-posta adresi'; + + @override + String get passwordErrorText => + 'Parola en az 6 karakter uzunluğunda olmalıdır'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Geçersiz telefon numarası: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Yeni kod istemeden önce lütfen $seconds saniye bekleyin.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Geçersiz telefon kodu: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Şartlar ve koşullar'; + + @override + String get continueAsGuestBtn => 'Konuk olarak devam et'; + + @override + String get noAccountYetPromptText => + 'Henüz hesabınız yok mu?

Kayıt olun

'; + + @override + String get alreadyHaveAccountPromptText => + 'Zaten hesabınız var mı?

Giriş yap

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Premium ile devam edebilmek için kaydolmalısınız'; + + @override + String get loginSubtitle => + 'Kişiselleştirilmiş içerik alın ve topluluğunuzla iletişimde kalın!'; + + @override + String get emailFieldLabel => 'E-posta'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Şifrenizi geri alın'; + + @override + String get createAccountTitle => 'Hesap oluştur'; + + @override + String get createAccountSubtitle => + 'Sağlık verilerinizi güvenli bir şekilde kaydetmek ve değerlendirmenize devam etmek için bir hesaba ihtiyacımız var.'; + + @override + String get repeatLabel => 'Tekrar'; + + @override + String get repeatPasswordHint => 'Şifrenizi tekrar girin'; + + @override + String get confirmButton => 'Onayla'; + + @override + String get noAccountPrompt => 'Hesabınız yok mu?'; + + @override + String get alreadyHaveAccountPrompt => 'Zaten bir hesabınız var mı?'; + + @override + String get createPasswordHeader => 'Bir şifre oluşturun'; + + @override + String get phoneHeader => 'Telefon'; + + @override + String get verifyPhoneHeader => 'Telefonu Doğrula'; + + @override + String get phoneTitle => 'Numaranız nedir?'; + + @override + String get phoneSubtitle => + 'Telefonunuzu doğrulamak için bir kod göndereceğiz'; + + @override + String get phoneNumberLabel => 'Numara'; + + @override + String get enterPhoneNumber => 'Telefon numarasını girin'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Bekle $countdown saniye'; + } + + @override + String get enterCodeTitle => 'Kodunuzu girin'; + + @override + String codeSentToPhone(String phone) { + return '$phone numarasına bir kod gönderdik'; + } + + @override + String get didntReceiveCode => 'Kodu almadınız mı?'; + + @override + String get clickToResend => 'Yeniden göndermek için tıklayın'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Yeni bir kodu $countdown saniye içinde isteyebilirsiniz'; + } + + @override + String get closeTooltip => 'Kapat'; + + @override + String get backTooltip => 'Geri'; + + @override + String get termsOfServiceLink => 'Hizmet Şartları'; + + @override + String get privacyPolicyLink => 'Gizlilik Politikası'; + + @override + String get welcomeBackTitle => 'Hoş geldiniz'; + + @override + String get welcomeBackSubtitle => + 'Zaten bir Doctorina hesabınız varsa giriş yapın veya başlamak için kaydolun.'; + + @override + String get passwordRuleLength => '8 ile 128 karakter arası'; + + @override + String get passwordRuleNumber => 'En az 1 rakam'; + + @override + String get passwordRuleUppercase => 'En az 1 büyük harf'; + + @override + String get passwordRuleMatch => 'Şifreler eşleşiyor'; + + @override + String get phoneOtpVerificationFailed => + 'OTP doğrulaması başarısız oldu. Lütfen tekrar deneyin.'; + + @override + String get referralCodeLabel => 'Referans kodu'; + + @override + String get enterReferralCodeHint => 'Referans kodunuzu girin'; + + @override + String get referralCodeExampleHint => 'ÖRNEĞİN CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Bir referans kodunuz var mı?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_uk.dart b/example/lib/src/generated/sign_up/sign_up_localization_uk.dart new file mode 100644 index 0000000..a44719e --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_uk.dart @@ -0,0 +1,346 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Ukrainian (`uk`). +class SignUpLocalizationUk extends SignUpLocalization { + SignUpLocalizationUk([String locale = 'uk']) : super(locale); + + @override + String get logIn => 'Увійти'; + + @override + String get password => 'Пароль'; + + @override + String get changeNumber => 'Змінити номер'; + + @override + String get forgotPassword => 'Забули пароль?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Введіть вашу електронну адресу, і ми надішлемо вам посилання для скидання пароля'; + + @override + String get rememberYourPasswordQuestion => 'Запам\'ятали свій пароль?'; + + @override + String get backToLoginButton => 'У мене є пароль'; + + @override + String get continueButton => 'Продовжити'; + + @override + String get passwordResetEmailSentSnackBar => + 'Email для скидання пароля надіслано'; + + @override + String get resetPasswordButton => 'Скинути пароль'; + + @override + String get confirmCodeButton => 'Підтвердити код'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Почніть використовувати Doctorina сьогодні'; + + @override + String get orDivider => 'АБО'; + + @override + String get enterPasswordForEmailHint => 'Введіть свій пароль'; + + @override + String get showPasswordHint => 'Показати пароль'; + + @override + String get obscurePasswordHint => 'Приховати пароль'; + + @override + String get clearLoginTooltip => 'Очистити вхід'; + + @override + String get emailOrPhoneLabel => 'Email або телефон'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com або +1234567890'; + + @override + String get emailOrPhoneHint => 'Введіть електронну адресу або номер телефону'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Будь ласка, прийміть угоди, щоб продовжити.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Я погоджуюсь на обробку персональних даних,'; + + @override + String get consentTheUseOf => 'використання'; + + @override + String get consentCookies => 'куки'; + + @override + String get consentAgreeToThe => ', погоджуюсь з'; + + @override + String get consentTermsAndConditions => 'умови та положення'; + + @override + String get consentAndAcknowledgeThe => ', та визнаєте, що'; + + @override + String get consentPrivacyPolicy => 'політика конфіденційності'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Я підтверджую, що моя консультація проводиться штучним інтелектом, а не ліцензованим медичним фахівцем.'; + + @override + String get logOutDialogTitle => 'Вийти'; + + @override + String get logOutDialogContent => 'Ви впевнені, що хочете вийти?'; + + @override + String get logOutDialogCancelButton => 'Скасувати'; + + @override + String get logOutDialogLogOutButton => 'Так, вийти'; + + @override + String get resendCodeButton => 'Надіслати код знову'; + + @override + String resendCodeTimer(String timer) { + return 'Відправити код повторно ($timer)'; + } + + @override + String get consentFull => + 'Я погоджуюсь на обробку персональних даних, використання cookies, погоджуюсь з умовами та положеннями та підтверджую

політику конфіденційності

.'; + + @override + String get emailLabel => 'Введіть ваш email'; + + @override + String get signUpWithEmailTitle => 'Зареєструватися через електронну пошту'; + + @override + String get logInWithEmailTitle => 'Увійти через електронну пошту'; + + @override + String get phoneLabel => 'Введіть ваш телефон'; + + @override + String get confirmPhoneTitle => 'Підтвердіть свій телефон'; + + @override + String get signUpText => 'Зареєструватися'; + + @override + String get emailHintShort => 'Введіть пошту'; + + @override + String get buttonTextSignUpWithGoogle => 'Зареєструватися через Google'; + + @override + String get buttonTextSignUpWithApple => 'Зареєструватися через Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Зареєструватися через телефон'; + + @override + String get buttonTextLoginWithGoogle => 'Увійти через Google'; + + @override + String get buttonTextLoginWithApple => 'Увійти через Apple'; + + @override + String get buttonTextLoginWithPhone => 'Увійти через телефон'; + + @override + String get youAreLoggedOutMessage => 'Ви вийшли'; + + @override + String get reloadButtonText => 'Перезавантажити'; + + @override + String get emailErrorText => 'Невірна електронна адреса'; + + @override + String get passwordErrorText => 'Пароль повинен містити принаймні 6 символів'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Невірний номер телефону: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Будь ласка, зачекайте $seconds секунд перед тим, як запитати новий код.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Неправильний телефонний код: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Умови та положення'; + + @override + String get continueAsGuestBtn => 'Продовжити як гість'; + + @override + String get noAccountYetPromptText => + 'Ще немає акаунта?

Зареєструватися

'; + + @override + String get alreadyHaveAccountPromptText => 'Вже маєте акаунт?

Увійти

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Вам потрібно зареєструватися, перш ніж ви зможете продовжити з Premium'; + + @override + String get loginSubtitle => + 'Отримуйте персоналізований контент і залишайтеся на зв\'язку зі своєю спільнотою!'; + + @override + String get emailFieldLabel => 'Електронна пошта'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Відновіть свій пароль'; + + @override + String get createAccountTitle => 'Створити запис'; + + @override + String get createAccountSubtitle => + 'Нам потрібен обліковий запис, щоб безпечно зберігати ваші медичні дані та продовжити вашу оцінку.'; + + @override + String get repeatLabel => 'Повторити'; + + @override + String get repeatPasswordHint => 'Повторіть свій пароль'; + + @override + String get confirmButton => 'Підтвердити'; + + @override + String get noAccountPrompt => 'Немає облікового запису?'; + + @override + String get alreadyHaveAccountPrompt => 'Вже маєте обліковий запис?'; + + @override + String get createPasswordHeader => 'Створити пароль'; + + @override + String get phoneHeader => 'Телефон'; + + @override + String get verifyPhoneHeader => 'Підтвердити телефон'; + + @override + String get phoneTitle => 'Який у вас номер?'; + + @override + String get phoneSubtitle => + 'Ми надішлемо код для підтвердження вашого телефону'; + + @override + String get phoneNumberLabel => 'Номер'; + + @override + String get enterPhoneNumber => 'Введіть номер телефону'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Зачекайте $countdown секунд'; + } + + @override + String get enterCodeTitle => 'Введіть ваш код'; + + @override + String codeSentToPhone(String phone) { + return 'Ми надіслали код на $phone'; + } + + @override + String get didntReceiveCode => 'Не отримали код?'; + + @override + String get clickToResend => 'Натисніть, щоб надіслати повторно'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Ви можете запросити новий код через $countdown секунд'; + } + + @override + String get closeTooltip => 'Закрити'; + + @override + String get backTooltip => 'Назад'; + + @override + String get termsOfServiceLink => 'Умови використання'; + + @override + String get privacyPolicyLink => 'Політика конфіденційності'; + + @override + String get welcomeBackTitle => 'Ласкаво просимо назад'; + + @override + String get welcomeBackSubtitle => + 'Увійдіть, якщо у вас вже є обліковий запис Doctorina, або зареєструйтесь, щоб почати.'; + + @override + String get passwordRuleLength => 'Від 8 до 128 символів'; + + @override + String get passwordRuleNumber => 'Щонайменше 1 число'; + + @override + String get passwordRuleUppercase => 'Щонайменше 1 велика літера'; + + @override + String get passwordRuleMatch => 'Паролі збігаються'; + + @override + String get phoneOtpVerificationFailed => + 'Не вдалося перевірити одноразовий пароль. Спробуйте ще раз.'; + + @override + String get referralCodeLabel => 'Реферальний код'; + + @override + String get enterReferralCodeHint => 'Введіть свій реферальний код'; + + @override + String get referralCodeExampleHint => 'Наприклад CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'У вас є реферальний код?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_ur.dart b/example/lib/src/generated/sign_up/sign_up_localization_ur.dart new file mode 100644 index 0000000..f490cf5 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_ur.dart @@ -0,0 +1,346 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Urdu (`ur`). +class SignUpLocalizationUr extends SignUpLocalization { + SignUpLocalizationUr([String locale = 'ur']) : super(locale); + + @override + String get logIn => 'لاگ ان'; + + @override + String get password => 'پاس ورڈ'; + + @override + String get changeNumber => 'نمبر تبدیل کریں'; + + @override + String get forgotPassword => 'پاس ورڈ بھول گئے؟'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'اپنا ای میل پتہ درج کریں، اور ہم آپ کو اپنا پاس ورڈ ری سیٹ کرنے کے لیے ایک لنک بھیجیں گے.'; + + @override + String get rememberYourPasswordQuestion => 'کیا آپ کو اپنا پاس ورڈ یاد ہے؟'; + + @override + String get backToLoginButton => 'میرے پاس پاس ورڈ ہے'; + + @override + String get continueButton => 'جاری رکھیں'; + + @override + String get passwordResetEmailSentSnackBar => + 'پاس ورڈ ری سیٹ ای میل بھیجی گئی'; + + @override + String get resetPasswordButton => 'پاس ورڈ ری سیٹ کریں'; + + @override + String get confirmCodeButton => 'کوڈ کی تصدیق'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'آج ہی Doctorina استعمال کرنا شروع کریں'; + + @override + String get orDivider => 'یا'; + + @override + String get enterPasswordForEmailHint => 'اپنا پاس ورڈ درج کریں'; + + @override + String get showPasswordHint => 'پاس ورڈ دکھائیں'; + + @override + String get obscurePasswordHint => 'پاس ورڈ چھپائیں'; + + @override + String get clearLoginTooltip => 'لاگ ان صاف کریں'; + + @override + String get emailOrPhoneLabel => 'ای میل یا فون'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com یا +1234567890'; + + @override + String get emailOrPhoneHint => 'ای میل یا فون نمبر درج کریں'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'براہ کرم جاری رکھنے کے لیے معاہدوں کو قبول کریں.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'میں ذاتی ڈیٹا کی پراسیسنگ کی رضامندی دیتا ہوں،'; + + @override + String get consentTheUseOf => 'استعمال'; + + @override + String get consentCookies => 'کوکیز'; + + @override + String get consentAgreeToThe => ', اتفاق کرنا'; + + @override + String get consentTermsAndConditions => 'شرائط و ضوابط'; + + @override + String get consentAndAcknowledgeThe => ', اور تسلیم کریں'; + + @override + String get consentPrivacyPolicy => 'رازداری کی پالیسی'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'میں اس بات تسلیم کرتا ہوں کہ میری مشاورت AI کے ساتھ ہے اور لائسنس یافتہ طبی پیشہ ور نہیں ہے.'; + + @override + String get logOutDialogTitle => 'لاگ آؤٹ'; + + @override + String get logOutDialogContent => 'کیا آپ واقعی لاگ آؤٹ کرنا چاہتے ہیں؟'; + + @override + String get logOutDialogCancelButton => 'منسوخ کریں'; + + @override + String get logOutDialogLogOutButton => 'ہاں، لاگ آؤٹ'; + + @override + String get resendCodeButton => 'کوڈ دوبارہ بھیجیں'; + + @override + String resendCodeTimer(String timer) { + return 'کوڈ دوبارہ بھیجیں ($timer)'; + } + + @override + String get consentFull => + 'میں ذاتی ڈیٹا کی پروسیسنگ، کوکیز کے استعمال، شرائط و ضوابط سے اتفاق کرتا ہوں، اور

رازداری کی پالیسی

کو تسلیم کرتا ہوں۔'; + + @override + String get emailLabel => 'اپنا ای میل درج کریں'; + + @override + String get signUpWithEmailTitle => 'ای میل کے ساتھ سائن اپ کریں'; + + @override + String get logInWithEmailTitle => 'ای میل سے لاگ ان کریں'; + + @override + String get phoneLabel => 'اپنا فون درج کریں'; + + @override + String get confirmPhoneTitle => 'اپنا فون تصدیق کریں'; + + @override + String get signUpText => 'سائن اپ کریں'; + + @override + String get emailHintShort => 'ای میل درج کریں'; + + @override + String get buttonTextSignUpWithGoogle => 'Google کے ساتھ سائن اپ کریں'; + + @override + String get buttonTextSignUpWithApple => 'Apple کے ساتھ سائن اپ کریں'; + + @override + String get buttonTextSignUpWithPhone => 'فون سے سائن اپ کریں'; + + @override + String get buttonTextLoginWithGoogle => 'Google کے ساتھ لاگ ان کریں'; + + @override + String get buttonTextLoginWithApple => 'Apple کے ساتھ لاگ ان کریں'; + + @override + String get buttonTextLoginWithPhone => 'فون کے ذریعے لاگ ان کریں'; + + @override + String get youAreLoggedOutMessage => 'آپ لاگ آؤٹ ہیں'; + + @override + String get reloadButtonText => 'دوبارہ لوڈ کریں'; + + @override + String get emailErrorText => 'غلط ای میل پتہ'; + + @override + String get passwordErrorText => 'پاس ورڈ کم از کم 6 حروف پر مشتمل ہونا چاہیے'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'غلط فون نمبر: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'براہ کرم نیا کوڈ درخواست کرنے سے پہلے $seconds سیکنڈ انتظار کریں.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'غیر صحیح فون کوڈ: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'شرائط و ضوابط'; + + @override + String get continueAsGuestBtn => 'مہمان کے طور پر جاری رکھیں'; + + @override + String get noAccountYetPromptText => + 'ابھی تک اکاؤنٹ نہیں ہے؟

سائن اپ کریں

'; + + @override + String get alreadyHaveAccountPromptText => + 'کیا آپ کا پہلے سے اکاؤنٹ موجود ہے؟

لاگ ان کریں

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'آپ کو پریمیم کے ساتھ جاری رکھنے سے پہلے سائن اپ کرنا ہوگا'; + + @override + String get loginSubtitle => + 'ذاتی مواد حاصل کریں اور اپنی کمیونٹی کے ساتھ رابطے میں رہیں!'; + + @override + String get emailFieldLabel => 'ای میل'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'اپنا پاس ورڈ بحال کریں'; + + @override + String get createAccountTitle => 'اکاؤنٹ بنائیں'; + + @override + String get createAccountSubtitle => + 'ہمیں آپ کے صحت کے ڈیٹا کو محفوظ طریقے سے محفوظ کرنے اور آپ کی تشخیص کو جاری رکھنے کے لیے ایک اکاؤنٹ کی ضرورت ہے۔'; + + @override + String get repeatLabel => 'دہرائیں'; + + @override + String get repeatPasswordHint => 'اپنا پاس ورڈ دوبارہ درج کریں'; + + @override + String get confirmButton => 'تصدیق کریں'; + + @override + String get noAccountPrompt => 'کیا آپ کے پاس اکاؤنٹ نہیں ہے؟'; + + @override + String get alreadyHaveAccountPrompt => 'کیا آپ کے پاس پہلے سے ہی اکاؤنٹ ہے؟'; + + @override + String get createPasswordHeader => 'پاس ورڈ بنائیں'; + + @override + String get phoneHeader => 'فون'; + + @override + String get verifyPhoneHeader => 'فون کی تصدیق کریں'; + + @override + String get phoneTitle => 'آپ کا نمبر کیا ہے؟'; + + @override + String get phoneSubtitle => 'ہم آپ کے فون کی تصدیق کے لیے ایک کوڈ بھیجیں گے'; + + @override + String get phoneNumberLabel => 'نمبر'; + + @override + String get enterPhoneNumber => 'فون نمبر درج کریں'; + + @override + String get phonePlaceholder => '+92 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'اگلے OTP بھیجنے کے لیے $countdown سیکنڈ انتظار کریں'; + } + + @override + String get enterCodeTitle => 'اپنا کوڈ درج کریں'; + + @override + String codeSentToPhone(String phone) { + return 'ہم نے ایک کوڈ $phone پر بھیجا'; + } + + @override + String get didntReceiveCode => 'کیا آپ کو کوڈ موصول نہیں ہوا؟'; + + @override + String get clickToResend => 'دوبارہ بھیجنے کے لیے کلک کریں'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'آپ $countdown سیکنڈ میں نیا کوڈ مانگ سکتے ہیں'; + } + + @override + String get closeTooltip => 'بند کریں'; + + @override + String get backTooltip => 'پیچھے'; + + @override + String get termsOfServiceLink => 'خدمات کے شرائط'; + + @override + String get privacyPolicyLink => 'رازداری کی پالیسی'; + + @override + String get welcomeBackTitle => 'خوش آمدید'; + + @override + String get welcomeBackSubtitle => + 'اگر آپ کے پاس پہلے سے Doctorina اکاؤنٹ ہے تو لاگ ان کریں، یا شروع کرنے کے لیے سائن اپ کریں۔'; + + @override + String get passwordRuleLength => '8 سے 128 حروف تک'; + + @override + String get passwordRuleNumber => 'کم از کم 1 نمبر'; + + @override + String get passwordRuleUppercase => 'کم از کم 1 بڑے حرف'; + + @override + String get passwordRuleMatch => 'پاس ورڈ ملتے ہیں'; + + @override + String get phoneOtpVerificationFailed => + 'OTP کی توثیق ناکام ہو گئی۔ براہ کرم دوبارہ کوشش کریں۔'; + + @override + String get referralCodeLabel => 'ریفرل کوڈ'; + + @override + String get enterReferralCodeHint => 'اپنا ریفرل کوڈ درج کریں'; + + @override + String get referralCodeExampleHint => 'مثال: CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'کیا آپ کے پاس ریفرل کوڈ ہے؟'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_uz.dart b/example/lib/src/generated/sign_up/sign_up_localization_uz.dart new file mode 100644 index 0000000..c1f83fc --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_uz.dart @@ -0,0 +1,350 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Uzbek (`uz`). +class SignUpLocalizationUz extends SignUpLocalization { + SignUpLocalizationUz([String locale = 'uz']) : super(locale); + + @override + String get logIn => 'Kirish'; + + @override + String get password => 'Parol'; + + @override + String get changeNumber => 'Raqamni o\'zgartirish'; + + @override + String get forgotPassword => 'Parolni unutdingiz?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Email manzilingizni kiriting va biz sizga parolni tiklash uchun havola yuboramiz.'; + + @override + String get rememberYourPasswordQuestion => 'Parolingizni eslaysizmi?'; + + @override + String get backToLoginButton => 'Menda parol bor'; + + @override + String get continueButton => 'Davom eting'; + + @override + String get passwordResetEmailSentSnackBar => + 'Parolni tiklash elektron pochta yuborildi'; + + @override + String get resetPasswordButton => 'Parolni tiklash'; + + @override + String get confirmCodeButton => 'Kodni tasdiqlang'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Bugun Doctorina-dan foydalanishni boshlang'; + + @override + String get orDivider => 'Yoki'; + + @override + String get enterPasswordForEmailHint => 'Parolingizni kiriting'; + + @override + String get showPasswordHint => 'Parolni ko\'rsatish'; + + @override + String get obscurePasswordHint => 'Parolni yashirish'; + + @override + String get clearLoginTooltip => 'Loginni tozalash'; + + @override + String get emailOrPhoneLabel => 'Email yoki telefon'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com yoki +1234567890'; + + @override + String get emailOrPhoneHint => + 'Elektron pochta yoki telefon raqamini kiriting'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Davom etish uchun iltimos, kelishuvlarni qabul qiling.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Men shaxsiy ma\'lumotlarni qayta ishlashga roziman,'; + + @override + String get consentTheUseOf => 'foydalanish'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', roziman'; + + @override + String get consentTermsAndConditions => 'shartlar va qoidalar'; + + @override + String get consentAndAcknowledgeThe => ', va tasdiqlang'; + + @override + String get consentPrivacyPolicy => 'maxfiylik siyosati'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Men tasdiqlayman, maslahatim sun\'iy intellekt bilan berilayotganini va litsenziyaga ega tibbiy mutaxassis bilan emasligini.'; + + @override + String get logOutDialogTitle => 'Chiqish'; + + @override + String get logOutDialogContent => + 'Chindan ham tizimdan chiqishni xohlaysizmi?'; + + @override + String get logOutDialogCancelButton => 'Bekor qilish'; + + @override + String get logOutDialogLogOutButton => 'Ha, chiqish'; + + @override + String get resendCodeButton => 'Kodni qayta yuborish'; + + @override + String resendCodeTimer(String timer) { + return 'Kodni qayta yuborish ($timer)'; + } + + @override + String get consentFull => + 'Men shaxsiy ma\'lumotlarni qayta ishlashga, cookielardan foydalanishga, shartlar va shartlarga rozi bo\'lishga va

maxfiylik siyosatini

tan olishga roziman'; + + @override + String get emailLabel => 'Elektron pochtangizni kiriting'; + + @override + String get signUpWithEmailTitle => 'Elektron pochta orqali roʻyxatdan oʻtish'; + + @override + String get logInWithEmailTitle => 'Elektron pochta bilan kirish'; + + @override + String get phoneLabel => 'Telefoningizni kiriting'; + + @override + String get confirmPhoneTitle => 'Telefoningizni tasdiqlang'; + + @override + String get signUpText => 'Ro\'yxatdan o\'tish'; + + @override + String get emailHintShort => 'Elektron pochtani kiriting'; + + @override + String get buttonTextSignUpWithGoogle => 'Google bilan ro\'yxatdan o\'ting'; + + @override + String get buttonTextSignUpWithApple => 'Apple bilan ro\'yxatdan o\'ting'; + + @override + String get buttonTextSignUpWithPhone => 'Telefon orqali ro\'yxatdan o\'ting'; + + @override + String get buttonTextLoginWithGoogle => 'Google orqali kirish'; + + @override + String get buttonTextLoginWithApple => 'Apple bilan kirish'; + + @override + String get buttonTextLoginWithPhone => 'Telefon bilan kirish'; + + @override + String get youAreLoggedOutMessage => 'Siz tizimdan chiqqansiz'; + + @override + String get reloadButtonText => 'Qayta yuklash'; + + @override + String get emailErrorText => 'Noto\'g\'ri elektron pochta manzili'; + + @override + String get passwordErrorText => + 'Parol kamida 6 ta belgidan iborat bo\'lishi kerak'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Noto‘g‘ri telefon raqami: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Yangi kod so\'rashdan oldin $seconds soniya kuting.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Noto\'g\'ri telefon kodi: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Shartlar va qoidalar'; + + @override + String get continueAsGuestBtn => 'Mehmon sifatida davom etish'; + + @override + String get noAccountYetPromptText => + 'Hali akkauntingiz yo‘qmi?

Ro‘yxatdan o‘ting

'; + + @override + String get alreadyHaveAccountPromptText => + 'Allaqachon akkauntingiz bormi?

Kirish

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Premium bilan davom etishdan oldin ro\'yxatdan o\'tishingiz kerak'; + + @override + String get loginSubtitle => + 'Shaxsiylashtirilgan kontent oling va jamoangiz bilan aloqada bo\'ling!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Parolingizni tiklang'; + + @override + String get createAccountTitle => 'Hisob oching'; + + @override + String get createAccountSubtitle => + 'Biz sizning sog\'liq ma\'lumotlaringizni xavfsiz saqlash va baholashingizni davom ettirish uchun hisob kerak.'; + + @override + String get repeatLabel => 'Takrorlash'; + + @override + String get repeatPasswordHint => 'Parolingizni takrorlang'; + + @override + String get confirmButton => 'Tasdiqlash'; + + @override + String get noAccountPrompt => 'Hisobingiz yo\'qmi?'; + + @override + String get alreadyHaveAccountPrompt => 'Allaqachon hisobingiz bormi?'; + + @override + String get createPasswordHeader => 'Parol yarating'; + + @override + String get phoneHeader => 'Telefon'; + + @override + String get verifyPhoneHeader => 'Telefonni tasdiqlash'; + + @override + String get phoneTitle => 'Sizning raqamingiz nima?'; + + @override + String get phoneSubtitle => + 'Biz telefon raqamingizni tasdiqlash uchun kod yuboramiz'; + + @override + String get phoneNumberLabel => 'Raqam'; + + @override + String get enterPhoneNumber => 'Telefon raqamini kiriting'; + + @override + String get phonePlaceholder => '+998 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return '$countdown soniya kuting'; + } + + @override + String get enterCodeTitle => 'Kodingizni kiriting'; + + @override + String codeSentToPhone(String phone) { + return '$phone raqamiga kod yubordik'; + } + + @override + String get didntReceiveCode => 'Kodni olmadingizmi?'; + + @override + String get clickToResend => 'Qayta yuborish uchun bosing'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Siz $countdown soniyadan keyin yangi kod so\'rashingiz mumkin'; + } + + @override + String get closeTooltip => 'Yopish'; + + @override + String get backTooltip => 'Orqaga'; + + @override + String get termsOfServiceLink => 'Foydalanish shartlari'; + + @override + String get privacyPolicyLink => 'Maxfiylik siyosati'; + + @override + String get welcomeBackTitle => 'Xush kelibsiz qaytadan'; + + @override + String get welcomeBackSubtitle => + 'Agar sizda allaqachon Doctorina hisobingiz bo\'lsa, kiring yoki boshlash uchun ro\'yxatdan o\'ting.'; + + @override + String get passwordRuleLength => '8 dan 128 gacha belgi'; + + @override + String get passwordRuleNumber => 'Kamida 1 raqam'; + + @override + String get passwordRuleUppercase => 'Kamida 1 katta harf'; + + @override + String get passwordRuleMatch => 'Parollar mos keladi'; + + @override + String get phoneOtpVerificationFailed => + 'Bir martalik parolni tekshirish amalga oshmadi. Qaytadan urinib ko\'ring.'; + + @override + String get referralCodeLabel => 'Yo\'naltirish kodi'; + + @override + String get enterReferralCodeHint => 'Referal kodingizni kiriting'; + + @override + String get referralCodeExampleHint => 'Masalan: CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Tavsiya kodi bormi?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_vi.dart b/example/lib/src/generated/sign_up/sign_up_localization_vi.dart new file mode 100644 index 0000000..b144cb4 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_vi.dart @@ -0,0 +1,346 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Vietnamese (`vi`). +class SignUpLocalizationVi extends SignUpLocalization { + SignUpLocalizationVi([String locale = 'vi']) : super(locale); + + @override + String get logIn => 'Đăng nhập'; + + @override + String get password => 'Mật khẩu'; + + @override + String get changeNumber => 'Thay đổi số'; + + @override + String get forgotPassword => 'Quên Mật Khẩu?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Nhập địa chỉ email của bạn, và chúng tôi sẽ gửi cho bạn liên kết để đặt lại mật khẩu'; + + @override + String get rememberYourPasswordQuestion => + 'Bạn có nhớ mật khẩu của mình không?'; + + @override + String get backToLoginButton => 'Tôi có mật khẩu'; + + @override + String get continueButton => 'Tiếp tục'; + + @override + String get passwordResetEmailSentSnackBar => 'Đã gửi email đặt lại mật khẩu'; + + @override + String get resetPasswordButton => 'Đặt lại mật khẩu'; + + @override + String get confirmCodeButton => 'Xác nhận mã'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Bắt đầu sử dụng Doctorina ngay hôm nay'; + + @override + String get orDivider => 'HOẶC'; + + @override + String get enterPasswordForEmailHint => 'Nhập mật khẩu của bạn'; + + @override + String get showPasswordHint => 'Hiển thị mật khẩu'; + + @override + String get obscurePasswordHint => 'Ẩn mật khẩu'; + + @override + String get clearLoginTooltip => 'Xoá đăng nhập'; + + @override + String get emailOrPhoneLabel => 'Email hoặc điện thoại'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com hoặc +1234567890'; + + @override + String get emailOrPhoneHint => 'Nhập email hoặc số điện thoại'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Vui lòng chấp nhận các thỏa thuận để tiếp tục.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Tôi đồng ý cho việc xử lý dữ liệu cá nhân,'; + + @override + String get consentTheUseOf => 'việc sử dụng'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', đồng ý với'; + + @override + String get consentTermsAndConditions => 'điều khoản và điều kiện'; + + @override + String get consentAndAcknowledgeThe => ', và xác nhận'; + + @override + String get consentPrivacyPolicy => 'Chính sách bảo mật'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Tôi xác nhận rằng cuộc tư vấn của tôi với một AI chứ không phải với một chuyên gia y tế được cấp phép.'; + + @override + String get logOutDialogTitle => 'Đăng xuất'; + + @override + String get logOutDialogContent => 'Bạn có chắc chắn muốn đăng xuất?'; + + @override + String get logOutDialogCancelButton => 'Hủy'; + + @override + String get logOutDialogLogOutButton => 'Đồng ý, đăng xuất'; + + @override + String get resendCodeButton => 'Gửi lại mã'; + + @override + String resendCodeTimer(String timer) { + return 'Gửi lại mã ($timer)'; + } + + @override + String get consentFull => + 'Tôi đồng ý với việc xử lý dữ liệu cá nhân, sử dụng cookies, đồng ý với các điều khoản và điều kiện, và xác nhận

chính sách bảo mật

.'; + + @override + String get emailLabel => 'Nhập email của bạn'; + + @override + String get signUpWithEmailTitle => 'Đăng ký bằng email'; + + @override + String get logInWithEmailTitle => 'Đăng nhập bằng email'; + + @override + String get phoneLabel => 'Nhập số điện thoại'; + + @override + String get confirmPhoneTitle => 'Xác nhận điện thoại của bạn'; + + @override + String get signUpText => 'Đăng ký'; + + @override + String get emailHintShort => 'Nhập email'; + + @override + String get buttonTextSignUpWithGoogle => 'Đăng ký với Google'; + + @override + String get buttonTextSignUpWithApple => 'Đăng ký với Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Đăng ký qua điện thoại'; + + @override + String get buttonTextLoginWithGoogle => 'Đăng nhập với Google'; + + @override + String get buttonTextLoginWithApple => 'Đăng nhập với Apple'; + + @override + String get buttonTextLoginWithPhone => 'Đăng nhập bằng điện thoại'; + + @override + String get youAreLoggedOutMessage => 'Bạn đã đăng xuất'; + + @override + String get reloadButtonText => 'Tải lại'; + + @override + String get emailErrorText => 'Địa chỉ email không hợp lệ'; + + @override + String get passwordErrorText => 'Mật khẩu phải có ít nhất 6 ký tự'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Số điện thoại không hợp lệ: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Vui lòng đợi $seconds giây trước khi yêu cầu mã mới.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Mã điện thoại không hợp lệ: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Điều khoản và điều kiện'; + + @override + String get continueAsGuestBtn => 'Tiếp tục với tư cách khách'; + + @override + String get noAccountYetPromptText => 'Bạn chưa có tài khoản?

Đăng ký

'; + + @override + String get alreadyHaveAccountPromptText => + 'Đã có tài khoản?

Đăng nhập

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Bạn cần đăng ký trước khi có thể tiếp tục với Premium'; + + @override + String get loginSubtitle => + 'Nhận nội dung cá nhân hóa và giữ liên lạc với cộng đồng của bạn!'; + + @override + String get emailFieldLabel => 'E-mail'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Khôi phục mật khẩu của bạn'; + + @override + String get createAccountTitle => 'Tạo tài khoản'; + + @override + String get createAccountSubtitle => + 'Chúng tôi cần một tài khoản để lưu trữ an toàn dữ liệu sức khỏe của bạn và tiếp tục đánh giá của bạn'; + + @override + String get repeatLabel => 'Lặp lại'; + + @override + String get repeatPasswordHint => 'Nhập lại mật khẩu của bạn'; + + @override + String get confirmButton => 'Xác nhận'; + + @override + String get noAccountPrompt => 'Bạn không có tài khoản?'; + + @override + String get alreadyHaveAccountPrompt => 'Bạn đã có tài khoản?'; + + @override + String get createPasswordHeader => 'Tạo mật khẩu'; + + @override + String get phoneHeader => 'Điện thoại'; + + @override + String get verifyPhoneHeader => 'Xác minh điện thoại'; + + @override + String get phoneTitle => 'Số của bạn là gì?'; + + @override + String get phoneSubtitle => + 'Chúng tôi sẽ gửi một mã để xác minh điện thoại của bạn'; + + @override + String get phoneNumberLabel => 'Số'; + + @override + String get enterPhoneNumber => 'Nhập số điện thoại'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Chờ $countdown giây'; + } + + @override + String get enterCodeTitle => 'Nhập mã của bạn'; + + @override + String codeSentToPhone(String phone) { + return 'Chúng tôi đã gửi mã đến $phone'; + } + + @override + String get didntReceiveCode => 'Bạn chưa nhận được mã?'; + + @override + String get clickToResend => 'Nhấp để gửi lại'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Bạn có thể yêu cầu mã mới trong $countdown giây'; + } + + @override + String get closeTooltip => 'Đóng'; + + @override + String get backTooltip => 'Quay lại'; + + @override + String get termsOfServiceLink => 'Điều khoản dịch vụ'; + + @override + String get privacyPolicyLink => 'Chính sách bảo mật'; + + @override + String get welcomeBackTitle => 'Chào mừng bạn trở lại'; + + @override + String get welcomeBackSubtitle => + 'Đăng nhập nếu bạn đã có tài khoản Doctorina, hoặc đăng ký để bắt đầu.'; + + @override + String get passwordRuleLength => 'Từ 8 đến 128 ký tự'; + + @override + String get passwordRuleNumber => 'Ít nhất 1 số'; + + @override + String get passwordRuleUppercase => 'Tối thiểu 1 chữ cái viết hoa'; + + @override + String get passwordRuleMatch => 'Mật khẩu khớp nhau'; + + @override + String get phoneOtpVerificationFailed => + 'Xác thực mã OTP không thành công. Vui lòng thử lại.'; + + @override + String get referralCodeLabel => 'Mã giới thiệu'; + + @override + String get enterReferralCodeHint => 'Nhập mã giới thiệu của bạn'; + + @override + String get referralCodeExampleHint => 'Ví dụ mã giới thiệu trong trường nhập'; + + @override + String get haveReferralCodeQuestion => 'Bạn có mã giới thiệu không?'; +} diff --git a/example/lib/src/generated/sign_up/sign_up_localization_zh.dart b/example/lib/src/generated/sign_up/sign_up_localization_zh.dart index 141974f..e5b416d 100644 --- a/example/lib/src/generated/sign_up/sign_up_localization_zh.dart +++ b/example/lib/src/generated/sign_up/sign_up_localization_zh.dart @@ -1,4 +1,4 @@ -// This file is generated by the Google Sheets localization tool. Do not edit manually. +// This file is generated, do not edit it manually! // ignore: unused_import import 'package:intl/intl.dart' as intl; @@ -10,9 +10,6 @@ import 'sign_up_localization.dart'; class SignUpLocalizationZh extends SignUpLocalization { SignUpLocalizationZh([String locale = 'zh']) : super(locale); - @override - String get title => '登入'; - @override String get logIn => '登录'; @@ -23,14 +20,14 @@ class SignUpLocalizationZh extends SignUpLocalization { String get changeNumber => '更改号码'; @override - String get forgotPassword => '忘记密码?'; + String get forgotPassword => '忘记密码?'; @override String get forgotPasswordEnterYourEmailAddress => - '输入您的电子邮件地址,我们将向您发送重置密码的链接。'; + '输入您的电子邮件地址,我们会向您发送重置密码的链接。'; @override - String get rememberYourPasswordQuestion => '记住密码了吗?'; + String get rememberYourPasswordQuestion => '记得您的密码吗?'; @override String get backToLoginButton => '我有密码'; @@ -39,16 +36,16 @@ class SignUpLocalizationZh extends SignUpLocalization { String get continueButton => '继续'; @override - String get passwordResetEmailSentSnackBar => '密码重置电子邮件已发送'; + String get passwordResetEmailSentSnackBar => '密码重置邮件已发送'; @override String get resetPasswordButton => '重置密码'; @override - String get confirmCodeButton => '确认码'; + String get confirmCodeButton => '确认代码'; @override - String get startUsingDoctorinaTodaySubtitle => '立即开始使用 Doctorina'; + String get startUsingDoctorinaTodaySubtitle => '今天开始使用Doctorina'; @override String get orDivider => '或者'; @@ -60,10 +57,10 @@ class SignUpLocalizationZh extends SignUpLocalization { String get showPasswordHint => '显示密码'; @override - String get obscurePasswordHint => '模糊密码'; + String get obscurePasswordHint => '隐藏密码'; @override - String get clearLoginTooltip => '清除登录信息'; + String get clearLoginTooltip => '清除登录'; @override String get emailOrPhoneLabel => '电子邮件或电话'; @@ -75,40 +72,40 @@ class SignUpLocalizationZh extends SignUpLocalization { String get emailOrPhoneHint => '输入电子邮件或电话号码'; @override - String get pleaseAcceptTheAgreementsToContinueSnackBar => '请接受协议以继续。'; + String get pleaseAcceptTheAgreementsToContinueSnackBar => '请接受协议以继续.'; @override - String get consentToTheProcessingOfPersonalData => '我同意处理个人数据,'; + String get consentToTheProcessingOfPersonalData => '我同意处理个人数据,'; @override String get consentTheUseOf => '使用'; @override - String get consentCookies => '曲奇饼'; + String get consentCookies => 'cookies'; @override - String get consentAgreeToThe => ',同意'; + String get consentAgreeToThe => ', 同意'; @override String get consentTermsAndConditions => '条款和条件'; @override - String get consentAndAcknowledgeThe => ',并承认'; + String get consentAndAcknowledgeThe => ', 并确认'; @override String get consentPrivacyPolicy => '隐私政策'; @override - String get consentDot => '。'; + String get consentDot => '.'; @override - String get acknowledgeMyConsultation => '我承认我的咨询对象是人工智能,而不是有执照的医疗专业人员。'; + String get acknowledgeMyConsultation => '我确认我的咨询是由人工智能提供的,而非持牌医疗专业人员.'; @override - String get logOutDialogTitle => '登出'; + String get logOutDialogTitle => '退出'; @override - String get logOutDialogContent => '您确定要退出吗?'; + String get logOutDialogContent => '确定要退出吗?'; @override String get logOutDialogCancelButton => '取消'; @@ -123,15 +120,224 @@ class SignUpLocalizationZh extends SignUpLocalization { String resendCodeTimer(String timer) { return '重新发送代码 ($timer)'; } + + @override + String get consentFull => + '我同意处理个人数据,使用cookies,同意条款和条件,并确认

隐私政策

。'; + + @override + String get emailLabel => '请输入您的电子邮件'; + + @override + String get signUpWithEmailTitle => '使用电子邮件注册'; + + @override + String get logInWithEmailTitle => '使用电子邮件登录'; + + @override + String get phoneLabel => '输入您的电话'; + + @override + String get confirmPhoneTitle => '确认你的电话'; + + @override + String get signUpText => '注册'; + + @override + String get emailHintShort => '输入邮箱'; + + @override + String get buttonTextSignUpWithGoogle => '使用Google注册'; + + @override + String get buttonTextSignUpWithApple => '使用 Apple 注册'; + + @override + String get buttonTextSignUpWithPhone => '使用手机注册'; + + @override + String get buttonTextLoginWithGoogle => '使用Google登录'; + + @override + String get buttonTextLoginWithApple => '使用Apple登录'; + + @override + String get buttonTextLoginWithPhone => '使用手机登录'; + + @override + String get youAreLoggedOutMessage => '您已退出登录'; + + @override + String get reloadButtonText => '重新加载'; + + @override + String get emailErrorText => '无效的电子邮件地址'; + + @override + String get passwordErrorText => '密码必须至少6个字符'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return '无效的电话号码: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return '请等待$seconds秒后再请求新代码.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return '无效的手机验证码: $phoneCode'; + } + + @override + String get termsAndConditionsText => '条款和条件'; + + @override + String get continueAsGuestBtn => '以访客身份继续'; + + @override + String get noAccountYetPromptText => '还没有账号?

注册

'; + + @override + String get alreadyHaveAccountPromptText => '已有账户?

登录

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + '您需要注册才能继续使用高级功能'; + + @override + String get loginSubtitle => '获取个性化内容,与您的社区保持联系!'; + + @override + String get emailFieldLabel => '电子邮件'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => '恢复您的密码'; + + @override + String get createAccountTitle => '创建账户'; + + @override + String get createAccountSubtitle => '我们需要一个账户来安全地保存您的健康数据并继续您的评估。'; + + @override + String get repeatLabel => '重复'; + + @override + String get repeatPasswordHint => '重复您的密码'; + + @override + String get confirmButton => '确认'; + + @override + String get noAccountPrompt => '没有账户吗?'; + + @override + String get alreadyHaveAccountPrompt => '已经有账户了吗?'; + + @override + String get createPasswordHeader => '创建密码'; + + @override + String get phoneHeader => '电话'; + + @override + String get verifyPhoneHeader => '验证电话'; + + @override + String get phoneTitle => '你的号码是什么?'; + + @override + String get phoneSubtitle => '我们会发短信一个验证码来验证您的手机'; + + @override + String get phoneNumberLabel => '号码'; + + @override + String get enterPhoneNumber => '输入电话号码'; + + @override + String get phonePlaceholder => '+86 (010) 5555 0123'; + + @override + String waitCountdownButton(int countdown) { + return '等待 $countdown 秒'; + } + + @override + String get enterCodeTitle => '输入您的代码'; + + @override + String codeSentToPhone(String phone) { + return '我们已将代码发送到 $phone'; + } + + @override + String get didntReceiveCode => '没有收到代码吗?'; + + @override + String get clickToResend => '点击重新发送'; + + @override + String requestNewCodeCountdown(int countdown) { + return '您可以在 $countdown 秒后请求新代码'; + } + + @override + String get closeTooltip => '关闭'; + + @override + String get backTooltip => '返回'; + + @override + String get termsOfServiceLink => '服务条款'; + + @override + String get privacyPolicyLink => '隐私政策'; + + @override + String get welcomeBackTitle => '欢迎回来'; + + @override + String get welcomeBackSubtitle => '如果您已经拥有Doctorina账户,请登录,或注册以开始。'; + + @override + String get passwordRuleLength => '从8到128个字符'; + + @override + String get passwordRuleNumber => '至少 1 个数字'; + + @override + String get passwordRuleUppercase => '至少1个大写字母'; + + @override + String get passwordRuleMatch => '密码匹配'; + + @override + String get phoneOtpVerificationFailed => '一次性密码验证失败,请重试。'; + + @override + String get referralCodeLabel => '推荐码'; + + @override + String get enterReferralCodeHint => '输入您的推荐码'; + + @override + String get referralCodeExampleHint => '例如:CREATOR2026'; + + @override + String get haveReferralCodeQuestion => '有推荐码吗?'; } /// The translations for Chinese, as used in China (`zh_CN`). class SignUpLocalizationZhCn extends SignUpLocalizationZh { SignUpLocalizationZhCn() : super('zh_CN'); - @override - String get title => '登入'; - @override String get logIn => '登录'; @@ -142,14 +348,14 @@ class SignUpLocalizationZhCn extends SignUpLocalizationZh { String get changeNumber => '更改号码'; @override - String get forgotPassword => '忘记密码?'; + String get forgotPassword => '忘记密码?'; @override String get forgotPasswordEnterYourEmailAddress => - '输入您的电子邮件地址,我们将向您发送重置密码的链接。'; + '输入您的电子邮件地址,我们会向您发送重置密码的链接。'; @override - String get rememberYourPasswordQuestion => '记住密码了吗?'; + String get rememberYourPasswordQuestion => '记得您的密码吗?'; @override String get backToLoginButton => '我有密码'; @@ -158,16 +364,16 @@ class SignUpLocalizationZhCn extends SignUpLocalizationZh { String get continueButton => '继续'; @override - String get passwordResetEmailSentSnackBar => '密码重置电子邮件已发送'; + String get passwordResetEmailSentSnackBar => '密码重置邮件已发送'; @override String get resetPasswordButton => '重置密码'; @override - String get confirmCodeButton => '确认码'; + String get confirmCodeButton => '确认代码'; @override - String get startUsingDoctorinaTodaySubtitle => '立即开始使用 Doctorina'; + String get startUsingDoctorinaTodaySubtitle => '今天开始使用Doctorina'; @override String get orDivider => '或者'; @@ -179,10 +385,10 @@ class SignUpLocalizationZhCn extends SignUpLocalizationZh { String get showPasswordHint => '显示密码'; @override - String get obscurePasswordHint => '模糊密码'; + String get obscurePasswordHint => '隐藏密码'; @override - String get clearLoginTooltip => '清除登录信息'; + String get clearLoginTooltip => '清除登录'; @override String get emailOrPhoneLabel => '电子邮件或电话'; @@ -194,40 +400,40 @@ class SignUpLocalizationZhCn extends SignUpLocalizationZh { String get emailOrPhoneHint => '输入电子邮件或电话号码'; @override - String get pleaseAcceptTheAgreementsToContinueSnackBar => '请接受协议以继续。'; + String get pleaseAcceptTheAgreementsToContinueSnackBar => '请接受协议以继续.'; @override - String get consentToTheProcessingOfPersonalData => '我同意处理个人数据,'; + String get consentToTheProcessingOfPersonalData => '我同意处理个人数据,'; @override String get consentTheUseOf => '使用'; @override - String get consentCookies => '曲奇饼'; + String get consentCookies => 'cookies'; @override - String get consentAgreeToThe => ',同意'; + String get consentAgreeToThe => ', 同意'; @override String get consentTermsAndConditions => '条款和条件'; @override - String get consentAndAcknowledgeThe => ',并承认'; + String get consentAndAcknowledgeThe => ', 并确认'; @override String get consentPrivacyPolicy => '隐私政策'; @override - String get consentDot => '。'; + String get consentDot => '.'; @override - String get acknowledgeMyConsultation => '我承认我的咨询对象是人工智能,而不是有执照的医疗专业人员。'; + String get acknowledgeMyConsultation => '我确认我的咨询是由人工智能提供的,而非持牌医疗专业人员.'; @override - String get logOutDialogTitle => '登出'; + String get logOutDialogTitle => '退出'; @override - String get logOutDialogContent => '您确定要退出吗?'; + String get logOutDialogContent => '确定要退出吗?'; @override String get logOutDialogCancelButton => '取消'; @@ -242,4 +448,544 @@ class SignUpLocalizationZhCn extends SignUpLocalizationZh { String resendCodeTimer(String timer) { return '重新发送代码 ($timer)'; } + + @override + String get consentFull => + '我同意处理个人数据,使用cookies,同意条款和条件,并确认

隐私政策

。'; + + @override + String get emailLabel => '请输入您的电子邮件'; + + @override + String get signUpWithEmailTitle => '使用电子邮件注册'; + + @override + String get logInWithEmailTitle => '使用电子邮件登录'; + + @override + String get phoneLabel => '输入您的电话'; + + @override + String get confirmPhoneTitle => '确认你的电话'; + + @override + String get signUpText => '注册'; + + @override + String get emailHintShort => '输入邮箱'; + + @override + String get buttonTextSignUpWithGoogle => '使用Google注册'; + + @override + String get buttonTextSignUpWithApple => '使用 Apple 注册'; + + @override + String get buttonTextSignUpWithPhone => '使用手机注册'; + + @override + String get buttonTextLoginWithGoogle => '使用Google登录'; + + @override + String get buttonTextLoginWithApple => '使用Apple登录'; + + @override + String get buttonTextLoginWithPhone => '使用手机登录'; + + @override + String get youAreLoggedOutMessage => '您已退出登录'; + + @override + String get reloadButtonText => '重新加载'; + + @override + String get emailErrorText => '无效的电子邮件地址'; + + @override + String get passwordErrorText => '密码必须至少6个字符'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return '无效的电话号码: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return '请等待$seconds秒后再请求新代码.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return '无效的手机验证码: $phoneCode'; + } + + @override + String get termsAndConditionsText => '条款和条件'; + + @override + String get continueAsGuestBtn => '以访客身份继续'; + + @override + String get noAccountYetPromptText => '还没有账号?

注册

'; + + @override + String get alreadyHaveAccountPromptText => '已有账户?

登录

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + '您需要注册才能继续使用高级功能'; + + @override + String get loginSubtitle => '获取个性化内容,与您的社区保持联系!'; + + @override + String get emailFieldLabel => '电子邮件'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => '恢复您的密码'; + + @override + String get createAccountTitle => '创建账户'; + + @override + String get createAccountSubtitle => '我们需要一个账户来安全地保存您的健康数据并继续您的评估。'; + + @override + String get repeatLabel => '重复'; + + @override + String get repeatPasswordHint => '重复您的密码'; + + @override + String get confirmButton => '确认'; + + @override + String get noAccountPrompt => '没有账户吗?'; + + @override + String get alreadyHaveAccountPrompt => '已经有账户了吗?'; + + @override + String get createPasswordHeader => '创建密码'; + + @override + String get phoneHeader => '电话'; + + @override + String get verifyPhoneHeader => '验证电话'; + + @override + String get phoneTitle => '你的号码是什么?'; + + @override + String get phoneSubtitle => '我们会发短信一个验证码来验证您的手机'; + + @override + String get phoneNumberLabel => '号码'; + + @override + String get enterPhoneNumber => '输入电话号码'; + + @override + String get phonePlaceholder => '+86 (010) 5555 0123'; + + @override + String waitCountdownButton(int countdown) { + return '等待 $countdown 秒'; + } + + @override + String get enterCodeTitle => '输入您的代码'; + + @override + String codeSentToPhone(String phone) { + return '我们已将代码发送到 $phone'; + } + + @override + String get didntReceiveCode => '没有收到代码吗?'; + + @override + String get clickToResend => '点击重新发送'; + + @override + String requestNewCodeCountdown(int countdown) { + return '您可以在 $countdown 秒后请求新代码'; + } + + @override + String get closeTooltip => '关闭'; + + @override + String get backTooltip => '返回'; + + @override + String get termsOfServiceLink => '服务条款'; + + @override + String get privacyPolicyLink => '隐私政策'; + + @override + String get welcomeBackTitle => '欢迎回来'; + + @override + String get welcomeBackSubtitle => '如果您已经拥有Doctorina账户,请登录,或注册以开始。'; + + @override + String get passwordRuleLength => '从8到128个字符'; + + @override + String get passwordRuleNumber => '至少 1 个数字'; + + @override + String get passwordRuleUppercase => '至少1个大写字母'; + + @override + String get passwordRuleMatch => '密码匹配'; + + @override + String get phoneOtpVerificationFailed => '一次性密码验证失败,请重试。'; + + @override + String get referralCodeLabel => '推荐码'; + + @override + String get enterReferralCodeHint => '输入您的推荐码'; + + @override + String get referralCodeExampleHint => '例如:CREATOR2026'; + + @override + String get haveReferralCodeQuestion => '有推荐码吗?'; +} + +/// The translations for Chinese, as used in Hong Kong (`zh_HK`). +class SignUpLocalizationZhHk extends SignUpLocalizationZh { + SignUpLocalizationZhHk() : super('zh_HK'); + + @override + String get logIn => '登入'; + + @override + String get password => '密碼'; + + @override + String get changeNumber => '更改號碼'; + + @override + String get forgotPassword => '唔記得密碼?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + '請輸入你嘅電郵地址,我哋會發送一個重設密碼嘅連結俾你.'; + + @override + String get rememberYourPasswordQuestion => '記得你嘅密碼?'; + + @override + String get backToLoginButton => '我有密碼'; + + @override + String get continueButton => '繼續'; + + @override + String get passwordResetEmailSentSnackBar => '已發送重設密碼電郵'; + + @override + String get resetPasswordButton => '重設密碼'; + + @override + String get confirmCodeButton => '確認代碼'; + + @override + String get startUsingDoctorinaTodaySubtitle => '今日開始使用Doctorina'; + + @override + String get orDivider => '或者'; + + @override + String get enterPasswordForEmailHint => '輸入你嘅密碼'; + + @override + String get showPasswordHint => '顯示密碼'; + + @override + String get obscurePasswordHint => '隱藏密碼'; + + @override + String get clearLoginTooltip => '清除登入'; + + @override + String get emailOrPhoneLabel => '電郵或電話'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com 或 +1234567890'; + + @override + String get emailOrPhoneHint => '輸入電郵或電話號碼'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => '請接受協議以繼續.'; + + @override + String get consentToTheProcessingOfPersonalData => '我同意處理個人資料,'; + + @override + String get consentTheUseOf => '使用'; + + @override + String get consentCookies => 'cookies'; + + @override + String get consentAgreeToThe => ', 同意'; + + @override + String get consentTermsAndConditions => '條款及細則'; + + @override + String get consentAndAcknowledgeThe => ', 同埋認可'; + + @override + String get consentPrivacyPolicy => '私隱政策'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => '我確認我嘅諮詢係同AI進行,而唔係同持牌醫療專業人士.'; + + @override + String get logOutDialogTitle => '登出'; + + @override + String get logOutDialogContent => '你確定要登出嗎?'; + + @override + String get logOutDialogCancelButton => '取消'; + + @override + String get logOutDialogLogOutButton => '係,登出'; + + @override + String get resendCodeButton => '重發代碼'; + + @override + String resendCodeTimer(String timer) { + return '重發代碼 ($timer)'; + } + + @override + String get consentFull => + '我同意處理個人數據,使用cookies,同意條款和條件,並確認

隱私政策

。'; + + @override + String get emailLabel => '輸入您的電子郵件'; + + @override + String get signUpWithEmailTitle => '使用電郵註冊'; + + @override + String get logInWithEmailTitle => '使用電郵登入'; + + @override + String get phoneLabel => '輸入您的電話'; + + @override + String get confirmPhoneTitle => '確認你的電話'; + + @override + String get signUpText => '註冊'; + + @override + String get emailHintShort => '輸入電郵'; + + @override + String get buttonTextSignUpWithGoogle => '使用Google註冊'; + + @override + String get buttonTextSignUpWithApple => '使用 Apple 註冊'; + + @override + String get buttonTextSignUpWithPhone => '使用電話註冊'; + + @override + String get buttonTextLoginWithGoogle => '使用Google登入'; + + @override + String get buttonTextLoginWithApple => '使用Apple登入'; + + @override + String get buttonTextLoginWithPhone => '使用手機登入'; + + @override + String get youAreLoggedOutMessage => '你已登出'; + + @override + String get reloadButtonText => '重新載入'; + + @override + String get emailErrorText => '無效的電子郵件地址'; + + @override + String get passwordErrorText => '密碼最少要有6個字元'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return '無效的電話號碼: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return '請等待$seconds秒後再要求新代碼.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return '無效的手機驗證碼: $phoneCode'; + } + + @override + String get termsAndConditionsText => '條款及細則'; + + @override + String get continueAsGuestBtn => '以訪客身份繼續'; + + @override + String get noAccountYetPromptText => '還沒有帳戶?

註冊

'; + + @override + String get alreadyHaveAccountPromptText => '已有賬戶?

登入

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + '您需要註冊才能繼續使用Premium'; + + @override + String get loginSubtitle => '獲取個性化內容,並與您的社區保持聯繫!'; + + @override + String get emailFieldLabel => '電子郵件'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => '恢復您的密碼'; + + @override + String get createAccountTitle => '創建帳戶'; + + @override + String get createAccountSubtitle => '我們需要一個帳戶來安全地保存您的健康數據並繼續您的評估。'; + + @override + String get repeatLabel => '重複'; + + @override + String get repeatPasswordHint => '請重複輸入您的密碼'; + + @override + String get confirmButton => '確認'; + + @override + String get noAccountPrompt => '沒有帳戶?'; + + @override + String get alreadyHaveAccountPrompt => '已經有帳戶了嗎?'; + + @override + String get createPasswordHeader => '創建密碼'; + + @override + String get phoneHeader => '電話'; + + @override + String get verifyPhoneHeader => '驗證電話'; + + @override + String get phoneTitle => '你的號碼是什麼?'; + + @override + String get phoneSubtitle => '我們會發送一個代碼來驗證您的電話'; + + @override + String get phoneNumberLabel => '號碼'; + + @override + String get enterPhoneNumber => '輸入電話號碼'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return '等待 $countdown 秒'; + } + + @override + String get enterCodeTitle => '輸入您的代碼'; + + @override + String codeSentToPhone(String phone) { + return '我們已將代碼發送到 $phone'; + } + + @override + String get didntReceiveCode => '沒有收到代碼嗎?'; + + @override + String get clickToResend => '點擊重新發送'; + + @override + String requestNewCodeCountdown(int countdown) { + return '您可以在 $countdown 秒內請求新的代碼'; + } + + @override + String get closeTooltip => '關閉'; + + @override + String get backTooltip => '返回'; + + @override + String get termsOfServiceLink => '服務條款'; + + @override + String get privacyPolicyLink => '私隱政策'; + + @override + String get welcomeBackTitle => '歡迎回來'; + + @override + String get welcomeBackSubtitle => '如果您已經擁有 Doctorina 帳戶,請登錄,或註冊以開始。'; + + @override + String get passwordRuleLength => '由8至128個字符'; + + @override + String get passwordRuleNumber => '至少 1 個數字'; + + @override + String get passwordRuleUppercase => '至少 1 個大寫字母'; + + @override + String get passwordRuleMatch => '密碼匹配'; + + @override + String get phoneOtpVerificationFailed => '一次性密码验证失败,请重试。'; + + @override + String get referralCodeLabel => '推薦碼'; + + @override + String get enterReferralCodeHint => '輸入您的推薦碼'; + + @override + String get referralCodeExampleHint => '輸入框中的推薦碼示例'; + + @override + String get haveReferralCodeQuestion => '有推薦碼嗎?'; } diff --git a/example/lib/src/generated/sign_up/sign_up_localization_zu.dart b/example/lib/src/generated/sign_up/sign_up_localization_zu.dart new file mode 100644 index 0000000..2eeb089 --- /dev/null +++ b/example/lib/src/generated/sign_up/sign_up_localization_zu.dart @@ -0,0 +1,347 @@ +// This file is generated, do not edit it manually! + +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'sign_up_localization.dart'; + +// ignore_for_file: type=lint + +/// The translations for Zulu (`zu`). +class SignUpLocalizationZu extends SignUpLocalization { + SignUpLocalizationZu([String locale = 'zu']) : super(locale); + + @override + String get logIn => 'Ngena'; + + @override + String get password => 'Iphasi'; + + @override + String get changeNumber => 'Shintsha inombolo'; + + @override + String get forgotPassword => 'Uphume unakho?'; + + @override + String get forgotPasswordEnterYourEmailAddress => + 'Faka i-imeyili yakho, sizokuthumelela isixhumanisi sokubuyisela iphasiwedi yakho.'; + + @override + String get rememberYourPasswordQuestion => 'Ukhumbula iphasiwedi yakho?'; + + @override + String get backToLoginButton => 'Nginephasi'; + + @override + String get continueButton => 'Qhubeka'; + + @override + String get passwordResetEmailSentSnackBar => + 'Imeyili yokubuyisela iphasiwedi ithunyelwe'; + + @override + String get resetPasswordButton => 'Phinda iphasi'; + + @override + String get confirmCodeButton => 'Qinisekisa ikhodi'; + + @override + String get startUsingDoctorinaTodaySubtitle => + 'Qala ukusebenzisa uDoctorina namuhla'; + + @override + String get orDivider => 'NOMA'; + + @override + String get enterPasswordForEmailHint => 'Faka iphasi yakho'; + + @override + String get showPasswordHint => 'Bonisa iphasi'; + + @override + String get obscurePasswordHint => 'Fihla iphasi'; + + @override + String get clearLoginTooltip => 'Susa ukungena'; + + @override + String get emailOrPhoneLabel => 'Imeyili noma ucingo'; + + @override + String get emailOrPhoneLabelExample => 'name@gmail.com noma +1234567890'; + + @override + String get emailOrPhoneHint => 'Faka i-imeyili noma inombolo yocingo'; + + @override + String get pleaseAcceptTheAgreementsToContinueSnackBar => + 'Sicela wamukele izivumelwano ukuze uqhubeke.'; + + @override + String get consentToTheProcessingOfPersonalData => + 'Ngiyavuma ukuhlinzekwa kwedatha yomuntu,'; + + @override + String get consentTheUseOf => 'ukusetshenziswa kwe'; + + @override + String get consentCookies => 'amakuki'; + + @override + String get consentAgreeToThe => ', ngiyavuma ku'; + + @override + String get consentTermsAndConditions => 'imigomo nemigomo'; + + @override + String get consentAndAcknowledgeThe => ', futhi uqinisekisa ukuthi'; + + @override + String get consentPrivacyPolicy => 'umthetho wezokuphepha'; + + @override + String get consentDot => '.'; + + @override + String get acknowledgeMyConsultation => + 'Ngiyavuma ukuthi ukuxhumana kwami kuhilela i-AI hhayi uchwepheshe wezokwelapha onelayisensi.'; + + @override + String get logOutDialogTitle => 'Phuma'; + + @override + String get logOutDialogContent => 'Uqinisekile ukuthi ufuna ukuphuma?'; + + @override + String get logOutDialogCancelButton => 'Khansela'; + + @override + String get logOutDialogLogOutButton => 'Yebo, phuma'; + + @override + String get resendCodeButton => 'Thumela ikhodi futhi'; + + @override + String resendCodeTimer(String timer) { + return 'Thumela kabusha ikhodi ($timer)'; + } + + @override + String get consentFull => + 'Ngiyavuma ekucubunguleni kwedatha yomuntu, ukusetshenziswa kwe cookies, ngiyavuma imigomo nemibandela, futhi ngiyavuma

inqubomgomo yobumfihlo

.'; + + @override + String get emailLabel => 'Faka i-imeyili yakho'; + + @override + String get signUpWithEmailTitle => 'Bhalisa nge-imeyili'; + + @override + String get logInWithEmailTitle => 'Ngena ngemeyili'; + + @override + String get phoneLabel => 'Faka ucingo lwakho'; + + @override + String get confirmPhoneTitle => 'Qinisekisa ifoni yakho'; + + @override + String get signUpText => 'Bhalisa'; + + @override + String get emailHintShort => 'Faka i-imeyili'; + + @override + String get buttonTextSignUpWithGoogle => 'Bhalisa ngeGoogle'; + + @override + String get buttonTextSignUpWithApple => 'Bhalisela nge-Apple'; + + @override + String get buttonTextSignUpWithPhone => 'Bhalisa ngefoni'; + + @override + String get buttonTextLoginWithGoogle => 'Ngena ngemvume ngeGoogle'; + + @override + String get buttonTextLoginWithApple => 'Ngena ngemvume nge-Apple'; + + @override + String get buttonTextLoginWithPhone => 'Ngena ngefoni'; + + @override + String get youAreLoggedOutMessage => 'Uphumile'; + + @override + String get reloadButtonText => 'Phinda ulayishe'; + + @override + String get emailErrorText => 'Ikheli le-imeyili alikho emthethweni'; + + @override + String get passwordErrorText => + 'Iphasiwedi kumele ibe okungenani izinhlamvu ezi-6'; + + @override + String invalidPhoneNumberError(Object phoneNumber) { + return 'Inombolo yocingo engeyona evumelekile: $phoneNumber'; + } + + @override + String resendCodeWaitError(Object seconds) { + return 'Sicela ulinde imizuzwana engu-$seconds ngaphambi kokucela ikhodi entsha.'; + } + + @override + String invalidPhoneCodeError(Object phoneCode) { + return 'Ikhodi yefoni engaqondile: $phoneCode'; + } + + @override + String get termsAndConditionsText => 'Imigomo nemibandela'; + + @override + String get continueAsGuestBtn => 'Qhubeka njengengenela'; + + @override + String get noAccountYetPromptText => 'Awunayo i-akhawunti?

Bhalisa

'; + + @override + String get alreadyHaveAccountPromptText => + 'Une-akhawunti kakade?

Ngena ngemvume

'; + + @override + String get beforeSubscribeYouNeedSignUpLoginDialogSubtitle => + 'Udinga ukubhalisela ukuqhubeka nePremium'; + + @override + String get loginSubtitle => + 'Thola okuqukethwe okwenziwe ngezifiso futhi uhlale uxhumene nomphakathi wakho!'; + + @override + String get emailFieldLabel => 'I-imeyili'; + + @override + String get emailPlaceholder => 'username@gmail.com'; + + @override + String get recoverPasswordTooltip => 'Buyisela iphasi yakho'; + + @override + String get createAccountTitle => 'Dala i-akhawunti'; + + @override + String get createAccountSubtitle => + 'Sidinga i-akhawunti ukuze sigcine idatha yakho yezempilo ngokuphepha futhi siqhubeke nokuhlola.'; + + @override + String get repeatLabel => 'Phinda'; + + @override + String get repeatPasswordHint => 'Phinda iphasi yakho'; + + @override + String get confirmButton => 'Qinisekisa'; + + @override + String get noAccountPrompt => 'Ungekho i-akhawunti?'; + + @override + String get alreadyHaveAccountPrompt => 'Usunayo i-akhawunti?'; + + @override + String get createPasswordHeader => 'Dala iphasi'; + + @override + String get phoneHeader => 'Ucingo'; + + @override + String get verifyPhoneHeader => 'Qinisekisa Ucingo'; + + @override + String get phoneTitle => 'Iyini inombolo yakho?'; + + @override + String get phoneSubtitle => + 'Sizothumela ikhodi ukuze siqinisekise ifoni yakho'; + + @override + String get phoneNumberLabel => 'Inombolo'; + + @override + String get enterPhoneNumber => 'Faka inombolo yocingo'; + + @override + String get phonePlaceholder => '+1 (201) 555-01-23'; + + @override + String waitCountdownButton(int countdown) { + return 'Linda $countdown imizuzu'; + } + + @override + String get enterCodeTitle => 'Faka ikhodi yakho'; + + @override + String codeSentToPhone(String phone) { + return 'Sithumele ikhodi ku-$phone'; + } + + @override + String get didntReceiveCode => 'Awukwazanga ikhodi?'; + + @override + String get clickToResend => 'Cinde ukuze uthumele kabusha'; + + @override + String requestNewCodeCountdown(int countdown) { + return 'Ungacela ikhodi entsha emizuzwini $countdown'; + } + + @override + String get closeTooltip => 'Vala'; + + @override + String get backTooltip => 'Buyela'; + + @override + String get termsOfServiceLink => 'Imigomo Yesevisi'; + + @override + String get privacyPolicyLink => 'Inqubomgomo Yokuvikela'; + + @override + String get welcomeBackTitle => 'Wamukelekile'; + + @override + String get welcomeBackSubtitle => + 'Ngena uma unayo i-Doctorina account, noma ubhalise ukuze uqale.'; + + @override + String get passwordRuleLength => 'Imininingwane engu-8 kuya kwengu-128'; + + @override + String get passwordRuleNumber => 'Okungenani 1 inombolo'; + + @override + String get passwordRuleUppercase => 'Okungenani 1 ibhodi elikhulu'; + + @override + String get passwordRuleMatch => 'Amakhodi ahambisana'; + + @override + String get phoneOtpVerificationFailed => + 'Ukuqinisekiswa kwe-OTP kwehlulekile. Sicela uzame futhi.'; + + @override + String get referralCodeLabel => 'Ikhodi yokudlulisa'; + + @override + String get enterReferralCodeHint => 'Faka ikhodi yakho yokudlulisa'; + + @override + String get referralCodeExampleHint => 'Isibonelo, CREATOR2026'; + + @override + String get haveReferralCodeQuestion => 'Unenikodi yokudlulisa?'; +} diff --git a/example/lib/src/l10n/app/app_af.arb b/example/lib/src/l10n/app/app_af.arb new file mode 100644 index 0000000..ccd51dc --- /dev/null +++ b/example/lib/src/l10n/app/app_af.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "af", + "lang": "Afrikaans", + "@lang": {}, + "langEn": "Afrikaans", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Werk Nou Op", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Miskien later", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Nuwe opdatering beskikbaar", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Opdatering Vereis", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "‘n Nuwe weergawe (v{version}) van die aansoek is beskikbaar. Asseblief, werk op om voort te gaan met die beste ervaring.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Om voort te gaan, werk asseblief die aansoek op. Hierdie opdatering bevat belangrike regstellings en verbeterings.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Laai af", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Teken in as jy reeds 'n Doctorina-rekening het, of teken aan om te begin.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Teken in", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Teken in", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Gaan voort as gas", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Teken In", + "@titleLogin": {}, + "titleLogout": "Teken uit", + "@titleLogout": {}, + "titleSignIn": "Teken In", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialoog", + "@titleDialog": {}, + "titleChat": "Klets", + "@titleChat": {}, + "titleSettings": "Rekeninginstellings", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Geselskapgeskiedenis", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Betaling", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Bestuur intekening", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Maandelikse Intekening", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Inleiding", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Welkom terug", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profiele van gesondheidsrekords", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Profiele aankondiging", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Gesondheidsrekords", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Volledige rekord", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Dokumente", + "@titleDocuments": {}, + "titleConsultations": "Konsultasies", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Betaalmuur", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Verwyder? Laat weet ons hoekom!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Begin 'n nuwe gesondheidsgesprek", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Deel 'n idee of rapporteer 'n probleem", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Laat weet hoe Doctorina kan verbeter", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_am.arb b/example/lib/src/l10n/app/app_am.arb new file mode 100644 index 0000000..ec1ee0e --- /dev/null +++ b/example/lib/src/l10n/app/app_am.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "am", + "lang": "አማርኛ", + "@lang": {}, + "langEn": "Amharic", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "አዘምን አሁን", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "እንደ አሁን ይቅርታ", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "አዲስ እንደሚያገኝ የሚያሳይ እንደሚያገኝ", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "እንደ ወቅታዊ ዝርዝር ይወዳድሩ", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "አዲስ ትርጉም (v{version}) የመተግበሪያው አለ። እባኮትን ወደ ቀጣይ ይዘው ለማሻሻል ይዘው ይቀጥሉ።", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "እባክዎ ይዘው ይቀጥሉ፣ እባክዎ አፕ ይዘው ይዘው። ይህ እቅፍ አስፈላጊ እና የሚሻሻል እንደሆነ ይዘው ይዘው።", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "አውርድ", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "እባኮትን ወደ ዶክተሪና መለያዎ እንደተገናኙ ግባ ወይም ለመጀመር ይመዝገቡ.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "ገብተው ይግቡ", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "ይመዝገቡ", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "እንግድ ሆኖ ይቀጥሉ", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "ገባ", + "@titleLogin": {}, + "titleLogout": "ውጣ", + "@titleLogout": {}, + "titleSignIn": "ገብስ ወይም ይግቡ", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "ውይይት", + "@titleDialog": {}, + "titleChat": "ውይይት", + "@titleChat": {}, + "titleSettings": "አካውንት ቅንብር", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "የውይይት ታሪክ", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "ክፍያ", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "እቅፍ አስተዳደር", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "ወርሃዊ እቅፍ", + "@titleMonthlySubscription": {}, + "titleOnboarding": "ኦንቦርዲንግ", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "እንኳን ወደ ቤት መጡ", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "የጤና መዝገብ መገለጫዎች", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "የፕሮፋይል ማስታወቂያ", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "የጤና መዝገቦች", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "ሙሉ መዝገብ", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "ሰነዶች", + "@titleDocuments": {}, + "titleConsultations": "ኮንስልታሽን", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "የክፍያ ግድብ", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "እቅፍ ነው? ለእቅፍ ምን እንደሆነ ንገርልን!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "አዲስ የጤና ውይይት ይጀምሩ", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "አስተያየት ወይም ችግኝ ሪፖርት ይስጡ", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "እባክዎን ዶክተሪና እንዴት ማሻሻል እንደሚቻል ንገሩን", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ar.arb b/example/lib/src/l10n/app/app_ar.arb new file mode 100644 index 0000000..05cc64a --- /dev/null +++ b/example/lib/src/l10n/app/app_ar.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ar", + "lang": "#VALUE!", + "@lang": {}, + "langEn": "Egyptian Arabic", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "تحديث الآن", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "ربما لاحقًا", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "تحديث جديد متاح", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "يجب التحديث", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "الإصدار الجديد (v{version}) من التطبيق متاح. يرجى التحديث للاستمرار للحصول على أفضل تجربة", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "للاستمرار، يرجى تحديث التطبيق. هذا التحديث يتضمن إصلاحات وتحسينات هامة.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "تنزيل", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "قم بتسجيل الدخول إذا كان لديك حساب Doctorina بالفعل، أو اشترك للبدء.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "تسجيل الدخول", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "سجل", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "متابعة كضيف", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "تسجيل الدخول", + "@titleLogin": {}, + "titleLogout": "تسجيل الخروج", + "@titleLogout": {}, + "titleSignIn": "تسجيل الدخول", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "حوار", + "@titleDialog": {}, + "titleChat": "دردشة", + "@titleChat": {}, + "titleSettings": "إعدادات الحساب", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "سجل الدردشات", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "الدفع", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "إدارة الاشتراك", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "الاشتراك الشهري", + "@titleMonthlySubscription": {}, + "titleOnboarding": "التهيئة", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "مرحبًا بعودتك", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "ملفات السجلات الصحية", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "إعلان الملفات الشخصية", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "سجلات الصحة", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "السجل الكامل", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "المستندات", + "@titleDocuments": {}, + "titleConsultations": "استشارات", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "حاجز الدفع", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "تحذف؟ أخبرنا لماذا!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "ابدأ محادثة صحية جديدة", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "شارك فكرة أو أبلغ عن مشكلة", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "أخبرنا كيف يمكن لدكتورينا أن تتحسن", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ar_EG.arb b/example/lib/src/l10n/app/app_ar_EG.arb new file mode 100644 index 0000000..cfca281 --- /dev/null +++ b/example/lib/src/l10n/app/app_ar_EG.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ar_EG", + "lang": "#VALUE!", + "@lang": {}, + "langEn": "Egyptian Arabic", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "تحديث الآن", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "ربما لاحقًا", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "تحديث جديد متاح", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "يجب التحديث", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "الإصدار الجديد (v{version}) من التطبيق متاح. يرجى التحديث للاستمرار للحصول على أفضل تجربة", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "للاستمرار، يرجى تحديث التطبيق. هذا التحديث يتضمن إصلاحات وتحسينات هامة.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "تنزيل", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "قم بتسجيل الدخول إذا كان لديك حساب Doctorina بالفعل، أو اشترك للبدء.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "تسجيل الدخول", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "سجل", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "متابعة كضيف", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "تسجيل الدخول", + "@titleLogin": {}, + "titleLogout": "تسجيل الخروج", + "@titleLogout": {}, + "titleSignIn": "تسجيل الدخول", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "حوار", + "@titleDialog": {}, + "titleChat": "دردشة", + "@titleChat": {}, + "titleSettings": "إعدادات الحساب", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "سجل الدردشات", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "الدفع", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "إدارة الاشتراك", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "الاشتراك الشهري", + "@titleMonthlySubscription": {}, + "titleOnboarding": "التهيئة", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "مرحبًا بعودتك", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "ملفات السجلات الصحية", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "إعلان الملفات الشخصية", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "سجلات الصحة", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "السجل الكامل", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "المستندات", + "@titleDocuments": {}, + "titleConsultations": "استشارات", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "حاجز الدفع", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "تحذف؟ أخبرنا لماذا!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "ابدأ محادثة صحية جديدة", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "شارك فكرة أو أبلغ عن مشكلة", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "أخبرنا كيف يمكن لدكتورينا أن تتحسن", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_az.arb b/example/lib/src/l10n/app/app_az.arb new file mode 100644 index 0000000..dec5407 --- /dev/null +++ b/example/lib/src/l10n/app/app_az.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "az", + "lang": "Azərbaycan dili", + "@lang": {}, + "langEn": "Azerbaijani", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "İndi Yenilə", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Bəlkə sonra", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Yeni yeniləmə mövcuddur", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Yeniləmə tələb olunur", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Tətbiqin yeni versiyası (v{version}) mövcuddur. Ən yaxşı təcrübə üçün yeniləyin.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Davam etmək üçün, zəhmət olmasa tətbiqi yeniləyin. Bu yeniləmə mühüm düzəlişlər və təkmilləşdirmələr daxildir.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Yüklə", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Əgər artıq Doctorina hesabınız varsa, daxil olun, ya da başlamaq üçün qeydiyyatdan keçin.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Daxil ol", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Qeydiyyat", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Qonaq kimi davam et", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Daxil ol", + "@titleLogin": {}, + "titleLogout": "Çıxış", + "@titleLogout": {}, + "titleSignIn": "Daxil olun", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialoq", + "@titleDialog": {}, + "titleChat": "Söhbət", + "@titleChat": {}, + "titleSettings": "Hesab Ayarları", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Söhbət Tarixi", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Ödəniş", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Abunəni idarə et", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Aylıq Abunə", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Başlanğıc", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Xoş gəlmisiniz", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Sağlamlıq qeydləri profilləri", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Profil elanı", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Sağlıq qeydləri", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Tamamlanmış qeyd", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Sənədlər", + "@titleDocuments": {}, + "titleConsultations": "Müsahibələr", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Silirsiniz? Niyə olduğunu bizə bildirin!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Yeni sağlamlıq söhbətinə başlayın", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Bir fikir paylaşın və ya problem bildirin", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Doctorina-nı necə inkişaf etdirə biləcəyimizi bizə bildirin", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_be.arb b/example/lib/src/l10n/app/app_be.arb new file mode 100644 index 0000000..3f138e1 --- /dev/null +++ b/example/lib/src/l10n/app/app_be.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "be", + "lang": "Беларуская мова", + "@lang": {}, + "langEn": "Belarusian", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Абнавіць зараз", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Пазней", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Даступна новае абнаўленне", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Патрэбна абнаўленне", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Даступная новая версія (v{version}) прыкладання. Калі ласка, абновіце, каб працягнуць для найлепшага вопыту.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Каб працягнуць, абнавіце прыкладанне. Гэта абнаўленне ўключае важныя выпраўленні і паляпшэнні.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Спампаваць", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Увайдзіце, калі ў вас ужо ёсць уліковы запіс Doctorina, або зарэгіструйцеся, каб пачаць.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Увайсці", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Зарэгістравацца", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Працягнуць як госць", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Увайсці", + "@titleLogin": {}, + "titleLogout": "Выйсці", + "@titleLogout": {}, + "titleSignIn": "Увайсці", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Дыялог", + "@titleDialog": {}, + "titleChat": "Чат", + "@titleChat": {}, + "titleSettings": "Налады ўліковага запісу", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Гісторыя чатаў", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Аплата", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Кіраванне падпіскай", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Штомесячная падпіска", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Анбордынг", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "С вяртаннем", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Профілі медыцынскіх запісаў", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Аб'ява пра профілі", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Медыцынскія запісы", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Поўная запіс", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Дакументы", + "@titleDocuments": {}, + "titleConsultations": "Кансультацыі", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Платны доступ", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Выдаляеце? Скажыце нам, чаму!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Пачаць новы размову пра здароўе", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Падзяліцеся ідэяй або паведаміце пра праблему", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Скажыце нам, як Doctorina можа палепшыцца", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_bg.arb b/example/lib/src/l10n/app/app_bg.arb new file mode 100644 index 0000000..7864a34 --- /dev/null +++ b/example/lib/src/l10n/app/app_bg.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "bg", + "lang": "български", + "@lang": {}, + "langEn": "Bulgarian", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Актуализирай сега", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Може по-късно", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Нова актуализация е налична", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Необходимо е обновление", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Налична е нова версия (v{version}) на приложението. Моля, актуализирайте, за да продължите с най-доброто изживяване.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "За да продължите, моля, актуализирайте приложението. Тази актуализация включва важни корекции и подобрения.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Изтегли", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Влезте, ако вече имате акаунт в Doctorina, или се регистрирайте, за да започнете.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Вход", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Регистрация", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Продължете като гост", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Вход", + "@titleLogin": {}, + "titleLogout": "Изход", + "@titleLogout": {}, + "titleSignIn": "Вход", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Диалог", + "@titleDialog": {}, + "titleChat": "Чат", + "@titleChat": {}, + "titleSettings": "Настройки на акаунта", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "История на чатовете", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Плащане", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Управление на абонамента", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Месечен абонамент", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Започване", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Добре дошли отново", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Профили на здравни досиета", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Обявление за профили", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Медицински записи", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Пълен запис", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Документи", + "@titleDocuments": {}, + "titleConsultations": "Консултации", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Изтривате? Кажете ни защо!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Започнете нова здравна беседа", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Споделете идея или докладвайте проблем", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Кажете ни как Doctorina може да се подобри", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_bn.arb b/example/lib/src/l10n/app/app_bn.arb new file mode 100644 index 0000000..fb0b751 --- /dev/null +++ b/example/lib/src/l10n/app/app_bn.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "bn", + "lang": "বাংলা", + "@lang": {}, + "langEn": "Bengali", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "এখন আপডেট করুন", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "হয়তো পরে", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "নতুন আপডেট উপলব্ধ", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "আপডেট প্রয়োজন", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "অ্যাপের নতুন সংস্করণ (v{version}) পাওয়া যাচ্ছে. সর্বোত্তম অভিজ্ঞতার জন্য অনুগ্রহ করে আপডেট করুন.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "চালিয়ে যেতে, অনুগ্রহ করে অ্যাপটি আপডেট করুন. এই আপডেটে গুরুত্বপূর্ণ সংশোধন ও উন্নতি অন্তর্ভুক্ত রয়েছে.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ডাউনলোড", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "আপনার যদি ইতিমধ্যে একটি Doctorina অ্যাকাউন্ট থাকে তবে লগ ইন করুন, অথবা শুরু করতে সাইন আপ করুন", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "লগ ইন", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "সাইন আপ করুন", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "অতিথি হিসেবে চালিয়ে যান", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "লগ ইন", + "@titleLogin": {}, + "titleLogout": "লগ আউট", + "@titleLogout": {}, + "titleSignIn": "সাইন ইন", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "সংলাপ", + "@titleDialog": {}, + "titleChat": "চ্যাট", + "@titleChat": {}, + "titleSettings": "অ্যাকাউন্ট সেটিংস", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "চ্যাট ইতিহাস", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "পেমেন্ট", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "সাবস্ক্রিপশন পরিচালনা করুন", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "মাসিক সাবস্ক্রিপশন", + "@titleMonthlySubscription": {}, + "titleOnboarding": "অনবোর্ডিং", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "স্বাগতম ফিরে", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "স্বাস্থ্য নথির প্রোফাইল", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "প্রোফাইল ঘোষণা", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "স্বাস্থ্য রেকর্ড", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "সম্পূর্ণ রেকর্ড", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "নথি", + "@titleDocuments": {}, + "titleConsultations": "পরামর্শ", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "পে ওয়াল", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "মুছে ফেলছেন? আমাদের জানান কেন!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "নতুন স্বাস্থ্য আলোচনা শুরু করুন", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "একটি ধারণা শেয়ার করুন বা একটি সমস্যা রিপোর্ট করুন", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Doctorina কিভাবে উন্নতি করতে পারে আমাদের জানান", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ca.arb b/example/lib/src/l10n/app/app_ca.arb new file mode 100644 index 0000000..e10c8d7 --- /dev/null +++ b/example/lib/src/l10n/app/app_ca.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ca", + "lang": "Català", + "@lang": {}, + "langEn": "Catalan", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Actualitza ara", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Potser més tard", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Nova actualització disponible", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Actualització requerida", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Hi ha una nova versió (v{version}) de l'aplicació disponible. Si us plau, actualitzeu per continuar amb la millor experiència.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Per continuar, si us plau actualitzeu l'aplicació. Aquesta actualització inclou correccions i millores importants.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Descarrega", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Inicia sessió si ja tens un compte de Doctorina, o registra't per començar.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Inicia sessió", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Inscriu-te", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Continua com a convidat", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Iniciar sessió", + "@titleLogin": {}, + "titleLogout": "Tancar sessió", + "@titleLogout": {}, + "titleSignIn": "Iniciar sessió", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Diàleg", + "@titleDialog": {}, + "titleChat": "Xat", + "@titleChat": {}, + "titleSettings": "Configuració del compte", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Històric de xats", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Pagament", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Gestiona la subscripció", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Subscripció Mensual", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Introducció", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Benvingut de nou", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Perfils d'historials de salut", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Anunci de perfils", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Registres de salut", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Registre complet", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Documents", + "@titleDocuments": {}, + "titleConsultations": "Consultes", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Mur de pagament", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Esborrant? Digues-nos per què!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Comença una nova conversa sobre salut", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Comparteix una idea o informa d'un problema", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Digue'ns com pot millorar Doctorina", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_cs.arb b/example/lib/src/l10n/app/app_cs.arb new file mode 100644 index 0000000..c23729a --- /dev/null +++ b/example/lib/src/l10n/app/app_cs.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "cs", + "lang": "čeština", + "@lang": {}, + "langEn": "Czech", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Aktualizovat nyní", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Možná později", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Nová aktualizace je k dispozici", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Aktualizace vyžadována", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Nová verze (v{version}) aplikace je k dispozici. Prosím, aktualizujte, abyste mohli pokračovat v nejlepší zkušenosti.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Pro pokračování prosím aktualizujte aplikaci. Tato aktualizace obsahuje důležité opravy a vylepšení.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Stáhnout", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Přihlaste se, pokud již máte účet Doctorina, nebo se zaregistrujte a začněte.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Přihlásit se", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Zaregistrovat se", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Pokračovat jako host", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Přihlásit se", + "@titleLogin": {}, + "titleLogout": "Odhlásit se", + "@titleLogout": {}, + "titleSignIn": "Přihlásit se", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialog", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Nastavení účtu", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Historie chatů", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Platba", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Spravovat předplatné", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Měsíční předplatné", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Úvod", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Vítejte zpět", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profily zdravotních záznamů", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Oznámení o profilech", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Zdravotní záznamy", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Úplný záznam", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Dokumenty", + "@titleDocuments": {}, + "titleConsultations": "Konzultace", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Mazání? Řekněte nám proč!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Začněte novou zdravotní konverzaci", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Sdílejte nápad nebo nahlaste problém", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Řekněte nám, jak může Doctorina zlepšit", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_da.arb b/example/lib/src/l10n/app/app_da.arb new file mode 100644 index 0000000..67dcd71 --- /dev/null +++ b/example/lib/src/l10n/app/app_da.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "da", + "lang": "Dansk", + "@lang": {}, + "langEn": "Danish", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Opdater nu", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Måske senere", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Ny opdatering tilgængelig", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Opdatering påkrævet", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "En ny version (v{version}) af appen er tilgængelig. Opdater venligst for at fortsætte med den bedste oplevelse.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "For at fortsætte, opdater venligst appen. Denne opdatering inkluderer vigtige rettelser og forbedringer.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Hent", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Log ind, hvis du allerede har en Doctorina-konto, eller tilmeld dig for at komme i gang.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Log ind", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Tilmeld dig", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Fortsæt som gæst", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Log ind", + "@titleLogin": {}, + "titleLogout": "Log ud", + "@titleLogout": {}, + "titleSignIn": "Log ind", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialog", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Kontoindstillinger", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Chat-historik", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Betaling", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Administrer abonnement", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Månedligt Abonnement", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Introduktion", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Velkommen tilbage", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profiler for sundhedsjournaler", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Profilerklæring", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Sundhedsoptegnelser", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Fuld optegnelse", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Dokumenter", + "@titleDocuments": {}, + "titleConsultations": "Konsultationer", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Betalingsmur", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Sletter du? Fortæl os hvorfor!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Start en ny sundhedssamtale", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Del en idé eller rapporter et problem", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Fortæl os, hvordan Doctorina kan forbedres", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_de.arb b/example/lib/src/l10n/app/app_de.arb new file mode 100644 index 0000000..58aa770 --- /dev/null +++ b/example/lib/src/l10n/app/app_de.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "de", + "lang": "Deutsch", + "@lang": {}, + "langEn": "German", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Jetzt aktualisieren", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Vielleicht später", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Neue Aktualisierung verfügbar", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Update erforderlich", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Eine neue Version (v{version}) der App ist verfügbar. Bitte aktualisieren Sie, um fortzufahren und die beste Erfahrung zu genießen.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Um fortzufahren, aktualisieren Sie bitte die App. Dieses Update enthält wichtige Fehlerbehebungen und Verbesserungen.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Herunterladen", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Melden Sie sich an, wenn Sie bereits ein Doctorina-Konto haben, oder registrieren Sie sich, um zu beginnen.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Einloggen", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Anmelden", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Weiter als Gast", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Einloggen", + "@titleLogin": {}, + "titleLogout": "Abmelden", + "@titleLogout": {}, + "titleSignIn": "Anmelden", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialog", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Kontoeinstellungen", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Chatverlauf", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Zahlung", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Abonnement verwalten", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Monatliches Abonnement", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Einarbeitung", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Willkommen zurück", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profile von Gesundheitsakten", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Ankündigung der Profile", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Gesundheitsakten", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Vollständiger Datensatz", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Dokumente", + "@titleDocuments": {}, + "titleConsultations": "Konsultationen", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Zahlungsaufforderung", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Löschen? Sag uns warum!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Starten Sie ein neues Gesundheitsgespräch", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Teilen Sie eine Idee oder melden Sie ein Problem", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Sagen Sie uns, wie Doctorina sich verbessern kann", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_el.arb b/example/lib/src/l10n/app/app_el.arb new file mode 100644 index 0000000..6748554 --- /dev/null +++ b/example/lib/src/l10n/app/app_el.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "el", + "lang": "ελληνικά", + "@lang": {}, + "langEn": "Greek", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Update Now", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Ίσως αργότερα", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Διαθέσιμη νέα ενημέρωση", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Απαιτείται ενημέρωση", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Μια νέα έκδοση (v{version}) της εφαρμογής είναι διαθέσιμη. Παρακαλώ ενημερώστε για να συνεχίσετε με την καλύτερη εμπειρία.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Για να συνεχίσετε, παρακαλώ ενημερώστε την εφαρμογή. Αυτή η ενημέρωση περιλαμβάνει σημαντικές διορθώσεις και βελτιώσεις.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Λήψη", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Συνδεθείτε αν έχετε ήδη λογαριασμό Doctorina ή εγγραφείτε για να ξεκινήσετε.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Σύνδεση", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Εγγραφή", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Συνεχίστε ως επισκέπτης", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Σύνδεση", + "@titleLogin": {}, + "titleLogout": "Αποσύνδεση", + "@titleLogout": {}, + "titleSignIn": "Σύνδεση", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Διάλογος", + "@titleDialog": {}, + "titleChat": "Συνομιλία", + "@titleChat": {}, + "titleSettings": "Ρυθμίσεις Λογαριασμού", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Ιστορικό συνομιλιών", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Πληρωμή", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Διαχείριση συνδρομής", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Μηνιαία Συνδρομή", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Εκπαίδευση", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Καλώς ήρθατε πίσω", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Προφίλ αρχείων υγείας", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Ανακοίνωση προφίλ", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Ιατρικά Αρχεία", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Πλήρης καταγραφή", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Έγγραφα", + "@titleDocuments": {}, + "titleConsultations": "Συμβουλές", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Πληρωμή", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Διαγραφή; Πείτε μας γιατί!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Ξεκινήστε μια νέα υγειονομική συνομιλία", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Μοιραστείτε μια ιδέα ή αναφέρετε ένα πρόβλημα", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Πείτε μας πώς μπορεί να βελτιωθεί η Doctorina", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_en.arb b/example/lib/src/l10n/app/app_en.arb new file mode 100644 index 0000000..0697197 --- /dev/null +++ b/example/lib/src/l10n/app/app_en.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "en", + "lang": "English", + "@lang": {}, + "langEn": "English", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Update Now", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Maybe Later", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "New update available", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Update Required", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "A new version (v{version}) of the app is available. Please update to continue for the best experience.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "To continue, please update the app. This update includes important fixes and improvements.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Download", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Log in if you already have a Doctorina account, or sign up to get started.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Log in", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Sign up", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Continue as guest", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Log In", + "@titleLogin": {}, + "titleLogout": "Log Out", + "@titleLogout": {}, + "titleSignIn": "Sign In", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialog", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Account Settings", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Chat History", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Payment", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Manage subscription", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Monthly Subscription", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Onboarding", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Welcome back", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Health records profiles", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Profiles announcement", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Health Records", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Full record", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Documents", + "@titleDocuments": {}, + "titleConsultations": "Consultations", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Deleting? Tell us why!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Start a new health conversation", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Share an idea or report a problem", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Tell us how Doctorina can improve", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_es.arb b/example/lib/src/l10n/app/app_es.arb new file mode 100644 index 0000000..3b95b4e --- /dev/null +++ b/example/lib/src/l10n/app/app_es.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "es", + "lang": "Español", + "@lang": {}, + "langEn": "Spanish", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Actualizar ahora", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Tal vez más tarde", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Nueva actualización disponible", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": " Se requiere actualización", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Hay una nueva versión (v{version}) de la aplicación disponible. Por favor, actualízala para continuar y disfrutar de la mejor experiencia.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Para continuar, actualiza la aplicación. Esta actualización incluye correcciones e mejoras importantes.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Descargar", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Inicia sesión si ya tienes una cuenta de Doctorina, o regístrate para comenzar.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Iniciar sesión", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Registrarse", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Continuar como invitado", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Iniciar sesión", + "@titleLogin": {}, + "titleLogout": "Cerrar sesión", + "@titleLogout": {}, + "titleSignIn": "Iniciar sesión", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Diálogo", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Ajustes", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Historial de chats", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Pago", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Administrar suscripción", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Suscripción mensual", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Onboarding", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Bienvenido de nuevo", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Perfiles de historiales médicos", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Anuncio de perfiles", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Registros de salud", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Registro completo", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Documentos", + "@titleDocuments": {}, + "titleConsultations": "Consultas", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Muro de pago", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "¿Eliminando? ¡Díganos por qué!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Iniciar una nueva conversación sobre salud", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Comparte una idea o informa de un problema", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Díganos cómo puede mejorar Doctorina", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_fa.arb b/example/lib/src/l10n/app/app_fa.arb new file mode 100644 index 0000000..0518c06 --- /dev/null +++ b/example/lib/src/l10n/app/app_fa.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "fa", + "lang": "فارسی", + "@lang": {}, + "langEn": "Persian", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "اکنون به‌روزرسانی کنید", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "شاید بعداً", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "به‌روزرسانی جدید موجود", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "به‌روزرسانی مورد نیاز", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "نسخه جدید (v{version}) اپلیکیشن در دسترس است. لطفاً برای ادامه بهترین تجربه، به‌روزرسانی کنید.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "برای ادامه، لطفاً برنامه را به‌روزرسانی کنید. این به‌روزرسانی شامل رفع اشکالات و بهبودهای مهم است.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "دانلود", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "اگر حساب Doctorina دارید، وارد شوید یا برای شروع ثبت‌نام کنید.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "ورود", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "ثبت نام", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "ادامه به عنوان مهمان", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "ورود", + "@titleLogin": {}, + "titleLogout": "خروج", + "@titleLogout": {}, + "titleSignIn": "ورود", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "گفتگو", + "@titleDialog": {}, + "titleChat": "چت", + "@titleChat": {}, + "titleSettings": "تنظیمات حساب", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "تاریخچه چت", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "پرداخت", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "مدیریت اشتراک", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "اشتراک ماهانه", + "@titleMonthlySubscription": {}, + "titleOnboarding": "آموزش", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "خوش آمدید", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "پروفایل‌های سوابق سلامت", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "اعلام پروفایل‌ها", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "سوابق پزشکی", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "سوابق کامل", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "اسناد", + "@titleDocuments": {}, + "titleConsultations": "مشاوره‌ها", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "دیوار پرداخت", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "در حال حذف؟ به ما بگویید چرا!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "یک گفتگوی جدید در مورد سلامت شروع کنید", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "ایده‌ای به اشتراک بگذارید یا مشکلی را گزارش کنید", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "به ما بگویید چگونه دکترینا می‌تواند بهبود یابد", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_fr.arb b/example/lib/src/l10n/app/app_fr.arb new file mode 100644 index 0000000..fdc3e0c --- /dev/null +++ b/example/lib/src/l10n/app/app_fr.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "fr", + "lang": "Français", + "@lang": {}, + "langEn": "French", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Mettre à jour maintenant", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Peut-être plus tard", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Nouvelle mise à jour disponible", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Mise à jour requise", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Une nouvelle version (v{version}) de l'application est disponible. Veuillez mettre à jour pour continuer et obtenir la meilleure expérience.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Pour continuer, veuillez mettre à jour l'application. Cette mise à jour inclut des corrections importantes et des améliorations.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Télécharger", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Connectez-vous si vous avez déjà un compte Doctorina, ou inscrivez-vous pour commencer.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Se connecter", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "S'inscrire", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Continuer en tant qu'invité", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Se connecter", + "@titleLogin": {}, + "titleLogout": "Se déconnecter", + "@titleLogout": {}, + "titleSignIn": "Se connecter", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialogue", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Paramètres du compte", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Historique des chats", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Paiement", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Gérer l'abonnement", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Abonnement Mensuel", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Intégration", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Content de vous revoir", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profils des dossiers médicaux", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Annonce des profils", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Dossiers de santé", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Dossier complet", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Documents", + "@titleDocuments": {}, + "titleConsultations": "Consultations", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Vous supprimez ? Dites-nous pourquoi !", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Démarrer une nouvelle conversation sur la santé", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Partagez une idée ou signalez un problème", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Dites-nous comment Doctorina peut s'améliorer", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_gu.arb b/example/lib/src/l10n/app/app_gu.arb new file mode 100644 index 0000000..2b8fe78 --- /dev/null +++ b/example/lib/src/l10n/app/app_gu.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "gu", + "lang": "ગુજરાતી", + "@lang": {}, + "langEn": "Gujarati", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "હમણાં અપડેટ કરો", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "કદાચ પછી", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "નવું અપડેટ ઉપલબ્ધ છે", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "અપડેટ આવશ્યક છે", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "એપનો નવો વર્ઝન (v{version}) ઉપલબ્ધ છે. શ્રેષ્ઠ અનુભવ માટે કૃપા કરીને અપડેટ કરો", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "પ્રગટતા રહેવા માટે, કૃપા કરીને એપ અપડેટ કરો. આ અપડેટમાં મહત્વપૂર્ણ સુધારાઓ અને સુધારા સામેલ છે.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ડાઉનલોડ", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "જો તમારી પાસે પહેલેથી જ Doctorina ખાતું છે તો લોગિન કરો, અથવા શરૂ કરવા માટે સાઇન અપ કરો.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "લોગ ઇન", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "સાઇન અપ", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "અતિથિ તરીકે ચાલુ રાખો", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "લોગ ઇન", + "@titleLogin": {}, + "titleLogout": "લોગ આઉટ", + "@titleLogout": {}, + "titleSignIn": "સાઇન ઇન", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "સંવાદ", + "@titleDialog": {}, + "titleChat": "ચેટ", + "@titleChat": {}, + "titleSettings": "એકાઉન્ટ સેટિંગ્સ", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "ચેટ ઇતિહાસ", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "ચુકવણી", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "સબ્સ્ક્રિપ્શન વ્યવસ્થાપિત કરો", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "માસિક સબ્સ્ક્રિપ્શન", + "@titleMonthlySubscription": {}, + "titleOnboarding": "પ્રારંભ", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "ફરીથી સ્વાગત છે", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "આરોગ્ય રેકોર્ડ પ્રોફાઇલ્સ", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "પ્રોફાઇલ્સ જાહેરાત", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "આરોગ્ય રેકોર્ડ", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "પૂર્ણ રેકોર્ડ", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "દસ્તાવેજો", + "@titleDocuments": {}, + "titleConsultations": "સલાહ", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "પે વોલ", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "કાઢી રહ્યા છો? અમને કહો કેમ!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "નવો આરોગ્ય સંવાદ શરૂ કરો", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "વિચાર શેર કરો અથવા સમસ્યા રિપોર્ટ કરો", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "ડોક્ટરિના કેવી રીતે સુધારી શકે તે અમને જણાવો", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_he.arb b/example/lib/src/l10n/app/app_he.arb new file mode 100644 index 0000000..24fca70 --- /dev/null +++ b/example/lib/src/l10n/app/app_he.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "he", + "lang": "עִברִית", + "@lang": {}, + "langEn": "Hebrew", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "עדכן עכשיו", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "אולי מאוחר יותר", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "עדכון חדש זמין", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "עדכון נדרש", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "גרסה חדשה (v{version}) של האפליקציה זמינה. נא לעדכן לקבלת החוויה הטובה ביותר.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "להמשך, נא לעדכן את האפליקציה. העדכון כולל תיקונים ושיפורים חשובים.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "הורדה", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "היכנס אם כבר יש לך חשבון Doctorina, או הירשם כדי להתחיל.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "התחבר", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "הרשמה", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "המשך כאורח", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "התחברות", + "@titleLogin": {}, + "titleLogout": "התנתק", + "@titleLogout": {}, + "titleSignIn": "התחברות", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "שיחה", + "@titleDialog": {}, + "titleChat": "צ'אט", + "@titleChat": {}, + "titleSettings": "הגדרות חשבון", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "היסטוריית צ'אט", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "תשלום", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "נהל מנוי", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "מנוי חודשי", + "@titleMonthlySubscription": {}, + "titleOnboarding": "הדרכה", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "ברוך שובך", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "פרופילי רשומות בריאות", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "הודעת פרופילים", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "רשומות בריאות", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "רשומה מלאה", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "מסמכים", + "@titleDocuments": {}, + "titleConsultations": "התייעצויות", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "חומת תשלום", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "מוחק? ספר לנו למה!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "התחל שיחה חדשה על בריאות", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "שתף רעיון או דווח על בעיה", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "ספרו לנו איך דוקטורינה יכולה להשתפר", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_hi.arb b/example/lib/src/l10n/app/app_hi.arb new file mode 100644 index 0000000..9233baf --- /dev/null +++ b/example/lib/src/l10n/app/app_hi.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "hi", + "lang": "हिन्दी", + "@lang": {}, + "langEn": "Hindi", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "अभी अपडेट करें", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "शायद बाद में", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "नया अपडेट उपलब्ध", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "अपडेट आवश्यक", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "ऐप का नया संस्करण (v{version}) उपलब्ध है. सर्वोत्तम अनुभव के लिए कृपया अपडेट करें.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "जारी रखने के लिए, कृपया ऐप को अपडेट करें. इस अपडेट में महत्वपूर्ण सुधार और उन्नयन शामिल हैं.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "डाउनलोड", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "यदि आपके पास पहले से Doctorina खाता है, तो लॉग इन करें, या शुरू करने के लिए साइन अप करें।", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "लॉग इन करें", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "साइन अप करें", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "अतिथि के रूप में जारी रखें", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "लॉग इन करें", + "@titleLogin": {}, + "titleLogout": "लॉग आउट", + "@titleLogout": {}, + "titleSignIn": "साइन इन", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "संवाद", + "@titleDialog": {}, + "titleChat": "चैट", + "@titleChat": {}, + "titleSettings": "खाता सेटिंग्स", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "चैट इतिहास", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "भुगतान", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "सदस्यता प्रबंधित करें", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "मासिक सदस्यता", + "@titleMonthlySubscription": {}, + "titleOnboarding": "ऑनबोर्डिंग", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "स्वागत है वापस", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "स्वास्थ्य अभिलेख प्रोफ़ाइलें", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "प्रोफाइल्स की घोषणा", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "स्वास्थ्य रिकॉर्ड", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "पूर्ण रिकॉर्ड", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "दस्तावेज़", + "@titleDocuments": {}, + "titleConsultations": "परामर्श", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "भुगतान दीवार", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "हटाना? हमें बताएं क्यों!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "एक नई स्वास्थ्य बातचीत शुरू करें", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "एक विचार साझा करें या समस्या रिपोर्ट करें", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "हमें बताएं कि डॉक्टरिना कैसे सुधार कर सकता है", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_hu.arb b/example/lib/src/l10n/app/app_hu.arb new file mode 100644 index 0000000..87aada4 --- /dev/null +++ b/example/lib/src/l10n/app/app_hu.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "hu", + "lang": "magyar", + "@lang": {}, + "langEn": "Hungarian", + "@langEn": {}, + "title": "Doktorina", + "@title": {}, + "checkVersionUpdateNowButton": "Frissítés most", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Később", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Új frissítés elérhető", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Frissítés szükséges", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "A(z) {version} verziójú alkalmazás elérhető. Kérjük, frissítse a legjobb élmény érdekében.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "A folytatáshoz kérjük, frissítse az alkalmazást. Ez a frissítés fontos javításokat és fejlesztéseket tartalmaz.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Letöltés", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Jelentkezzen be, ha már van Doctorina fiókja, vagy regisztráljon a kezdéshez.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Bejelentkezés", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Regisztráció", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Folytatás vendégként", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Bejelentkezés", + "@titleLogin": {}, + "titleLogout": "Kijelentkezés", + "@titleLogout": {}, + "titleSignIn": "Bejelentkezés", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialógus", + "@titleDialog": {}, + "titleChat": "Csevegés", + "@titleChat": {}, + "titleSettings": "Fiókbeállítások", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Csevegési előzmények", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Fizetés", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Előfizetés kezelése", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Havi előfizetés", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Bevezetés", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Üdvözöljük vissza", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Egészségügyi nyilvántartási profilok", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Profilok bejelentése", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Egészségügyi nyilvántartások", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Teljes nyilvántartás", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Dokumentumok", + "@titleDocuments": {}, + "titleConsultations": "Konzultációk", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Fizetési fal", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Törlés? Mondja el, miért!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Indítson egy új egészségügyi beszélgetést", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Ossza meg ötletét vagy jelentsen be egy problémát", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Mondja el, hogyan javíthat a Doctorina", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_id.arb b/example/lib/src/l10n/app/app_id.arb new file mode 100644 index 0000000..7807f98 --- /dev/null +++ b/example/lib/src/l10n/app/app_id.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "id", + "lang": "Indonesia", + "@lang": {}, + "langEn": "Indonesian", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Perbarui Sekarang", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Mungkin Nanti", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Pembaruan baru tersedia", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Pembaruan Diperlukan", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Versi baru (v{version}) dari aplikasi tersedia. Harap perbarui untuk melanjutkan agar mendapatkan pengalaman terbaik.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Untuk melanjutkan, silakan perbarui aplikasi. Pembaruan ini mencakup perbaikan penting dan peningkatan.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Unduh", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Masuk jika Anda sudah memiliki akun Doctorina, atau daftar untuk memulai.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Masuk", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Daftar", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Lanjut sebagai tamu", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Masuk", + "@titleLogin": {}, + "titleLogout": "Keluar", + "@titleLogout": {}, + "titleSignIn": "Masuk", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialog", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Pengaturan Akun", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Riwayat Obrolan", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Pembayaran", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Kelola langganan", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Langganan Bulanan", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Onboarding", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Selamat datang kembali", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profil rekam kesehatan", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Pengumuman profil", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Rekam Medis", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Rekaman lengkap", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Dokumen", + "@titleDocuments": {}, + "titleConsultations": "Konsultasi", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Menghapus? Beri tahu kami alasannya!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Mulai percakapan kesehatan baru", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Bagikan ide atau laporkan masalah", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Beri tahu kami bagaimana Doctorina dapat diperbaiki", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_it.arb b/example/lib/src/l10n/app/app_it.arb new file mode 100644 index 0000000..5e6b5be --- /dev/null +++ b/example/lib/src/l10n/app/app_it.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "it", + "lang": "Italiano", + "@lang": {}, + "langEn": "Italian", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Aggiorna ora", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Magari più tardi", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Nuovo aggiornamento disponibile", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Aggiornamento Richiesto", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Una nuova versione (v{version}) dell'app è disponibile. Aggiorna per continuare a ottenere la migliore esperienza.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Per continuare, aggiorna l'app. Questo aggiornamento include correzioni importanti e miglioramenti.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Scarica", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Accedi se hai già un account Doctorina, oppure registrati per iniziare.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Accedi", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Iscriviti", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Continua come ospite", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Accedi", + "@titleLogin": {}, + "titleLogout": "Disconnetti", + "@titleLogout": {}, + "titleSignIn": "Accedi", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialogo", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Impostazioni account", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Cronologia chat", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Pagamento", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Gestisci abbonamento", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Abbonamento Mensile", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Onboarding", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Bentornato", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profili delle cartelle cliniche", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Annuncio dei profili", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Cartelle cliniche", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Record completo", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Documenti", + "@titleDocuments": {}, + "titleConsultations": "Consultazioni", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Eliminare? Dicci perché!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Inizia una nuova conversazione sulla salute", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Condividi un'idea o segnala un problema", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Dicci come Doctorina può migliorare", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ja.arb b/example/lib/src/l10n/app/app_ja.arb new file mode 100644 index 0000000..4117e4d --- /dev/null +++ b/example/lib/src/l10n/app/app_ja.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ja", + "lang": "日本語", + "@lang": {}, + "langEn": "Japanese", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "今すぐ更新", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "後で", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "新しい更新が利用可能", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "更新が必要", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "新しいバージョン (v{version}) のアプリが利用可能です。最良の体験のために更新してください", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "続行するには、アプリを更新してください。このアップデートには重要な修正や改善が含まれています。", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ダウンロード", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "すでにDoctorinaアカウントをお持ちの場合はログインし、始めるにはサインアップしてください。", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "ログイン", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "サインアップ", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "ゲ스트として続行", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "ログイン", + "@titleLogin": {}, + "titleLogout": "ログアウト", + "@titleLogout": {}, + "titleSignIn": "ログイン", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "ダイアログ", + "@titleDialog": {}, + "titleChat": "チャット", + "@titleChat": {}, + "titleSettings": "アカウント設定", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "チャット履歴", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "支払い", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "サブスクリプションを管理", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "月額サブスクリプション", + "@titleMonthlySubscription": {}, + "titleOnboarding": "オンボーディング", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "お帰りなさい", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "健康記録プロフィール", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "プロフィールのお知らせ", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "健康記録", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "完全な記録", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "ドキュメント", + "@titleDocuments": {}, + "titleConsultations": "相談", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "削除しますか?理由を教えてください!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "新しい健康の会話を始める", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "アイデアを共有するか、問題を報告する", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Doctorinaがどのように改善できるか教えてください", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_kk.arb b/example/lib/src/l10n/app/app_kk.arb new file mode 100644 index 0000000..6114241 --- /dev/null +++ b/example/lib/src/l10n/app/app_kk.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "kk", + "lang": "Қазақ", + "@lang": {}, + "langEn": "Kazakh", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Қазір жаңарту", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Кейінірек", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Жаңа жаңарту қолжетімді", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Жаңарту қажет", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Қолданбаның жаңа нұсқасы (v{version}) қолжетімді. Ең жақсы тәжірибе үшін жаңартыңыз.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Жалғастыру үшін, қосымшаны жаңартыңыз. Бұл жаңарту маңызды түзетулер мен жақсартуларды қамтиды.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Жүктеу", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Егер сізде Doctorina аккаунты болса, кіріңіз немесе бастау үшін тіркеліңіз.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Кіру", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Тіркелу", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Қонақ ретінде жалғастырыңыз", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Кіру", + "@titleLogin": {}, + "titleLogout": "Шығу", + "@titleLogout": {}, + "titleSignIn": "Кіру", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Диалог", + "@titleDialog": {}, + "titleChat": "Чат", + "@titleChat": {}, + "titleSettings": "Есеп параметрлері", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Чат тарихы", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Төлем", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Жазылымды басқару", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Айлық жазылым", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Бастапқы", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Қайта келдіңіз", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Денсаулық жазбаларының профильдері", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Профильдер туралы хабарландыру", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Денсаулық жазбалары", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Толық жазба", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Құжаттар", + "@titleDocuments": {}, + "titleConsultations": "Консультациялар", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Төлем қабырғасы", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Жою? Неге екенін айтыңыз!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Жаңа денсаулық әңгімесін бастаңыз", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Идея бөлісіңіз немесе мәселені хабарлаңыз", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Doctorina қалай жақсара алатынын айтыңыз", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_km.arb b/example/lib/src/l10n/app/app_km.arb new file mode 100644 index 0000000..77f64bc --- /dev/null +++ b/example/lib/src/l10n/app/app_km.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "km", + "lang": "ខ្មែរ", + "@lang": {}, + "langEn": "Khmer", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Update Now", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "ប្រហែលជាពេលក្រោយ", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "មានការអាប់ដេតថ្មី available", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "ត្រូវការកំណែថ្មី", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "កំណែថ្មីមួយ (v{version}) នៃកម្មវិធីមានស្រាប់។ សូមធ្វើបច្ចុប្បន្នភាពដើម្បីបន្តទទួលបានបទពិសោធន៍ល្អបំផុត។", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "ដើម្បីបន្ត សូមធ្វើការអាប់ដេតកម្មវិធី។ ការអាប់ដេតនេះមានការកែសម្រួលនិងការកែលម្អសំខាន់ៗ។", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ទាញយក", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "ចូលប្រើប្រសិនបើអ្នកមានគណនី Doctorina ហើយ ឬចុះឈ្មោះដើម្បីចាប់ផ្តើម។", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "ចូល", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "ចុះឈ្មោះ", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "បន្តជា​ភ្ញៀវ", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "ចូល", + "@titleLogin": {}, + "titleLogout": "ចាកចេញ", + "@titleLogout": {}, + "titleSignIn": "ចុះឈ្មោះ", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "សន្ទនា", + "@titleDialog": {}, + "titleChat": "ការសន្ទនា", + "@titleChat": {}, + "titleSettings": "ការកំណត់គណនី", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "ប្រវត្តិការជជែក", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "ការទូទាត់", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "គ្រប់គ្រងការជាវ", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "ការជាវប្រចាំខែ", + "@titleMonthlySubscription": {}, + "titleOnboarding": "ការបណ្តុះបណ្តាល", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "សូមស្វាគមន៍ត្រឡប់មកវិញ", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "ប្រវត្តិរូបកំណត់ត្រាសុខភាព", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "ការប្រកាសពីប្រវត្តិ", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "កំណត់ត្រាសុខភាព", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "កំណត់ត្រាពេញ", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "ឯកសារ", + "@titleDocuments": {}, + "titleConsultations": "ការពិគ្រោះ", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "ការបិទច្រក", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "កំពុងលុប? សូមប្រាប់យើងពីមូលហេតុ!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "ចាប់ផ្តើមការពិភាក្សាអំពីសុខភាពថ្មី", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "ចែករំលែកគំនិតឬរាយការណ៍បញ្ហា", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "ប្រាប់យើងពីរបៀបដែល Doctorina អាចធ្វើឱ្យប្រសើរឡើង", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_kn.arb b/example/lib/src/l10n/app/app_kn.arb new file mode 100644 index 0000000..78041c5 --- /dev/null +++ b/example/lib/src/l10n/app/app_kn.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "kn", + "lang": "ಕನ್ನಡ", + "@lang": {}, + "langEn": "Kannada", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "ಈಗ ನವೀಕರಿಸಿ", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "ಮರುಕಳಿಸಿ", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "ಹೊಸ ನವೀಕರಣ ಲಭ್ಯವಿದೆ", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "ಅಪ್ಡೇಟ್ ಅಗತ್ಯವಿದೆ", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "ಹೊಸ ಆವೃತ್ತಿ (v{version}) ಲಭ್ಯವಿದೆ. ಉತ್ತಮ ಅನುಭವಕ್ಕಾಗಿ ದಯವಿಟ್ಟು ನವೀಕರಿಸಿ.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "ಮುಂದುವರಿಸಲು, ದಯವಿಟ್ಟು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನವೀಕರಿಸಿ. ಈ ನವೀಕರಣವು ಪ್ರಮುಖ ದೋಷಗಳನ್ನು ಮತ್ತು ಸುಧಾರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ಡೌನ್ಲೋಡ್", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "ನೀವು ಈಗಾಗಲೇ Doctorina ಖಾತೆ ಹೊಂದಿದ್ದರೆ ಲಾಗಿನ್ ಮಾಡಿ, ಅಥವಾ ಪ್ರಾರಂಭಿಸಲು ಸೈನ್ ಅಪ್ ಮಾಡಿ.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "ಲಾಗ್ ಇನ್", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "ಸೈನ್ ಅಪ್", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "ಅತಿಥಿಯಾಗಿ ಮುಂದುವರಿಸಿ", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "ಲಾಗಿನ್", + "@titleLogin": {}, + "titleLogout": "ಲಾಗ್ ಔಟ್", + "@titleLogout": {}, + "titleSignIn": "ಸೈನ್ ಇನ್", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "ಸಂವಾದ", + "@titleDialog": {}, + "titleChat": "ಚಾಟ್", + "@titleChat": {}, + "titleSettings": "ಖಾತೆ ಸೆಟಿಂಗ್‌ಗಳು", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "ಚಾಟ್ ಇತಿಹಾಸ", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "ಪಾವತಿ", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "ಚಂದಾ ನಿರ್ವಹಣೆ", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "ಮಾಸಿಕ ಚಂದಾ", + "@titleMonthlySubscription": {}, + "titleOnboarding": "ಆರಂಭ", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "ಮರುಸ್ವಾಗತ", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "ಆರೋಗ್ಯ ದಾಖಲೆಗಳ ಪ್ರೊಫೈಲ್‌ಗಳು", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "ಪ್ರೊಫೈಲ್ ಘೋಷಣೆ", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "ಆರೋಗ್ಯ ದಾಖಲೆಗಳು", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "ಪೂರ್ಣ ದಾಖಲೆ", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "ದಾಖಲೆಗಳು", + "@titleDocuments": {}, + "titleConsultations": "ಸಲಹೆಗಳು", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "ಪೇವಾಲ್", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "ಅಳಿಸುತ್ತಿದ್ದೀರಾ? ನಮಗೆ ಏಕೆ ಎಂದು ತಿಳಿಸಿ!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "ಹೊಸ ಆರೋಗ್ಯ ಸಂವಾದವನ್ನು ಪ್ರಾರಂಭಿಸಿ", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "ಆಯ್ಕೆ ಹಂಚಿಕೊಳ್ಳಿ ಅಥವಾ ಸಮಸ್ಯೆ ವರದಿ ಮಾಡಿ", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "ಡಾಕ್ಟರಿನಾ ಹೇಗೆ ಸುಧಾರಿಸಬಹುದು ಎಂದು ನಮಗೆ ತಿಳಿಸಿ", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ko.arb b/example/lib/src/l10n/app/app_ko.arb new file mode 100644 index 0000000..1d2310e --- /dev/null +++ b/example/lib/src/l10n/app/app_ko.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ko", + "lang": "한국인", + "@lang": {}, + "langEn": "Korean", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "지금 업데이트", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "나중에", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "새 업데이트 사용 가능", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "업데이트 필요", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "앱의 새 버전 (v{version})이(가) 제공됩니다. 최고의 경험을 위해 업데이트해 주세요.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "계속하려면 앱을 업데이트하세요. 이 업데이트에는 중요한 수정 사항과 개선 사항이 포함되어 있습니다.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "다운로드", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "이미 Doctorina 계정이 있는 경우 로그인하거나 시작하려면 가입하세요", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "로그인", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "가입하기", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "게스트로 계속하기", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "로그인", + "@titleLogin": {}, + "titleLogout": "로그 아웃", + "@titleLogout": {}, + "titleSignIn": "로그인", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "대화", + "@titleDialog": {}, + "titleChat": "채팅", + "@titleChat": {}, + "titleSettings": "계정 설정", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "채팅 기록", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "결제", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "구독 관리", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "월간 구독", + "@titleMonthlySubscription": {}, + "titleOnboarding": "온보딩", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "다시 오신 것을 환영합니다", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "건강 기록 프로필", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "프로필 발표", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "건강 기록", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "전체 기록", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "문서", + "@titleDocuments": {}, + "titleConsultations": "상담", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "유료 서비스", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "삭제하시나요? 이유를 알려주세요!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "새 건강 대화를 시작하세요", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "아이디어를 공유하거나 문제를 보고하세요", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Doctorina가 어떻게 개선될 수 있는지 알려주세요", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_lo.arb b/example/lib/src/l10n/app/app_lo.arb new file mode 100644 index 0000000..840694f --- /dev/null +++ b/example/lib/src/l10n/app/app_lo.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "lo", + "lang": "ລາວ", + "@lang": {}, + "langEn": "Lao", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "ອັບເດດດຽວນີ້", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "ອີກຄັ້ງບໍ່", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "ມີການອັບເດດໃໝ່ທີ່ສາມາດໃຊ້ໄດ້", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "ຕ໭ດສະຖານທີ່ຈະອັບເດດ", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "ມີແອບໃໝ່ (v{version}) ສໍາລັບການໃຊ້ງານ. ກະລຸນາອັບເດດເພື່ອສຽງດີທີ່ສຸດ.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "ສໍາລັບການດຳເນີນການ, ກະລຸນາອັບເດດແອັບ. ການອັບເດດນີ້ລວມກັບການແກ້ໄຂແລະການປັບປຸງສຳຄັນ.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ດາວໂຫຼດ", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "ສະແດງການເຂົ້າໃຊ້ຖ້າທ່ານມີບັດບັດ Doctorina ຢູ່ແລ້ວ ຫຼື ເຂົ້າໃຊ້ເພື່ອເລີ່ມຕົ້ນ.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "ເຂົ້າສູ່ລະບົບ", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "ລົງບັດທະບຽນ", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "ເບີ່ງຕໍ່ໄປເປັນຜູ້ເຂົ້າຊົມ", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "ເຂົ້າສູ່ລະບົບ", + "@titleLogin": {}, + "titleLogout": "ອອກ", + "@titleLogout": {}, + "titleSignIn": "ເຂົ້າສູ່ລະບົບ", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "ສົນທະນາ", + "@titleDialog": {}, + "titleChat": "ສົນທະນາ", + "@titleChat": {}, + "titleSettings": "ການຕັ້ງຄ່າບັນຊີ", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "ປະຫວັດການໃຊ້ງານສົນທະນາ", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "ການຊໍາລະ", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Manage subscription", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "ການສະໜອງເດືອນ", + "@titleMonthlySubscription": {}, + "titleOnboarding": "ການເປີດຕົວ", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "ຍິນດີກັບຄືນ", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "ໂປຣໄຟລ໌ບັນທຶກສຸຂະພາບ", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "ການແຈ້ງເຖິງບັນທຶກ", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "ບັນທຶກສຸຂະພາບ", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "ບັນທຶກທັງໝົດ", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "ເອກະສານ", + "@titleDocuments": {}, + "titleConsultations": "ການປຶກສາ", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "ກຳລັງລົບ? ບອກເຮົາເຖິງສາເຫດ!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "ເລີ່ມສົນທະນາສຸຂະພາບໃໝ່", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "ແບ່ງປັນໃບແນະນຳຫຼືລາຍງານບັດບາດ", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "ບອກເຮົາວ່າ Doctorina ສາມາດປັບປຸງໄດ້ແນວໃດ", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ml.arb b/example/lib/src/l10n/app/app_ml.arb new file mode 100644 index 0000000..78eba54 --- /dev/null +++ b/example/lib/src/l10n/app/app_ml.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ml", + "lang": "മലയാളം", + "@lang": {}, + "langEn": "Malayalam", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "ഇപ്പോൾ അപ്ഡേറ്റ് ചെയ്യുക", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "ശേഷം നോക്കാം", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "പുതിയ അപ്ഡേറ്റ് ലഭ്യമാണ്", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "അപ്ഡേറ്റ് ആവശ്യമാണ്", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "ആപ്പിന്റെ പുതിയ പതിപ്പ് (v{version}) ലഭ്യമാണ്. മികച്ച അനുഭവത്തിനായി അപ്ഡേറ്റ് ചെയ്യുക.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "തുടരാൻ, ദയവായി ആപ്പ് അപ്ഡേറ്റ് ചെയ്യുക. ഈ അപ്ഡേറ്റ് പ്രധാന പരിഹാരങ്ങളും മെച്ചപ്പെടുത്തലുകളും ഉൾക്കൊള്ളുന്നു.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ഡൗൺലോഡ്", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "നിങ്ങൾക്ക് ഇതിനകം ഡോക്ടറിനാ അക്കൗണ്ട് ഉണ്ടെങ്കിൽ ലോഗിൻ ചെയ്യുക, അല്ലെങ്കിൽ ആരംഭിക്കാൻ സൈൻ അപ്പ് ചെയ്യുക.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "ലോഗിൻ", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "സൈൻ അപ്പ്", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "അതിഥിയായി തുടരുക", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "ലോഗിൻ", + "@titleLogin": {}, + "titleLogout": "ലോഗ് ഔട്ട്", + "@titleLogout": {}, + "titleSignIn": "സൈൻ ഇൻ", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "സംവാദം", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "അക്കൗണ്ട് ക്രമീകരണങ്ങൾ", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "ചാറ്റ് ചരിത്രം", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "പണമടച്ചത്", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "സബ്സ്ക്രിപ്ഷൻ കൈകാര്യം ചെയ്യുക", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "മാസിക സബ്സ്ക്രിപ്ഷൻ", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Onboarding", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "സ്വാഗതം തിരിച്ചുവരവിന്", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "ആരോഗ്യ രേഖകളുടെ പ്രൊഫൈലുകൾ", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "പ്രൊഫൈലുകളുടെ പ്രഖ്യാപനം", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "ആരോഗ്യ രേഖകൾ", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "പൂർണ്ണ രേഖ", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "ഡോക്യുമെന്റുകൾ", + "@titleDocuments": {}, + "titleConsultations": "കൺസൾട്ടേഷനുകൾ", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "മാറ്റിക്കൊണ്ടിരിക്കുകയോ? ഞങ്ങൾക്ക് എന്തുകൊണ്ട് എന്ന് പറയൂ!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "പുതിയ ആരോഗ്യ സംഭാഷണം ആരംഭിക്കുക", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "ഒരു ആശയം പങ്കുവയ്ക്കുക അല്ലെങ്കിൽ ഒരു പ്രശ്നം റിപ്പോർട്ട് ചെയ്യുക", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "ഡോക്ടറിനയെ എങ്ങനെ മെച്ചപ്പെടുത്താമെന്ന് ഞങ്ങൾക്ക് പറയൂ", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_mr.arb b/example/lib/src/l10n/app/app_mr.arb new file mode 100644 index 0000000..69ceb01 --- /dev/null +++ b/example/lib/src/l10n/app/app_mr.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "mr", + "lang": "मराठी", + "@lang": {}, + "langEn": "Marathi", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "आता अपडेट करा", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "कदाचित नंतर", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "नवीन अद्यतन उपलब्ध", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "अपडेट आवश्यक आहे", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "अ‍ॅपची नवीन आवृत्ती (v{version}) उपलब्ध आहे. सर्वोत्तम अनुभवासाठी कृपया अपडेट करा", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "सुरू ठेवण्यासाठी, कृपया अ‍ॅप अपडेट करा. या अद्ययावतमध्ये महत्त्वाच्या दुरुस्ती आणि सुधारणा आहेत.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "डाउनलोड करा", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "जर तुम्हाला आधीच Doctorina खाते असेल तर लॉगिन करा, किंवा सुरू करण्यासाठी साइन अप करा.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "लॉग इन करा", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "साइन अप", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "महमान म्हणून सुरू ठेवा", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "लॉग इन", + "@titleLogin": {}, + "titleLogout": "लॉगआउट", + "@titleLogout": {}, + "titleSignIn": "साइन इन", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "संवाद", + "@titleDialog": {}, + "titleChat": "चॅट", + "@titleChat": {}, + "titleSettings": "खाते सेटिंग्ज", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "चॅट इतिहास", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "पेमेंट", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "सदस्यता व्यवस्थापित करा", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "महिन्याचा सदस्यता", + "@titleMonthlySubscription": {}, + "titleOnboarding": "ऑनबोर्डिंग", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "तुमचं स्वागत आहे", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "आरोग्य नोंदी प्रोफाइल", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "प्रोफाइल्स घोषणा", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "आरोग्य नोंदी", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "पूर्ण रेकॉर्ड", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "कागदपत्रे", + "@titleDocuments": {}, + "titleConsultations": "सल्ला", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "पेवाल", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "काढत आहात? आम्हाला सांगा का!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "नवीन आरोग्य संवाद सुरू करा", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "आयडिया शेअर करा किंवा समस्या रिपोर्ट करा", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "डॉक्टरिना कशी सुधारू शकते ते आम्हाला सांगा", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ms.arb b/example/lib/src/l10n/app/app_ms.arb new file mode 100644 index 0000000..13a2904 --- /dev/null +++ b/example/lib/src/l10n/app/app_ms.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ms", + "lang": "Bahasa Melayu", + "@lang": {}, + "langEn": "Malay", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Kemas Kini Sekarang", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Mungkin Nanti", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Kemas kini baru tersedia", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Kemaskini Diperlukan", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Versi baru (v{version}) aplikasi tersedia. Sila kemas kini untuk pengalaman terbaik.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Untuk meneruskan, sila kemas kini aplikasi. Kemas kini ini termasuk pembetulan dan penambahbaikan penting.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Muat turun", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Log masuk jika anda sudah mempunyai akaun Doctorina, atau daftar untuk memulakan.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Log masuk", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Daftar", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Teruskan sebagai tetamu", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Log Masuk", + "@titleLogin": {}, + "titleLogout": "Log Keluar", + "@titleLogout": {}, + "titleSignIn": "Log Masuk", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialog", + "@titleDialog": {}, + "titleChat": "Sembang", + "@titleChat": {}, + "titleSettings": "Tetapan Akaun", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Sejarah Sembang", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Pembayaran", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Urus langganan", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Langganan Bulanan", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Onboarding", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Selamat datang kembali", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profil rekod kesihatan", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Pengumuman profil", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Rekod Kesihatan", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Rekod penuh", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Dokumen", + "@titleDocuments": {}, + "titleConsultations": "Konsultasi", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Dinding Bayaran", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Menghapus? Beritahu kami mengapa!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Mulakan perbualan kesihatan baharu", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Kongsi idea atau laporkan masalah", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Beritahu kami bagaimana Doctorina boleh diperbaiki", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_my.arb b/example/lib/src/l10n/app/app_my.arb new file mode 100644 index 0000000..4ad1dab --- /dev/null +++ b/example/lib/src/l10n/app/app_my.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "my", + "lang": "အင်္ဂလိပ်", + "@lang": {}, + "langEn": "Burmese", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "ယခုအခါအပ်ဒိတ်လုပ်ပါ", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "နောက်မှ", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "နောက်ထပ်အပ်ဒိတ်ရရှိပါပြီ", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "အပ်ဒိတ် လိုအပ်သည်", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "အက်ပလီကေး၏ အသစ်သော ဗားရှင်း (v{version}) ရှိပါသည်။ အကောင်းဆုံး အတွေ့အကြုံအတွက် အပ်ဒိတ်လုပ်ပါ။", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "ဆက်လက်ရန်၊ အက်ပ်ကို အပ်ဒိတ်လုပ်ပါ။ ဤအပ်ဒိတ်တွင် အရေးကြီးသော ပြုပြင်မှုများနှင့် တိုးတက်မှုများ ပါဝင်သည်။", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ဒေါင်းလုပ်", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "သင်သည် Doctorina အကောင့်ရှိပါက လော့ဂ်အင်ဝင်ပါ၊ သို့မဟုတ် စတင်ရန် စာရင်းသွင်းပါ။", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "လော့ဂ်အင်", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "စာရင်းသွင်းပါ", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "ဧည့်သည်အဖြစ်ဆက်လက်လုပ်ဆောင်ပါ", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "ဝင်ရောက်ပါ", + "@titleLogin": {}, + "titleLogout": "ထွက်ရန်", + "@titleLogout": {}, + "titleSignIn": "ဝင်ရောက်ရန်", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "ဆွေးနွေးချက်", + "@titleDialog": {}, + "titleChat": "ချစ်", + "@titleChat": {}, + "titleSettings": "အကောင့်ဆက်တင်များ", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "ချစ်စရာအကြောင်းအရာများ", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "ငွေပေးချေမှု", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "စာရင်းသွင်းမှုကို စီမံပါ", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "လစဉ်အဖွဲ့ဝင်မှု", + "@titleMonthlySubscription": {}, + "titleOnboarding": "အဆင့်သင်ကြားခြင်း", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "မင်္ဂလာပါ", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "ကျန်းမာရေးမှတ်တမ်းပရိုဖိုင်များ", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "ပရိုဖိုင်းများ ကြေညာချက်", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "ကျန်းမာရေးမှတ်တမ်းများ", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "ပြည့်စုံသောမှတ်တမ်း", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "စာရွက်စာတမ်းများ", + "@titleDocuments": {}, + "titleConsultations": "အကြံဉာဏ်များ", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "ပိတ်ဆို့မှု", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "ဖျက်မလား? အကြောင်းပြောပါ!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "အသစ်သောကျန်းမာရေးဆွေးနွေးမှုကိုစတင်ပါ", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "အကြံပြုချက်တစ်ခုမျှဝေပါ သို့မဟုတ် ပြဿနာတစ်ခုကို အစီရင်ခံပါ", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "ကျွန်ုပ်တို့ကို Doctorina ကိုဘယ်လိုတိုးတက်စေမလဲဆိုတာပြောပြပါ", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ne.arb b/example/lib/src/l10n/app/app_ne.arb new file mode 100644 index 0000000..6f4f6a5 --- /dev/null +++ b/example/lib/src/l10n/app/app_ne.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ne", + "lang": "नेपाली", + "@lang": {}, + "langEn": "Nepali", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "अहिले अपडेट गर्नुहोस्", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "शायद पछि", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "नयाँ अपडेट उपलब्ध छ", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "अद्यावधिक आवश्यक छ", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "नयाँ संस्करण (v{version}) अनुप्रयोगको लागि उपलब्ध छ। कृपया सर्वोत्तम अनुभवको लागि अपडेट गर्नुहोस्।", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "आगे बढ्नको लागि, कृपया एप अपडेट गर्नुहोस्। यस अपडेटमा महत्त्वपूर्ण सुधार र सुधारहरू समावेश छन्।", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "डाउनलोड", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "यदि तपाईंसँग पहिले नै Doctorina खाता छ भने लग इन गर्नुहोस्, वा सुरु गर्न साइन अप गर्नुहोस्।", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "लगइन गर्नुहोस्", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "साइन अप गर्नुहोस्", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "अतिथि रूपमा जारी राख्नुहोस्", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "लगइन गर्नुहोस्", + "@titleLogin": {}, + "titleLogout": "लगआउट", + "@titleLogout": {}, + "titleSignIn": "साइन इन", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "संवाद", + "@titleDialog": {}, + "titleChat": "च्याट", + "@titleChat": {}, + "titleSettings": "खाता सेटिङहरू", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "च्याट इतिहास", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "भुक्तानी", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "सदस्यता व्यवस्थापन", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "महिनावारी सदस्यता", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Onboarding", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "फेरि स्वागत छ", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "स्वास्थ्य अभिलेख प्रोफाइलहरू", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "प्रोफाइलको घोषणा", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "स्वास्थ्य रेकर्ड", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "पूर्ण रेकर्ड", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "कागजात", + "@titleDocuments": {}, + "titleConsultations": "परामर्श", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "भुक्तानी भित्ता", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "हटाउँदै? हामीलाई किन भनेर बताउनुहोस्!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "नयाँ स्वास्थ्य वार्ता सुरु गर्नुहोस्", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "विचार साझा गर्नुहोस् वा समस्या रिपोर्ट गर्नुहोस्", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "हामीलाई बताउनुहोस् कि Doctorina कसरी सुधार गर्न सक्छ", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_nl.arb b/example/lib/src/l10n/app/app_nl.arb new file mode 100644 index 0000000..98ec12e --- /dev/null +++ b/example/lib/src/l10n/app/app_nl.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "nl", + "lang": "Nederlands", + "@lang": {}, + "langEn": "Dutch", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Nu bijwerken", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Misschien later", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Nieuwe update beschikbaar", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Update Vereist", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Een nieuwe versie (v{version}) van de app is beschikbaar. Werk bij om de beste ervaring te behouden.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Om door te gaan, moet u de app bijwerken. Deze update bevat belangrijke fixes en verbeteringen.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Downloaden", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Log in als je al een Doctorina-account hebt, of meld je aan om te beginnen.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Inloggen", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Aanmelden", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Doorgaan als gast", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Inloggen", + "@titleLogin": {}, + "titleLogout": "Uitloggen", + "@titleLogout": {}, + "titleSignIn": "Inloggen", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialoog", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Accountinstellingen", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Chatgeschiedenis", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Betaling", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Abonnement beheren", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Maandabonnement", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Onboarding", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Welkom terug", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profielen van gezondheidsdossiers", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Profielen aankondiging", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Gezondheidsdossiers", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Volledig record", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Documenten", + "@titleDocuments": {}, + "titleConsultations": "Consultaties", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Betaalmuur", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Verwijderen? Vertel ons waarom!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Begin een nieuw gezondheidsgesprek", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Deel een idee of meld een probleem", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Vertel ons hoe Doctorina kan verbeteren", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_pa.arb b/example/lib/src/l10n/app/app_pa.arb new file mode 100644 index 0000000..e6f78de --- /dev/null +++ b/example/lib/src/l10n/app/app_pa.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "pa", + "lang": "ਪੰਜਾਬੀ", + "@lang": {}, + "langEn": "Punjabi", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "ਹੁਣ ਅੱਪਡੇਟ ਕਰੋ", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "ਸ਼ਾਇਦ ਬਾਅਦ ਵਿੱਚ", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "ਨਵਾਂ ਅੱਪਡੇਟ ਉਪਲਬਧ ਹੈ", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "ਅਪਡੇਟ ਦੀ ਲੋੜ ਹੈ", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "ਇੱਕ ਨਵਾਂ ਸੰਸਕਰਣ (v{version}) ਉਪਲਬਧ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਅੱਪਡੇਟ ਕਰੋ ਤਾਂ ਜੋ ਸਭ ਤੋਂ ਵਧੀਆ ਅਨੁਭਵ ਲਈ ਜਾਰੀ ਰੱਖ ਸਕੀਏ.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "ਜਾਰੀ ਰੱਖਣ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਐਪ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ। ਇਸ ਅੱਪਡੇਟ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਠੀਕ ਕਰਨਾ ਅਤੇ ਸੁਧਾਰ ਸ਼ਾਮਲ ਹਨ.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ਡਾਊਨਲੋਡ", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਤੋਂ ਡਾਕਟਰਿਨਾ ਖਾਤਾ ਹੈ ਤਾਂ ਲੌਗ ਇਨ ਕਰੋ, ਜਾਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "ਲੌਗ ਇਨ", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "ਸਾਈਨ ਅਪ ਕਰੋ", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "ਗੈਸਟ ਵਜੋਂ ਜਾਰੀ ਰੱਖੋ", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "ਲੌਗ ਇਨ", + "@titleLogin": {}, + "titleLogout": "ਲੌਗ ਆਉਟ", + "@titleLogout": {}, + "titleSignIn": "ਸਾਈਨ ਇਨ", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "ਗੱਲਬਾਤ", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "ਖਾਤਾ ਸੈਟਿੰਗਸ", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "ਚੈਟ ਇਤਿਹਾਸ", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "ਭੁਗਤਾਨ", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਪ੍ਰਬੰਧਿਤ ਕਰੋ", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "ਮਾਸਿਕ ਸਬਸਕ੍ਰਿਪਸ਼ਨ", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Onboarding", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "ਵਾਪਸ ਆਉਣ 'ਤੇ ਸੁਆਗਤ ਹੈ", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "ਸਿਹਤ ਰਿਕਾਰਡ ਪ੍ਰੋਫ਼ਾਈਲਾਂ", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "ਪ੍ਰੋਫਾਈਲਾਂ ਦਾ ਐਲਾਨ", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "ਸਿਹਤ ਰਿਕਾਰਡ", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "ਪੂਰਾ ਰਿਕਾਰਡ", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "ਦਸਤਾਵੇਜ਼", + "@titleDocuments": {}, + "titleConsultations": "ਸਲਾਹ-ਮਸ਼ਵਰਾ", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "ਹਟਾਉਂਦੇ? ਸਾਨੂੰ ਦੱਸੋ ਕਿ ਕਿਉਂ!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "ਨਵਾਂ ਸਿਹਤ ਗੱਲਬਾਤ ਸ਼ੁਰੂ ਕਰੋ", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "ਇੱਕ ਵਿਚਾਰ ਸਾਂਝਾ ਕਰੋ ਜਾਂ ਸਮੱਸਿਆ ਦੀ ਰਿਪੋਰਟ ਕਰੋ", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "ਸਾਨੂੰ ਦੱਸੋ ਕਿ ਡਾਕਟਰਿਨਾ ਕਿਵੇਂ ਸੁਧਾਰ ਸਕਦੀ ਹੈ", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_pa_PK.arb b/example/lib/src/l10n/app/app_pa_PK.arb new file mode 100644 index 0000000..b959cdc --- /dev/null +++ b/example/lib/src/l10n/app/app_pa_PK.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "pa_PK", + "lang": "#VALUE!", + "@lang": {}, + "langEn": "Western Punjabi", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "ہن اپ ڈیٹ کرو", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "شاید بعد میں", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "نواں اپڈیٹ دستیاب ہے", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "اپ ڈیٹ ضروری", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "ایپ کا نیا ورژن (v{version}) دستیاب ہے. بہترین تجربے کے لیے براہِ کرم اپ ڈیٹ کریں", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "جاری رکھنے کے لیے، براہ مہربانی ایپ کو اپ ڈیٹ کریں۔ اس اپ ڈیٹ میں اہم اصلاحات اور بہتریاں شامل ہیں۔", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ڈاؤنلوڈ", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "اگر آپ کے پاس پہلے سے Doctorina اکاؤنٹ ہے تو لاگ ان کریں، یا شروع کرنے کے لیے سائن اپ کریں.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "لاگ ان کریں", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "سائن اپ", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "مہمان دے طور تے جاری رکھو", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "لاگ ان", + "@titleLogin": {}, + "titleLogout": "لاگ آؤٹ", + "@titleLogout": {}, + "titleSignIn": "سائن ان", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "گفتگو", + "@titleDialog": {}, + "titleChat": "چیٹ", + "@titleChat": {}, + "titleSettings": "اکاؤنٹ کی ترتیبات", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "چیٹ کی تاریخ", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "ادائیگی", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "سبسکرپشن کا انتظام کریں", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "ماہانہ رکنیت", + "@titleMonthlySubscription": {}, + "titleOnboarding": "آن بورڈنگ", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "خوش آمدید", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "صحت ریکارڈ پروفائلز", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "پروفائلز کا اعلان", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "صحت کے ریکارڈ", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "مکمل ریکارڈ", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "دستاویزات", + "@titleDocuments": {}, + "titleConsultations": "مشاورتیں", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "پے وال", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "ਹਟਾਉਣੇ? ਸਾਨੂੰ ਦੱਸੋ ਕਿਉਂ!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "نئی صحت کی گفتگو شروع کریں", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "ایک خیال شیئر کریں یا مسئلہ رپورٹ کریں", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "ڈاکٹرینا کو بہتر بنانے کے لیے ہمیں بتائیں", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_pl.arb b/example/lib/src/l10n/app/app_pl.arb new file mode 100644 index 0000000..de28075 --- /dev/null +++ b/example/lib/src/l10n/app/app_pl.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "pl", + "lang": "Polski", + "@lang": {}, + "langEn": "Polish", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Zaktualizuj teraz", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Może później", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Nowa aktualizacja dostępna", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Wymagana aktualizacja", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Dostępna jest nowa wersja (v{version}) aplikacji. Proszę zaktualizować, aby kontynuować korzystanie z najlepszych doświadczeń.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Aby kontynuować, zaktualizuj aplikację. Ta aktualizacja zawiera ważne poprawki i ulepszenia.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Pobierz", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Zaloguj się, jeśli masz już konto Doctorina, lub zarejestruj się, aby zacząć.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Zaloguj się", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Zarejestruj się", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Kontynuuj jako gość", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Zaloguj się", + "@titleLogin": {}, + "titleLogout": "Wyloguj się", + "@titleLogout": {}, + "titleSignIn": "Zaloguj się", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialog", + "@titleDialog": {}, + "titleChat": "Czat", + "@titleChat": {}, + "titleSettings": "Ustawienia konta", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Historia czatów", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Płatność", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Zarządzaj subskrypcją", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Miesięczna subskrypcja", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Wprowadzenie", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Witaj z powrotem", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profile dokumentacji medycznej", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Ogłoszenie profili", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Rekordy zdrowia", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Pełny rekord", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Dokumenty", + "@titleDocuments": {}, + "titleConsultations": "Konsultacje", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Usuwasz? Powiedz nam dlaczego!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Rozpocznij nową rozmowę zdrowotną", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Podziel się pomysłem lub zgłoś problem", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Powiedz nam, jak Doctorina może się poprawić", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ps.arb b/example/lib/src/l10n/app/app_ps.arb new file mode 100644 index 0000000..ef34434 --- /dev/null +++ b/example/lib/src/l10n/app/app_ps.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ps", + "lang": "پښتو", + "@lang": {}, + "langEn": "Pashto", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Update Now", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "شاید بعداً", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "نوې تازه معلومات شتون لري", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Update Required", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "یو نوې نسخه (v{version}) د اپلیکیشن شتون لري. مهرباني وکړئ د غوره تجربې لپاره تازه کړئ.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "د دوام لپاره، مهرباني وکړئ اپلیکیشن تازه کړئ. دا تازه معلومات مهمې اصلاحات او پرمختګونه لري.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ډاونلوډ", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "د Doctorina حساب لرئ نو لاگ ان شئ، یا د پیل لپاره ثبت نام وکړئ.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "ننوتل", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "ثبت نام", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "د مېلمه په توګه دوام ورکړئ", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "ننوتل", + "@titleLogin": {}, + "titleLogout": "بیرته وتل", + "@titleLogout": {}, + "titleSignIn": "ننوتل", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "مکالمه", + "@titleDialog": {}, + "titleChat": "چت", + "@titleChat": {}, + "titleSettings": "د حساب ترتیبات", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "د خبرو تاریخ", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "د پیسو", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "د ګډون مدیریت", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "میاشتنی ګډون", + "@titleMonthlySubscription": {}, + "titleOnboarding": "د روزنې", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "خوش آمدید دوباره", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "د روغتیا ریکارډونو پروفایلونه", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "د پروفایلونو اعلان", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "د روغتیا ریکارډونه", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "مکمل ریکارډ", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "اسناد", + "@titleDocuments": {}, + "titleConsultations": "مشورې", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "د پیسو دیوال", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "لرې کول؟ موږ ته ووایاست چې ولې!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "نوې روغتیایي خبرې پیل کړئ", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "یو نظر شریک کړئ یا یوه ستونزه راپور کړئ", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "موږ ته ووایاست چې Doctorina څنګه ښه کیدی شي", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_pt.arb b/example/lib/src/l10n/app/app_pt.arb new file mode 100644 index 0000000..d2aceef --- /dev/null +++ b/example/lib/src/l10n/app/app_pt.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "pt", + "lang": "Português", + "@lang": {}, + "langEn": "Portuguese", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Atualizar agora", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Talvez mais tarde", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Nova atualização disponível", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Atualização necessária", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Uma nova versão (v{version}) do aplicativo está disponível. Atualize para continuar e ter a melhor experiência.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Para continuar, atualize o aplicativo. Esta atualização inclui correções importantes e melhorias.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Baixar", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Faça login se você já tiver uma conta Doctorina, ou inscreva-se para começar.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Entrar", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Inscrever-se", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Continuar como convidado", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Entrar", + "@titleLogin": {}, + "titleLogout": "Sair", + "@titleLogout": {}, + "titleSignIn": "Entrar", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Diálogo", + "@titleDialog": {}, + "titleChat": "Bate-papo", + "@titleChat": {}, + "titleSettings": "Configurações da conta", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Histórico de Chats", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Pagamento", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Gerenciar assinatura", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Assinatura Mensal", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Integração", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Bem-vindo de volta", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Perfis de registros de saúde", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Anúncio de perfis", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Registros de Saúde", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Registro completo", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Documentos", + "@titleDocuments": {}, + "titleConsultations": "Consultas", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Deletando? Diga-nos o motivo!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Iniciar uma nova conversa sobre saúde", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Compartilhe uma ideia ou relate um problema", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Diga-nos como a Doctorina pode melhorar", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_pt_BR.arb b/example/lib/src/l10n/app/app_pt_BR.arb new file mode 100644 index 0000000..8fb694c --- /dev/null +++ b/example/lib/src/l10n/app/app_pt_BR.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "pt_BR", + "lang": "Português", + "@lang": {}, + "langEn": "Portuguese", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Atualizar agora", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Talvez mais tarde", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Nova atualização disponível", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Atualização necessária", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Uma nova versão (v{version}) do aplicativo está disponível. Atualize para continuar e ter a melhor experiência.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Para continuar, atualize o aplicativo. Esta atualização inclui correções importantes e melhorias.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Baixar", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Faça login se você já tiver uma conta Doctorina, ou inscreva-se para começar.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Entrar", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Inscrever-se", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Continuar como convidado", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Entrar", + "@titleLogin": {}, + "titleLogout": "Sair", + "@titleLogout": {}, + "titleSignIn": "Entrar", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Diálogo", + "@titleDialog": {}, + "titleChat": "Bate-papo", + "@titleChat": {}, + "titleSettings": "Configurações da conta", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Histórico de Chats", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Pagamento", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Gerenciar assinatura", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Assinatura Mensal", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Integração", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Bem-vindo de volta", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Perfis de registros de saúde", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Anúncio de perfis", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Registros de Saúde", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Registro completo", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Documentos", + "@titleDocuments": {}, + "titleConsultations": "Consultas", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Deletando? Diga-nos o motivo!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Iniciar uma nova conversa sobre saúde", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Compartilhe uma ideia ou relate um problema", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Diga-nos como a Doctorina pode melhorar", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ro.arb b/example/lib/src/l10n/app/app_ro.arb new file mode 100644 index 0000000..c61db23 --- /dev/null +++ b/example/lib/src/l10n/app/app_ro.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ro", + "lang": "Română", + "@lang": {}, + "langEn": "Romanian", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Actualizează acum", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Poate mai târziu", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Actualizare nouă disponibilă", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Actualizare necesară", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "O nouă versiune (v{version}) a aplicației este disponibilă. Vă rugăm să actualizați pentru a continua cu cea mai bună experiență.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Pentru a continua, vă rugăm să actualizați aplicația. Această actualizare include corecții și îmbunătățiri importante.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Descarcă", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Conectează-te dacă ai deja un cont Doctorina sau înscrie-te pentru a începe.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Conectare", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Înscriere", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Continuă ca oaspete", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Conectare", + "@titleLogin": {}, + "titleLogout": "Deconectare", + "@titleLogout": {}, + "titleSignIn": "Autentificare", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialog", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Setări cont", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Istoricul chat-urilor", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Plată", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Gestionați abonamentul", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Abonament lunar", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Introducere", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Bine ai revenit", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profiluri ale dosarelor medicale", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Anunț despre profile", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Dosare medicale", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Înregistrare completă", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Documente", + "@titleDocuments": {}, + "titleConsultations": "Consultări", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Ștergeți? Spuneți-ne de ce!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Începe o nouă conversație despre sănătate", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Împărtășește o idee sau raportează o problemă", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Spune-ne cum poate Doctorina să se îmbunătățească", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ru.arb b/example/lib/src/l10n/app/app_ru.arb new file mode 100644 index 0000000..ce8bee6 --- /dev/null +++ b/example/lib/src/l10n/app/app_ru.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ru", + "lang": "Русский", + "@lang": {}, + "langEn": "Russian", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Обновить сейчас", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Позже", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Доступно новое обновление", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Требуется обновление", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Доступна новая версия (v{version}) приложения. Пожалуйста, обновитесь, чтобы продолжить для наилучшего опыта.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Чтобы продолжить, обновите приложение. Это обновление включает важные исправления и улучшения.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Скачать", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Войдите, если у вас уже есть аккаунт Doctorina, или зарегистрируйтесь, чтобы начать.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Войти", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Зарегистрироваться", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Продолжить как гость", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Войти", + "@titleLogin": {}, + "titleLogout": "Выйти", + "@titleLogout": {}, + "titleSignIn": "Войти", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Диалог", + "@titleDialog": {}, + "titleChat": "Чат", + "@titleChat": {}, + "titleSettings": "Настройки аккаунта", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "История чатов", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Оплата", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Управление подпиской", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Ежемесячная подписка", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Онбординг", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "С возвращением", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Профили медицинских записей", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Объявление о профилях", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Медицинские записи", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Полная запись", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Документы", + "@titleDocuments": {}, + "titleConsultations": "Консультации", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Платный доступ", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Удаляете? Скажите нам, почему!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Начать новую консультацию", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Поделитесь идеей или сообщите о проблеме", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Скажите нам, как Doctorina может улучшиться", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_si.arb b/example/lib/src/l10n/app/app_si.arb new file mode 100644 index 0000000..c4a15cd --- /dev/null +++ b/example/lib/src/l10n/app/app_si.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "si", + "lang": "සිංහල", + "@lang": {}, + "langEn": "Sinhala", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "අදහස් යාවත්කාලීන කරන්න", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "පසුව", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "නව යාවත්කාලීන කිරීමක් ලබා ගත හැක", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "අලුත් කිරීම අවශ්‍යයි", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "අලුත්ම අනුවාදයක් (v{version}) යෙදුම සඳහා ලබා ගත හැක. හොඳම අත්දැකීම සඳහා යාවත්කාලීන කරන්න.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "ඉදිරියට යාමට, කරුණාකර යෙදුම යාවත්කාලීන කරන්න. මෙම යාවත්කාලීන කිරීමේදී වැදගත් අලුත්කම් සහ සංශෝධන ඇතුළත් වේ.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "බාගත කරන්න", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Prijavite se ako već imate Doctorina račun, ili se registrujte da biste započeli.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Prijavite se", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Prijavite se", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "අමුත්තා ලෙස ඉදිරියට යන්න", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "ඇතුල් වන්න", + "@titleLogin": {}, + "titleLogout": "ඉවත් වන්න", + "@titleLogout": {}, + "titleSignIn": "ඇතුල්වන්න", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "සංවාදය", + "@titleDialog": {}, + "titleChat": "චැට්", + "@titleChat": {}, + "titleSettings": "ගිණුම් සැකසුම්", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "චැට් ඉතිහාසය", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "ගෙවීම්", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "අභිජනන කළමනාකරණය", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "මාසික සාමාජිකත්වය", + "@titleMonthlySubscription": {}, + "titleOnboarding": "ආරම්භය", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Dobrodošli nazad", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "සෞඛ්‍ය වාර්තා පැතිකඩ", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "ප්‍රොෆයිල් නිවේදනය", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "සෞඛ්‍ය වාර්තා", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "සම්පූර්ණ වාර්තාව", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "เอกสาร", + "@titleDocuments": {}, + "titleConsultations": "සම්මුඛ සාකච්ඡා", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "මකන්නද? අපට කීයක් කියන්න!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "අලුත් සෞඛ්‍ය සංවාදයක් ආරම්භ කරන්න", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "කාරණයක් හෝ ගැටලුවක් වාර්තා කරන්න", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "ඩොක්ටර්නා යහපත් කරගැනීමට අපට කෙසේද කියන්න", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_sk.arb b/example/lib/src/l10n/app/app_sk.arb new file mode 100644 index 0000000..898a22e --- /dev/null +++ b/example/lib/src/l10n/app/app_sk.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "sk", + "lang": "Slovák", + "@lang": {}, + "langEn": "Slovak", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Aktualizovať teraz", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Možno neskôr", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Nová aktualizácia je k dispozícii", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Vyžaduje sa aktualizácia", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Nová verzia (v{version}) aplikácie je k dispozícii. Prosím, aktualizujte sa, aby ste mohli pokračovať s najlepším zážitkom.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Aby ste mohli pokračovať, aktualizujte prosím aplikáciu. Táto aktualizácia obsahuje dôležité opravy a vylepšenia.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Stiahnuť", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Prihláste sa, ak už máte účet Doctorina, alebo sa zaregistrujte, aby ste mohli začať.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Prihlásiť sa", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Zaregistrovať sa", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Pokračovať ako hosť", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Prihlásiť sa", + "@titleLogin": {}, + "titleLogout": "Odhlásiť sa", + "@titleLogout": {}, + "titleSignIn": "Prihlásiť sa", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialóg", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Nastavenia účtu", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "História chatov", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Platba", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Spravovať predplatné", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Mesačné predplatné", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Úvod", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Vitajte späť", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Profily zdravotných záznamov", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Oznámenie profilov", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Zdravotné záznamy", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Úplný záznam", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Dokumenty", + "@titleDocuments": {}, + "titleConsultations": "Konzultácie", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Odstraňujete? Povedzte nám prečo!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Začnite novú zdravotnú konverzáciu", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Zdieľajte nápad alebo nahláste problém", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Povedzte nám, ako môže Doctorina zlepšiť", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_sw.arb b/example/lib/src/l10n/app/app_sw.arb new file mode 100644 index 0000000..5bc52f1 --- /dev/null +++ b/example/lib/src/l10n/app/app_sw.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "sw", + "lang": "Kiswahili", + "@lang": {}, + "langEn": "Swahili", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Sasisha sasa", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Labda baadaye", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Sasisho jipya linapatikana", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Sasisho Linahitajika", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Toleo jipya (v{version}) la programu linapatikana. Tafadhali sasisha ili kuendelea kupata uzoefu bora", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Kuendelea, tafadhali sasisha programu. Sasisho hili linajumuisha maboresho na marekebisho muhimu.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Pakua", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Log in ikiwa una akaunti ya Doctorina, au jiandikishe ili kuanza.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Ingia", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Jisajili", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Endelea kama mgeni", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Ingia", + "@titleLogin": {}, + "titleLogout": "Toka", + "@titleLogout": {}, + "titleSignIn": "Ingia", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Mazungumzo", + "@titleDialog": {}, + "titleChat": "Mazungumzo", + "@titleChat": {}, + "titleSettings": "Mipangilio ya Akaunti", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Historia ya mazungumzo", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Malipo", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Simamia usajili", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Usajili wa Kila Mwezi", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Kuanzisha", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Karibu tena", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Wasifu za rekodi za afya", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Tangazo la Profaili", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Rekodi za Afya", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Rekodi kamili", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Nyaraka", + "@titleDocuments": {}, + "titleConsultations": "Mikutano", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Malipo", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Unataka kufuta? Tuambie kwa nini!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Anza mazungumzo mapya ya afya", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Shiriki wazo au ripoti tatizo", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Tuambie jinsi Doctorina inaweza kuboresha", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ta.arb b/example/lib/src/l10n/app/app_ta.arb new file mode 100644 index 0000000..9b0b96f --- /dev/null +++ b/example/lib/src/l10n/app/app_ta.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ta", + "lang": "நாகர்", + "@lang": {}, + "langEn": "Tamil", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "இப்போது புதுப்பிக்கவும்", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "இன்னும் பிறகு", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "புதுப்பிப்பு கிடைக்கிறது", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "புதுப்பிப்பு தேவை", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "புதிய பதிப்பு (v{version}) செயலியில் கிடைக்கிறது. சிறந்த அனுபவத்திற்காக தயவுசெய்து புதுப்பிக்கவும்", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "தொடர, தயவுசெய்து செயலியை புதுப்பிக்கவும். இந்த புதுப்பிப்பு முக்கியமான திருத்தங்கள் மற்றும் மேம்படுத்தல்களை உள்ளடக்கியது.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "பதிவிறக்கு", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "நீங்கள் ஏற்கனவே Doctorina கணக்கு வைத்திருந்தால் உள்நுழைக, இல்லையெனில் தொடங்க பதிவு செய்யவும்.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "உள்நுழைய", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "பதிவு செய்யவும்", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "விருந்தினராக தொடர", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "உள்நுழைய", + "@titleLogin": {}, + "titleLogout": "வெளியேறு", + "@titleLogout": {}, + "titleSignIn": "உள்நுழைய", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "உரையாடல்", + "@titleDialog": {}, + "titleChat": "உரையாடல்", + "@titleChat": {}, + "titleSettings": "கணக்கு அமைப்புகள்", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "சேதவியல் வரலாறு", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "கட்டணம்", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "சந்தாவை நிர்வகிக்க", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "மாதாந்திர சந்தா", + "@titleMonthlySubscription": {}, + "titleOnboarding": "தொடக்கம்", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "மீண்டும் வரவேற்கிறேன்", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "சுகாதார பதிவுகள் சுயவிவரங்கள்", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "சுயவிவரங்கள் அறிவிப்பு", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "ஆரோக்கிய பதிவுகள்", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "முழு பதிவுகள்", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "ஆவணங்கள்", + "@titleDocuments": {}, + "titleConsultations": "கூட்டங்கள்", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "பணம் செலுத்துதல்", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "நீக்குகிறீர்களா? எதற்காக என்பதை எங்களுக்கு சொல்லுங்கள்!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "புதிய சுகாதார உரையாடலை தொடங்கு", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "ஒரு யோசனையைப் பகிரவும் அல்லது ஒரு பிரச்சினையைப் புகாரளிக்கவும்", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Doctorina எவ்வாறு மேம்படுத்தலாம் என்பதை எங்களுக்கு சொல்லுங்கள்", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_te.arb b/example/lib/src/l10n/app/app_te.arb new file mode 100644 index 0000000..c6b5731 --- /dev/null +++ b/example/lib/src/l10n/app/app_te.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "te", + "lang": "తెలుగు", + "@lang": {}, + "langEn": "Telugu", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "ఇప్పుడు అప్‌డేట్ చేయండి", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "తర్వాత", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "కొత్త నవీకరణ అందుబాటులో ఉంది", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "అప్‌డేట్ అవసరం", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "కొత్త వెర్షన్ (v{version}) ఆప్ అందుబాటులో ఉంది. ఉత్తమ అనుభవం కోసం దయచేసి నవీకరించండి", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "కొనసాగాలంటే, దయచేసి యాప్‌ను అప్‌డేట్ చేయండి. ఈ అప్‌డేట్ కీలకమైన సవరణలు మరియు మెరుగుదలలను కలిగి ఉంది.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "డౌన్లోడ్", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "మీకు ఇప్పటికే Doctorina ఖాతా ఉంటే లాగిన్ అవ్వండి, లేదా ప్రారంభించడానికి సైన్ అప్ చేయండి.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "లాగిన్", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "సైన్ అప్", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "అతిథిగా కొనసాగించండి", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "లాగిన్", + "@titleLogin": {}, + "titleLogout": "లాగ్ అవుట్", + "@titleLogout": {}, + "titleSignIn": "సైన్ ఇన్", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "సంభాషణ", + "@titleDialog": {}, + "titleChat": "చాట్", + "@titleChat": {}, + "titleSettings": "ఖాతా సెట్టింగ్స్", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "చాట్ చరిత్ర", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "చెల్లింపు", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "సబ్‌స్క్రిప్షన్ నిర్వహించండి", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "మాసిక సభ్యత్వం", + "@titleMonthlySubscription": {}, + "titleOnboarding": "ఆన్‌బోర్డింగ్", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "మళ్లీ స్వాగతం", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "ఆరోగ్య రికార్డుల ప్రొఫైల్స్", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "ప్రొఫైల్స్ ప్రకటన", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "ఆరోగ్య రికార్డులు", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "పూర్తి రికార్డు", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "పత్రాలు", + "@titleDocuments": {}, + "titleConsultations": "సలహాలు", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "పే వాల్", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "తొలగిస్తున్నారా? మాకు చెప్పండి ఎందుకు!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "కొత్త ఆరోగ్య చర్చ ప్రారంభించండి", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "ఒక ఆలోచనను పంచుకోండి లేదా సమస్యను నివేదించండి", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "డాక్టర్‌నా మెరుగుపరచడానికి మాకు చెప్పండి", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_th.arb b/example/lib/src/l10n/app/app_th.arb new file mode 100644 index 0000000..0166b2b --- /dev/null +++ b/example/lib/src/l10n/app/app_th.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "th", + "lang": "แบบไทย", + "@lang": {}, + "langEn": "Thai", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "อัปเดตตอนนี้", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "บางทีทีหลัง", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "อัปเดตใหม่พร้อมใช้งาน", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "อัปเดตจำเป็น", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "เวอร์ชันใหม่ (v{version}) ของแอปมีให้ใช้แล้ว. กรุณาอัปเดตเพื่อดำเนินการต่อเพื่อประสบการณ์ที่ดีที่สุด", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "เพื่อดำเนินการต่อ, โปรดอัปเดตแอปฯ. การอัปเดตนี้รวมถึงการแก้ไขข้อผิดพลาดและปรับปรุงที่สำคัญ.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ดาวน์โหลด", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "เข้าสู่ระบบหากคุณมีบัญชี Doctorina อยู่แล้ว หรือสมัครสมาชิกเพื่อเริ่มต้น", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "เข้าสู่ระบบ", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "ลงทะเบียน", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "ทำต่อในฐานะแขก", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "เข้าสู่ระบบ", + "@titleLogin": {}, + "titleLogout": "ออกจากระบบ", + "@titleLogout": {}, + "titleSignIn": "ลงชื่อเข้าใช้", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "การสนทนา", + "@titleDialog": {}, + "titleChat": "แชท", + "@titleChat": {}, + "titleSettings": "การตั้งค่าบัญชี", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "ประวัติการสนทนา", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "การชำระเงิน", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "จัดการการสมัครสมาชิก", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "การสมัครสมาชิกแบบรายเดือน", + "@titleMonthlySubscription": {}, + "titleOnboarding": "การเริ่มต้น", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "ยินดีต้อนรับกลับ", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "โปรไฟล์บันทึกสุขภาพ", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "ประกาศโปรไฟล์", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "บันทึกสุขภาพ", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "บันทึกทั้งหมด", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "เอกสาร", + "@titleDocuments": {}, + "titleConsultations": "การปรึกษา", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "เพย์วอลล์", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "กำลังลบอยู่ใช่ไหม? บอกเราหน่อยว่าทำไม!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "เริ่มการสนทนาเกี่ยวกับสุขภาพใหม่", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "แชร์ไอเดียหรือรายงานปัญหา", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "บอกเราว่า Doctorina จะปรับปรุงได้อย่างไร", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_tl.arb b/example/lib/src/l10n/app/app_tl.arb new file mode 100644 index 0000000..9c1d142 --- /dev/null +++ b/example/lib/src/l10n/app/app_tl.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "tl", + "lang": "Tagalog", + "@lang": {}, + "langEn": "Tagalog", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "I-update Ngayon", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Baka Muna", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Bagong update na available", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Kailangan ng Update", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Isang bagong bersyon (v{version}) ng app ang available. Mangyaring i-update upang magpatuloy para sa pinakamahusay na karanasan.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Upang magpatuloy, mangyaring i-update ang app. Ang update na ito ay may kasamang mahahalagang pag-aayos at pagpapabuti.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "I-download", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Mag-log in kung mayroon ka nang Doctorina account, o mag-sign up upang makapagsimula.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Mag-log in", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Mag-sign up", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Magpatuloy bilang panauhin", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Mag-log In", + "@titleLogin": {}, + "titleLogout": "Mag-Log Out", + "@titleLogout": {}, + "titleSignIn": "Mag-sign In", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Dialog", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Mga Setting ng Account", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Kasaysayan ng Chat", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Bayad", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Pamahalaan ang subscription", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Buwanang Subscription", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Onboarding", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Maligayang pagbabalik", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Mga profile ng rekord ng kalusugan", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Anunsyo ng mga profile", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Mga Rekord ng Kalusugan", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Buong rekord", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Mga Dokumento", + "@titleDocuments": {}, + "titleConsultations": "Mga Konsultasyon", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Nagtatanggal? Sabihin sa amin kung bakit!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Magsimula ng bagong pag-uusap tungkol sa kalusugan", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Magbahagi ng ideya o iulat ang isang problema", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Sabihin sa amin kung paano pa mapapabuti ang Doctorina", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_tr.arb b/example/lib/src/l10n/app/app_tr.arb new file mode 100644 index 0000000..3d7cee0 --- /dev/null +++ b/example/lib/src/l10n/app/app_tr.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "tr", + "lang": "Türkçe", + "@lang": {}, + "langEn": "Turkish", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Şimdi Güncelle", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Belki Sonra", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Yeni güncelleme mevcut", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Güncelleme Gerekli", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Uygulamanın yeni bir sürümü (v{version}) mevcut. En iyi deneyim için lütfen güncelleyin", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Devam etmek için, lütfen uygulamayı güncelleyin. Bu güncelleme önemli düzeltmeler ve iyileştirmeler içeriyor.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "İndir", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Zaten bir Doctorina hesabınız varsa giriş yapın veya başlamak için kaydolun.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Giriş yap", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Kaydol", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Misafir olarak devam et", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Giriş Yap", + "@titleLogin": {}, + "titleLogout": "Çıkış Yap", + "@titleLogout": {}, + "titleSignIn": "Giriş Yap", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Diyalog", + "@titleDialog": {}, + "titleChat": "Sohbet", + "@titleChat": {}, + "titleSettings": "Hesap Ayarları", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Sohbet Geçmişi", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Ödeme", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Aboneliği yönet", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Aylık Abonelik", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Eğitim", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Hoş geldiniz", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Sağlık kayıtları profilleri", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Profiller duyurusu", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Sağlık Kayıtları", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Tam kayıt", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Belgeler", + "@titleDocuments": {}, + "titleConsultations": "Danışmanlıklar", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Ödeme Duvarı", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Silmek mi? Nedenini bize söyle!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Yeni bir sağlık sohbeti başlat", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Bir fikir paylaşın veya bir sorun bildirin", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Doctorina'nın nasıl gelişebileceğini bize söyleyin", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_uk.arb b/example/lib/src/l10n/app/app_uk.arb new file mode 100644 index 0000000..a23ce1a --- /dev/null +++ b/example/lib/src/l10n/app/app_uk.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "uk", + "lang": "українська", + "@lang": {}, + "langEn": "Ukrainian", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Оновити зараз", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Можливо пізніше", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Новий оновлення доступне", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Оновлення необхідне", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Доступна нова версія (v{version}) додатку. Будь ласка, оновіть, щоб продовжити та отримати найкращий досвід.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Щоб продовжити, будь ласка, оновіть додаток. Це оновлення містить важливі виправлення та покращення.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Завантажити", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Увійдіть, якщо у вас вже є обліковий запис Doctorina, або зареєструйтесь, щоб почати.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Увійти", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Зареєструватися", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Продовжити як гість", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Увійти", + "@titleLogin": {}, + "titleLogout": "Вийти", + "@titleLogout": {}, + "titleSignIn": "Увійти", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Діалог", + "@titleDialog": {}, + "titleChat": "Чат", + "@titleChat": {}, + "titleSettings": "Налаштування акаунта", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Історія чатів", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Оплата", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Керувати підпискою", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Щомісячна підписка", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Онбординг", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "З поверненням", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Профілі медичних записів", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Оголошення профілів", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Медичні записи", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Повний запис", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Документи", + "@titleDocuments": {}, + "titleConsultations": "Консультації", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Платний доступ", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Видаляєте? Скажіть нам чому!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Почати нову розмову про здоров'я", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Поділіться ідеєю або повідомте про проблему", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Скажіть нам, як Doctorina може покращитися", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_ur.arb b/example/lib/src/l10n/app/app_ur.arb new file mode 100644 index 0000000..e91402f --- /dev/null +++ b/example/lib/src/l10n/app/app_ur.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "ur", + "lang": "اردو", + "@lang": {}, + "langEn": "Urdu", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "ابھی اپ ڈیٹ کریں", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "شاید بعد میں", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "نیا اپ ڈیٹ دستیاب ہے", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "اپ ڈیٹ ضروری ہے", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "ایپ کا نیا ورژن (v{version}) دستیاب ہے. بہترین تجربے کے لیے براہ کرم اپ ڈیٹ کریں.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "جاری رکھنے کے لیے، براہ کرم ایپ کو اپ ڈیٹ کریں. اس اپ ڈیٹ میں اہم اصلاحات اور بہتریاں شامل ہیں.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "ڈاؤنلوڈ", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "اگر آپ کے پاس پہلے سے Doctorina اکاؤنٹ ہے تو لاگ ان کریں، یا شروع کرنے کے لیے سائن اپ کریں۔", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "لاگ ان کریں", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "سائن اپ کریں", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "مہمان کے طور پر جاری رکھیں", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "لاگ ان", + "@titleLogin": {}, + "titleLogout": "لاگ آؤٹ", + "@titleLogout": {}, + "titleSignIn": "سائن ان", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "ڈائیلاگ", + "@titleDialog": {}, + "titleChat": "چیٹ", + "@titleChat": {}, + "titleSettings": "اکاؤنٹ کی ترتیبات", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "چیٹ کی تاریخ", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "ادائیگی", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "سبسکرپشن کا انتظام کریں", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "ماہانہ سبسکرپشن", + "@titleMonthlySubscription": {}, + "titleOnboarding": "آن بورڈنگ", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "خوش آمدید", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "صحت کے ریکارڈ کے پروفائلز", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "پروفائل کا اعلان", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "صحت کے ریکارڈ", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "مکمل ریکارڈ", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "دستاویزات", + "@titleDocuments": {}, + "titleConsultations": "مشاورت", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "حذف کر رہے ہیں؟ ہمیں بتائیں کیوں!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "ایک نئی صحت کی گفتگو شروع کریں", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "ایک خیال شیئر کریں یا مسئلہ رپورٹ کریں", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "ہمیں بتائیں کہ ڈاکٹرینا کو کیسے بہتر بنایا جا سکتا ہے", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_uz.arb b/example/lib/src/l10n/app/app_uz.arb new file mode 100644 index 0000000..886303c --- /dev/null +++ b/example/lib/src/l10n/app/app_uz.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "uz", + "lang": "O'zbekcha", + "@lang": {}, + "langEn": "Uzbek", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Hozir yangilang", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Balki keyinroq", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Yangi yangilanish mavjud", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Yangilanish talab qilinadi", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Yangi versiya (v{version}) ilovada mavjud. Eng yaxshi tajriba uchun yangilang.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Davom etish uchun, ilovani yangilashingizni iltimos qilamiz. Ushbu yangilanish muhim tuzatishlar va yaxshilanishlarni o'z ichiga oladi.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Yuklab olish", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Agar sizda Doctorina hisobingiz bo'lsa, kiring yoki boshlash uchun ro'yxatdan o'ting.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Kirish", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Ro'yxatdan o'tish", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Mehmon sifatida davom etish", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Kirish", + "@titleLogin": {}, + "titleLogout": "Chiqish", + "@titleLogout": {}, + "titleSignIn": "Kirish", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Muloqot", + "@titleDialog": {}, + "titleChat": "Chat", + "@titleChat": {}, + "titleSettings": "Hisob sozlamalari", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Chat Tarixi", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "To'lov", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Obuna boshqarish", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Oylik obuna", + "@titleMonthlySubscription": {}, + "titleOnboarding": "O'qitish", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Xush kelibsiz", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Tibbiy yozuvlar profillari", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Profil e'lon", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Sog'liqni saqlash yozuvlari", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "To'liq yozuv", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Hujjatlar", + "@titleDocuments": {}, + "titleConsultations": "Maslahatlar", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "To'siq", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "O'chiryapsizmi? Nima uchun ekanligini ayting!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Yangi sog'liq suhbatini boshlang", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "G'oya ulashing yoki muammoni xabar qiling", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Doctorina qanday yaxshilanishi mumkinligini bizga ayting", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_vi.arb b/example/lib/src/l10n/app/app_vi.arb new file mode 100644 index 0000000..dab5f72 --- /dev/null +++ b/example/lib/src/l10n/app/app_vi.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "vi", + "lang": "Tiếng Việt", + "@lang": {}, + "langEn": "Vietnamese", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Cập nhật ngay", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Có thể sau", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Cập nhật mới có sẵn", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Cần cập nhật", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Một phiên bản mới (v{version}) của ứng dụng có sẵn. Vui lòng cập nhật để có trải nghiệm tốt nhất", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Để tiếp tục, vui lòng cập nhật ứng dụng. Bản cập nhật này bao gồm các sửa lỗi và cải tiến quan trọng.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Tải xuống", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Đăng nhập nếu bạn đã có tài khoản Doctorina, hoặc đăng ký để bắt đầu.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Đăng nhập", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Đăng ký", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Tiếp tục với tư cách khách", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Đăng nhập", + "@titleLogin": {}, + "titleLogout": "Đăng xuất", + "@titleLogout": {}, + "titleSignIn": "Đăng nhập", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Đối thoại", + "@titleDialog": {}, + "titleChat": "Trò chuyện", + "@titleChat": {}, + "titleSettings": "Cài đặt tài khoản", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Lịch sử trò chuyện", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Thanh toán", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Quản lý đăng ký", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Gói đăng ký hàng tháng", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Hướng dẫn", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Chào mừng bạn trở lại", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Hồ sơ bệnh án sức khỏe", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Thông báo hồ sơ", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Hồ sơ sức khỏe", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Hồ sơ đầy đủ", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Tài liệu", + "@titleDocuments": {}, + "titleConsultations": "Tư vấn", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Bảng giá", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Xóa? Hãy cho chúng tôi biết lý do!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Bắt đầu một cuộc trò chuyện về sức khỏe mới", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Chia sẻ ý tưởng hoặc báo cáo vấn đề", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Cho chúng tôi biết Doctorina có thể cải thiện như thế nào", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_zh.arb b/example/lib/src/l10n/app/app_zh.arb new file mode 100644 index 0000000..365884d --- /dev/null +++ b/example/lib/src/l10n/app/app_zh.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "zh", + "lang": "简体中文", + "@lang": {}, + "langEn": "Chinese", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "立即更新", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "稍后", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "有新更新可用", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "需要更新", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "新版本 (v{version}) 的应用可用. 请更新以继续获得最佳体验.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "要继续,请更新应用程序。此更新包括重要的修复和改进.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "下载", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "如果您已经拥有Doctorina账户,请登录,或注册以开始。", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "登录", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "注册", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "继续以访客身份", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "登录", + "@titleLogin": {}, + "titleLogout": "登出", + "@titleLogout": {}, + "titleSignIn": "登录", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "对话", + "@titleDialog": {}, + "titleChat": "聊天", + "@titleChat": {}, + "titleSettings": "账户设置", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "聊天记录", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "付款", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "管理订阅", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "每月订阅", + "@titleMonthlySubscription": {}, + "titleOnboarding": "入门", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "欢迎回来", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "健康记录档案", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "个人资料公告", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "健康记录", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "完整记录", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "文件", + "@titleDocuments": {}, + "titleConsultations": "咨询", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "删除吗?告诉我们原因!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "开始新的健康对话", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "分享一个想法或报告一个问题", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "告诉我们Doctorina如何改进", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_zh_CN.arb b/example/lib/src/l10n/app/app_zh_CN.arb new file mode 100644 index 0000000..164ba16 --- /dev/null +++ b/example/lib/src/l10n/app/app_zh_CN.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "zh_CN", + "lang": "简体中文", + "@lang": {}, + "langEn": "Chinese", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "立即更新", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "稍后", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "有新更新可用", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "需要更新", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "新版本 (v{version}) 的应用可用. 请更新以继续获得最佳体验.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "要继续,请更新应用程序。此更新包括重要的修复和改进.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "下载", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "如果您已经拥有Doctorina账户,请登录,或注册以开始。", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "登录", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "注册", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "继续以访客身份", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "登录", + "@titleLogin": {}, + "titleLogout": "登出", + "@titleLogout": {}, + "titleSignIn": "登录", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "对话", + "@titleDialog": {}, + "titleChat": "聊天", + "@titleChat": {}, + "titleSettings": "账户设置", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "聊天记录", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "付款", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "管理订阅", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "每月订阅", + "@titleMonthlySubscription": {}, + "titleOnboarding": "入门", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "欢迎回来", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "健康记录档案", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "个人资料公告", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "健康记录", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "完整记录", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "文件", + "@titleDocuments": {}, + "titleConsultations": "咨询", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Paywall", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "删除吗?告诉我们原因!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "开始新的健康对话", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "分享一个想法或报告一个问题", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "告诉我们Doctorina如何改进", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_zh_HK.arb b/example/lib/src/l10n/app/app_zh_HK.arb new file mode 100644 index 0000000..d3a371b --- /dev/null +++ b/example/lib/src/l10n/app/app_zh_HK.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "zh_HK", + "lang": "廣東話", + "@lang": {}, + "langEn": "Cantonese", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "即刻更新", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "可能遲啲", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "新更新可用", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "需要更新", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "新的版本 (v{version}) 嘅應用程式已可用. 請更新以繼續獲得最佳體驗", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "要繼續,請更新應用程式。此更新包括重要的修正及改進。", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "下載", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "如果您已經擁有 Doctorina 帳戶,請登錄,或註冊以開始。", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "登錄", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "註冊", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "繼續以訪客身份", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "登入", + "@titleLogin": {}, + "titleLogout": "登出", + "@titleLogout": {}, + "titleSignIn": "登入", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "對話", + "@titleDialog": {}, + "titleChat": "傾偈", + "@titleChat": {}, + "titleSettings": "帳戶設定", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "聊天記錄", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "付款", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "管理訂閱", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "每月訂閱", + "@titleMonthlySubscription": {}, + "titleOnboarding": "入門", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "歡迎回來", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "健康紀錄檔案", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "個人資料公告", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "健康記錄", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "完整記錄", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "文件", + "@titleDocuments": {}, + "titleConsultations": "諮詢", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "付費牆", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "刪除嗎?告訴我們為什麼!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "開始新的健康對話", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "分享一個想法或報告一個問題", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "告訴我們 Doctorina 如何改進", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/app/app_zu.arb b/example/lib/src/l10n/app/app_zu.arb new file mode 100644 index 0000000..05f35bc --- /dev/null +++ b/example/lib/src/l10n/app/app_zu.arb @@ -0,0 +1,129 @@ +{ + "@@locale": "zu", + "lang": "IsiZulu", + "@lang": {}, + "langEn": "Zulu", + "@langEn": {}, + "title": "Doctorina", + "@title": {}, + "checkVersionUpdateNowButton": "Thola Manje", + "@checkVersionUpdateNowButton": { + "description": "Кнопка обновиться" + }, + "checkVersionMaybeLaterButton": "Maybe Later", + "@checkVersionMaybeLaterButton": { + "description": "Кнопка отложить обновление" + }, + "checkVersionUpdateOptionalTitle": "Kukhona ukuvuselelwa okusha", + "@checkVersionUpdateOptionalTitle": { + "description": "Заголовок можешь обновиться" + }, + "checkVersionUpdateRequiredTitle": "Uhlolo Lwakho Luyadingeka", + "@checkVersionUpdateRequiredTitle": { + "description": "Заголовок обязан обновиться" + }, + "checkVersionUpdateOptionalText": "Itholakale inguqulo entsha (v{version}) ye-app. Sicela uvuselele ukuze uqhubeke nokuhlangenwe nakho okuhle.", + "@checkVersionUpdateOptionalText": { + "description": "Сообщение о доступности новой версии \nприложения с приглашением обновиться", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "checkVersionUpdateRequiredText": "Ukuqhubeka, sicela uvuselele uhlelo lokusebenza. Le nvuselelo ifaka phakathi ukulungiswa okubalulekile nokuthuthukiswa.", + "@checkVersionUpdateRequiredText": { + "description": "Сообщение с требованием обновиться" + }, + "chatContextMenuDownload": "Landa", + "@chatContextMenuDownload": { + "description": "Menu item for downloading attachment" + }, + "welcomeBackDialogText": "Ngena uma unayo i-Doctorina account, noma ubhalise ukuze uqale.", + "@welcomeBackDialogText": { + "description": "Body text prompting to log in or sign up" + }, + "welcomeBackDialogLogInButton": "Ngena", + "@welcomeBackDialogLogInButton": { + "description": "Primary button to open log in" + }, + "welcomeBackDialogSignUpButton": "Bhalisela", + "@welcomeBackDialogSignUpButton": { + "description": "Secondary button to open sign up" + }, + "welcomeBackDialogContinueAsGuestButton": "Qhubeka njengivakashi", + "@welcomeBackDialogContinueAsGuestButton": { + "description": "Link to continue as guest" + }, + "titleLogin": "Ngena", + "@titleLogin": {}, + "titleLogout": "Phuma", + "@titleLogout": {}, + "titleSignIn": "Ngena", + "@titleSignIn": { + "description": "Заголовок экрана" + }, + "titleDialog": "Ingxoxo", + "@titleDialog": {}, + "titleChat": "Ingxoxo", + "@titleChat": {}, + "titleSettings": "Izilungiselelo ze-akhawunti", + "@titleSettings": { + "description": "Заголовок экрана" + }, + "titleChatHistory": "Umlando wezingxoxo", + "@titleChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "titlePayment": "Ukukhokha", + "@titlePayment": { + "description": "Заголовок экрана" + }, + "titleManageSubscription": "Phatha ubhaliso", + "@titleManageSubscription": {}, + "titleMonthlySubscription": "Uhlelo lwemali lweminyaka emithathu", + "@titleMonthlySubscription": {}, + "titleOnboarding": "Ukuqaliswa", + "@titleOnboarding": { + "description": "Заголовок экрана" + }, + "titleWelcomeBack": "Wamukelekile", + "@titleWelcomeBack": { + "description": "Title of the welcome-back dialog shown when the user had an account before" + }, + "titleProfiles": "Amaphrofayili amarekhodi ezempilo", + "@titleProfiles": {}, + "titleProfilesAnnouncement": "Isaziso zamaphrofayili", + "@titleProfilesAnnouncement": {}, + "titleDashboardProfile": "Irekhodi Zempilo", + "@titleDashboardProfile": { + "description": "Title for dashboard screen" + }, + "titleFullRecord": "Irekhodi ephelele", + "@titleFullRecord": { + "description": "Title for screen with full health records data" + }, + "titleDocuments": "Amadokhumenti", + "@titleDocuments": {}, + "titleConsultations": "Izinkulumo", + "@titleConsultations": {}, + "titleAppLaunchPaywall": "Umgwaqo wokukhokha", + "@titleAppLaunchPaywall": {}, + "quickActionDeleteFeedback": "Ukususa? Sitshele ukuthi kungani!", + "@quickActionDeleteFeedback": { + "description": "Быстрое действие на иконке приложения для обратной связи перед удалением аккаунта" + }, + "quickActionNewChatSubtitle": "Qala ingxoxo entsha yezempilo", + "@quickActionNewChatSubtitle": { + "description": "Подзаголовок быстрого действия для создания нового чата" + }, + "quickActionFeedbackSubtitle": "Yabelana ngemicabango noma ubika inkinga", + "@quickActionFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для отправки обратной связи" + }, + "quickActionDeleteFeedbackSubtitle": "Sitshelele ukuthi uDoctorina angathuthukisa kanjani", + "@quickActionDeleteFeedbackSubtitle": { + "description": "Подзаголовок быстрого действия для обратной связи перед удалением приложения" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_af.arb b/example/lib/src/l10n/chat/app_af.arb new file mode 100644 index 0000000..4557ec4 --- /dev/null +++ b/example/lib/src/l10n/chat/app_af.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "af", + "drawerTooltipNotifications": "Kennisgewings", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Help", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Sluit", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Rekening", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profiel", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Rekeninginstellings", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Dona om te ondersteun", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Intekening", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Geselsies", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Kletsgeskiedenis", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Aangehegte Dokumente", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Hoe om te gebruik", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Video Tutorials", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Regshulp", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Kontak Ons", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Foutverslag", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Voorwaardes", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Privaatheidsbeleid", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Terugvoer", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Bepaal App", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Deel met Vriende", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Teken uit", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Help ander mense om mediese sorg te ontvang", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Premium Kenmerke\nmet Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Kry", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Sluit by ons", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "App weergawe:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Onlangse Klets", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profiel", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Onlangse gesprek", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Laai Apps Af", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Voer boodskap in", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Heg file", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dikte", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Voltooi & Transkribeer", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Stuur boodskap", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Kon nie boodskappe verkry nie", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Kon nie boodskappe verkry nie. Probeer asseblief weer.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Laai boodskappe af", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Geen boodskappe beskikbaar nie. Stuur asseblief 'n boodskap om die gesprek te begin.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Gekonnekte", + "@chatListHasConnection": {}, + "chatListNoConnection": "Geen verbinding", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Soek", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Gunstelinge", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Aflaai", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Druk PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Deel met Vriende", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Nuwe gesprek", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Klets", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Kies Klets", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Wys laai", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Geen klets beskikbaar. Verfris of skep 'n nuwe klets.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Verfris gesprekke", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Skep nuwe gesprek", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Kopieer teks", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Tipe", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Opdateer...", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Die boodskap word tans verwerk.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Boodskap is te lank.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Verwyder aanhangsel", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Kon nie boodskap verwerk nie", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Export na PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Foto's", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Lêers", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Foto's en Lêers", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Ek hoop dit het gehelp! Was hierdie verduideliking nuttig vir jou?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Ja, dit is alles goed!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Kon nie geselskapopsomming verkry nie", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Gesprek opsomming na clipboard gekopieer", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Probeer Doctorina in die mobiele app!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Laai af op die", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "KRY DIT OP", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Laai af op die App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Kry dit op Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Verslagboodskap", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Waarom rapporteer jy hierdie boodskap?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Opsioneel: Beskryf wat verkeerd is met hierdie boodskap...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Dit sal ons help om ons KI-antwoorde te verbeter.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Kanselleer", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Rapporteer", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Dankie vir u terugvoer! Verslag is ingedien.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Verslag kon nie ingedien word nie", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Gekopieer na die klembord", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Kon nie boodskap kopieer nie", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Verslagboodskap", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Laai op na die Doctorina-klets", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Sleep en laat lêer hier om by die gesprek te voeg", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "U kan tot 15 lêers aan een boodskap voeg", + "@chatDropZoneText": {}, + "notificationBannerText": "Wil u hê ek moet u inlig as daar iets belangriks oor u gesondheid opduik?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Ja, kennisge my", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Miskien later", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Sluit", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Kennisgewings is op stelselniveau geblokkeer. Aktiveer dit in stelselinstellings voordat jy Doctorina se kennisgewings aktiveer.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Kennisgewings is op stelselniveau geblokkeer. Aktiveer dit in die blaaierinstellings voordat jy Doctorina se kennisgewings aktiveer.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Bly op hoogte van jou konsultasie", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina kan jou inlig wanneer nuwe insigte of opdaterings oor jou gesondheid beskikbaar is", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Aktiveer kennisgewings", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Miskien later", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Deur voort te gaan, stem u in tot die verwerking van persoonlike data, die gebruik van cookies, aanvaar u die terms and conditions en erken u die

privacy policy

. Ook erken u dat u konsultasie met 'n KI is en nie met 'n gelisensieerde mediese beroepspersoon nie", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Verwerp", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Stoor eers hierdie klets?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Teken gratis in om hierdie konsultasie te stoor voordat jy 'n nuwe begin", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Begin sonder te stoor", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Registreer", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Om die gesprek voort te sit, kies 'n opsie hierbo", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Maak toe", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Verwyder byvoeging", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Kon nie lêers van die sleepgebied kies nie", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Voer 'n boodskap in of heg 'n lêer aan", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Wag asseblief vir opgelaaide lêers om te voltooi", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Boodskap word verwerk", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Boodskap is te lank", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Die boodskap word tans verwerk.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Die verbinding is permanent gesluit", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Geen verbinding met die bediener", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Kon nie lêers kies nie", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Kon nie prente kies nie", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Kon nie foto van kamera vasvang nie", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Jy kan tot {count} lêers gelyktydig heg.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Verklaring van erkende teks", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Boodskap is te lank.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Wag asseblief vir opgelaaide lêers om te voltooi", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Die {kind} \"{name}\" is reeds aangeheg en is nie weer bygevoeg nie.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Die {kind} \"{name}\" is 'n duplikaat van {exist} en is nie bygevoeg nie.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Die {kind} \"{name}\" is nie bygevoeg nie omdat die maksimum aantal aanhangsels oorskry is.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Die lêer \"{name}\" is leeg.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Die lêer is leeg.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Die lêer \"{name}\" oorskry die maksimum toegelate grootte.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Die lêer oorskry die maksimum toegelate grootte.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Daar het 'n fout voorgekom tydens die verwerking van die lêer \"{name}\"", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Daar het 'n fout voorgekom tydens die verwerking van die lêer.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Die lêer \"{name}\" is nie bygevoeg nie omdat die maksimum aantal aanhangsels oorskry is.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "A file(s) was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "‘n Lêer is nie bygevoeg nie omdat die maksimum aantal byvoegings oorskry is.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Daar is 'n lêer sonder 'n naam probeer om bygevoeg te word", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "‘{name}’ is 'n lêer met 'n nie-ondersteunde uitbreiding wat probeer is om bygevoeg te word.", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Daar is 'n lêer met 'n onondersteunde uitbreiding probeer om bygevoeg te word", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Onmoontlik om 'n lêer toe te voeg.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Die lêer \"{name}\" is ongeldig en kan nie bygevoeg word nie", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "‘n Lêer is ongeldig en kan nie bygevoeg word.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Die item \"{name}\" is nie 'n geldige lêer nie.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "‘n item is nie 'n geldige lêer nie.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Daar het 'n fout voorgekom tydens die verwerking van 'n item", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Daar het 'n fout voorgekom tydens die verwerking van 'n item(s)", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Geen lêers is bygevoeg.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Sommige lêers is oorgeslaan weens duplikate met bestaande lêers.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Daar het 'n onbekende fout voorgekom.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Die volgende foute het voorgekom terwyl lêers aangeheg is:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Kon nie lêer deel nie: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Sluit", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Deel", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Laai lêer...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Kon nie lêer laai nie", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Onbekende fout het voorgekom", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Probeer weer", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Onondersteunde lêertipe", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Kan nie {contentType} voorsien nie", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Deel lêer", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Kon nie beeld vertoon nie", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Herstel zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Kon nie PDF laai nie", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Kon nie teksinhoud dekodeer nie.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "En {count} meer foute.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Lêer is verkeerd geformateer", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Toestemming Vereis", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Deur voort te gaan, stem jy in tot ons Voorwaardes, Privaatheidsbeleid, en gebruik van koekies, en bevestig dat hierdie konsultasie deur KI verskaf word, nie 'n gelisensieerde mediese professionele nie.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Sluit", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Verwyder", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Verwyder klets", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat “{title}” suksesvol verwyder.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Verwyder gesprek?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Jou simptome, diagnose opsomming, en enige aanbevelings in hierdie gesprek sal verwyder word.\nHierdie aksie kan nie ongedaan gemaak word nie.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Zoom In", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Zoom Uit", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Herstel Zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Deel", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Vandag", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Gister", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Hierdie voorvertoning mag net die eerste bladsy wys. Laai die lêer af om die volle dokument te sien.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_am.arb b/example/lib/src/l10n/chat/app_am.arb new file mode 100644 index 0000000..2ed1348 --- /dev/null +++ b/example/lib/src/l10n/chat/app_am.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "am", + "drawerTooltipNotifications": "ማስታወቂያዎች", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "እርዳታ", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "ዝግጅት", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "አካውንት", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "ፕሮፋይል", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "አካውንት ማስተካከያ", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "ድጋፍ ለማቅረብ ይስጡ", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "እቅፍ", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "ውይይት", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "የውይይት ታሪክ", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "የተያያዘ ሰነዶች", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "እንዴት እንደሚጠቀሙ", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "ቪዲዮ እንቅስቃሴዎች", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "ሕግ", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "እባኮት ያነጋግሩን", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "በግልጽ የተሳሳተ ይዘት", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "የውል እና የአዋጅ አንቀጽ", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "የግለሰቦች የግለሰብ ደንብ", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "እንቅስቃሴ", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Rate App", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "ከጓደኞች ጋር አጋር", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "ውጣ", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "ሌላውን ወይም ሌላ ሰው ወደ ሕክምና እንዲደርስ እገዛ አድርጉ", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "ተጠቃሚ", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "ፕሪምየም ባለቤት ባለው ዶክተርና", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "ግንዛቤ", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "ተቀላቅሉ እናንተ", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "መለዕክት አፕሊኬሽን:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "የቅርብ ውይይቶች", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "ፕሮፋይል", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "የቅርብ ውይይት", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "መተግበሪያዎችን ይውሰዱ", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "መልእክት አስገባ", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "ፋይል ያክሉ", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "አስተያየት", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "ጨርስ & ትርጉም", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "መልእክት ላክ", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "መልእክቶችን ማውጣት አልቻልኩም", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "መልእክቶችን ማግኘት አልቻልኩም። እባኮትን ይሞክሩ ድጋፍ ይደርስ.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "መልእክቶችን ይወስዱ", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "አንድ መልእክት የለም። ውይይት መጀመር ይችላሉ።", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "ያገናኝ", + "@chatListHasConnection": {}, + "chatListNoConnection": "አልተገናኙም", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "ፈልግ", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "የተመረጡ", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ወደ ውስጥ ይውሰዱ", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF እንደ ማቅረብ ይታይ", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "ከጓደኞች ጋር አጋር", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "አዲስ ውይይት", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "ጫት", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "ውይይት ይምረጡ", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ዳር አሳይ", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "አንድ ውይይት የለም። እባኮትን ይዘምኑ ወይም አዲስ ውይይት ይፍጠሩ።", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "ወደ ውይይቶች ይቀይሩ", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "አዲስ ውይይት ፈጥር", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "ጽሑፍ ይቅርታ", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "እባክህ ገና", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "እቅፍ እንደሚያደርግ...\nእባኮትን የኢንተርኔት ግንኙነትዎን ይፈትሹ", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "መልእክቱ አሁን በሂደት ላይ ነው.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "መልእክት በጣም 긴 ነው.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "አባል ይወጣ", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "መልእክት ማስተካከል አልቻልኩም", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "እንደ PDF ወደ ውስጥ ይዘው ይውሰዱ", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "ፎቶ", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "ካሜራ", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ፋይል", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "ፎቶዎች እና ፋይሎች", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "እቅፍ ይህ ይረዳዎታል! ይህ መግለጫ ይህ ይረዳዎታል?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "አዎን ሁሉም ጥሩ ነው!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "እቅፍ ማስታወቂያ ማግኘት አልቻልኩም", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "የውይይት ማጠቃለያ ወደ ክሊፕቦርድ ተቀይሯል", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "እባኮትን ዶክተርኢና በሞባይል አፕ ይሞክሩ!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "ወደ ድርጅቱ ይግቡ", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ይዘው ይሂዱ", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Download on the App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "እባክዎ በGoogle Play ይውሰዱ", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "መረጃ ይዘው ይወዳድሩ", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "ለዚህ መልእክት ለምን እንደምታስተውሉ?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "አማራጭ: ይህን መልእክት ምን እንደሚሆን ይገልጹ...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "This will help us improve our AI responses.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "ማቋረጥ", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "ይዘው ይወዳድሩ", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Thank you for your feedback! Report has been submitted.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "የሪፖርት ማቅረብ አልተሳካም", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "በክልክል ወደ ቅርጸ ቁልፍ ተቀይሯል", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "መልእክት ማቅረብ አልቻልኩም", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "መረጃ ይዘው ይወዳድሩ", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ወደ ዶክተሪና ቻት ይስጡ", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "ወደ ውይይት ለመጨመር ፋይሎችን እዚህ ይዘልቁ", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "እባኮትን ወደ አንድ መልዕዓት 15 ፋይሎች ይጨምሩ", + "@chatDropZoneText": {}, + "notificationBannerText": "እባኮትን ስለ ጤናዎ አስፈላጊ ነገር እንደሚኖር እንዲያውቁኝ ይፈልጋሉ?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "አዎን እንደዚህ እንደሚያውቁኝ", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "ምንም እንኳን ወዲያው ይህ ይህ ነው", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "ዝግጁ", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "እቅፍ በስርዓት level ውስጥ ተከልክሏል። ወደ ስርዓት ቅንብሮች ይሂዱ እና የDoctorina ማስታወቂያዎችን አንቀሳቅሱ።", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "እቅፍ በስርዓት level ውስጥ ተከልክሏል። የድር መተግበሪያ በማስተካከል ውስጥ እንደ ወንጌል እንዲቀጥሉ እቅፍ ይስጡ።", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "ከእንቅስቃሴዎ ዝርዝር ይወቁ", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "ዶክተሪና ስለ ጤናዎ አዲስ መረጃዎች ወይም እንደገና ዝርዝር ሲኖር ይነግራል።", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "እባክዎ ማስታወቂያዎችን አንቀሳቅስ", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "ምንም እንኳን ወዲያው ይህ ይህ ነው", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "በመቀጠል በግል መረጃ ስር መሆን፣ የ cookies አጠቃቀም፣ የአገልግሎት መመሪያዎች ላይ ተስማሚ መሆን እና

የግል መረጃ ፖሊሲ

መቀበል ይጠቀማል። በተጨማሪም ምክንያትዎ ከ AI ጋር መካሄድ እና ከተፈቀደ የሕክምና ባለሞያ ጋር እንዳይሆን ይፈቀዳል", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "አስወግድ", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "ይህ ውይይት በመጀመሪያ ያስቀምጡ?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "አዲስ መመኪያ መጀመር በፊት ይህን ምክር ለመቆጣጠር በነፃ ይመዝገቡ", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "ሳይያስቀመጥ ጀምር", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "ይመዝገቡ", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "ውይይቱን ለመቀጠል ከላይ አማራጭ ይምረጡ", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "ዝጋ", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "አባል እንደ ማስወግድ", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "የፋይል መረጃ ከድርብ አካባቢ ማስተናገድ አልቻልኩም", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "እባክዎ መልእክት ይጻፉ ወይም ፋይል ይጨምሩ", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "እባክዎ ማስታወቂያዎች ይጨርሱ", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "መልእክት በሂደት ላይ ነው", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "መልእክት በጣም ረጅም ነው", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "መልእክቱ አሁን በሂደት ላይ ነው.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "መገናኛው በቀዳሚ የተዘግቷል", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "ከአገልግሎት ጋር የለውጥ አለመኖር", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "ፋይሎችን ማሰባሰብ አልቻልኩም", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "የምስል መረጃ ማሰባሰብ አልቻልኩም", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "ከካሜራ ፎቶ ማውጣት አልተቻለም", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "እባኮትን በአንድ ጊዜ {count} ፋይሎች መያዝ ይቻላል።", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "የተረጋገጠ ጽሁፍ አጽዳ", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "መልእክት በጣም ረጅም ነው.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "እባክዎ ለማስተካከል ይጠብቁ.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "የ{kind} \"{name}\" እንደ ተያያዘ አስቀድሞ ተያይዞ አልተጨምረም.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" is a duplicate of {exist} and was not added.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "የ{kind} \"{name}\" አንደኛ በመጨመር የተወሰነ ቁጥር በማለፍ አልተጨመረም.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "ፋይሉ \"{name}\" ይቅርታ እንደሆነ ይታወቃል.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "ፋይሉ ያልተሞላ ነው.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "ፋይል \"{name}\" የተፈቀደውን ከተገኘው ከፍተኛ መጠን ይበልጣል።", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ፋይሉ የተፈቀደ ከፍተኛ መጠን ይበልጥ ነው.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "በፋይሉ \"{name}\" ላይ ስህተት አደረገ።", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "ፋይሉን ማስተካከል ወቅታዊ ስህተት አደረገ።", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "ፋይሉ \"{name}\" አልተጨምረም ምክንያቱም የተጨማሪ ፋይሎች በማለት ወርድ ተደርሷል.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ፋይል(ዎች) አልተጨምሩም ምክንያቱም የተጨማሪ ፋይል ቁጥር ተወስኗል.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "ፋይል አልተጨምረም ምክንያቱ የተጨማሪ ፋይሎች በተጠቃሚ ደረጃ ተወው ነበር።", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "ስም የለውም ፋይል ማከል ተሞክሮ ተደርጎ ነበር.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "የማይደገፍ እንደሆነ ፋይል ተጨማሪ ለማከል ተሞክሮ ተደርጎ ነበር: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "የማይደገፍ ፋይል እንደ ማስተካከያ ተገኝቷል።", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "ፋይል ማከል አልቻልኩም.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "ፋይሉ \"{name}\" ውስጥ የለም እና ማከል አልቻልኩም.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ፋይል ወይም ይህ አልተቀበለም።", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "እቅፍ የለም \"{name}\" የተሳካ ፋይል አይደለም.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "አንድ እቃ ትክክለኛ ፋይል አይደለም.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "አንድ እቃ ላይ ሂደት ላይ እንደተከሰተ እርምጃ ተከስቷል.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "አንድ እትም ላይ ስህተት አደረገ።", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "ፋይሎች አልተጨምሩም.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "አንዳንድ ፋይሎች ከአስቀድሞ ያሉ ፋይሎች ጋር የሚያዛዙ የተመሳሳይ ፋይሎች ምክንያት ተወው ተቀባይነት ተወው ተቀባይነት ተወው.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "ያልተቀየረ እርምጃ ተከስቷል።", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "ከፋይሎች ጋር የተያያዘ የሚኖሩ ስህተቶች እንደሚኖሩ ተነግሯል:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "ፋይል ማግኘት አልተቻለም: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "ዝግጅት", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "አጋራ", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "ፋይል በማስተካከል ነው...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "ፋይል ማስገባት አልቻልኩም", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "ያልተቀየረ እርምጃ ተከስቷል", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "እንደገና ይሞክሩ", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "የተደገፈ ፋይል ዓይነት", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "አይቻልም ማስታወቂያ {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "ፋይል አጋራ", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "ምስል ማሳያ ማድረግ አልቻልኩም", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "ዝርዝር ይቀይሩ", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF መገናኛ አልተሳካም", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "መጽሐፍ ይዘት ወይም ይዘት መረጃ ማስተካከል አልቻልኩም", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "እና {count} ተጨማሪ ስህተቶች አሉ።", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "ፋይል ወይም የተሳሳተ ነው", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "ፈቃድ ያስፈልጋል", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "በመቀጠልዎ ወደ የእንደነበር የስርዓትየግለሰቦች የደህንነት ፖሊሲ፣ እና የኩኪዎች እንደነበር ይህ ኮንስልታሽን በAI ይታወቃል፣ እና የተመዘገበ የሕክምና ሙያ ሰው አይደለም።", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "ዝግጅት", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "አጥፍ", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "ውይይት አጥፍት", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "በተሳካ ሁኔታ የተሰረዘ ውይይት \"{title}\".", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "የቻት ማጥፊያ እቅፍ?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "የእርግጥ ምልክቶችዎ፣ የምርመራ ማጠቃለያ እና በዚህ ቻት ውስጥ ያለው ማንኛውም ምክር ይሰረዝ። ይህ እርምጃ አይታወቅም.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "ይዞም ወይም ይዞም ይዞም", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "ወደ ታች ይዘል", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "ዝርዝር ይቀይሩ", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "አጋራ", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "ዛሬ", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "እንቁላል", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "የመጀመሪያ ገጽ ብቻ። ሙሉ ፋይሉን ለመውረድ እባኮትን አጋር ይጠቀሙ።", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ar.arb b/example/lib/src/l10n/chat/app_ar.arb new file mode 100644 index 0000000..d356d5e --- /dev/null +++ b/example/lib/src/l10n/chat/app_ar.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ar", + "drawerTooltipNotifications": "الإشعارات", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "مساعدة", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "إغلاق", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "الحساب", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "الملف الشخصي", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "إعدادات الحساب", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "تبرع للدعم", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "اشتراك", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "دردشات", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "سجل الدردشات", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "المستندات المرفقة", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "كيفية الاستخدام", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "دروس فيديو", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "قانوني", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "اتصل بنا", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "بلاغ عن خلل", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "الشروط والأحكام", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "سياسة الخصوصية", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "ملاحظات", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "قيم التطبيق", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "شارك مع الأصدقاء", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "تسجيل الخروج", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "ساعد الآخرين على الحصول على الرعاية الطبية", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "مستخدم", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "ميزات متميزة\nمع Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "احصل", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "انضم إلينا", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "إصدار التطبيق:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "الدردشات الأخيرة", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "الملف الشخصي", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "الدردشة الأخيرة", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "تحميل التطبيقات", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "أدخل الرسالة", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "إرفاق ملف", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "أملى", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "إنهاء & تحويل إلى نص", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "أرسل رسالة", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "فشل في جلب الرسائل", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "فشل في جلب الرسائل. يرجى المحاولة مرة أخرى.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "جلب الرسائل", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "لا توجد رسائل. الرجاء إرسال رسالة لبدء المحادثة.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "متصل", + "@chatListHasConnection": {}, + "chatListNoConnection": "لا يوجد اتصال", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "بحث", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "المفضلة", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "تنزيل", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "طباعة PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "شارك مع الأصدقاء", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "دردشة جديدة", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "دردشة", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "اختر دردشة", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "إظهار القائمة", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "لا توجد دردشات. يرجى التحديث أو إنشاء دردشة جديدة.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "تحديث الدردشات", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "إنشاء دردشة جديدة", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "نسخ النص", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "يكتب\nلحظة من فضلك", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "جاري التحديث...\nيرجى التحقق من اتصالك بالإنترنت", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "يتم معالجة الرسالة بالفعل الآن.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "الرسالة طويلة جدًا.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "حذف المرفق", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "فشل معالجة الرسالة", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "تصدير إلى PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "صور", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "كاميرا", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ملفات", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "الصور والملفات", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "أتمنى أن يكون ذلك قد أفادك! هل كان هذا الشرح مفيدًا لك؟", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "نعم، كل شيء على ما يرام!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "فشل في استرجاع ملخص المحادثة", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "تم نسخ ملخص المحادثة إلى الحافظة", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "جرّب Doctorina في تطبيق الجوال!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "تحميل على", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "احصل عليه", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "تنزيل على App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "احصل عليه على Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "الإبلاغ عن رسالة", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "لماذا تقوم بالإبلاغ عن هذه الرسالة؟", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "اختياري: وصف ما هو خطأ في هذه الرسالة...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "هذا سيساعدنا في تحسين استجابات الذكاء الاصطناعي لدينا.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "إلغاء", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "تقرير", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "شكراً لملاحظاتك! تم تقديم التقرير.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "فشل في تقديم التقرير", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "تم النسخ إلى الحافظة", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "فشل في نسخ الرسالة", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "الإبلاغ عن رسالة", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ارفع إلى دردشة دكتورينا", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "اسحب وأفلت الملفات هنا لإضافتها إلى الدردشة", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "يمكنك إضافة ما يصل إلى 15 ملفًا إلى رسالة واحدة", + "@chatDropZoneText": {}, + "notificationBannerText": "هل ترغب في أن أخبرك إذا حدث شيء مهم يتعلق بصحتك؟", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "نعم، أعلمني", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "ربما لاحقًا", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "إغلاق", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "تم حظر الإشعارات على مستوى النظام. قم بتمكينها في إعدادات النظام قبل تفعيل إشعارات Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "تم حظر الإشعارات على مستوى النظام. قم بتمكينها في إعدادات المتصفح قبل تفعيل إشعارات Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "ابقَ على اطلاع بشأن استشارتك", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "يمكن لدكتورينا إبلاغك عندما تتوفر رؤى أو تحديثات جديدة حول صحتك", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "تفعيل الإشعارات", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "ربما لاحقًا", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "بالاستمرار، فإنك توافق على معالجة البيانات الشخصية، واستخدام cookies، وتوافق على terms and conditions، وتقر بـ

privacy policy

. كما أنك تقر بأن استشارتك تتم عبر AI وليس بواسطة أخصائي طبي مرخص", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "إلغاء", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "احفظ هذه الدردشة أولاً?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "اشترك مجاناً لحفظ هذه الاستشارة قبل بدء استشارة جديدة", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "ابدأ بدون حفظ", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "إنشاء حساب", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "للمتابعة في المحادثة، اختر خيارًا أعلاه", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "إغلاق", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "إزالة المرفق", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "فشل في اختيار الملفات من منطقة السحب", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "يرجى إدخال رسالة أو إرفاق ملف", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "يرجى الانتظار حتى تكتمل التحميلات", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "يتم معالجة الرسالة", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "الرسالة طويلة جداً", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "الرسالة قيد المعالجة الآن.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "تم إغلاق الاتصال بشكل دائم", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "لا يوجد اتصال بالخادم", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "فشل في اختيار الملفات", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "فشل في اختيار الصور", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "فشل في التقاط صورة من الكاميرا", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "يمكنك إرفاق ما يصل إلى {count} ملفًا في المرة الواحدة", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "مسح النص المعترف به", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "الرسالة طويلة جداً", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "يرجى الانتظار حتى تكتمل التحميلات", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "ال{kind} \"{name}\" مرفق بالفعل ولم يتم إضافته مرة أخرى", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "الـ {kind} \"{name}\" هو نسخة مكررة من {exist} ولم يتم إضافته", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "لم يتم إضافة {kind} \"{name}\" لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "الملف \"{name}\" فارغ.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "الملف فارغ", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "الملف \"{name}\" يتجاوز الحجم الأقصى المسموح به", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "الملف يتجاوز الحجم الأقصى المسموح به.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "حدث خطأ أثناء معالجة الملف \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "حدث خطأ أثناء معالجة الملف.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "لم يتم إضافة الملف \"{name}\" لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "لم يتم إضافة ملف(ات) لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "لم يتم إضافة ملف لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "تمت محاولة إضافة ملف بدون اسم.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "تمت محاولة إضافة ملف بامتداد غير مدعوم: \"{name}\"", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "تمت محاولة إضافة ملف بامتداد غير مدعوم", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "من المستحيل إضافة ملف", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "الملف \"{name}\" غير صالح ولا يمكن إضافته", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "الملف غير صالح ولا يمكن إضافته", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "العنصر \"{name}\" ليس ملفًا صالحًا", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "العنصر ليس ملفًا صالحًا", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "حدث خطأ أثناء معالجة عنصر.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "حدث خطأ أثناء معالجة عنصر (عناصر).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "لم تتم إضافة أي ملفات", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "تم تخطي بعض الملفات بسبب تكرارها مع ملفات موجودة.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "حدث خطأ غير معروف", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "حدثت الأخطاء التالية أثناء إرفاق الملفات:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "فشل في مشاركة الملف: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "إغلاق", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "شارك", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "جارٍ تحميل الملف...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "فشل في تحميل الملف", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "حدث خطأ غير معروف", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "إعادة المحاولة", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "نوع ملف غير مدعوم", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "لا يمكن معاينة {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "مشاركة الملف", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "فشل عرض الصورة", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "إعادة ضبط التكبير", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "فشل تحميل PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "فشل في فك تشفير محتوى النص", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "و{count} أخطاء أخرى.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "الملف غير صحيح", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "الموافقة مطلوبة", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "بمواصلتك، فإنك توافق على الشروط وسياسة الخصوصية واستخدام الكوكيز، وتؤكد أن هذه الاستشارة مقدمة من الذكاء الاصطناعي، وليس من محترف طبي مرخص.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "إغلاق", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "حذف", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "حذف الدردشة", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "تم حذف الدردشة “{title}” بنجاح.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "حذف الدردشة؟", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "ستتم إزالة أعراضك وملخص التشخيص وأي توصيات في هذه الدردشة.\nلا يمكن التراجع عن هذا الإجراء.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "تكبير", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "تصغير", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "إعادة تعيين التكبير", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "شارك", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "اليوم", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "أمس", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "الصفحة الأولى فقط. استخدم المشاركة لتنزيل الملف الكامل.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ar_EG.arb b/example/lib/src/l10n/chat/app_ar_EG.arb new file mode 100644 index 0000000..922a7c4 --- /dev/null +++ b/example/lib/src/l10n/chat/app_ar_EG.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ar_EG", + "drawerTooltipNotifications": "الإشعارات", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "مساعدة", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "إغلاق", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "الحساب", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "الملف الشخصي", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "إعدادات الحساب", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "تبرع للدعم", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "اشتراك", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "دردشات", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "سجل الدردشات", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "المستندات المرفقة", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "كيفية الاستخدام", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "دروس فيديو", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "قانوني", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "اتصل بنا", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "بلاغ عن خلل", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "الشروط والأحكام", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "سياسة الخصوصية", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "ملاحظات", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "قيم التطبيق", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "شارك مع الأصدقاء", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "تسجيل الخروج", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "ساعد الآخرين على الحصول على الرعاية الطبية", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "مستخدم", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "ميزات متميزة\nمع Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "احصل", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "انضم إلينا", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "إصدار التطبيق:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "الدردشات الأخيرة", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "الملف الشخصي", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "الدردشة الأخيرة", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "تحميل التطبيقات", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "أدخل الرسالة", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "إرفاق ملف", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "أملى", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "إنهاء & تحويل إلى نص", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "أرسل رسالة", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "فشل في جلب الرسائل", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "فشل في جلب الرسائل. يرجى المحاولة مرة أخرى.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "جلب الرسائل", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "لا توجد رسائل. الرجاء إرسال رسالة لبدء المحادثة.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "متصل", + "@chatListHasConnection": {}, + "chatListNoConnection": "لا يوجد اتصال", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "بحث", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "المفضلة", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "تنزيل", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "طباعة PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "شارك مع الأصدقاء", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "دردشة جديدة", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "دردشة", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "اختر دردشة", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "إظهار القائمة", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "لا توجد دردشات. يرجى التحديث أو إنشاء دردشة جديدة.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "تحديث الدردشات", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "إنشاء دردشة جديدة", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "نسخ النص", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "يكتب\nلحظة من فضلك", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "جاري التحديث...\nيرجى التحقق من اتصالك بالإنترنت", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "يتم معالجة الرسالة بالفعل الآن.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "الرسالة طويلة جدًا.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "حذف المرفق", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "فشل معالجة الرسالة", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "تصدير إلى PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "صور", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "كاميرا", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ملفات", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "الصور والملفات", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "أتمنى أن يكون ذلك قد أفادك! هل كان هذا الشرح مفيدًا لك؟", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "نعم، كل شيء على ما يرام!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "فشل في استرجاع ملخص المحادثة", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "تم نسخ ملخص المحادثة إلى الحافظة", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "جرّب Doctorina في تطبيق الجوال!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "تحميل على", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "احصل عليه", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "تنزيل على App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "احصل عليه على Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "الإبلاغ عن رسالة", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "لماذا تقوم بالإبلاغ عن هذه الرسالة؟", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "اختياري: وصف ما هو خطأ في هذه الرسالة...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "هذا سيساعدنا في تحسين استجابات الذكاء الاصطناعي لدينا.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "إلغاء", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "تقرير", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "شكراً لملاحظاتك! تم تقديم التقرير.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "فشل في تقديم التقرير", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "تم النسخ إلى الحافظة", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "فشل في نسخ الرسالة", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "الإبلاغ عن رسالة", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ارفع إلى دردشة دكتورينا", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "اسحب وأفلت الملفات هنا لإضافتها إلى الدردشة", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "يمكنك إضافة ما يصل إلى 15 ملفًا إلى رسالة واحدة", + "@chatDropZoneText": {}, + "notificationBannerText": "هل ترغب في أن أخبرك إذا حدث شيء مهم يتعلق بصحتك؟", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "نعم، أعلمني", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "ربما لاحقًا", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "إغلاق", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "تم حظر الإشعارات على مستوى النظام. قم بتمكينها في إعدادات النظام قبل تفعيل إشعارات Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "تم حظر الإشعارات على مستوى النظام. قم بتمكينها في إعدادات المتصفح قبل تفعيل إشعارات Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "ابقَ على اطلاع بشأن استشارتك", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "يمكن لدكتورينا إبلاغك عندما تتوفر رؤى أو تحديثات جديدة حول صحتك", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "تفعيل الإشعارات", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "ربما لاحقًا", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "بالاستمرار، فإنك توافق على معالجة البيانات الشخصية، واستخدام cookies، وتوافق على terms and conditions، وتقر بـ

privacy policy

. كما أنك تقر بأن استشارتك تتم عبر AI وليس بواسطة أخصائي طبي مرخص", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "إلغاء", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "احفظ هذه الدردشة أولاً?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "اشترك مجاناً لحفظ هذه الاستشارة قبل بدء استشارة جديدة", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "ابدأ بدون حفظ", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "إنشاء حساب", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "للمتابعة في المحادثة، اختر خيارًا أعلاه", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "إغلاق", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "إزالة المرفق", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "فشل في اختيار الملفات من منطقة السحب", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "يرجى إدخال رسالة أو إرفاق ملف", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "يرجى الانتظار حتى تكتمل التحميلات", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "يتم معالجة الرسالة", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "الرسالة طويلة جداً", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "الرسالة قيد المعالجة الآن.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "تم إغلاق الاتصال بشكل دائم", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "لا يوجد اتصال بالخادم", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "فشل في اختيار الملفات", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "فشل في اختيار الصور", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "فشل في التقاط صورة من الكاميرا", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "يمكنك إرفاق ما يصل إلى {count} ملفًا في المرة الواحدة", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "مسح النص المعترف به", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "الرسالة طويلة جداً", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "يرجى الانتظار حتى تكتمل التحميلات", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "ال{kind} \"{name}\" مرفق بالفعل ولم يتم إضافته مرة أخرى", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "الـ {kind} \"{name}\" هو نسخة مكررة من {exist} ولم يتم إضافته", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "لم يتم إضافة {kind} \"{name}\" لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "الملف \"{name}\" فارغ.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "الملف فارغ", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "الملف \"{name}\" يتجاوز الحجم الأقصى المسموح به", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "الملف يتجاوز الحجم الأقصى المسموح به.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "حدث خطأ أثناء معالجة الملف \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "حدث خطأ أثناء معالجة الملف.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "لم يتم إضافة الملف \"{name}\" لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "لم يتم إضافة ملف(ات) لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "لم يتم إضافة ملف لأن الحد الأقصى لعدد المرفقات قد تم تجاوزه.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "تمت محاولة إضافة ملف بدون اسم.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "تمت محاولة إضافة ملف بامتداد غير مدعوم: \"{name}\"", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "تمت محاولة إضافة ملف بامتداد غير مدعوم", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "من المستحيل إضافة ملف", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "الملف \"{name}\" غير صالح ولا يمكن إضافته", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "الملف غير صالح ولا يمكن إضافته", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "العنصر \"{name}\" ليس ملفًا صالحًا", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "العنصر ليس ملفًا صالحًا", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "حدث خطأ أثناء معالجة عنصر.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "حدث خطأ أثناء معالجة عنصر (عناصر).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "لم تتم إضافة أي ملفات", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "تم تخطي بعض الملفات بسبب تكرارها مع ملفات موجودة.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "حدث خطأ غير معروف", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "حدثت الأخطاء التالية أثناء إرفاق الملفات:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "فشل في مشاركة الملف: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "إغلاق", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "شارك", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "جارٍ تحميل الملف...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "فشل في تحميل الملف", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "حدث خطأ غير معروف", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "إعادة المحاولة", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "نوع ملف غير مدعوم", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "لا يمكن معاينة {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "مشاركة الملف", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "فشل عرض الصورة", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "إعادة ضبط التكبير", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "فشل تحميل PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "فشل في فك تشفير محتوى النص", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "و{count} أخطاء أخرى.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "الملف غير صحيح", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "الموافقة مطلوبة", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "بمواصلتك، فإنك توافق على الشروط وسياسة الخصوصية واستخدام الكوكيز، وتؤكد أن هذه الاستشارة مقدمة من الذكاء الاصطناعي، وليس من محترف طبي مرخص.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "إغلاق", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "حذف", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "حذف الدردشة", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "تم حذف الدردشة “{title}” بنجاح.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "حذف الدردشة؟", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "ستتم إزالة أعراضك وملخص التشخيص وأي توصيات في هذه الدردشة.\nلا يمكن التراجع عن هذا الإجراء.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "تكبير", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "تصغير", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "إعادة تعيين التكبير", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "شارك", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "اليوم", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "أمس", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "الصفحة الأولى فقط. استخدم المشاركة لتنزيل الملف الكامل.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_az.arb b/example/lib/src/l10n/chat/app_az.arb new file mode 100644 index 0000000..b24d709 --- /dev/null +++ b/example/lib/src/l10n/chat/app_az.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "az", + "drawerTooltipNotifications": "Bildirişlər", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Kömək", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Bağla", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Hesab", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Hesab Ayarları", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Dəstək üçün ianə edin", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Abunə", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Söhbətlər", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Söhbət Tarixi", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Bağlı Sənədlər", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Necə istifadə etməli", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Video Təlimatları", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Hüquqi", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Bizimlə Əlaqə", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Xəta Hesabatı", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Şərtlər və Qaydalar", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Məxfilik Siyasəti", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Geri bildirim", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Tətbiqi Qiymətləndirin", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Dostlarla Paylaş", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Çıxış", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Başqalarına tibbi yardım almaqda kömək edin", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "İstifadəçi", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Premium Xüsusiyyətlər
Doctorina ilə", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Alın", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Bizə qoşulun", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Tətbiq versiyası:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Son söhbətlər", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Son söhbət", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Tətbiqləri yükləyin", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Mesajı daxil edin", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Fayl əlavə et", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Nadiktə et", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Bitir və Transkripti et", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Mesaj göndər", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Mesajları əldə etmək mümkün olmadı", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Mesajları əldə etmək mümkün olmadı. Zəhmət olmasa, yenidən cəhd edin.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Mesajları al", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Mesaj yoxdur. Danışmağa başlamaq üçün mesaj göndərin.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Bağlıdır", + "@chatListHasConnection": {}, + "chatListNoConnection": "Bağlantı yoxdur", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Axtar", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Sevimlilər", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Yüklə", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF çap et", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Dostlarla Paylaş", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Yeni söhbət", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Söhbət", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Söhbəti Seç", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Çekmecəni göstərin", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Söhbətlər mövcud deyil. Zəhmət olmasa, yeniləyin və ya yeni bir söhbət yaradın.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Söhbətləri yenilə", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Yeni söhbət yaradın", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Mətni kopyala", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Yazılır", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Yenilənir...\nZəhmət olmasa, internet bağlantınızı yoxlayın", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Mesaj hazırda işlənir.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Mesaj çox uzundur.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Əlavəni sil", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Mesajı emal etmək mümkün olmadı", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDF-ə ixrac et", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Şəkillər", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Fayllar", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Şəkillər və Fayllar", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Ümid edirəm ki, bu kömək etdi! Bu izah sizə faydalı oldumu?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Bəli, hər şey yaxşıdır!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Söhbət xülasəsini əldə etmək mümkün olmadı", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Söhbət xülasəsi clipboard-a köçürüldü", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Doctorina-nı mobil tətbiqdə sınayın!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Yüklə", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "YÜKLƏ", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Store-dan yükləyin", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Google Play-də əldə edin", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Mesajı Hesabat Et", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Bu mesajı niyə bildirirsiniz?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "İstəyə bağlı: Bu mesajda nəyin səhv olduğunu təsvir edin...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Bu, AI cavablarımızı inkişaf etdirməyə kömək edəcək.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "İmtina et", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Şikayət et", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Fikriniz üçün təşəkkür edirik! Hesabat təqdim edilib.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Hesabat təqdim etmək mümkün olmadı", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Panoya köçürüldü", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Mesajı kopyalamaq mümkün olmadı", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Mesajı Hesabat Et", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Doktorina çatına yükləyin", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Faylları bura sürükləyin və söhbətə əlavə edin", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Bir mesaja 15 fayla qədər əlavə edə bilərsiniz", + "@chatDropZoneText": {}, + "notificationBannerText": "Sizin sağlamlığınızla bağlı vacib bir şey baş verərsə, sizə xəbər verməyimi istəyirsinizmi?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Bəli, mənə bildirin", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Bəlkə sonra", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Bağla", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Bildirişlər sistem səviyyəsində bloklanıb. Onları sistem parametrlərində aktivləşdirin, Doctorina'nın bildirişlərini aktivləşdirmədən əvvəl.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Bildirişlər sistem səviyyəsində bloklanıb. Onları brauzer parametrlərində aktivləşdirin, Doctorina bildirişlərini aktivləşdirmədən əvvəl.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Müşavirəniz haqqında məlumatlı qalın", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina sizə sağlamlığınızla bağlı yeni məlumatlar və yeniləmələr mövcud olduqda xəbər verə bilər.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Bildirişləri aktivləşdir", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Bəlkə sonra", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Davam edərək siz şəxsi məlumatların emalına, cookies-in istifadəsinə, şərtlər və qaydaları qəbul etməyə və

məxfilik siyasətini

təsdiq etməyə razılıq verirsiniz. Həmçinin, konsultasiyanızın lisenziyalı tibbi mütəxəssis deyil, AI ilə aparıldığını qəbul edirsiniz", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "İmtina et", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Əvvəlcə bu söhbəti yadda saxlayın?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Yeni bir məsləhətləşməyə başlamazdan əvvəl bu məsləhətləşməni saxlamaq üçün pulsuz qeydiyyatdan keçin", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Yadda saxlamadan başla", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Qeydiyyatdan keçin", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Danışığı davam etdirmək üçün yuxarıdakı bir seçimi seçin", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Bağla", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Priponu sil", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Drop zonadan faylları seçmək mümkün olmadı", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Zəhmət olmasa, bir mesaj daxil edin və ya bir fayl əlavə edin", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Yükləmələrin tamamlanmasını gözləyin", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Mesaj emal edilir", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Mesaj çox uzundur", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Mesaj hal-hazırda işlənir.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Bağlantı daimi olaraq bağlanıb.", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Serverə bağlantı yoxdur", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Faylları seçmək mümkün olmadı", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Şəkilləri seçmək mümkün olmadı", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Kameradan fotoşəkil çəkmək alınmadı", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Eyni anda {count} fayl əlavə edə bilərsiniz.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Tanınan mətni sil", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Mesaj çox uzundur.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Yükləmələrin tamamlanmasını gözləyin.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "{kind} \"{name}\" artıq əlavə edilib və yenidən əlavə edilmədi.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" {exist} ilə eynidir və əlavə edilmədi.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "{kind} \"{name}\" əlavə edilmədi, çünki maksimum əlavə sayı aşılmışdır.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "\"{name}\" faylı boştur.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Fayl boştur.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "\"{name}\" faylı maksimum icazə verilən ölçünü aşır.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Fayl icazə verilən maksimum ölçünü aşır.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "\"{name}\" faylini emal edərkən bir xəta baş verdi.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Faylın işlənməsi zamanı bir xəta baş verdi.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "\"{name}\" faylı əlavə edilmədi, çünki maksimum əlavə sayı aşılmışdır.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Bir fayl(lar) əlavə edilmədi, çünki maksimum əlavə sayı aşılmışdır.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Bir fayl əlavə edilmədi, çünki maksimum əlavə sayı aşılmışdır.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Adı olmayan bir dosya eklenmeye çalışıldı.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Dəstəklənməyən uzantıya malik bir fayl əlavə edilməyə çalışıldı: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Dəstəklənməyən uzantıya malik bir fayl əlavə edilməyə çalışıldı.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Bir fayl əlavə etmək mümkün deyil.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "«{name}» faylı etibarsızdır və əlavə oluna bilmir.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Bir fayl etibarsızdır və əlavə edilə bilmir.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "\"{name}\" elementi etibarlı fayl deyil.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Bir element etibarlı fayl deyil.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Bir elementi emal edərkən bir xəta baş verdi.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Bir elementin(em) işlənməsi zamanı xəta baş verdi.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Heç bir fayl əlavə edilmədi.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Bəzi fayllar mövcud fayllarla təkrarlanan olduğu üçün atlanıb.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Naməlum bir xəta baş verdi.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Aşağıdakı xətalar faylları əlavə edərkən baş verdi:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Fayl paylaşılmadı: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Bağla", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Paylaş", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Fayl yüklənir...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Fayl yüklənmədi", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Naməlum xəta baş verdi", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Təkrar cəhd edin", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Dəstəklənməyən fayl növü", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "{contentType} önizləməsi mümkün deyil", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Faylı paylaş", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Şəkili göstərmək mümkün olmadı", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Zoom-u sıfırla", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF yüklənməsi baş tutmadı", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Mətn məzmununu deşifrə etmək mümkün olmadı", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Və {count} daha çox səhv var.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Fayl pozulub", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Razılıq tələb olunur", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Davam edərək, Şərtlərimiz, Şəxsi Məlumatların Qorunması Siyasətiçərəzlərin istifadəsi ilə razılaşırsınız və bu konsultasiyanın AI tərəfindən, lisenziyalı tibbi mütəxəssis tərəfindən deyil, təqdim edildiyini təsdiqləyirsiniz.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Bağla", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Sil", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Söhbəti sil", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "“{title}” söküldü.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Söhbəti silmək? ", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Simptomlarınız, diaqnoz xülasəniz və bu çatdakı hər hansı tövsiyələr silinəcək.\nBu əməliyyat geri alına bilməz.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Zoom edin", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Zoom Out", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Zoom-u sıfırlayın", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Paylaş", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Bu gün", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Dünən", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Yalnızca birinci səhifə. Tam faylı yükləmək üçün Paylaş düyməsini istifadə edin.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_be.arb b/example/lib/src/l10n/chat/app_be.arb new file mode 100644 index 0000000..30bab46 --- /dev/null +++ b/example/lib/src/l10n/chat/app_be.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "be", + "drawerTooltipNotifications": "Апавяшчэнні", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Дапамога", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Закрыць", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Уліковы запіс", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Профіль", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Налады акаўнта", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Падарыць на падтрымку", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Падпіска", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Чаты", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Гісторыя чатаў", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Далучаныя дакументы", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Як карыстацца", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Відэаўрокі", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Юрыдычная", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Звязацца з намі", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Паведаміць пра памылку", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Умовы і палажэнні", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Палітыка прыватнасці", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Зваротная сувязь", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Ацаніць прыкладанне", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Падзяліцца з сябрамі", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Выйсці", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Дапамажыце іншым атрымаць медыцынскую дапамогу", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Карыстальнік", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Преміум магчымасці\nз Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Атрымаць", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Далучайцеся", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Версія прыкладання:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Нядаўнія чаты", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Профіль", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Нядаўні чат", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Спампаваць прылады", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Увядзіце паведамленне", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Прыкласці файл", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Надыктаваць", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Скончыць і транскрыбаваць", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Адправіць паведамленне", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Не ўдалося атрымаць паведамленні", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Не атрымалася загрузіць паведамленні. Калі ласка, паспрабуйце зноў.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Атрымаць паведамленні", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Няма паведамленняў. Калі ласка, адпраўце паведамленне, каб пачаць размову.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Падключаны", + "@chatListHasConnection": {}, + "chatListNoConnection": "Няма злучэння", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Пошук", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Абранае", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Спампаваць", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Друкаваць PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Падзяліцца з сябрамі", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Новы чат", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Чат", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Выбраць чат", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Паказаць панэль", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Няма даступных чатаў. Калі ласка, абнавіце або стварыце новы чат.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Абнавіць чаты", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Стварыць новы чат", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Скапіраваць тэкст", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Пішa\nПачакайце трохy", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Абнаўленне...\nКалі ласка, праверце ваша інтэрнэт-злучэнне", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Паведамленне ўжо апрацоўваецца непасрэдна зараз.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Паведамленне занадта доўгае.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Выдаліць ўкладанне", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Не ўдалося апрацаваць паведамленне", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Экспарт у PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Фота", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Камера", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Файлы", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Фотаздымкі і файлы", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Спадзяюся, гэта дапамагло! Ці было тлумачэнне карысным для вас?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Так, усё добра!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Не ўдалося атрымаць зводку чата", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Рэзюмэ чата скапіравана ў буфер абмену", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Спробуйце Doctorina ў мабільным дадатку!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Спампаваць у", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ДАСТУПНА Ў", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Спампаваць у App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Атрымаць у Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Паведаміць пра паведамленне", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Чаму вы паведамляеце пра гэтае паведамленне?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Неабавязкова: Апішыце, што не так з гэтым паведамленнем...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Гэта дапаможа нам палепшыць нашы адказы ІІ", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Скасаванне", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Паведаміць", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Дзякуй за ваш водгук! Жалоба была адпраўлена.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Не ўдалося адправіць справаздачу", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Скапіравана ў буфер абмену", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Не ўдалося скапіяваць паведамленне", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Паведаміць пра паведамленне", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Загрузіце ў чат Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Перацягніце файлы сюды, каб дадаць у чат", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Вы можаце дадаць да 15 файлаў у адно паведамленне", + "@chatDropZoneText": {}, + "notificationBannerText": "Ці хочаце вы, каб я паведамляў вам, калі ўзнікне нешта важнае з вашым здароўем?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Так, паведамляйце мне", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Магчыма пазней", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Зачыніць", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Апавяшчэнні заблакаваныя на ўзроўні сістэмы. Уключыце іх у наладах сістэмы перад актывацыяй апавяшчэнняў Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Апавяшчэнні заблакаваныя на сістэмным узроўні. Уключыце іх у наладах браўзера перад актывацыяй апавяшчэнняў Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Будзьце ў курсе вашай кансультацыі", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina можа паведамляць вам, калі даступныя новыя звесткі або абнаўленні пра ваша здароўе.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Уключыць апавяшчэнні", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Магчыма пазней", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Працягваючы, вы даяце згоду на апрацоўку персанальных даных, выкарыстанне cookies, згаджаецеся з умовамі выкарыстання і пацвярджаеце знаёмства з

палітыкай прыватнасці

. Таксама вы пацвярджаеце, што ваша кансультацыя адбываецца з дапамогай ІІ, а не ліцэнзаванага медыцынскага спецыяліста", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Закрыць", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Спачатку захавайце гэты чат?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Рэгіструйцеся бясплатна, каб захаваць гэтую кансультацыю перад пачаткам новай", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Пачаць без захавання", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Зарэгістравацца", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Каб працягнуць размову, выберыце варыянт вышэй", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Закрыць", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Выдаліць прыкладзенае", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Не ўдалося выбраць файлы з зоны перацягвання", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Калі ласка, увядзіце паведамленне або прыкрэйце файл", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Калі ласка, пачакайце, пакуль загрузкі завершаны", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Паведамленне апрацоўваецца", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Паведамленне занадта доўгае", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Паведамленне ўжо апрацоўваецца.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Злучэнне зачынена назаўсёды", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Няма злучэння з серверам", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Не ўдалося выбраць файлы", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Не ўдалося выбраць выявы", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Не ўдалося зрабіць здымак з камеры", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Вы можаце прыкрепіць да {count} файлаў адначасова", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Ачысціць распазнаны тэкст", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Паведамленне занадта доўгае.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Калі ласка, пачакайце, пакуль загрузкі не завершаны", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Файл {kind} \"{name}\" ужо прыкрэплены і не быў дададзены зноў", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Элемент {kind} \"{name}\" з'яўляецца дублікатам {exist} і не быў дададзены.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Файл {kind} \"{name}\" не быў дададзены, бо перавышаны максімальны лік укладанняў.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Файл \"{name}\" пусты.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Файл пусты.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Файл \"{name}\" перавышае максімальна дапушчальны памер.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Файл перавышае максімальна дапушчальны памер.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Адбылася памылка пры апрацоўцы файла \"{name}\"", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Адбылася памылка пры апрацоўцы файла.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Файл \"{name}\" не быў дададзены, бо перавышана максімальная колькасць укладанняў.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Файл(ы) не былі дададзены, бо перавышаны максімальны ліміт укладанняў.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Файл не быў дададзены, бо перавышана максімальная колькасць укладанняў.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Спроба дадаць файл без імя.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Спроба дадаць файл з непадтрымліваемым пашырэннем: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Спроба дадаць файл з непадтрымліваемым пашырэннем.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Немагчыма дадаць файл.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Файл \"{name}\" недзейсны і не можа быць дададзены", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Файл недзейсны і не можа быць дададзены", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Элемент \"{name}\" не з'яўляецца сапраўдным файлам.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Элемент не з'яўляецца дапушчальным файлам", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Адбылася памылка пры апрацоўцы элемента.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Адбылася памылка пры апрацоўцы элементаў", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Файлы не былі дададзены", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Некаторыя файлы былі прапушчаны з-за дублікатаў з існуючымі файламі", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Адбылася невядомая памылка.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Адбыліся наступныя памылкі пры прыкрепленні файлаў:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Не ўдалося падзяліцца файлам: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Зачыніць", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Падзяліцца", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Загрузка файла...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Не ўдалося загрузіць файл", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Адбылася невядомая памылка", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Паўтарыць", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Непадтрымліваемы тып файла", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Нельга праглядзець {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Падзяліцца файлам", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Не ўдалося адлюстраваць малюнак", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Скінуць маштаб", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Не ўдалося загрузіць PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Не ўдалося дэкадаваць тэкставы змест", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "І яшчэ {count} памылак.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Файл пашкоджаны", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Трэба згода", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Працягваючы, вы згаджаецеся з нашымі Умовамі, Палітыкай канфідэнцыяльнасці і выкарыстаннем кукі і пацвярджаеце, што гэтая кансультацыя прадастаўляецца ІІ, а не ліцэнзаваным медыцынскім спецыялістам.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Зачыніць", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Выдаліць", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Выдаліць чат", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Чат «{title}» паспяхова выдалены.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Выдаліць чат?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Вашы сімптомы, рэзюмэ дыягназу і любыя рэкамендацыі ў гэтым чаце будуць выдалены.\nГэта дзеянне нельга адменіць.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Павялічыць", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Зменшыць", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Скінуць маштаб", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Падзяліцца", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Сёння", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Учора", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Толькі першая старонка. Выкарыстайце «Падзяліцца», каб спампаваць поўны файл.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_bg.arb b/example/lib/src/l10n/chat/app_bg.arb new file mode 100644 index 0000000..9930249 --- /dev/null +++ b/example/lib/src/l10n/chat/app_bg.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "bg", + "drawerTooltipNotifications": "Уведомления", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Помощ", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Затвори", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Акаунт", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Профил", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Настройки на акаунта", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Дарете за подкрепа", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Абонамент", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Чатове", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "История на чата", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Прикачени документи", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Как да използвате", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Видео уроци", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Правен", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Свържете се с нас", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Доклад за грешка", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Условия и правила", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Политика за поверителност", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Обратна връзка", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Оцени приложението", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Сподели с приятели", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Изход", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Помогнете на другите да получат медицинска помощ", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Потребител", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Премиум функции\nс Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Вземи", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Присъединете се", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Версия на приложението:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Наскоро чати", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Профил", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Наскоро чата", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Изтеглете приложения", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Въведете съобщение", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Прикрепете файл", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Диктувай", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Завърши и транскрибирай", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Изпрати съобщение", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Неуспешно извличане на съобщения", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Неуспешно извличане на съобщения. Моля, опитайте отново.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Изтегли съобщения", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Няма налични съобщения.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Свързан", + "@chatListHasConnection": {}, + "chatListNoConnection": "Няма връзка", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Търсене", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Любими", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Изтегли", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Печатай PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Сподели с приятели", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Нов чат", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Чат", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Изберете Чат", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Покажи чекмедже", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Няма налични чатове. Моля, опреснете или създайте нов чат.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Обнови чатовете", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Създайте нов чат", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Копирай текст", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Пише\nМоля, изчакайте", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Актуализиране...\nМоля, проверете интернет връзката си", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Съобщението вече се обработва в момента.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Съобщението е твърде дълго.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Премахни прикачения файл", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Неуспешно обработване на съобщение", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Експорт в PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Снимки", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Камера", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Файлове", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Снимки и файлове", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Надявам се, че помогна! Беше ли полезно това обяснение за вас?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Да, всичко е наред!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Неуспешно извличане на резюме на чата", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Резюме на чата копирано в клипборда", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Опитайте Doctorina в мобилното приложение!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Изтегли от", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ВЗЕМИ ГО НА", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Изтеглете от App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Вземи го от Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Докладвай съобщение", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Защо докладвате това съобщение?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "По избор: Опишете какво не е наред с това съобщение...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Това ще ни помогне да подобрим нашите AI отговори.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Отказ", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Доклад", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Благодарим ви за обратната връзка! Докладът е изпратен.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Неуспешно изпращане на доклад", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Копирано в клипборда", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Неуспешно копиране на съобщението", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Докладвай съобщение", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Качете в чата на Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Плъзнете и пуснете файлове тук, за да добавите в чата", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Можете да добавите до 15 файла в едно съобщение", + "@chatDropZoneText": {}, + "notificationBannerText": "Искате ли да ви уведомя, ако се появи нещо важно за вашето здраве?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Да, известя ме", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Може би по-късно", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Затвори", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Уведомленията са блокирани на системно ниво. Активирайте ги в системните настройки, преди да активирате уведомленията на Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Уведомленията са блокирани на системно ниво. Активирайте ги в настройките на браузъра, преди да активирате уведомленията на Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Останете информирани за вашата консултация", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina може да ви уведомява, когато са налични нови прозрения или актуализации относно вашето здраве.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Активирайте известията", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Може би по-късно", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Като продължавате, вие се съгласявате с обработката на лични данни, използването на cookies, приемате terms and conditions и потвърждавате

privacy policy

. Също така признавате, че консултацията ви се води от AI, а не от лицензиран медицински специалист", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Затвори", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Запазете този чат първо?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Регистрирай се безплатно, за да запазиш тази консултация преди започване на нова", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Стартирай без записване", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Регистрирай се", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "За да продължите разговора, изберете опция по-горе", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Затвори", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Премахни прикачен файл", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Неуспешен избор на файлове от зоната за плъзгане", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Моля, въведете съобщение или прикачете файл", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Моля, изчакайте завършването на качванията", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Съобщението се обработва", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Съобщението е твърде дълго", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Съобщението в момента се обработва.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Връзката е трайно затворена", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Няма връзка със сървъра", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Неуспешен избор на файлове", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Неуспешен избор на изображения", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Неуспешно заснемане на снимка от камерата", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Можете да прикачите до {count} файла наведнъж.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Изчисти разпознатия текст", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Съобщението е твърде дълго.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Моля, изчакайте завършването на качванията.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Файлът {kind} \"{name}\" вече е прикачен и не беше добавен отново.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Файлът {kind} \"{name}\" е дубликат на {exist} и не беше добавен", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Прикаченият файл \"{name}\" от тип {kind} не беше добавен, тъй като е надвишен максималният брой прикачени файлове.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Файлът \"{name}\" е празен.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Файлът е празен.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Файл \"{name}\" надвишава максимално допустимия размер.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Файлът надвишава максимално допустимия размер.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Възникна грешка при обработката на файла \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Възникна грешка при обработката на файла.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Файлът \"{name}\" не беше добавен, защото е надвишен максималният брой прикачени файлове.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Файл(ове) не бяха добавени, тъй като е надвишен максималният брой прикачени файлове.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Файлът не беше добавен, защото е надвишен максималният брой прикачени файлове.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Опит за добавяне на файл без име", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Опит за добавяне на файл с неподдържана разширение: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Опит за добавяне на файл с неподдържано разширение", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Невъзможно е да се добави файл.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Файлът \"{name}\" е невалиден и не може да бъде добавен.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Файлът е невалиден и не може да бъде добавен.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Елементът \"{name}\" не е валиден файл.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Елементът не е валиден файл", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Възникна грешка при обработката на елемент.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Възникна грешка при обработката на елемент(и).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Не са добавени файлове", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Някои файлове бяха пропуснати поради дубликати със съществуващи файлове.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Настъпи неизвестна грешка", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Възникнаха следните грешки при прикачване на файлове:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Неуспешно споделяне на файл: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Затвори", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Сподели", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Зареждане на файла...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Неуспешно зареждане на файла", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Настъпи неизвестна грешка", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Опитай отново", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Неподдържан тип файл", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Не може да се прегледа {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Сподели файл", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Неуспешно показване на изображение", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Нулиране на мащаба", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Неуспешно зареждане на PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Неуспешно декодиране на текстовото съдържание", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "И {count} други грешки.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Файлът е повреден", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Изисква се съгласие", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Като продължавате, вие се съгласявате с нашите Условия, Политика за поверителност и използване на бисквитки и потвърждавате, че тази консултация се предоставя от AI, а не от лицензирано медицинско лице.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Затвори", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Изтрий", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Изтрий чат", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Чат „{title}“ беше успешно изтрит.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Изтриване на чата?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Вашите симптоми, резюме на диагнозата и всякакви препоръки в този чат ще бъдат премахнати.\nТази операция не може да бъде отменена.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Увеличаване", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Намали", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Нулиране на мащаба", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Сподели", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Днес", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Вчера", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Само първа страница. Използвайте Сподели, за да изтеглите целия файл.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_bn.arb b/example/lib/src/l10n/chat/app_bn.arb new file mode 100644 index 0000000..e71e143 --- /dev/null +++ b/example/lib/src/l10n/chat/app_bn.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "bn", + "drawerTooltipNotifications": "বিজ্ঞপ্তি", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "সাহায্য", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "বন্ধ করুন", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "অ্যাকাউন্ট", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "প্রোফাইল", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "অ্যাকাউন্ট সেটিংস", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "সমর্থনের জন্য দান করুন", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "সাবস্ক্রিপশন", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "চ্যাট", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "চ্যাট ইতিহাস", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "সংযুক্ত নথি", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "কিভাবে ব্যবহার করবেন", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "ভিডিও টিউটোরিয়ালস", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "আইনি", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "যোগাযোগ করুন", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "বাগ রিপোর্ট", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "শর্তাবলী", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "গোপনীয়তা নীতি", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "প্রতিক্রিয়া", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "অ্যাপ রেট করুন", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "বন্ধুদের সাথে শেয়ার করুন", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "লগ আউট", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "অন্যদের চিকিৎসা সেবা পাওয়ায় সাহায্য করুন", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "ব্যবহারকারী", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "প্রিমিয়াম বৈশিষ্ট্য\nডক্টোরিনা এর সাথে", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "পাও", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "যোগ দিন", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "অ্যাপ সংস্করণ:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "সাম্প্রতিক চ্যাট", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "প্রোফাইল", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "সাম্প্রতিক চ্যাট", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "অ্যাপ ডাউনলোড করুন", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "বার্তা লিখুন", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "ফাইল সংযুক্ত করুন", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "ডিক্টেট করুন", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "শেষ করুন ও ট্রান্সক্রাইব করুন", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "বার্তা পাঠান", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "বার্তা আনতে ব্যর্থ", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "বার্তা পাওয়া যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "বার্তা আনুন", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "কোনও বার্তা উপলব্ধ নেই।\nআলোচনা শুরু করতে একটি বার্তা পাঠান।", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "সংযুক্ত", + "@chatListHasConnection": {}, + "chatListNoConnection": "সংযোগ নেই", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "অনুসন্ধান", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "পছন্দ", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ডাউনলোড", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "পিডিএফ মুদ্রণ", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "বন্ধুদের সঙ্গে শেয়ার করুন", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "নতুন চ্যাট", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "চ্যাট", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "চ্যাট নির্বাচন", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ড্রয়ার দেখান", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "কোনো চ্যাট উপলব্ধ নেই। অনুগ্রহ করে রিফ্রেশ করুন বা একটি নতুন চ্যাট শুরু করুন।", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "চ্যাট রিফ্রেশ করুন", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "নতুন চ্যাট তৈরি করুন", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "পাঠ কপি করুন", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "টাইপ হচ্ছে\nএক মুহূর্ত", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "আপডেট হচ্ছে...\nআপনার ইন্টারনেট সংযোগটি পরীক্ষা করুন", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "বার্তাটি ইতিমধ্যেই প্রক্রিয়াধীন।", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "বার্তাটি খুব দীর্ঘ।", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "সংযুক্তি সরান", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "বার্তা প্রক্রিয়া করতে ব্যর্থ", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "পিডিএফ-এ রপ্তানি", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "ছবি", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "ক্যামেরা", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ফাইল", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "ছবি এবং ফাইল", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "আশা করি এটি সহায়ক ছিল! এই ব্যাখ্যাটি কি আপনার উপকারে আসল?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "হ্যাঁ, সব ঠিক আছে!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "চ্যাট সারাংশ পুনরুদ্ধারে ব্যর্থ", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "চ্যাট সংক্ষিপ্তসার ক্লিপবোর্ডে অনুলিপি করা হয়েছে", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "মোবাইল অ্যাপে Doctorina চেষ্টা করুন!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "এ ডাউনলোড করুন", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "এখানে উপলব্ধ", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Store থেকে ডাউনলোড করুন", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "গুগল প্লে-এ পান", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "বার্তা রিপোর্ট করুন", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "আপনি কেন এই বার্তাটি রিপোর্ট করছেন?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "ঐচ্ছিক: এই বার্তাটির সাথে কি সমস্যা তা বর্ণনা করুন...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "এটি আমাদের AI প্রতিক্রিয়া উন্নত করতে সাহায্য করবে।", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "বাতিল", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "রিপোর্ট", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ! রিপোর্ট জমা দেওয়া হয়েছে।", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "রিপোর্ট জমা দিতে ব্যর্থ", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "ক্লিপবোর্ডে কপি করা হয়েছে", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "বার্তা কপি করতে ব্যর্থ", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "বার্তা রিপোর্ট করুন", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ডাক্তারিনার চ্যাটে আপলোড করুন", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "ফাইলগুলি এখানে ড্র্যাগ এবং ড্রপ করুন চ্যাটে যোগ করার জন্য", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "একটি বার্তায় সর্বাধিক 15টি ফাইল যোগ করতে পারেন", + "@chatDropZoneText": {}, + "notificationBannerText": "আপনার স্বাস্থ্যের বিষয়ে কিছু গুরুত্বপূর্ণ হলে কি আপনাকে জানাতে চাইবো?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "হ্যাঁ, আমাকে জানাও", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "পরে হয়তো", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "বন্ধ করুন", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "নোটিফিকেশনগুলি সিস্টেম স্তরে ব্লক করা হয়েছে। Doctorina-এর নোটিফিকেশন সক্রিয় করার আগে সিস্টেম সেটিংসে সেগুলি সক্ষম করুন।", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "নোটিফিকেশনগুলি সিস্টেম স্তরে ব্লক করা হয়েছে। Doctorina-এর নোটিফিকেশন সক্রিয় করার আগে ব্রাউজারের সেটিংসে সেগুলি সক্ষম করুন।", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "আপনার পরামর্শ সম্পর্কে আপডেট থাকুন", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina আপনার স্বাস্থ্যের নতুন অন্তর্দৃষ্টি বা আপডেট উপলব্ধ হলে আপনাকে জানাতে পারে।", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "নোটিফিকেশন সক্রিয় করুন", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "পরে হয়তো", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "চালিয়ে যাওয়ার মাধ্যমে আপনি ব্যক্তিগত তথ্য প্রক্রিয়াকরণ, cookies ব্যবহারের সাথে সম্মত হন, terms and conditions-এর সাথে সম্মত হন এবং

privacy policy

স্বীকার করেন। এছাড়াও, আপনি স্বীকার করেন যে আপনার পরামর্শ একটি AI দ্বারা প্রদান করা হচ্ছেন, লাইসেন্সপ্রাপ্ত চিকিৎসা পেশাদারের মাধ্যমে নয়", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "অবস্থান", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "এই চ্যাটটি আগে সংরক্ষণ করুন?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "নতুন একটি কনসালটেশন শুরু করার আগে এই কনসালটেশন সংরক্ষণের জন্য ফ্রিতে সাইন আপ করুন", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "সেভ না করে শুরু করুন", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "সাইন আপ করুন", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "আলাপ চালিয়ে যেতে, উপরে একটি বিকল্প নির্বাচন করুন", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "বন্ধ করুন", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "সংযুক্তি মুছুন", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ড্রপ জোন থেকে ফাইল নির্বাচন করতে ব্যর্থ হয়েছে", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "একটি বার্তা লিখুন বা একটি ফাইল সংযুক্ত করুন", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "আপলোড সম্পন্ন হওয়া পর্যন্ত অপেক্ষা করুন", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "বার্তা প্রক্রিয়াকৃত হচ্ছে", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "বার্তা খুব দীর্ঘ", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "বার্তাটি বর্তমানে প্রক্রিয়াধীন।", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "সংযোগ স্থায়ীভাবে বন্ধ হয়ে গেছে", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "সার্ভারের সাথে সংযোগ নেই", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "ফাইল নির্বাচন করতে ব্যর্থ", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "ছবি নির্বাচন করতে ব্যর্থ", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "ক্যামেরা থেকে ছবি ক্যাপচার করতে ব্যর্থ", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "আপনি একসাথে সর্বাধিক {count}টি ফাইল সংযুক্ত করতে পারেন।", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "স্বীকৃত টেক্সট মুছুন", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "বার্তা খুব দীর্ঘ।", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "আপলোড সম্পন্ন হওয়ার জন্য অপেক্ষা করুন।", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "{kind} \"{name}\" ইতিমধ্যে সংযুক্ত এবং আবার যোগ করা হয়নি।", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "{kind} \"{name}\" {exist} এর একটি অনুলিপি এবং এটি যোগ করা হয়নি।", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "{kind} \"{name}\" সর্বাধিক সংযুক্তির সংখ্যা অতিক্রম করার কারণে যোগ করা হয়নি।", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "\"{name}\" ফাইলটি খালি।", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "ফাইলটি খালি।", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "ফাইল \"{name}\" সর্বাধিক অনুমোদিত আকার অতিক্রম করেছে।", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ফাইলটি সর্বাধিক অনুমোদিত আকার অতিক্রম করেছে।", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "\"{name}\" ফাইলটি প্রক্রিয়া করার সময় একটি ত্রুটি ঘটেছে।", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "ফাইল প্রক্রিয়াকরণের সময় একটি ত্রুটি ঘটেছে।", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "ফাইল \"{name}\" যোগ করা হয়নি কারণ সংযুক্তির সর্বাধিক সংখ্যা অতিক্রম করা হয়েছে।", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "অতিরিক্ত ফাইল যুক্ত করা হয়নি কারণ সংযুক্তির সর্বাধিক সংখ্যা অতিক্রম করা হয়েছে।", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "সংযুক্তির সর্বাধিক সংখ্যা অতিক্রম করার কারণে একটি ফাইল যোগ করা হয়নি।", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "নামের অভাবযুক্ত একটি ফাইল যোগ করার চেষ্টা করা হয়েছে।", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "সমর্থিত নয় এমন একটি এক্সটেনশন সহ একটি ফাইল যোগ করার চেষ্টা করা হয়েছে: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "সমর্থিত নয় এমন এক্সটেনশনের একটি ফাইল যোগ করার চেষ্টা করা হয়েছে।", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "ফাইল যোগ করা সম্ভব নয়।", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "\"{name}\" ফাইলটি অবৈধ এবং এটি যোগ করা যাবে না।", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "একটি ফাইল অবৈধ এবং এটি যোগ করা যাবে না।", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "আইটেম \"{name}\" একটি বৈধ ফাইল নয়।", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "একটি আইটেম বৈধ ফাইল নয়।", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "একটি আইটেম প্রক্রিয়া করার সময় একটি ত্রুটি ঘটেছে।", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "একটি (গুলি) আইটেম প্রক্রিয়া করার সময় একটি ত্রুটি ঘটেছে।", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "কোনো ফাইল যোগ করা হয়নি", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "কিছু ফাইল বিদ্যমান ফাইলের সাথে ডুপ্লিকেট হওয়ার কারণে বাদ দেওয়া হয়েছে।", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "একটি অজানা ত্রুটি ঘটেছে।", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "ফাইল সংযুক্ত করার সময় নিম্নলিখিত ত্রুটিগুলি ঘটেছে:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "ফাইল শেয়ার করতে ব্যর্থ: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "বন্ধ করুন", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "শেয়ার", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "ফাইল লোড হচ্ছে...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "ফাইল লোড করতে ব্যর্থ", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "অজানা ত্রুটি ঘটেছে", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "পুনরায় চেষ্টা করুন", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "সমর্থিত নয় এমন ফাইলের ধরন", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "{contentType} প্রিভিউ করা যাবে না", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "ফাইল শেয়ার করুন", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "ছবি প্রদর্শনে ব্যর্থ", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "জুম রিসেট করুন", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF লোড করতে ব্যর্থ", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "টেক্সট সামগ্রী ডিকোড করতে ব্যর্থ হয়েছে।", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "এবং {count}টি আরও ত্রুটি রয়েছে।", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "ফাইলটি ভুলভাবে তৈরি হয়েছে", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "অনুমতি প্রয়োজন", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "অগ্রসর হতে, আপনি আমাদের শর্তাবলী, গোপনীয়তা নীতি, এবং কুকিজের ব্যবহার এর সাথে একমত হন এবং নিশ্চিত করেন যে এই পরামর্শটি একটি লাইসেন্সপ্রাপ্ত চিকিৎসক নয়, AI দ্বারা প্রদান করা হচ্ছে।", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "বন্ধ করুন", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "মুছে ফেলুন", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "চ্যাট মুছুন", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "চ্যাট “{title}” সফলভাবে মুছে ফেলা হয়েছে।", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "চ্যাট মুছে ফেলবেন?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "এই চ্যাটে আপনার উপসর্গ, নির্ণয়ের সারসংক্ষেপ এবং যেকোনো সুপারিশ মুছে ফেলা হবে।\nএই পদক্ষেপটি পূর্বাবস্থায় ফিরিয়ে আনা যাবে না।", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "জুম ইন", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "জুম আউট", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "জুম রিসেট", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "শেয়ার", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "আজ", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "গতকাল", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "শুধুমাত্র প্রথম পৃষ্ঠা। সম্পূর্ণ ফাইল ডাউনলোড করতে শেয়ার ব্যবহার করুন।", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ca.arb b/example/lib/src/l10n/chat/app_ca.arb new file mode 100644 index 0000000..bcd4a16 --- /dev/null +++ b/example/lib/src/l10n/chat/app_ca.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ca", + "drawerTooltipNotifications": "Notificacions", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Ajuda", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Tanca", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Compte", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Perfil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Configuració del compte", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Dona per donar suport", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Subscripció", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Xats", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Històric de xats", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Documents Adjunts", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Com utilitzar", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Vídeos tutorials", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Legal", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Contacta'ns", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Informe de errors", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Termes i condicions", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Política de privadesa", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Comentaris", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Valora l'App", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Comparteix amb els Amics", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Tancar sessió", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Ajuda altres a rebre atenció mèdica", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Funcions Premium\namb Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Obteniu", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Uneix-te a nosaltres", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Versió de l'aplicació:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Xats Recents", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Perfil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Xat recent", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Descarrega Apps", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Introdueix el missatge", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Adjuntar fitxer", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dictar", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Acaba i transcriu", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Envia missatge", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "No s'han pogut recuperar els missatges", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "No s'han pogut recuperar els missatges. Si us plau, torna a provar.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Obtenir missatges", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "No hi ha missatges disponibles. Si us plau, envia un missatge per començar la conversa.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Connectat", + "@chatListHasConnection": {}, + "chatListNoConnection": "Sense connexió", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Cerca", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favorits", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Descarregar", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Imprimeix PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Comparteix amb els Amics", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Nova xerrada", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Xat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Selecciona xat", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Mostra el calaix", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "No hi ha xats disponibles. Si us plau, actualitza o crea un nou xat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Actualitza xats", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Crea un nou xat", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Copia el text", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Escrivint", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Actualitzant...", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "El missatge s'està processant ara mateix.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "El missatge és massa llarg.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Eliminar l'adjunt", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "No s'ha pogut processar el missatge", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Exportar a PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Fotos", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Càmera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Fitxers", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotos i Fitxers", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Espero que hagi ajudat! Va ser útil aquesta explicació per a tu?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Sí, tot està bé!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "No s'ha pogut recuperar el resum del xat", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Resum del xat copiat al porta-retalls", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Prova Doctorina a l'aplicació mòbil!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Descarrega a la", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "OBTÉ ARA", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Descarrega a l'App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Obteniu-ho a Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Informar missatge", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Per què informes aquest missatge?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Opcional: Descriu què està malament amb aquest missatge...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Això ens ajudarà a millorar les nostres respostes d'IA", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Cancel·la", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Informar", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Gràcies pel vostre comentari! El informe s'ha enviat.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "No s'ha pogut enviar el informe", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Copiat al porta-retalls", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "No s'ha pogut copiar el missatge", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Informar missatge", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Puja a la xat de Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Arrossega i deixa els fitxers aquí per afegir-los al xat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Podeu afegir fins a 15 fitxers a un missatge", + "@chatDropZoneText": {}, + "notificationBannerText": "Vols que t'avisi si hi ha alguna cosa important sobre la teva salut?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Sí, notifica'm", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Potser més tard", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Tancar", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Les notificacions estan bloquejades a nivell del sistema. Habilita-les a la configuració del sistema abans d'activar les notificacions de Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Les notificacions estan bloquejades a nivell del sistema. Habilita-les a la configuració del navegador abans d'activar les notificacions de Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Mantingueu-vos actualitzat sobre la vostra consulta", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina et potrà notificar quan hi hagi noves informacions o actualitzacions sobre la teva salut", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Activar notificacions", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Potser més tard", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "En continuar, vostè admet que accepta el tractament de dades personals, l'ús de cookies, accepta els terms and conditions i reconeix la

privacy policy

. També admet que la seva consulta és amb una IA i no amb un professional mèdic autoritzat", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Descartar", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Desa aquest xat primer?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Registra't gratuïtament per desar aquesta consulta abans de començar-ne una de nova", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Inicia sense desar", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Registrat", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Per continuar la conversa, tria una opció a dalt", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Tanca", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Eliminar adjunt", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "No s'han pogut seleccionar fitxers de la zona de solta", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Si us plau, introdueix un missatge o adjunta un fitxer", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Si us plau, espere que les càrregues es completin", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "El missatge s'està processant", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "El missatge és massa llarg", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "El missatge s'està processant ara mateix.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "La connexió està tancada de manera permanent", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Sense connexió amb el servidor", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "No s'han pogut seleccionar fitxers", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "No s'han pogut seleccionar imatges", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "No s'ha pogut capturar la foto de la càmera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Podeu adjuntar fins a {count} fitxers alhora.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Esborra el text reconegut", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "El missatge és massa llarg.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Si us plau, espere que les càrregues es completin", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "El {kind} \"{name}\" ja està adjunt i no s'ha afegit de nou.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "El {kind} \"{name}\" és un duplicat de {exist} i no s'ha afegit.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "El {kind} \"{name}\" no s'ha afegit perquè s'ha superat el nombre màxim d'adjunts.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "El fitxer \"{name}\" està buit.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "El fitxer està buit.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "El fitxer \"{name}\" supera la mida màxima permesa.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "El fitxer supera la mida màxima permesa.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "S'ha produït un error en processar el fitxer \"{name}\"", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "S'ha produït un error en processar el fitxer.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "El fitxer \"{name}\" no s'ha afegit perquè s'ha superat el nombre màxim d'adjunts.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "A file(s) was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "No s'ha afegit un fitxer perquè s'ha superat el nombre màxim d'adjunts.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "S'ha intentat afegir un fitxer sense nom", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "S'ha intentat afegir un fitxer amb una extensió no compatible: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "S'ha intentat afegir un fitxer amb una extensió no compatible", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Impossible d'afegir un fitxer.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "El fitxer \"{name}\" no és vàlid i no es pot afegir", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Un fitxer és invàlid i no es pot afegir.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "L'element \"{name}\" no és un fitxer vàlid.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Un element no és un fitxer vàlid.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "S'ha produït un error en processar un element", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "S'ha produït un error en processar un o més elements", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "No s'han afegit fitxers.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Alguns fitxers s'han omès a causa de duplicats amb fitxers existents.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "S'ha produït un error desconegut.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "S'han produït els següents errors en adjuntar fitxers:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "No s'ha pogut compartir el fitxer: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Tanca", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Comparteix", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Carregant fitxer...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "No s'ha pogut carregar el fitxer", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "S'ha produït un error desconegut", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Torna a provar", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Tipus de fitxer no compatible", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "No es pot previsualitzar {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Comparteix fitxer", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "No s'ha pogut mostrar la imatge", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Restableix zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "No s'ha pogut carregar el PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "No s'ha pogut desxifrar el contingut de text.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "I {count} errors més.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "El fitxer està mal format", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Consentiment Requerit", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "En continuar, accepteu les nostres Condicions, Política de privacitat, i ús de galetes, i confirmeu que aquesta consulta és proporcionada per IA, no per un professional mèdic autoritzat.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Tanca", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Esborrar", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Esborra el xat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Xat “{title}” eliminat amb èxit.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Esborrar el xat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Els teus símptomes, resum del diagnòstic i qualsevol recomanació d'aquest xat seran eliminats.\nAquesta acció no es pot desfer.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Augmentar", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Reduir", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Restableix Zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Compartir", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Avui", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Ahir", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Aquesta vista prèvia pot mostrar només la primera pàgina. Descarrega el fitxer per veure el document complet.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_cs.arb b/example/lib/src/l10n/chat/app_cs.arb new file mode 100644 index 0000000..5deb261 --- /dev/null +++ b/example/lib/src/l10n/chat/app_cs.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "cs", + "drawerTooltipNotifications": "Oznámení", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Nápověda", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Zavřít", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Účet", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Nastavení účtu", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Darujte na podporu", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Předplatné", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Chaty", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Historie chatu", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Připojené dokumenty", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Jak používat", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Video tutoriály", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Právní", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Kontaktujte nás", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Hlášení chyb", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Podmínky a ujednání", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Zásady ochrany osobních údajů", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Zpětná vazba", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Ohodnoťte aplikaci", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Sdílet s přáteli", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Odhlásit se", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Pomozte ostatním získat lékařskou péči", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Uživatel", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Prémiové funkce\ns Doctorinou", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Získejte", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Připojte se k nám", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Verze aplikace:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Nedávné chaty", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Nedávný chat", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Stáhnout aplikace", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Zadejte zprávu", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Připojit soubor", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Diktovat", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Dokončit a přepsat", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Odeslat zprávu", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Nepodařilo se načíst zprávy", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Nepodařilo se načíst zprávy. Zkuste to prosím znovu.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Načíst zprávy", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Žádné zprávy nejsou k dispozici. Prosím, pošlete zprávu, abyste zahájili konverzaci.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Připojeno", + "@chatListHasConnection": {}, + "chatListNoConnection": "Žádné připojení", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Hledat", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Oblíbené", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Stáhnout", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Tisknout PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Sdílet s přáteli", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Nový chat", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Vyberte chat", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Zobrazit zásuvku", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Žádné chaty nejsou k dispozici. Prosím, obnovte stránku nebo vytvořte nový chat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Obnovit chaty", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Vytvořit nový chat", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Kopírovat text", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Píšu", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Aktualizuji...\nZkontrolujte prosím své internetové připojení", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Zpráva se již zpracovává.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Zpráva je příliš dlouhá.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Odstranit přílohu", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Nepodařilo se zpracovat zprávu", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Exportovat do PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Fotografie", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Soubory", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotografie a soubory", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Doufám, že to pomohlo! Bylo toto vysvětlení užitečné pro vás?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Ano, je to všechno v pořádku!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Nepodařilo se načíst shrnutí chatu", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Shrnutí chatu zkopírováno do schránky", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Vyzkoušejte Doctorina v mobilní aplikaci!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Stáhnout na", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "STÁHNOUT", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Stáhnout z App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Získejte to na Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Nahlásit zprávu", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Proč hlásíte tuto zprávu?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Volitelné: Popište, co je špatně s touto zprávou...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "To nám pomůže zlepšit naše odpovědi AI.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Zrušit", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Nahlásit", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Děkujeme za vaši zpětnou vazbu! Zpráva byla odeslána.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Odeslání zprávy se nezdařilo", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Zkopírováno do schránky", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Kopírování zprávy se nezdařilo", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Nahlásit zprávu", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Nahrajte do chatu Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Přetáhněte sem soubory, které chcete přidat do chatu", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Můžete přidat až 15 souborů k jedné zprávě", + "@chatDropZoneText": {}, + "notificationBannerText": "Chtěli byste, abych vás informoval, pokud se objeví něco důležitého ohledně vašeho zdraví?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Ano, informujte mě", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Možná později", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Zavřít", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Oznámení jsou blokována na úrovni systému. Povolte je v systémových nastaveních před aktivací oznámení Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Oznámení jsou blokována na systémové úrovni. Povolte je v nastavení prohlížeče před aktivací oznámení Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Buďte informováni o své konzultaci", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina vás může informovat, když budou k dispozici nové poznatky nebo aktualizace o vašem zdraví.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Povolit oznámení", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Možná později", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Pokračováním vyjadřujete souhlas se zpracováním osobních údajů, používáním cookies, souhlasíte s podmínkami a potvrzujete

zásady ochrany osobních údajů

. Také potvrzujete, že vaše konzultace probíhá s AI a ne s licencovaným lékařským odborníkem", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Zavřít", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Nejprve uložit tuto konverzaci?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Zaregistrujte se zdarma a uložte si tuto konzultaci před zahájením nové", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Spustit bez uložení", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Zaregistrovat se", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Pro pokračování v konverzaci vyberte možnost výše", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Zavřít", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Odstranit přílohu", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Nepodařilo se vybrat soubory z oblasti pro přetahování", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Prosím, zadejte zprávu nebo připojte soubor", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Čekejte na dokončení nahrávání", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Zpráva se zpracovává", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Zpráva je příliš dlouhá", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Zpráva se právě zpracovává.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Připojení je trvale uzavřeno", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Žádné připojení k serveru", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Nepodařilo se vybrat soubory", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Nepodařilo se vybrat obrázky", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Nepodařilo se zachytit fotografii z kamery", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Můžete připojit až {count} souborů najednou.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Vymazat rozpoznaný text", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Zpráva je příliš dlouhá.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Prosím, počkejte na dokončení nahrávání.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Soubor {kind} \"{name}\" je již připojen a nebyl znovu přidán.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Soubor {kind} \"{name}\" je duplicitou {exist} a nebyl přidán.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Příloha \"{name}\" typu {kind} nebyla přidána, protože byl překročen maximální počet příloh.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Soubor \"{name}\" je prázdný.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Soubor je prázdný.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Soubor \"{name}\" překračuje maximální povolenou velikost.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Soubor překračuje maximální povolenou velikost.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Došlo k chybě při zpracování souboru \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Došlo k chybě při zpracování souboru.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Soubor \"{name}\" nebyl přidán, protože byl překročen maximální počet příloh.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Soubor(y) nebyl(y) přidán(y), protože byl překročen maximální počet příloh.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Soubor nebyl přidán, protože byl překročen maximální počet příloh.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Byl pokus o přidání souboru bez názvu", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Byl pokus o přidání souboru s nepodporovanou příponou: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Byl pokus o přidání souboru s nepodporovanou příponou", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Nelze přidat soubor.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Soubor \"{name}\" je neplatný a nelze ho přidat.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Soubor je neplatný a nelze jej přidat.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Položka \"{name}\" není platný soubor.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Položka není platný soubor", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Došlo k chybě při zpracování položky.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Došlo k chybě při zpracování položky/položek.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Nebyl přidán žádný soubor", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Některé soubory byly přeskočeny kvůli duplikátům s existujícími soubory.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Došlo k neznámé chybě", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Při připojování souborů došlo k následujícím chybám:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Sdílení souboru se nezdařilo: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Zavřít", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Sdílet", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Načítání souboru...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Nepodařilo se načíst soubor", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Došlo k neznámé chybě", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Zkusit znovu", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Nepodporovaný typ souboru", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Nelze zobrazit {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Sdílet soubor", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Nepodařilo se zobrazit obrázek", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Resetovat přiblížení", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Nepodařilo se načíst PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Nepodařilo se dekódovat textový obsah", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "A {count} dalších chyb.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Soubor je poškozený", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Souhlas vyžadován", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Pokračováním souhlasíte s našimi Podmínkami, Zásadami ochrany osobních údajů a používáním cookies a potvrzujete, že tato konzultace je poskytována AI, nikoli licencovaným zdravotnickým pracovníkem.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Zavřít", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Smazat", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Smazat chat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat „{title}“ byl úspěšně smazán.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Smazat chat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Vaše příznaky, shrnutí diagnózy a jakékoli doporučení v tomto chatu budou odstraněny.\nTuto akci nelze vrátit zpět.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Přiblížit", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Zmenšit", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Obnovit přiblížení", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Sdílet", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Dnes", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Včera", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Pouze první stránka. Použijte Sdílet pro stažení celého souboru.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_da.arb b/example/lib/src/l10n/chat/app_da.arb new file mode 100644 index 0000000..3415aad --- /dev/null +++ b/example/lib/src/l10n/chat/app_da.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "da", + "drawerTooltipNotifications": "Notifikationer", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Hjælp", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Luk", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Konto", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Kontoindstillinger", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Doner for at støtte", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Abonnement", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Chats", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Chat-historik", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Vedhæftede Dokumenter", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Sådan bruges", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Video tutorials", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Juridisk", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Kontakt Os", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Fejlrapport", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Vilkår og betingelser", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Privatlivspolitik", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Feedback", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Vurder App", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Del med Venner", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Log ud", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Hjælp andre med at modtage medicinsk behandling", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Premiumfunktioner\nmed Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Få", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Deltag hos os", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "App-version:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Seneste Chats", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Seneste chat", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Download Apps", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Indtast besked", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Vedhæft fil", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Diktér", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Afslut & Transskriber", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Send besked", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Kunne ikke hente beskeder", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Kunne ikke hente beskeder. Prøv venligst igen.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Hent beskeder", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Ingen beskeder tilgængelige. Send venligst en besked for at starte samtalen.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Forbundet", + "@chatListHasConnection": {}, + "chatListNoConnection": "Ingen forbindelse", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Søg", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favoritter", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Download", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Print PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Del med Venner", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Ny chat", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Vælg chat", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Vis skuffe", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Ingen chats tilgængelige. Venligst opdater eller opret en ny chat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Opdater chats", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Opret ny chat", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Kopier tekst", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Skriver", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Opdaterer...", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Beskeden behandles allerede lige nu.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Beskeden er for lang.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Fjern vedhæftning", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Kunne ikke behandle besked", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Eksporter til PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Fotos", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Filer", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotos og Filer", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Jeg håber, det hjalp! Var denne forklaring nyttig for dig?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Ja, det er alt godt!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Kunne ikke hente chatoversigt", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Samtalesammendrag kopieret til udklipsholder", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Prøv Doctorina i mobilappen!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Download på den", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "HENT DET PÅ", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Download på App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Få det på Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Rapporter besked", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Hvorfor rapporterer du denne besked?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Valgfrit: Beskriv hvad der er galt med denne besked...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Dette vil hjælpe os med at forbedre vores AI-svar", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Annuller", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Rapportér", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Tak for din feedback! Rapporten er blevet indsendt.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Fejl ved indsendelse af rapport", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Kopieret til udklipsholderen", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Kunne ikke kopiere besked", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Rapporter besked", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Upload til Doctorina chat", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Træk og slip filer her for at tilføje til chat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Du kan tilføje op til 15 filer til én besked", + "@chatDropZoneText": {}, + "notificationBannerText": "Vil du have, at jeg skal underrette dig, hvis der kommer noget vigtigt om dit helbred?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Ja, giv mig besked", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Måske senere", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Luk", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Notifikationer er blokeret på systemniveau. Aktiver dem i systemindstillingerne, før du aktiverer Doctorinas notifikationer.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Notifikationer er blokeret på systemniveau. Aktiver dem i browserindstillingerne, før du aktiverer Doctorinas notifikationer.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Hold dig opdateret om din konsultation", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina kan underrette dig, når der er nye indsigter eller opdateringer om dit helbred", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Aktivér meddelelser", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Måske senere", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Ved at fortsætte accepterer du behandlingen af persondata, brugen af cookies, accepterer terms and conditions og anerkender

privacy policy

. Du anerkender også, at din konsultation er med en AI og ikke med en autoriseret læge", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Afvis", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Gem denne chat først?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Tilmeld dig gratis for at gemme denne konsultation, før du starter en ny", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Start uden at gemme", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Tilmeld dig", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "For at fortsætte samtalen, vælg en mulighed ovenfor", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Luk", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Fjern vedhæftning", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Kunne ikke vælge filer fra dropzone", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Indtast venligst en besked eller vedhæft en fil", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Vent venligst på, at uploads er færdige", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Besked bliver behandlet", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Beskeden er for lang", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Beskeden bliver allerede behandlet lige nu.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Forbindelsen er permanent lukket", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Ingen forbindelse til serveren", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Kunne ikke vælge filer", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Kunne ikke vælge billeder", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Kunne ikke tage foto fra kameraet", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Du kan vedhæfte op til {count} filer ad gangen.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Ryd genkendt tekst", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Beskeden er for lang.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Vent venligst på, at uploads bliver færdige", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "{kind} \"{name}\" er allerede vedhæftet og blev ikke tilføjet igen.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Den {kind} \"{name}\" er en duplikat af {exist} og blev ikke tilføjet.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Den {kind} \"{name}\" blev ikke tilføjet, fordi det maksimale antal vedhæftninger er overskredet.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Filen \"{name}\" er tom.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Filen er tom.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Filen \"{name}\" overskrider den maksimalt tilladte størrelse.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Filstørrelsen overskrider den maksimalt tilladte størrelse.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Der opstod en fejl under behandlingen af filen \"{name}\"", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Der opstod en fejl under behandlingen af filen.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Filen \"{name}\" blev ikke tilføjet, fordi det maksimale antal vedhæftede filer er overskredet.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "A file(s) was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "En fil blev ikke tilføjet, fordi det maksimale antal vedhæftninger er overskredet.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "En fil uden navn blev forsøgt tilføjet", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Der blev forsøgt at tilføje en fil med en ikke-understøttet filtype: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "En fil med en ikke-understøttet filtype blev forsøgt tilføjet", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Umuligt at tilføje en fil.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Filen \"{name}\" er ugyldig og kan ikke tilføjes", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "En fil er ugyldig og kan ikke tilføjes.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Elementet \"{name}\" er ikke en gyldig fil.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Et element er ikke en gyldig fil.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Der opstod en fejl under behandlingen af et element", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Der opstod en fejl under behandling af et element(er)", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Ingen filer blev tilføjet.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Nogle filer blev sprunget over på grund af duplikater med eksisterende filer.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Der opstod en ukendt fejl.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Følgende fejl opstod under vedhæftning af filer:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Kunne ikke dele fil: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Luk", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Del", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Indlæser fil...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Kunne ikke indlæse filen", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Der opstod en ukendt fejl", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Prøv igen", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Ikke-understøttet filtype", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Kan ikke forhåndsvise {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Del fil", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Kunne ikke vise billede", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Nulstil zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Kunne ikke indlæse PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Kunne ikke dekode tekstindhold.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Og {count} flere fejl.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Fil er malformateret", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Samtykke Påkrævet", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Ved at fortsætte accepterer du vores Vilkår, Privatlivspolitik, og brug af cookies, og bekræfter, at denne konsultation leveres af AI, ikke en autoriseret sundhedsprofessionel.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Luk", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Slet", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Slet chat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat “{title}” slettet med succes.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Slet chat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Dine symptomer, diagnoseoversigt og eventuelle anbefalinger i denne chat vil blive fjernet.\nDenne handling kan ikke fortrydes.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Zoom Ind", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Zoom Ud", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Nulstil Zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Del", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "I dag", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "I går", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Denne forhåndsvisning kan kun vise den første side. Download filen for at se det fulde dokument.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_de.arb b/example/lib/src/l10n/chat/app_de.arb new file mode 100644 index 0000000..bc70ced --- /dev/null +++ b/example/lib/src/l10n/chat/app_de.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "de", + "drawerTooltipNotifications": "Benachrichtigungen", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Hilfe", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Schließen", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Konto", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Kontoeinstellungen", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Spenden zur Unterstützung", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Abonnement", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Chats", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Chatverlauf", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Anhänge", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Anleitung", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Video-Tutorials", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Rechtliches", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Kontaktieren Sie uns", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Fehlermeldung ", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Geschäftsbedingungen", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Datenschutzrichtlinie", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Feedback", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "App bewerten", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Mit Freunden teilen", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Abmelden", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Anderen helfen, medizinische Versorgung zu erhalten", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Benutzer", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Premium-Funktionen mit Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Holen", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Mach mit", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Version:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Kürzliche Chats", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Letzter Chat", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Apps herunterladen", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Nachricht eingeben", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Datei anhängen", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Diktieren", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Beenden & Transkribieren", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Nachricht senden", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Nachrichten konnten nicht abgerufen werden", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Nachrichten konnten nicht abgerufen werden. Bitte versuchen Sie es erneut.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Nachrichten abrufen", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Keine Nachrichten verfügbar. Bitte senden Sie eine Nachricht, um das Gespräch zu beginnen.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Verbunden", + "@chatListHasConnection": {}, + "chatListNoConnection": "Keine Verbindung", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Suchen", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favoriten", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Herunterladen", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF drucken", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Mit Freunden teilen", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Neuer Chat", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Chat auswählen", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Schublade anzeigen", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Keine Chats verfügbar. Bitte aktualisieren Sie oder starten Sie einen neuen Chat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Chats aktualisieren", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Neuen Chat erstellen", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Text kopieren", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Schreibt\nEinen Moment", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Aktualisiere...\nBitte überprüfen Sie Ihre Internetverbindung", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Die Nachricht wird bereits verarbeitet.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Die Nachricht ist zu lang.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Anhang entfernen.", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Fehler beim Verarbeiten der Nachricht.", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Als PDF exportieren", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Fotos", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Dateien", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotos und Dateien", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Ich hoffe, das hat geholfen! War diese Erklärung für dich hilfreich?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Ja, alles ist gut!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Chat-Zusammenfassung konnte nicht abgerufen werden", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Chat-Zusammenfassung in die Zwischenablage kopiert", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Probieren Sie Doctorina in der mobilen App!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Herunterladen im", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ERHÄLTLICH BEI", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Im App Store herunterladen", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Holen Sie es sich im Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Nachricht melden", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Warum melden Sie diese Nachricht?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Optional: Beschreiben Sie, was mit dieser Nachricht nicht stimmt...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Das wird uns helfen, unsere KI-Antworten zu verbessern.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Abbrechen", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Bericht", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Danke für Ihr Feedback! Der Bericht wurde eingereicht.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Bericht konnte nicht gesendet werden", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "In die Zwischenablage kopiert", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Nachricht konnte nicht kopiert werden", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Nachricht melden", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Laden Sie in den Doctorina-Chat hoch", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Ziehen Sie Dateien hierher, um sie zum Chat hinzuzufügen", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Sie können bis zu 15 Dateien in eine Nachricht hinzufügen", + "@chatDropZoneText": {}, + "notificationBannerText": "Möchten Sie, dass ich Sie benachrichtige, wenn etwas Wichtiges zu Ihrer Gesundheit aufkommt?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Ja, benachrichtige mich", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Vielleicht später", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Schließen", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Benachrichtigungen sind auf Systemebene blockiert. Aktivieren Sie sie in den Systemeinstellungen, bevor Sie die Benachrichtigungen von Doctorina aktivieren.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Benachrichtigungen sind auf Systemebene blockiert. Aktivieren Sie sie in den Browsereinstellungen, bevor Sie die Benachrichtigungen von Doctorina aktivieren.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Bleiben Sie über Ihre Konsultation informiert", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina kann Sie benachrichtigen, wenn neue Erkenntnisse oder Updates zu Ihrer Gesundheit verfügbar sind.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Benachrichtigungen aktivieren", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Vielleicht später", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Indem Sie fortfahren, stimmen Sie der Verarbeitung personenbezogener Daten, der Verwendung von Cookies zu, akzeptieren die Nutzungsbedingungen und bestätigen die

Datenschutzrichtlinie

. Außerdem bestätigen Sie, dass Ihre Beratung durch eine KI und nicht durch einen lizenzierten Mediziner erfolgt", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Schließen", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Chat zuerst speichern?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Melde dich kostenlos an, um diese Beratung zu speichern, bevor du eine neue beginnst", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Ohne Speichern starten", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Registrieren", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Um das Gespräch fortzusetzen, wählen Sie eine Option oben", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Schließen", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Anhang entfernen", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Fehler beim Auswählen von Dateien aus dem Ablagebereich", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Bitte geben Sie eine Nachricht ein oder fügen Sie eine Datei an", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Bitte warten Sie, bis die Uploads abgeschlossen sind", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Nachricht wird verarbeitet", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Die Nachricht ist zu lang", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Die Nachricht wird gerade verarbeitet.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Die Verbindung ist dauerhaft geschlossen", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Keine Verbindung zum Server", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Dateien konnten nicht ausgewählt werden", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Bilder konnten nicht ausgewählt werden", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Fehler beim Aufnehmen eines Fotos mit der Kamera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Sie können bis zu {count} Dateien gleichzeitig anhängen.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Erkannten Text löschen", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Die Nachricht ist zu lang.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Bitte warten Sie, bis die Uploads abgeschlossen sind.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Der {kind} \"{name}\" ist bereits angehängt und wurde nicht erneut hinzugefügt.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Die {kind} \"{name}\" ist ein Duplikat von {exist} und wurde nicht hinzugefügt.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Die {kind} \"{name}\" wurde nicht hinzugefügt, da die maximale Anzahl an Anhängen überschritten wurde.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Die Datei \"{name}\" ist leer.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Die Datei ist leer.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Die Datei \"{name}\" überschreitet die maximal erlaubte Größe.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Die Datei überschreitet die maximal erlaubte Größe.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Beim Verarbeiten der Datei \"{name}\" ist ein Fehler aufgetreten.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Beim Verarbeiten der Datei ist ein Fehler aufgetreten.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Die Datei \"{name}\" wurde nicht hinzugefügt, da die maximale Anzahl an Anhängen überschritten wurde.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Eine Datei(en) wurde nicht hinzugefügt, da die maximale Anzahl an Anhängen überschritten wurde.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Eine Datei wurde nicht hinzugefügt, da die maximale Anzahl an Anhängen überschritten wurde.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Es wurde versucht, eine Datei ohne Namen hinzuzufügen.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Eine Datei mit einer nicht unterstützten Erweiterung wurde versucht hinzuzufügen: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Eine Datei mit einer nicht unterstützten Erweiterung wurde versucht hinzuzufügen.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Es ist unmöglich, eine Datei hinzuzufügen.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Die Datei \"{name}\" ist ungültig und kann nicht hinzugefügt werden.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Eine Datei ist ungültig und kann nicht hinzugefügt werden.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Der Artikel \"{name}\" ist keine gültige Datei.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Ein Element ist keine gültige Datei", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Beim Verarbeiten eines Elements ist ein Fehler aufgetreten.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Beim Verarbeiten eines Artikels ist ein Fehler aufgetreten.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Es wurden keine Dateien hinzugefügt.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Einige Dateien wurden aufgrund von Duplikaten mit vorhandenen Dateien übersprungen.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Ein unbekannter Fehler ist aufgetreten.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Die folgenden Fehler sind beim Anhängen von Dateien aufgetreten:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Datei konnte nicht geteilt werden: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Schließen", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Teilen", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Datei wird geladen...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Datei konnte nicht geladen werden", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Unbekannter Fehler aufgetreten", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Wiederholen", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Nicht unterstützter Dateityp", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Kann {contentType} nicht anzeigen", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Datei teilen", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Bild konnte nicht angezeigt werden", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Zoom zurücksetzen", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF konnte nicht geladen werden", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Fehler beim Dekodieren des Textinhalts.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Und {count} weitere Fehler.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Datei ist fehlerhaft", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Zustimmung erforderlich", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Indem Sie fortfahren, stimmen Sie unseren Nutzungsbedingungen, Datenschutzbestimmungen und der Verwendung von Cookies zu und bestätigen, dass diese Beratung von KI und nicht von einem lizenzierten medizinischen Fachmann bereitgestellt wird.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Schließen", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Löschen", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Chat löschen", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat „{title}“ erfolgreich gelöscht.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Chat löschen?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Ihre Symptome, die Zusammenfassung der Diagnose und alle Empfehlungen in diesem Chat werden entfernt.\nDiese Aktion kann nicht rückgängig gemacht werden.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Vergrößern", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Verkleinern", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Zoom zurücksetzen", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Teilen", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Heute", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Gestern", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Nur erste Seite. Verwenden Sie Teilen, um die vollständige Datei herunterzuladen.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_el.arb b/example/lib/src/l10n/chat/app_el.arb new file mode 100644 index 0000000..8530fb3 --- /dev/null +++ b/example/lib/src/l10n/chat/app_el.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "el", + "drawerTooltipNotifications": "Ειδοποιήσεις", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Βοήθεια", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Κλείσιμο", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Λογαριασμός", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Προφίλ", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Ρυθμίσεις Λογαριασμού", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Δωρεά για υποστήριξη", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Συνδρομή", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Συνομιλίες", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Ιστορικό συνομιλιών", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Συνημμένα Έγγραφα", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Πώς να χρησιμοποιήσετε", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Βίντεο Μαθήματα", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Νομικό", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Επικοινωνήστε μαζί μας", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Αναφορά σφάλματος", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Όροι και Προϋποθέσεις", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Πολιτική Απορρήτου", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Ανατροφοδότηση", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Βαθμολογήστε την εφαρμογή", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Μοιραστείτε με φίλους", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Αποσύνδεση", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Βοηθήστε άλλους να λάβουν ιατρική φροντίδα", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Χρήστης", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Προνομιακά Χαρακτηριστικά\nμε την Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Αποκτήστε", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Ελάτε μαζί μας", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Έκδοση εφαρμογής:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Πρόσφατες Συνομιλίες", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Προφίλ", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Πρόσφατη συνομιλία", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Κατεβάστε εφαρμογές", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Εισάγετε μήνυμα", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Επισυνάψτε αρχείο", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Δικτάτω", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Ολοκλήρωση & Μεταγραφή", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Στείλτε μήνυμα", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Αποτυχία λήψης μηνυμάτων", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Αποτυχία λήψης μηνυμάτων. Παρακαλώ δοκιμάστε ξανά.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Ανακτήστε μηνύματα", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Δεν υπάρχουν διαθέσιμα μηνύματα\nΣτείλτε ένα μήνυμα για να ξεκινήσετε τη συνομιλία.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Συνδεδεμένο", + "@chatListHasConnection": {}, + "chatListNoConnection": "Καμία σύνδεση", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Αναζήτηση", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Αγαπημένα", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Λήψη", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Εκτύπωση PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Μοιραστείτε με φίλους", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Νέα συνομιλία", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Συνομιλία", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Επιλέξτε Συνομιλία", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Εμφάνιση συρταριού", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Δεν υπάρχουν διαθέσιμες συνομιλίες. Παρακαλώ ανανεώστε ή δημιουργήστε μια νέα συνομιλία.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Ανανέωση συνομιλιών", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Δημιουργία νέας συνομιλίας", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Αντιγραφή κειμένου", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Πληκτρολογώντας", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Ενημέρωση...\nΕλέγξτε τη σύνδεση στο διαδίκτυο", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Το μήνυμα επεξεργάζεται ήδη αυτή τη στιγμή.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Το μήνυμα είναι πολύ μεγάλο.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Αφαίρεση συνημμένου", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Αποτυχία επεξεργασίας μηνύματος", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Εξαγωγή σε PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Φωτογραφίες", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Κάμερα", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Αρχεία", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Φωτογραφίες και Αρχεία", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Ελπίζω να βοήθησε! Ήταν αυτή η εξήγηση χρήσιμη για εσάς;", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Ναι, όλα είναι καλά!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Αποτυχία ανάκτησης περιλήψεως συνομιλίας", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Η περίληψη συνομιλίας αντιγράφηκε στο πρόχειρο", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Δοκιμάστε το Doctorina στην κινητή εφαρμογή!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Κατεβάστε στο", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "Πάρτε το", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Κατεβάστε από το App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Αποκτήστε το στο Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Αναφορά Μηνύματος", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Γιατί αναφέρετε αυτό το μήνυμα;", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Προαιρετικά: Περιγράψτε τι είναι λάθος με αυτό το μήνυμα...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Αυτό θα μας βοηθήσει να βελτιώσουμε τις απαντήσεις της AI μας.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Ακύρωση", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Αναφορά", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Σας ευχαριστούμε για την ανατροφοδότηση! Η αναφορά έχει υποβληθεί.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Αποτυχία υποβολής αναφοράς", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Αντιγράφηκε στο πρόχειρο", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Αποτυχία αντιγραφής μηνύματος", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Αναφορά Μηνύματος", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Ανεβάστε στο chat του Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Σύρετε και αποθέστε αρχεία εδώ για να προσθέσετε στη συνομιλία", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Μπορείτε να προσθέσετε έως 15 αρχεία σε ένα μήνυμα", + "@chatDropZoneText": {}, + "notificationBannerText": "Θα θέλατε να σας ενημερώσω αν προκύψει κάτι σημαντικό σχετικά με την υγεία σας;", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Ναι, ειδοποίησέ με", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Ίσως αργότερα", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Κλείσιμο", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Οι ειδοποιήσεις είναι αποκλεισμένες σε επίπεδο συστήματος. Ενεργοποιήστε τις στις ρυθμίσεις του συστήματος πριν ενεργοποιήσετε τις ειδοποιήσεις του Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Οι ειδοποιήσεις είναι αποκλεισμένες σε επίπεδο συστήματος. Ενεργοποιήστε τις στις ρυθμίσεις του προγράμματος περιήγησης πριν ενεργοποιήσετε τις ειδοποιήσεις του Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Μείνετε ενημερωμένοι για τη συμβουλή σας", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Η Doctorina μπορεί να σας ειδοποιήσει όταν είναι διαθέσιμες νέες πληροφορίες ή ενημερώσεις σχετικά με την υγεία σας.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Ενεργοποίηση ειδοποιήσεων", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Ίσως αργότερα", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Συνεχίζοντας, συμφωνείτε με την επεξεργασία προσωπικών δεδομένων, τη χρήση των cookies, αποδέχεστε τους όρους και τις προϋποθέσεις και αναγνωρίζετε την

πολιτική απορρήτου

. Επίσης, αναγνωρίζετε πως η συμβουλευτική σας παρέχεται από AI και όχι από αδειοδοτημένο ιατρικό εμπειρογνώμονα", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Απόρριψη", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Αποθήκευση αυτής της συνομιλίας πρώτα;", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Εγγραφείτε δωρεάν για να αποθηκεύσετε αυτή τη διαβούλευση πριν ξεκινήσετε μια νέα", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Έναρξη χωρίς αποθήκευση", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Εγγραφή", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Για να συνεχίσετε τη συνομιλία, επιλέξτε μια επιλογή παραπάνω", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Κλείσε", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Αφαίρεση συνημμένου", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Αποτυχία επιλογής αρχείων από την περιοχή αποθέσεως", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Παρακαλώ εισάγετε ένα μήνυμα ή επισυνάψτε ένα αρχείο", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Παρακαλώ περιμένετε να ολοκληρωθούν οι μεταφορτώσεις", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Το μήνυμα επεξεργάζεται", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Το μήνυμα είναι πολύ μεγάλο", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Το μήνυμα επεξεργάζεται ήδη αυτή τη στιγμή.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Η σύνδεση έχει κλείσει μόνιμα", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Καμία σύνδεση με τον διακομιστή", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Αποτυχία επιλογής αρχείων", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Αποτυχία επιλογής εικόνων", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Αποτυχία λήψης φωτογραφίας από την κάμερα", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Μπορείτε να επισυνάψετε έως {count} αρχεία ταυτόχρονα.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Καθαρίστε το αναγνωρισμένο κείμενο", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Το μήνυμα είναι πολύ μεγάλο.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Παρακαλώ περιμένετε να ολοκληρωθούν οι μεταφορτώσεις.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Το {kind} \"{name}\" είναι ήδη συνημμένο και δεν προστέθηκε ξανά.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Το {kind} \"{name}\" είναι αντίγραφο του {exist} και δεν προστέθηκε.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Το {kind} \"{name}\" δεν προστέθηκε επειδή έχει ξεπεραστεί ο μέγιστος αριθμός συνημμένων.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Το αρχείο \"{name}\" είναι κενό.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Το αρχείο είναι κενό", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Το αρχείο \"{name}\" υπερβαίνει το μέγιστο επιτρεπόμενο μέγεθος.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Το αρχείο υπερβαίνει το μέγιστο επιτρεπόμενο μέγεθος.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Παρουσιάστηκε σφάλμα κατά την επεξεργασία του αρχείου \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Παρουσιάστηκε σφάλμα κατά την επεξεργασία του αρχείου.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Το αρχείο \"{name}\" δεν προστέθηκε επειδή έχει ξεπεραστεί ο μέγιστος αριθμός συνημμένων.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Ένα αρχείο(α) δεν προστέθηκε επειδή έχει ξεπεραστεί ο μέγιστος αριθμός συνημμένων.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Ένα αρχείο δεν προστέθηκε επειδή έχει ξεπεραστεί ο μέγιστος αριθμός συνημμένων.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Ένα αρχείο χωρίς όνομα επιχειρήθηκε να προστεθεί.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Ένα αρχείο με μη υποστηριζόμενη επέκταση επιχειρήθηκε να προστεθεί: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Έγινε προσπάθεια προσθήκης αρχείου με μη υποστηριζόμενη επέκταση.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Αδύνατη η προσθήκη αρχείου.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Το αρχείο \"{name}\" είναι μη έγκυρο και δεν μπορεί να προστεθεί", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Ένα αρχείο είναι μη έγκυρο και δεν μπορεί να προστεθεί", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Το στοιχείο \"{name}\" δεν είναι έγκυρο αρχείο", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Ένα στοιχείο δεν είναι έγκυρο αρχείο.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Παρουσιάστηκε σφάλμα κατά την επεξεργασία ενός στοιχείου.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Παρουσιάστηκε σφάλμα κατά την επεξεργασία ενός αντικειμένου(ων).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Δεν προστέθηκαν αρχεία.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Ορισμένα αρχεία παραλείφθηκαν λόγω διπλοτύπων με υπάρχοντα αρχεία.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Παρουσιάστηκε ένα άγνωστο σφάλμα.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Τα παρακάτω σφάλματα προέκυψαν κατά την επισύναψη αρχείων:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Αποτυχία κοινής χρήσης αρχείου: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Κλείσιμο", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Μοιραστείτε", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Φόρτωση αρχείου...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Αποτυχία φόρτωσης αρχείου", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Συνέβη άγνωστο σφάλμα", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Δοκιμάστε ξανά", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Μη υποστηριζόμενος τύπος αρχείου", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Δεν μπορεί να γίνει προεπισκόπηση {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Κοινοποίηση αρχείου", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Αποτυχία εμφάνισης εικόνας", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Επαναφορά ζουμ", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Αποτυχία φόρτωσης PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Αποτυχία αποκωδικοποίησης περιεχομένου κειμένου", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Και {count} περισσότερα σφάλματα.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Το αρχείο είναι κατεστραμμένο", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Απαιτείται συγκατάθεση", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Συνεχίζοντας, συμφωνείτε με τους Όρους, την Πολιτική Απορρήτου και τη χρήση cookies μας, και επιβεβαιώνετε ότι αυτή η συμβουλή παρέχεται από AI, όχι από αδειοδοτημένο ιατρικό επαγγελματία.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Κλείσιμο", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Διαγραφή", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Διαγραφή συνομιλίας", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Η συνομιλία “{title}” διαγράφηκε με επιτυχία.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Διαγραφή συνομιλίας;", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Τα συμπτώματά σας, η περίληψη διάγνωσης και οποιεσδήποτε συστάσεις σε αυτή τη συνομιλία θα διαγραφούν.\nΑυτή η ενέργεια δεν μπορεί να αναιρεθεί.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Μεγέθυνση", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Μείωση", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Επαναφορά Ζουμ", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Μοιραστείτε", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Σήμερα", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Χθες", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Μόνο η πρώτη σελίδα. Χρησιμοποιήστε το Share για να κατεβάσετε το πλήρες αρχείο.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_en.arb b/example/lib/src/l10n/chat/app_en.arb new file mode 100644 index 0000000..1a780bc --- /dev/null +++ b/example/lib/src/l10n/chat/app_en.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "en", + "drawerTooltipNotifications": "Notifications", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Help", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Close", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Account", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profile", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Account Settings", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Donate to Support", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Subscription", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Chats", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Chat History", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Attached Documents", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "How to Use", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Video Tutorials", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Legal", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Contact Us", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Bug Report", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Terms & Conditions", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Privacy Policy", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Feedback", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Rate App", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Share with Friends", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Log Out", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Help others receive medical care", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Premium Features\nwith Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Get", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Join Us", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "App version:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Recent Chats", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profile", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Recent chat", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Download Apps", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Enter message", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Attach file", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dictate", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Finish & Transcribe", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Send message", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Failed to fetch messages", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Failed to fetch messages. Please try again.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Fetch messages", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "No messages available.\nPlease send a message to start the conversation.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Connected", + "@chatListHasConnection": {}, + "chatListNoConnection": "No connection", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Search", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favorites", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Download", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Print PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Share with Friends", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "New chat", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Select Chat", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Show drawer", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "No chats available. Please refresh or create a new chat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Refresh chats", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Create new chat", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Copy text", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Typing\nJust a moment", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Updating...\nPlease check your internet connection", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "The message is already being processed right now.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Message is too long.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Remove attachment", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Failed to process message", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Export to PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Photos", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Camera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Files", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Photos and Files", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Hope that helped! Was this explanation useful to you?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Yes, it's all good!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Failed to retrieve chat summary", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Chat summary copied to clipboard", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Try Doctorina in the mobile app!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Download on the", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "GET IT ON", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Download on the App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Get it on Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Report Message", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Why are you reporting this message?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Optional: Describe what's wrong with this message...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "This will help us improve our AI responses.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Cancel", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Report", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Thank you for your feedback! Report has been submitted.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Failed to submit report", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Copied to clipboard", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Failed to copy message", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Report Message", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Upload to the Doctorina chat", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Drag and drop files here to add to chat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "You can add up to 15 files to one message", + "@chatDropZoneText": {}, + "notificationBannerText": "Would you like me to notify you if something important comes up about your health?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Yes, notify me", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Maybe later", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Close", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Notifications are blocked at the system level. Enable them in system settings before activating Doctorina’s notifications.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Notifications are blocked at the system level. Enable them in browser settings before activating Doctorina’s notifications.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Stay updated about your consultation", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina can notify you when new insights or updates about your health are available.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Enable notifications", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Maybe later", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "By continuing you consenting to the processing of personal data, the use of cookies, agree to the terms and conditions, and acknowledge the

privacy policy

. Also you acknowledging that your consultation is with an AI and not a licensed medical professional", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Dismiss", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Save this chat first?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Sign up for free to save this consultation before starting a new one", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Start without saving", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Sign up", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "To continue the conversation, choose an option above", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Close", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Remove attachment", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Failed to pick files from drop zone", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Please enter a message or attach a file", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Please wait for uploads to complete", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Message is being processed", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Message is too long", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "The message is already being processed right now.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "The connection is permanently closed", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "No connection to server", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Failed to pick files", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Failed to pick images", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Failed to capture photo from camera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "You can attach up to {count} files at once.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Clear recognized text", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Message is too long.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Please wait for uploads to complete.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "The {kind} \"{name}\" is already attached and was not added again.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" is a duplicate of {exist} and was not added.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "The {kind} \"{name}\" was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "The file \"{name}\" is empty.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "The file is empty.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "The file \"{name}\" exceeds the maximum allowed size.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "The file exceeds the maximum allowed size.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "An error occurred while processing the file \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "An error occurred while processing the file.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "The file \"{name}\" was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "A file(s) was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "A file was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "A file without a name was attempted to be added.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "A file with an unsupported extension was attempted to be added: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "A file with an unsupported extension was attempted to be added.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Impossible to add a file.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "The file \"{name}\" is invalid and cannot be added.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "A file is invalid and cannot be added.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "The item \"{name}\" is not a valid file.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "An item is not a valid file.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "An error occurred while processing an item.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "An error occurred while processing an item(s).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "No files were added.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Some files were skipped due to duplicates with existing files.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "An unknown error occurred.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "The following errors occurred while attaching files:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Failed to share file: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Close", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Share", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Loading file...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Failed to load file", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Unknown error occurred", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Retry", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Unsupported file type", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Cannot preview {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Share File", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Failed to display image", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Reset zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Failed to load PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Failed to decode text content.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "And {count} more errors.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "File is malformed", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Consent Required", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "By continuing, you agree to our Terms, Privacy Policy, and use of cookies, and confirm that this consultation is provided by AI, not a licensed medical professional.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Close", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Delete", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Delete chat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat “{title}” deleted successfully.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Delete chat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Your symptoms, diagnosis summary, and any recommendations in this chat will be removed.\nThis action can't be undone.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Zoom In", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Zoom Out", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Reset Zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Share", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Today", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Yesterday", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "First page only. Use Share to download the full file.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_es.arb b/example/lib/src/l10n/chat/app_es.arb new file mode 100644 index 0000000..ed3dda0 --- /dev/null +++ b/example/lib/src/l10n/chat/app_es.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "es", + "drawerTooltipNotifications": "Notificaciones", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Ayuda", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Cerrar", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Cuenta", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Perfil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Configuración de la cuenta", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Donar para apoyar", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Suscripción", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Chats", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Historial de chats", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Documentos adjuntos", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Cómo usar", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Tutoriales en video", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Legal", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Contáctanos", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Reporte de errores", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Términos y condiciones", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Política de privacidad", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Comentarios", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Calificar la aplicación", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Compartir con amigos", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Cerrar sesión", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Ayuda a otros a recibir atención médica", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Usuario", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Características premium con Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Obtener", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Únete a nosotros", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Versión:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Chats recientes", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Perfil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Chat reciente", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Descargar aplicaciones", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Escribir mensaje", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Adjuntar archivo", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dictar", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Finalizar y transcribir", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Enviar mensaje", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Error al obtener los mensajes", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Error al obtener los mensajes. Por favor, inténtalo de nuevo.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Obtener mensajes", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "No hay mensajes disponibles. Por favor, envía un mensaje para iniciar la conversación.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Conectado", + "@chatListHasConnection": {}, + "chatListNoConnection": "Sin conexión", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Buscar", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favoritos", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Descargar", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Imprimir PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Compartir con amigos", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Nuevo chat", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Seleccionar chat", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Mostrar cajón", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "No hay chats disponibles. Por favor, actualiza o crea un nuevo chat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Actualizar chats", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Crear nuevo chat", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Copiar texto", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Escribiendo\nUn momento", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Actualizando...\nPor favor, verifica tu conexión a internet", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "El mensaje ya está siendo procesado en este momento.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "El mensaje es demasiado largo.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Eliminar archivo adjunto.", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Error al procesar el mensaje.", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Exportar a PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Fotos", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Cámara", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Archivos", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotos y Archivos", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "¡Espero que eso haya ayudado! ¿Te fue útil esta explicación?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Sí, todo está bien!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "No se pudo recuperar el resumen del chat", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Resumen del chat copiado al portapapeles", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "¡Prueba Doctorina en la aplicación móvil!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Descargar en", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "DISPONIBLE EN", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Descargar en el App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Consíguelo en Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Reportar mensaje", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "¿Por qué estás reportando este mensaje?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Opcional: Describe qué está mal con este mensaje...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Esto nos ayudará a mejorar nuestras respuestas de IA", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Cancelar", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Reportar", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "¡Gracias por su opinión! El informe ha sido enviado.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Error al enviar el informe", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Copiado al portapapeles", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Error al copiar el mensaje", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Reportar mensaje", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Sube al chat de Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Arrastra y suelta archivos aquí para añadir al chat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Puedes agregar hasta 15 archivos a un mensaje", + "@chatDropZoneText": {}, + "notificationBannerText": "¿Te gustaría que te notificara si surge algo importante sobre tu salud?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Sí, notifícame", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Quizás más tarde", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Cerrar", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Las notificaciones están bloqueadas a nivel del sistema. Actívelas en la configuración del sistema antes de activar las notificaciones de Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Las notificaciones están bloqueadas a nivel del sistema. Actívelas en la configuración del navegador antes de activar las notificaciones de Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Mantente informado sobre tu consulta", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina puede notificarte cuando haya nuevas ideas o actualizaciones sobre tu salud.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Habilitar notificaciones", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Quizás más tarde", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Al continuar, das tu consentimiento para el tratamiento de datos personales, el uso de cookies, aceptas los términos y condiciones y reconoces la

política de privacidad

. Además, reconoces que tu consulta es con una IA y no con un profesional médico con licencia", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Descartar", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "¿Guardar este chat primero?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Regístrate gratis para guardar esta consulta antes de iniciar una nueva", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Iniciar sin guardar", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Regístrate", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Para continuar la conversación, elige una opción arriba", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Cerrar", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Eliminar adjunto", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Error al seleccionar archivos de la zona de arrastre", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Por favor, ingrese un mensaje o adjunte un archivo", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Por favor, espera a que se completen las cargas", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "El mensaje está siendo procesado", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "El mensaje es demasiado largo", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "El mensaje ya se está procesando.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "La conexión está cerrada permanentemente", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Sin conexión al servidor", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "No se pudieron seleccionar archivos", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Error al seleccionar imágenes", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Error al capturar la foto desde la cámara", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Puedes adjuntar hasta {count} archivos a la vez", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Borrar texto reconocido", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "El mensaje es demasiado largo.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Por favor, espere a que se completen las cargas", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "El {kind} \"{name}\" ya está adjunto y no se agregó de nuevo", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "El {kind} \"{name}\" es un duplicado de {exist} y no se agregó.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "El {kind} \"{name}\" no se añadió porque se ha superado el número máximo de archivos adjuntos.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "El archivo \"{name}\" está vacío.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "El archivo está vacío.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "El archivo \"{name}\" excede el tamaño máximo permitido.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "El archivo excede el tamaño máximo permitido.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Ocurrió un error al procesar el archivo \"{name}\"", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Ocurrió un error al procesar el archivo.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "El archivo \"{name}\" no se agregó porque se ha superado el número máximo de archivos adjuntos.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "No se añadió(n) archivo(s) porque se ha superado el número máximo de archivos adjuntos.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "No se añadió un archivo porque se ha superado el número máximo de adjuntos.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Se intentó agregar un archivo sin nombre.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Se intentó agregar un archivo con una extensión no soportada: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Se intentó agregar un archivo con una extensión no soportada.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Imposible añadir un archivo.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "El archivo \"{name}\" es inválido y no se puede agregar", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Un archivo es inválido y no se puede agregar", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "El elemento \"{name}\" no es un archivo válido.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Un elemento no es un archivo válido", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Ocurrió un error al procesar un elemento.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Ocurrió un error al procesar un elemento(s)", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "No se añadieron archivos", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Se omitieron algunos archivos debido a duplicados con archivos existentes", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Ocurrió un error desconocido.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Se produjeron los siguientes errores al adjuntar archivos:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Error al compartir el archivo: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Cerrar", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Compartir", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Cargando archivo...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Error al cargar el archivo", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Ocurrió un error desconocido", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Reintentar", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Tipo de archivo no soportado", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "No se puede previsualizar {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Compartir archivo", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "No se pudo mostrar la imagen", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Restablecer zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Error al cargar el PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "No se pudo decodificar el contenido de texto", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Y {count} errores más.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "El archivo está mal formado", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Consentimiento requerido", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Al continuar, aceptas nuestros Términos, Política de Privacidad y uso de cookies, y confirmas que esta consulta es proporcionada por IA, no por un profesional médico licenciado.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Cerrar", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Eliminar", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Eliminar chat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat “{title}” eliminado con éxito.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "¿Eliminar chat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Sus síntomas, resumen del diagnóstico y cualquier recomendación en este chat serán eliminados.\nEsta acción no se puede deshacer.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Acercar", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Alejar", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Restablecer zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Compartir", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Hoy", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Ayer", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Solo la primera página. Usa Compartir para descargar el archivo completo.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_fa.arb b/example/lib/src/l10n/chat/app_fa.arb new file mode 100644 index 0000000..227f7f9 --- /dev/null +++ b/example/lib/src/l10n/chat/app_fa.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "fa", + "drawerTooltipNotifications": "اعلانات", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "راهنما", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "بستن", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "حساب", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "پروفایل", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "تنظیمات حساب", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "برای حمایت اهدا کنید", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "اشتراک", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "گپ‌ها", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "تاریخچه چت", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "اسناد پیوست", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "نحوه استفاده", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "آموزش‌های ویدیویی", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "حقوقی", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "تماس با ما", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "گزارش اشکال", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "شرایط و ضوابط", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "سیاست حریم خصوصی", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "بازخورد", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "برنامه را ارزیابی کنید", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "با دوستان به اشتراک بگذارید", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "خروج", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "به دیگران کمک کنید تا به مراقبت‌های پزشکی دسترسی پیدا کنند", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "کاربر", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "امکانات ویژه\nبا Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "دریافت", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "به ما بپیوندید", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "نسخه برنامه:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "چت‌های اخیر", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "پروفایل", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "چت اخیر", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "دانلود برنامه‌ها", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "پیام را وارد کنید", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "افزودن فایل", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "دیکته", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "پایان و رونویسی", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "ارسال پیام", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "دریافت پیام‌ها ناموفق بود", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "دریافت پیام‌ها ناموفق بود. لطفاً دوباره تلاش کنید.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "دریافت پیام‌ها", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "پیامی موجود نیست.\nلطفاً برای شروع مکالمه یک پیام ارسال کنید.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "متصل", + "@chatListHasConnection": {}, + "chatListNoConnection": "اتصال ندارد", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "جستجو", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "مورد علاقه‌ها", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "دانلود", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "چاپ PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "با دوستان به اشتراک بگذار", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "چت جدید", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "چت", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "انتخاب گفت‌وگو", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "نمایش کشو", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "چتی موجود نیست. لطفاً تازه‌سازی کنید یا یک چت جدید ایجاد کنید.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "به‌روزرسانی چت‌ها", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "ایجاد چت جدید", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "کپی متن", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "در حال تایپ\nلحظه‌ای صبر کنید", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "در حال به‌روزرسانی...\nلطفاً اتصال اینترنت خود را بررسی کنید", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "این پیام در حال حاضر در حال پردازش است.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "پیام بسیار طولانی است.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "حذف پیوست", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "پردازش پیام ناموفق", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "صادر کردن به PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "تصاویر", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "دوربین", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "فایل‌ها", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "عکس‌ها و فایل‌ها", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "امیدوارم که این کمک کرده باشد! آیا این توضیح برای شما مفید بود?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "بله، همه چیز خوب است!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "دریافت خلاصه چت ناموفق بود", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "خلاصۀ گفتگو به کلیپ بورد کپی شد", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "اپلیکیشن موبایل Doctorina را امتحان کنید!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "دانلود در", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "دریافت از", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "دانلود در App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "از Google Play دریافت کنید", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "گزارش پیام", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "چرا این پیام را گزارش می‌کنید؟", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "اختیاری: توصیف کنید که چه مشکلی در این پیام وجود دارد...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "این به ما کمک می‌کند تا پاسخ‌های هوش مصنوعی خود را بهبود بخشیم.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "لغو", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "گزارش", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "از بازخورد شما متشکریم! گزارش ارسال شده است.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "ارسال گزارش ناموفق بود", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "کپی شد به کلیپ بورد", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "کپی پیام ناموفق بود", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "گزارش پیام", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "بارگذاری به چت دکترینا", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "فایل‌ها را اینجا بکشید و رها کنید تا به چت اضافه شوند", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "شما می‌توانید تا ۱۵ فایل را به یک پیام اضافه کنید", + "@chatDropZoneText": {}, + "notificationBannerText": "آیا می‌خواهید اگر چیزی مهم درباره سلامتی‌تان پیش آمد، به شما اطلاع دهم؟", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "بله، به من اطلاع بده", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "شاید بعداً", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "بستن", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "اطلاعیه‌ها در سطح سیستم مسدود شده‌اند. قبل از فعال‌سازی اطلاعیه‌های دکترینا، آن‌ها را در تنظیمات سیستم فعال کنید.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "اطلاعیه‌ها در سطح سیستم مسدود شده‌اند. آن‌ها را در تنظیمات مرورگر فعال کنید قبل از اینکه اعلان‌های دکترینا را فعال کنید.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "در جریان مشاوره خود باشید", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "داکترینا می‌تواند شما را زمانی که بینش‌ها یا به‌روزرسانی‌های جدیدی درباره سلامت شما در دسترس است، مطلع کند.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "فعال‌سازی اعلان‌ها", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "شاید بعداً", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "با ادامه، شما موافقت خود را با پردازش داده‌های شخصی، استفاده از cookies، قبول terms and conditions، و تأیید

privacy policy

اعلام می‌کنید. همچنین شما تأیید می‌کنید که مشاوره شما با یک هوش مصنوعی و نه با یک متخصص پزشکی مجاز صورت می‌گیرد", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "رد کردن", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "ابتدا این چت را ذخیره کنید?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "برای ذخیره این مشاوره قبل از شروع مشاوره جدید، به‌صورت رایگان ثبت‌نام کنید", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "بدون ذخیره شروع کنید", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "ثبت‌نام", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "برای ادامه گفتگو، گزینه‌ای را در بالا انتخاب کنید", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "بستن", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "ضمیمه را حذف کنید", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "انتخاب فایل‌ها از ناحیه درگ ناموفق بود", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "لطفاً یک پیام وارد کنید یا یک فایل پیوست کنید", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "لطفاً منتظر بمانید تا بارگذاری‌ها کامل شوند", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "پیام در حال پردازش است", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "پیام خیلی طولانی است", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "پیام در حال حاضر در حال پردازش است", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "اتصال به طور دائمی بسته شده است", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "هیچ اتصالی به سرور وجود ندارد", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "انتخاب فایل‌ها ناموفق بود", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "انتخاب تصاویر ناموفق بود", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "خطا در گرفتن عکس از دوربین", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "شما می‌توانید تا {count} فایل را به‌طور همزمان پیوست کنید", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "متن شناسایی شده را پاک کنید", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "پیام خیلی طولانی است.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "لطفاً منتظر بمانید تا بارگذاری‌ها کامل شوند", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "فایل {kind} \"{name}\" قبلاً پیوست شده و دوباره اضافه نشد.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "فایل {kind} \"{name}\" تکراری از {exist} است و اضافه نشد.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "فایل {kind} \"{name}\" اضافه نشد زیرا حداکثر تعداد پیوست‌ها تجاوز شده است.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "فایل \"{name}\" خالی است.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "فایل خالی است.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "فایل \"{name}\" از حداکثر اندازه مجاز بیشتر است", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "فایل از حداکثر اندازه مجاز فراتر است.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "در حین پردازش فایل \"{name}\" خطایی رخ داد.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "خطایی در پردازش فایل رخ داد.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "فایل \"{name}\" اضافه نشد زیرا حداکثر تعداد پیوست‌ها تجاوز شده است.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "فایل(ها) اضافه نشد زیرا حداکثر تعداد پیوست‌ها تجاوز شده است.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "فایلی اضافه نشد زیرا حداکثر تعداد پیوست‌ها تجاوز شده است.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "فایلی بدون نام تلاش شده است که اضافه شود", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "فایلی با پسوند غیرمجاز تلاش شده است اضافه شود: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "فایلی با پسوند غیرمجاز سعی در اضافه شدن داشت", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "امکان افزودن فایل وجود ندارد", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "فایل \"{name}\" نامعتبر است و نمی‌تواند اضافه شود.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "فایل نامعتبر است و نمی‌تواند اضافه شود", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "آیتم \"{name}\" فایل معتبری نیست", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "یک مورد فایل معتبر نیست", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "خطایی در پردازش یک مورد رخ داد.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "خطایی در پردازش یک یا چند مورد رخ داده است", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "هیچ فایلی اضافه نشده است", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "برخی فایل‌ها به دلیل تکراری بودن با فایل‌های موجود نادیده گرفته شدند", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "یک خطای ناشناخته رخ داد.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "خطاهای زیر در حین پیوست فایل‌ها رخ داد:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "به اشتراک گذاری فایل ناموفق بود: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "بستن", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "به اشتراک گذاری", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "در حال بارگذاری فایل...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "بارگذاری فایل ناموفق بود", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "خطای ناشناخته رخ داده است", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "تلاش دوباره", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "نوع فایل پشتیبانی نمی‌شود", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "نمی‌توان پیش‌نمایش {contentType} را مشاهده کرد", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "فایل را به اشتراک بگذارید", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "نمایش تصویر ناموفق بود", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "بزرگنمایی را بازنشانی کنید", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "بارگذاری PDF ناموفق بود", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "عدم توانایی در رمزگشایی محتوای متنی.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "و {count} خطای دیگر.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "فایل خراب است", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "نیاز به رضایت", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "با ادامه دادن، شما با شرایط، سیاست حفظ حریم خصوصی و استفاده از کوکی‌ها موافقت می‌کنید و تأیید می‌کنید که این مشاوره توسط هوش مصنوعی ارائه می‌شود، نه یک حرفه‌ای پزشکی دارای مجوز.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "بستن", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "حذف", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "حذف چت", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "چت “{title}” با موفقیت حذف شد.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "چت را حذف کنید؟", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "علائم شما، خلاصه تشخیص و هرگونه توصیه در این چت حذف خواهد شد.\nاین عمل غیرقابل بازگشت است.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "بزرگنمایی", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "زوم خارج", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "تنظیم مجدد زوم", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "به اشتراک گذاری", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "امروز", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "دیروز", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "فقط صفحه اول. برای دانلود فایل کامل از اشتراک استفاده کنید.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_fr.arb b/example/lib/src/l10n/chat/app_fr.arb new file mode 100644 index 0000000..f612eda --- /dev/null +++ b/example/lib/src/l10n/chat/app_fr.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "fr", + "drawerTooltipNotifications": "Notifications", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Aide", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Fermer", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Compte", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Paramètres du compte", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Faire un don pour soutenir", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Abonnement", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Discussions", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Historique des chats", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Documents joints", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Comment utiliser", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Tutoriels vidéo", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Juridique", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Nous contacter", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Rapport de bug", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Termes et conditions", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Politique de confidentialité", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Retour", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Noter l'application", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Partager avec des amis", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Se déconnecter", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Aidez les autres à recevoir des soins médicaux", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Utilisateur", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Fonctionnalités Premium\navec Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Obtenir", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Rejoignez-nous", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Version de l'application:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Chats récents", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Chat récent", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Télécharger des applications", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Entrez le message", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Joindre un fichier", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dicter", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Terminer et transcrire", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Envoyer le message", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Impossible de récupérer les messages", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Échec de la récupération des messages. Veuillez réessayer.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Récupérer les messages", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Aucun message disponible.\nVeuillez envoyer un message pour démarrer la conversation.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Connecté", + "@chatListHasConnection": {}, + "chatListNoConnection": "Aucune connexion", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Rechercher", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favoris", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Télécharger", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Imprimer PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Partager avec des amis", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Nouvelle conversation", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Sélectionner la discussion", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Afficher le tiroir", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Aucune conversation disponible. Veuillez actualiser ou créer une nouvelle conversation.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Rafraîchir les discussions", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Créer une nouvelle discussion", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Copier le texte", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "En train d'écrire\nUn instant", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Mise à jour...\nVeuillez vérifier votre connexion Internet", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Le message est déjà en cours de traitement en ce moment.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Le message est trop long.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Supprimer la pièce jointe", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Échec du traitement du message", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Exporter en PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Photos", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Appareil photo", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Fichiers", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Photos et fichiers", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "J'espère que cela a aidé ! Cette explication vous a-t-elle été utile?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Oui, tout va bien!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Échec de la récupération du résumé du chat", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Résumé de la discussion copié dans le presse-papiers", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Essayez Doctorina dans l'application mobile!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Téléchargez sur", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "DISPONIBLE SUR", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Télécharger sur l’App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Obtenez-le sur Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Signaler un message", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Pourquoi signalez-vous ce message ?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Optionnel : Décrivez ce qui ne va pas avec ce message...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Cela nous aidera à améliorer nos réponses IA", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Annuler", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Signaler", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Merci pour vos retours ! Le rapport a été soumis.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Échec de l'envoi du rapport", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Copié dans le presse-papiers", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Échec de la copie du message", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Signaler un message", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Téléchargez dans le chat Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Faites glisser et déposez des fichiers ici pour les ajouter au chat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Vous pouvez ajouter jusqu'à 15 fichiers à un message", + "@chatDropZoneText": {}, + "notificationBannerText": "Souhaitez-vous que je vous informe si quelque chose d'important se produit concernant votre santé?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Oui, prévenez-moi", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Peut-être plus tard", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Fermer", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Les notifications sont bloquées au niveau du système. Activez-les dans les paramètres système avant d'activer les notifications de Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Les notifications sont bloquées au niveau du système. Activez-les dans les paramètres du navigateur avant d'activer les notifications de Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Restez informé de votre consultation", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina peut vous notifier lorsque de nouvelles informations ou mises à jour concernant votre santé sont disponibles.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Activer les notifications", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Peut-être plus tard", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "En continuant, vous consentez au traitement des données personnelles, à l'utilisation des cookies, acceptez les termes and conditions, et reconnaissez la

politique de confidentialité

. Vous reconnaissez également que votre consultation se fait avec une IA et non avec un professionnel de santé agréé", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Ignorer", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Enregistrez d'abord ce chat?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Inscrivez-vous gratuitement pour sauvegarder cette consultation avant d’en commencer une nouvelle", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Démarrer sans enregistrer", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "S'inscrire", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Pour continuer la conversation, choisissez une option ci-dessus", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Fermer", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Supprimer la pièce jointe", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Échec de la sélection des fichiers depuis la zone de dépôt", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Veuillez entrer un message ou joindre un fichier", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Veuillez attendre la fin des téléchargements", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Le message est en cours de traitement", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Le message est trop long", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Le message est déjà en cours de traitement.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "La connexion est définitivement fermée", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Pas de connexion au serveur", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Échec de la sélection des fichiers", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Échec de la sélection d'images", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Échec de la capture de la photo depuis la caméra", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Vous pouvez joindre jusqu'à {count} fichiers à la fois.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Effacer le texte reconnu", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Le message est trop long.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Veuillez attendre la fin des téléchargements", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Le {kind} \"{name}\" est déjà attaché et n'a pas été ajouté à nouveau.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Le {kind} \"{name}\" est un duplicata de {exist} et n'a pas été ajouté.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Le {kind} \"{name}\" n'a pas été ajouté car le nombre maximum de pièces jointes a été dépassé.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Le fichier \"{name}\" est vide.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Le fichier est vide.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Le fichier \"{name}\" dépasse la taille maximale autorisée.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Le fichier dépasse la taille maximale autorisée.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Une erreur est survenue lors du traitement du fichier \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Une erreur est survenue lors du traitement du fichier", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Le fichier \"{name}\" n'a pas été ajouté car le nombre maximum de pièces jointes a été dépassé.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Un fichier n'a pas été ajouté car le nombre maximum de pièces jointes a été dépassé.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Un fichier n'a pas été ajouté car le nombre maximum de pièces jointes a été dépassé.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Un fichier sans nom a été tenté d'être ajouté", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Un fichier avec une extension non prise en charge a été tenté d'être ajouté : \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Un fichier avec une extension non prise en charge a été tenté d'être ajouté", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Impossible d'ajouter un fichier", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Le fichier \"{name}\" est invalide et ne peut pas être ajouté.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Un fichier est invalide et ne peut pas être ajouté", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "L'élément \"{name}\" n'est pas un fichier valide", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Un élément n'est pas un fichier valide", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Une erreur est survenue lors du traitement d'un élément", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Une erreur s'est produite lors du traitement d'un ou plusieurs éléments.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Aucun fichier n'a été ajouté", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Certains fichiers ont été ignorés en raison de doublons avec des fichiers existants.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Une erreur inconnue est survenue.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Les erreurs suivantes se sont produites lors de l'attachement des fichiers:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Échec du partage du fichier : {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Fermer", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Partager", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Chargement du fichier...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Échec du chargement du fichier", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Une erreur inconnue est survenue", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Réessayer", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Type de fichier non pris en charge", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Impossible de prévisualiser {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Partager le fichier", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Échec de l'affichage de l'image", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Réinitialiser le zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Échec du chargement du PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Échec du décodage du contenu textuel.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Et {count} autres erreurs.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Le fichier est malformé", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Consentement requis", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "En continuant, vous acceptez nos Conditions générales, Politique de confidentialité, et l'utilisation des cookies, et confirmez que cette consultation est fournie par une IA, et non par un professionnel de santé agréé.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Fermer", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Supprimer", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Supprimer le chat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat « {title} » supprimé avec succès.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Supprimer le chat ?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Vos symptômes, le résumé du diagnostic et toutes les recommandations de ce chat seront supprimés.\nCette action ne peut pas être annulée.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Zoomer", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Dézoomer", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Réinitialiser le zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Partager", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Aujourd'hui", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Hier", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Première page seulement. Utilisez Partager pour télécharger le fichier complet.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_gu.arb b/example/lib/src/l10n/chat/app_gu.arb new file mode 100644 index 0000000..4b3cd74 --- /dev/null +++ b/example/lib/src/l10n/chat/app_gu.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "gu", + "drawerTooltipNotifications": "સૂચનાઓ", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "મદદ", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "બંધ કરો", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "એકાઉન્ટ", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "પ્રોફાઇલ", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "એકાઉન્ટ સેટિંગ્સ", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "સહાય કરવા માટે દાન કરો", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "સબ્સ્ક્રિપ્શન", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "ચેટ્સ", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "ચેટ ઇતિહાસ", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "જોડાયેલા દસ્તાવેજો", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "કેવી રીતે વાપરવું", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "વિડિઓ ટ્યુટોરીયલ્સ", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "કાનૂની", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "અમારો સંપર્ક કરો", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "બગ રિપોર્ટ", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "શરતો અને નિયમો", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "ગોપનીયતા નીતિ", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "પ્રતિસાદ", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "એપ રેટ કરો", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "મિત્રો સાથે શેર કરો", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "બહાર નીકળો", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "બીજાઓને તબીબી સારવાર પ્રાપ્ત કરવા મદદ કરો", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "વપરાશકર્તા", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "પ્રીમિયમ સુવિધાઓ\nસાથે Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "પ્રાપ્ત કરો", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "અમારી સાથે જોડાઓ", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "એપ્લિકેશન આવૃત્તિ:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "તાજેતરના ચેટ", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "પ્રોફાઇલ", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "તાજેતરના ચેટ", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "એપ્સ ડાઉનલોડ કરો", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "સંદેશ દાખલ કરો", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "ફાઇલ જોડો", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "ડિક્ટેટ", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "સમાપ્ત કરો અને લખાણમાં રૂપાંતરિત કરો", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "સંદેશ મોકલો", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "સંદેશા મેળવવામાં નિષ્ફળ", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "સંદેશો મેળવવામાં નિષ્ફળ. કૃપા કરીને ફરીથી પ્રયાસ કરો.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "સંદેશો મેળવો", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "કોઈ સંદેશો ઉપલબ્ધ નથી.\nસંવાદ શરૂ કરવા માટે કૃપા કરીને સંદેશ મોકલો.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "જોડાયેલ", + "@chatListHasConnection": {}, + "chatListNoConnection": "કોઈ કનેક્શન નથી", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "શોધો", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "પસંદીદા", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ડાઉનલોડ", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF પ્રિન્ટ કરો", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "મિત્રો સાથે શેર કરો", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "નવું ચેટ", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "ચેટ", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "ચેટ પસંદ કરો", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ડ્રોઅર બતાવો", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "કોઈ ચેટ ઉપલબ્ધ નથી. કૃપા કરીને રિફ્રેશ કરો અથવા નવી ચેટ બનાવો.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "ચેટ્સ રિફ્રેશ કરો", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "નવી ચેટ બનાવો", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "ટેક્સ્ટ નકલ કરો", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "ટાઇપ કરી રહ્યું છે\nકૃપા કરીને થોડી ક્ષણ રાહ જુઓ", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "અપડેટ થઈ રહ્યું છે...\nકૃપા કરીને તમારી ઇન્ટરનેટ કનેક્શન તપાસો", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "સંદેશ હાલ જ પ્રોસેસ થઈ રહ્યો છે.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "સંદેશો બહુ લાંબો છે.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "અટૅચમેન્ટ કાઢી નાખો", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "સંદેશ પ્રોસેસ કરવામાં નિષ્ફળ", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "પીડીએફ માટે નિકાસ કરો", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "ફોટા", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "કેમેરા", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ફાઈલો", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "ફોટોઝ અને ફાઇલો", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "આશા છે કે આ મદદરૂપ થયું! શું આ સમજાવટ તમને ઉપયોગી લાગી?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "હાં, બધું સરખું છે!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "ચેટ સારાંશ મેળવવામાં નિષ્ફળ", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "ચેટ સારાંશ ક્લિપબોર્ડ પર નકલ કરવામાં આવ્યો", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "મોબાઇલ એપમાં Doctorina અજમાવો!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "ડાઉનલોડ પર", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "મેળવો", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "એપ સ્ટોર પર ડાઉનલોડ કરો", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Google Play પર મેળવો", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "સંદેશો રિપોર્ટ કરો", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "તમે આ સંદેશાને શા માટે રિપોર્ટ કરી રહ્યા છો?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "વૈકલ્પિક: આ સંદેશામાં શું ખોટું છે તે વર્ણવો...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "આ અમને અમારા AI પ્રતિસાદોને સુધારવામાં મદદ કરશે.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "રદ કરો", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "રિપોર્ટ", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "તમારા પ્રતિસાદ માટે આભાર! રિપોર્ટ સબમિટ કરવામાં આવ્યો છે.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "રિપોર્ટ સબમિટ કરવામાં નિષ્ફળ", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "ક્લિપબોર્ડમાં નકલ કરી", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "સંદેશો નકલ કરવામાં નિષ્ફળ", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "સંદેશો રિપોર્ટ કરો", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ડોક્ટરિના ચેટમાં અપલોડ કરો", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "ચેટમાં ઉમેરવા માટે ફાઇલો અહીં ખેંચો અને છોડો", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "તમે એક સંદેશામાં 15 ફાઇલો સુધી ઉમેરવા માટે કરી શકો છો", + "@chatDropZoneText": {}, + "notificationBannerText": "શું તમે ઇચ્છો છો કે હું તમને તમારા આરોગ્ય વિશે કંઈ મહત્વપૂર્ણ આવે ત્યારે જાણું?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "હા, મને જાણ કરો", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "થોડીવાર પછી", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "બંધ કરો", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "સૂચનાઓ સિસ્ટમ સ્તરે અવરોધિત છે. Doctorinaની સૂચનાઓ સક્રિય કરવા પહેલા તેને સિસ્ટમ સેટિંગ્સમાં સક્રિય કરો.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "સૂચનાઓ સિસ્ટમ સ્તરે અવરોધિત છે. Doctorinaની સૂચનાઓ સક્રિય કરવા પહેલાં બ્રાઉઝર સેટિંગ્સમાં તેને સક્રિય કરો.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "તમારી પરામર્શ વિશે અપડેટ રહેવું", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina તમને જ્યારે તમારા આરોગ્ય વિશે નવી માહિતી અથવા અપડેટ ઉપલબ્ધ હોય ત્યારે સૂચિત કરી શકે છે", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "સૂચનાઓ સક્રિય કરો", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "થોડીવાર પછી", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "આગળ વધવાથી તમે વ્યક્તિગત ડેટા પ્રોસેસિંગ, cookies ના ઉપયોગ, ટર્મ્સ એન્ડ કન્ડિશન્સ સાથે સંમત છો અને

પ્રાઈવસી પોલિસી

ને માન્યતા આપો છો. તેમજ તમે આ માન્ય કરો છો કે તમારી સલાહકાર સેવા એ એક AI સાથે છે અને લાઈસન્સ ધરાવતા ડોક્ટર સાથે નથી", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "બંધ કરો", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "પહેલાં આ ચેટને સાચવો?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "નવી સલાહ પહેલાં આ સલાહને સાચવવા માટે મફતમાં સાઇન અપ કરો", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "સેવ કર્યા વિના શરૂ કરો", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "સાઇન અપ કરો", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "સંવાદ ચાલુ રાખવા માટે, ઉપરનો વિકલ્પ પસંદ કરો", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "બંધ કરો", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "ફાઇલ જોડાણ દૂર કરો", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ડ્રોપ ઝોનમાંથી ફાઇલો પસંદ કરવામાં નિષ્ફળ", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "કૃપા કરીને સંદેશા દાખલ કરો અથવા ફાઇલ જોડો", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "કૃપા કરીને અપલોડ પૂર્ણ થવા માટે રાહ જુઓ", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "સંદેશો પ્રક્રિયા કરવામાં આવી રહ્યો છે", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "સંદેશો ખૂબ લાંબો છે", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "સંદેશો હાલમાં પ્રક્રિયા કરવામાં આવી રહ્યો છે.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "સંબંધ કાયમ માટે બંધ છે", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "સર્વર સાથે કનેક્શન નથી", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "ફાઇલો પસંદ કરવામાં નિષ્ફળ", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "છબાઓ પસંદ કરવામાં નિષ્ફળ", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "કેમેરા પરથી ફોટો કેચ કરવામાં નિષ્ફળ", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "તમે એક સાથે {count} ફાઇલો જોડાવી શકો છો", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "ચિહ્નિત લખાણ સાફ કરો", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "સંદેશો ખૂબ લાંબો છે.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "કૃપા કરીને અપલોડ પૂર્ણ થવા માટે રાહ જુઓ", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "The {kind} \"{name}\" is already attached and was not added again.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" is a duplicate of {exist} and was not added.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "ફાઇલ {kind} \"{name}\" ઉમેરવામાં આવી નથી કારણ કે જોડાણોની મહત્તમ સંખ્યા પાર થઈ ગઈ છે", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "ફાઇલ \"{name}\" ખાલી છે", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "ફાઇલ ખાલી છે", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "ફાઇલ \"{name}\" મહત્તમ મંજૂર કદને પાર કરે છે", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ફાઇલની મંજૂર કરેલી મહત્તમ કદથી વધુ છે.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "ફાઇલ \"{name}\"ને પ્રક્રિયા કરતી વખતે ભૂલ આવી છે.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "ફાઇલને પ્રોસેસ કરતી વખતે ભૂલ આવી છે", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "ફાઇલ \"{name}\" ઉમેરવામાં આવી નથી કારણ કે જોડાણોની મહત્તમ સંખ્યા પાર થઈ ગઈ છે.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ફાઇલ(ઓ) ઉમેરવામાં આવી નથી કારણ કે જોડાણોની મહત્તમ સંખ્યા પાર થઈ ગઈ છે.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "એક ફાઇલ ઉમેરવામાં આવી નથી કારણ કે જોડાણોની મહત્તમ સંખ્યા પાર થઈ ગઈ છે.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "એક નામ વગરની ફાઇલ ઉમેરવાનો પ્રયાસ કરવામાં આવ્યો હતો", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "એક ફાઇલને સમર્થન ન મળતા એક્સ્ટેન્શન સાથે ઉમેરવાનો પ્રયાસ કરવામાં આવ્યો: \"{name}\"", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "અન્યાયી એક્સ્ટેંશનવાળા ફાઇલને ઉમેરવાનો પ્રયાસ કરવામાં આવ્યો હતો", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "ફાઇલ ઉમેરવી શક્ય નથી", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "ફાઇલ \"{name}\" અમાન્ય છે અને તેને ઉમેરવામાં આવી શકતી નથી", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ફાઇલ અમાન્ય છે અને ઉમેરવામાં આવી શકતી નથી", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "આઇટમ \"{name}\" માન્ય ફાઇલ નથી.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "એક આઇટમ માન્ય ફાઇલ નથી.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "આઇટમને પ્રક્રિયા કરતી વખતે ભૂલ આવી છે", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "આઇટમ(ઓ)ને પ્રક્રિયા કરતી વખતે ભૂલ આવી છે", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "કોઈ ફાઇલો ઉમેરવામાં આવી નથી.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "કેટલાક ફાઇલોને અસ્તિત્વમાં રહેલા ફાઇલો સાથેના નકલના કારણે છોડી દેવામાં આવ્યા.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "અજ્ઞાત ભૂલ થઈ છે", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "ફાઇલોને જોડતી વખતે નીચેના ભૂલો થઈ છે:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "ફાઇલ શેર કરવામાં નિષ્ફળ: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "બંધ કરો", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "શેર", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "ફાઇલ લોડ થઈ રહી છે...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "ફાઇલ લોડ કરવામાં નિષ્ફળ", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "અજ્ઞાત ભૂલ થઈ છે", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "ફરીથી પ્રયાસ કરો", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "અસમર્થિત ફાઇલ પ્રકાર", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Cannot preview {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "ફાઇલ શેર કરો", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "છબી દર્શાવવા માટે નિષ્ફળ", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "ઝૂમ ફરીથી સેટ કરો", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF લોડ કરવામાં નિષ્ફળ", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "ટેક્સ્ટ સામગ્રીને ડિકોડ કરવામાં નિષ્ફળ", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "અને {count} વધુ ભૂલો છે.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "ફાઇલ ખોટી રીતે બનાવવામાં આવી છે", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "સંમતિ જરૂરી છે", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "આગળ વધતા, તમે અમારી શરતો, ગોપનીયતા નીતિ, અને કૂકીઝનો ઉપયોગ માટે સંમતિ આપો છો, અને ખાતરી કરો છો કે આ પરામર્શ AI દ્વારા આપવામાં આવે છે, લાઇસન્સ ધરાવતા તબીબ દ્વારા નહીં.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "બંધ કરો", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "મિટાવો", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "ચેટ કાઢી નાખો", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "ચેટ \"{title}\" સફળતાપૂર્વક કાઢી નાખવામાં આવ્યો.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "ચેટ કાઢી નાખવો?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "તમારા લક્ષણો, નિદાનનો સારાંશ, અને આ ચેટમાં કોઈપણ ભલામણો દૂર કરવામાં આવશે.\nઆ ક્રિયા પાછી ખેંચી શકાતી નથી.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "ઝૂમ ઇન", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "ઝૂમ આઉટ", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "ઝૂમ ફરીથી સેટ કરો", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "શેર કરો", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "આજે", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "ગઈ કાલ", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "ફક્ત પ્રથમ પાનું. સંપૂર્ણ ફાઇલ ડાઉનલોડ કરવા માટે શેર કરો.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_he.arb b/example/lib/src/l10n/chat/app_he.arb new file mode 100644 index 0000000..663c838 --- /dev/null +++ b/example/lib/src/l10n/chat/app_he.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "he", + "drawerTooltipNotifications": "התראות", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "עזרה", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "סגור", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "חשבון", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "פרופיל", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "הגדרות חשבון", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "תרום לתמיכה", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "מנוי", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "צ'אטים", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "היסטוריית צ'אט", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "מסמכים מצורפים", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "כיצד להשתמש", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "מדריכי וידאו", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "משפטי", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "צור קשר", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "דוח באג", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "תנאים והתניות", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "מדיניות פרטיות", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "משוב", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "דרג את האפליקציה", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "שתף עם חברים", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "התנתק", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "עזור לאחרים לקבל טיפול רפואי", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "משתמש", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "תכונות פרימיום\nעם Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "קבל", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "הצטרפו אלינו", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "גרסת האפליקציה:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "שיחות אחרונות", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "פרופיל", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "שיחה אחרונה", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "הורדת אפליקציות", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "הכנס הודעה", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "צרף קובץ", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "הכתבה", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "סיום ותמלול", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "שלח הודעה", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "טעינת ההודעות נכשלה", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "התרחשה שגיאה בטעינת ההודעות. אנא נסה שוב.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "קבל הודעות", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "אין הודעות זמינות.\nאנא שלח הודעה כדי להתחיל את השיחה.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "מחובר", + "@chatListHasConnection": {}, + "chatListNoConnection": "אין חיבור", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "חיפוש", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "מועדפים", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "הורד", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "הדפס PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "שתף עם חברים", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "צ'אט חדש", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "צ'אט", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "בחר צ'אט", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "הצג מגירה", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "אין שיחות זמינות. אנא רענן או צור שיחה חדשה.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "רענן שיחות", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "צור צ'אט חדש", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "העתק טקסט", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "מקליד\nרגע אחד", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "מתעדכן...\nאנא בדוק את חיבור האינטרנט שלך", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "ההודעה כבר מעובדת כרגע.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "ההודעה ארוכה מדי.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "הסר קובץ מצורף", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "כישלון בעיבוד ההודעה", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "ייצוא ל-PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "תמונות", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "מצלמה", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "קבצים", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "תמונות וקבצים", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "אני מקווה שזה עזר! האם ההסבר היה מועיל לך?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "כן, הכל בסדר!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "נכשל בשחזור סיכום השיחה", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "סיכום השיחה הועתק ללוח", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "נסה את Doctorina באפליקציה לנייד!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "הורד ב", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "קבל אותו ב", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "הורד ב-App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "קבל ב-Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "דיווח על הודעה", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "למה אתה מדווח על ההודעה הזו?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "אופציונלי: תאר מה לא בסדר עם ההודעה הזו...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "זה יעזור לנו לשפר את התגובות של הבינה המלאכותית שלנו.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "ביטול", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "דיווח", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "תודה על המשוב שלך! הדו\"ח הוגש.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "שליחת הדו\"ח נכשלה", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "הועתק ללוח", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "העתקת ההודעה נכשלה", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "דיווח על הודעה", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "העלה לצ'אט של דוקטורינה", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "גרור ושחרר קבצים כאן כדי להוסיף לשיחה", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "אתה יכול להוסיף עד 15 קבצים להודעה אחת", + "@chatDropZoneText": {}, + "notificationBannerText": "האם תרצה שאודיע לך אם יקרה משהו חשוב לגבי הבריאות שלך?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "כן, הודע לי", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "אולי מאוחר יותר", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "סגור", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "ההודעות חסומות ברמת המערכת. אפשר אותן בהגדרות המערכת לפני הפעלת ההודעות של דוקטורינה.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "ההודעות חסומות ברמת המערכת. אפשר אותן בהגדרות הדפדפן לפני הפעלת ההודעות של Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "הישאר מעודכן לגבי הייעוץ שלך", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "דוקטורינה יכולה להודיע לך כאשר יש תובנות או עדכונים חדשים לגבי הבריאות שלך.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "אפשר התראות", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "אולי מאוחר יותר", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "על ידי המשך השימוש אתה מסכים לעיבוד הנתונים האישיים, לשימוש ב-עוגיות, ומסכים ל-תנאים and conditions, ומאשר את

privacy policy

. כמו כן, אתה מאשר כי הייעוץ נעשה על ידי AI ולא על ידי איש מקצוע רפואי מורשה", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "לְהַסִיר", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "שמור את הצ'אט הזה קודם?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "הרשם בחינם כדי לשמור את הייעוץ הזה לפני שתתחיל חדש", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "התחל ללא שמירה", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "הירשם", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "כדי להמשיך בשיחה, בחר אפשרות למעלה", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "סגור", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "הסר קובץ מצורף", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "נכשל בבחירת קבצים מאזור ההנחה", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "אנא הזן הודעה או צרף קובץ", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "אנא המתן להשלמת ההעלאות", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "ההודעה מעובדת", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "ההודעה ארוכה מדי", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "ההודעה כבר מעובדת כרגע", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "החיבור נסגר לצמיתות", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "אין חיבור לשרת", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "נכשל picking קבצים", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "נכשל picking תמונות", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "נכשל בלכידת תמונה מהמצלמה", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "אתה יכול לצרף עד {count} קבצים בבת אחת", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "נקה טקסט מזוהה", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "ההודעה ארוכה מדי.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "אנא המתן להשלמת ההעלאות", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "{kind} \"{name}\" כבר מצורף ולא נוסף שוב.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "{kind} \"{name}\" הוא כפול של {exist} ולא נוסף.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "{kind} \"{name}\" לא נוסף כי מספר הקבצים המצורפים המקסימלי הושג.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "הקובץ \"{name}\" ריק.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "הקובץ ריק.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "הקובץ \"{name}\" חורג מהגודל המקסימלי המותר", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "הקובץ חורג מהגודל המותר המרבי.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "אירעה שגיאה בעת עיבוד הקובץ \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "אירעה שגיאה בעת עיבוד הקובץ.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "הקובץ \"{name}\" לא נוסף כי מספר הקבצים המצורפים המקסימלי הושג.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "קובץ(ים) לא נוסף כי מספר הקבצים המצורפים המקסימלי הושג.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "קובץ לא נוסף כי מספר הקבצים המצורפים המקסימלי הושג.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "ניסו להוסיף קובץ ללא שם", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "ניסו להוסיף קובץ עם סיומת לא נתמכת: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "ניסו להוסיף קובץ עם סיומת לא נתמכת", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "אי אפשר להוסיף קובץ", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "הקובץ \"{name}\" אינו תקין ואינו יכול להתווסף.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "הקובץ אינו תקין ואינו יכול להתווסף", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "הפריט \"{name}\" אינו קובץ תקף", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "פריט אינו קובץ תקף", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "אירעה שגיאה בעת עיבוד פריט.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "אירעה שגיאה בעת עיבוד פריט(ים)", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "לא נוספו קבצים.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "כמה קבצים הושמטו עקב כפילויות עם קבצים קיימים", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "אירעה שגיאה לא ידועה.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "הטעויות הבאות התרחשו בעת attaching קבצים:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "שיתוף הקובץ נכשל: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "סגור", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "שתף", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "טוען קובץ...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "טעינת קובץ נכשלה", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "אירעה שגיאה לא ידועה", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "ניסיון שוב", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "סוג קובץ לא נתמך", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "לא ניתן להציג תצוגה מקדימה של {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "שתף קובץ", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "הצגת התמונה נכשלה", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "אפס זום", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "טעינת PDF נכשלה", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "נכשל בפענוח תוכן הטקסט.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "ועוד {count} שגיאות.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "הקובץ פגום", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "דרושה הסכמה", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "בהמשך, אתה מסכים לתנאים, למדיניות הפרטיות ולשימוש בעוגיות, ומאשר שהייעוץ הזה ניתן על ידי AI, ולא על ידי איש מקצוע רפואי מורשה.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "סגור", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "מחק", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "מחק צ'אט", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "הצ'אט “{title}” נמחק בהצלחה.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "מחק צ'אט?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "הסימפטומים שלך, סיכום האבחון וכל המלצה בצ'אט זה יימחקו.\nפעולה זו אינה ניתנת לביטול.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "הגדל", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "הקטן", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "איפוס זום", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "שתף", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "היום", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "אתמול", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "רק עמוד ראשון. השתמש בשיתוף כדי להוריד את הקובץ המלא.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_hi.arb b/example/lib/src/l10n/chat/app_hi.arb new file mode 100644 index 0000000..fe20ab4 --- /dev/null +++ b/example/lib/src/l10n/chat/app_hi.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "hi", + "drawerTooltipNotifications": "सूचनाएं", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "सहायता", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "बंद करें", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "खाता", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "प्रोफ़ाइल", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "खाता सेटिंग्स", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "समर्थन हेतु दान करें", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "सदस्यता", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "चैट्स", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "चैट इतिहास", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "संलग्न दस्तावेज़", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "कैसे उपयोग करें", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "वीडियो ट्यूटोरियल्स", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "कानूनी", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "संपर्क करें", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "बग रिपोर्ट", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "नियम और शर्तें", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "गोपनीयता नीति", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "प्रतिक्रिया", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "ऐप रेट करें", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "दोस्तों के साथ साझा करें", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "लॉग आउट", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "दूसरों को चिकित्सा देखभाल प्राप्त करने में मदद करें", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "उपयोगकर्ता", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "प्रीमियम सुविधाएँ\nडॉक्टोरिना के साथ", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "प्राप्त करें", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "हमसे जुड़ें", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "ऐप संस्करण:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "हाल के चैट", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "प्रोफ़ाइल", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "हालिया चैट", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "ऐप डाउनलोड करें", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "संदेश दर्ज करें", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "फ़ाइल संलग्न करें", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "डिक्टेट करें", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "समाप्त करें और ट्रांसक्राइब करें", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "संदेश भेजें", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "संदेश प्राप्त करने में विफल", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "संदेश प्राप्त करने में विफल। कृपया पुनः प्रयास करें।", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "संदेश प्राप्त करें", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "कोई संदेश उपलब्ध नहीं है।\nबातचीत शुरू करने के लिए कृपया एक संदेश भेजें।", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "कनेक्टेड", + "@chatListHasConnection": {}, + "chatListNoConnection": "कनेक्शन नहीं", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "खोजें", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "पसंदीदा", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "डाउनलोड", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "पीडीएफ प्रिंट करें", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "दोस्तों के साथ साझा करें", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "नई चैट", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "चैट", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "चैट चुनें", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ड्रावर दिखाएं", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "कोई चैट उपलब्ध नहीं है। कृपया रिफ्रेश करें या नई चैट शुरू करें।", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "चैट रीफ़्रेश करें", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "नई चैट बनाएं", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "पाठ कॉपी करें", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "टाइपिंग\nएक पल रुकिए", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "अपडेट हो रहा है...\nकृपया अपनी इंटरनेट कनेक्शन की जांच करें", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "संदेश अभी ही प्रक्रिया में है।", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "संदेश बहुत लंबा है.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "संलग्न हटाएं", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "संदेश संसाधित करने में असफल", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "पीडीएफ में निर्यात", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "फोटो", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "कैमरा", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "फ़ाइलें", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "फोटो और फ़ाइलें", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "आशा है कि इससे मदद मिली! क्या यह स्पष्टीकरण आपके लिए उपयोगी था?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "हाँ, सब ठीक है!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "चैट सारांश प्राप्त करने में असफल", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "चैट सारांश क्लिपबोर्ड पर कॉपी किया गया", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "मोबाइल ऐप में Doctorina आज़माएं!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "डाउनलोड पर", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "यहाँ उपलब्ध", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Store से डाउनलोड करें", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Google Play पर प्राप्त करें", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "संदेश रिपोर्ट करें", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "आप इस संदेश की रिपोर्ट क्यों कर रहे हैं?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "वैकल्पिक: इस संदेश में क्या गलत है, इसका वर्णन करें...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "यह हमें हमारी एआई प्रतिक्रियाओं में सुधार करने में मदद करेगा।", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "रद्द करें", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "रिपोर्ट", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "आपकी प्रतिक्रिया के लिए धन्यवाद! रिपोर्ट जमा कर दी गई है।", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "रिपोर्ट सबमिट करने में विफल", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "क्लिपबोर्ड में कॉपी किया गया", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "संदेश कॉपी करने में विफल", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "संदेश रिपोर्ट करें", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "डॉक्टरिना चैट में अपलोड करें", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "फाइल्स को यहाँ खींचें और चैट में जोड़ें", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "आप एक संदेश में 15 फ़ाइलें जोड़ सकते हैं", + "@chatDropZoneText": {}, + "notificationBannerText": "क्या आप चाहेंगे कि मैं आपको सूचित करूं यदि आपकी सेहत के बारे में कुछ महत्वपूर्ण होता है?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "हाँ, मुझे सूचित करें", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "शायद बाद में", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "बंद करें", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "सूचना प्रणाली स्तर पर अवरुद्ध हैं। डॉक्टरिना की सूचनाओं को सक्रिय करने से पहले उन्हें सिस्टम सेटिंग्स में सक्षम करें।", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "सूचनाएँ सिस्टम स्तर पर अवरुद्ध हैं। डॉक्टरिना की सूचनाओं को सक्रिय करने से पहले उन्हें ब्राउज़र सेटिंग्स में सक्षम करें।", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "अपनी परामर्श के बारे में अपडेट रहें", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina आपको सूचित कर सकता है जब आपके स्वास्थ्य के बारे में नए अंतर्दृष्टि या अपडेट उपलब्ध हों।", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "सूचनाएँ सक्षम करें", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "शायद बाद में", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "जारी रखने पर, आप व्यक्तिगत डेटा की प्रोसेसिंग, कुकीज़ के उपयोग के लिए सहमति प्रदान करते हैं, नियम एवं शर्तों को स्वीकार करते हैं, और

गोपनीयता नीति

को स्वीकार करते हैं। साथ ही, आप यह भी मानते हैं कि आपकी परामर्श प्रक्रिया एक एआई के साथ है, न कि किसी लाइसेंस प्राप्त चिकित्सा पेशेवर के साथ", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "अस्वीकृत करें", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "पहले इस चैट को सहेजें?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "नई कंसल्टेशन शुरू करने से पहले इस कंसल्टेशन को सहेजने के लिए मुफ्त में साइन अप करें", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "बिना सहेजे शुरू करें", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "साइन अप करें", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "बातचीत जारी रखने के लिए, ऊपर एक विकल्प चुनें", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "बंद करें", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "अटैचमेंट हटाएँ", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ड्रॉप ज़ोन से फ़ाइलें चुनने में विफल", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "कृपया एक संदेश दर्ज करें या एक फ़ाइल संलग्न करें", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "कृपया अपलोड पूरा होने की प्रतीक्षा करें", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "संदेश संसाधित किया जा रहा है", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "संदेश बहुत लंबा है", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "संदेश अभी प्रक्रिया में है।", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "कनेक्शन स्थायी रूप से बंद है", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "सर्वर से कोई कनेक्शन नहीं", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "फाइलें चुनने में विफल", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "छवियाँ चुनने में विफल", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "कैमरे से फोटो कैप्चर करने में विफल", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "आप एक बार में {count} फ़ाइलें संलग्न कर सकते हैं।", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "पहचाने गए पाठ को साफ करें", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "संदेश बहुत लंबा है।", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "कृपया अपलोड पूरा होने की प्रतीक्षा करें।", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "यह {kind} \"{name}\" पहले से ही संलग्न है और फिर से नहीं जोड़ा गया।", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "यह {kind} \"{name}\" {exist} का डुप्लिकेट है और इसे नहीं जोड़ा गया।", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "अधिकतम अटैचमेंट की संख्या पार हो जाने के कारण {kind} \"{name}\" को नहीं जोड़ा गया।", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "फाइल \"{name}\" खाली है।", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "फाइल खाली है।", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "फाइल \"{name}\" अधिकतम अनुमत आकार से अधिक है।", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "फाइल अधिकतम अनुमत आकार से अधिक है।", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "\"{name}\" फ़ाइल को संसाधित करते समय एक त्रुटि हुई।", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "फाइल को प्रोसेस करते समय एक त्रुटि हुई।", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "फाइल \"{name}\" जोड़ी नहीं गई क्योंकि अटैचमेंट की अधिकतम संख्या पार हो गई है।", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "एक फ़ाइल(फ़ाइलें) जोड़ी नहीं गई क्योंकि अटैचमेंट की अधिकतम संख्या पार हो गई है।", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "एक फ़ाइल नहीं जोड़ी गई क्योंकि अटैचमेंट की अधिकतम संख्या पार हो गई है।", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "एक नाम के बिना फ़ाइल जोड़ने का प्रयास किया गया था।", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "एक फ़ाइल जिसमें असमर्थित एक्सटेंशन था, जोड़ा जाने का प्रयास किया गया: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "एक फ़ाइल को जोड़ा जाने का प्रयास किया गया था जिसमें असमर्थित एक्सटेंशन है।", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "फाइल जोड़ना असंभव है।", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "फाइल \"{name}\" अमान्य है और इसे जोड़ा नहीं जा सकता।", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "एक फ़ाइल अमान्य है और जोड़ी नहीं जा सकती।", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "आइटम \"{name}\" एक मान्य फ़ाइल नहीं है।", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "एक आइटम मान्य फ़ाइल नहीं है", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "एक आइटम को संसाधित करते समय एक त्रुटि हुई।", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "एक या एक से अधिक आइटम को संसाधित करते समय एक त्रुटि हुई।", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "कोई फ़ाइलें नहीं जोड़ी गईं।", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "कुछ फ़ाइलें मौजूदा फ़ाइलों के साथ डुप्लिकेट के कारण छोड़ दी गईं।", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "एक अज्ञात त्रुटि हुई।", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "फाइल संलग्न करते समय निम्नलिखित त्रुटियाँ हुईं:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "फाइल साझा करने में विफल: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "बंद करें", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "शेयर करें", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "फाइल लोड हो रही है...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "फाइल लोड करने में विफल", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "अज्ञात त्रुटि हुई", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "फिर से प्रयास करें", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "असमर्थित फ़ाइल प्रकार", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "{contentType} का पूर्वावलोकन नहीं कर सकते", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "फाइल साझा करें", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "छवि प्रदर्शित करने में विफल", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "ज़ूम रीसेट करें", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF लोड करने में विफल", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "पाठ सामग्री को डिकोड करने में विफल।", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "और {count} और त्रुटियाँ।", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "फाइल गलत है", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "अनुमति आवश्यक", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "जारी रखते हुए, आप हमारी शर्तों, गोपनीयता नीति, और कुकीज़ के उपयोग से सहमत होते हैं, और पुष्टि करते हैं कि यह परामर्श एआई द्वारा प्रदान किया गया है, न कि एक लाइसेंस प्राप्त चिकित्सा पेशेवर द्वारा।", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "बंद करें", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "हटाएँ", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "चैट हटाएँ", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "चैट \"{title}\" सफलतापूर्वक हटाया गया।", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "चैट हटाएँ?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "इस चैट में आपके लक्षण, निदान का सारांश और कोई भी सिफारिशें हटा दी जाएंगी।\nयह क्रिया पूर्ववत नहीं की जा सकती।", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "ज़ूम इन", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "ज़ूम आउट", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "ज़ूम रीसेट करें", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "शेयर करें", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "आज", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "कल", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "केवल पहली पृष्ठ। पूरी फ़ाइल डाउनलोड करने के लिए साझा करें।", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_hu.arb b/example/lib/src/l10n/chat/app_hu.arb new file mode 100644 index 0000000..a917651 --- /dev/null +++ b/example/lib/src/l10n/chat/app_hu.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "hu", + "drawerTooltipNotifications": "Értesítések", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Segítség", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Bezárás", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Fiók", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Fiókbeállítások", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Adományozz a támogatásért", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Előfizetés", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Beszélgetések", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Csevegési előzmények", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Csatolt dokumentumok", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Használati útmutató", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Videó oktatóanyagok", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Jogi", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Kapcsolat", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Hibajelentés", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Általános Szerződési Feltételek", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Adatvédelmi irányelv", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Visszajelzés", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Értékelje az alkalmazást", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Oszd meg a barátokkal", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Kijelentkezés", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Segíts másoknak orvosi ellátáshoz jutni", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Felhasználó", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Prémium funkciók\nDoctorinával", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Szerezd meg", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Csatlakozz hozzánk", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Alkalmazás verzió:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Legutóbbi csevegések", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Legutóbbi chat", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Alkalmazások letöltése", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Írj üzenetet", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Fájl csatolása", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Diktálás", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Befejezés és átkonvertálás", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Üzenet küldése", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Üzenetek lekérése sikertelen", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Nem sikerült lekérni az üzeneteket. Kérjük, próbálja újra.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Üzenetek lekérése", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Nincsenek elérhető üzenetek. Kérjük, küldjön egy üzenetet a beszélgetés megkezdéséhez.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Csatlakozva", + "@chatListHasConnection": {}, + "chatListNoConnection": "Nincs kapcsolat", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Keresés", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Kedvencek", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Letöltés", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF nyomtatása", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Oszd meg a barátaiddal", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Új csevegés", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Csevegés", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Válassza a csevegést", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Fiók megjelenítése", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Nincsenek elérhető csevegések. Kérjük, frissítse az oldalt, vagy hozzon létre egy új csevegést.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Csevegések frissítése", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Új chat létrehozása", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Szöveg másolása", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Ír", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Frissítés...\nKérjük, ellenőrizze az internetkapcsolatát", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Az üzenet már folyamatban van.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "A üzenet túl hosszú.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Csatolmány eltávolítása", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Üzenet feldolgozása sikertelen", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Exportálás PDF-be", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Fotók", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Fájlok", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotók és fájlok", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Remélem, segített! Hasznos volt ez a magyarázat számodra?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Igen, minden rendben van!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Nem sikerült lekérni a csevegés összefoglalóját", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "A csevegés összefoglalója a vágólapra másolva", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Próbáld ki a Doctorina mobilalkalmazást!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Töltsd le az", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "TÖLTSD LE", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Letöltés az App Store-ból", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Szerezd meg a Google Playen", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Jelentés", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Miért jelented ezt az üzenetet?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Opcionális: Írd le, mi a probléma ezzel az üzenettel...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Ez segít nekünk javítani az AI válaszainkat.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Mégse", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Jelentés", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Köszönjük a visszajelzését! A jelentés elküldve.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "A jelentés benyújtása nem sikerült", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Másolva a vágólapra", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "A üzenet másolása nem sikerült", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Jelentés", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Töltsd fel a Doctorina csevegéshez", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Húzza ide a fájlokat, hogy hozzáadja a csevegéshez", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Legfeljebb 15 fájlt adhat hozzá egy üzenethez", + "@chatDropZoneText": {}, + "notificationBannerText": "Szeretnéd, ha értesítenélek, ha valami fontos történik az egészségeddel kapcsolatban?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Igen, értesítsen", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Később", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Bezárás", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "A rendszer szintjén blokkolva vannak a értesítések. Engedélyezze őket a rendszerbeállításokban a Doctorina értesítéseinek aktiválása előtt.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "A rendszer szintjén blokkolva vannak a értesítések. Engedélyezze őket a böngésző beállításaiban, mielőtt aktiválná a Doctorina értesítéseit.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Maradjon naprakész a konzultációjával kapcsolatban", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "A Doctorina értesíthet, amikor új betekintések vagy frissítések állnak rendelkezésre az egészségeddel kapcsolatban.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Értesítések engedélyezése", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Később", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Folytatva elfogadja a személyes adatok kezelését, a cookie-k használatát, elfogadja a feltételeket és kikötéseket és elismeri a

adatvédelmi szabályzatot

. Emellett elismeri, hogy a konzultáció nem egy engedéllyel rendelkező orvosi szakemberrel, hanem egy AI-val történik", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Elvetés", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Először mentsd el ezt a csevegést?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Iratkozz fel ingyenesen, hogy elmenthesd ezt a konzultációt mielőtt újba kezdenéd", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Mentés nélkül indít", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Regisztráció", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "A beszélgetés folytatásához válasszon egy lehetőséget a fenti listából", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Bezár", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Csatolmány eltávolítása", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "A fájlok kiválasztása a húzózónából nem sikerült", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Kérjük, írjon be egy üzenetet vagy csatoljon egy fájlt", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Kérjük, várjon a feltöltések befejezésére", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Az üzenet feldolgozás alatt áll", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "A üzenet túl hosszú", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Az üzenet jelenleg feldolgozás alatt áll.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "A kapcsolat véglegesen megszűnt", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Nincs kapcsolat a szerverrel", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "A fájlok kiválasztása nem sikerült", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "A képek kiválasztása nem sikerült", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "A fénykép rögzítése a kamerából nem sikerült", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Egyszerre legfeljebb {count} fájlt csatolhat.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Felismert szöveg törlése", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "A üzenet túl hosszú.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Kérjük, várjon a feltöltések befejezésére.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "A(z) {kind} „{name}” már csatolva van, és nem lett újra hozzáadva.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "A {kind} „{name}” duplikátuma a {exist} és nem lett hozzáadva.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "A(z) {kind} \"{name}\" nem lett hozzáadva, mert a csatolmányok maximális száma túllépésre került.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "A \"{name}\" fájl üres.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "A fájl üres.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "A(z) \"{name}\" fájl meghaladja a megengedett maximális méretet.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "A fájl meghaladja a megengedett maximális méretet.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Hiba történt a \"{name}\" fájl feldolgozása során.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Hiba történt a fájl feldolgozása során.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "A(z) \"{name}\" fájl nem lett hozzáadva, mert a csatolmányok maximális száma túllépésre került.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "A fájl(ok) nem lett(ek) hozzáadva, mert a csatolmányok maximális száma túllépésre került.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Egy fájl nem lett hozzáadva, mert a csatolmányok maximális száma túllépésre került.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Egy név nélküli fájl hozzáadására tett kísérlet.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Egy, a rendszer által nem támogatott kiterjesztésű fájl hozzáadását próbálták meg: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Támogatott kiterjesztés nélküli fájl hozzáadását próbálták meg.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Nem lehet fájlt hozzáadni.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "A(z) \"{name}\" fájl érvénytelen, és nem adható hozzá.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "A fájl érvénytelen, és nem adható hozzá.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "A(z) \"{name}\" elem nem érvényes fájl.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "A tétel nem érvényes fájl.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Hiba történt egy elem feldolgozása során.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Hiba történt egy elem(ek) feldolgozása során.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Nem adtak hozzá fájlokat.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Néhány fájl átugrásra került, mert meglévő fájlokkal duplikáltak.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Ismeretlen hiba történt.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "A következő hibák léptek fel a fájlok csatolása során:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "A fájl megosztása nem sikerült: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Bezárás", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Megosztás", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Fájl betöltése...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "A fájl betöltése nem sikerült", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Ismeretlen hiba történt", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Újrapróbálás", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Támogatott fájltípus", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Nem lehet előnézetet készíteni a(z) {contentType} fájlról", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Fájl megosztása", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "A kép megjelenítése nem sikerült", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Nézet visszaállítása", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "A PDF betöltése nem sikerült", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "A szöveges tartalom dekódolása nem sikerült.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "És {count} további hiba.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "A fájl hibás", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Hozzájárulás szükséges", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "A folytatással elfogadja Felhasználási feltételeinket, Adatvédelmi irányelveinket és a sütik használatát, és megerősíti, hogy ezt a konzultációt AI, nem pedig engedéllyel rendelkező egészségügyi szakember nyújtja.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Bezárás", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Törlés", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Beszélgetés törlése", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "A „{title}” csevegés sikeresen törölve.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Csevegés törlése?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "A tüneteid, a diagnózis összefoglalója és bármilyen ajánlás ebben a csevegésben törlésre kerül.\nEz a művelet nem vonható vissza.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Nagyítás", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Kicsinyítés", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Nézet visszaállítása", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Megosztás", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Ma", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Tegnap", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Csak az első oldal. A teljes fájl letöltéséhez használja a Megosztás lehetőséget.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_id.arb b/example/lib/src/l10n/chat/app_id.arb new file mode 100644 index 0000000..a818580 --- /dev/null +++ b/example/lib/src/l10n/chat/app_id.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "id", + "drawerTooltipNotifications": "Pemberitahuan", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Bantuan", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Tutup", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Akun", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Pengaturan Akun", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Donasi untuk Mendukung", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Langganan", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Obrolan", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Riwayat Obrolan", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Dokumen Terlampir", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Cara Menggunakan", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Tutorial Video", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Hukum", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Hubungi Kami", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Laporan Bug", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Syarat & Ketentuan", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Kebijakan Privasi", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Umpan balik", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Nilai Aplikasi", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Bagikan dengan Teman", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Keluar", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Bantu orang lain mendapatkan perawatan medis", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Pengguna", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Fitur Premium\ndengan Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Dapatkan", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Bergabunglah dengan kami", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Versi aplikasi:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Obrolan Terbaru", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Obrolan terbaru", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Unduh Aplikasi", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Masukkan pesan", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Lampirkan file", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Mendikte", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Selesai & Transkripsi", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Kirim pesan", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Gagal mengambil pesan", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Gagal mengambil pesan. Silakan coba lagi.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Ambil pesan", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Tidak ada pesan yang tersedia. Silakan kirim pesan untuk memulai percakapan.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Tersambung", + "@chatListHasConnection": {}, + "chatListNoConnection": "Tidak ada koneksi", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Cari", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favorit", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Unduh", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Cetak PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Bagikan dengan Teman", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Obrolan baru", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Obrolan", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Pilih Chat", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Tampilkan Drawer", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Tidak ada chat yang tersedia. Silakan segarkan atau buat chat baru.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Segarkan obrolan", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Buat obrolan baru", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Salin teks", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Mengetik\nSebentar", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Memperbarui...\nSilakan periksa koneksi internet Anda", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Pesan sedang diproses saat ini.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Pesan terlalu panjang.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Hapus lampiran", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Gagal memproses pesan", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Ekspor ke PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Foto", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Berkas", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Foto dan Berkas", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Semoga itu membantu! Apakah penjelasan ini berguna bagi Anda?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Ya, semuanya baik!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Gagal mengambil ringkasan obrolan", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Ringkasan obrolan disalin ke papan klip", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Coba Doctorina di aplikasi mobile!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Unduh di", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "DAPATKAN DI", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Unduh di App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Dapatkan di Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Laporkan Pesan", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Mengapa Anda melaporkan pesan ini?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Opsional: Deskripsikan apa yang salah dengan pesan ini...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Ini akan membantu kami meningkatkan respons AI kami", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Batal", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Laporkan", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Terima kasih atas umpan balik Anda! Laporan telah dikirim.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Gagal mengirim laporan", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Disalin ke clipboard", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Gagal menyalin pesan", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Laporkan Pesan", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Unggah ke obrolan Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Seret dan lepas file di sini untuk menambahkan ke obrolan", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Anda dapat menambahkan hingga 15 file ke satu pesan", + "@chatDropZoneText": {}, + "notificationBannerText": "Apakah Anda ingin saya memberi tahu Anda jika ada sesuatu yang penting tentang kesehatan Anda?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Ya, beri tahu saya", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Mungkin nanti", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Tutup", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Notifikasi diblokir di tingkat sistem. Aktifkan di pengaturan sistem sebelum mengaktifkan notifikasi Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Notifikasi diblokir di tingkat sistem. Aktifkan di pengaturan browser sebelum mengaktifkan notifikasi Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Tetap terupdate tentang konsultasi Anda", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina dapat memberi tahu Anda ketika wawasan atau pembaruan baru tentang kesehatan Anda tersedia.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Aktifkan notifikasi", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Mungkin nanti", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Dengan melanjutkan, Anda menyetujui pemrosesan data pribadi, penggunaan cookies, setuju dengan terms and conditions, dan mengakui

privacy policy

. Juga, Anda mengakui bahwa konsultasi Anda dilakukan oleh AI dan bukan oleh profesional medis berlisensi", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Tutup", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Simpan chat ini terlebih dahulu?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Daftar gratis untuk menyimpan konsultasi ini sebelum memulai yang baru", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Mulai tanpa menyimpan", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Daftar", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Untuk melanjutkan percakapan, pilih opsi di atas", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Tutup", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Hapus lampiran", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Gagal mengambil file dari zona drop", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Silakan masukkan pesan atau lampirkan file", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Silakan tunggu hingga unggahan selesai", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Pesan sedang diproses", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Pesan terlalu panjang", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Pesan sedang diproses saat ini.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Koneksi ditutup secara permanen", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Tidak ada koneksi ke server", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Gagal memilih file", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Gagal memilih gambar", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Gagal menangkap foto dari kamera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Anda dapat melampirkan hingga {count} file sekaligus.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Hapus teks yang dikenali", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Pesan terlalu panjang.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Silakan tunggu hingga unggahan selesai.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "File {kind} \"{name}\" sudah terlampir dan tidak ditambahkan lagi.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" adalah duplikat dari {exist} dan tidak ditambahkan.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "File {kind} \"{name}\" tidak ditambahkan karena jumlah maksimum lampiran telah terlampaui.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "File \"{name}\" kosong.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "File kosong.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "File \"{name}\" melebihi ukuran maksimum yang diizinkan.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "File melebihi ukuran maksimum yang diizinkan.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Terjadi kesalahan saat memproses file \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Terjadi kesalahan saat memproses file.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "File \"{name}\" tidak ditambahkan karena jumlah maksimum lampiran telah terlampaui.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Sebuah file tidak ditambahkan karena jumlah maksimum lampiran telah terlampaui.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Sebuah file tidak ditambahkan karena jumlah maksimum lampiran telah terlampaui.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Sebuah file tanpa nama telah dicoba untuk ditambahkan.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Sebuah file dengan ekstensi yang tidak didukung telah dicoba untuk ditambahkan: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "File dengan ekstensi yang tidak didukung telah dicoba untuk ditambahkan.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Tidak mungkin menambahkan file.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "File \"{name}\" tidak valid dan tidak dapat ditambahkan.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Sebuah file tidak valid dan tidak dapat ditambahkan.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Item \"{name}\" bukan file yang valid", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Sebuah item bukan file yang valid", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Terjadi kesalahan saat memproses item.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Terjadi kesalahan saat memproses item.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Tidak ada file yang ditambahkan.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Beberapa file dilewati karena duplikat dengan file yang ada.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Terjadi kesalahan yang tidak diketahui", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Kesalahan berikut terjadi saat melampirkan file:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Gagal membagikan file: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Tutup", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Bagikan", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Memuat file...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Gagal memuat file", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Kesalahan tidak diketahui terjadi", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Coba lagi", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Tipe file tidak didukung", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Tidak dapat melihat pratayang {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Bagikan File", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Gagal menampilkan gambar", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Atur ulang zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Gagal memuat PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Gagal mendekode konten teks", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Dan {count} kesalahan lagi.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "File tidak valid", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Persetujuan Diperlukan", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Dengan melanjutkan, Anda setuju dengan Ketentuan, Kebijakan Privasi, dan penggunaan cookies, dan mengonfirmasi bahwa konsultasi ini disediakan oleh AI, bukan profesional medis berlisensi.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Tutup", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Hapus", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Hapus obrolan", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Obrolan “{title}” berhasil dihapus.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Hapus obrolan?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Gejala, ringkasan diagnosis, dan rekomendasi apa pun dalam obrolan ini akan dihapus.\nTindakan ini tidak dapat dibatalkan.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Perbesar", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Perbesar", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Atur Ulang Zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Bagikan", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Hari ini", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Kemarin", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Hanya halaman pertama. Gunakan Bagikan untuk mengunduh file lengkap.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_it.arb b/example/lib/src/l10n/chat/app_it.arb new file mode 100644 index 0000000..667fc5c --- /dev/null +++ b/example/lib/src/l10n/chat/app_it.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "it", + "drawerTooltipNotifications": "Notifiche", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Aiuto", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Chiudi", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Account", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profilo", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Impostazioni account", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Dona per sostenere", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Abbonamento", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Chat", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Cronologia chat", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Documenti allegati", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Come usare", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Tutorial video", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Legale", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Contattaci", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Segnalazione di bug", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Termini e condizioni", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Informativa sulla privacy", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Feedback", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Valuta l'app", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Condividi con gli amici", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Esci", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Aiuta gli altri a ricevere assistenza medica", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Utente", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Funzionalità Premium\ncon Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Ottieni", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Unisciti a noi", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Versione dell'app:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Chat recenti", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profilo", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Chat recente", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Scarica app", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Inserisci messaggio", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Allega file", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dettare", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Termina e trascrivi", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Invia messaggio", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Impossibile recuperare i messaggi", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Impossibile recuperare i messaggi. Riprova.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Recupera messaggi", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Nessun messaggio disponibile.\nInvia un messaggio per iniziare la conversazione.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Connesso", + "@chatListHasConnection": {}, + "chatListNoConnection": "Nessuna connessione", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Cerca", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favoriti", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Scarica", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Stampa PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Condividi con gli amici", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Nuova chat", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Seleziona chat", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Mostra cassetto", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Nessuna chat disponibile. Aggiorna o crea una nuova chat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Aggiorna chat", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Crea una nuova chat", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Copia testo", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Digitando\nUn attimo", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Aggiornamento...\nControlla la tua connessione a Internet", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Il messaggio è già in fase di elaborazione in questo momento.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Il messaggio è troppo lungo.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Rimuovi allegato", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Impossibile elaborare il messaggio", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Esporta in PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Foto", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Fotocamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "File", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Foto e File", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Spero che sia stato d'aiuto! Questa spiegazione ti è stata utile?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Sì, va tutto bene!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Impossibile recuperare il riepilogo della chat", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Sommario della chat copiato negli appunti", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Prova Doctorina nell'app mobile!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Scarica su", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "DISPONIBILE SU", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Scarica su App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Ottienilo su Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Segnala messaggio", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Perché stai segnalando questo messaggio?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Facoltativo: Descrivi cosa c'è di sbagliato in questo messaggio...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Questo ci aiuterà a migliorare le nostre risposte AI.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Annulla", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Segnala", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Grazie per il tuo feedback! Il rapporto è stato inviato.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Invio del report non riuscito", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Copiato negli appunti", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Impossibile copiare il messaggio", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Segnala messaggio", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Carica nella chat di Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Trascina e rilascia i file qui per aggiungerli alla chat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Puoi aggiungere fino a 15 file a un messaggio", + "@chatDropZoneText": {}, + "notificationBannerText": "Vuoi che ti avvisi se succede qualcosa di importante riguardo alla tua salute?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Sì, notificami", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Forse più tardi", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Chiudi", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Le notifiche sono bloccate a livello di sistema. Abilitalo nelle impostazioni di sistema prima di attivare le notifiche di Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Le notifiche sono bloccate a livello di sistema. Abilitalo nelle impostazioni del browser prima di attivare le notifiche di Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Rimani aggiornato sulla tua consulenza", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina può avvisarti quando sono disponibili nuove informazioni o aggiornamenti sulla tua salute.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Abilita notifiche", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Forse più tardi", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Continuando, acconsenti al trattamento dei dati personali, all'utilizzo di cookies, accetti i termini e condizioni e prendi atto dell'

informativa sulla privacy

. Inoltre, riconosci che la tua consulenza avviene con un'IA e non con un professionista medico autorizzato", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Chiudi", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Salva prima questa chat?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Iscriviti gratis per salvare questa consulenza prima di avviarne una nuova", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Avvia senza salvare", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Iscriviti", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Per continuare la conversazione, scegli un'opzione sopra", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Chiudi", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Rimuovi allegato", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Impossibile selezionare file dalla zona di rilascio", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Si prega di inserire un messaggio o allegare un file", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Attendere il completamento degli upload", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Il messaggio è in fase di elaborazione", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Il messaggio è troppo lungo", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Il messaggio è già in fase di elaborazione.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "La connessione è permanentemente chiusa", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Nessuna connessione al server", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Impossibile selezionare i file", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Impossibile selezionare le immagini", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Impossibile catturare foto dalla fotocamera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Puoi allegare fino a {count} file alla volta.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Cancella testo riconosciuto", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Il messaggio è troppo lungo.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Attendere il completamento degli upload.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Il {kind} \"{name}\" è già allegato e non è stato aggiunto di nuovo.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Il {kind} \"{name}\" è un duplicato di {exist} e non è stato aggiunto.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Il {kind} \"{name}\" non è stato aggiunto perché è stato superato il numero massimo di allegati.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Il file \"{name}\" è vuoto.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Il file è vuoto.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Il file \"{name}\" supera la dimensione massima consentita.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Il file supera la dimensione massima consentita.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Si è verificato un errore durante l'elaborazione del file \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Si è verificato un errore durante l'elaborazione del file.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Il file \"{name}\" non è stato aggiunto perché è stato superato il numero massimo di allegati.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Un file non è stato aggiunto perché è stato superato il numero massimo di allegati.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Un file non è stato aggiunto perché è stato superato il numero massimo di allegati.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "È stato tentato di aggiungere un file senza nome.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "È stato tentato di aggiungere un file con un'estensione non supportata: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "È stato tentato di aggiungere un file con un'estensione non supportata.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Impossibile aggiungere un file.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Il file \"{name}\" non è valido e non può essere aggiunto.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Un file è non valido e non può essere aggiunto.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "L'elemento \"{name}\" non è un file valido.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Un elemento non è un file valido", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Si è verificato un errore durante l'elaborazione di un elemento.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Si è verificato un errore durante l'elaborazione di un elemento.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Non sono stati aggiunti file.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Alcuni file sono stati saltati a causa di duplicati con file esistenti.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Si è verificato un errore sconosciuto.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Si sono verificati i seguenti errori durante l'allegato di file:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Condivisione del file non riuscita: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Chiudi", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Condividi", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Caricamento file...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Impossibile caricare il file", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Si è verificato un errore sconosciuto", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Riprova", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Tipo di file non supportato", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Impossibile visualizzare {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Condividi file", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Impossibile visualizzare l'immagine", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Ripristina zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Impossibile caricare il PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Impossibile decodificare il contenuto del testo.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "E {count} altri errori.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Il file è malformato", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Consenso richiesto", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Continuando, accetti i nostri Termini, Informativa sulla privacy e uso dei cookie, e confermi che questa consulenza è fornita da un'IA, non da un professionista medico autorizzato.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Chiudi", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Elimina", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Elimina chat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat \"{title}\" eliminato con successo.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Elimina chat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "I tuoi sintomi, il riepilogo della diagnosi e eventuali raccomandazioni in questa chat verranno rimossi.\nQuesta azione non può essere annullata.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Zoom In", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Zoom Out", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Reimposta zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Condividi", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Oggi", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Ieri", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Solo prima pagina. Usa Condividi per scaricare il file completo.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ja.arb b/example/lib/src/l10n/chat/app_ja.arb new file mode 100644 index 0000000..d9810f5 --- /dev/null +++ b/example/lib/src/l10n/chat/app_ja.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ja", + "drawerTooltipNotifications": "通知", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "ヘルプ", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "閉じる", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "アカウント", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "プロフィール", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "アカウント設定", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "支援に寄付する", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "サブスクリプション", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "チャット", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "チャット履歴", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "添付書類", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "使用方法", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "ビデオチュートリアル", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "法務", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "お問い合わせ", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "バグ報告", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "利用規約", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "プライバシーポリシー", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "フィードバック", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "アプリを評価", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "友達と共有", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "ログアウト", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "他の人が医療を受けるのを助ける", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "ユーザー", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "プレミアム機能\nDoctorina付き", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "入手", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "参加する", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "アプリのバージョン:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "最近のチャット", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "プロフィール", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "最近のチャット", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "アプリをダウンロード", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "メッセージを入力", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "ファイルを添付", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "音声入力", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "終了して文字起こし", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "メッセージを送信", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "メッセージの取得に失敗しました", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "メッセージの取得に失敗しました。もう一度お試しください。", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "メッセージを取得", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "メッセージがありません。会話を始めるにはメッセージを送ってください。", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "接続済み", + "@chatListHasConnection": {}, + "chatListNoConnection": "接続なし", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "検索", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "お気に入り", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ダウンロード", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDFを印刷", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "友達と共有", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "新しいチャット", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "チャット", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "チャットを選択", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ドロワーを表示", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "チャットがありません。更新するか新しいチャットを作成してください。", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "チャットを更新", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "新しいチャットを作成", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "テキストをコピー", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "入力中\n少々お待ちください", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "更新中...\nインターネット接続を確認してください", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "メッセージはただ今処理中です。", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "メッセージが長すぎます.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "添付ファイルを削除", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "メッセージの処理に失敗しました", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDFにエクスポート", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "写真", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "カメラ", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ファイル", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "写真とファイル", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "お役に立てたら幸いです!この説明は役に立ちましたか?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "はい、すべて問題ありません!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "チャットの概要を取得できませんでした", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "チャット概要をクリップボードにコピーしました", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "モバイルアプリでDoctorinaを試してみて!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Download on the", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "GET IT ON", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Storeでダウンロード", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Google Playで入手", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "メッセージを報告", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "なぜこのメッセージを報告していますか?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "任意: このメッセージの何が問題か説明してください...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "これにより、私たちのAIの応答を改善するのに役立ちます", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "キャンセル", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "報告", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "フィードバックありがとうございます!報告が送信されました。", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "報告の送信に失敗しました", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "クリップボードにコピーしました", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "メッセージのコピーに失敗しました", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "メッセージを報告", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Doctorinaチャットにアップロード", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "ファイルをここにドラッグ&ドロップしてチャットに追加します", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "1つのメッセージに最大15ファイルを追加できます", + "@chatDropZoneText": {}, + "notificationBannerText": "健康に関して重要なことがあればお知らせしましょうか?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "はい、通知してください", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "後で", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "閉じる", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "通知はシステムレベルでブロックされています。Doctorinaの通知を有効にする前に、システム設定でそれらを有効にしてください。", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "通知はシステムレベルでブロックされています。Doctorinaの通知を有効にする前に、ブラウザの設定でそれらを有効にしてください。", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "相談について最新情報を受け取る", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorinaは、あなたの健康に関する新しい洞察や更新が利用可能なときに通知できます。", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "通知を有効にする", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "後で", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "続行することで、あなたは個人データの処理およびcookiesの使用に同意し、terms and conditionsに同意し、

privacy policy

を確認したことになります。 また、あなたの相談はAIによるものであり、認可された医療専門家によるものではないことを認めます", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "閉じる", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "まずこのチャットを保存しますか?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "新しい相談を始める前に、この相談を保存するために無料でサインアップしてください", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "保存せずに開始", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "登録", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "会話を続けるには、上のオプションを選択してください", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "閉じる", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "添付ファイルを削除", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ドロップゾーンからファイルを選択できませんでした", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "メッセージを入力するか、ファイルを添付してください", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "アップロードが完了するまでお待ちください", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "メッセージが処理中です", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "メッセージが長すぎます", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "メッセージは現在処理中です。", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "接続は永久に閉じられています", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "サーバーへの接続がありません", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "ファイルの選択に失敗しました", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "画像の選択に失敗しました", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "カメラからの写真のキャプチャに失敗しました", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "{count} 個のファイルを一度に添付できます。", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "認識されたテキストをクリア", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "メッセージが長すぎます。", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "アップロードが完了するまでお待ちください。", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "{kind}「{name}」はすでに添付されており、再度追加されませんでした。", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" は {exist} の重複であり、追加されませんでした。", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "{kind}「{name}」は、添付ファイルの最大数を超えたため追加されませんでした。", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "\"{name}\"は空です。", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "ファイルが空です。", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "ファイル \"{name}\" は許可されている最大サイズを超えています。", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ファイルが許可されている最大サイズを超えています。", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "ファイル \"{name}\" の処理中にエラーが発生しました。", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "ファイルの処理中にエラーが発生しました。", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "ファイル \"{name}\" は、添付ファイルの最大数を超えたため、追加されませんでした。", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "添付ファイルの最大数を超えたため、ファイルは追加されませんでした。", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "添付ファイルの最大数を超えたため、ファイルは追加されませんでした。", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "名前のないファイルを追加しようとしました。", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "サポートされていない拡張子のファイルを追加しようとしました: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "サポートされていない拡張子のファイルを追加しようとしました。", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "ファイルを追加することはできません。", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "ファイル \"{name}\" は無効で、追加できません。", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ファイルが無効で、追加できません。", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "アイテム「{name}」は有効なファイルではありません", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "アイテムは有効なファイルではありません", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "アイテムの処理中にエラーが発生しました。", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "アイテムを処理中にエラーが発生しました。", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "ファイルが追加されていません。", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "既存のファイルと重複しているため、いくつかのファイルがスキップされました。", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "不明なエラーが発生しました", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "ファイルを添付中に次のエラーが発生しました:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "ファイルの共有に失敗しました: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "閉じる", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "共有", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "ファイルを読み込んでいます...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "ファイルの読み込みに失敗しました", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "不明なエラーが発生しました", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "再試行", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "サポートされていないファイルタイプ", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "{contentType}のプレビューはできません", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "ファイルを共有", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "画像の表示に失敗しました", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "ズームをリセット", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDFの読み込みに失敗しました", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "テキストコンテンツのデコードに失敗しました", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "そして{count}件のエラーがあります。", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "ファイルが不正です", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "同意が必要です", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "続行することで、利用規約プライバシーポリシー、およびクッキーの使用に同意し、この相談がAIによって提供されていることを確認します。", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "閉じる", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "削除", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "チャットを削除", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "チャット「{title}」が正常に削除されました。", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "チャットを削除しますか?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "このチャットの症状、診断の要約、および推奨事項は削除されます。\nこの操作は元に戻せません。", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "ズームイン", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "ズームアウト", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "ズームをリセット", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "共有する", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "今日", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "昨日", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "最初のページのみ。完全なファイルをダウンロードするには共有を使用してください。", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_kk.arb b/example/lib/src/l10n/chat/app_kk.arb new file mode 100644 index 0000000..1fe2440 --- /dev/null +++ b/example/lib/src/l10n/chat/app_kk.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "kk", + "drawerTooltipNotifications": "Хабарламалар", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Көмек", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Жабу", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Есептік жазба", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Профиль", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Есептік жазба параметрлері", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Қолдау көрсету үшін донат жасаңыз", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Жазылу", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Чаттар", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Чат тарихы", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Қосымша құжаттар", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Қалай пайдалану керек", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Бейне оқулықтар", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Заңды", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Бізбен байланысыңыз", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Қате туралы есеп", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Шарттар мен жағдайлар", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Жеке деректерді қорғау саясаты", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Кері байланыс", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Қосымшаны бағалаңыз", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Достармен бөлісу", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Шығу", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Басқаларға медициналық көмек алуға көмектесіңіз", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Пайдаланушы", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Премиум мүмкіндіктер\nDoctorina-мен", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Алын", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Бізге қосылыңыз", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Қосымша нұсқасы:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Соңғы әңгімелер", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Профиль", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Соңғы чат", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Қосымшаларды жүктеу", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Хабарлама енгізіңіз", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Файлды тіркеу", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Диктовать", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Аяқтау & Транскрипция", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Хабарлама жіберу", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Хабарламаларды алу сәтсіз аяқталды", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Хабарламаларды алу сәтсіз аяқталды. Қайтадан әрекет етіңіз.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Хабарламаларды алу", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Хабарламалар жоқ.\nСөйлесуді бастау үшін хабарлама жіберіңіз.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Байланыс орнатылды", + "@chatListHasConnection": {}, + "chatListNoConnection": "Байланыс жоқ", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Іздеу", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Таңдаулылар", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Жүктеу", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF басу", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Достармен бөлісу", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Жаңа чат", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Чат", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Чатты таңдаңыз", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Сөрткішті көрсету", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Чаттар жоқ. Жаңартыңыз немесе жаңа чат жасаңыз.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Чаттарды жаңарту", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Жаңа чат жасау", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Мәтінді көшіру", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Жазып жатыр", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Жаңарту...\nИнтернет байланысыңызды тексеріңіз", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Хабарлама қазір өңделіп жатыр.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Хабарлама тым ұзын.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Қосымшаны жою", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Хабарламаны өңдеуде қате", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDF форматына экспорттау", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Суреттер", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Камера", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Файлдар", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Суреттер мен файлдар", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Көмектесті деп үміттенем! Бұл түсініктеме сізге пайдалы болды ма?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Иә, бәрі жақсы!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Чаттың қысқаша мазмұнын алу сәтсіз болды", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Чаттың қысқаша мазмұны буферге көшірілді", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Doctorina-ны мобильді қосымшада сынап көріңіз!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "App Store-да жүктеңіз", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "Алыңыз", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Store-дан жүктеп алыңыз", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Google Play-дан алыңыз", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Хабарламаны хабарлау", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Сіз бұл хабарламаны неге хабарлап отырсыз?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Қосымша: Бұл хабарламамен не дұрыс емес екенін сипаттаңыз...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Бұл біздің AI жауаптарымызды жақсартуға көмектеседі.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Бас тарту", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Есеп беру", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Сіздің пікіріңіз үшін рахмет! Есеп жіберілді.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Есепті жіберу сәтсіз аяқталды", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Буферге көшірілді", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Хабарламаны көшіру сәтсіз аяқталды", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Хабарламаны хабарлау", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Doctorina чатына жүктеңіз", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Чатқа қосу үшін файлдарды мұнда сүйреп апарыңыз", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Сіз бір хабарламаға 15 файлға дейін қоса аласыз", + "@chatDropZoneText": {}, + "notificationBannerText": "Сізге денсаулығыңыз туралы маңызды нәрсе пайда болса, хабарлауға рұқсат етесіз бе?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Иә, хабарлаңыз", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Кейінірек", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Жабу", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Хабарламалар жүйе деңгейінде блокталған. Докторина хабарламаларын қосу үшін жүйе параметрлерінде оларды қосыңыз.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Хабарламалар жүйе деңгейінде блокталған. Докторина хабарламаларын қосу үшін оларды браузер параметрлерінде қосыңыз.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Консультацияңыз туралы хабардар болыңыз", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina сіздің денсаулығыңыз туралы жаңа түсініктер немесе жаңартулар қолжетімді болғанда хабарлай алады.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Хабарландыруларды қосу", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Кейінірек", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Орын жалғастыру арқылы сіз жеке деректерді өңдеуге, cookies қолдануға, шарттар мен ережелерді қабылдауға және

құпиялылық саясатын

мойындауға келісесіз. Сондай-ақ, сіздің консультацияңыз лицензиялы медициналық маманнан емес, AI арқылы жүргізілетінін мойындап отырсыз", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Жою", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Алдымен осы чатты сақтаңыз ба?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Жаңа кеңес беру басталғанға дейін осы кеңес беруді сақтау үшін тегін жазылыңыз", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Сақтамай бастау", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Тіркелу", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Сөйлесуді жалғастыру үшін жоғарыдағы опцияны таңдаңыз", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Жабу", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Қосымшаны жою", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Файлдарды түсіру аймағынан таңдау сәтсіз болды", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Хабарлама енгізіңіз немесе файл тіркеңіз", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Жүктеулердің аяқталуын күтіңіз", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Хабарлама өңделуде", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Хабарлама тым ұзын", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Хабарлама қазір өңделіп жатыр.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Байланыс тұрақты түрде жабылды", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Серверге қосылу мүмкін емес", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Файлдарды таңдау сәтсіз аяқталды", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Суреттерді таңдау сәтсіз болды", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Камерадан сурет түсіру сәтсіз аяқталды", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Сіз бір уақытта {count} файлды тіркей аласыз.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Танылған мәтінді тазалау", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Хабарлама тым ұзын.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Жүктеулердің аяқталуын күтіңіз.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "«{name}» {kind} бұрыннан тіркелген және қайтадан қосылмады.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "«{name}» {kind} {exist} бар файлмен дубликат болып табылады және қосылмады.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Максималды тіркемелер саны асқандықтан, {kind} \"{name}\" қосылмады.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "\"{name}\" файлы бос.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Файл бос.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "\"{name}\" файлы рұқсат етілген максималды өлшемнен асып кетті.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Файл рұқсат етілген максималды өлшемнен асып кетті.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "\"{name}\" файлын өңдеу кезінде қате пайда болды.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Файлды өңдеу кезінде қате пайда болды.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "«{name}» файлы қосылмады, себебі тіркемелердің максималды саны асып кетті.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Файл(дар) қосылмады, себебі тіркемелердің максималды саны асып кетті.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Файл қосылмады, себебі тіркелген файлдардың максималды саны асып кетті.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Аты жоқ файл қосылуға тырысты.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Қосылуға тырысқан файлдың қолдамайтын кеңейтілуі: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Қолданылмайтын кеңейтуі бар файл қосуға тырысты.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Файлды қосу мүмкін емес.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "«{name}» файлы жарамсыз және қосылмайды.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Файл жарамсыз және қосылмайды.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "«{name}» файлы жарамды емес.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Элемент жарамды файл емес.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Элементті өңдеу кезінде қате пайда болды.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Элемент(тер)ді өңдеу кезінде қате пайда болды.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Файлдар қосылған жоқ.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Кейбір файлдар бар файлдармен дубликаттар болғандықтан өткізіліп кетті.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Белгісіз қате орын алды.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Файлдарды тіркеу кезінде келесі қателіктер орын алды:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Файлды бөлісу сәтсіз аяқталды: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Жабу", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Бөлісу", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Файл жүктелуде...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Файлды жүктеу сәтсіз болды", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Белгісіз қате орын алды", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Қайтадан", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Қолдамайтын файл түрі", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "{contentType} алдын ала қарау мүмкін емес", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Файлды бөлісу", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Суретті көрсету сәтсіз болды", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Масштабты қалпына келтіру", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF жүктелмеді", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Мәтін мазмұнын декодтау сәтсіз аяқталды.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Және {count} қосымша қателіктер.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Файл бұзылған", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Келісім қажет", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Жалғастыра отырып, сіз біздің Шарттарымызға, Жекелік саясатымызға және печеньелерді қолдануға келісесіз және бұл консультацияның лицензияланған медициналық маман емес, AI тарапынан берілетінін растайсыз.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Жабу", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Жою", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Чатты жою", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "«{title}» чаты сәтті жойылды.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Чатты жою?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Сіздің симптомдарыңыз, диагнозыңыздың қысқаша мазмұны және осы чаттағы кез келген ұсыныстар жойылады.\nБұл әрекетті қайтару мүмкін емес.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Үлкейту", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Кішірейту", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Масштабты қалпына келтіру", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Бөлісу", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Бүгін", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Кеше", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Тек бірінші бет. Толық файлды жүктеу үшін Share пайдаланыңыз.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_km.arb b/example/lib/src/l10n/chat/app_km.arb new file mode 100644 index 0000000..552a52f --- /dev/null +++ b/example/lib/src/l10n/chat/app_km.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "km", + "drawerTooltipNotifications": "ការជូនដំណឹង", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "ជំនួយ", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "បិទ", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "គណនី", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "ប្រវត្តិ", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "ការកំណត់គណនី", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Donate to Support", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "ការជាវ", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "ការសន្ទនា", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "ប្រវត្តិការជជែក", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "ឯកសារដែលភ្ជាប់", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "របៀបប្រើ", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "វីដេអូបង្រៀន", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "ច្បាប់", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "ទំនាក់ទំនង", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "របាយការណ៍កំហុស", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "កិច្ចព្រមព្រៀង និងល័ក្ខខ័ណ្ឌ", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "គោលការណ៍ភាពឯកជន", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "មតិយោបល់", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "អត្រាកម្មវិធី", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "ចែករំលែកជាមួយមិត្តភក្តិ", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "ចេញ", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "ជួយអ្នកដទៃទទួលបានការថែទាំសុខភាព", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "អ្នកប្រើប្រាស់", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "លក្ខណៈពិសេសព្រីម្យូម
ជាមួយ Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "ទទួលបាន", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "ចូលរួមជាមួយយើង", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "កំណែកម្មវិធី:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "ការសន្ទនាថ្មី", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "ប្រវត្តិ", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "ការសន្ទនាថ្មី", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "ទាញយកកម្មវិធី", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "បញ្ចូលសារ", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "ភ្ជាប់ឯកសារ", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "បញ្ជូនសារដោយសំឡេង", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Finish & Transcribe", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "ផ្ញើសារ", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "មិនអាចទាញយកសារបានទេ", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "មិនអាចទាញយកសារបានទេ។ សូមព្យាយាមម្តងទៀត។", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "ទាញយកសារនៅ", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "មិនមានសារទេ។ សូមផ្ញើសារដើម្បីចាប់ផ្តើមការពិភាក្សា។", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "បានភ្ជាប់", + "@chatListHasConnection": {}, + "chatListNoConnection": "គ្មានការតភ្ជាប់", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "ស្វែងរក", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "ចំណូលចិត្ត", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ទាញយក", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "បោះពុម្ព PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "ចែករំលែកជាមួយមិត្តភក្តិ", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "សន្ទនាថ្មី", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "សន្ទនា", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "ជ្រើសរើសសន្ទនា", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "បង្ហាញកាបូប", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "មិនមានការសន្ទនាឡើយ។ សូមធ្វើការកែសម្រួលឬបង្កើតការសន្ទនាថ្មី។", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "ធ្វើឱ្យជួបជុំឡើងវិញ", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "បង្កើតការសន្ទនាថ្មី", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "ចម្លងអត្ថបទ", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "កំពុងវាយ", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "កំពុងអាប់ដេត...\nសូមពិនិត្យការតភ្ជាប់អ៊ីនធឺណិតរបស់អ្នក", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "សារនេះកំពុងត្រូវបានដំណើរការហើយ។", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "សារមានប្រវែងលើស។", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "លុបភ្ជាប់", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "មិនអាចដំណើរការប្រយោគបាន", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "នាំចេញទៅ PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "រូបភាព", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "កាមេរ៉ា", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ឯកសារ", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "រូបថត និងឯកសារ", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "សង្ឃឹមថាវានឹងជួយ! ការពន្យល់នេះមានប្រយោជន៍សម្រាប់អ្នកទេ?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "បាទ វាហើយ គ្រប់យ៉ាងល្អ!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "មិនអាចទាញយកសេចក្តីសង្ខេបនៃការសន្ទនាបានទេ", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "សេចក្តីសង្ខេបនៃការសន្ទនាត្រូវបានចម្លងទៅកាន់ក្តារចុច", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "សូមព្យាយាម Doctorina នៅក្នុងកម្មវិធីចល័ត!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "ទាញយកនៅលើ", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ទាញយក", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "ទាញយកនៅលើ App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "ទទួលបាននៅលើ Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "រាយការណ៍សារនេះ", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "អ្នកកំពុងរាយការណ៍សារនេះហេតុអ្វី?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "ជ្រើសរើស: ពិពណ៌នាអំពីអ្វីដែលមិនត្រឹមត្រូវជាមួយសារនេះ...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "នេះនឹងជួយឱ្យយើងកែលម្អការឆ្លើយតបAI របស់យើង។", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "បោះបង់", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "រាយការណ៍", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "សូមអរគុណសម្រាប់មតិយោបល់របស់អ្នក! របាយការណ៍ត្រូវបានដាក់ស្នើ។", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "មិនអាចដាក់របាយការណ៍បានទេ", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "បានចម្លងទៅកាន់ប៊ូហ្វ័រ", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "សារដែលបានចម្លងមិនបានជោគជ័យ", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "រាយការណ៍សារនេះ", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "បញ្ចូលទៅក្នុងការជជែក Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "ទាញនិងទុកឯកសារនៅទីនេះដើម្បីបន្ថែមទៅក្នុងការសន្ទនា", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "អ្នកអាចបន្ថែមឯកសារទៅក្នុងសារមួយបានដល់ 15 ឯកសារ", + "@chatDropZoneText": {}, + "notificationBannerText": "ប្រសិនបើមានអ្វីសំខាន់កើតឡើងអំពីសុខភាពរបស់អ្នក តើអ្នកចង់ឲ្យខ្ញុំជូនដំណឹងដែរឬទេ?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "បាទ, សូមជូនដំណឹងខ្ញុំ", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "ពេលក្រោយ", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "បិទ", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "ការជូនដំណឹងត្រូវបានបិទនៅកម្រិតប្រព័ន្ធ។ សូមបើកវានៅក្នុងការកំណត់ប្រព័ន្ធមុនពេលបើកការជូនដំណឹងរបស់ Doctorina។", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "ការជូនដំណឹងត្រូវបានបិទនៅកម្រិតប្រព័ន្ធ។ សូមបើកវានៅក្នុងការកំណត់របស់កម្មវិធីមុនពេលបើកការជូនដំណឹងរបស់ Doctorina។", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "នៅតែទាន់សម័យអំពីការពិគ្រោះយោបល់របស់អ្នក", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina អាចជូនដំណឹងអ្នកពេលមានការបញ្ចេញព័ត៌មានថ្មីៗ ឬកំណែប្រែអំពីសុខភាពរបស់អ្នក។", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "បើកការជូនដំណឹង", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "ពេលក្រោយ", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "ដោយបន្ត អ្នកកំពុងយល់ព្រមការប្រើប្រាស់ទិន្នន័យផ្ទាល់ខ្លួន, ការប្រើប្រាស់ cookies, យល់ព្រមលើ លក្ខខណ្ឌ និងលក្ខប័ន និងទទួលស្គាល់

គោលការណ៍ភាពឯកជន

. ក៏ដូចជាអ្នកទទួលស្គាល់ថាការប្រឹក្សារបស់អ្នកគឺជាមួយ AI មិនមែនជាមួយជំនាញវេជ្ជសាស្រ្តដែលមានអាជ្ញាបណ្ណ", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "បោះបង់", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "រក្សាទុកជជែកទូរស័ព្ទនេះជាមុន?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "ចុះឈ្មោះឥតគិតថ្លៃដើម្បីរក្សាទុកការពិគ្រោះព្រមនេះ មុនពេលចាប់ផ្តើមការពិគ្រោះថ្មី", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "ចាប់ផ្តើមដោយមិនរក្សាទុក", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "ចុះឈ្មោះ", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "ដើម្បីបន្តការពិភាក្សា សូមជ្រើសរើសជម្រើសខាងលើ", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "បិទ", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "លុបភ្ជាប់", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "មិនអាចជ្រើសឯកសារពីតំបន់ទាញបាន", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "សូមបញ្ចូលសារឬភ្ជាប់ឯកសារ", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "សូមរង់ចាំឱ្យការបញ្ចូលបញ្ចប់", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "សារនេះកំពុងត្រូវបានដំណើរការ", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "សារមានប្រវែងលើស", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "សារនេះកំពុងត្រូវបានដំណើរការ។", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "ការតភ្ជាប់ត្រូវបានបិទយ៉ាងស្ថាពរ", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "មិនមានការតភ្ជាប់ទៅម៉ាស៊ីនមេ", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "មិនអាចជ្រើសឯកសារបាន", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "មិនអាចជ្រើសរូបភាពបាន", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "មិនអាចចាប់រូបភាពពីកាមេរ៉ាបានទេ", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "អ្នកអាចភ្ជាប់ឯកសារបានរហូតដល់ {count} ឯកសារក្នុងមួយពេល។", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "សម្អាតអត្ថបទដែលបានស្គាល់", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "សារមានប្រវែងលើស។", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "សូមរង់ចាំឱ្យការបញ្ចូលបញ្ចប់។", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "ឯកសារ {kind} \"{name}\" ត្រូវបានភ្ជាប់រួចហើយ ហើយមិនត្រូវបានបន្ថែមឡើងវិញទេ", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "ឯកសារ {kind} \"{name}\" គឺជាការបំភ្លឺនៃ {exist} ហើយមិនត្រូវបានបន្ថែមទេ", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "ឯកសារ {kind} \"{name}\" មិនត្រូវបានបន្ថែមទេ ពីព្រោះចំនួនអត្ថបទភ្ជាប់អតិបរិមាដែលបានលើសកំណត់។", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "ឯកសារ \"{name}\" គឺទទេ។", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "ឯកសារមិនមានអ្វីទេ", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "ឯកសារ \"{name}\" ធ្វើឲ្យមានទំហំលើសកំណត់។", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ឯកសារនេះលើសទំហំអតិបរិមាដែលអនុញ្ញាត។", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "មានកំហុសកើតឡើងក្នុងការប្រតិបត្តិឯកសារ \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "មានកំហុសកើតឡើងក្នុងការប្រតិបត្តិឯកសារ។", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "ឯកសារ \"{name}\" មិនត្រូវបានបន្ថែមទេ ពីព្រោះចំនួនអត្ថបទអភិវឌ្ឍន៍អតិបរិមាដែលបានលើសកំណត់។", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ឯកសារមួយ(ៗ) មិនត្រូវបានបន្ថែមព្រោះចំនួនអត្ថបទអភិវឌ្ឍន៍បានលើសកំណត់។", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "មិនអាចបន្ថែមឯកសារមួយបានទេ ពីព្រោះចំនួនភ្ជាប់អតិបរិមាបានឆ្លងកាត់។", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "ឯកសារមួយដែលគ្មានឈ្មោះត្រូវបានព្យាយាមបន្ថែម។", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "ឯកសារដែលមានបន្ថែមមិនគាំទ្រត្រូវបានព្យាយាមបន្ថែម: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "ឯកសារដែលមានបន្ថែមមិនគាំទ្រត្រូវបានព្យាយាមបន្ថែម។", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "មិនអាចបន្ថែមឯកសារបានទេ។", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "ឯកសារ \"{name}\" មិនត្រឹមត្រូវ ហើយមិនអាចបន្ថែមបានទេ", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ឯកសារមិនត្រឹមត្រូវ ហើយមិនអាចបន្ថែមបានទេ", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "អត្ថបទ \"{name}\" មិនមែនជាឯកសារដែលមានសុពលភាពទេ", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "មួយធាតុមិនមែនជាឯកសារពិតទេ", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "មានកំហុសកើតឡើងក្នុងការប្រតិបត្តិធាតុមួយ។", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "មានកំហុសកើតឡើងក្នុងការប្រតិបត្តិធាតុ(ៗ)។", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "មិនមានឯកសារណាមួយបានបន្ថែមទេ", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "ឯកសារខ្លះត្រូវបានរំលងដោយសារតែមានឯកសារដែលមានស្រាប់។", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "មានកំហុសមិនស្គាល់។", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "កំហុសដូចខាងក្រោមបានកើតឡើងនៅពេលភ្ជាប់ឯកសារ:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "បរាជ័យក្នុងការចែករំលែកឯកសារ: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "បិទ", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "ចែករំលែក", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "កំពុងផ្ទុកឯកសារ...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "បរាជ័យក្នុងការផ្ទុកឯកសារ", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "កំហុសមិនស្គាល់កើតឡើង", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "ម្តងទៀត", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "ប្រភេទឯកសារមិនគាំទ្រ", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "មិនអាចមើលមុន {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "ចែករំលែកឯកសារ", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "បរាជ័យក្នុងការបង្ហាញរូបភាព", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "កំណត់មើលឡើងវិញ", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "បរាជ័យក្នុងការផ្ទុក PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "មិនអាចបកស្រាយមាតិកាអត្ថបទបានទេ", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "និង {count} កំហុសបន្ថែមទៀត។", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "ឯកសារមិនត្រឹមត្រូវ", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "ត្រូវការព្រមព្រៀង", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "ដោយបន្ត អ្នកយល់ព្រមទៅនឹង ល័ក្ខខ័ណ្ឌ របស់យើង គោលការណ៍ឯកជនភាព និង ការប្រើប្រាស់គុយគី ហើយបញ្ជាក់ថាការពិគ្រោះយោបល់នេះត្រូវបានផ្តល់ដោយ AI មិនមែនជាអ្នកជំនាញវេជ្ជសាស្ត្រដែលមានអាជ្ញាប័ណ្ណ។", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "បិទ", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "លុប", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "លុបសន្ទនា", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "ការជជែក “{title}” ត្រូវបានលុបចោលដោយជោគជ័យ។", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "លុបសន្ទនាដែរឬ?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "រោគសញ្ញា សង្ខេបវិនិច្ឆ័យ និងណែនាំណាមួយក្នុងការជជែកនេះនឹងត្រូវលុបចេញ។\nសកម្មភាពនេះមិនអាចត្រឡប់មកវិញបានទេ។", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "ពង្រីក", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "ចុះក្រោម", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "កំណត់ឡើងវិញការពង្រីក", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "ចែករំលែក", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "ថ្ងៃនេះ", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "ម្សិលមិញ", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "ទំព័រដំបូងប៉ុណ្ណោះ។ ប្រើ Share ដើម្បីទាញយកឯកសារពេញលេញ។", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_kn.arb b/example/lib/src/l10n/chat/app_kn.arb new file mode 100644 index 0000000..aba587d --- /dev/null +++ b/example/lib/src/l10n/chat/app_kn.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "kn", + "drawerTooltipNotifications": "ಅಧಿಸೂಚನೆಗಳು", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "ಸಹಾಯ", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "ಮುಚ್ಚು", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "ಖಾತೆ", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profile", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "ಖಾತೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "ಸಹಾಯ ಮಾಡಲು ದಾನ ಮಾಡಿ", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Subscription", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "ಚಾಟ್‌ಗಳು", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "ಚಾಟ್ ಇತಿಹಾಸ", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "ಜೋಡಣೆ ದಾಖಲೆಗಳು", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "ಹೆಚ್ಚು ಬಳಸುವುದು", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "ವಿಡಿಯೋ ಟ್ಯುಟೋರಿಯಲ್ಸ್", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "ಕಾನೂನು", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "ನಮ್ಮನ್ನು ಸಂಪರ್ಕಿಸಿ", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "ಬಗ್ ವರದಿ", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "ನಿಯಮಗಳು ಮತ್ತು ಶರತ್ತುಗಳು", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "ಗೋಪ್ಯತಾ ನೀತಿ", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "ಪ್ರತಿಕ್ರಿಯೆ", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಂಕಿತ ಮಾಡಿ", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "ಮಿತ್ರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಿ", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "ಲಾಗ್ ಔಟ್", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "ಇತರರಿಗೆ ವೈದ್ಯಕೀಯ ಆರೈಕೆ ಪಡೆಯಲು ಸಹಾಯ ಮಾಡಿ", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "ಬಳಕೆದಾರ", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "ಪ್ರಿಮಿಯಂ ವೈಶಿಷ್ಟ್ಯಗಳು\nಡಾಕ್ಟರಿನಾ ಜೊತೆ", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "ಪಡೆಯಿರಿ", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "ನಮ್ಮೊಂದಿಗೆ ಸೇರಿ", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "ಆಪ್ಲಿಕೇಶನ್ ಆವೃತ್ತಿ:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "ಇತ್ತೀಚಿನ ಚಾಟ್‌ಗಳು", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "ಪ್ರೊಫೈಲ್", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "ಇತ್ತೀಚಿನ ಚಾಟ್", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "ಆಪ್ಸ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "ಸಂದೇಶವನ್ನು ನಮೂದಿಸಿ", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "ಫೈಲ್ ಅಟಾಚ್ ಮಾಡಿ", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "ಉಲ್ಲೇಖಿಸಿ", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "ಮುಗಿಯಿಸಿ & ಪಠ್ಯಗೊಳಿಸಿ", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "ಸಂದೇಶ ಕಳುಹಿಸಿ", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "ಸಂದೇಶಗಳನ್ನು ಪಡೆಯಲು ವಿಫಲವಾಗಿದೆ", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "ಸಂದೇಶಗಳನ್ನು ಪಡೆಯಲು ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "ಸಂದೇಶಗಳನ್ನು ಪಡೆಯಿರಿ", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "ಸಂದೇಶಗಳಿಲ್ಲ. ದಯವಿಟ್ಟು ಸಂಭಾಷಣೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿ.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "ಸಂಪರ್ಕಿತ", + "@chatListHasConnection": {}, + "chatListNoConnection": "ಹೋಗಿಲ್ಲ", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "ಹುಡುಕು", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "ಆಕರ್ಷಣೆಗಳು", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ಡೌನ್‌ಲೋಡ್", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "ಪಿಡಿಎಫ್ ಮುದ್ರಿಸಿ", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "ಮಿತ್ರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಿ", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "ಹೊಸ ಚಾಟ್", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "ಚಾಟ್", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "ಚಾಟ್ ಆಯ್ಕೆ ಮಾಡಿ", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ಡ್ರಾಯರ್ ತೋರಿಸಿ", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "ಚಾಟ್ ಲಭ್ಯವಿಲ್ಲ. ದಯವಿಟ್ಟು ಪುನಃ ತಾಜಾ ಅಥವಾ ಹೊಸ ಚಾಟ್ ರಚಿಸಿ.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "ಚಾಟ್ ನವೀಕರಿಸಿ", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "ಹೊಸ ಚಾಟ್ ರಚಿಸಿ", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "ಪಠ್ಯವನ್ನು ನಕಲಿಸಿ", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "ಟೈಪಿಂಗ್ ಕ್ಷಣಕಾಲ", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "ಅಪ್ಡೇಟಿಂಗ್...\nದಯವಿಟ್ಟು ನಿಮ್ಮ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "ಸಂದೇಶವನ್ನು ಈಗಾಗಲೇ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "ಸಂದೇಶವು ಹೆಚ್ಚು ಉದ್ದವಾಗಿದೆ.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "ಅಟ್ಯಾಚ್‌ಮೆಂಟ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "ಸಂದೇಶವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ವಿಫಲವಾಗಿದೆ", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "ಪಿಡಿಎಫ್ ಗೆ ರಫ್ತು ಮಾಡಿ", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "ಫೋಟೋಗಳು", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "ಕ್ಯಾಮೆರಾ", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Files", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "ಫೋಟೋಗಳು ಮತ್ತು ಫೈಲ್‌ಗಳು", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "ನೀವು ಸಹಾಯವಾಗಿದೆಯೆಂದು ಭಾವಿಸುತ್ತೇನೆ! ಈ ವಿವರಣೆ ನಿಮಗೆ ಉಪಯುಕ್ತವಾಗಿದೆಯೆ?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "ಹೌದು, ಎಲ್ಲವೂ ಚೆನ್ನಾಗಿದೆ!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "ಚಾಟ್ ಸಾರಾಂಶವನ್ನು ಪಡೆಯಲು ವಿಫಲವಾಗಿದೆ", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "ಚಾಟ್ ಸಾರಾಂಶ ಕ್ಲಿಪ್‌ಬೋರ್ಡ್‌ಗೆ ನಕಲಿಸಲಾಗಿದೆ", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "ಡಾಕ್ಟರಿನಾ ಮೊಬೈಲ್ ಆಪ್‌ನಲ್ಲಿ ಪ್ರಯತ್ನಿಸಿ!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ಗೇಟ್ನಲ್ಲಿ", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Download on the App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "ಗೂಗಲ್ ಪ್ಲೇನಲ್ಲಿ ಪಡೆಯಿರಿ", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "ಸಂದೇಶ ವರದಿ ಮಾಡಿ", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "ನೀವು ಈ ಸಂದೇಶವನ್ನು ಏಕೆ ವರದಿ ಮಾಡುತ್ತಿದ್ದೀರಿ?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "ಐಚ್ಛಿಕ: ಈ ಸಂದೇಶದಲ್ಲಿ ಏನು ತಪ್ಪಾಗಿದೆ ಎಂಬುದನ್ನು ವಿವರಿಸಿ...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "ಇದು ನಮ್ಮ AI ಪ್ರತಿಸ್ಪಂದನೆಗಳನ್ನು ಸುಧಾರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "ರದ್ದು ಮಾಡಿ", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "ರಿಪೋರ್ಟ್", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "ನಿಮ್ಮ ಪ್ರತಿಕ್ರಿಯೆಗೆ ಧನ್ಯವಾದಗಳು! ವರದಿ ಸಲ್ಲಿಸಲಾಗಿದೆ.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "ರಿಪೋರ್ಟ್ ಸಲ್ಲಿಸಲು ವಿಫಲ", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "ಕ್ಲಿಪ್‌ಬೋರ್ಡ್‌ಗೆ ನಕಲಿಸಲಾಗಿದೆ", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "ಸಂದೇಶವನ್ನು ನಕಲಿಸಲು ವಿಫಲವಾಗಿದೆ", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "ಸಂದೇಶ ವರದಿ ಮಾಡಿ", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ಡಾಕ್ಟರಿನಾ ಚಾಟ್‌ಗೆ ಅಪ್ಲೋಡ್ ಮಾಡಿ", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "ಚಾಟ್‌ಗೆ ಸೇರಿಸಲು ಫೈಲ್‌ಗಳನ್ನು ಇಲ್ಲಿ ಎಳೆಯಿರಿ ಮತ್ತು ಬಿಡಿ", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "ನೀವು ಒಂದು ಸಂದೇಶಕ್ಕೆ 15 ಫೈಲ್‌ಗಳನ್ನು ಸೇರಿಸಬಹುದು", + "@chatDropZoneText": {}, + "notificationBannerText": "ನಿಮ್ಮ ಆರೋಗ್ಯದ ಬಗ್ಗೆ ಏನಾದರೂ ಪ್ರಮುಖವಾಗಿದ್ದರೆ ನಾನು ನಿಮಗೆ ತಿಳಿಸಲು ಬಯಸುತ್ತೀರಾ?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "ಹೌದು, ನನಗೆ ತಿಳಿಸಿ", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "ಮರುಕಳಿಸಲು", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "ಮುಚ್ಚಿ", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "ಅಧಿಕಾರಗಳ ಮಟ್ಟದಲ್ಲಿ ಸೂಚನೆಗಳನ್ನು ತಡೆಹಿಡಿಯಲಾಗಿದೆ. ಡಾಕ್ಟೊರಿನಾ ಸೂಚನೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ಮೊದಲು ಅವುಗಳನ್ನು ವ್ಯವಸ್ಥೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಸಕ್ರಿಯಗೊಳಿಸಿ.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "ಅಧಿಕಾರಗಳಲ್ಲಿ ಬ್ರೌಸರ್‌ಗಾಗಿ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. ಡಾಕ್ಟೊರಿನಾ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ಮೊದಲು ಬ್ರೌಸರ್ ಸೆಟಿಂಗ್‌ಗಳಲ್ಲಿ ಅವುಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "ನಿಮ್ಮ ಸಲಹೆ ಬಗ್ಗೆ ನವೀಕರಿತವಾಗಿರಿ", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina ನಿಮ್ಮ ಆರೋಗ್ಯದ ಬಗ್ಗೆ ಹೊಸ ಮಾಹಿತಿಗಳು ಅಥವಾ ನವೀಕರಣಗಳು ಲಭ್ಯವಾಗುವಾಗ ನಿಮಗೆ ತಿಳಿಸಬಹುದು", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "ಅಧಿಕೃತ ಸೂಚನೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "ಮರುಕಳಿಸಲು", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "ಮುಂದುವರಿಸುವುದರಿಂದ, ನೀವು ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯ ಸಂಸ್ಕರಣೆ, cookies ಬಳಕೆ, terms and conditions ಕುರಿತು ಒಪ್ಪಿಗೆಯೊಂದಿಗೆ, ಮತ್ತು

privacy policy

ಅನ್ನು ಅಂಗೀಕರಿಸುತ್ತೀರಿ. ಜೊತೆಗೆ, ನಿಮ್ಮ ಸಲಹೆ AI ಮೂಲಕವಾಗಿದ್ದು, ಪರವಾನಗಿ ಪಡೆದ ವೈದ್ಯಕೀಯ ವೃತ್ತಿಪರವಲ್ಲ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತೀರಿ", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "ಅಳಿಸಿ", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "ಮೊದಲು ಈ ಚಾಟ್ ಅನ್ನು ಉಳಿಸಿ?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "ಹೊಸ ಪರಾಮರ್ಶೆಯನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಈ ಪರಾಮರ್ಶೆಯನ್ನು ಉಳಿಸಲು ಉಚಿತವಾಗಿ ಸೈನ್ ಅಪ್ ಮಾಡಿ", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "ಉಳಿಸುವುದಿಲ್ಲದೆ ಆರಂಭಿಸಿ", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "ಸೈನ್ ಅಪ್ ಮಾಡಿ", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "ಸಂವಾದವನ್ನು ಮುಂದುವರಿಸಲು, ಮೇಲಿನ ಆಯ್ಕೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿ", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "ಮುಚ್ಚು", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "ಜೋಡಣೆ ತೆಗೆದು ಹಾಕಿ", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ಡ್ರಾಪ್ ಜೋನ್‌ನಿಂದ ಫೈಲ್‌ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ವಿಫಲ", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "ದಯವಿಟ್ಟು ಸಂದೇಶವನ್ನು ನಮೂದಿಸಿ ಅಥವಾ ಫೈಲ್ ಅನ್ನು ಅಟ್ಯಾಚ್ ಮಾಡಿ", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "ದಯವಿಟ್ಟು ಅಪ್ಲೋಡ್‌ಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಕಾಯಿರಿ", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "ಸಂದೇಶವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "ಸಂದೇಶವು ತುಂಬಾ ದೀರ್ಘವಾಗಿದೆ", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "ಸಂದೇಶವು ಈಗಾಗಲೇ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "ಸಂಪರ್ಕ ಶಾಶ್ವತವಾಗಿ ಮುಚ್ಚಲಾಗಿದೆ", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "ಸರ್ವರ್ ಗೆ ಸಂಪರ್ಕ ಇಲ್ಲ", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "ಫೈಲ್ ಆಯ್ಕೆ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "ಚಿತ್ರಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ವಿಫಲ", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "ಕ್ಯಾಮೆರಾದಿಂದ ಫೋಟೋ ಹಿಡಿಯಲು ವಿಫಲ", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "ನೀವು ಒಂದೇ ಬಾರಿಗೆ {count} ಫೈಲ್‌ಗಳನ್ನು ಜೋಡಿಸಬಹುದು", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "ಅನುಮೋದಿತ ಪಠ್ಯವನ್ನು ಅಳಿಸಿ", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "ಸಂದೇಶವು ತುಂಬಾ ದೀರ್ಘವಾಗಿದೆ.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "ದಯವಿಟ್ಟು ಅಪ್ಲೋಡ್‌ಗಳನ್ನು ಪೂರ್ಣಗೊಳ್ಳಲು ಕಾಯಿರಿ", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "The {kind} \"{name}\" is already attached and was not added again.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" is a duplicate of {exist} and was not added.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "{kind} \"{name}\" ಅನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ ಏಕೆಂದರೆ ಅಟ್ಯಾಚ್ಮೆಂಟ್‌ಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯನ್ನು ಮೀರಿಸಲಾಗಿದೆ.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "\"{name}\" ಫೈಲ್ ಖಾಲಿ ಇದೆ", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "ಫೈಲ್ ಖಾಲಿ ಇದೆ", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "\"{name}\" ಫೈಲ್ ಗರಿಷ್ಠ ಅನುಮತಿತ ಗಾತ್ರವನ್ನು ಮೀರಿಸುತ್ತದೆ", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ಫೈಲ್ ಗರಿಷ್ಠ ಅನುಮತಿತ ಗಾತ್ರವನ್ನು ಮೀರಿಸುತ್ತದೆ.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "\"{name}\" ಫೈಲ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ದೋಷ ಉಂಟಾಯಿತು.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "ಫೈಲ್ ಪ್ರಕ್ರಿಯೆ ಮಾಡುವಾಗ ದೋಷ ಉಂಟಾಯಿತು", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "\"{name}\" ಫೈಲ್ ಸೇರಿಸಲಾಗಿಲ್ಲ ಏಕೆಂದರೆ ಅಟ್ಯಾಚ್ಮೆಂಟ್‌ಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯನ್ನು ಮೀರಿಸಲಾಗಿದೆ.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ಫೈಲ್(ಗಳು) ಸೇರಿಸಲಾಗಿಲ್ಲ ಏಕೆಂದರೆ ಅಟ್ಯಾಚ್ಮೆಂಟ್‌ಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯನ್ನು ಮೀರಿಸಲಾಗಿದೆ.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "ಒಂದು ಫೈಲ್ ಸೇರಿಸಲಾಗಿಲ್ಲ ಏಕೆಂದರೆ ಅಟ್ಯಾಚ್ಮೆಂಟ್‌ಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯನ್ನು ಮೀರಿಸಲಾಗಿದೆ.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "ಹೆಸರು ಇಲ್ಲದ ಫೈಲ್ ಸೇರಿಸಲು ಪ್ರಯತ್ನಿಸಲಾಗಿದೆ", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "ಅನುದಾನಿತ ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಫೈಲ್ ಸೇರಿಸಲು ಪ್ರಯತ್ನಿಸಲಾಗಿದೆ: \"{name}\"", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "ಅನ್ವಯಿತ ವಿಸ್ತರಣೆ ಹೊಂದಿರುವ ಫೈಲ್ ಸೇರಿಸಲು ಪ್ರಯತ್ನಿಸಲಾಗಿದೆ", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "ಫೈಲ್ ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "ಫೈಲ್ \"{name}\" ಅಮಾನ್ಯವಾಗಿದೆ ಮತ್ತು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ಫೈಲ್ ಅಮಾನ್ಯವಾಗಿದೆ ಮತ್ತು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "\"{name}\" ಐಟಮ್ ಮಾನ್ಯ ಫೈಲ್ ಅಲ್ಲ.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "ಒಂದು ಐಟಮ್ ಮಾನ್ಯ ಫೈಲ್ ಅಲ್ಲ.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "ಐಟಂ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ದೋಷ ಉಂಟಾಯಿತು", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "ಐಟಮ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ದೋಷ ಉಂಟಾಯಿತು", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "ಯಾವುದೇ ಫೈಲ್‌ಗಳನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "ಕೆಲವು ಫೈಲ್‌ಗಳನ್ನು ಇತ್ತೀಚಿನ ಫೈಲ್‌ಗಳೊಂದಿಗೆ ನಕಲಾಗಿ ಬಿಟ್ಟುಹೋಗಿವೆ.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "ಅಜ್ಞಾತ ದೋಷ ಸಂಭವಿಸಿದೆ", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "ಫೈಲ್‌ಗಳನ್ನು ಜೋಡಿಸುವಾಗ ಈ ಕೆಳಗಿನ ದೋಷಗಳು ಸಂಭವಿಸಿದವು:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "ಫೈಲ್ ಹಂಚಲು ವಿಫಲವಾಗಿದೆ: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "ಮುಚ್ಚಿ", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "ಹಂಚಿಕೊಳ್ಳಿ", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "ಫೈಲ್ ಲೋಡ್ ಆಗುತ್ತಿದೆ...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "ಫೈಲ್ ಲೋಡ್ ಮಾಡಲು ವಿಫಲ", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "ಅಜ್ಞಾತ ದೋಷ ಸಂಭವಿಸಿದೆ", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "ಮರು ಪ್ರಯತ್ನಿಸಿ", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "ಅಸಮರ್ಥಿತ ಫೈಲ್ ಪ್ರಕಾರ", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Cannot preview {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "ಫೈಲ್ ಹಂಚಿಕೊಳ್ಳಿ", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "ಚಿತ್ರವನ್ನು ತೋರಿಸಲು ವಿಫಲವಾಗಿದೆ", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "ಜೂಮ್ ಪುನಃ ಸೆಟ್ ಮಾಡಿ", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "ಪಠ್ಯ ವಿಷಯವನ್ನು ಡಿಕೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "ಮತ್ತು {count} ಹೆಚ್ಚು ದೋಷಗಳಿವೆ.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "ಫೈಲ್ ತಪ್ಪಾಗಿದೆ", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "ಅನುಮತಿ ಅಗತ್ಯವಿದೆ", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "ಮುಂದುವರಿಯಲು, ನೀವು ನಮ್ಮ ನಿಯಮಗಳು, ಗೋಪ್ಯತಾ ನೀತಿ, ಮತ್ತು ಕೂಕೀಸ್ ಬಳಕೆ ಗೆ ಒಪ್ಪುತ್ತೀರಿ ಮತ್ತು ಈ ಸಲಹೆ AI ಮೂಲಕ ನೀಡಲಾಗುತ್ತದೆ, ಲೈಸೆನ್ಸ್ ಹೊಂದಿರುವ ವೈದ್ಯರ ಮೂಲಕ ಅಲ್ಲ ಎಂದು ದೃಢೀಕರಿಸುತ್ತೀರಿ.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "ಮುಚ್ಚಿ", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "ಅಳಿಸಿ", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "ಚಾಟ್ ಅಳಿಸಿ", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "ಚಾಟ್ \"{title}\" ಯಶಸ್ವಿಯಾಗಿ ಅಳಿಸಲಾಗಿದೆ.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "ಚಾಟ್ ಅಳಿಸಲು?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "ನಿಮ್ಮ ಲಕ್ಷಣಗಳು, ನಿರ್ಣಯ ಸಾರಾಂಶ ಮತ್ತು ಈ ಚಾಟ್‌ನಲ್ಲಿ ಯಾವುದೇ ಶಿಫಾರಸುಗಳನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ.\nಈ ಕ್ರಿಯೆಯನ್ನು ಹಿಂದಿರುಗಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "ಊರ್ತ್", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "ಊರ ಕಡಿಮೆ ಮಾಡಿ", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "ಜೂಮ್ ಪುನಃ ಸೆಟ್ ಮಾಡಿ", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "ಹಂಚಿಕೊಳ್ಳಿ", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "ಇಂದು", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "ನಿನ್ನೆ", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "ಮಾತ್ರ ಮೊದಲ ಪುಟ. ಸಂಪೂರ್ಣ ಫೈಲ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಹಂಚಿಕೊಳ್ಳಿ.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ko.arb b/example/lib/src/l10n/chat/app_ko.arb new file mode 100644 index 0000000..f35122b --- /dev/null +++ b/example/lib/src/l10n/chat/app_ko.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ko", + "drawerTooltipNotifications": "알림", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "도움말", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "닫기", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "계정", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "프로필", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "계정 설정", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "지원하기 위해 기부", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "구독", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "채팅", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "채팅 기록", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "첨부 문서", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "사용 방법", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "비디오 튜토리얼", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "법률", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "문의하기", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "버그 신고", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "약관", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "개인정보 처리방침", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "피드백", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "앱 평가하기", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "친구와 공유하기", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "로그아웃", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "다른 사람이 의료 서비스를 받을 수 있도록 도와주세요", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "사용자", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "프리미엄 기능\nDoctorina와 함께", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "받기", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "가입하기", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "앱 버전:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "최근 채팅", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "프로필", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "최근 채팅", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "앱 다운로드", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "메시지 입력", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "파일 첨부", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "받아쓰기", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "종료 및 전사", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "메시지 보내기", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "메시지 가져오기 실패", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "메시지를 가져오지 못했습니다. 다시 시도하십시오.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "메시지 불러오기", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "메시지가 없습니다.\n대화를 시작하려면 메시지를 보내주세요.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "연결됨", + "@chatListHasConnection": {}, + "chatListNoConnection": "연결 없음", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "검색", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "즐겨찾기", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "다운로드", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF 인쇄", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "친구와 공유하기", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "새 채팅", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "채팅", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "채팅 선택", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "서랍 표시", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "채팅이 없습니다. 새로 고침하거나 새 채팅을 시작하세요.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "채팅 새로고침", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "새 채팅 만들기", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "텍스트 복사", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "입력 중\n잠시만요", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "업데이트 중...\n인터넷 연결을 확인하세요", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "메시지가 이미 처리 중입니다.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "메시지가 너무 깁니다.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "첨부 제거", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "메시지 처리 실패", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDF로 내보내기", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "사진", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "카메라", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "파일", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "사진 및 파일", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "도움이 되었기를 바랍니다! 이 설명이 도움이 되었나요?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "네, 다 괜찮아요!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "채팅 요약을 가져오지 못했습니다", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "채팅 요약이 클립보드에 복사됨", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "모바일 앱에서 Doctorina를 사용해보세요!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "에서 다운로드", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "구글 플레이에서", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Store에서 다운로드", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "구글 플레이에서 받기", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "신고 메시지", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "이 메시지를 신고하는 이유는 무엇인가요?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "선택 사항: 이 메시지에 대한 문제를 설명하세요...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "이것은 우리의 AI 응답을 개선하는 데 도움이 됩니다.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "취소", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "신고", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "피드백 감사합니다! 보고서가 제출되었습니다.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "보고서를 제출하지 못했습니다", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "클립보드에 복사됨", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "메시지 복사에 실패했습니다", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "신고 메시지", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "의사와의 채팅에 업로드", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "파일을 여기에 드래그 앤 드롭하여 채팅에 추가하세요", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "하나의 메시지에 최대 15개의 파일을 추가할 수 있습니다", + "@chatDropZoneText": {}, + "notificationBannerText": "건강에 중요한 일이 생기면 알려드릴까요?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "네, 알림을 받겠습니다", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "나중에", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "닫기", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "알림이 시스템 수준에서 차단되었습니다. Doctorina의 알림을 활성화하기 전에 시스템 설정에서 이를 활성화하세요.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "알림이 시스템 수준에서 차단되었습니다. Doctorina의 알림을 활성화하기 전에 브라우저 설정에서 이를 활성화하세요.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "상담에 대한 최신 정보를 받아보세요", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina는 귀하의 건강에 대한 새로운 통찰력이나 업데이트가 있을 때 알림을 보낼 수 있습니다.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "알림 활성화", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "나중에", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "계속하면 개인정보 처리, cookies 사용에 동의하고 terms and conditions에 동의하며

privacy policy

를 확인하는 것으로 간주됩니다. 또한 귀하는 상담이 AI와 진행되며 면허가 있는 의료 전문가가 아니라는 것을 인정합니다", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "닫기", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "먼저 이 채팅을 저장하시겠습니까?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "새 상담을 시작하기 전에 이 상담 내용을 저장하려면 무료로 가입하세요", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "저장하지 않고 시작", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "가입하기", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "대화를 계속하려면 위에서 옵션을 선택하세요", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "닫기", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "첨부파일 제거", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "드롭존에서 파일 선택에 실패했습니다", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "메시지를 입력하거나 파일을 첨부하세요", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "업로드가 완료될 때까지 기다려 주세요", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "메시지가 처리 중입니다", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "메시지가 너무 깁니다", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "메시지가 현재 처리 중입니다.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "연결이 영구적으로 닫혔습니다", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "서버에 연결할 수 없습니다", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "파일 선택에 실패했습니다", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "이미지를 선택하지 못했습니다", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "카메라에서 사진을 캡처하지 못했습니다", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "한 번에 최대 {count}개의 파일을 첨부할 수 있습니다.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "인식된 텍스트 지우기", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "메시지가 너무 깁니다.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "업로드가 완료될 때까지 기다려 주세요.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "이미 첨부된 {kind} \"{name}\"가 있어 다시 추가되지 않았습니다.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "해당 {kind} \"{name}\"는 {exist}의 중복이며 추가되지 않았습니다.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "최대 첨부 파일 수를 초과하여 {kind} \"{name}\"가 추가되지 않았습니다.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "파일 \"{name}\"이(가) 비어 있습니다.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "파일이 비어 있습니다.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "파일 \"{name}\"이(가) 허용된 최대 크기를 초과했습니다.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "파일이 허용된 최대 크기를 초과합니다.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "파일 \"{name}\"을(를) 처리하는 중 오류가 발생했습니다.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "파일을 처리하는 동안 오류가 발생했습니다.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "파일 \"{name}\"이(가) 추가되지 않았습니다. 첨부파일 최대 수를 초과했습니다.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "첨부 파일 수가 초과되어 파일이 추가되지 않았습니다.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "첨부 파일 수가 초과되어 파일이 추가되지 않았습니다.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "이름이 없는 파일을 추가하려고 했습니다.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "지원되지 않는 확장자를 가진 파일을 추가하려고 했습니다: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "지원되지 않는 확장자의 파일을 추가하려고 했습니다.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "파일을 추가할 수 없습니다.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "파일 \"{name}\"이(가) 유효하지 않으며 추가할 수 없습니다.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "파일이 유효하지 않으며 추가할 수 없습니다.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "항목 \"{name}\"은(는) 유효한 파일이 아닙니다.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "항목이 유효한 파일이 아닙니다.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "항목을 처리하는 동안 오류가 발생했습니다.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "항목을 처리하는 동안 오류가 발생했습니다.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "파일이 추가되지 않았습니다", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "일부 파일은 기존 파일과 중복되어 건너뛰었습니다.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "알 수 없는 오류가 발생했습니다.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "파일 첨부 중 다음 오류가 발생했습니다:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "파일 공유에 실패했습니다: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "닫기", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "공유", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "파일 로딩 중...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "파일을 불러오는 데 실패했습니다", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "알 수 없는 오류가 발생했습니다", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "재시도", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "지원되지 않는 파일 형식", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "미리보기 {contentType}를 볼 수 없습니다", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "파일 공유", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "이미지를 표시하지 못했습니다", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "줌 초기화", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF를 불러오는 데 실패했습니다", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "텍스트 내용을 디코딩하지 못했습니다.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "그리고 {count}개의 오류가 더 있습니다.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "파일이 잘못되었습니다", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "동의 필요", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "계속하면, 귀하는 당사의 약관, 개인정보 처리방침, 및 쿠키 사용에 동의하며, 이 상담이 면허가 있는 의료 전문가가 아닌 AI에 의해 제공됨을 확인합니다.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "닫기", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "삭제", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "채팅 삭제", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "채팅 “{title}”이(가) 성공적으로 삭제되었습니다.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "채팅 삭제?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "이 채팅에서 증상, 진단 요약 및 권장 사항이 삭제됩니다.\n이 작업은 취소할 수 없습니다.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "확대", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "축소", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "줌 초기화", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "공유", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "오늘", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "어제", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "첫 페이지만 표시됩니다. 전체 파일을 다운로드하려면 공유를 사용하세요.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_lo.arb b/example/lib/src/l10n/chat/app_lo.arb new file mode 100644 index 0000000..8055f9e --- /dev/null +++ b/example/lib/src/l10n/chat/app_lo.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "lo", + "drawerTooltipNotifications": "ການແຈ້ງເຕືອນ", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "ຊ່ວຍ", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "ປິດ", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "ບັດຊິນ", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Профил", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "ການຕັ້ງຄ່າບັດຊິບ", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Donate to Support", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Abonament", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "ສົນທະນາ", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "ປະຫວັດການສົນທະນາ", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Dokumente angehängt", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "ວິທີໃຊ້", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Video Tutorials", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Закон", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "ຕິດຕໍ່ພວກເຮົາ", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "ລາຍງານບັກ", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Termini & Condizioni", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "ນະແບບຄວາມລັບ", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Feedback", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Rate App", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "ບ່ອນແບ່ງກັບເພື່ອນ", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Log Out", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "ຊ່ວຍຄົນອື່ນໃຫ້ໄດ້ຮັບການແພດ", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Premium Features\nwith Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Get", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "ມາຮ່ວມກັນ", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "App version:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "ສົນທະນາລ່າສຸດ", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "ບັນທຶກ", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "ສົນທະນາລ່າສຸດ", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "ດາວ໌ໂຫລດແອບ", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "ໃສ່ຂໍ້ຄວາມ", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "ແນບເອກສາ", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "ສຽງດິກທີ່ຈະສົ່ງ", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Finish & Transcribe", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "ສົ່ງຂໍ້ຄວາມ", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "ບໍ່ສາມາດເອົາຂໍໍ່າສຽງ", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "ບໍ່ສາມາດເອົາຂໍໍ່າສົ່ງ. ກະລຸນາລອງໃໝ່.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Fetch messages", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "ບໍ່ມີຂໍໍ່ສົ່ງ.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Conectado", + "@chatListHasConnection": {}, + "chatListNoConnection": "ບໍ່ມີການເຊື່ອມຕໍ່", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "ຄົ້ນຫາ", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "ລາຍການທີ່ຮັກ", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ດາວໂລດ", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "ປິ່ນ PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "ບ່ອນແບ່ງກັບແຟນ", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "ໃສ່ສົນທະນາໃໝ່", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "ສົນທະນາ", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "ເລືອກສົນທະນາ", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ສະແດງສະຖານທີ່", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "ບໍ່ມີການສົນທະນາ. ກະລຸນາປ່ອນໃໝ່ຫຼືສ້າງການສົນທະນາໃໝ່.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "ປ່ອນສົກສົດ", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Создать новый чат", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "ຄັອບ ຂໍໍ່ອນ", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Typing Just a moment", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "ກຳລັງອັບເດດ...\nກະລຸນາກວດເບິ່ງການເຊື່ອມຕໍ່ອິນເຕີເນດຂອງທ່ານ", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "ຂໍໍ່ສະຖານທີ່ກຳລັງຖືກປະຕິບັດ.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "ຂໍໍ່ສະຖານທີ່ຍາວເກີນໄປ.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "ລົບແນບແບບ", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "ບໍ່ສາມາດປະຕິບັດຂໍ້ຄວາມ", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Export to PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Photos", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Fajlovi", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "ຮູບ໖ອງແລະໄຟລ໌", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Hope that helped! Was this explanation useful to you?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "ແມ່ນ, ທຸກຢ່າງດີ!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "ບໍ່ສາມາດເພີ່ມສະຖານທີ່ສົນທະນາ", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Chat summary copied to clipboard", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Try Doctorina in the mobile app!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Download on the", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ຮັບໃຊ້ໃນ", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Download on the App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "ຮັບໃນ Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "ລາຍງານຂໍແຈ້ງ", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "ເທົ່າໃດທ່ານຈະລາຍງານຂໍ້ຄວາມນີ້?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "ເລືອກ: ອະທິບາຍວ່າມີອະໄພອະໄພອັນໃດກັບຂໍໍ່ນີ້...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "ນີ້ຈະຊ່ວຍໃຫ້ເຮົາປັບປຸງການຕອບສະຖານທີ່ AI ຂອງເຮົາ", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "ຍົກເລີກ", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "ລາຍງານ", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "ຂອບໃຈສໍາລັບຄວາມເພີ່ມເຕີມ! ລາຍງານໄດ້ຖືກສົ່ງແລ້ວ.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "ລົ້ມເລີຍໃນການສົ່ງລາຍງານ", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "ສຳເລັດໃນການຄັອບແບບ", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "ລົ້ມເລີຍໃນການຄັອບຂໍ້ມູນເຊິ່ງສະຖານທີ່", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "ລາຍງານຂໍແຈ້ງ", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ອັບໂຫລດເຂົ້າໃນບັນທຶກສົນທະນາກັບຄູ່ສຽງ", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "ດິນແລະດອບໄຟລ໌ທີ່ນີ້ເພື່ອເພີ່ມໃນສົນທະນາ", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "ທ່ານສາมາດເພີ່ມໄຟລໄດ້ສູງສຸດ 15 ໄຟລເຂົ້າໃນສຽງໃດໜຶ່ງ", + "@chatDropZoneText": {}, + "notificationBannerText": "ທ່ານຕ້ອງການໃຫ້ຂ້ອຍແຈ້ງເຕືອນທ່ານ ຫາກເກີດເຫດການສຳຄັນໃນສຸຂະພາບຂອງທ່ານ?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "ແມ່ນ, ບອກຂໍແລ້ວ", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "ອາດຈະພາຍຫຼັງ", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "ປິດ", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "ການແຈ້ງເຕືອນຖືກບລອກທີ່ລະບົບ. ກະລຸນາເປີດໃນການຕັ້ງຄ່າລະບົບກ່ຽວກັບການແຈ້ງເຕືອນຂອງ Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "ການແຈ້ງເຕືອນຖືກບລອກທີ່ລະບົບ. ກະລຸນາເປິດໃນການຕັ້ງຄ່າໃນເວບໄຊກ່ຽວກັບການແຈ້ງເຕືອນຂອງ Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "ອັບເດດກ່ຽວກັບການປຶກສາຂອງທ່ານ", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina ສາມາດແຈ້ງເຕືອນທ່ານເມື່ອມີຂໍໍ່ມູນໃໝ່ ຫຼື ອັບເດດເກີນກ່ຽວກັບສຸຂະພາບຂອງທ່ານ.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "ເປີດການແຈ້ງເຕືອນ", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "ອາດຈະພາຍຫຼັງ", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "ການຕໍ່ໄປ, ທ່ານຍອມຮັບການດໍາເນີນການຂໍ້ມູນສ່ວນຕົວ, ການໃຊ້ cookies, ຍອມຮັບ terms and conditions, ແລະຮັບຮູ້

privacy policy

. ນອກຈາກນັ້ນ, ທ່ານຮັບຮູ້ວ່າການປຶກສາຂອງທ່ານເຮັດໂດຍ AI ແລະບໍ່ເປັນນັກພັດທະນາແພດ", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "ປິດ", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "ບັນທຶກຫນ້າສົນທະນານີ້ກ່ອນ?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "ລົງທະບຽນຟຣີເພື່ອບັນທຶກການປຶກສານີ້ກ່ອນເລີ່ມຕົ້ນການປຶກສາໃໝ່", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "ເລີ່ມໂດຍບໍ່ບັນທຶກ", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "ລົງທະບຽນ", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "ເພື່ອດຳເນີນສົນທະນາ ໃຫ້ເລືອກເລືອກສິ່ງທີ່ຢູ່ເທິງ", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "ປິດ", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "ລົບເນື້ອໃນອະທິບາຍ", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ບໍ່ສາມາດເລືອກໄຟລ໌ຈາກສະຖານທີ່ດອດ", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "ກະລຸນາໃສ່ຂໍ້ຄວາมຫຼືແນບໄຟລ໌", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "ກະລຸນາລໍຖ້າການນຳເສີມສົມບູນ", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "ຂໍໍາລຽງຂໍ້ມູນກຳລັງຖືກປ່ອນອອກ", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "ຂໍໍ່ອຍແມ່ນຍາວເກີນໄປ", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "ຂໍໍາລະບຽບຂອງຂໍໍາລະບຽບກໍ່ກັບສະຖານທີ່.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "ການເຊື່ອມຕໍ່ຖືກປິດຢ່າງສະຖານທີ່", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "ບໍ່ມີການເຊື່ອມຕໍ່ກັບເຊິ່ອນ", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "ບໍ່ສາมາດເລືອກໄຟລ໌", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "ບໍ່ສາມາດເລືອກຮູບພາບ", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "ບໍ່ສາມາດບັນທຶກຮູບຈາກກໍ່ມື", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "ທ່ານສາมາດແນບເອກະສານໄດ້ສູງສຸດ {count} ລາຍການ.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "ລົບຂໍໍ່ທີ່ຖືກລະບົບ", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "ຂໍໍ່ສະຖານທີ່ຍາວເກີນໄປ.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "ກະລຸນາລໍຖ້າໃຫ້ການນຳເສີມສົມບູນ.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "ສະຖານທີ່ {kind} \"{name}\" ແມ່ນແລ້ວຖືກແບບແລ້ວ ແລະບໍ່ໄດ້ເພີ່ມເຂົ້າໄປ.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "ໄຟล์ {kind} \"{name}\" ແມ່ນສິ່ງທີ່ຊໍາຊ່ອນກັບ {exist} ແລະບໍ່ໄດ້ເພີ່ມເຂົ້າ.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "ບັນທຶກ \"{name}\" ປະເພດ {kind} ບໍ່ໄດ້ເພີ່ມເຂົ້າໄປເພາະຈຳນວນສູງສຸດຂອງບັນທຶກໄດ້ຖືກປ່ອນ.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "ຟາຍ \"{name}\" ແມ່ນປ່າ.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "ແຟ້ມປ່າຍ.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Файл \"{name}\" превышает максимальный допустимый размер.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ຟາຍບັນທຶກເກີນຂະບວນການອະນຸຍາດສູງສຸດ.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "ມີບັດສະບັດໃນການປະຕິບັດໃສ່ແຟ້ມ \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "ມີບັດສະບັດໃນການປະຕິເສດໃສ່ໄຟລ໌.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "ຟາຍ \"{name}\" ບໍ່ໄດ້ເພີ່ມເຂົ້າໄປເພາະຈຳນວນສູງສຸດຂອງແນບໄດ້ຖືກປ່ອນ.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ຟາຍ(ບໍ່) ບໍ່ໄດ້ເພີ່ມເຂົ້າໄປເພາະຈຳນວນສູງສຸດຂອງໄຟລ໌ປ່ອນບັດຖືກປະກອບ.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "ບັນທຶກບໍ່ໄດ້ເພີ່ມເພາະຈຳນວນສູງສຸດຂອງໄຟລ໌ທີ່ແນບໄວ້ໄດ້ຖືກເກີນ.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "ມີການພະຍາຍາມເພີ່ມເອກະສານທີ່ບໍ່ມີຊື່", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "ມີການພະຍາຍາມເພີ່ມໄຟລ໌ທີ່ມີສິດສະຖານບໍ່ສະດວກ: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "ມີການ versບັດສະຖານທີ່ບໍ່ສາມາດໃສ່ໄຟລເຊີນທີ່ບໍ່ສະຖານທີ່ບໍ່ສາມາດໃສ່", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "ບໍ່ສາມາດເພີ່ມໄຟລ໌ໄດ້.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "ຟາຍ \"{name}\" ບໍ່ແມ່ນບັນທຶກ ແລະບໍ່ສາມາດເພີ່ມໄດ້.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ຟາຍເປັນບໍ່ຖືກແລະບໍ່ສາມາດເພີ່ມໄດ້.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "ລາຍການ \"{name}\" ບໍ່ແມ່ນໄຟລ໌ທີ່ຖືກຕ້ອງ.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "ລາຍການບໍ່ແມ່ນໄຟລ໌ທີ່ຖືກຕ້ອງ", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "ມີຄວາມຜິດພາດໃນການປະຕິເສດລາຍການ.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "ມີບັດສະກິດໃນການປະຕິບັດລາຍການ.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "ບໍ່ມີໄຟລ໌ໃດເທົ່ານັ້ນ", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "ໄຟລ໌ບາງໄຟລ໌ຖືກຂ້າມໄປເນື່ອງຈາກຊໍ້າກັນກັບໄຟລ໌ທີ່ມີຢູ່ແລ້ວ.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "ມີບັດທິດທີ່ບໍ່ຮູ້", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "ມີບັດສະກິດຕ່າງໆໃນການເພີ່ມໄຟລ໌:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "ບໍ່ສາມາດແບ່ງປັນໄຟລ໌: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "ປິດ", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "ແບ່ງປັນ", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "ກຳລັງໂອນໄຟລ໌...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "ບໍ່ສາມາດໂອນໄຟລ໌", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "ເກິດບັດທິດທີ່ບໍ່ຮູ້", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "ລອງໃໝ່", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "ປະເພດໄຟລ໌ທີ່ບໍ່ເຮັດວຽກ", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "ບໍ່ສາມາດເບິ່ງ {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "ແບ່ງປັນໄຟລ໌", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "ບໍ່ສາມາດເປີດຮູບພາບ", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "ກັບໄປສູ່ຄວາມເພີ່ມຂະບວນ", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "ບໍ່ສາມາດເຂົ້າໃຈ PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "ບໍ່ສາມາດເປັນສິ່ງທີ່ສະຖິດໃນຂໍ້ມູນຂອງຂໍ້ມູນ", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "ແລະ {count} ຄວາມຜິດພາດອື່ນ.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "ຟາຍແມ່ນບໍ່ຖືກຕ້ອງ", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "ຕ໭ອບຮັບສະຖານທີ່ຕ້ອງການ", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "By continuing, you agree to our Terms, Privacy Policy, and use of cookies, and confirm that this consultation is provided by AI, not a licensed medical professional.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Close", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "ລົບ", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "ລົບສົນທະນາ", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat “{title}” ຖືກລົບແລ້ວ.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "ລົບບົດສົນທະນາບໍ?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "ອາການ, ສະຖານທີ່ປ່ອນລະບົບ, ແລະຄໍາແນະນຳໃນສົກສົດນີ້ຈະຖອນອອກ.\nການດຳເນີນການນີ້ບໍ່ສາມາດກັບຄືນ.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "ເພີ່ມເຂດ", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "ລົດຂະບວນ", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "ກັບໄປສູ່ຂະບວນການບັນທຶກສະຖານທີ່", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "ແບ່ງປັນ", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "ມື້ນີ້", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "ວັນທີ່ຜ່ານມາ", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "ສໍາລັບສໍາລັບສ່ວນທີ່ສອງ. ໃຊ້ແບ່ງປັນເພື່ອດາວໂຫລດໄຟລເຕັມ.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ml.arb b/example/lib/src/l10n/chat/app_ml.arb new file mode 100644 index 0000000..6c037b1 --- /dev/null +++ b/example/lib/src/l10n/chat/app_ml.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ml", + "drawerTooltipNotifications": "അറിയിപ്പുകൾ", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "സഹായം", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "അടയ്ക്കുക", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Account", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profile", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "അക്കൗണ്ട് ക്രമീകരണങ്ങൾ", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "സഹായിക്കാൻ സംഭാവന ചെയ്യുക", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Subscription", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "ചാറ്റുകൾ", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "ചാറ്റ് ചരിത്രം", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "ചേർത്ത രേഖകൾ", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "എങ്ങനെ ഉപയോഗിക്കാം", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "വീഡിയോ ട്യൂട്ടോറിയലുകൾ", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Legal", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "ഞങ്ങളെ ബന്ധപ്പെടുക", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "ബഗ് റിപ്പോർട്ട്", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "നിബന്ധനകളും വ്യവസ്ഥകളും", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "ഗോപ്പനീയത നയം", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "അഭിപ്രായം", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "ആപ്പ് റേറ്റ് ചെയ്യുക", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "സുഹൃത്തുക്കളുമായി പങ്കിടുക", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "ലോഗ് ഔട്ട്", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "മറ്റുള്ളവരെ മെഡിക്കൽ പരിചരണം ലഭിക്കാൻ സഹായിക്കുക", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "പ്രീമിയം ഫീച്ചറുകൾ
ഡോക്ടറിനയുമായി", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "എടുക്കുക", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "ഞങ്ങളോടൊപ്പം ചേരൂ", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "ആപ്പ് പതിപ്പ്:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "സമീപകാല ചാറ്റുകൾ", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profile", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "സമീപകാല ചാറ്റ്", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "ആപ്പുകൾ ഡൗൺലോഡ് ചെയ്യുക", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "സന്ദേശം നൽകുക", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "ഫയൽ ചേർക്കുക", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "ഉച്ചരിക്കുക", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "അവസാനിപ്പിക്കുക & എഴുത്താക്കുക", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "സന്ദേശം അയക്കുക", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "സന്ദേശങ്ങൾ നേടാൻ പരാജയപ്പെട്ടു", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "സന്ദേശങ്ങൾ നേടാൻ പരാജയപ്പെട്ടു. ദയവായി വീണ്ടും ശ്രമിക്കുക.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "സന്ദേശങ്ങൾ എടുക്കുക", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "സന്ദേശങ്ങൾ ലഭ്യമല്ല. സംഭാഷണം ആരംഭിക്കാൻ ദയവായി ഒരു സന്ദേശം അയക്കുക.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "കണക്റ്റ് ചെയ്തിരിക്കുന്നു", + "@chatListHasConnection": {}, + "chatListNoConnection": "കണക്ഷൻ ഇല്ല", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "തിരയുക", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "പ്രിയപ്പെട്ടവ", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ഡൗൺലോഡ്", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "പി.ഡി.എഫ്. പ്രിന്റ് ചെയ്യുക", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "സുഹൃത്തുക്കളുമായി പങ്കിടുക", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "പുതിയ ചാറ്റ്", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "ചാറ്റ്", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "ചാറ്റ് തിരഞ്ഞെടുക്കുക", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ഡ്രോയർ കാണിക്കുക", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "ചാറ്റുകൾ ലഭ്യമല്ല. ദയവായി പുതുക്കുക അല്ലെങ്കിൽ പുതിയ ചാറ്റ് സൃഷ്ടിക്കുക.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "ചാറ്റുകൾ പുതുക്കുക", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "പുതിയ ചാറ്റ് സൃഷ്ടിക്കുക", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "വാചകം പകർന്നു", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "എഴുതുന്നു", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "അപ്ഡേറ്റുചെയ്യുന്നു...\nനിങ്ങളുടെ ഇന്റർനെറ്റ് കണക്ഷൻ പരിശോധിക്കുക", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "സന്ദേശം ഇപ്പോൾ പ്രോസസ്സ് ചെയ്യപ്പെടുന്നു.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "സന്ദേശം വളരെ നീണ്ടതാണ്.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "അറ്റാച്ച്മെന്റ് നീക്കം ചെയ്യുക", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "സന്ദേശം പ്രോസസ് ചെയ്യാൻ പരാജയപ്പെട്ടു", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDF-ലേക്ക് എക്സ്പോർട്ട് ചെയ്യുക", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "ഫോട്ടോകൾ", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "കാമറ", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ഫയലുകൾ", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "ഫോട്ടോകളും ഫയലുകളും", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "ഇത് സഹായിച്ചുവെന്ന് പ്രതീക്ഷിക്കുന്നു! ഈ വിശദീകരണം നിങ്ങള്ക്ക് ഉപകാരപ്രദമായതാണോ?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "അതെ, എല്ലാം നല്ലതാണ്!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "ചാറ്റ് സംഗ്രഹം ലഭ്യമാക്കാൻ പരാജയപ്പെട്ടു", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "ചാറ്റ് സംഗ്രഹം ക്ലിപ്പ്ബോർഡിലേക്ക് കോപ്പി ചെയ്തു", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "മൊബൈൽ ആപ്പിൽ ഡോക്ടറിനയെ പരീക്ഷിക്കുക!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "ഡൗൺലോഡ് ചെയ്യുക", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "എടുക്കുക", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "ആപ്പ് സ്റ്റോറിൽ ഡൗൺലോഡ് ചെയ്യുക", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "ഗൂഗിൾ പ്ലെയിൽ ഇത് നേടുക", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "സൂചന റിപ്പോർട്ട് ചെയ്യുക", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "നിങ്ങൾ ഈ സന്ദേശം റിപ്പോർട്ട് ചെയ്യുന്നത് എന്തുകൊണ്ടാണ്?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "ഐച്ഛികം: ഈ സന്ദേശത്തിൽ എന്താണ് തെറ്റെന്ന് വിവരിക്കുക...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "ഇത് ഞങ്ങളുടെ AI പ്രതികരണങ്ങൾ മെച്ചപ്പെടുത്താൻ സഹായിക്കും", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "റദ്ദാക്കുക", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "റിപ്പോർട്ട്", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "നിങ്ങളുടെ പ്രതികരണത്തിന് നന്ദി! റിപ്പോർട്ട് സമർപ്പിച്ചു.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "റിപ്പോർട്ട് സമർപ്പിക്കാൻ പരാജയപ്പെട്ടു", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തി", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "സ്നാക്ക്ബാർ സന്ദേശം പകർപ്പിക്കാൻ പരാജയപ്പെട്ടു", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "സൂചന റിപ്പോർട്ട് ചെയ്യുക", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ഡോക്ടറിന ചാറ്റിലേക്ക് അപ്‌ലോഡ് ചെയ്യുക", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "ചാറ്റിലേക്ക് ചേർക്കാൻ ഇവിടെ ഫയലുകൾ വലിച്ചുവിടുക", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "നിങ്ങൾ ഒരു സന്ദേശത്തിൽ 15 ഫയലുകൾ വരെ ചേർക്കാൻ കഴിയും", + "@chatDropZoneText": {}, + "notificationBannerText": "നിങ്ങളുടെ ആരോഗ്യത്തെക്കുറിച്ച് എന്തെങ്കിലും പ്രധാനമായുണ്ടായാൽ ഞാൻ നിങ്ങളെ അറിയിക്കണമോ?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "അതെ, എനിക്ക് അറിയിക്കൂ", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "ശायद പിന്നീട്", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "അടയ്ക്കുക", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "സിസ്റ്റം തലത്തിൽ അറിയിപ്പുകൾ തടഞ്ഞിരിക്കുന്നു. ഡോക്ടറിനയുടെ അറിയിപ്പുകൾ സജീവമാക്കുന്നതിന് മുമ്പ് അവയെ സിസ്റ്റം ക്രമീകരണങ്ങളിൽ സജീവമാക്കുക.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "സിസ്റ്റം തലത്തിൽ അറിയിപ്പുകൾ തടഞ്ഞിരിക്കുന്നു. ഡോക്ടറിനയുടെ അറിയിപ്പുകൾ സജീവമാക്കുന്നതിന് മുമ്പ് ബ്രൗസർ ക്രമീകരണങ്ങളിൽ അവയെ സജീവമാക്കുക.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "നിങ്ങളുടെ ഉപദേശത്തെക്കുറിച്ച് അപ്ഡേറ്റായിരിക്കുക", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "ഡോക്ടറിന നിങ്ങൾക്ക് നിങ്ങളുടെ ആരോഗ്യത്തെക്കുറിച്ചുള്ള പുതിയ അറിവുകൾ അല്ലെങ്കിൽ അപ്ഡേറ്റുകൾ ലഭ്യമായപ്പോൾ അറിയിക്കാം.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "അറിയിപ്പുകൾ സജീവമാക്കുക", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "ശायद പിന്നീട്", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "തുടരുന്നതിലൂടെ, വ്യക്തിഗത വിവരങ്ങളുടെ പ്രോസസ്സിംഗിന്, cookies ഉപയോഗം, terms and conditions അംഗീകരിക്കാനും

privacy policy

അംഗീകരിക്കാനും നിങ്ങൾ സമ്മതിക്കുന്നു. കൂടാതെ, നിങ്ങളുടെ കൗൺസിലിംഗ് ഒരു AI ആണ്, ലൈസൻസ് നേടിയ മെഡിക്കൽ പ്രൊഫഷണലുമായല്ലെന്ന് നിങ്ങൾ അംഗീകരിക്കുന്നു", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "മുടക്കുക", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "ആദ്യമായി ഈ ചാറ്റ് സേവ് ചെയ്യണോ?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "ഒരു പുതിയ കൗൺസിലിംഗ് തുടങ്ങുന്നതിന് മുമ്പ് ഈ കൗൺസിലിംഗ് സംരക്ഷിക്കാൻ സൗജന്യമായി സൈൻ അപ് ചെയ്യൂ", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "സേവ് ചെയ്യാതെ തുടങ്ങുക", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "സൈന് അപ്പ് ചെയ്യുക", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "സംവാദം തുടരാൻ, മുകളിൽ ഒരു ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "മൂടുക", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "അറ്റാച്ച്മെന്റ് നീക്കം ചെയ്യുക", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ഡ്രോപ്പ് സോൺ നിന്ന് ഫയലുകൾ തിരഞ്ഞെടുക്കാൻ പരാജയപ്പെട്ടു", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "ദയവായി ഒരു സന്ദേശം നൽകുക അല്ലെങ്കിൽ ഒരു ഫയൽ അറ്റാച്ച് ചെയ്യുക", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "അപ്ലോഡുകൾ പൂർത്തിയാകാൻ കാത്തിരിക്കുക", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "സന്ദേശം പ്രോസസ്സ് ചെയ്യുന്നു", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "സന്ദേശം വളരെ നീണ്ടതാണ്", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "സന്ദേശം ഇപ്പോൾ പ്രോസസ്സ് ചെയ്യപ്പെടുന്നു.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "കണക്ഷൻ സ്ഥിരമായി അടച്ചിരിക്കുന്നു", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "സർവറിലേക്ക് കണക്ഷൻ ഇല്ല", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "ഫയലുകൾ തിരഞ്ഞെടുക്കാൻ പരാജയപ്പെട്ടു", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "ചിത്രങ്ങൾ തിരഞ്ഞെടുക്കാൻ പരാജയപ്പെട്ടു", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "കാമറയിൽ നിന്ന് ഫോട്ടോ പിടിക്കാൻ പരാജയപ്പെട്ടു", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "നിങ്ങൾ ഒരേസമയം {count} ഫയലുകൾ അറ്റാച്ച് ചെയ്യാൻ കഴിയും.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "അറിയപ്പെട്ട എഴുത്ത് നീക്കം ചെയ്യുക", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "സന്ദേശം വളരെ നീണ്ടതാണ്.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "അപ്ലോഡുകൾ പൂർത്തിയാകാൻ കാത്തിരിക്കുക.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "{kind} \"{name}\" ഇതിനകം ബന്ധിപ്പിച്ചിരിക്കുന്നു, വീണ്ടും ചേർക്കപ്പെട്ടില്ല.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "{kind} \"{name}\" {exist} ന്റെ പുനരാവൃത്തി ആണ്, കൂടാതെ ചേർക്കപ്പെട്ടില്ല.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "ആവശ്യമായ {kind} \"{name}\" ചേർക്കാൻ കഴിയുന്ന പരമാവധി അറ്റാച്ച്മെന്റുകൾ കടന്നുപോയതിനാൽ ചേർക്കാൻ കഴിയുന്നില്ല.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "\"{name}\" എന്ന ഫയൽ ശൂന്യമാണ്.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "ഫയൽ ശൂന്യമാണ്.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "\"{name}\" ഫയൽ അനുവദനീയമായ പരമാവധി വലുപ്പം കടന്നു.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ഫയൽ പരമാവധി അനുവദനീയമായ വലുപ്പം കടന്നുപോയി.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "\"{name}\" ഫയൽ പ്രോസസ്സ് ചെയ്യുമ്പോൾ ഒരു പിശക് സംഭവിച്ചു.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "ഫയൽ പ്രോസസ്സ് ചെയ്യുമ്പോൾ ഒരു പിശക് സംഭവിച്ചു.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "ഫയൽ \"{name}\" ചേർക്കാൻ കഴിയുന്നില്ല, കാരണം പരമാവധി അറ്റാച്ച്മെന്റുകളുടെ എണ്ണം കടന്നു പോയി.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ഒരു ഫയൽ(കൾ) ചേർക്കാൻ കഴിയുന്നില്ല, കാരണം പരമാവധി അറ്റാച്ച്മെന്റുകളുടെ എണ്ണം കടന്നു പോയി.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "ഒരു ഫയൽ ചേർക്കാൻ കഴിയുന്നില്ല, കാരണം അറ്റാച്ച്മെന്റുകളുടെ പരമാവധി എണ്ണം കടന്നു പോയി.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "ഒരു പേരില്ലാത്ത ഫയൽ ചേർക്കാൻ ശ്രമിച്ചു.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "ഒരു പിന്തുണയില്ലാത്ത വിപുലീകരണമുള്ള ഫയൽ ചേർക്കാൻ ശ്രമിച്ചു: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "ഒരു പിന്തുണയില്ലാത്ത വിപുലീകരണമുള്ള ഫയൽ ചേർക്കാൻ ശ്രമിച്ചു.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "ഫയൽ ചേർക്കാൻ സാധ്യമല്ല.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "\"{name}\" എന്ന ഫയൽ അസാധുവാണ്, ഇത് ചേർക്കാൻ കഴിയില്ല.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ഒരു ഫയൽ അസാധുവാണ്, അത് ചേർക്കാൻ കഴിയില്ല.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "ആയിട്ടുള്ളത് \"{name}\" ഒരു സാധുവായ ഫയൽ അല്ല.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "ഒരു ഇനം സാധുവായ ഫയൽ അല്ല.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "ഒരു ഐറ്റം പ്രോസസ്സ് ചെയ്യുമ്പോൾ ഒരു പിശക് സംഭവിച്ചു.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "ഒരു ഐറ്റം(കൾ) പ്രോസസ്സ് ചെയ്യുമ്പോൾ പിശക് സംഭവിച്ചു.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "ഫയലുകൾ ചേർക്കപ്പെട്ടില്ല.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "ചില ഫയലുകൾ നിലവിലുള്ള ഫയലുകളുമായി ഡ്യൂപ്ലിക്കേറ്റുകൾ ആയതിനാൽ ഒഴിവാക്കപ്പെട്ടു.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "ഒരു അറിയപ്പെടാത്ത പിശക് സംഭവിച്ചു.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "ഫയലുകൾ അറ്റാച്ച് ചെയ്യുമ്പോൾ താഴെപ്പറയുന്ന പിശകുകൾ സംഭവിച്ചു:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "ഫയൽ പങ്കിടാൻ പരാജയപ്പെട്ടു: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "അടയ്ക്കുക", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "പങ്കിടുക", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "ഫയൽ ലോഡ് ചെയ്യുന്നു...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "ഫയൽ ലോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "അജ്ഞാത പിശക് സംഭവിച്ചു", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "മറുപടി നൽകുക", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "അംഗീകരിക്കാത്ത ഫയൽ തരം", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Cannot preview {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "ഫയൽ പങ്കിടുക", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "ചിത്രം പ്രദർശിപ്പിക്കാൻ പരാജയപ്പെട്ടു", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "ਜ਼ੂਮ പുനഃസജ്ജമാക്കുക", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF ലോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "ടെക്സ്റ്റ് ഉള്ളടക്കം ഡികോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "മറ്റു {count} പിശകുകൾ.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "ഫയൽ തെറ്റായതാണ്", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "അനുമതി ആവശ്യമാണ്", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "തുടരുന്നതിലൂടെ, നിങ്ങൾ ഞങ്ങളുടെ നിബന്ധനകൾ, ഗോപ്പ്യനയം, കൂടാതെ കുക്കികൾ ഉപയോഗം അംഗീകരിക്കുന്നു, കൂടാതെ ഈ ഉപദേശം എഐയാൽ നൽകപ്പെടുന്നതായി സ്ഥിരീകരിക്കുന്നു, ലൈസൻസുള്ള മെഡിക്കൽ പ്രൊഫഷണലല്ല.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "അടയ്ക്കുക", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "മാറ്റി", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "ചാറ്റ് ഇല്ലാതാക്കുക", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "ചാറ്റ് “{title}” വിജയകരമായി നീക്കം ചെയ്തു.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "ചാറ്റ് ഇല്ലാതാക്കുമോ?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "നിങ്ങളുടെ ലക്ഷണങ്ങൾ, നിദാനത്തിന്റെ സംഗ്രഹം, ഈ ചാറ്റിൽ ഉള്ള ഏതെങ്കിലും ശുപാർശകൾ നീക്കം ചെയ്യപ്പെടും.\nഈ നടപടി തിരികെ എടുക്കാൻ കഴിയില്ല.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "സൂം ഇൻ", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "സൂം ഔട്ട്", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "ਜ਼ੂਮ പുനഃസജ്ജമാക്കുക", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "പങ്കിടുക", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "ഇന്ന്", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "ഇന്നലെ", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "മുതൽ പേജ് മാത്രം. മുഴുവൻ ഫയൽ ഡൗൺലോഡ് ചെയ്യാൻ പങ്കിടുക.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_mr.arb b/example/lib/src/l10n/chat/app_mr.arb new file mode 100644 index 0000000..03872af --- /dev/null +++ b/example/lib/src/l10n/chat/app_mr.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "mr", + "drawerTooltipNotifications": "सूचना", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "मदत", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "बंद करा", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "खाते", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "प्रोफाइल", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "खाते सेटिंग्ज", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "समर्थनासाठी देणगी द्या", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "सदस्यता", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "चॅट्स", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "चॅट इतिहास", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "संलग्न दस्तऐवज", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "कसे वापरावे", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "व्हिडिओ ट्यूटोरियल्स", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "कायदेशीर", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "आमच्याशी संपर्क करा", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "बग अहवाल", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "अटी आणि शर्ती", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "गोपनीयता धोरण", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "अभिप्राय", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "अॅप रेट करा", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "मित्रांसोबत शेअर करा", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "लॉग आउट", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "इतरांना वैद्यकीय सेवा मिळविण्यास मदत करा", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "वापरकर्ता", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "प्रिमियम वैशिष्ट्ये\nडॉक्टोरिना सोबत", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "प्राप्त करा", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "सामील व्हा", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "अ‍ॅप आवृत्ती:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "अलीकडील चॅट्स", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "प्रोफाइल", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "अलीकडील चॅट", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "अॅप्स डाउनलोड करा", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "संदेश प्रविष्ट करा", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "फाइल जोडा", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "डिक्टेट करा", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "समाप्त करा & लिप्यंतरित करा", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "संदेश पाठवा", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "संदेश प्राप्त करण्यात अयशस्वी", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "संदेश प्राप्त करण्यात अयशस्वी. कृपया पुन्हा प्रयत्न करा.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "संदेश मिळवा", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "कोणतेही संदेश उपलब्ध नाहीत. संभाषण सुरू करण्यासाठी कृपया एक संदेश पाठवा.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "जोडलेले", + "@chatListHasConnection": {}, + "chatListNoConnection": "कनेक्शन नाही", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "शोधा", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "आवडते", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "डाउनलोड", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "पीडीएफ मुद्रित करा", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "मित्रांसह शेअर करा", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "नवीन चॅट", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "चॅट", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "चॅट निवडा", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ड्रॉवर दाखवा", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "चॅट उपलब्ध नाहीत. कृपया रिफ्रेश करा किंवा नवीन चॅट सुरू करा.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "चॅट रीफ्रेश करा", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "नवीन चॅट तयार करा", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "मजकूर कॉपी करा", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "टाइप होत आहे\nफक्त थोडा वेळ", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "अपडेट करत आहे...\nकृपया तुमचा इंटरनेट कनेक्शन तपासा", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "संदेश सध्या प्रक्रिया केली जात आहे.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "संदेश खूप लांब आहे.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "संलग्नक काढा", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "संदेश प्रक्रिया करण्यात अयशस्वी", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "पीडीएफमध्ये निर्यात करा", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "फोटो", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "कॅमेरा", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "फाइल्स", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "फोटो आणि फायली", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "आशा आहे की यामुळे मदत झाली! हे स्पष्टीकरण तुम्हाला उपयुक्त ठरले का?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "हो, सर्व काही ठीक आहे!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "चॅट सारांश मिळवण्यात अयशस्वी", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "चॅट सारांश क्लिपबोर्डवर कॉपी केला आहे", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "मोबाइल अ‍ॅपमध्ये Doctorina वापरून पाहा!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "वर डाउनलोड करा", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "हे मिळवा", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Store वरून डाउनलोड करा", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Google Play वरून मिळवा", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "संदेशाची तक्रार करा", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "तुम्ही हा संदेश का रिपोर्ट करत आहात?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "ऐच्छिक: या संदेशामध्ये काय चुकीचे आहे ते वर्णन करा...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "हे आमच्या AI प्रतिसादांना सुधारण्यात मदत करेल.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "रद्द करा", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "अहवाल", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "आपल्या अभिप्रायाबद्दल धन्यवाद! रिपोर्ट सादर केला गेला आहे.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "अहवाल सादर करण्यात अयशस्वी", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "क्लिपबोर्डवर कॉपी केले", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "संदेश कॉपी करण्यात अयशस्वी", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "संदेशाची तक्रार करा", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "डॉक्टरिना चॅटमध्ये अपलोड करा", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "चॅटमध्ये जोडण्यासाठी येथे फायली ड्रॅग आणि ड्रॉप करा", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "तुम्ही एका संदेशात 15 फाइलपर्यंत जोडू शकता", + "@chatDropZoneText": {}, + "notificationBannerText": "तुम्हाला तुमच्या आरोग्याबद्दल काही महत्त्वाचे घडले तर तुम्हाला सूचित करावे का?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "होय, मला सूचित करा", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "कदाचित नंतर", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "बंद करा", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "सूचना प्रणाली स्तरावर अवरोधित आहेत. Doctorina च्या सूचनांना सक्रिय करण्यापूर्वी प्रणाली सेटिंग्जमध्ये त्यांना सक्षम करा.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "सूचना प्रणाली स्तरावर अवरोधित आहेत. Doctorina च्या सूचनांना सक्रिय करण्यापूर्वी ब्राउझर सेटिंग्जमध्ये त्यांना सक्षम करा.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "तुमच्या सल्ल्याबद्दल अद्ययावत रहा", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "डॉक्टरिना तुम्हाला तुमच्या आरोग्याबद्दल नवीन अंतर्दृष्टी किंवा अद्यतने उपलब्ध असताना सूचित करू शकते", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "सूचनाएँ सक्षम करा", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "कदाचित नंतर", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "सुरू ठेवून आपण वैयक्तिक डेटाच्या प्रक्रियेची, cookies चा वापर, terms and conditions ची स्वीकृती आणि

privacy policy

ची मान्यता देता. तसेच आपण हे मान्य करतो की आपला सल्ला AI कडून दिला जात आहे आणि परवानाधारक वैद्यकीय व्यावसायिकाकडून दिलेला नाही", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "अस्वीकृती", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "पहिले ह्या चॅटला जतन करा?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "नवीन सल्लागार सुरू करण्यापूर्वी ही सल्ला जतन करण्यासाठी मुक्तपणे साइन अप करा", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "सेव्ह न करता सुरू करा", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "साइन अप करा", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "संवाद सुरू ठेवण्यासाठी, वरील पर्याय निवडा", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "बंद करा", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "संलग्नक काढा", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "फाइल्स ड्रॉप झोनमधून निवडण्यात अयशस्वी", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "कृपया एक संदेश प्रविष्ट करा किंवा एक फाइल संलग्न करा", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "कृपया अपलोड पूर्ण होईपर्यंत थांबा", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "संदेश प्रक्रिया केली जात आहे", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "संदेश खूप लांब आहे", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "संदेश सध्या प्रक्रिया करण्यात आहे.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "संपर्क कायम ठेवला जात नाही", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "सर्व्हरशी कनेक्शन नाही", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "फाइल्स निवडण्यात अयशस्वी", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "प्रतिमा निवडण्यात अयशस्वी", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "कॅमेरातून फोटो काढण्यात अयशस्वी", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "तुम्ही एकाच वेळी {count} फाइल्स संलग्न करू शकता.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "ओळखलेला मजकूर साफ करा", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "संदेश खूप लांब आहे.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "कृपया अपलोड पूर्ण होईपर्यंत थांबा", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "तो {kind} \"{name}\" आधीच जोडलेली आहे आणि पुन्हा जोडली गेली नाही", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "तो {kind} \"{name}\" हा {exist} चा डुप्लिकेट आहे आणि तो जोडला गेला नाही", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "अधिकतम संलग्नकांची संख्या ओलांडल्यामुळे {kind} \"{name}\" जोडले गेले नाही.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "फाइल \"{name}\" रिक्त आहे.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "फाइल रिकामी आहे", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "फाइल \"{name}\" अधिकतम अनुमत आकार ओलांडते.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "फाइल अधिकतम अनुमत आकार ओलांडते.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "फाइल \"{name}\" प्रक्रिया करताना एक त्रुटी आली.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "फाइल प्रक्रिया करताना एक त्रुटी आली.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "फाइल \"{name}\" जोडली गेली नाही कारण संलग्नकांची कमाल संख्या ओलांडली गेली आहे.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "एक किंवा अधिक फाइल जोडल्या गेल्या नाहीत कारण संलग्नकांची कमाल संख्या ओलांडली गेली आहे.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "एक फाइल जोडली गेली नाही कारण संलग्नकांची कमाल संख्या ओलांडली गेली आहे.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "नाव नसलेला एक फाइल जोडण्याचा प्रयत्न केला गेला.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "असमर्थित विस्तार असलेल्या फाइलला जोडण्याचा प्रयत्न केला गेला: \"{name}\"", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "असमर्थित विस्तार असलेल्या फाइलला जोडण्याचा प्रयत्न केला गेला.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "फाइल जोडणे अशक्य आहे", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "फाइल \"{name}\" अमान्य आहे आणि जोडली जाऊ शकत नाही.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "एक फाइल अमान्य आहे आणि जोडली जाऊ शकत नाही.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "आयटम \"{name}\" वैध फाइल नाही.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "आयटम वैध फाइल नाही.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "आयटम प्रक्रिया करताना एक त्रुटी झाली.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "आयटम (आयटम) प्रक्रिया करताना त्रुटी झाली.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "कोणतीही फाइल जोडली गेली नाही.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "काही फाइल्स विद्यमान फाइल्ससह डुप्लिकेट असल्याने वगळण्यात आल्या.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "अज्ञात त्रुटी झाली", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "फाइल्स संलग्न करताना खालील त्रुटी झाल्या:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "फाइल शेअर करण्यात अयशस्वी: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "बंद करा", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "शेयर करा", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "फाइल लोड होत आहे...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "फाइल लोड करण्यात अयशस्वी", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "अज्ञात त्रुटी झाली", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "पुन्हा प्रयत्न करा", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "असमर्थित फाइल प्रकार", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "सामग्री प्रकार {contentType} ची पूर्वावलोकन करता येत नाही", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "फाइल शेअर करा", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "प्रतिमा प्रदर्शित करण्यात अयशस्वी", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "झूम रीसेट करा", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF लोड करण्यात अयशस्वी", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "पाठ सामग्री डिकोड करण्यात अयशस्वी", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "आणि {count} अधिक त्रुटी.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "फाइल बिघडलेली आहे", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "संमती आवश्यक आहे", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "सुरू ठेवण्यासाठी, तुम्ही आमच्या अटी, गोपनीयता धोरण, आणि कुकीजचा वापर मान्य करता, आणि तुम्ही पुष्टी करता की ही सल्ला AI द्वारे दिला जातो, वैद्यकीय व्यावसायिकाने नाही.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "बंद करा", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "हटवा", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "चॅट हटवा", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "चॅट “{title}” यशस्वीरित्या हटवले.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "चॅट हटवा?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "या चॅटमधील तुमच्या लक्षणे, निदान सारांश आणि कोणतीही शिफारस हटवली जाईल.\nहा क्रियाकलाप पूर्ववत केला जाऊ शकत नाही.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "झूम इन", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "झाकणे", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "झूम रीसेट करा", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "सामायिक करा", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "आज", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "काल", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "फक्त पहिली पृष्ठ. संपूर्ण फाइल डाउनलोड करण्यासाठी शेअर वापरा.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ms.arb b/example/lib/src/l10n/chat/app_ms.arb new file mode 100644 index 0000000..ac00b52 --- /dev/null +++ b/example/lib/src/l10n/chat/app_ms.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ms", + "drawerTooltipNotifications": "Pemberitahuan", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Bantuan", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Tutup", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Akaun", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Tetapan Akaun", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Derma untuk Sokongan", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Langganan", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Perbualan", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Sejarah Sembang", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Dokumen Terlampir", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Cara Menggunakan", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Tutorial Video", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Undang-undang", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Hubungi Kami", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Laporan Bug", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Terma & Syarat", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Dasar Privasi", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Maklum Balas", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Taksir Aplikasi", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Kongsi dengan Rakan", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Log Keluar", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Bantu orang lain menerima rawatan perubatan", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Ciri Premium", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Dapatkan", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Sertai Kami", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Versi aplikasi:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Perbualan Terkini", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Perbualan terkini", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Muat Turun Aplikasi", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Masukkan mesej", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Lampirkan fail", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dikte", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Tamat & Transkrip", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Hantar mesej", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Gagal untuk mengambil mesej", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Gagal untuk mengambil mesej. Sila cuba lagi.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Ambil mesej", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Tiada mesej tersedia.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Sambung", + "@chatListHasConnection": {}, + "chatListNoConnection": "Tiada sambungan", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Cari", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Kegemaran", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Muat turun", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Cetak PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Kongsi dengan Rakan", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Sembang baru", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Pilih Sembang", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Tunjuk laci", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Tiada perbualan tersedia. Sila segar semula atau buat perbualan baru.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Segarkan sembang", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Buat sembang baru", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Salin teks", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Sedang menaip", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Mengemas kini...\nSila semak sambungan internet anda", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Mesej ini sedang diproses sekarang.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Mesej terlalu panjang.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Buang lampiran", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Gagal memproses mesej", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Eksport ke PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Gambar", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Fail", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Gambar dan Fail", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Harap ia membantu! Adakah penjelasan ini berguna untuk anda?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Ya, semuanya baik!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Gagal untuk mendapatkan ringkasan perbualan", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Ringkasan sembang disalin ke papan klip", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Cuba Doctorina dalam aplikasi mudah alih!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Download on the", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "DAPATKAN", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Download on the App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Dapatkan di Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Laporkan Mesej", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Mengapa anda melaporkan mesej ini?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Pilihan: Huraikan apa yang salah dengan mesej ini...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Ini akan membantu kami memperbaiki respons AI kami", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Batal", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Laporkan", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Terima kasih atas maklum balas anda! Laporan telah dihantar.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Gagal menghantar laporan", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Disalin ke papan klip", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Gagal menyalin mesej", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Laporkan Mesej", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Muat naik ke chat Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Seret dan lepas fail di sini untuk ditambah ke dalam chat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Anda boleh menambah sehingga 15 fail ke satu mesej", + "@chatDropZoneText": {}, + "notificationBannerText": "Adakah anda ingin saya memberitahu anda jika ada sesuatu yang penting mengenai kesihatan anda?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Ya, beritahu saya", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Mungkin nanti", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Tutup", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Pemberitahuan disekat di peringkat sistem. Aktifkan dalam tetapan sistem sebelum mengaktifkan pemberitahuan Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Pemberitahuan disekat di peringkat sistem. Aktifkan dalam tetapan pelayar sebelum mengaktifkan pemberitahuan Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Kekal dikemas kini tentang konsultasi anda", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina boleh memberitahu anda apabila terdapat wawasan atau kemas kini baru tentang kesihatan anda.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Aktifkan pemberitahuan", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Mungkin nanti", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Dengan meneruskan, anda bersetuju dengan pemprosesan data peribadi, penggunaan cookies, menerima terma dan syarat, dan mengakui

dasar privasi

. Juga, anda mengakui bahawa konsultasi anda adalah dengan AI dan bukan dengan profesional perubatan berlesen", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Tutup", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Simpan chat ini dahulu?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Daftar secara percuma untuk menyimpan konsultasi ini sebelum memulakan yang baru", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Mula tanpa menyimpan", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Daftar", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Untuk meneruskan perbualan, pilih pilihan di atas", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Tutup", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Buang lampiran", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Gagal untuk memilih fail dari zon penurunan", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Sila masukkan mesej atau lampirkan fail", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Sila tunggu sehingga muat naik selesai", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Mesej sedang diproses", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Mesej terlalu panjang", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Mesej sedang diproses sekarang.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Sambungan ditutup secara kekal", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Tiada sambungan ke pelayan", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Gagal untuk memilih fail", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Gagal untuk memilih imej", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Gagal menangkap foto dari kamera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Anda boleh melampirkan sehingga {count} fail sekaligus.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Bersihkan teks yang dikenali", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Mesej terlalu panjang.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Sila tunggu sehingga muat naik selesai.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "The {kind} \"{name}\" sudah dilampirkan dan tidak ditambahkan lagi.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" is a duplicate of {exist} and was not added.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "{kind} \"{name}\" tidak ditambahkan kerana jumlah maksimum lampiran telah melebihi.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Fail \"{name}\" kosong.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Fail itu kosong.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Fail \"{name}\" melebihi saiz maksimum yang dibenarkan.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Fail melebihi saiz maksimum yang dibenarkan.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Ralat berlaku semasa memproses fail \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Ralat berlaku semasa memproses fail.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Fail \"{name}\" tidak ditambahkan kerana jumlah maksimum lampiran telah melebihi.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Satu atau lebih fail tidak ditambah kerana jumlah maksimum lampiran telah melebihi.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Sebuah fail tidak ditambah kerana jumlah maksimum lampiran telah melebihi.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Sebuah fail tanpa nama telah cuba ditambahkan.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Sebuah fail dengan sambungan yang tidak disokong telah cuba ditambahkan: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Fail dengan sambungan yang tidak disokong telah cuba ditambahkan.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Tidak dapat menambah fail.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Fail \"{name}\" tidak sah dan tidak dapat ditambahkan.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Sebuah fail tidak sah dan tidak dapat ditambahkan.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Item \"{name}\" bukan fail yang sah.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Sebuah item bukan fail yang sah.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Ralat berlaku semasa memproses item.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Ralat berlaku semasa memproses item.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Tiada fail yang ditambahkan.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Beberapa fail telah dilepaskan kerana duplikasi dengan fail yang sedia ada.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Ralat yang tidak diketahui telah berlaku.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Kesalahan berikut berlaku semasa melampirkan fail:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Gagal untuk berkongsi fail: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Tutup", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Kongsi", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Memuat fail...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Gagal memuat fail", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Ralat tidak diketahui berlaku", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Cuba lagi", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Jenis fail tidak disokong", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Tidak dapat melihat pratonton {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Kongsi Fail", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Gagal untuk memaparkan imej", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Reset zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Gagal memuat PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Gagal untuk mendekod teks kandungan.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Dan {count} lagi ralat.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Fail tidak sah", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Persetujuan Diperlukan", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Dengan meneruskan, anda bersetuju dengan Terma, Dasar Privasi, dan penggunaan kuki, dan mengesahkan bahawa konsultasi ini disediakan oleh AI, bukan profesional perubatan berlesen.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Tutup", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Padam", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Padam sembang", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat \"{title}\" telah berjaya dipadam.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Padam chat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Gejala, ringkasan diagnosis, dan sebarang cadangan dalam sembang ini akan dipadamkan.\nTindakan ini tidak boleh dibatalkan.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Zoom In", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Zum Keluar", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Reset Zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Kongsi", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Hari ini", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Semalam", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Halaman pertama sahaja. Gunakan Kongsi untuk memuat turun fail penuh.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_my.arb b/example/lib/src/l10n/chat/app_my.arb new file mode 100644 index 0000000..2adebe5 --- /dev/null +++ b/example/lib/src/l10n/chat/app_my.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "my", + "drawerTooltipNotifications": "Notifikasi", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Bantuan", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Tutup", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Akaun", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Tetapan Akaun", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Derma untuk Sokongan", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Langganan", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Sembang", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Sejarah Sembang", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Dokumen Terlampir", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Cara Menggunakan", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Tutorial Video", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Undang-undang", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Hubungi Kami", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Laporan Bug", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Terma & Syarat", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Dasar Privasi", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Maklum Balas", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Taksir Aplikasi", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Kongsi dengan Rakan", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Log Keluar", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Bantu orang lain menerima rawatan perubatan", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Pengguna", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Ciri Premium\nbersama Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Dapatkan", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Sertai Kami", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Versi aplikasi:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "နောက်ဆုံးသော စကားပြောများ", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "ပရိုဖိုင်း", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "နောက်ဆုံးစကားပြော", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "အက်ပလီကေးများကိုဒေါင်းလုပ်လုပ်ပါ", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Masukkan mesej", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Lampir fail", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dikte", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Selesai & Transkripsi", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Hantar mesej", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Gagal untuk mengambil mesej", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Gagal untuk mengambil mesej. Sila cuba lagi.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Ambil mesej", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Tiada mesej tersedia. Sila hantar mesej untuk memulakan perbualan.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Sambung", + "@chatListHasConnection": {}, + "chatListNoConnection": "Tiada sambungan", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Cari", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Kegemaran", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Muat turun", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Cetak PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Kongsi dengan Rakan", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Sembang baru", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "ချစ်", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Pilih Sembang", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Tunjukkan laci", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Tiada sembang tersedia. Sila segarkan atau buat sembang baru.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Segarkan sembang", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Buat sembang baru", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Salin teks", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Sedang menaip", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Mengemas...\nSila semak sambungan internet anda", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Mesej sedang diproses sekarang.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Mesej terlalu panjang.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Buang lampiran", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Gagal memproses mesej", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Eksport ke PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Foto", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Fail", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Gambar dan Fail", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Harap ini membantu! Adakah penjelasan ini berguna untuk anda?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Ya, semuanya baik-baik saja!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Gagal untuk mendapatkan ringkasan perbualan", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Ringkasan sembang disalin ke papan klip", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Cuba Doctorina dalam aplikasi mudah alih!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Muat Turun di", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "DAPATKAN DI", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Muat turun di App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Dapatkan di Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "သတင်းအချက်အလက်ကို အစီရင်ခံပါ", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "သင်ဤသတင်းစကားကိုဘာကြောင့်အစီရင်ခံပါသလဲ?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "အခွင့်အလမ်း: ဤသတင်းစကားတွင် အမှားရှိသည်ကို ဖော်ပြပါ...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "This will help us improve our AI responses.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "မရပ်တန့်ပါ", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "အစီရင်ခံစာ", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Terima kasih atas maklum balas anda! Laporan telah dihantar.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "အစီရင်ခံစာတင်ရန်အောင်မြင်မှုမရှိပါ", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Copied to clipboard", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "မက်ဆေ့ခ်ျကူးယူရန်အောင်မြင်မှုမရှိပါ", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "သတင်းအချက်အလက်ကို အစီရင်ခံပါ", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ဒေါက်တာရိုနာချတ်ထဲသို့အပ်လုတ်ပါ", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "ချိတ်ဆက်ရန် ဖိုင်များကို ဤနေရာတွင် ဆွဲချပါ", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "သင်သည် သတင်းစကားတစ်ခုတွင် ဖိုင် 15 ခုအထိ ထည့်နိုင်သည်", + "@chatDropZoneText": {}, + "notificationBannerText": "ကျန်းမာရေးနှင့်ပတ်သက်၍ အရေးကြီးအရာတစ်ခုဖြစ်လာပါက သင့်အား သတိပေးရန် ငါ့ကို လိုလားပါသလား?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "ဟုတ်ကဲ့၊ ငါ့ကိုသတိပေးပါ", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "မကြာခဏ", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "ပိတ်ပါ", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Pemberitahuan disekat di peringkat sistem. Aktifkan dalam tetapan sistem sebelum mengaktifkan pemberitahuan Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Pemberitahuan disekat di peringkat sistem. Aktifkan dalam tetapan pelayar sebelum mengaktifkan pemberitahuan Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "သင်၏ အကြံပြုချက်အကြောင်း အချက်အလက်များကို အမြဲတမ်း သိရှိပါ", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina သည် သင့်ကျန်းမာရေးနှင့် ပတ်သက်သော အသစ်သော အကြောင်းအရာများ သို့မဟုတ် အပ်ဒိတ်များ ရရှိပါက သင့်အား သတိပေးနိုင်သည်။", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "အသိပေးချက်များကိုဖွင့်ပါ", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "မကြာခဏ", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "ဆက်လက်လုပ်ဆောင်ခြင်းဖြင့် သင်သည် ပုဂ္ဂိုလ်ရေးဒေတာ လုပ်ငန်းစဉ်၊ cookies အသုံးပြုမှု၊ terms and conditions သဘောတူမှုနှင့်

privacy policy

သဘောတူမှုတို့ကို လက်ခံသည်။ ထို့အပြင် သင်၏ အကြံပေးမှုမှာ AI နှင့်ဖြစ်ပြီး လိုင်စင်ရရှိထားသော ဆေးဘက်ဆိုင်ရာ ကျွမ်းကျင်သူနှင့်မဟုတ်ကြောင်း သင် အသိအမှတ်ပြုသည်", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Tutup", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "ဤစကားပြောချက်ကို အရင်တင်သိမ်းမလား?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "နယူးတစ်ခုစတင်မတိုင်မီ ဤအကြံပေးချက်ကို သိမ်းဆည်းရန် အခမဲ့ စာရင်းသွင်းပါ", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "သိမ်းဆည်းမထားဘဲစတင်ပါ", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "စာရင်းသွင်းပါ", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Untuk meneruskan perbualan, pilih pilihan di atas", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "ပိတ်ပါ", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Buang lampiran", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Gagal memilih fail dari zon drop", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Sila masukkan mesej atau lampirkan fail", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Sila tunggu sehingga muat naik selesai", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Mesej sedang diproses", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Mesej terlalu panjang", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Mesej sedang diproses sekarang.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Sambungan ditutup secara kekal", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Tiada sambungan ke pelayan", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Gagal untuk memilih fail", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Gagal untuk memilih imej", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Gagal menangkap foto dari kamera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Anda boleh melampirkan sehingga {count} fail sekaligus.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Kosongkan teks yang dikenali", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Mesej terlalu panjang.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Sila tunggu untuk muat naik selesai", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "The {kind} \"{name}\" is already attached and was not added again.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" adalah duplikat {exist} dan tidak ditambahkan.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "The {kind} \"{name}\" was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Fail \"{name}\" kosong.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Fail ini kosong", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Fail \"{name}\" melebihi saiz maksimum yang dibenarkan.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Fail melebihi saiz maksimum yang dibenarkan.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Ralat berlaku semasa memproses fail \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Ralat berlaku semasa memproses fail.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Fail \"{name}\" tidak ditambahkan kerana jumlah maksimum lampiran telah melebihi.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Satu atau lebih fail tidak ditambahkan kerana jumlah maksimum lampiran telah melebihi.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Satu fail tidak ditambahkan kerana bilangan maksimum lampiran telah melebihi.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Satu fail tanpa nama telah cuba ditambahkan.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Satu fail dengan sambungan yang tidak disokong telah cuba ditambahkan: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Satu fail dengan sambungan yang tidak disokong telah cuba ditambahkan.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Tidak dapat menambah fail.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Fail \"{name}\" tidak sah dan tidak boleh ditambah.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Sebuah fail tidak sah dan tidak boleh ditambah.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Item \"{name}\" bukan fail yang sah.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Item tidak adalah fail yang sah.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Ralat berlaku semasa memproses item.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Ralat berlaku semasa memproses item.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Tiada fail yang ditambahkan", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Beberapa fail telah dilewati kerana duplikasi dengan fail yang sedia ada.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Ralat yang tidak diketahui berlaku.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Kesalahan berikut berlaku semasa melampirkan fail:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Gagal untuk berkongsi fail: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Tutup", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Kongsi", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Memuat fail...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Gagal memuat fail", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Ralat tidak diketahui berlaku", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Cuba", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Jenis fail tidak disokong", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Tidak dapat melihat {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Kongsi Fail", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Gagal memaparkan imej", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Tetapkan semula zum", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Gagal memuat PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Gagal untuk mendekode kandungan teks.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "နှစ်ခုထပ် {count} အမှားများ.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Fail adalah tidak betul", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Persetujuan Diperlukan", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Dengan meneruskan, anda bersetuju dengan Terma, Dasar Privasi, dan penggunaan kuki, dan mengesahkan bahawa konsultasi ini disediakan oleh AI, bukan profesional perubatan berlesen.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Tutup", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "ဖျက်မည်", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "စကားပြောချက်ကို ဖျက်ပါ", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "စကားဝိုင်း “{title}” ကိုအောင်မြင်စွာဖျက်လိုက်ပါပြီ။", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "ချစ်စရာကို ဖျက်မလား?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "သင်၏ရောဂါလက္ခဏာများ၊ ရောဂါခန့်မှန်းချက်အကျဉ်းချုပ်နှင့် ဤချတ်တွင်ရှိသော အကြံပြုချက်များကို ဖျက်ပစ်မည်ဖြစ်သည်။\nဤလုပ်ဆောင်မှုကို ပြန်လည်လုပ်ဆောင်၍မရပါ။", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "အထက်သို့ကြည့်ရန်", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "အနက်ချုပ်", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "ဇုန်ကိုပြန်လည်သတ်မှတ်ပါ", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "မျှဝေပါ", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "ယနေ့", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "မနေ့က", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "ပထမစာမျက်နှာသာ။ အပြည့်အစုံဖိုင်ကိုဒေါင်းလုပ်ရန် Share ကိုအသုံးပြုပါ။", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ne.arb b/example/lib/src/l10n/chat/app_ne.arb new file mode 100644 index 0000000..0f1eb45 --- /dev/null +++ b/example/lib/src/l10n/chat/app_ne.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ne", + "drawerTooltipNotifications": "सूचनाहरू", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "सहायता", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "बन्द गर्नुहोस्", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "खाता", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "प्रोफाइल", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "खाता सेटिंग्स", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "समर्थनको लागि दान गर्नुहोस्", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "सदस्यता", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "च्याटहरू", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "च्याट इतिहास", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "संलग्न कागजात", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "कसरी प्रयोग गर्ने", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "भिडियो ट्यूटोरियलहरू", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "कानूनी", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "हामीलाई सम्पर्क गर्नुहोस्", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "बग रिपोर्ट", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "शर्तहरू र अवस्था", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "गोपनीयता नीति", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "फिडब्याक", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "एपलाई रेट गर्नुहोस्", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "साथीहरूसँग साझा गर्नुहोस्", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "लगआउट", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "अरूलाई चिकित्सा सेवा प्राप्त गर्न मद्दत गर्नुहोस्", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "प्रीमियम सुविधाहरू\nडोक्टरिनासँग", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "पाउनुहोस्", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "हाम्रोमा सामेल हुनुहोस्", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "ऐप संस्करण:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "हालका च्याटहरू", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "प्रोफाइल", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "हालको च्याट", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "एप्लिकेसनहरू डाउनलोड गर्नुहोस्", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "सन्देश लेख्नुहोस्", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "फाइल संलग्न गर्नुहोस्", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "उच्चारण गर्नुहोस्", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "समाप्त गर्नुहोस् र लिप्यन्तरण गर्नुहोस्", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "सन्देश पठाउनुहोस्", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "सन्देशहरू ल्याउन असफल", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "सन्देशहरू ल्याउन असफल। कृपया पुनः प्रयास गर्नुहोस्।", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "सन्देशहरू ल्याउनुहोस्", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "सन्देश उपलब्ध छैन। संवाद सुरु गर्न कृपया सन्देश पठाउनुहोस्।", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "जुडेका", + "@chatListHasConnection": {}, + "chatListNoConnection": "कुनै जडान छैन", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "खोज्नुहोस्", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "मनपर्ने", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "डाउनलोड", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF प्रिन्ट गर्नुहोस्", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "साथीहरूसँग साझा गर्नुहोस्", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "नयाँ च्याट", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "च्याट", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "च्याट चयन गर्नुहोस्", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ड्रावर देखाउनुहोस्", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "च्याट उपलब्ध छैन। कृपया रिफ्रेश गर्नुहोस् वा नयाँ च्याट सिर्जना गर्नुहोस्।", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "च्याटहरू ताजा गर्नुहोस्", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "नयाँ च्याट सिर्जना गर्नुहोस्", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "पाठ प्रतिलिपि गर्नुहोस्", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "टाइप गर्दै", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "अपडेट गर्दै...\nकृपया आफ्नो इन्टरनेट जडान जाँच गर्नुहोस्", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "सन्देश अहिले नै प्रक्रिया भइरहेको छ।", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "सन्देश धेरै लामो छ।", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "संलग्नक हटाउनुहोस्", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "सन्देश प्रक्रिया गर्न असफल", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDF मा निर्यात गर्नुहोस्", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "फोटोहरू", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "क्यामेरा", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "फाइलहरू", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "तस्बिर र फाइलहरू", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "आशा छ कि यसले मद्दत गर्यो! के यो व्याख्या तपाईंलाई उपयोगी लाग्यो?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "हो, सबै ठीक छ!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "च्याट संक्षेप प्राप्त गर्न असफल", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "च्याटको संक्षेप क्लिपबोर्डमा प्रतिलिपि गरियो", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "मोबाइल एपमा Doctorina प्रयास गर्नुहोस्!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "डाउनलोड गर्नुहोस्", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "गेट इट अन", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Store मा डाउनलोड गर्नुहोस्", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "गूगल प्लेमा प्राप्त गर्नुहोस्", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "सन्देश रिपोर्ट गर्नुहोस्", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "तपाईं यो सन्देश किन रिपोर्ट गर्दै हुनुहुन्छ?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "वैकल्पिक: यस सन्देशसँग के गलत छ भनेर वर्णन गर्नुहोस्...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "यसले हामीलाई हाम्रो एआई प्रतिक्रियाहरू सुधार्न मद्दत गर्नेछ", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "रद्द गर्नुहोस्", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "रिपोर्ट गर्नुहोस्", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "तपाईंको फिडब्याकको लागि धन्यवाद! रिपोर्ट पेश गरिएको छ।", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "रिपोर्ट पेश गर्न असफल", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "क्लिपबोर्डमा प्रतिलिपि गरियो", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "सन्देशको प्रतिलिपि गर्न असफल", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "सन्देश रिपोर्ट गर्नुहोस्", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "डॉक्टरिना च्याटमा अपलोड गर्नुहोस्", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "फाइलहरू यहाँ तान्नुहोस् र च्याटमा थप्नका लागि छोड्नुहोस्", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "तपाईं एक सन्देशमा १५ फाइलहरू थप्न सक्नुहुन्छ", + "@chatDropZoneText": {}, + "notificationBannerText": "के तपाईंलाई म तपाईंको स्वास्थ्यको बारेमा केही महत्त्वपूर्ण कुरा आउँदा सूचित गर्न सक्छु?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "हो, मलाई सूचित गर्नुहोस्", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "शायद पछि", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "बन्द गर्नुहोस्", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "सूचनाहरू प्रणाली स्तरमा अवरुद्ध छन्। Doctorina का सूचनाहरू सक्रिय गर्नुअघि तिनीहरूलाई प्रणाली सेटिङहरूमा सक्षम गर्नुहोस्।", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "सूचनाहरू प्रणाली स्तरमा अवरुद्ध छन्। Doctorina का सूचनाहरू सक्रिय गर्नुअघि तिनीहरूलाई ब्राउजर सेटिङहरूमा सक्षम गर्नुहोस्।", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "तपाईंको परामर्शको बारेमा अपडेट रहनुहोस्", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina ले तपाईंको स्वास्थ्यको बारेमा नयाँ जानकारी वा अपडेटहरू उपलब्ध हुँदा तपाईंलाई सूचित गर्न सक्छ।", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "सूचनाहरू सक्षम गर्नुहोस्", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "शायद पछि", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "अगाडि बढ्दा तपाईंले व्यक्तिगत डाटाको प्रक्रिया, cookies को प्रयोग, नियम र सर्तहरू संग सहमत हुनुहुन्छ र

गोपनीयता नीति

स्वीकार गर्नुहुन्छ। साथै, तपाईंले स्वीकार गर्नुहुन्छ कि तपाईंको परामर्श AI सँग छ र प्रमाणित चिकित्सा पेशेवरसँग होइन", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "हटाउनुहोस्", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "पहिले यो च्याट सुरक्षित गर्नुहोस्?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "नयाँ परामर्श सुरु गर्नु अघि यो परामर्श बचत गर्नका लागि निःशुल्क दर्ता गर्नुहोस्", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "बचत नगरी सुरु गर्नुहोस्", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "साइन अप गर्नुहोस्", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "वार्तालाप जारी राख्नका लागि माथि विकल्प छान्नुहोस्", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "बन्द", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "संलग्नक हटाउनुहोस्", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ड्रॉप जोनबाट फाइलहरू चयन गर्न असफल", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "कृपया एक सन्देश प्रविष्ट गर्नुहोस् वा एक फाइल संलग्न गर्नुहोस्", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "कृपया अपलोड पूरा हुन पर्खनुहोस्", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "सन्देश प्रक्रिया भइरहेको छ", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "सन्देश धेरै लामो छ", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "सन्देश अहिले प्रक्रिया भइरहेको छ।", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "जडान स्थायी रूपमा बन्द गरिएको छ", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "सर्भरमा जडान छैन", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "फाइलहरू चयन गर्न असफल", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "तस्बिरहरू चयन गर्न असफल", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "क्यामेराबाट फोटो खिच्न असफल", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "तपाईं एकै समयमा {count} फाइलहरू संलग्न गर्न सक्नुहुन्छ।", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "पहिचान गरिएको पाठ मेटाउनुहोस्", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "सन्देश धेरै लामो छ।", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "कृपया अपलोड पूरा हुन पर्खनुहोस्।", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "The {kind} \"{name}\" पहिले नै संलग्न गरिएको छ र फेरि थपिएको छैन.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" is a duplicate of {exist} and was not added.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "{kind} \"{name}\" थप गरिएको छैन किनभने संलग्नकहरूको अधिकतम संख्या पार गरिसकेको छ.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "फाइल \"{name}\" खाली छ।", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "फाइल खाली छ।", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "फाइल \"{name}\" अधिकतम अनुमति प्राप्त आकार भन्दा बढी छ।", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "फाइल अधिकतम अनुमति प्राप्त आकार भन्दा बढी छ।", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "फाइल \"{name}\" प्रक्रिया गर्दा त्रुटि भयो।", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "फाइल प्रक्रिया गर्दा त्रुटि भयो।", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "फाइल \"{name}\" थपिएको छैन किनभने संलग्नकहरूको अधिकतम संख्या पार गरिसकेको छ.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "फाइल(हरू) थपिएनन् किनभने संलग्नकहरूको अधिकतम संख्या पार गरियो।", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "एक फाइल थपिएको छैन किनभने संलग्नकहरूको अधिकतम संख्या पार गरिसकेको छ।", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "नाम बिना एक फाइल थप्न प्रयास गरियो।", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "एक असमर्थित एक्सटेंशन भएको फाइल थप्न प्रयास गरियो: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "समर्थित विस्तारको साथको फाइल थप्न प्रयास गरियो।", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "फाइल थप्न सकिएन।", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "फाइल \"{name}\" अमान्य छ र थप्न सकिदैन।", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "फाइल अमान्य छ र थप्न सकिदैन।", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "वस्तु \"{name}\" मान्य फाइल होइन।", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "एक वस्तु मान्य फाइल होइन।", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "एक वस्तु प्रक्रिया गर्दा त्रुटि भयो.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "एक वस्तु(हरू)लाई प्रशोधन गर्दा त्रुटि भयो।", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "कुनै फाइलहरू थपिएका छैनन्।", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "केही फाइलहरू विद्यमान फाइलहरूसँगको डुप्लिकेटको कारण छोडिएका छन्।", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "अज्ञात त्रुटि उत्पन्न भयो।", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "फाइलहरू संलग्न गर्दा निम्न त्रुटिहरू भएको छ:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "फाइल साझा गर्न असफल: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "बन्द गर्नुहोस्", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "साझा गर्नुहोस्", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "फाइल लोड गर्दै...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "फाइल लोड गर्न असफल", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "अज्ञात त्रुटि उत्पन्न भयो", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "पुनः प्रयास गर्नुहोस्", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "समर्थित फाइल प्रकार छैन", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "प्रीव्यू गर्न सकिँदैन {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "फाइल साझा गर्नुहोस्", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "छवि प्रदर्शन गर्न असफल", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Reset zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF लोड गर्न असफल", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "पाठ सामग्रीको डिकोड गर्न असफल भयो।", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "र {count} थप त्रुटिहरू छन्।", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "फाइल गलत छ", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "अनुमति आवश्यक", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "जारी राखेर, तपाईं हाम्रो शर्तहरू, गोपनीयता नीति, र कुकीहरूको प्रयोगमा सहमत हुनुहुन्छ, र यो परामर्श AI द्वारा प्रदान गरिएको हो, लाइसेन्स प्राप्त चिकित्सा पेशेवरद्वारा होइन।", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "बन्द गर्नुहोस्", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "हटाउनुहोस्", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "च्याट मेटाउनुहोस्", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "च्याट \"{title}\" सफलतापूर्वक मेटाइयो।", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "च्याट मेट्ने हो?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "तपाईंका लक्षण, निदानको संक्षेप, र यस च्याटमा रहेका कुनै पनि सिफारिसहरू हटाइनेछन्।\nयो क्रिया पूर्ववत गर्न सकिँदैन।", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "जुम इन", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "जूम आउट", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "जूम रिसेट गर्नुहोस्", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "साझा गर्नुहोस्", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "आज", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "हिजो", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "पहिलो पृष्ठ मात्र। पूरा फाइल डाउनलोड गर्न शेयर गर्नुहोस्।", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_nl.arb b/example/lib/src/l10n/chat/app_nl.arb new file mode 100644 index 0000000..b5b5a8d --- /dev/null +++ b/example/lib/src/l10n/chat/app_nl.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "nl", + "drawerTooltipNotifications": "Meldingen", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Help", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Sluiten", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Account", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profiel", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Accountinstellingen", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Doneer ter ondersteuning", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Abonnement", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Chats", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Chatgeschiedenis", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Bijgevoegde Documenten", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Hoe te Gebruiken", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Video Tutorials", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Juridisch", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Neem Contact Op", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Foutmelding", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Voorwaarden", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Privacybeleid", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Feedback", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Beoordeel app", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Deel met Vrienden", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Uitloggen", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Help anderen medische zorg te ontvangen", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Gebruiker", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Premium Kenmerken\nmet Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Krijg", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Doe met ons mee", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "App-versie:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Recente chats", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profiel", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Recent chat", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Apps downloaden", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Voer bericht in", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Bestand bijvoegen", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dicteer", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Afsluiten & Transcriberen", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Bericht verzenden", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Berichten ophalen is mislukt", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Bericht kon niet worden opgehaald. Probeer het opnieuw.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Berichten ophalen", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Geen berichten beschikbaar. Stuur een bericht om het gesprek te starten.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Verbonden", + "@chatListHasConnection": {}, + "chatListNoConnection": "Geen verbinding", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Zoeken", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favorieten", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Downloaden", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF afdrukken", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Deel met vrienden", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Nieuwe chat", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Selecteer chat", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Toon lade", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Geen chats beschikbaar. Gelieve te verversen of een nieuwe chat te starten.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Chats vernieuwen", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Nieuwe chat starten", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Kopieer tekst", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Typen", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Bijwerken...\nControleer uw internetverbinding", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Het bericht wordt op dit moment al verwerkt.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Bericht is te lang.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Verwijder bijlage", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Bericht kon niet worden verwerkt", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Exporteren naar PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Foto's", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Camera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Bestanden", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Foto's en bestanden", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Hopelijk heeft dit geholpen! Was deze uitleg nuttig voor jou?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Ja, alles is goed!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Kon samenvatting van chat niet ophalen", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Chat samenvatting gekopieerd naar klembord", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Probeer Doctorina in de mobiele app!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Download op de", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "KRIJG HET OP", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Download in de App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Krijg het op Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Rapporteer bericht", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Waarom rapporteert u dit bericht?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Optioneel: Beschrijf wat er mis is met dit bericht...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Dit zal ons helpen onze AI-antwoorden te verbeteren", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Annuleren", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Rapporteren", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Bedankt voor uw feedback! Rapport is ingediend.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Indienen van rapport mislukt", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Gekopieerd naar klembord", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Bericht kopiëren mislukt", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Rapporteer bericht", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Upload naar de Doctorina-chat", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Sleep bestanden hierheen om aan de chat toe te voegen", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "U kunt tot 15 bestanden aan één bericht toevoegen", + "@chatDropZoneText": {}, + "notificationBannerText": "Wilt u dat ik u notify als er iets belangrijks over uw gezondheid opkomt?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Ja, houd me op de hoogte", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Misschien later", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Sluiten", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Meldingen zijn op systeemniveau geblokkeerd. Schakel ze in de systeeminstellingen in voordat u de meldingen van Doctorina activeert.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Meldingen zijn op systeemniveau geblokkeerd. Schakel ze in de browserinstellingen in voordat u de meldingen van Doctorina activeert.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Blijf op de hoogte van uw consult", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina kan u notificeren wanneer er nieuwe inzichten of updates over uw gezondheid beschikbaar zijn.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Meldingen inschakelen", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Misschien later", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Door verder te gaan stemt u in met de verwerking van persoonsgegevens, het gebruik van cookies, gaat u akkoord met de voorwaarden, en erkent u het

privacybeleid

. Tevens erkent u dat uw consultatie met een AI verloopt en niet met een erkend medisch professional", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Afwijzen", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Sla deze chat eerst op?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Meld je gratis aan om deze consultatie op te slaan voordat je een nieuwe start", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Start zonder op te slaan", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Registreren", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Om het gesprek voort te zetten, kies een optie hierboven", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Sluiten", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Verwijder bijlage", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Mislukt om bestanden uit het dropgebied te kiezen", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Voer een bericht in of voeg een bestand toe", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Gelieve te wachten tot de uploads zijn voltooid", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Bericht wordt verwerkt", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Bericht is te lang", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Het bericht wordt op dit moment al verwerkt.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "De verbinding is permanent gesloten", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Geen verbinding met server", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Bestanden kiezen mislukt", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Kon afbeeldingen niet selecteren", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Mislukt om foto van camera vast te leggen", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "U kunt tot {count} bestanden tegelijk bijvoegen.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Herkennde tekst wissen", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Bericht is te lang.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Gelieve te wachten tot de uploads zijn voltooid", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "The {kind} \"{name}\" is already attached and was not added again.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "De {kind} \"{name}\" is een duplicaat van {exist} en is niet toegevoegd.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "De {kind} \"{name}\" is niet toegevoegd omdat het maximum aantal bijlagen is overschreden.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Het bestand \"{name}\" is leeg.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Het bestand is leeg.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Het bestand \"{name}\" overschrijdt de maximaal toegestane grootte.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Het bestand overschrijdt de maximaal toegestane grootte.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Er is een fout opgetreden bij het verwerken van het bestand \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Er is een fout opgetreden bij het verwerken van het bestand.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Het bestand \"{name}\" is niet toegevoegd omdat het maximum aantal bijlagen is overschreden.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Een bestand(en) is niet toegevoegd omdat het maximum aantal bijlagen is overschreden.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Een bestand is niet toegevoegd omdat het maximum aantal bijlagen is overschreden.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Er is geprobeerd een bestand zonder naam toe te voegen.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Een bestand met een niet-ondersteunde extensie is geprobeerd toe te voegen: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Er is geprobeerd een bestand met een niet-ondersteunde extensie toe te voegen.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Het is onmogelijk om een bestand toe te voegen.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Het bestand \"{name}\" is ongeldig en kan niet worden toegevoegd.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Een bestand is ongeldig en kan niet worden toegevoegd.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Het item \"{name}\" is geen geldig bestand.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Een item is geen geldig bestand.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Er is een fout opgetreden bij het verwerken van een item.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Er is een fout opgetreden bij het verwerken van een item(s).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Er zijn geen bestanden toegevoegd", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Sommige bestanden zijn overgeslagen vanwege duplicaten met bestaande bestanden.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Er is een onbekende fout opgetreden.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "De volgende fouten zijn opgetreden bij het bijvoegen van bestanden:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Bestand delen mislukt: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Sluiten", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Delen", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Bestand laden...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Bestand kon niet worden geladen", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Onbekende fout opgetreden", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Opnieuw proberen", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Onondersteund bestandstype", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Kan {contentType} niet bekijken", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Bestand Delen", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Afbeelding weergeven mislukt", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Zoom resetten", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF kon niet worden geladen", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Kon de tekstinhoud niet decoderen.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "En {count} meer fouten.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Bestand is ongeldig", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Toestemming Vereist", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Door door te gaan, gaat u akkoord met onze Voorwaarden, Privacybeleid, en gebruik van cookies, en bevestigt u dat deze consultatie wordt aangeboden door AI, niet door een erkende medische professional.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Sluiten", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Verwijderen", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Verwijder chat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat “{title}” succesvol verwijderd.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Chat verwijderen?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Uw symptomen, diagnose-samenvatting en eventuele aanbevelingen in deze chat worden verwijderd.\nDeze actie kan niet ongedaan worden gemaakt.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Inzoomen", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Inzoomen", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Zoom resetten", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Delen", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Vandaag", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Gisteren", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Eerste pagina alleen. Gebruik Delen om het volledige bestand te downloaden.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_pa.arb b/example/lib/src/l10n/chat/app_pa.arb new file mode 100644 index 0000000..03005cc --- /dev/null +++ b/example/lib/src/l10n/chat/app_pa.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "pa", + "drawerTooltipNotifications": "ਸੂਚਨਾਵਾਂ", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "ਮਦਦ", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "ਬੰਦ ਕਰੋ", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Account", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profile", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "ਖਾਤਾ ਸੈਟਿੰਗਜ਼", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "ਦਾਨ ਕਰੋ ਤਾਂ ਜੋ ਸਹਾਇਤਾ ਕਰ ਸਕੀਏ", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Subscription", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "ਗੱਲਾਂ", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "ਚੈਟ ਇਤਿਹਾਸ", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "ਜੁੜੇ ਹੋਏ ਦਸਤਾਵੇਜ਼", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "ਵੀਡੀਓ ਟਿਊਟੋਰੀਅਲ", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Legal", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "ਬੱਗ ਰਿਪੋਰਟ", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "ਸ਼ਰਤਾਂ ਅਤੇ ਨਿਯਮ", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "ਗੋਪਨੀਯਤਾ ਨੀਤੀ", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "ਫੀਡਬੈਕ", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "ਐਪ ਦੀ ਦਰ", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "ਦੋਸਤਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰੋ", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "ਲੌਗ ਆਉਟ", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "ਦੂਜਿਆਂ ਨੂੰ ਮੈਡੀਕਲ ਕੇਅਰ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰੋ", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "ਪ੍ਰੀਮੀਅਮ ਫੀਚਰ
ਡਾਕਟਰਿਨਾ ਨਾਲ", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "ਲੈਣਾ", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "ਸਾਡੇ ਨਾਲ ਸ਼ਾਮਲ ਹੋਵੋ", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "ਐਪ ਦਾ ਸੰਸਕਰਣ:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "ਹਾਲੀਆ ਗੱਲਬਾਤਾਂ", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profile", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "ਹਾਲੀਆ ਗੱਲਬਾਤ", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "ਐਪ ਡਾਊਨਲੋਡ ਕਰੋ", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "ਸੁਨੇਹਾ ਦਰਜ ਕਰੋ", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "ਫਾਇਲ ਜੁੜੋ", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "ਗੱਲਬਾਤ ਕਰੋ", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "ਖਤਮ ਕਰੋ ਅਤੇ ਟ੍ਰਾਂਸਕ੍ਰਾਈਬ ਕਰੋ", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "ਸਨੇਹਾ ਭੇਜੋ", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "ਸੁਨੇਹੇ ਲੈਣ ਵਿੱਚ ਅਸਫਲ. ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "ਸੁਨੇਹੇ ਲਓ", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "ਕੋਈ ਸੁਨੇਹਾ ਉਪਲਬਧ ਨਹੀਂ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਗੱਲਬਾਤ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸੁਨੇਹਾ ਭੇਜੋ.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "ਜੁੜਿਆ ਹੋਇਆ", + "@chatListHasConnection": {}, + "chatListNoConnection": "ਕੋਈ ਕਨੈਕਸ਼ਨ ਨਹੀਂ", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "ਖੋਜੋ", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "ਪਸੰਦ", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ਡਾਊਨਲੋਡ", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "ਪੀਡੀਐਫ਼ ਪ੍ਰਿੰਟ ਕਰੋ", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "ਦੋਸਤਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰੋ", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "ਨਵਾਂ ਚੈਟ", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "ਚੈਟ", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "ਚੈਟ ਚੁਣੋ", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ਡ੍ਰਾਇਵਰ ਦਿਖਾਓ", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "ਕੋਈ ਚੈਟ ਉਪਲਬਧ ਨਹੀਂ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਰੀਫ੍ਰੈਸ਼ ਕਰੋ ਜਾਂ ਨਵੀਂ ਚੈਟ ਬਣਾਓ।", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "ਚੈਟਾਂ ਨੂੰ ਰੀਫ੍ਰੈਸ਼ ਕਰੋ", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "ਨਵਾਂ ਚੈਟ ਬਣਾਓ", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "ਪਾਠ ਕਾਪੀ ਕਰੋ", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "ਲਿਖ ਰਹੇ ਹਾਂ", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "ਅਪਡੇਟ ਹੋ ਰਿਹਾ ਹੈ...\nਕਿਰਪਾ ਕਰਕੇ ਆਪਣੀ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "ਸੁਨੇਹਾ ਹੁਣ ਹੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਹੈ.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "ਸੁਨੇਹਾ ਬਹੁਤ ਲੰਮਾ ਹੈ.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "ਅਟੈਚਮੈਂਟ ਹਟਾਓ", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "ਸੁਨੇਹਾ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਵਿੱਚ ਅਸਫਲ", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "ਪੀਡੀਐਫ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "ਫੋਟੋਜ਼", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "ਕੈਮਰਾ", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ਫਾਈਲਾਂ", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "ਫੋਟੋਆਂ ਅਤੇ ਫਾਈਲਾਂ", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "ਉਮੀਦ ਹੈ ਕਿ ਇਹ ਮਦਦਗਾਰ ਸਾਬਤ ਹੋਇਆ! ਕੀ ਇਹ ਵਿਆਖਿਆ ਤੁਹਾਡੇ ਲਈ ਲਾਭਦਾਇਕ ਸੀ?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "ਹਾਂ, ਸਭ ਕੁਝ ਠੀਕ ਹੈ!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "ਚੈਟ ਸਾਰਾਂਸ਼ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "ਚੈਟ ਦਾ ਸਾਰ ਸੰਕਲਪ ਵਿੱਚ ਕਾਪੀ ਕੀਤਾ ਗਿਆ", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "ਡਾਕਟਰਿਨਾ ਨੂੰ ਮੋਬਾਈਲ ਐਪ ਵਿੱਚ ਕੋਸ਼ਿਸ਼ ਕਰੋ!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "ਡਾਊਨਲੋਡ ਕਰੋ ਤੇ", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ਇਸਨੂੰ ਲਓ", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "ਐਪ ਸਟੋਰ 'ਤੇ ਡਾਊਨਲੋਡ ਕਰੋ", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "ਇਸਨੂੰ Google Play 'ਤੇ ਪ੍ਰਾਪਤ ਕਰੋ", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "ਸੂਚਨਾ ਰਿਪੋਰਟ ਕਰੋ", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "ਤੁਸੀਂ ਇਸ ਸੁਨੇਹੇ ਦੀ ਰਿਪੋਰਟ ਕਿਉਂ ਕਰ ਰਹੇ ਹੋ?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "ਵਿਕਲਪਿਕ: ਇਸ ਸੁਨੇਹੇ ਵਿੱਚ ਕੀ ਗਲਤ ਹੈ, ਵੇਰਵਾ ਦਿਓ...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "ਇਹ ਸਾਡੇ AI ਜਵਾਬਾਂ ਨੂੰ ਸੁਧਾਰਨ ਵਿੱਚ ਮਦਦ ਕਰੇਗਾ", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "ਰੱਦ ਕਰੋ", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "ਰਿਪੋਰਟ", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "ਤੁਹਾਡੇ ਫੀਡਬੈਕ ਲਈ ਧੰਨਵਾਦ! ਰਿਪੋਰਟ ਜਮ੍ਹਾਂ ਕਰ ਦਿੱਤੀ ਗਈ ਹੈ.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "ਰਿਪੋਰਟ ਭੇਜਣ ਵਿੱਚ ਅਸਫਲ", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਨਕਲ ਕੀਤਾ", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "ਸਨੇਕਬਾਰ ਸੁਨੇਹਾ ਕਾਪੀ ਕਰਨ ਵਿੱਚ ਅਸਫਲ", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "ਸੂਚਨਾ ਰਿਪੋਰਟ ਕਰੋ", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ਡਾਕਟਰਿਨਾ ਚੈਟ ਵਿੱਚ ਅਪਲੋਡ ਕਰੋ", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "ਇੱਥੇ ਫਾਈਲਾਂ ਖਿੱਚੋ ਅਤੇ ਚੈਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "ਤੁਸੀਂ ਇੱਕ ਸੁਨੇਹੇ ਵਿੱਚ 15 ਫਾਈਲਾਂ ਤੱਕ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ", + "@chatDropZoneText": {}, + "notificationBannerText": "ਕੀ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਜੇ ਤੁਹਾਡੇ ਸਿਹਤ ਬਾਰੇ ਕੁਝ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ ਤਾਂ ਮੈਂ ਤੁਹਾਨੂੰ ਸੂਚਿਤ ਕਰਾਂ?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "ਹਾਂ, ਮੈਨੂੰ ਸੂਚਿਤ ਕਰੋ", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "ਸ਼ਾਇਦ ਬਾਅਦ ਵਿੱਚ", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "ਬੰਦ ਕਰੋ", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "ਸਿਸਟਮ ਪੱਧਰ 'ਤੇ ਸੂਚਨਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ। ਡਾਕਟਰਿਨਾ ਦੀਆਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਸਰਗਰਮ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਿਸਟਮ ਸੈਟਿੰਗਜ਼ ਵਿੱਚ ਉਨ੍ਹਾਂ ਨੂੰ ਯੋਗ ਕਰੋ.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "ਸਿਸਟਮ ਪੱਧਰ 'ਤੇ ਸੂਚਨਾਵਾਂ ਬਲੌਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ। ਡਾਕਟਰਿਨਾ ਦੀਆਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਸਰਗਰਮ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਬ੍ਰਾਊਜ਼ਰ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਉਨ੍ਹਾਂ ਨੂੰ ਯੋਗ ਕਰੋ.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "ਆਪਣੀ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਬਾਰੇ ਅਪਡੇਟ ਰਹੋ", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "ਡਾਕਟਰਿਨਾ ਤੁਹਾਨੂੰ ਦੱਸ ਸਕਦੀ ਹੈ ਜਦੋਂ ਤੁਹਾਡੇ ਸਿਹਤ ਬਾਰੇ ਨਵੇਂ ਅਨੁਭਵ ਜਾਂ ਅੱਪਡੇਟ ਉਪਲਬਧ ਹਨ.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "ਨੋਟੀਫਿਕੇਸ਼ਨ ਚਾਲੂ ਕਰੋ", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "ਸ਼ਾਇਦ ਬਾਅਦ ਵਿੱਚ", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "ਜਾਰੀ ਰੱਖਣ ਨਾਲ, ਤੁਸੀਂ ਨਿੱਜੀ ਡਾਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ, cookies ਦੀ ਵਰਤੋਂ, terms and conditions ਨਾਲ ਸਹਿਮਤ ਹੋ ਰਹੇ ਹੋ ਅਤੇ

privacy policy

ਨੂੰ ਮੰਨਦੇ ਹੋ। ਇਸਦੇ ਨਾਲ, ਤੁਸੀਂ ਇਹ ਵੀ ਮੰਨ ਰਹੇ ਹੋ ਕਿ ਤੁਹਾਡੀ ਸਲਾਹ-ਮਸ਼ਵਰਾ ਇੱਕ AI ਨਾਲ ਹੈ ਅਤੇ ਕਿਸੇ ਲਾਇਸੰਸ ਪ੍ਰਾਪਤ ਚਿਕਿਤਸਕ ਨਾਲ ਨਹੀਂ", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "ਬੰਦ ਕਰੋ", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "ਪਹਿਲਾਂ ਇਸ ਚੈਟ ਨੂੰ ਸੇਵ ਕਰੋ?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "ਨਵੀਂ ਸਲਾਹ-ਮਸ਼ਵਰਾ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਸਲਾਹ ਨੂੰ ਸੇਵ ਕਰਨ ਲਈ ਮੁਫ਼ਤ ਸਾਈਨ ਅਪ ਕਰੋ", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "ਬਿਨਾਂ ਸੇਵ ਕੀਤੇ ਸ਼ੁਰੂ ਕਰੋ", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "ਸਾਈਨ ਅੱਪ ਕਰੋ", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "ਗੱਲਬਾਤ ਜਾਰੀ ਰੱਖਣ ਲਈ, ਉੱਪਰ ਦਿੱਤੀ ਗਈ ਕਿਸੇ ਇਕ ਵਿਕਲਪ ਨੂੰ ਚੁਣੋ", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "ਬੰਦ ਕਰੋ", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "ਅਟੈਚਮੈਂਟ ਹਟਾਓ", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ਫਾਈਲਾਂ ਨੂੰ ਡ੍ਰੌਪ ਜ਼ੋਨ ਤੋਂ ਚੁਣਨ ਵਿੱਚ ਅਸਫਲ", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਸੁਨੇਹਾ ਦਾਖਲ ਕਰੋ ਜਾਂ ਇੱਕ ਫਾਈਲ ਜੁੜੋ", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "ਕਿਰਪਾ ਕਰਕੇ ਅਪਲੋਡ ਪੂਰੇ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰੋ", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "ਸੁਨੇਹਾ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਹੈ", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "ਸੁਨੇਹਾ ਬਹੁਤ ਲੰਮਾ ਹੈ", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "ਸੁਨੇਹਾ ਹੁਣੇ ਹੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਹੈ.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "ਕਨੈਕਸ਼ਨ ਸਦਾ ਲਈ ਬੰਦ ਹੈ", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "ਸਰਵਰ ਨਾਲ ਕੋਈ ਕਨੈਕਸ਼ਨ ਨਹੀਂ", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "ਫਾਈਲਾਂ ਚੁਣਨ ਵਿੱਚ ਅਸਫਲ", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "ਤਸਵੀਰਾਂ ਚੁਣਨ ਵਿੱਚ ਅਸਫਲ", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "ਕੈਮਰੇ ਤੋਂ ਫੋਟੋ ਕੈਪਚਰ ਕਰਨ ਵਿੱਚ ਅਸਫਲ", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "ਤੁਸੀਂ ਇੱਕ ਵਾਰੀ ਵਿੱਚ {count} ਫਾਈਲਾਂ ਜੋੜ ਸਕਦੇ ਹੋ.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "ਪਛਾਣਿਆ ਟੈਕਸਟ ਸਾਫ ਕਰੋ", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "ਸੁਨੇਹਾ ਬਹੁਤ ਲੰਮਾ ਹੈ।", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "ਕਿਰਪਾ ਕਰਕੇ ਅਪਲੋਡ ਪੂਰੇ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰੋ.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "ਗੱਲਬਾਤ {kind} \"{name}\" ਪਹਿਲਾਂ ਹੀ ਜੁੜੀ ਹੋਈ ਹੈ ਅਤੇ ਦੁਬਾਰਾ ਨਹੀਂ ਜੋੜੀ ਗਈ।", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "ਗੱਲਬਾਤ {kind} \"{name}\" ਮੌਜੂਦ {exist} ਦਾ ਨਕਲ ਹੈ ਅਤੇ ਜੋੜਿਆ ਨਹੀਂ ਗਿਆ।", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "ਗਲਤੀ: {kind} \"{name}\" ਨੂੰ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਕਿਉਂਕਿ ਲਗਾਤਾਰ ਫਾਈਲਾਂ ਦੀ ਸੰਖਿਆ ਵੱਧ ਗਈ ਹੈ.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "ਫਾਈਲ \"{name}\" ਖਾਲੀ ਹੈ.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "ਫਾਈਲ ਖਾਲੀ ਹੈ.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "ਫਾਈਲ \"{name}\" ਦੀ ਆਗਿਆਤ ਮਿਆਰੀ ਆਕਾਰ ਤੋਂ ਵੱਧ ਹੈ.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ਫਾਈਲ ਅਧਿਕਤਮ ਆਗਿਆਤ ਆਕਾਰ ਤੋਂ ਵੱਧ ਹੈ.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "ਫਾਈਲ \"{name}\" ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਗਲਤੀ ਹੋਈ ਹੈ.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "ਫਾਈਲ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਗਲਤੀ ਹੋਈ।", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "ਫਾਈਲ \"{name}\" ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੀ ਗਈ ਕਿਉਂਕਿ ਲਗਾਤਾਰ ਜੋੜਨ ਦੀ ਸੰਖਿਆ ਪਾਰ ਹੋ ਗਈ ਹੈ.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ਇੱਕ ਫਾਈਲ(ਆਂ) ਨੂੰ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਕਿਉਂਕਿ ਲਗਾਤਾਰ ਫਾਈਲਾਂ ਦੀ ਸੰਖਿਆ ਵੱਧ ਗਈ ਹੈ.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "ਇੱਕ ਫਾਈਲ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੀ ਗਈ ਕਿਉਂਕਿ ਲਗਾਤਾਰ ਜੁੜੇ ਹੋਏ ਫਾਈਲਾਂ ਦੀ ਸੰਖਿਆ ਵੱਧ ਗਈ ਹੈ।", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "ਇੱਕ ਨਾਮ ਰਹਿਤ ਫਾਈਲ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਗਈ ਸੀ.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "ਇੱਕ ਫਾਈਲ ਜਿਸਦਾ ਸਹਾਇਕ ਐਕਸਟੈਂਸ਼ਨ ਨਹੀਂ ਹੈ, ਜੋੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਗਈ: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "ਇੱਕ ਫਾਈਲ ਜਿਸਦਾ ਐਕਸਟੈਂਸ਼ਨ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ, ਜੋੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਗਈ ਸੀ.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "ਫਾਈਲ ਸ਼ਾਮਲ ਕਰਨਾ ਸੰਭਵ ਨਹੀਂ ਹੈ।", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "ਫਾਈਲ \"{name}\" ਗਲਤ ਹੈ ਅਤੇ ਇਸਨੂੰ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ਇੱਕ ਫਾਈਲ ਗਲਤ ਹੈ ਅਤੇ ਜੋੜੀ ਨਹੀਂ ਜਾ ਸਕਦੀ.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "ਇਹ ਆਈਟਮ \"{name}\" ਇੱਕ ਵੈਧ ਫਾਈਲ ਨਹੀਂ ਹੈ.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "ਇੱਕ ਆਈਟਮ ਇੱਕ ਵੈਧ ਫਾਈਲ ਨਹੀਂ ਹੈ.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "ਇੱਕ ਆਈਟਮ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਗਲਤੀ ਹੋਈ।", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "ਇੱਕ ਆਈਟਮ(ਆਂ) ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਦੇ ਸਮੇਂ ਗਲਤੀ ਹੋਈ।", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "ਕੋਈ ਫਾਈਲ ਨਹੀਂ ਜੋੜੀ ਗਈ।", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "ਕੁਝ ਫਾਈਲਾਂ ਮੌਜੂਦ ਫਾਈਲਾਂ ਨਾਲ ਡੁਪਲੀਕੇਟ ਹੋਣ ਕਾਰਨ ਛੱਡ ਦਿੱਤੀਆਂ ਗਈਆਂ।", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "ਇੱਕ ਅਣਜਾਣ ਗਲਤੀ ਹੋਈ ਹੈ.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "ਫਾਈਲਾਂ ਜੋੜਦੇ ਸਮੇਂ ਹੇਠ ਲਿਖੇ ਗਲਤੀਆਂ ਹੋਈਆਂ:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "ਫਾਈਲ ਸਾਂਝਾ ਕਰਨ ਵਿੱਚ ਅਸਫਲ: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "ਬੰਦ ਕਰੋ", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "ਸਾਂਝਾ ਕਰੋ", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "ਫਾਈਲ ਲੋਡ ਹੋ ਰਹੀ ਹੈ...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "ਫਾਈਲ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "ਅਣਜਾਣ ਗਲਤੀ ਹੋਈ", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "ਸਹਾਇਕ ਫਾਈਲ ਕਿਸਮ ਨਹੀਂ", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Cannot preview {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "ਫਾਈਲ ਸਾਂਝੀ ਕਰੋ", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "ਚਿੱਤਰ ਦਿਖਾਉਣ ਵਿੱਚ ਅਸਫਲ", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "ਜ਼ੂਮ ਰੀਸੈਟ ਕਰੋ", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "ਟੈਕਸਟ ਸਮੱਗਰੀ ਨੂੰ ਡੀਕੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "ਅਤੇ {count} ਹੋਰ ਗਲਤੀਆਂ.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "ਫਾਈਲ ਖਰਾਬ ਹੈ", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "ਸਹਿਮਤੀ ਦੀ ਲੋੜ ਹੈ", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "ਜਾਰੀ ਰੱਖਣ ਨਾਲ, ਤੁਸੀਂ ਸਾਡੇ ਨਿਯਮ, ਗੋਪਨੀਯਤਾ ਨੀਤੀ, ਅਤੇ ਕੁਕੀਜ਼ ਦੀ ਵਰਤੋਂ ਨਾਲ ਸਹਿਮਤ ਹੋ ਜਾਂਦੇ ਹੋ, ਅਤੇ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹੋ ਕਿ ਇਹ ਸਲਾਹ ਏ.ਆਈ. ਦੁਆਰਾ ਦਿੱਤੀ ਜਾ ਰਹੀ ਹੈ, ਨਾ ਕਿ ਕਿਸੇ ਲਾਇਸੈਂਸ ਪ੍ਰਾਪਤ ਮੈਡੀਕਲ ਪੇਸ਼ੇਵਰ ਦੁਆਰਾ.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "ਬੰਦ ਕਰੋ", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "ਹਟਾਓ", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "ਚੈਟ ਮਿਟਾਓ", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "ਚੈਟ “{title}” ਸਫਲਤਾਪੂਰਵਕ ਹਟਾਈ ਗਈ ਹੈ.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "ਚੈਟ ਮਿਟਾਉਣਾ?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "ਤੁਹਾਡੇ ਲੱਛਣ, ਨਿਧਾਨ ਸਾਰਾਂਸ਼, ਅਤੇ ਇਸ ਚੈਟ ਵਿੱਚ ਕੋਈ ਵੀ ਸੁਝਾਅ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ।\nਇਹ ਕਾਰਵਾਈ ਵਾਪਸ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "ਜ਼ੂਮ ਇਨ", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "ਜ਼ੂਮ ਆਉਟ", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "ਜ਼ੂਮ ਰੀਸੈਟ ਕਰੋ", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "ਸਾਂਝਾ ਕਰੋ", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "ਅੱਜ", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "ਕੱਲ੍ਹ", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "ਸਿਰਫ ਪਹਿਲਾ ਪੰਨਾ। ਪੂਰੇ ਫਾਈਲ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਸਾਂਝਾ ਕਰੋ.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_pa_PK.arb b/example/lib/src/l10n/chat/app_pa_PK.arb new file mode 100644 index 0000000..ca7a512 --- /dev/null +++ b/example/lib/src/l10n/chat/app_pa_PK.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "pa_PK", + "drawerTooltipNotifications": "اطلاعات", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "مدد", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "بند کرو", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "کھاتہ", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "پروفائل", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "اکاؤنٹ ترتیبات", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "سپورٹ کے لیے عطیہ کریں", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "رکنیت", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "چیٹس", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "چیٹ کی تاریخ", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "منسلک دستاویزات", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "استعمال کرنے کا طریقہ", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "ویڈیو ٹیوٹوریلز", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "قانونی", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "سانوں رابطہ کرو", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "بگ رپورٹ", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "شرائط تے ضوابط", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "رازداری کی پالیسی", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "فیڈبیک", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "ایپ کو ریٹ کرو", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "دوستاں نال شیئر کرو", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "لاگ آؤٹ", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "دوسروں کو طبی دیکھ بھال حاصل کرنے میں مدد کریں", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "صارف", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "پریمیم خصوصیات\nڈاکٹرینا کے ساتھ", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "حاصل کریں", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "سانوں شامل ہو", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "ایپ ورژن:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "حالیہ چیٹس", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "پروفائل", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "حال ہی کی گفتگو", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "ایپس ڈاؤن لوڈ کریں", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "پیغام درج کریں", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "فائل منسلک کریں", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "بول کے لکھو", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "ختم کریں اور ٹرانسکرائب کریں", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "پیغام بھیجو", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "پیغامات حاصل کرنے میں ناکام", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "پیغامات حاصل کرنے میں ناکام. براہ مہربانی دوبارہ کوشش کریں.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "پیغامات حاصل کریں", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "کوئی پیغام دستیاب نہیں. گفتگو شروع کرنے کے لیے براہ کرم ایک پیغام بھیجیں.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "جڑیا", + "@chatListHasConnection": {}, + "chatListNoConnection": "کنکشن نہیں", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "تلاش", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "پسندیدہ", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ڈاؤن لوڈ", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF پرنٹ کریں", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "دوستوں کے ساتھ شئیر کریں", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "نویں چیٹ", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "گفتگو", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "چیٹ منتخب کریں", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ڈراور دکھاؤ", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "کوئی چیٹ دستیاب نہیں۔ براہ مہربانی ریفریش کریں یا نیا چیٹ بنائیں.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "چیٹاں تازہ کرو", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "نئی چیٹ بنائیں", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "متن کو کاپی کریں", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "ٹائپنگ\nصرف ایک لمحہ", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "اپ ڈیٹ ہو رہا ہے...\nبراہ کرم اپنے انٹرنیٹ کنکشن کی جانچ کریں", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "پیغام پہلے ہی ابھی پروسیس کیا جا رہا ہے.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "پیغام بہت لمبا ہے.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "منسلک ہٹائیں", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "پیغام پراسیس کرنے میں ناکام", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "پی ڈی ایف میں برآمد کریں", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "تصاویر", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "کیمرہ", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "فائلیں", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "تصاویر اور فائلیں", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "امید ہے کہ اس سے مدد ملی! کیا یہ وضاحت آپ کے لیے مفید رہی؟", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "ہاں، سب ٹھیک ہے!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "چیٹ کا خلاصہ حاصل کرنے میں ناکام", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "چیٹ سمری کلپ بورڈ تے کاپی کیتی گئی", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "موبائل ایپ وچ Doctorina آزماو!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "ڈاؤن لوڈ", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "GET IT ON", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "ایپ اسٹور سے ڈاؤن لوڈ کریں", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Google Play تے حاصل کرو", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "پیغام کی رپورٹ کریں", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "تُسی ایہہ پیغام کیوں رپورٹ کر رہے ہو؟", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "اختیاری: اس پیغام میں کیا غلط ہے بیان کریں...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "ایہ ساڈے AI جواباں نوں بہتر بنانے وچ مدد کرے گا", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "کینسل", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "رپورٹ کریں", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "تُہاڈی رائے دا شکریہ! رپورٹ جمع کر دی گئی ہے.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "رپورٹ جمع کرانے میں ناکامی", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "کاپی کر لیا گیا", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "پیغام کاپی کرنے میں ناکامی", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "پیغام کی رپورٹ کریں", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ڈاکٹرینا چیٹ میں اپ لوڈ کریں", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "فائلیں یہاں کھینچیں اور چیٹ میں شامل کریں", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "تُسی اک پیغام وچ 15 فائلز تک شامل کر سکتے ہو", + "@chatDropZoneText": {}, + "notificationBannerText": "کیا آپ چاہیں گے کہ میں آپ کو آپ کی صحت کے بارے میں کچھ اہم ہونے پر مطلع کروں؟", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "جی ہاں، مجھے مطلع کریں", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "شاید بعد میں", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "بند کرو", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "نوٹیفیکیشنز سسٹم کی سطح پر بلاک کر دی گئی ہیں۔ ڈاکٹرینا کی نوٹیفیکیشنز کو فعال کرنے سے پہلے انہیں سسٹم کی سیٹنگز میں فعال کریں.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "نوٹیفیکیشنز سسٹم کی سطح پر بلاک کر دی گئی ہیں۔ ڈاکٹرینا کی نوٹیفیکیشنز کو فعال کرنے سے پہلے انہیں براؤزر کی سیٹنگز میں فعال کریں.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "اپنی مشاورت کے بارے میں باخبر رہیں", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "ڈاکٹرینا آپ کو آپ کی صحت کے بارے میں نئے بصیرت یا اپ ڈیٹس دستیاب ہونے پر مطلع کر سکتا ہے.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "نوٹیفکیشنز فعال کریں", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "شاید بعد میں", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "جاری رکھنے سے آپ ذاتی ڈیٹا کے عملدرآمد، cookies کے استعمال، شرائط و ضوابط کو قبول کرتے ہیں اور

پرائیویسی پالیسی

کا اعتراف کرتے ہیں۔ نیز، آپ اقرار کرتے ہیں کہ آپ کی مشاورت ایک AI کے ساتھ ہے اور کسی لائسنس یافتہ طبی پیشہ ور کے ساتھ نہیں", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "ختم کریں", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "سب سے پہلے اس چیٹ کو محفوظ کریں؟", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "نئی مشاورت شروع کرنے سے پہلے اس مشاورت کو محفوظ کرنے کے لیے مفت میں سائن اپ کریں", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "بغیر محفوظ کیے شروع کریں", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "سائن اپ کریں", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "گفتگو جاری رکھنے کے لیے اوپر سے ایک آپشن منتخب کریں", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "بند کرو", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "منسلکات ہٹا دیں", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ڈراپ زون سے فائلیں منتخب کرنے میں ناکامی", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "براہ کرم ایک پیغام درج کریں یا ایک فائل منسلک کریں", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "اپ لوڈ مکمل ہونے کا انتظار کریں", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "پیغام پروسیس ہو رہا ہے", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "پیغام بہت لمبا ہے", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "پیغام اس وقت پروسیس ہو رہا ہے.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "کنکشن مستقل طور پر بند کر دیا گیا", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "سرور سے کوئی کنکشن نہیں", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "فائلیں منتخب کرنے میں ناکامی", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "تصاویر منتخب کرنے میں ناکامی ہوئی", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "کیمرا سے تصویر لینے میں ناکامی ہوئی", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "تُسی اک واری {count} فائلز نوں جڑ سکدے او.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "پہچانی گئی تحریر صاف کریں", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "پیغام بہت لمبا ہے۔", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "اپ لوڈ مکمل ہونے کا انتظار کریں۔", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "The {kind} \"{name}\" is already attached and was not added again.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" is a duplicate of {exist} and was not added.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "The {kind} \"{name}\" was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "فائل \"{name}\" خالی ہے.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "فائل خالی ہے۔", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "ਫਾਈਲ \"{name}\" ਦੀ ਆਗਿਆਤ ਮਕਸਦ ਤੋਂ ਵੱਧ ਹੈ.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "فائل زیادہ سے زیادہ اجازت شدہ سائز سے تجاوز کر گئی ہے.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "فائل \"{name}\" کو پروسیس کرتے وقت ایک خرابی پیش آئی۔", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "فائل پروسیسنگ کے دوران ایک خرابی پیش آئی۔", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "ਫਾਈਲ \"{name}\" ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੀ ਗਈ ਕਿਉਂਕਿ ਜੁੜਨ ਵਾਲੀਆਂ ਫਾਈਲਾਂ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਗਿਣਤੀ ਪਾਰ ਹੋ ਗਈ ਹੈ.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ایک یا زیادہ فائلیں شامل نہیں کی گئیں کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "ایک فائل شامل نہیں کی گئی کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "ایک نام کے بغیر فائل شامل کرنے کی کوشش کی گئی.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "ایک غیر معاونت یافتہ توسیع کے ساتھ فائل شامل کرنے کی کوشش کی گئی: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "ایک غیر معاونت یافتہ توسیع کے ساتھ فائل شامل کرنے کی کوشش کی گئی.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "فائل شامل کرنا ناممکن ہے۔", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "ਫਾਈਲ \"{name}\" ਗਲਤ ਹੈ ਅਤੇ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ایک فائل غلط ہے اور شامل نہیں کی جا سکتی.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "آئٹم \"{name}\" درست فائل نہیں ہے.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "ایک آئٹم درست فائل نہیں ہے.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "ایک آئٹم کو پروسیس کرتے وقت ایک خرابی پیش آئی", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "آئٹم(ز) کو پروسیس کرتے وقت ایک خرابی پیش آئی۔", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "کوئی فائلیں شامل نہیں کی گئیں۔", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "ਕੁਝ ਫਾਈਲਾਂ ਮੌਜੂਦ ਫਾਈਲਾਂ ਨਾਲ ਡੁਪਲੀਕੇਟ ਹੋਣ ਕਾਰਨ ਛੱਡ ਦਿੱਤੀਆਂ ਗਈਆਂ ਹਨ.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "ایک نامعلوم خرابی پیش آئی۔", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "فائلیں منسلک کرتے وقت درج ذیل غلطیاں پیش آئیں:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "فائل شیئر کرنے میں ناکامی: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "بند کرو", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "شیئر", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "فائل لوڈ ہو رہی ہے...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "فائل لوڈ کرنے میں ناکامی", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "نامعلوم خرابی پیش آئی", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "دوبارہ کوشش کریں", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "غیر معاونت یافتہ فائل کی قسم", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "{contentType} کا پیش نظارہ نہیں کر سکتے", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "فائل شیئر کریں", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "تصویر دکھانے میں ناکامی", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "زوم ری سیٹ کریں", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF لوڈ کرنے میں ناکامی", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "متن کے مواد کو ڈی کوڈ کرنے میں ناکامی ہوئی۔", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "تے {count} ہور غلطیاں.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "فائل خراب ہے", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "اجازت درکار ہے", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "جاری رکھنے سے، آپ ہماری شرائط، رازداری کی پالیسی، اور کوکیز کے استعمال سے اتفاق کرتے ہیں، اور تصدیق کرتے ہیں کہ یہ مشاورت AI کی طرف سے فراہم کی گئی ہے، کسی لائسنس یافتہ طبی پیشہ ور کی طرف سے نہیں۔", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "بند کریں", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "ਹਟਾਓ", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "چیٹ حذف کریں", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "چٹ “{title}” کامیابی سے حذف کر دیا گیا.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "چت کو حذف کرنا ہے؟", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "آپ کے علامات، تشخیص کا خلاصہ، اور اس چیٹ میں کوئی بھی سفارشات ہٹا دی جائیں گی۔\nیہ عمل واپس نہیں لیا جا سکتا۔", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "زوم ان", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "زوم آؤٹ", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "زوم ری سیٹ کریں", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "شیئر", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "آج", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "کل", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "صرف پہلی صفحہ۔ مکمل فائل ڈاؤن لوڈ کرنے کے لیے شیئر کا استعمال کریں۔", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_pl.arb b/example/lib/src/l10n/chat/app_pl.arb new file mode 100644 index 0000000..5ab4dd6 --- /dev/null +++ b/example/lib/src/l10n/chat/app_pl.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "pl", + "drawerTooltipNotifications": "Powiadomienia", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Pomoc", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Zamknij", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Konto", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Ustawienia konta", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Wspieraj darowiznami", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Subskrypcja", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Czaty", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Historia czatów", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Załączone dokumenty", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Jak używać", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Samouczki wideo", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Prawny", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Skontaktuj się z nami", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Zgłoszenie błędu", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Warunki korzystania", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Polityka prywatności", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Opinie", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Oceń aplikację", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Podziel się z przyjaciółmi", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Wyloguj się", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Pomóż innym otrzymać opiekę medyczną", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Użytkownik", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Funkcje premium\nz Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Zdobądź", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Dołącz do nas", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Wersja aplikacji:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Ostatnie czaty", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Ostatni czat", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Pobierz aplikacje", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Wpisz wiadomość", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Dołącz plik", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dyktuj", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Zakończ i przetranskrybuj", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Wyślij wiadomość", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Nie udało się pobrać wiadomości", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Nie udało się pobrać wiadomości. Spróbuj ponownie.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Pobierz wiadomości", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Brak dostępnych wiadomości. Wyślij wiadomość, aby rozpocząć rozmowę.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Połączono", + "@chatListHasConnection": {}, + "chatListNoConnection": "Brak połączenia", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Szukaj", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Ulubione", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Pobierz", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Drukuj PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Podziel się z przyjaciółmi", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Nowa rozmowa", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Wybierz czat", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Pokaż szufladę", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Brak dostępnych czatów. Proszę odświeżyć lub utworzyć nowy czat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Odśwież czaty", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Utwórz nową rozmowę", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Kopiuj tekst", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Pisanie\nChwileczkę", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Aktualizuję...\nProszę sprawdzić połączenie z internetem", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Wiadomość jest już przetwarzana.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Wiadomość jest za długa", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Usuń załącznik", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Nie udało się przetworzyć wiadomości", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Eksportuj do PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Zdjęcia", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Pliki", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Zdjęcia i pliki", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Mam nadzieję, że to pomogło! Czy to wyjaśnienie było dla Ciebie przydatne?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Tak, wszystko w porządku!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Nie udało się pobrać podsumowania czatu", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Podsumowanie czatu skopiowane do schowka", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Wypróbuj Doctorina w aplikacji mobilnej!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Pobierz w", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "Pobierz", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Pobierz w App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Pobierz z Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Zgłoś wiadomość", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Dlaczego zgłaszasz tę wiadomość?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Opcjonalnie: Opisz, co jest nie tak z tą wiadomością...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "To pomoże nam poprawić nasze odpowiedzi AI", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Anuluj", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Zgłoś", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Dziękujemy za opinię! Zgłoszenie zostało wysłane.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Nie udało się wysłać zgłoszenia", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Skopiowano do schowka", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Nie udało się skopiować wiadomości", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Zgłoś wiadomość", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Prześlij do czatu Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Przeciągnij i upuść pliki tutaj, aby dodać do czatu", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Możesz dodać do 15 plików do jednej wiadomości", + "@chatDropZoneText": {}, + "notificationBannerText": "Czy chciałbyś, abym powiadomił cię, jeśli pojawi się coś ważnego dotyczącego twojego zdrowia?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Tak, powiadom mnie", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Może później", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Zamknij", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Powiadomienia są zablokowane na poziomie systemu. Włącz je w ustawieniach systemowych przed aktywowaniem powiadomień Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Powiadomienia są zablokowane na poziomie systemu. Włącz je w ustawieniach przeglądarki przed aktywowaniem powiadomień Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Bądź na bieżąco w sprawie swojej konsultacji", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina może powiadomić cię, gdy będą dostępne nowe informacje lub aktualizacje dotyczące twojego zdrowia.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Włącz powiadomienia", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Może później", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Kontynuując, wyrażasz zgodę na przetwarzanie danych osobowych, korzystanie z cookies, akceptujesz terms and conditions oraz potwierdzasz

privacy policy

. Dodatkowo potwierdzasz, że Twoja konsultacja odbywa się z AI, a nie z licencjonowanym pracownikiem medycznym", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Zamknij", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Najpierw zapisz ten czat?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Zarejestruj się za darmo, aby zapisać tę konsultację przed rozpoczęciem nowej", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Uruchom bez zapisywania", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Zarejestruj się", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Aby kontynuować rozmowę, wybierz jedną z opcji powyżej", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Zamknij", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Usuń załącznik", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Nie udało się wybrać plików z obszaru przeciągania plików", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Proszę wpisać wiadomość lub dołączyć plik", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Proszę czekać na zakończenie przesyłania", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Wiadomość jest przetwarzana", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Wiadomość jest za długa", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Wiadomość jest już teraz przetwarzana.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Połączenie jest trwale zamknięte", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Brak połączenia z serwerem", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Nie udało się wybrać plików", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Nie udało się wybrać obrazów", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Nie udało się uchwycić zdjęcia z kamery", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Możesz załączyć do {count} plików jednocześnie.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Wyczyść rozpoznany tekst", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Wiadomość jest za długa.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Proszę czekać na zakończenie przesyłania.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Typ \"{kind}\" \"{name}\" jest już dołączony i nie został dodany ponownie.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Typ \"{kind}\" \"{name}\" jest duplikatem istniejącego \"{exist}\" i nie został dodany.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Załącznik typu {kind} \"{name}\" nie został dodany, ponieważ przekroczono maksymalną liczbę załączników.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Plik \"{name}\" jest pusty.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Plik jest pusty.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Plik \"{name}\" przekracza maksymalny dozwolony rozmiar.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Plik przekracza maksymalny dozwolony rozmiar.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Wystąpił błąd podczas przetwarzania pliku \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Wystąpił błąd podczas przetwarzania pliku.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Plik \"{name}\" nie został dodany, ponieważ przekroczono maksymalną liczbę załączników.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Plik(i) nie zostały dodane, ponieważ maksymalna liczba załączników została przekroczona.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Plik nie został dodany, ponieważ przekroczono maksymalną liczbę załączników.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Próba dodania pliku bez nazwy.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Próba dodania pliku z nieobsługiwaną rozszerzeniem: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Próba dodania pliku z nieobsługiwanym rozszerzeniem.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Nie można dodać pliku.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Plik \"{name}\" jest nieprawidłowy i nie może zostać dodany.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Plik jest nieprawidłowy i nie może zostać dodany.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Element \"{name}\" nie jest prawidłowym plikiem.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Element nie jest prawidłowym plikiem", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Wystąpił błąd podczas przetwarzania pozycji.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Wystąpił błąd podczas przetwarzania pozycji.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Nie dodano żadnych plików", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Niektóre pliki zostały pominięte z powodu duplikatów z istniejącymi plikami.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Wystąpił nieznany błąd", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Podczas dołączania plików wystąpiły następujące błędy:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Nie udało się udostępnić pliku: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Zamknij", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Udostępnij", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Ładowanie pliku...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Nie udało się załadować pliku", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Wystąpił nieznany błąd", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Spróbuj ponownie", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Nieobsługiwany typ pliku", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Nie można podglądać {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Udostępnij plik", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Nie udało się wyświetlić obrazu", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Resetuj powiększenie", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Nie udało się załadować PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Nie udało się zdekodować treści tekstowej.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "I {count} więcej błędów.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Plik jest uszkodzony", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Wymagana zgoda", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Kontynuując, zgadzasz się na nasze Warunki, Politykę prywatności oraz użycie plików cookie i potwierdzasz, że ta konsultacja jest świadczona przez AI, a nie licencjonowanego specjalistę medycznego.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Zamknij", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Usuń", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Usuń czat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Czat „{title}” został pomyślnie usunięty.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Usunąć czat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Twoje objawy, podsumowanie diagnozy i wszelkie zalecenia w tym czacie zostaną usunięte.\nTej akcji nie można cofnąć.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Powiększ", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Oddalić", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Resetuj powiększenie", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Udostępnij", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Dziś", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Wczoraj", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Ten podgląd może pokazywać tylko pierwszą stronę. Pobierz plik, aby zobaczyć cały dokument.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ps.arb b/example/lib/src/l10n/chat/app_ps.arb new file mode 100644 index 0000000..e80bd7c --- /dev/null +++ b/example/lib/src/l10n/chat/app_ps.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ps", + "drawerTooltipNotifications": "خبرتیاوې", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "مرسته", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "بندول", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "حساب", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "پروفایل", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "د حساب ترتیبات", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "مرسته وکړئ", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "د ګډون", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "چټکې", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "د خبرو تاریخ", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "ضمیمه اسناد", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "څنګه وکاروئ", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "ویډیو ټیوټوریلونه", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "قانوني", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "موږ سره اړیکه ونیسئ", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "د تېروتنې راپور", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "شرایط و ضوابط", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "د پټتیا پالیسي", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "فیډبیک", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "اپلیکیشن نرخ کړئ", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "د ملګرو سره شریک کړئ", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "بیرون لاړ شئ", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "د نورو لپاره طبي پاملرنه ترلاسه کولو کې مرسته وکړئ", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "کاربر", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "پریمیئم ځانګړتیاوې\nد Doctorina سره", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "ترلاسه کړئ", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "زموږ سره یوځای شئ", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "د غوښتنلیک نسخه:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "تازه خبرې", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "پروفایل", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "تازه خبرې", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "اپلیکیشنونه ډاونلوډ کړئ", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "پیغام داخل کړئ", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "فایل ضمیمه کړئ", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "دیکته", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "پایان او د متن په توګه ثبتول", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "پیغام واستول", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "پیغامونه ترلاسه کولو کې ناکامي", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "پیغامونه ترلاسه کولو کې ناکامي. مهرباني وکړئ بیا هڅه وکړئ.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "پیغامونه راټول کړئ", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "هیڅ پیغامونه شتون نلري\nمهرباني وکړئ د خبرو اترو پیل کولو لپاره پیغام واستوئ.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "وصل شو", + "@chatListHasConnection": {}, + "chatListNoConnection": "هیڅ اړیکه نشته", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "لټون", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "مخفی", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ډاونلوډ", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "پی‌دی‌اف چاپ کړئ", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "د ملګرو سره شریک کړئ", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "نوې خبرې", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "چت", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "چت انتخاب کړئ", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "دراور وښایاست", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "هیڅ چټونه شتون نلري. مهرباني وکړئ تازه کړئ یا نوې چټ جوړ کړئ.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "چټکۍ تازه کړئ", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "نوې خبرې اترې جوړ کړئ", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "متن کاپی کریں", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "لیکوالۍ", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "د تازه کولو په حال کې...\nمهرباني وکړئ د خپل انټرنیټ اړیکه چیک کړئ", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "پیغام همدا اوس پروسس کیږي.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "پیغام ډیر اوږد دی.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "ضمیمه لیرې کړئ", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "پیغام پروسس کولو کې ناکامي", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDF ته صادر کړئ", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "عکسونه", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "کامره", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "فایلونه", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "عکسونه او فایلونه", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "هیله لرم چې مرسته وکړه! آیا دا تشریح تاسو ته ګټوره وه؟", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "هو، هر څه ښه دي!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "د چټ بحث لنډیز ترلاسه کولو کې ناکامي", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "د چټ خبرې لنډیز د کلیپ بورډ ته کاپي شو", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "د موبایل اپلیکیشن کې Doctorina وازمویئ!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "د اپ سټور په", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "دا ترلاسه کړئ", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "د اپ سټور څخه ډاونلوډ کړئ", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "دا په Google Play کې ترلاسه کړئ", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "پیغام راپور کړئ", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "تاسو ولې دا پیغام راپور کوئ؟", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "اختیاری: د دې پیغام سره څه غلط دی تشریح کړئ...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "دا به موږ سره مرسته وکړي چې زموږ د AI ځوابونه ښه کړو.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "لغو", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "رپوټ", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "ستاسو د نظریې لپاره مننه! راپور وړاندې شوی دی.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "د راپور وړاندې کولو کې ناکامي", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "په کلیپ بورډ کې کاپي شو", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "پیغام کا کاپی کرنا ناکام ہوگیا", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "پیغام راپور کړئ", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ډاکټرینا چټ ته پورته کړئ", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "فایلونه دلته راکش کړئ ترڅو چټ ته اضافه شي", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "تاسو کولی شئ په یوه پیغام کې تر ۱۵ فایلونو پورې اضافه کړئ", + "@chatDropZoneText": {}, + "notificationBannerText": "آیا غواړی چې زه تاسو ته خبر درکړم که ستاسو د صحت په اړه څه مهمه خبره راشي؟", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "هو، ما ته خبر راکړه", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "شاید وروسته", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "بندول", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "خبرتیاوې په سیسټم کچه بندې دي. د Doctorina خبرتیاوې فعالولو دمخه یې په سیسټم تنظیماتو کې فعال کړئ.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "خبرتیاوې په سیسټم کچه بندې دي. د Doctorina خبرتیاوې فعالولو دمخه یې په براوزر تنظیماتو کې فعال کړئ.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "د خپل مشورې په اړه تازه معلومات ترلاسه کړئ", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina کولی شي تاسو ته خبر درکړي کله چې ستاسو د روغتیا په اړه نوي بصیرتونه یا تازه معلومات شتون ولري.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "خبرتیاوې فعال کړئ", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "شاید وروسته", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "په دوام سره تاسې د شخصي معلوماتو د پروسس، د cookies کارولو، د شرایطو او قوانینو منلو او د

پرايويسي پالیسي

په پیژندلو موافقه کوئ. همدارنګه، تاسې پیژنې چې ستاسو مشوره له AI سره ده او نه له یو جواز لرونکي طبي متخصص سره", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "رد", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "لومړی دا چیټ خوندي کړئ؟", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "د نوې مشورې پیل کولو دمخه دې مشورې د خوندي کولو لپاره وړیا ثبت نام وکړئ", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "بې له خوندي کولو پیل کړئ", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "راجسټر شئ", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "د خبرو اترو د دوام لپاره، پورته یوه انتخاب وټاکئ", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "بند کړئ", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "لرې کړئ ضمیمه", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "د ډراپ زون نه فایلونه انتخابول ناکام شول", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "مهرباني وکړئ يو پيغام داخل کړئ يا يو فایل ضميمه کړئ", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "مهرباني وکړئ د پورته کولو بشپړیدو ته انتظار وکړئ", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "پیغام په پروسس کې دی", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "پیغام ډیر اوږد دی", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "پیغام همدا اوس پروسس کیږي.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "اړیکه په پای کې بنده شوې ده", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "هیڅ سرور سره اړیکه نشته", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "د فایلونو انتخاب کې ناکامي", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "د انځورونو انتخاب کې ناکامي", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "د کمره نه عکس نیول ناکام شو", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "تاسې کولی شئ په یوه وخت کې تر {count} فایلونه ضمیمه کړئ.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "پاک کړئ پیژندل شوی متن", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "پیغام ډیر اوږد دی.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "مهرباني وکړئ د پورته کولو بشپړیدو ته انتظار وکړئ.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "د {kind} \"{name}\" لا دمج شوی دی او بیا نه دی اضافه شوی.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "د {kind} \"{name}\" د {exist} سره تکراري دی او نه دی اضافه شوی.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "د {kind} \"{name}\" اضافه نه شو ځکه چې د ضمیمو اعظمي شمیر زیات شوی دی.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "فایل \"{name}\" خالی است.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "فایل خالی است", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "فایل \"{name}\" د اعظمي اجازه شوي اندازه نه زیات دی.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "فایل اندازه مجاز را رد می‌کند.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "یو تېروتنه د فایل \"{name}\" پروسس کولو پر مهال رامنځته شوه.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "یو تېروتنه د فایل پروسس کولو پر مهال رامنځته شوه.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "فایل \"{name}\" اضافه نشد زیرا حداکثر تعداد پیوست‌ها تجاوز شده است.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "یو فایل(ونه) اضافه نشو ځکه چې د ضمیمو اعظمي شمیر زیات شوی دی.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "یو فایل اضافه نشد ځکه چې د ضمیمو اعظمي شمیر تجاوز شوی دی.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "یو فایل چې نوم نلري هڅه وشوه چې اضافه شي.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "یو فایل چې د ملاتړ نه لرونکي توکی سره هڅه وشوه: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "یو فایل چې د ملاتړ نه لرونکي توکی سره دی، د زیاتولو هڅه وشوه.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "نمی‌توان فایل را اضافه کرد.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "فایل \"{name}\" نامعتبر است و نمی‌تواند اضافه شود", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "یو فایل ناسم دی او نشي اضافه کیدی", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "شيء \"{name}\" فایل معتبر نه دی", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "یو شی معتبر فایل نه دی.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "یو تېروتنه د یوې توکي پروسس کولو پر مهال رامنځته شوه.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "یو تېروتنه د یو شی(انو) پروسس کولو پر مهال رامنځته شوه.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "هیڅ فایلونه نه دي اضافه شوي.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "ځینې فایلونه د موجوده فایلونو سره د تکرار له امله پریښودل شوي.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "یو نامعلوم خطا رامنځته شو.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "لاندې تېروتنې د فایلونو ضمیمه کولو پر مهال رامنځته شوې:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "د فایل شریکولو کې ناکامي: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "بندول", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "شریک کړئ", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "فایل در حال بارگذاری...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "د فایل بار کولو کې ناکامي", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "نامعلوم خطا واقع شو", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "بیا هڅه وکړئ", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "د فایل ډول ملاتړ نه لري", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "نمی‌توان پیش‌نمایش {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "د فایل شریکول", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "د انځور ښودلو کې ناکامي", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "د زوم بیا تنظیمول", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "د PDF بارول ناکام شو", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "د متن محتوا د تشریح کولو کې ناکامي", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "او {count} نورې تېروتنې.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "فایل نادرست است", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "اجازه درکار دی", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "د دوام ورکولو سره، تاسو زموږ شرایط، د محرمیت پالیسي او د کوکیو کارول سره موافق یاست، او تایید کوئ چې دا مشوره د AI لخوا چمتو کیږي، نه د جواز لرونکي طبي مسلکي لخوا.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "بندول", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "لرې کول", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "چت حذف کړئ", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "چت “{title}” په بریالیتوب سره حذف شو.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "چت حذف کړئ؟", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "ستاسو نښې، تشخیص لنډیز، او په دې چټ کې کومې سپارښتنې له منځه ځي.\nدا عمل نه شي بیرته راوستلی.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "زیاتول", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "زوی کمول", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "د زوم بیا تنظیمول", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "شریک کړئ", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "نن", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "تیره ورځ", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "یوازې لومړۍ پاڼه. د بشپړ فایل د ډاونلوډ لپاره Share وکاروئ.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_pt.arb b/example/lib/src/l10n/chat/app_pt.arb new file mode 100644 index 0000000..7f53c80 --- /dev/null +++ b/example/lib/src/l10n/chat/app_pt.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "pt", + "drawerTooltipNotifications": "Notificações", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Ajuda", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Fechar", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Conta", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Perfil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Configurações da Conta", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Doe para apoiar", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Assinatura", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Conversas", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Histórico de Chats", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Documentos anexados", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Como usar", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Tutoriais em vídeo", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Jurídico", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Fale Conosco", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Relatório de bug", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Termos e Condições", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Política de Privacidade", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Feedback", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Avalie o app", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Compartilhar com amigos", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Sair", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Ajude outros a receber atendimento médico", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Usuário", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Recursos Premium\ncom Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Obter", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Junte-se a nós", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Versão do aplicativo:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Chats recentes", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Perfil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Chat recente", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Baixar aplicativos", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Digite a mensagem", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Anexar arquivo", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Ditado", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Finalizar e transcrever", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Enviar mensagem", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Falha ao buscar mensagens", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Falha ao buscar mensagens. Por favor, tente novamente.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Buscar mensagens", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Nenhuma mensagem disponível.\nEnvie uma mensagem para iniciar a conversa.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Conectado", + "@chatListHasConnection": {}, + "chatListNoConnection": "Sem conexão", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Pesquisar", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favoritos", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Baixar", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Imprimir PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Compartilhar com amigos", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Nova conversa", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Selecionar bate-papo", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Mostrar gaveta", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Nenhum chat disponível. Por favor, atualize ou crie um novo chat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Atualizar conversas", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Criar nova conversa", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Copiar texto", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Digitando\nUm momento", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Atualizando...\nPor favor, verifique sua conexão com a internet", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "A mensagem já está sendo processada agora mesmo.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "A mensagem é muito longa.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Remover anexo", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Falha ao processar a mensagem", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Exportar para PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Fotos", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Câmera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Arquivos", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotos e Arquivos", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Espero que isso tenha ajudado! Essa explicação foi útil para você?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Sim, está tudo bem!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Falha ao recuperar o resumo do chat", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Resumo do chat copiado para a área de transferência", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Experimente o Doctorina no aplicativo mobile!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Baixe na", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "DISPONÍVEL NO", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Baixar na App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Disponível no Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Reportar Mensagem", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Por que você está relatando esta mensagem?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Opcional: Descreva o que há de errado com esta mensagem...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Isso nos ajudará a melhorar nossas respostas de IA", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Cancelar", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Reportar", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Obrigado pelo seu feedback! O relatório foi enviado.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Falha ao enviar o relatório", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Copiado para a área de transferência", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Falha ao copiar a mensagem", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Reportar Mensagem", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Envie para o chat Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Arraste e solte arquivos aqui para adicionar ao chat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Você pode adicionar até 15 arquivos a uma mensagem", + "@chatDropZoneText": {}, + "notificationBannerText": "Você gostaria que eu o notificasse se algo importante surgir sobre sua saúde?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Sim, me notifique", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Talvez mais tarde", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Fechar", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "As notificações estão bloqueadas no nível do sistema. Ative-as nas configurações do sistema antes de ativar as notificações do Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "As notificações estão bloqueadas no nível do sistema. Ative-as nas configurações do navegador antes de ativar as notificações do Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Fique atualizado sobre sua consulta", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina pode notificá-lo quando novas informações ou atualizações sobre sua saúde estiverem disponíveis.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Ativar notificações", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Talvez mais tarde", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Ao continuar, você consente com o processamento de dados pessoais, com o uso de cookies, concorda com os terms and conditions e reconhece a

privacy policy

. Você também reconhece que sua consulta é realizada com uma IA e não com um profissional de saúde licenciado", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Dispensar", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Salve este chat primeiro?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Cadastre-se gratuitamente para salvar esta consulta antes de iniciar uma nova", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Iniciar sem salvar", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Inscreva-se", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Para continuar a conversa, escolha uma opção acima", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Fechar", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Remover anexo", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Falha ao selecionar arquivos da área de arrastar e soltar", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Por favor, insira uma mensagem ou anexe um arquivo", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Por favor, aguarde a conclusão dos uploads", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "A mensagem está sendo processada", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "A mensagem é muito longa", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "A mensagem já está sendo processada.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "A conexão está permanentemente fechada", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Sem conexão com o servidor", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Falha ao selecionar arquivos", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Falha ao selecionar imagens", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Falha ao capturar foto da câmera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Você pode anexar até {count} arquivos de uma vez.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Limpar texto reconhecido", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "A mensagem é muito longa.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Por favor, aguarde a conclusão dos uploads", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "O {kind} \"{name}\" já está anexado e não foi adicionado novamente.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "O {kind} \"{name}\" é um duplicado de {exist} e não foi adicionado.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "O {kind} \"{name}\" não foi adicionado porque o número máximo de anexos foi excedido.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "O arquivo \"{name}\" está vazio.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "O arquivo está vazio.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "O arquivo \"{name}\" excede o tamanho máximo permitido.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "O arquivo excede o tamanho máximo permitido.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Ocorreu um erro ao processar o arquivo \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Ocorreu um erro ao processar o arquivo", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "O arquivo \"{name}\" não foi adicionado porque o número máximo de anexos foi excedido.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Um(s) arquivo(s) não foi(ram) adicionado(s) porque o número máximo de anexos foi excedido.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Um arquivo não foi adicionado porque o número máximo de anexos foi excedido.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Um arquivo sem nome foi tentado ser adicionado", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Um arquivo com uma extensão não suportada foi tentado ser adicionado: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Um arquivo com uma extensão não suportada foi tentado ser adicionado", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Impossível adicionar um arquivo", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "O arquivo \"{name}\" é inválido e não pode ser adicionado.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Um arquivo é inválido e não pode ser adicionado", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "O item \"{name}\" não é um arquivo válido", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Um item não é um arquivo válido", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Ocorreu um erro ao processar um item", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Ocorreu um erro ao processar um ou mais itens.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Nenhum arquivo foi adicionado", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Alguns arquivos foram ignorados devido a duplicatas com arquivos existentes.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Ocorreu um erro desconhecido.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Os seguintes erros ocorreram ao anexar arquivos:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Falha ao compartilhar o arquivo: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Fechar", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Compartilhar", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Carregando arquivo...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Falha ao carregar o arquivo", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Ocorreu um erro desconhecido", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Tentar novamente", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Tipo de arquivo não suportado", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Não é possível visualizar {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Compartilhar arquivo", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Falha ao exibir a imagem", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Redefinir zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Falha ao carregar o PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Falha ao decodificar o conteúdo de texto.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "E {count} mais erros.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "O arquivo está malformado", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Consentimento necessário", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Ao continuar, você concorda com nossos Termos, Política de Privacidade, e uso de cookies, e confirma que esta consulta é fornecida por IA, não por um profissional médico licenciado.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Fechar", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Excluir", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Excluir chat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat \"{title}\" excluído com sucesso.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Excluir o chat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Seus sintomas, resumo do diagnóstico e quaisquer recomendações neste chat serão removidos.\nEsta ação não pode ser desfeita.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Ampliar", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Reduzir zoom", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Redefinir zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Compartilhar", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Hoje", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Ontem", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Apenas a primeira página. Use Compartilhar para baixar o arquivo completo.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_pt_BR.arb b/example/lib/src/l10n/chat/app_pt_BR.arb new file mode 100644 index 0000000..7938e5d --- /dev/null +++ b/example/lib/src/l10n/chat/app_pt_BR.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "pt_BR", + "drawerTooltipNotifications": "Notificações", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Ajuda", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Fechar", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Conta", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Perfil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Configurações da Conta", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Doe para apoiar", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Assinatura", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Conversas", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Histórico de Chats", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Documentos anexados", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Como usar", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Tutoriais em vídeo", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Jurídico", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Fale Conosco", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Relatório de bug", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Termos e Condições", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Política de Privacidade", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Feedback", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Avalie o app", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Compartilhar com amigos", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Sair", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Ajude outros a receber atendimento médico", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Usuário", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Recursos Premium\ncom Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Obter", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Junte-se a nós", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Versão do aplicativo:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Chats recentes", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Perfil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Chat recente", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Baixar aplicativos", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Digite a mensagem", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Anexar arquivo", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Ditado", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Finalizar e transcrever", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Enviar mensagem", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Falha ao buscar mensagens", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Falha ao buscar mensagens. Por favor, tente novamente.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Buscar mensagens", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Nenhuma mensagem disponível.\nEnvie uma mensagem para iniciar a conversa.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Conectado", + "@chatListHasConnection": {}, + "chatListNoConnection": "Sem conexão", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Pesquisar", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favoritos", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Baixar", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Imprimir PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Compartilhar com amigos", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Nova conversa", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Selecionar bate-papo", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Mostrar gaveta", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Nenhum chat disponível. Por favor, atualize ou crie um novo chat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Atualizar conversas", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Criar nova conversa", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Copiar texto", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Digitando\nUm momento", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Atualizando...\nPor favor, verifique sua conexão com a internet", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "A mensagem já está sendo processada agora mesmo.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "A mensagem é muito longa.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Remover anexo", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Falha ao processar a mensagem", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Exportar para PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Fotos", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Câmera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Arquivos", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotos e Arquivos", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Espero que isso tenha ajudado! Essa explicação foi útil para você?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Sim, está tudo bem!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Falha ao recuperar o resumo do chat", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Resumo do chat copiado para a área de transferência", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Experimente o Doctorina no aplicativo mobile!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Baixe na", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "DISPONÍVEL NO", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Baixar na App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Disponível no Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Reportar Mensagem", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Por que você está relatando esta mensagem?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Opcional: Descreva o que há de errado com esta mensagem...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Isso nos ajudará a melhorar nossas respostas de IA", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Cancelar", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Reportar", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Obrigado pelo seu feedback! O relatório foi enviado.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Falha ao enviar o relatório", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Copiado para a área de transferência", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Falha ao copiar a mensagem", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Reportar Mensagem", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Envie para o chat Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Arraste e solte arquivos aqui para adicionar ao chat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Você pode adicionar até 15 arquivos a uma mensagem", + "@chatDropZoneText": {}, + "notificationBannerText": "Você gostaria que eu o notificasse se algo importante surgir sobre sua saúde?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Sim, me notifique", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Talvez mais tarde", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Fechar", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "As notificações estão bloqueadas no nível do sistema. Ative-as nas configurações do sistema antes de ativar as notificações do Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "As notificações estão bloqueadas no nível do sistema. Ative-as nas configurações do navegador antes de ativar as notificações do Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Fique atualizado sobre sua consulta", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina pode notificá-lo quando novas informações ou atualizações sobre sua saúde estiverem disponíveis.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Ativar notificações", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Talvez mais tarde", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Ao continuar, você consente com o processamento de dados pessoais, com o uso de cookies, concorda com os terms and conditions e reconhece a

privacy policy

. Você também reconhece que sua consulta é realizada com uma IA e não com um profissional de saúde licenciado", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Dispensar", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Salve este chat primeiro?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Cadastre-se gratuitamente para salvar esta consulta antes de iniciar uma nova", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Iniciar sem salvar", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Inscreva-se", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Para continuar a conversa, escolha uma opção acima", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Fechar", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Remover anexo", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Falha ao selecionar arquivos da área de arrastar e soltar", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Por favor, insira uma mensagem ou anexe um arquivo", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Por favor, aguarde a conclusão dos uploads", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "A mensagem está sendo processada", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "A mensagem é muito longa", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "A mensagem já está sendo processada.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "A conexão está permanentemente fechada", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Sem conexão com o servidor", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Falha ao selecionar arquivos", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Falha ao selecionar imagens", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Falha ao capturar foto da câmera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Você pode anexar até {count} arquivos de uma vez.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Limpar texto reconhecido", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "A mensagem é muito longa.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Por favor, aguarde a conclusão dos uploads", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "O {kind} \"{name}\" já está anexado e não foi adicionado novamente.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "O {kind} \"{name}\" é um duplicado de {exist} e não foi adicionado.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "O {kind} \"{name}\" não foi adicionado porque o número máximo de anexos foi excedido.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "O arquivo \"{name}\" está vazio.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "O arquivo está vazio.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "O arquivo \"{name}\" excede o tamanho máximo permitido.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "O arquivo excede o tamanho máximo permitido.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Ocorreu um erro ao processar o arquivo \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Ocorreu um erro ao processar o arquivo", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "O arquivo \"{name}\" não foi adicionado porque o número máximo de anexos foi excedido.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Um(s) arquivo(s) não foi(ram) adicionado(s) porque o número máximo de anexos foi excedido.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Um arquivo não foi adicionado porque o número máximo de anexos foi excedido.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Um arquivo sem nome foi tentado ser adicionado", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Um arquivo com uma extensão não suportada foi tentado ser adicionado: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Um arquivo com uma extensão não suportada foi tentado ser adicionado", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Impossível adicionar um arquivo", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "O arquivo \"{name}\" é inválido e não pode ser adicionado.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Um arquivo é inválido e não pode ser adicionado", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "O item \"{name}\" não é um arquivo válido", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Um item não é um arquivo válido", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Ocorreu um erro ao processar um item", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Ocorreu um erro ao processar um ou mais itens.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Nenhum arquivo foi adicionado", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Alguns arquivos foram ignorados devido a duplicatas com arquivos existentes.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Ocorreu um erro desconhecido.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Os seguintes erros ocorreram ao anexar arquivos:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Falha ao compartilhar o arquivo: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Fechar", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Compartilhar", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Carregando arquivo...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Falha ao carregar o arquivo", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Ocorreu um erro desconhecido", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Tentar novamente", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Tipo de arquivo não suportado", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Não é possível visualizar {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Compartilhar arquivo", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Falha ao exibir a imagem", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Redefinir zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Falha ao carregar o PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Falha ao decodificar o conteúdo de texto.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "E {count} mais erros.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "O arquivo está malformado", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Consentimento necessário", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Ao continuar, você concorda com nossos Termos, Política de Privacidade, e uso de cookies, e confirma que esta consulta é fornecida por IA, não por um profissional médico licenciado.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Fechar", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Excluir", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Excluir chat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat \"{title}\" excluído com sucesso.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Excluir o chat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Seus sintomas, resumo do diagnóstico e quaisquer recomendações neste chat serão removidos.\nEsta ação não pode ser desfeita.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Ampliar", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Reduzir zoom", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Redefinir zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Compartilhar", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Hoje", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Ontem", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Apenas a primeira página. Use Compartilhar para baixar o arquivo completo.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ro.arb b/example/lib/src/l10n/chat/app_ro.arb new file mode 100644 index 0000000..5785793 --- /dev/null +++ b/example/lib/src/l10n/chat/app_ro.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ro", + "drawerTooltipNotifications": "Notificări", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Ajutor", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Închide", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Cont", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Setări cont", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Donează pentru a susține", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Abonament", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Conversații", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Istoricul chat-urilor", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Documente atașate", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Cum să folosești", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Tutoriale video", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Legal", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Contactați-ne", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Raport de eroare", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Termeni și condiții", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Politica de confidențialitate", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Feedback", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Evaluează aplicația", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Împărtășește cu prietenii", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Deconectare", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Ajutați-i pe alții să primească îngrijiri medicale", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Funcții premium\ncu Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Obțineți", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Alătură-te nouă", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Versiunea aplicației:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Chat-uri recente", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Chat recent", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Descarcă aplicații", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Introduceți mesajul", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Atașați fișier", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dictează", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Terminare și transcriere", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Trimite mesaj", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Nu s-au putut prelua mesajele", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Nu s-au putut prelua mesajele. Vă rugăm să încercați din nou.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Recuperați mesajele", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Nu sunt disponibile mesaje. Vă rugăm să trimiteți un mesaj pentru a începe conversația.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Conectat", + "@chatListHasConnection": {}, + "chatListNoConnection": "Fără conexiune", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Caută", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Preferate", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Descarcă", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Tipăriți PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Împărtășește cu prietenii", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Chat nou", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Selectați chatul", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Arată sertarul", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Nu sunt disponibile chat-uri. Vă rugăm să reîmprospătați sau să creați un chat nou.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Reîmprospătează conversațiile", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Creează un chat nou", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Copiați textul", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Se scrie", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Se actualizează...\nVă rugăm să verificați conexiunea la internet", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Mesajul este deja în curs de procesare.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Mesajul este prea lung.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Elimină atașamentul", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Eșec la procesarea mesajului", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Exportați în PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Fotografii", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Cameră", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Fișiere", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotografii și Fișiere", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Sper că a ajutat! A fost această explicație utilă pentru tine?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Da, totul este bine!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Nu s-a reușit recuperarea rezumatului chat-ului", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Rezumatul chat-ului a fost copiat în clipboard", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Încearcă Doctorina în aplicația mobilă!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Descarcă pe", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "IA PE", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Descarcă din App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Obțineți-l pe Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Raportează mesajul", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "De ce raportați acest mesaj?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Opțional: Descrieți ce este în neregulă cu acest mesaj...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Acest lucru ne va ajuta să ne îmbunătățim răspunsurile AI.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Anulează", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Raportează", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Vă mulțumim pentru feedback! Raportul a fost trimis.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "A eșuat trimiterea raportului", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Copiat în clipboard", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "A eșuat copierea mesajului", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Raportează mesajul", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Încărcați în chatul Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Trageți și lăsați fișierele aici pentru a le adăuga la chat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Puteți adăuga până la 15 fișiere într-un mesaj", + "@chatDropZoneText": {}, + "notificationBannerText": "Doriți să vă notific dacă apare ceva important legat de sănătatea dumneavoastră?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Da, notifică-mă", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Poate mai târziu", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Închide", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Notificările sunt blocate la nivel de sistem. Activați-le în setările sistemului înainte de a activa notificările Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Notificările sunt blocate la nivel de sistem. Activați-le în setările browserului înainte de a activa notificările Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Rămâi la curent cu consultația ta", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina te poate anunța când sunt disponibile noi informații sau actualizări despre sănătatea ta.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Activare notificări", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Poate mai târziu", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Continuând, consimți la prelucrarea datelor cu caracter personal, la utilizarea cookies, accepți termenii și condițiile și recunoști

politica de confidențialitate

. De asemenea, recunoști că consultația ta se face cu un AI și nu cu un profesionist medical autorizat", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Renunță", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Salvează acest chat mai întâi?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Înscrie-te gratuit pentru a salva această consultație înainte de a începe una nouă", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Pornește fără salvare", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Înregistrează-te", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Pentru a continua conversația, alege o opțiune de mai sus", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Închide", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Elimină atașamentul", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Nu s-au putut selecta fișiere din zona de drop", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Vă rugăm să introduceți un mesaj sau să atașați un fișier", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Vă rugăm să așteptați finalizarea încărcărilor", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Mesajul este în curs de procesare", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Mesajul este prea lung", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Mesajul este deja în curs de procesare.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Conexiunea este închisă permanent.", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Nicio conexiune la server", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Nu s-au putut selecta fișierele", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Nu s-au putut selecta imagini", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Capturarea fotografiei de la cameră a eșuat", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Puteți atașa până la {count} fișiere odată.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Șterge textul recunoscut", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Mesajul este prea lung.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Vă rugăm să așteptați finalizarea încărcărilor.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Tipul {kind} \"{name}\" este deja atașat și nu a fost adăugat din nou.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" este un duplicat al {exist} și nu a fost adăugat.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Fișierul {kind} \"{name}\" nu a fost adăugat deoarece numărul maxim de atașamente a fost depășit.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Fișierul \"{name}\" este gol.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Fișierul este gol.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Fișierul \"{name}\" depășește dimensiunea maximă permisă.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Fișierul depășește dimensiunea maximă permisă.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "A apărut o eroare în timpul procesării fișierului \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "A apărut o eroare în timpul procesării fișierului.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Fișierul \"{name}\" nu a fost adăugat deoarece numărul maxim de atașamente a fost depășit.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Un fișier(e) nu a fost adăugat(ă) deoarece numărul maxim de atașamente a fost depășit.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Un fișier nu a fost adăugat deoarece numărul maxim de atașamente a fost depășit.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "A fost încercată adăugarea unui fișier fără nume", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "A fost încercată adăugarea unui fișier cu o extensie nesuportată: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "A fost încercată adăugarea unui fișier cu o extensie nesuportată.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Imposibil de a adăuga un fișier.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Fișierul \"{name}\" este invalid și nu poate fi adăugat.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Un fișier este invalid și nu poate fi adăugat.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Elementul \"{name}\" nu este un fișier valid.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Un element nu este un fișier valid.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "A apărut o eroare în procesarea unui element.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "A apărut o eroare în procesarea unui element(e).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Nu au fost adăugate fișiere.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Unele fișiere au fost omise din cauza duplicatelor cu fișierele existente.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "A apărut o eroare necunoscută.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Următoarele erori au apărut în timpul atașării fișierelor:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "A împărtășit fișierul: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Închide", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Împărtășește", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Se încarcă fișierul...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Eșec la încărcarea fișierului", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "A apărut o eroare necunoscută", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Reîncercați", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Tip de fișier nesuportat", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Nu se poate previzualiza {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Partajează fișierul", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "A afișa imaginea a eșuat", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Resetează zoomul", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Încărcarea PDF-ului a eșuat", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Nu s-a reușit decodarea conținutului textului", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Și {count} erori în plus.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Fișierul este defect", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Consimțământ necesar", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Continuând, ești de acord cu Termenii, Politica de confidențialitate și utilizarea cookie-urilor și confirmi că această consultație este oferită de AI, nu de un profesionist medical autorizat.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Închide", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Șterge", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Ștergeți chatul", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat „{title}” șters cu succes.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Șterge chat-ul?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Simptomele, rezumatul diagnostic și orice recomandări din acest chat vor fi șterse.\nAceastă acțiune nu poate fi anulată.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Zoomați", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Zoom Out", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Resetare zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Împărtășește", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Astăzi", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Ieri", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Doar prima pagină. Folosește Share pentru a descărca fișierul complet.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ru.arb b/example/lib/src/l10n/chat/app_ru.arb new file mode 100644 index 0000000..ad650d9 --- /dev/null +++ b/example/lib/src/l10n/chat/app_ru.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ru", + "drawerTooltipNotifications": "Уведомления", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Помощь", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Закрыть", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Учётная запись", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Профиль", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Настройки аккаунта", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Пожертвовать на поддержку", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Подписка", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Чаты", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "История чатов", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Прикрепленные документы", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Как использовать", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Видеоуроки", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Юридическая", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Связаться с нами", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Сообщить об ошибке", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Условия и положения", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Политика конфиденциальности", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Обратная связь", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Оценить приложение", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Поделиться с друзьями", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Выйти", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Помогите другим получить медицинскую помощь", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Пользователь", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Премиум возможности\nс Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Получить", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Присоединяйтесь", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Версия приложения:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Недавние чаты", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Профиль", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Недавний чат", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Скачать приложения", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Введите сообщение", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Прикрепить файл", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Надиктовать", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Завершить и распознать", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Отправить сообщение", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Не удалось получить сообщения", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Не удалось загрузить сообщения. Пожалуйста, попробуйте ещё раз.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Получить сообщения", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Нет сообщений. Пожалуйста, отправьте сообщение, чтобы начать разговор.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Подключено", + "@chatListHasConnection": {}, + "chatListNoConnection": "Нет подключения", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Поиск", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Избранное", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Скачать", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Печать PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Поделиться с друзьями", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Новый чат", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Чат", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Выбрать чат", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Показать панель", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Нет доступных чатов. Пожалуйста, обновите или создайте новый чат.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Обновить чаты", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Создать новый чат", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Скопировать текст", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Печатает\nПодождите немного", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Обновление...\nПожалуйста, проверьте ваше интернет-соединение", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Сообщение уже обрабатывается прямо сейчас.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Сообщение слишком длинное.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Удалить вложение", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Не удалось обработать сообщение", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Экспорт в PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Фото", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Камера", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Файлы", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Фотографии и файлы", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Надеюсь, это помогло! Было ли это объяснение полезным для вас?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Да, всё в порядке!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Не удалось получить сводку чата", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Сводка чата скопирована в буфер обмена", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Попробуйте Doctorina в мобильном приложении!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Скачать в", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ДОСТУПНО В", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Скачать в App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Получить в Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Сообщить о сообщении", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Почему вы сообщаете об этом сообщении?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Необязательно: Опишите, что не так с этим сообщением...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Это поможет нам улучшить наши ответы ИИ", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Отмена", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Сообщить", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Спасибо за ваш отзыв! Жалоба была отправлена.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Не удалось отправить отчет", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Скопировано в буфер обмена", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Не удалось скопировать сообщение", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Сообщить о сообщении", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Загрузите в чат Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Перетащите файлы сюда, чтобы добавить в чат", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Вы можете добавить до 15 файлов в одно сообщение", + "@chatDropZoneText": {}, + "notificationBannerText": "Хотите, чтобы я уведомил вас, если появится что-то важное о вашем здоровье?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Да, уведомляйте меня", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Может быть позже", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Закрыть", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Уведомления отключены на уровне системы. Включите их в настройках системы перед активацией уведомлений Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Уведомления заблокированы на уровне системы. Включите их в настройках браузера перед активацией уведомлений Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Будьте в курсе вашей консультации", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Докторина может уведомлять вас, когда доступны новые сведения или обновления о вашем здоровье.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Включить уведомления", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Может быть позже", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Продолжая, вы даете согласие на обработку персональных данных, использование cookies, принимаете условия использования и подтверждаете ознакомление с

политикой конфиденциальности

. Также вы подтверждаете, что ваша консультация осуществляется с помощью ИИ, а не лицензированного медицинского специалиста", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Закрыть", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Сначала сохраните этот чат?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Зарегистрируйтесь бесплатно, чтобы сохранить эту консультацию перед началом новой", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Начать без сохранения", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Зарегистрироваться", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Чтобы продолжить разговор, выберите вариант выше", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Закрыть", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Удалить вложение", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Не удалось выбрать файлы из зоны перетаскивания", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Пожалуйста, введите сообщение или прикрепите файл", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Пожалуйста, подождите, пока загрузки завершатся", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Сообщение обрабатывается", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Сообщение слишком длинное", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Сообщение уже обрабатывается.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Соединение закрыто навсегда", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Нет соединения с сервером", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Не удалось выбрать файлы", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Не удалось выбрать изображения", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Не удалось сделать снимок с камеры", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Вы можете прикрепить до {count} файлов одновременно", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Очистить распознанный текст", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Сообщение слишком длинное.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Пожалуйста, подождите, пока загрузки не завершатся", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Файл {kind} \"{name}\" уже прикреплён и не был добавлен снова", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Элемент {kind} \"{name}\" является дубликатом {exist} и не был добавлен.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Файл {kind} \"{name}\" не был добавлен, так как превышен максимальный лимит вложений.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Файл \"{name}\" пуст.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Файл пуст.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Файл \"{name}\" превышает максимально допустимый размер.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Файл превышает максимально допустимый размер.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Произошла ошибка при обработке файла \"{name}\"", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Произошла ошибка при обработке файла.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Файл \"{name}\" не был добавлен, так как превышено максимальное количество вложений.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Файл(ы) не были добавлены, так как превышен максимальный лимит вложений.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Файл не был добавлен, так как превышено максимальное количество вложений.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Попытка добавить файл без имени.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Попытка добавить файл с неподдерживаемым расширением: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Попытка добавить файл с неподдерживаемым расширением.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Невозможно добавить файл.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Файл \"{name}\" недействителен и не может быть добавлен", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Файл недействителен и не может быть добавлен", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Элемент \"{name}\" не является допустимым файлом.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Элемент не является допустимым файлом", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Произошла ошибка при обработке элемента.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Произошла ошибка при обработке элемента(ов)", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Файлы не были добавлены", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Некоторые файлы были пропущены из-за дубликатов с существующими файлами", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Произошла неизвестная ошибка.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Произошли следующие ошибки при прикреплении файлов:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Не удалось поделиться файлом: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Закрыть", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Поделиться", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Загрузка файла...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Не удалось загрузить файл", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Произошла неизвестная ошибка", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Повторить", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Неподдерживаемый тип файла", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Невозможно просмотреть {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Поделиться файлом", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Не удалось отобразить изображение", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Сбросить масштаб", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Не удалось загрузить PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Не удалось декодировать текстовое содержимое", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "И еще {count} ошибок.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Файл поврежден", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Требуется согласие", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Продолжая, вы соглашаетесь с нашими Условиями, Политикой конфиденциальности и использованием файлов cookie и подтверждаете, что эта консультация предоставляется ИИ, а не лицензированным медицинским специалистом.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Закрыть", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Удалить", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Удалить чат", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Чат «{title}» успешно удалён.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Удалить чат?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Ваши симптомы, резюме диагноза и любые рекомендации в этом чате будут удалены.\nЭто действие нельзя отменить.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Увеличить", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Уменьшить", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Сбросить масштаб", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Поделиться", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Сегодня", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Вчера", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Только первая страница. Используйте «Поделиться», чтобы скачать полный файл.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_si.arb b/example/lib/src/l10n/chat/app_si.arb new file mode 100644 index 0000000..c44b8f3 --- /dev/null +++ b/example/lib/src/l10n/chat/app_si.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "si", + "drawerTooltipNotifications": "ඇතුල් කිරීම්", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "ආධාරය", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "අවසන් කරන්න", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "ගිණුම", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "පැතිකඩ", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "ගිණුම් සැකසුම්", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "සහාය වීමට දායක වන්න", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "අභිප්‍රාය", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "කතාබහ", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "චැට් ඉතිහාසය", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "අමුණා ඇති ලේඛන", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "කෙසේ භාවිතා කරන්න", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "වීඩියෝ උපදෙස්", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "නීති", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "අපට සම්බන්ධ වන්න", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "බග් වාර්තාව", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "නියමයන් සහ කොන්දේසි", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "රහස්‍යතා ප්‍රතිපත්ති", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "ප්‍රතිචාරය", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "අයදුම්පත අගය කරන්න", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "මිතුරන්ට බෙදා ගන්න", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "ලොග් ආවුට්", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "අනෙක් අයෙකුට වෛද්‍ය සේවාවක් ලබා ගැනීමට උදව් කරන්න", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "පෙරළි විශේෂාංග\nඩොක්ටරිනාව සමඟ", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "ලබන්න", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "අප හා එකතු වන්න", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "ඇප් සංස්කරණය:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "අලුත්ම කතාබහ", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "පැතිකඩ", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "අලුත්ම කතාබහ", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "අයදුම්පත් බාගත කරන්න", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "පණිවිඩය ඇතුළත් කරන්න", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "ගොනුවක් අමුණන්න", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "ඉදිරිපත් කරන්න", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "අවසන් කරන්න සහ පරිවර්තනය කරන්න", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "පණිවිඩය යවන්න", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "පණිවිඩ ලබා ගැනීමට අසමත්", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "පණිවිඩ ලබා ගැනීමට අසමත් විය. කරුණාකර නැවත උත්සාහ කරන්න.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "පණිවිඩ ලබා ගන්න", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "පණිවිඩ නොමැත. සංවාදය ආරම්භ කිරීමට පණිවිඩයක් යවන්න.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "සම්බන්ධයි", + "@chatListHasConnection": {}, + "chatListNoConnection": "සම්බන්ධතාවයක් නැත", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "සොයන්න", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "ප්‍රියතම", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "බාගත කරන්න", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF මුද්‍රණය කරන්න", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "මිතුරන්ට බෙදා ගන්න", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "නව කතාබස්", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "චැට්", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "චැට් තෝරන්න", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "දැක්මක් කරන්න", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "චැට් ලබා ගත නොහැක. කරුණාකර යාවත්කාලීන කරන්න හෝ නව චැට් එකක් සාදන්න.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "සංවාද යාවත්කාලීන කරන්න", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "නව කතාබස් සාදන්න", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "පණිවිඩය පිටපත් කරන්න", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "ටයිප් කරමින්", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "අලුත් කරමින්...\nකරුණාකර ඔබේ අන්තර්ජාල සම්බන්ධතාවය පරීක්ෂා කරන්න", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "පණිවිඩය දැන්ම සැකසෙමින් පවතී.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "පණිවුඩය දිගු වේ.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "අමුණුව ඉවත් කරන්න", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "පණිවිඩය සැකසීමට අසාර්ථකයි", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDF වෙත අපනයනය කරන්න", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "පින්තූර", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "කැමරාව", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ගොනු", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotografije i Datoteke", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "ආශා කරමි, එය උපකාරී විය! මෙම විස්තරය ඔබට ප්‍රයෝජනවත්ද?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "ඔව්, සියල්ල හොඳයි!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "චැට් සාරාංශය ලබා ගැනීමට අසාර්ථකයි", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "චැට් සාරාංශය ක්ලිප්බෝඩ්ට පිටපත් කරන ලදි", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "මොබයිල් යෙදුමෙන් Doctorina උත්සාහ කරන්න!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "ඇතුළත් කරන්න", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ගෙට් ඉට් ඔන්", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Store හි බාගත කරන්න", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "ගූගල් ප්ලේ හි ලබා ගන්න", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "පණිවිඩය වාර්තා කරන්න", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "ඔබ මෙම පණිවිඩය ඇසුරු කරන්නේ ඇයි?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "අවශ්‍ය: මෙම පණිවිඩය ගැන කුමක් වැරදිද කියන්න...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "මෙය අපට අපගේ AI ප්‍රතිචාර වර්ධනය කිරීමට උපකාරී වේ.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "අවලංගු කරන්න", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "වාර්තා කරන්න", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "ඔබගේ ප්‍රතිචාරය සඳහා ස්තූතියි! වාර්තාව ඉදිරිපත් කර ඇත.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "වාර්තා ඉදිරිපත් කිරීමට අසාර්ථකයි", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "පිටපත් කරනු ලැබීය", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "පණිවුඩය පිටපත් කිරීමට අසාර්ථකයි", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "පණිවිඩය වාර්තා කරන්න", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ඩොක්ටර්නාවට චැට් එකට උඩුගත කරන්න", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "මෙහි ගොනු ඇදීමෙන් කතාබහට එක් කරන්න", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "ඔබට පණිවිඩයක් සඳහා ගොනු 15ක් දක්වා එකතු කළ හැක", + "@chatDropZoneText": {}, + "notificationBannerText": "ඔබගේ සෞඛ්‍යය පිළිබඳ වැදගත් දෙයක් සිදුවන විට මට ඔබට දැනුම් දිය යුතුද?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "ඔව්, මට දැනුම් දෙන්න", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "පසුව", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "අවසන් කරන්න", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Obvestila so blokirana na ravni sistema. Omogočite jih v sistemskih nastavitvah, preden aktivirate obvestila Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Obvestila so blokirana na sistemski ravni. Omogočite jih v nastavitvah brskalnika, preden aktivirate obvestila Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "ඔබේ උපදේශනය පිළිබඳ යාවත්කාලීන වන්න", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina ඔබට ඔබේ සෞඛ්‍යය පිළිබඳ නව දැනුම් සහ යාවත්කාලීන කිරීම් ලබා දිය හැකි වේ.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "සන්නිවේදන සක්‍රීය කරන්න", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "පසුව", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "ඉදිරියට පියවර ගන්නේ ඔබට පුද්ගල දත්ත සැකසීම, cookies භාවිතය, නියම හා කොන්දේසි පිළිබඳ එකඟතාවය සහ

පෞද්ගලිකත්ව ප්‍රතිපත්තිය

අනුමත කිරීමයි. එසේම, ඔබගේ උපදෙස් AI සමඟ වන අතර බලය ලත් වෛද්‍ය විශේෂඥයකු සමඟ නොවන බවත් පිළිගැනීමයි", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Zanemariti", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "පළමුව මෙම චැට් සුරක්ෂිත කරන්න?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "නව කන්සල්ටේෂන් ආරම්භ කිරීමට පෙර මෙම කන්සල්ටේෂන් සුරක්ෂිත කිරීමට නොමිලේ ලියාපදිංචි වන්න", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "සුරැකුම් නොකර ආරම්භ කරන්න", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "ලියාපදිංචි කරන්න", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Da bi nastavili razgovor, odaberite opciju iznad", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "වසන්න", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Odstrani priponko", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Fail to pick files from drop zone", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "කරුණාකර පණිවිඩයක් ඇතුළත් කරන්න හෝ ගොනුවක් අමුණන්න", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "ඉදිරිපත් කිරීම් සම්පූර්ණ වීමට කුමාරාත්මක වන්න", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Sporočilo se obdeluje", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Sporočilo je predolgo", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Sporazum se već obrađuje.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Povezava je trajno zaprta.", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Nema veze sa serverom", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Fail to pick files", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "පින්තූර තෝරා ගැනීමට අසමත් විය", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Kameradan fotografi çekme başarısız oldu", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Lahko pripnete do {count} datotek hkrati.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Clear recognized text", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Sporazum je predug.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "ඉදිරියට යාමට පෙර උඩුගත කිරීම් සම්පූර්ණ වීමට බලා සිටින්න.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Tip {kind} \"{name}\" je već priložen i nije ponovo dodan.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" is a duplicate of {exist} and was not added.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "The {kind} \"{name}\" was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Datoteka \"{name}\" je prazna.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Datoteka je prazna.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Datoteka \"{name}\" premašuje maksimalno dopuštenu veličinu.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ගොනුව උපරිම ඉඩ ප්‍රමාණය ඉක්මවා ගියෙයි.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Pri obdelavi datoteke \"{name}\" je prišlo do napake.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Datoteka se nije mogla obraditi.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Datoteka \"{name}\" nije dodana jer je prekoračen maksimalni broj privitaka.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Fail(e) nije dodan(a) jer je prekoračen maksimalni broj privitaka.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Datoteka nije dodana jer je prekoračen maksimalni broj privitaka.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "A file without a name was attempted to be added.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Poskušali ste dodati datoteko z nepodprto pripono: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "A file with an unsupported extension was attempted to be added.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Impossible to add a file.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Datoteka \"{name}\" je nevalidna i ne može biti dodana.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Faili එකක් වලංගු නොවේ සහ එකතු කළ නොහැක.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Predmet \"{name}\" nije važeća datoteka.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Predmet nije važeća datoteka.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "An error occurred while processing an item.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Prihvatili smo grešku prilikom obrade stavke(a).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "ගොනු එකතු කර නැත.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Nekateri datoteki so bile preskočene zaradi podvajanja z obstoječimi datotekami.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "අනියම් දෝෂයක් සිදුවිය.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Užfiksuota klaidų, kai bandėte pridėti failus:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Datoteka nije mogla biti deljena: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Zapri", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Deli", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "ගොනුව පූර්ණ කරමින්...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Datoteka nije učitana", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Nepoznata greška se dogodila", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Ponovno pokušajte", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "අනුමත නොකෙරෙන ගොනුවේ වර්ගය", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Cannot preview {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Deli datoteku", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "පින්තූරය පෙන්වීම අසාර්ථක විය", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Ponovno postavi zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF එක ආරම්භ කිරීමට අසමත් විය", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Tekst sadržaj nije moguće dešifrovati", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "හා {count} තවත් දෝෂ.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Datoteka je neispravna", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Potrebna suglasnost", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "S nadaljevanjem se strinjate z našimi pogoji, politiko o zasebnosti in uporabo piškotkov ter potrjujete, da to svetovanje zagotavlja AI, ne licencirani zdravstveni delavec.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Zapri", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "මකන්න", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "කතාබහ මකන්න", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "චැට් “{title}” සාර්ථකව මකන ලදී.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "චැට් මකන්නද?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "ඔබගේ ලක්ෂණ, රෝග විශේෂණය සාරාංශය සහ මෙම කතාබස්යේ යෝජනා කිසිවක් මකා දැමිය හැක.\nමෙම ක්‍රියාව නැවත කිරීමට නොහැක.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "ඉහලට විශාල කරන්න", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Zoom Out", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "සැකසුම් නැවත සකසන්න", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "බෙදා ගන්න", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "අද", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "ඊයේ", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "පළමු පිටුව පමණි. සම්පූර්ණ ගොනුව බාගත කිරීමට Share භාවිතා කරන්න.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_sk.arb b/example/lib/src/l10n/chat/app_sk.arb new file mode 100644 index 0000000..cc56ea6 --- /dev/null +++ b/example/lib/src/l10n/chat/app_sk.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "sk", + "drawerTooltipNotifications": "Notifikácie", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Pomoc", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Zavrieť", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Účet", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Nastavenia účtu", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Darujte na podporu", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Predplatné", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Chaty", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "História chatov", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Pripojené dokumenty", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Ako používať", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Video návody", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Právne", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Kontaktujte nás", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Hlášenie chýb", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Podmienky a ustanovenia", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Súkromie", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Spätná väzba", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Ohodnoťte aplikáciu", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Zdieľať s priateľmi", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Odhlásiť sa", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Pomôžte iným získať lekársku starostlivosť", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Používateľ", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Prémiové funkcie\ns Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Získať", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Pridajte sa k nám", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Verzia aplikácie:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Nedávne chaty", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Nedávny chat", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Stiahnuť aplikácie", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Zadajte správu", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Pripojiť súbor", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Nadiktovať", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Dokončiť a prepisovať", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Odoslať správu", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Nepodarilo sa načítať správy", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Nepodarilo sa načítať správy. Skúste to prosím znova.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Načítať správy", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Nie sú k dispozícii žiadne správy. Pošlite správu, aby ste začali konverzáciu.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Pripojené", + "@chatListHasConnection": {}, + "chatListNoConnection": "Žiadne pripojenie", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Hľadať", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Obľúbené", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Stiahnuť", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Tlačiť PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Zdieľať s priateľmi", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Nový chat", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Vybrať chat", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Zobraziť zásuvku", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Nie sú k dispozícii žiadne chaty. Prosím, obnovte alebo vytvorte nový chat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Obnoviť chaty", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Vytvoriť nový chat", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Kopírovať text", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Píšem Počkajte chvíľu", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Aktualizujem...\nProsím, skontrolujte svoje internetové pripojenie", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Správa sa už spracováva.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Správa je príliš dlhá", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Odstrániť prílohu", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Nepodarilo sa spracovať správu", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Exportovať do PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Fotografie", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Súbory", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotografie a súbory", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Dúfam, že to pomohlo! Bola táto odpoveď pre vás užitočná?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Áno, všetko je v poriadku!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Nepodarilo sa získať súhrn chatu", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Zhrnutie chatu skopírované do schránky", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Vyskúšajte Doctorina v mobilnej aplikácii!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Stiahnuť na", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "STIAHNITE SI", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Stiahnuť z App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Získajte to na Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Nahlásiť správu", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Prečo hlásite túto správu?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Voliteľné: Opíšte, čo je z touto správou zlé...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Toto nám pomôže zlepšiť naše odpovede AI", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Zrušiť", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Nahlásiť", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Ďakujeme za vašu spätnú väzbu! Správa bola odoslaná.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Nepodarilo sa odoslať správu", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Skopírované do schránky", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Nepodarilo sa skopírovať správu", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Nahlásiť správu", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Nahrajte do chatu Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Pretiahnite a pustite súbory sem, aby ste ich pridali do chatu", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Môžete pridať až 15 súborov do jednej správy", + "@chatDropZoneText": {}, + "notificationBannerText": "Chcete, aby som vás informoval, ak sa objaví niečo dôležité o vašom zdraví?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Áno, informujte ma", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Možno neskôr", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Zavrieť", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Oznámenia sú na úrovni systému zablokované. Povoľte ich v systémových nastaveniach pred aktivovaním oznámení Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Oznámenia sú blokované na systémovej úrovni. Povoľte ich v nastaveniach prehliadača pred aktivovaním oznámení Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Buďte informovaní o svojej konzultácii", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina vás môže informovať, keď budú k dispozícii nové poznatky alebo aktualizácie o vašom zdraví.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Povoliť notifikácie", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Možno neskôr", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Pokračovaním vyhlasujete súhlas s spracovaním osobných údajov, používaním cookies, súhlasíte s terms and conditions a potvrďujete

privacy policy

. Taktiež beriete na vedomie, že vaša konzultácia prebieha s AI a nie s licencovaným lekárom", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Zavrieť", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Najprv uložte tento chat?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Zaregistrujte sa zadarmo, aby ste si uložili túto konzultáciu pred začiatkom novej", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Spustiť bez uloženia", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Zaregistrujte sa", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Aby ste mohli pokračovať v konverzácii, vyberte si možnosť vyššie", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Zavrieť", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Odstrániť prílohu", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Nepodarilo sa vybrať súbory z oblasti na presúvanie súborov", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Zadajte správu alebo priložte súbor", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Čakajte, kým sa nahrávanie dokončí", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Správa sa spracováva", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Správa je príliš dlhá", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Správa sa práve spracováva.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Spojenie je trvalo uzavreté", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Žiadne pripojenie k serveru", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Nepodarilo sa vybrať súbory", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Nepodarilo sa vybrať obrázky", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Nepodarilo sa zachytiť fotografiu z kamery", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Môžete priložiť až {count} súborov naraz.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Vymazať rozpoznaný text", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Správa je príliš dlhá.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Čakajte, kým sa nahrávanie dokončí.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Typ \"{kind}\" \"{name}\" je už pripojený a nebol pridaný znova.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Typ \"{kind}\" \"{name}\" je duplicitou existujúceho \"{exist}\" a nebol pridaný.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Príloha typu {kind} \"{name}\" nebola pridaná, pretože bol prekročený maximálny počet príloh.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Súbor \"{name}\" je prázdny.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Súbor je prázdny.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Súbor \"{name}\" presahuje maximálnu povolenú veľkosť.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Súbor presahuje maximálnu povolenú veľkosť.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Pri spracovaní súboru \"{name}\" došlo k chybe.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Pri spracovaní súboru došlo k chybe.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Súbor \"{name}\" nebol pridaný, pretože bol prekročený maximálny počet príloh.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Súbor(y) neboli pridané, pretože bol prekročený maximálny počet príloh.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Súbor nebol pridaný, pretože bol prekročený maximálny počet príloh.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Bol pridaný súbor bez názvu.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Bol pokus o pripojenie súboru s nepodporovanou príponou: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Bol pridaný súbor s nepodporovanou príponou.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Nie je možné pridať súbor.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Súbor \"{name}\" je neplatný a nemôže byť pridaný.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Súbor je neplatný a nemožno ho pridať.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Položka \"{name}\" nie je platný súbor.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Položka nie je platný súbor", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Pri spracovaní položky došlo k chybe.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Pri spracovaní položky došlo k chybe.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Neboli pridané žiadne súbory", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Niektoré súbory boli preskočené kvôli duplicitám s existujúcimi súbormi.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Vyskytla sa neznáma chyba", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Pri pripojovaní súborov došlo k nasledujúcim chybám:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Zdieľanie súboru zlyhalo: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Zavrieť", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Zdieľať", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Načítanie súboru...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Nepodarilo sa načítať súbor", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Nastala neznáma chyba", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Skúsiť znova", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Nepodporovaný typ súboru", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Nie je možné zobraziť {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Zdieľať súbor", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Nepodarilo sa zobraziť obrázok", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Obnoviť priblíženie", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Nepodarilo sa načítať PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Nepodarilo sa dekódovať textový obsah.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "A {count} ďalších chýb.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Súbor je poškodený", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Súhlas je potrebný", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Pokračovaním súhlasíte s našimi Podmienkami, Zásadami ochrany osobných údajov a používaním súborov cookie a potvrdzujete, že táto konzultácia je poskytovaná AI, nie licencovaným zdravotníckym pracovníkom.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Zavrieť", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Zmazať", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Zmazať chat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat „{title}“ bol úspešne odstránený.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Zmazať chat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Vaše príznaky, zhrnutie diagnózy a akékoľvek odporúčania v tomto chate budú odstránené.\nTúto akciu nie je možné zvrátiť.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Priblížiť", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Priblížiť", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Obnoviť priblíženie", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Zdieľať", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Dnes", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Včera", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Tento náhľad môže zobraziť iba prvú stránku. Stiahnite si súbor, aby ste si mohli pozrieť celý dokument.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_sw.arb b/example/lib/src/l10n/chat/app_sw.arb new file mode 100644 index 0000000..33044ec --- /dev/null +++ b/example/lib/src/l10n/chat/app_sw.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "sw", + "drawerTooltipNotifications": "Taarifa", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Msaada", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Funga", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Akaunti", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Wasifu", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Mipangilio ya Akaunti", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Changia kusaidia", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Usajili", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Mazungumzo", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Historia ya mazungumzo", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Nyaraka Zilizowekwa", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Jinsi ya kutumia", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Mafunzo ya Video", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Sheria", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Wasiliana Nasi", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Ripoti ya hitilafu", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Masharti na Vigezo", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Sera ya Faragha", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Maoni", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Pima App", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Shiriki na Marafiki", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Toka", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Saidia wengine kupokea huduma ya matibabu", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Mtumiaji", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Vipengele vya Premium\nna Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Pata", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Jiunge nasi", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Toleo la programu:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Mazungumzo ya Karibuni", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profaili", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Mazungumzo ya hivi karibuni", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Pakua Programu", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Andika ujumbe", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Ambatanisha faili", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Andika kwa sauti", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Maliza & Andika", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Tuma ujumbe", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Imeshindwa kupata ujumbe", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Haikuweza kupata ujumbe. Tafadhali jaribu tena.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Pata ujumbe", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Hakuna ujumbe uliopo. Tafadhali tuma ujumbe kuanzisha mazungumzo.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Umeunganishwa", + "@chatListHasConnection": {}, + "chatListNoConnection": "Hakuna muunganisho", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Tafuta", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Vipendwa", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Pakua", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Chapisha PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Shiriki na marafiki", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Mazungumzo mapya", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Chagua Mazungumzo", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Onyesha droo", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Hakuna mazungumzo. Tafadhali sasisha au unda gumzo jipya.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Sasisha mazungumzo", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Tengeneza gumzo jipya", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Nakili maandishi", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Anaandika\nTafadhali subiri kidogo", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Inasasasisha...\nTafadhali angalia muunganisho wako wa intaneti", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Ujumbe unashughulikiwa tayari sasa hivi.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Ujumbe ni mrefu sana.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Ondoa kiambatisho", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Imeshindwa kuchakata ujumbe", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Hamisha kwenda PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Picha", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Faili", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Picha na Faili", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Natumai hilo lilikusaidia! Je, maelezo haya yalikuwa ya manufaa kwako?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Ndio, kila kitu kiko sawa!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Imeshindwa kupata muhtasari wa mazungumzo", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Muhtasari wa mazungumzo umewekwa kwenye clipboard", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Jaribu Doctorina kwenye programu ya simu!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Pakua", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "GET IT ON", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Pakua kutoka App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Pata kwenye Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Ripoti Ujumbe", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Kwa nini unaripoti ujumbe huu?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Hiari: Eleza kilicho kibaya kuhusu ujumbe huu...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Hii itatusaidia kuboresha majibu yetu ya AI", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Ghaira", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Ripoti", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Asante kwa maoni yako! Ripoti imewasilishwa.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Imeshindwa kuwasilisha ripoti", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Imepakiwa kwenye clipboard", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Imepoteza nakala ya ujumbe", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Ripoti Ujumbe", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Pakia kwenye gumzo la Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Drag and drop files here to add to chat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Unaweza kuongeza faili 15 kwa ujumbe mmoja", + "@chatDropZoneText": {}, + "notificationBannerText": "Je, ungependa niwajulishe ikiwa kuna jambo muhimu kuhusu afya yako?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Ndio, nijulishe", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Pengine baadaye", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Funga", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Arifa zimezuiliwa katika kiwango cha mfumo. Zizifanye kazi katika mipangilio ya mfumo kabla ya kuanzisha arifa za Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Arifa zimezuiliwa katika ngazi ya mfumo. Wazi katika mipangilio ya kivinjari kabla ya kuanzisha arifa za Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Kaa updated kuhusu ushauri wako", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina inaweza kukujulisha unapokuwa na maarifa mapya au masasisho kuhusu afya yako.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Washa arifa", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Pengine baadaye", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Kwa kuendelea unakubali usindikaji wa data binafsi, matumizi ya cookies, unakubali masharti na kanuni na unakiri

sera ya faragha

. Pia unakiri kwamba ushauri wako ni na AI na sio mtaalamu wa tiba aliye na leseni", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Ondoa", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Hifadhi mazungumzo haya kwanza?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Jisajili kwa bure ili kuhifadhi ushauri huu kabla ya kuanza mpya", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Anza bila kuhifadhi", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Jisajili", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Ili kuendelea na mazungumzo, chagua chaguo lililo juu", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Funga", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Ondoa kiambatisho", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Imeshindwa kuchukua faili kutoka eneo la kuangusha", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Tafadhali ingiza ujumbe au ambatisha faili", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Tafadhali subiri uploads kukamilika", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Ujumbe unachakatwa", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Ujumbe ni mrefu sana", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Ujumbe unashughulikiwa sasa hivi.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Anschlusset är permanent stängt", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Hakuna muunganisho na seva", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Imeshindwa kuchagua faili", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Kushindwa kuchagua picha", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Imeshindwa kuchukua picha kutoka kwa kamera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Du kan bifoga upp till {count} filer åt gången.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Futa maandiko yaliyotambuliwa", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Ujumbe ni mrefu sana.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Tafadhali subiri uploads kukamilika.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Aina ya {kind} \"{name}\" tayari imeunganishwa na haijaanzishwa tena.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" ni nakala ya {exist} na haikuongezwa.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "The {kind} \"{name}\" haikuongezwa kwa sababu ya kufikia kiwango cha juu cha viambatisho.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Faili \"{name}\" ni tupu.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Fileni ni tupu.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Faili \"{name}\" inazidi ukubwa linaloruhusiwa.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Faili linazidi saizi inayoruhusiwa.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Kulikoni kutokea wakati wa kuchakata faili \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Kulikoni kutokea wakati wa kuchakata faili.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Faili \"{name}\" haikuongezwa kwa sababu idadi ya viambatisho imezidi.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Ente faili(s) haikuja kwa sababu idadi ya viambatisho imezidi.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Faili haikuja kwa sababu idadi ya viambatisho imezidi.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Kijarida bila jina ilijaribu kuongezwa.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "En fil med en ogiltig filändelse försökte läggas till: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Faili lenye kiambatisho kisichoungwa mkono kilijaribu kuongezwa.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Haiwezekani kuongeza faili.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Faili \"{name}\" si halali na haiwezi kuongezwa.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Faili si batili na haiwezi kuongezwa.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Kipande cha \"{name}\" si faili halali", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Eka kipande si faili halali.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Kulikoni kutokea wakati wa kuchakata kipengee.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Kulikoni kutokea wakati wa kuchakata kipengee(kipengee).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Inakosekana faili.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Baadhi ya faili zilikataliwa kwa sababu ya nakala zilizopo.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Kosa isiyojulikana imetokea.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Makosa yafuatayo yamejitokeza wakati wa kuambatisha faili:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Missed kushiriki faili: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Funga", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Shiriki", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Inapakia faili...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Kushindwa kupakia faili", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Kosa isiyojulikana imetokea", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Jaribu tena", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Aina ya faili isiyoungwa mkono", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Haiwezi kuangalia {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Shiriki Faili", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Imeshindwa kuonyesha picha", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Rekebisha zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Imeshindwa kupakia PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Imeshindwa kufungua maudhui ya maandiko.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Na {count} zaidi ya makosa.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Faili limeharibika", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Idhini Inahitajika", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Genom att fortsätta godkänner du våra Villkor, Integritetspolicy och användning av cookies, och bekräftar att denna konsultation tillhandahålls av AI, inte en licensierad medicinsk professionell.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Stäng", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Futa", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Futa mazungumzo", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat “{title}” imefutwa kwa mafanikio.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Futa mazungumzo?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Dalili zako, muhtasari wa uchunguzi, na mapendekezo yoyote katika mazungumzo haya yataondolewa.\nKitendo hiki hakiwezi kubadilishwa.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Panua", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Punguza", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Rekebisha Kuongeza", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Shiriki", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Leo", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Jana", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Ukurasa wa kwanza tu. Tumia Shiriki kupakua faili kamili.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ta.arb b/example/lib/src/l10n/chat/app_ta.arb new file mode 100644 index 0000000..9906011 --- /dev/null +++ b/example/lib/src/l10n/chat/app_ta.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ta", + "drawerTooltipNotifications": "அறிவிப்புகள்", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "உதவி", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "மூடு", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "கணக்கு", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "சுயவிவரம்", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "கணக்கு அமைப்புகள்", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "ஆதரவை ஆதரிக்க நன்கொடை செய்யவும்", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "சந்தா", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "உரையாடல்கள்", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "சாட் வரலாறு", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "இணைக்கப்பட்ட ஆவணங்கள்", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "எப்படி பயன்படுத்துவது", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "வீடியோ பயிற்சிகள்", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "சட்டம்", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "தொடர்பு கொள்ளவும்", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "பிழை அறிக்கை", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "விதிமுறைகள்", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "தனியுரிமைக் கொள்கை", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "பின்னூட்டம்", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "அப் மதிப்பிடு", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "தோழர்களுடன் பகிரவும்", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "வெளியேறு", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "மற்றவர்கள் மருத்துவ சேவையை பெற உதவுங்கள்", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "பயனர்", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "பிரிமியம் அம்சங்கள்\nடாக்டரீனா உடன்", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "பெறு", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "எங்களுடன் சேருங்கள்", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "ஆப் பதிப்பு:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "சமீபத்திய உரையாடல்கள்", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "சுயவிவரம்", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "சமீபத்திய உரை", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "பயன்பாடுகளை பதிவிறக்கம் செய்க", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "செய்தியை உள்ளிடவும்", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "கோப்பை இணைக்கவும்", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "பேசவும்", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "முடி & உரையாக்கு", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "செய்தியை அனுப்பு", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "செய்திகளை பெற முடியவில்லை", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "செய்திகளை பெறவில்லை. தயவுசெய்து மீண்டும் முயற்சி செய்யவும்.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "செய்திகளை பெறுக", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "செய்திகள் கிடைக்கவில்லை. உரையாடலை தொடங்க தயவுசெய்து ஒரு செய்தி அனுப்பவும்.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "இணைக்கப்பட்டுள்ளது", + "@chatListHasConnection": {}, + "chatListNoConnection": "இணைப்பு இல்லை", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "தேடு", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "பிடித்தவை", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "பதிவிறக்கம்", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF அச்சிடு", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "நண்பர்களுடன் பகிரவும்", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "புதிய உரையாடல்", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "சாட்", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "உரையாடலைத் தேர்ந்தெடு", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "டிராயரை காட்டு", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "உரையாடல்கள் கிடைக்கவில்லை. தயவுசெய்து புதுப்பிக்கவும் அல்லது புதிய உரையாடலை உருவாக்கவும்.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "உரையாடல்களை புதுப்பிக்கவும்", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "புதிய அரட்டை உருவாக்கு", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "உரை நகலெடுக்கவும்", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "எழுதுகிறது\nஒரு நிமிடம்", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "புதுப்பிக்கிறது...\nஉங்கள் இணைய இணைப்பை சரிபார்க்கவும்", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "செய்தி இப்போது ஏற்கனவே செயலாக்கப்படுகிறது.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "செய்தி மிக நீளமாக உள்ளது.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "இணைப்பைக் அகற்று", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "செய்தியை செயலாக்க முடியவில்லை", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDFக்கு ஏற்றுமதி", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "புகைப்படங்கள்", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "கேமரா", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "கோப்புகள்", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "புகைப்படங்கள் மற்றும் கோப்புகள்", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "அது உதவியளித்ததாக நம்புகிறேன்! இந்த விளக்கம் உங்களுக்கு பயனுள்ளதாக இருந்ததா?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "ஆமாம், எல்லாம் நன்றாக உள்ளது!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "உரையாடல் சுருக்கத்தை பெற முடியவில்லை", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "சாட் சுருக்கம் கிளிப்போர்டில் நகலெடுக்கப்பட்டது", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "டாக்டரினாவை மொபைல் செயலியில் முயற்சி செய்!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "பதிவேற்று", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "GET IT ON", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "அப் ஸ்டோரிலிருந்து பதிவிறக்குக", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Google Play இல் பெறுக", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "செய்தியைப் புகாரளிக்கவும்", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "நீங்கள் இந்த செய்தியை ஏன் புகாரளிக்கிறீர்கள்?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "விருப்பம்: இந்த செய்தியில் என்ன தவறு என்பதை விவரிக்கவும்...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "இது எங்கள் AI பதில்களை மேம்படுத்த உதவும்", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "ரத்து", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "அறிக்கையிடு", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "உங்கள் கருத்துக்கு நன்றி! புகாரை சமர்ப்பிக்கப்பட்டது.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "அறிக்கையை சமர்ப்பிக்க முடியவில்லை", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "கிளிப்போர்டுக்கு நகலெடுக்கப்பட்டது", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "செய்தியை நகலெடுக்க முடியவில்லை", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "செய்தியைப் புகாரளிக்கவும்", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "டாக்டரினா உரையாடலுக்கு பதிவேற்றவும்", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "சேவையில் சேர்க்க கோப்புகளை இங்கே இழுக்கவும்", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "ஒரு செய்திக்கு 15 கோப்புகள் சேர்க்கலாம்", + "@chatDropZoneText": {}, + "notificationBannerText": "உங்கள் ஆரோக்கியம் குறித்து முக்கியமானது வந்தால், நான் உங்களை அறிவிக்க வேண்டுமா?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "ஆம், எனக்கு அறிவிக்கவும்", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "பின்னர் இருக்கலாம்", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "மூடு", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "அறிவிப்புகள் அமைப்பு மட்டத்தில் முடக்கப்பட்டுள்ளது. Doctorina-இன் அறிவிப்புகளை செயல்படுத்துவதற்கு முன், அவற்றை அமைப்பு அமைப்புகளில் இயக்கவும்.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "அறிவிப்புகள் அமைப்பு மட்டத்தில் முடக்கப்பட்டுள்ளது. Doctorina-இன் அறிவிப்புகளை செயல்படுத்துவதற்கு முன், உலாவி அமைப்புகளில் அவற்றைப் செயல்படுத்தவும்.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "உங்கள் ஆலோசனை பற்றி புதுப்பிக்கவும்", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina உங்களுக்கான புதிய தகவல்கள் அல்லது உங்கள் ஆரோக்கியம் பற்றிய புதுப்பிப்புகள் கிடைக்கும்போது உங்களை அறிவிக்கலாம்.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "அறிவிப்புகளை இயக்கவும்", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "பின்னர் இருக்கலாம்", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "தொடர்வதன் மூலம், நீங்கள் cookies பயன்பாடு, தனிப்பட்ட தரவுகளின் செயலாக்கம், விதிமுறைகள் மற்றும் நிபந்தனைகள் உடன் ஒப்புக்கொள்கிறீர்கள் மற்றும்

தனியுரிமை கொள்கையை

ஒப்புக்கொள்கிறீர்கள். மேலும், உங்கள் ஆலோசனை ஒரு AI உடன் நடைபெறுவதாகவும், அனுமதிப்பட்ட மருத்துவ நிபுணருடன் அல்லவெனவும் நீங்கள் ஒப்புக்கொள்கிறீர்கள்", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "அழிக்கவும்", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "முதலில் இந்த அரட்டை சேமிக்கவும்?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "ஒரு புதிய ஆலோசனையை தொடங்குவதற்கு முன் இந்த ஆலோசனையை சேமிக்க இலவசமாக பதிவு கொள்ளவும்", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "சேமிக்காமல் தொடங்கவும்", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "சைன் அப் செய்க", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "சந்திப்பை தொடர, மேலே உள்ள விருப்பத்தை தேர்ந்தெடு", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "மூடு", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "இணைப்பை அகற்று", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "கோப்புகளை இறக்குமதி செய்ய முடியவில்லை", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "தயவுசெய்து ஒரு செய்தியை உள்ளிடவும் அல்லது ஒரு கோப்பை இணைக்கவும்", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "அனுப்புவதற்கு முன் பதிவேற்றங்கள் முடிவடைய காத்திருங்கள்", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "செய்தி செயலாக்கப்படுகிறது", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "செய்தி மிகவும் நீளமாக உள்ளது", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "செய்தி தற்போது செயலாக்கமாக உள்ளது.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "இணைப்பு நிரந்தரமாக மூடப்பட்டுள்ளது", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "சேவையுடன் இணைப்பு இல்லை", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "கோப்புகளை தேர்வு செய்ய முடியவில்லை", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "படங்களை தேர்வு செய்ய முடியவில்லை", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "கேமராவிலிருந்து புகைப்படம் பிடிக்க முடியவில்லை", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "{count} கோப்புகளை ஒரே நேரத்தில் இணைக்கலாம்.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "அறியப்பட்ட உரையை அழிக்கவும்", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "செய்தி மிகவும் நீளமாக உள்ளது.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "அனுப்புதல்களை முடிக்க காத்திருங்கள்.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "{kind} \"{name}\" ஏற்கனவே இணைக்கப்பட்டுள்ளது மற்றும் மீண்டும் சேர்க்கப்படவில்லை.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" என்பது {exist} இன் நகல் மற்றும் சேர்க்கப்படவில்லை.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "The {kind} \"{name}\" சேர்க்கப்படவில்லை ஏனெனில் இணைப்புகளின் அதிகபட்ச எண்ணிக்கை மீறப்பட்டுள்ளது.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "\"{name}\" என்ற கோப்பு காலியாக உள்ளது.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "கோப்பு காலியாக உள்ளது.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "கோப்பு \"{name}\" அதிகபட்சமாக அனுமதிக்கப்பட்ட அளவை மீறுகிறது.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "கோப்பு அனுமதிக்கப்பட்ட அதிகபட்ச அளவை மீறுகிறது.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "\"{name}\" என்ற கோப்பை செயலாக்கும் போது பிழை ஏற்பட்டது.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "கோப்பைப் செயலாக்கும் போது ஒரு பிழை ஏற்பட்டது.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "கோப்பு \"{name}\" சேர்க்கப்படவில்லை, ஏனெனில் இணைப்புகளின் அதிகபட்ச எண்ணிக்கை மீறப்பட்டுள்ளது.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ஒரு அல்லது பல கோப்புகள் சேர்க்கப்படவில்லை, ஏனெனில் இணைப்புகளின் அதிகபட்ச எண்ணிக்கை மீறப்பட்டுள்ளது.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "ஒரு கோப்பு சேர்க்கப்படவில்லை, ஏனெனில் இணைப்புகளின் அதிகபட்ச எண்ணிக்கை மீறப்பட்டுள்ளது.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "பெயர் இல்லாத ஒரு கோப்பு சேர்க்க முயற்சிக்கப்பட்டது.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "ஒரு ஆதரிக்கப்படாத நீட்டிப்புடன் கூடிய கோப்பு சேர்க்க முயற்சிக்கப்பட்டது: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "ஆதாரமாக்கப்படாத நீட்டிப்பு கொண்ட கோப்பு சேர்க்க முயற்சிக்கப்பட்டது.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "கோப்பை சேர்க்க முடியவில்லை.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "\"{name}\" என்ற கோப்பு செல்லுபடியாகவில்லை மற்றும் சேர்க்க முடியாது.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ஒரு கோப்பு தவறானது மற்றும் சேர்க்க முடியாது.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "\"{name}\" என்ற உருப்படியானது செல்லுபடியாகும் கோப்பாக இல்லை.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "ஒரு உருப்படி செல்லுபடியாகும் கோப்பு அல்ல.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "ஒரு உருப்படியை செயலாக்கும் போது பிழை ஏற்பட்டது.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "ஒரு பொருளை(பொருட்களை) செயலாக்கும் போது பிழை ஏற்பட்டது.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "எந்த கோப்புகளும் சேர்க்கப்படவில்லை.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "சில கோப்புகள் உள்ள கோப்புகளுடன் ஒத்துப்போகும் காரணமாக தவிர்க்கப்பட்டன.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "அறியப்படாத பிழை ஏற்பட்டது.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "கோப்புகளை இணைக்கும் போது ஏற்பட்ட பின்வரும் பிழைகள்:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "கோப்பை பகிர்வதில் தோல்வி: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "மூடு", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "பகிர்", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "கோப்பை ஏற்றுகிறது...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "கோப்பை ஏற்றுவதில் தோல்வி", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "அறியப்படாத பிழை ஏற்பட்டது", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "மீண்டும் முயற்சி செய்", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "ஆதரிக்கப்படாத கோப்பு வகை", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "{contentType} ஐ முன்னோட்டம் செய்ய முடியாது", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "கோப்பை பகிர்", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "படத்தை காட்டு முடியவில்லை", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "பெரிதாக்கத்தை மீட்டமைக்கவும்", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDFஐ ஏற்ற முடியவில்லை", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "உள்ளடக்கத்தை குறியாக்குவதில் தோல்வி.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "{count} மேலும் பிழைகள்.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "கோப்பு தவறாக உள்ளது", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "அனுமதி தேவை", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "தொடர்ந்து செல்லுவதன் மூலம், நீங்கள் எங்கள் விதிமுறைகள், தனியுரிமை கொள்கை மற்றும் குக்கீக்களின் பயன்பாடுக்கு ஒப்புக்கொள்கிறீர்கள், மேலும் இந்த ஆலோசனை AI மூலம் வழங்கப்படுகிறது, உரிமம் பெற்ற மருத்துவ நிபுணரால் அல்ல.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "மூடு", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "அழி", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "சாட் நீக்கு", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "சாட் “{title}” வெற்றிகரமாக நீக்கப்பட்டது.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "சந்திப்பை நீக்கவா?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "உங்கள் அறிகுறிகள், நோயின் சுருக்கம் மற்றும் இந்த உரையாடலில் உள்ள எந்த பரிந்துரைகளும் நீக்கப்படும்.\nஇந்த நடவடிக்கை திரும்ப முடியாது.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "பெரிதாக்கு", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "சிறிது குறைக்கவும்", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "பெரிதாக்கத்தை மீட்டமைக்கவும்", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "பகிர்", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "இன்று", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "நேற்று", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "முதல் பக்கம் மட்டும். முழு கோப்பைப் பதிவிறக்க பகிர் என்பதைப் பயன்படுத்தவும்.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_te.arb b/example/lib/src/l10n/chat/app_te.arb new file mode 100644 index 0000000..6938027 --- /dev/null +++ b/example/lib/src/l10n/chat/app_te.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "te", + "drawerTooltipNotifications": "నోటిఫికేషన్లు", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "సహాయం", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "మూసు", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "ఖాతా", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "ప్రొఫైల్", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "ఖాతా అమరికలు", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "మద్దతు కోసం దానం చేయండి", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "సబ్స్క్రిప్షన్", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "చాట్‌లు", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "చాట్ చరిత్ర", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "జోడించిన పత్రాలు", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "ఎలా ఉపయోగించాలి", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "వీഡിയോ ట్యుటోరియల్స్", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "చట్టపరమైన", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "మమ్మల్ని సంప్రదించండి", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "బగ్ నివేదిక", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "నిబంధనలు & షరతులు", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "గోప్యతా విధానం", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "అభిప్రాయం", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "అప్ రేట్ చేయండి", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "స్నేహితులతో పంచుకోండి", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "లాగ్ అవుట్", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "ఇతరులు వైద్య సేవలు పొందడానికి సహాయం చేయండి", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "యూజర్", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "ప్రీమియం ఫీచర్లు\nడాక్టరినా‌తో", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "పొందండి", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "మనతో చేరండి", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "యాప్ వెర్షన్:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "ఇటీవల చాట్లు", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "ప్రొఫైల్", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "ఇటీవల చాట్", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "అప్లికేషన్లు డౌన్‌లోడ్ చేయండి", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "సందేశాన్ని నమోదు చేయండి", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "ఫైల్ జోడించండి", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "డిక్ట్ చేయండి", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "ముగించు & లిప్యంతరించు", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "సందేశం పంపండి", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "సందేశాలను పొందడంలో విఫలమైంది", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "సందేశాలను పొందడంలో విఫలమయ్యాం. దయచేసి మళ్ళీ ప్రయత్నించండి.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "సందేశాలను తీసుకోండి", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "సందేశాలు అందుబాటులో లేవు. సంభాషణను ప్రారంభించడానికి ఒక సందేశం పంపండి.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "కనెక్టైనది", + "@chatListHasConnection": {}, + "chatListNoConnection": "కనెక్షన్ లేదు", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "శోధించు", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "ఇష్టమైనవి", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "డౌన్లోడ్", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF ముద్రించండి", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "మిత్రులతో పంచుకోండి", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "కొత్త చాట్", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "చాట్", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "చాట్ ఎంచుకోండి", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "డ్రాయర్ చూపించు", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "చాట్‌లు అందుబాటులో లేవు. దయచేసి రిఫ్రెష్ చేయండి లేదా కొత్త చాట్ సృష్టించండి.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "చాట్‌లను రిఫ్రెష్ చేయండి", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "కొత్త చాట్ సృష్టించు", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "పాఠ్యం కాపీ చేయి", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "టైపింగ్\nకొద్ది క్షణం", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "అప్‌డేటింగ్...\nమీ ఇంటర్నెట్ కనెక్షన్‌ను తనిఖీ చేయండి", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "సందేశం ఇప్పటికే ఈ క్షణమే ప్రాసెస్ చేయబడుతోంది.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "సందేశం చాలా పొడవుగా ఉంది.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "అటాచ్‌మెంట్ తొలగించు", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "సందేశాన్ని ప్రాసెస్ చేయడంలో విఫలమైంది", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDFకి ఎగుమతి చేయండి", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "ఫోటోలు", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "కెమెరా", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ఫైళ్ళు", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "ఫోటోలు మరియు ఫైల్స్", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "ఆశిస్తున్నాము, ఇది సహాయపడింది! ఈ వివరణ మీకు ఉపయోగపడుతుందా?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "అవును, అన్నీ బాగానే ఉన్నాయి!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "చాట్ సారాంశం సేకరించడంలో విఫలమైంది", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "చాట్ సారాంశం క్లిప్‌బోర్డ్కు కాపీ చేయబడింది", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "మొబైల్ యాప్‌లో Doctorina ని ప్రయత్నించండి!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "లో డౌన్లోడ్", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ఇప్పుడే పొందండి", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Store నుండి డౌన్లోడ్ చేయండి", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "గూగుల్ ప్లే నుండి పొందండి", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "సందేశం నివేదిక", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "మీరు ఈ సందేశాన్ని ఎందుకు నివేదిస్తున్నారు?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "ఐచికంగా: ఈ సందేశంలో ఏమి తప్పు ఉందో వివరించండి...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "ఇది మా AI ప్రతిస్పందనలను మెరుగుపరచడంలో సహాయపడుతుంది.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "రద్దు", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "రిపోర్ట్", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "మీ అభిప్రాయానికి ధన్యవాదాలు! నివేదిక సమర్పించబడింది.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "రిపోర్ట్ సమర్పించడంలో విఫలమైంది", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "క్లిప్‌బోర్డుకు కాపీ చేయబడింది", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "సందేశాన్ని కాపీ చేయడం విఫలమైంది", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "సందేశం నివేదిక", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "డాక్టర్ చాట్‌కు అప్‌లోడ్ చేయండి", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "చాట్‌లో చేర్చడానికి ఇక్కడ ఫైళ్లను డ్రాగ్ చేసి వదిలేయండి", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "మీరు ఒక సందేశానికి 15 ఫైళ్లను జోడించవచ్చు", + "@chatDropZoneText": {}, + "notificationBannerText": "మీ ఆరోగ్యం గురించి ముఖ్యమైనది వస్తే మీకు తెలియజేయాలా?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "అవును, నాకు తెలియజేయండి", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "తర్వాత కావచ్చు", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "మూసివేయి", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "సిస్టమ్ స్థాయిలో నోటిఫికేషన్లు అడ్డుకోబడ్డాయి. డాక్టోరినా యొక్క నోటిఫికేషన్లను ప్రారంభించడానికి ముందు వాటిని సిస్టమ్ సెట్టింగ్స్‌లో ప్రారంభించండి.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "సిస్టమ్ స్థాయిలో నోటిఫికేషన్లు అడ్డుకోబడ్డాయి. డాక్టోరినా యొక్క నోటిఫికేషన్లను ప్రారంభించడానికి ముందు బ్రౌజర్ సెట్టింగ్స్‌లో వాటిని ప్రారంభించండి.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "మీ సంప్రదింపుల గురించి అప్డేట్‌లో ఉండండి", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "డాక్టర్‌నా మీ ఆరోగ్యం గురించి కొత్త సమాచారం లేదా నవీకరణలు అందుబాటులో ఉన్నప్పుడు మీకు తెలియజేయవచ్చు.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "నోటిఫికేషన్లు ప్రారంభించండి", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "తర్వాత కావచ్చు", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "ముందుకు సాగడం ద్వారా మీరు వ్యక్తిగత డేటా ప్రక్రియ, cookies వినియోగం, నిబంధనలు మరియు షరతులు అంగీకరించి,

గోప్యతా విధానం

ని ధృవీకరిస్తున్నారు. అదనంగా, మీ కన్సల్టేషన్ అనేది లైసెన్స్ పొందిన వైద్య నిపుణుడి కాదని మీరు అంగీకరిస్తున్నారు", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "తిరస్కరించు", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "ముందుగా ఈ చాట్‌ను సేవ్ చేయండి?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "కొత్త సలహా ప్రారంభించే ముందు ఈ సలహాను సేవ్ చేసుకోవడానికి ఉచితంగా సైన్ అప్ చేయండి", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "సేవ్ చేయకుండానే ప్రారంభించు", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "సైన్ అప్ చేయండి", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "సంభాషణను కొనసాగించడానికి, పై నుండి ఒక ఎంపికను ఎంచుకోండి", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "మూసివేయి", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "అటాచ్‌మెంట్‌ను తొలగించండి", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "డ్రాప్ జోన్ నుండి ఫైళ్లను ఎంచుకోవడంలో విఫలమైంది", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "దయచేసి సందేశాన్ని నమోదు చేయండి లేదా ఫైల్‌ను జోడించండి", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "అప్‌లోడ్లు పూర్తయ్యే వరకు వేచి ఉండండి", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "సందేశం ప్రాసెస్ అవుతోంది", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "సందేశం చాలా పొడవుగా ఉంది", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "సందేశం ప్రస్తుతం ప్రాసెస్ అవుతోంది.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "కనెక్షన్ శాశ్వతంగా మూసివేయబడింది", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "సర్వర్‌కు కనెక్షన్ లేదు", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "ఫైళ్ళను ఎంచుకోవడంలో విఫలమయ్యింది", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "చిత్రాలను ఎంచుకోవడంలో విఫలమైంది", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "కామరా నుండి ఫోటోను పట్టుకోవడంలో విఫలమైంది", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "మీరు ఒకేసారి {count} ఫైల్స్ జోడించవచ్చు.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "గుర్తించిన పాఠాన్ని క్లియర్ చేయండి", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "సందేశం చాలా పొడవుగా ఉంది.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "అప్లోడ్లు పూర్తయ్యే వరకు వేచి ఉండండి.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "The {kind} \"{name}\" is already attached and was not added again.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" is a duplicate of {exist} and was not added.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "The {kind} \"{name}\" was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "ఫైల్ \"{name}\" ఖాళీగా ఉంది.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "ఫైల్ ఖాళీగా ఉంది.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "ఫైల్ \"{name}\" అనుమతించిన గరిష్ట పరిమాణాన్ని మించిపోయింది.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ఫైల్ అనుమతించబడిన గరిష్ట పరిమాణాన్ని మించిపోయింది.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "ఫైల్ \"{name}\" ప్రాసెస్ చేయడంలో లోపం జరిగింది.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "ఫైల్ ప్రాసెస్ చేయడంలో లోపం జరిగింది.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "ఫైల్ \"{name}\" జోడించబడలేదు ఎందుకంటే జోడింపుల గరిష్ట సంఖ్య మించిపోయింది.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ఒకటి లేదా ఎక్కువ ఫైళ్లు జోడించబడలేదు, ఎందుకంటే అనుబంధాల గరిష్ట సంఖ్య మించిపోయింది.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "ఒక ఫైల్ జోడించబడలేదు ఎందుకంటే జోడింపుల గరిష్ట సంఖ్య మించిపోయింది.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "ఒక పేరుతో లేని ఫైల్ జోడించడానికి ప్రయత్నించబడింది.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "అనుమతించని విస్తరణతో కూడిన ఫైల్ జోడించడానికి ప్రయత్నించబడింది: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "అనుమతించని విస్తరణతో కూడిన ఫైల్ జోడించడానికి ప్రయత్నించబడింది.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "ఫైల్‌ను జోడించడం సాధ్యం కాదు.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "ఫైల్ \"{name}\" చెల్లదు మరియు జోడించబడదు.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ఒక ఫైల్ చెల్లదు మరియు జోడించబడదు.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "ఐటమ్ \"{name}\" చెల్లుబాటు అయ్యే ఫైల్ కాదు.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "ఒక అంశం చెల్లుబాటు అయ్యే ఫైల్ కాదు.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "ఒక అంశాన్ని ప్రాసెస్ చేయడంలో లోపం జరిగింది", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "ఒకటి(లు)ని ప్రాసెస్ చేయడంలో లోపం జరిగింది.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "ఫైళ్ళు జోడించబడలేదు.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "కొన్ని ఫైళ్లు ఇప్పటికే ఉన్న ఫైళ్లతో డూప్లికేట్ల కారణంగా దాటవేయబడ్డాయి.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "ఒక తెలియని లోపం జరిగింది.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "ఫైళ్ళను జోడించేటప్పుడు ఈ క్రింది లోపాలు జరిగాయి:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "ఫైల్‌ను పంచడం విఫలమైంది: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "మూసివేయి", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "షేర్", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "ఫైల్ లోడ్ అవుతోంది...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "ఫైల్ లోడ్ చేయడంలో విఫలమైంది", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "అజ్ఞాత లోపం జరిగింది", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "మళ్లీ ప్రయత్నించండి", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "మద్దతు లేని ఫైల్ రకం", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "{contentType} ను ప్రివ్యూ చేయలేరు", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "ఫైల్ పంచుకోండి", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "చిత్రాన్ని ప్రదర్శించడంలో విఫలమైంది", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "జూమ్ రీసెట్ చేయండి", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF లోడ్ చేయడంలో విఫలమైంది", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "పాఠ్య విషయాన్ని డీకోడ్ చేయడంలో విఫలమైంది.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "మరియు {count} మరిన్ని లోపాలు.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "ఫైల్ తప్పుగా ఉంది", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "అనుమతి అవసరం", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "కొనసాగడం ద్వారా, మీరు మా నిబంధనలు, గోప్యతా విధానం, మరియు కుకీలు ఉపయోగం కు అంగీకరిస్తున్నారు మరియు ఈ సలహా AI ద్వారా అందించబడుతుందని, లైసెన్స్ పొందిన వైద్య నిపుణుడి ద్వారా కాదు అని నిర్ధారిస్తున్నారు.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "మూసివేయి", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "తొలగించు", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "చాట్ తొలగించు", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "చాట్ “{title}” విజయవంతంగా తొలగించబడింది.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "చాట్‌ను తొలగించాలా?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "మీ లక్షణాలు, నిర్ధారణ సారాంశం మరియు ఈ చాట్‌లోని సిఫార్సులు తొలగించబడతాయి.\nఈ చర్యను తిరిగి తీసుకోలేరు.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "జూమ్ ఇన్", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "జూమ్ అవుట్", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "జూమ్ రీసెట్ చేయండి", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "షేర్", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "ఈ రోజు", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "నిన్న", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "మొదటి పేజీ మాత్రమే. పూర్తి ఫైల్ డౌన్‌లోడ్ చేయడానికి షేర్‌ను ఉపయోగించండి.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_th.arb b/example/lib/src/l10n/chat/app_th.arb new file mode 100644 index 0000000..3e504b2 --- /dev/null +++ b/example/lib/src/l10n/chat/app_th.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "th", + "drawerTooltipNotifications": "การแจ้งเตือน", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "ช่วย", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "ปิด", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "บัญชี", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "โปรไฟล์", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "การตั้งค่าบัญชี", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "บริจาคเพื่อสนับสนุน", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "สมัครสมาชิก", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "แชท", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "ประวัติการสนทนา", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "เอกสารที่แนบมา", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "วิธีใช้งาน", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "วิดีโอสอน", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "กฎหมาย", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "ติดต่อเรา", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "รายงานข้อผิดพลาด", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "ข้อกำหนดและเงื่อนไข", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "นโยบายความเป็นส่วนตัว", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "ข้อเสนอแนะ", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "ให้คะแนนแอป", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "แชร์กับเพื่อน", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "ออกจากระบบ", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "ช่วยให้คนอื่นได้รับการดูแลทางการแพทย์", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "ผู้ใช้", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "ฟีเจอร์พรีเมียม\nกับ Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "รับ", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "เข้าร่วมกับเรา", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "เวอร์ชันแอป:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "การสนทนาล่าสุด", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "โปรไฟล์", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "การสนทนาล่าสุด", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "ดาวน์โหลดแอป", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "พิมพ์ข้อความ", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "แนบไฟล์", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "พิมพ์ด้วยเสียง", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "เสร็จ & ถอดข้อความ", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "ส่งข้อความ", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "ไม่สามารถดึงข้อความได้", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "ไม่สามารถดึงข้อความได้ กรุณาลองใหม่อีกครั้ง.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "ดึงข้อความ", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "ไม่มีข้อความ. กรุณาส่งข้อความเพื่อเริ่มการสนทนา", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "เชื่อมต่อแล้ว", + "@chatListHasConnection": {}, + "chatListNoConnection": "ไม่มีการเชื่อมต่อ", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "ค้นหา", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "รายการโปรด", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ดาวน์โหลด", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "พิมพ์ PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "แบ่งปันกับเพื่อน", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "แชทใหม่", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "แชท", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "เลือกแชท", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "แสดงแผงเลื่อน", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "ไม่มีแชท กรุณารีเฟรชหรือสร้างแชทใหม่.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "รีเฟรชแชท", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "สร้างการสนทนาใหม่", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "คัดลอกข้อความ", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "กำลังพิมพ์\nโปรดรอซักครู่", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "กำลังอัปเดต...\nกรุณาตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "ข้อความกำลังถูกดำเนินการอยู่แล้วในขณะนี้.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "ข้อความยาวเกินไป.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "ลบไฟล์แนบ", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "ไม่สามารถประมวลผลข้อความได้", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "ส่งออกเป็น PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "รูปภาพ", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "กล้องถ่ายรูป", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "ไฟล์", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "รูปภาพและไฟล์", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "หวังว่านี่จะช่วยได้! คำอธิบายนี้เป็นประโยชน์สำหรับคุณหรือไม่?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "ใช่, ทุกอย่างเรียบร้อย!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "ไม่สามารถดึงสรุปบทสนทนาได้", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "สรุปการสนทนาถูกคัดลอกไปที่คลิปบอร์ด", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "ลองใช้ Doctorina ในแอปมือถือ!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "ดาวน์โหลดบน", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ดาวน์โหลดได้ที่", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "ดาวน์โหลดบน App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "รับที่ Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "รายงานข้อความ", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "ทำไมคุณถึงรายงานข้อความนี้?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "เลือกได้: อธิบายว่ามีอะไรผิดปกติกับข้อความนี้...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "สิ่งนี้จะช่วยให้เราปรับปรุงการตอบสนองของ AI ของเรา", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "ยกเลิก", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "รายงาน", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "ขอบคุณสำหรับข้อเสนอแนะของคุณ! รายงานได้ถูกส่งแล้ว", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "ไม่สามารถส่งรายงานได้", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "คัดลอกไปยังคลิปบอร์ด", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "ไม่สามารถคัดลอกข้อความได้", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "รายงานข้อความ", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "อัปโหลดไปยังแชทของ Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "ลากและวางไฟล์ที่นี่เพื่อเพิ่มในแชท", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "คุณสามารถเพิ่มไฟล์ได้สูงสุด 15 ไฟล์ในข้อความเดียว", + "@chatDropZoneText": {}, + "notificationBannerText": "คุณต้องการให้ฉันแจ้งเตือนคุณหากมีสิ่งสำคัญเกี่ยวกับสุขภาพของคุณหรือไม่?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "ใช่ แจ้งเตือนฉัน", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "ทีหลัง", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "ปิด", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "การแจ้งเตือนถูกบล็อกที่ระดับระบบ เปิดใช้งานในการตั้งค่าระบบก่อนที่จะเปิดใช้งานการแจ้งเตือนของ Doctorina", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "การแจ้งเตือนถูกบล็อกที่ระดับระบบ เปิดใช้งานในการตั้งค่าเบราว์เซอร์ก่อนเปิดใช้งานการแจ้งเตือนของ Doctorina", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "ติดตามข้อมูลเกี่ยวกับการปรึกษาของคุณ", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina สามารถแจ้งเตือนคุณเมื่อมีข้อมูลเชิงลึกหรือการอัปเดตเกี่ยวกับสุขภาพของคุณ", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "เปิดการแจ้งเตือน", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "ทีหลัง", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "การดำเนินการต่อหมายความว่าคุณยินยอมให้มีการประมวลผลข้อมูลส่วนบุคคล การใช้ cookies ยินยอมต่อ ข้อกำหนดและเงื่อนไข และยืนยัน

นโยบายความเป็นส่วนตัว

นอกจากนี้คุณยืนยันว่าการปรึกษาของคุณเป็นการปรึกษากับ AI ไม่ใช่ผู้เชี่ยวชาญทางการแพทย์ที่มีใบอนุญาต", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "ปิด", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "บันทึกแชทนี้ก่อนไหม?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "สมัครสมาชิกฟรีเพื่อบันทึกการปรึกษานี้ก่อนเริ่มการปรึกษาใหม่", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "เริ่มโดยไม่บันทึก", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "สมัครสมาชิก", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "เพื่อดำเนินการสนทนาต่อ กรุณาเลือกตัวเลือกด้านบน", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "ปิด", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "ลบไฟล์แนบ", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ไม่สามารถเลือกไฟล์จากโซนวางได้", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "กรุณาใส่ข้อความหรือแนบไฟล์", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "กรุณารอให้การอัปโหลดเสร็จสิ้น", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "กำลังประมวลผลข้อความ", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "ข้อความยาวเกินไป", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "ข้อความกำลังถูกประมวลผลอยู่ในขณะนี้", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "การเชื่อมต่อถูกปิดอย่างถาวร", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "ไม่มีการเชื่อมต่อกับเซิร์ฟเวอร์", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "ไม่สามารถเลือกไฟล์ได้", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "ไม่สามารถเลือกภาพได้", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "ไม่สามารถถ่ายภาพจากกล้องได้", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "คุณสามารถแนบไฟล์ได้สูงสุด {count} ไฟล์ในครั้งเดียว", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "ลบข้อความที่รู้จัก", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "ข้อความยาวเกินไป", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "กรุณารอให้การอัปโหลดเสร็จสิ้น", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "ไฟล์ {kind} \"{name}\" ถูกแนบไว้แล้วและไม่ได้ถูกเพิ่มอีกครั้ง", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "ไฟล์ {kind} \"{name}\" เป็นไฟล์ซ้ำกับ {exist} และไม่ได้ถูกเพิ่ม.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "ไฟล์ {kind} \"{name}\" ไม่ถูกเพิ่มเพราะจำนวนไฟล์แนบสูงสุดถูกเกินแล้ว", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "ไฟล์ \"{name}\" ว่างเปล่า", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "ไฟล์ว่าง", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "ไฟล์ \"{name}\" เกินขนาดสูงสุดที่อนุญาต", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "ไฟล์เกินขนาดสูงสุดที่อนุญาต", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "เกิดข้อผิดพลาดขณะประมวลผลไฟล์ \"{name}\"", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "เกิดข้อผิดพลาดขณะประมวลผลไฟล์", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "ไฟล์ \"{name}\" ไม่ถูกเพิ่มเพราะจำนวนไฟล์แนบสูงสุดถูกเกินแล้ว", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ไฟล์ไม่ได้ถูกเพิ่มเพราะจำนวนไฟล์แนบสูงสุดถูกเกินแล้ว", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "ไม่สามารถเพิ่มไฟล์ได้เนื่องจากจำนวนไฟล์แนบสูงสุดถูกเกิน", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "มีการพยายามเพิ่มไฟล์ที่ไม่มีชื่อ", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "มีการพยายามเพิ่มไฟล์ที่มีนามสกุลที่ไม่รองรับ: \"{name}\"", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "มีการพยายามเพิ่มไฟล์ที่มีนามสกุลที่ไม่รองรับ", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "ไม่สามารถเพิ่มไฟล์ได้", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "ไฟล์ \"{name}\" ไม่ถูกต้องและไม่สามารถเพิ่มได้", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ไฟล์ไม่ถูกต้องและไม่สามารถเพิ่มได้", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "รายการ \"{name}\" ไม่ใช่ไฟล์ที่ถูกต้อง", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "รายการไม่ใช่ไฟล์ที่ถูกต้อง", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "เกิดข้อผิดพลาดขณะประมวลผลรายการ", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "เกิดข้อผิดพลาดขณะประมวลผลรายการ", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "ไม่มีไฟล์ถูกเพิ่ม.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "บางไฟล์ถูกข้ามเนื่องจากซ้ำกับไฟล์ที่มีอยู่แล้ว", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "เกิดข้อผิดพลาดดังต่อไปนี้ขณะแนบไฟล์:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "ไม่สามารถแชร์ไฟล์: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "ปิด", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "แชร์", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "กำลังโหลดไฟล์...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "ไม่สามารถโหลดไฟล์", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "เกิดข้อผิดพลาดที่ไม่รู้จัก", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "ลองอีกครั้ง", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "ประเภทไฟล์ที่ไม่รองรับ", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "ไม่สามารถแสดงตัวอย่าง {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "แชร์ไฟล์", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "ไม่สามารถแสดงภาพได้", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "รีเซ็ตการซูม", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "ไม่สามารถโหลด PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "ไม่สามารถถอดรหัสเนื้อหาข้อความได้", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "และมีข้อผิดพลาดอีก {count} รายการ.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "ไฟล์มีรูปแบบไม่ถูกต้อง", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "ต้องการความยินยอม", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "โดยการดำเนินการต่อ คุณยอมรับ ข้อกำหนด นโยบายความเป็นส่วนตัว และ การใช้คุกกี้ และยืนยันว่าการปรึกษานี้จัดทำโดย AI ไม่ใช่ผู้เชี่ยวชาญทางการแพทย์ที่มีใบอนุญาต", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "ปิด", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "ลบ", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "ลบแชท", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "แชท \"{title}\" ถูกลบเรียบร้อยแล้ว", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "ลบแชท?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "อาการของคุณ, สรุปการวินิจฉัย, และคำแนะนำใดๆ ในการสนทนานี้จะถูกลบออก\nการกระทำนี้ไม่สามารถย้อนกลับได้", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "ขยาย", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "ซูมออก", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "รีเซ็ตการซูม", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "แชร์", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "วันนี้", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "เมื่อวาน", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "หน้าแรกเท่านั้น ใช้แชร์เพื่อดาวน์โหลดไฟล์ทั้งหมด", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_tl.arb b/example/lib/src/l10n/chat/app_tl.arb new file mode 100644 index 0000000..1642a89 --- /dev/null +++ b/example/lib/src/l10n/chat/app_tl.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "tl", + "drawerTooltipNotifications": "Mga Abiso", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Tulong", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Isara", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Account", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profile", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Mga Setting ng Account", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Mag-donate upang Suportahan", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Subscription", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Mga Usapan", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Kasaysayan ng Chat", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Mga Nakalakip na Dokumento", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Paano Gamitin", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Mga Tutorial na Video", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Legal", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Makipag-ugnayan sa Amin", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Ulat ng Bug", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Mga Tuntunin at Kundisyon", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Patakaran sa Privacy", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Feedback", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "I-rate ang App", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Ibahagi sa mga Kaibigan", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Mag-Log Out", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Tulungan ang iba na makatanggap ng pangangalagang medikal", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "User", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Mga Premium na Tampok
kasama si Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Kumuha", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Sumali sa Amin", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Bersyon ng app:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Mga Kamakailang Usapan", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profile", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Kamakailang chat", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "I-download ang mga App", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Ilagay ang mensahe", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Mag-attach ng file", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Magdikta", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Tapusin at Isalin", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Magpadala ng mensahe", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Nabigong kunin ang mga mensahe", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Nabigong kunin ang mga mensahe. Pakisubukang muli.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Kunin ang mga mensahe", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Walang magagamit na mensahe. Mangyaring magpadala ng mensahe upang simulan ang pag-uusap.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Konektado", + "@chatListHasConnection": {}, + "chatListNoConnection": "Walang koneksyon", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Maghanap", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Paborito", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "I-download", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "I-print ang PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Ibahagi sa Mga Kaibigan", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Bagong chat", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Pumili ng Chat", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Ipakita ang drawer", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Walang magagamit na chat. Mangyaring i-refresh o lumikha ng bagong chat.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "I-refresh ang mga chat", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Lumikha ng bagong chat", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Kopyahin ang teksto", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Nagsusulat", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Nag-uupdate...\nPakisuri ang iyong koneksyon sa internet", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Ang mensahe ay kasalukuyang pinoproseso.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Masyadong mahaba ang mensahe.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Tanggalin ang attachment", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Nabigong iproseso ang mensahe", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "I-export sa PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Mga Larawan", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Mga File", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Mga Larawan at Mga File", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Sana makatulong ito! Nakatulong ba sa iyo ang paliwanag na ito?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Oo, ayos lang!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Nabigong kunin ang buod ng chat", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Naka-kopya ang buod ng chat sa clipboard", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Subukan ang Doctorina sa mobile app!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "I-download sa", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "KUNIN MO SA", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "I-download sa App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Kunin ito sa Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Iulat ang Mensahe", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Bakit mo ini-ulat ang mensaheng ito?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Opsyonal: Ilarawan kung ano ang mali sa mensaheng ito...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Makakatulong ito sa amin na mapabuti ang aming mga sagot ng AI.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Kanselahin", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Ulatin", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Salamat sa iyong feedback! Naipasa na ang ulat.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Nabigong isumite ang ulat", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Nakopya sa clipboard", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Nabigong kopyahin ang mensahe", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Iulat ang Mensahe", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "I-upload sa Doctorina chat", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "I-drag at i-drop ang mga file dito upang idagdag sa chat", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Maaari kang magdagdag ng hanggang 15 na mga file sa isang mensahe", + "@chatDropZoneText": {}, + "notificationBannerText": "Gusto mo bang ipaalam ko sa iyo kung may mahalagang mangyari tungkol sa iyong kalusugan?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Oo, ipaalam mo sa akin", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Baka mamaya", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Isara", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Naka-block ang mga notification sa antas ng sistema. I-enable ang mga ito sa mga setting ng sistema bago i-activate ang mga notification ng Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Naka-block ang mga notification sa antas ng sistema. I-enable ang mga ito sa mga setting ng browser bago i-activate ang mga notification ng Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Manatiling updated tungkol sa iyong konsultasyon", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Maaaring ipaalam sa iyo ng Doctorina kapag may mga bagong pananaw o update tungkol sa iyong kalusugan.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "I-enable ang mga notification", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Baka mamaya", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Sa pagpapatuloy, sumasang-ayon ka sa pagproseso ng personal na data, paggamit ng cookies, pagsang-ayon sa terms and conditions, at pagtanggap sa

privacy policy

. Gayundin, kinikilala mo na ang iyong konsultasyon ay sa isang AI at hindi sa isang lisensyadong medikal na propesyonal", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Isara", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "I-save muna ang chat na ito?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Mag-sign up nang libre upang i-save ang konsultasyong ito bago magsimula ng bago", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Simulan nang hindi sine-save", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Mag-sign up", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Upang ipagpatuloy ang pag-uusap, pumili ng isang opsyon sa itaas", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Isara", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Tanggalin ang attachment", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Nabigo ang pumili ng mga file mula sa drop zone", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Mangyaring mag-enter ng mensahe o mag-attach ng file", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Mangyaring maghintay na makumpleto ang mga pag-upload", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Ang mensahe ay pinoproseso", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Masyadong mahaba ang mensahe", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Ang mensahe ay kasalukuyang pinoproseso.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Ang koneksyon ay permanenteng sarado", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Walang koneksyon sa server", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Nabigong pumili ng mga file", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Nabigong pumili ng mga larawan", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Nabigong kunin ang larawan mula sa kamera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Maaari kang mag-attach ng hanggang {count} na mga file nang sabay.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "I-clear ang kinikilalang teksto", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Masyadong mahaba ang mensahe.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Mangyaring maghintay para sa mga pag-upload na makumpleto.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Ang {kind} \"{name}\" ay nakakabit na at hindi naidagdag muli.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Ang {kind} \"{name}\" ay duplicate ng {exist} at hindi naidagdag.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Ang {kind} \"{name}\" ay hindi naidagdag dahil lumagpas na sa maximum na bilang ng mga attachment.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Ang file na \"{name}\" ay walang laman.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Walang laman ang file.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Ang file na \"{name}\" ay lumampas sa pinapayagang maximum na laki.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Ang file ay lumampas sa pinapayagang maximum na laki.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Nagkaroon ng error habang pinoproseso ang file na \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Nagkaroon ng error habang pinoproseso ang file.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Ang file na \"{name}\" ay hindi naidagdag dahil lumampas na sa maximum na bilang ng mga attachment.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Isang file(s) ang hindi naidagdag dahil lumagpas na sa maximum na bilang ng mga attachment.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Isang file ang hindi naidagdag dahil lumagpas na sa maximum na bilang ng mga attachment.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Isang file na walang pangalan ang sinubukang idagdag.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Isang file na may hindi suportadong extension ang sinubukang idagdag: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Isang file na may hindi suportadong extension ang sinubukang idagdag.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Imposibleng magdagdag ng file.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Ang file na \"{name}\" ay hindi wasto at hindi maidaragdag.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Hindi ang isang file at hindi maidaragdag.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Ang item na \"{name}\" ay hindi isang wastong file.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Ang item ay hindi isang wastong file.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Nagkaroon ng error habang pinoproseso ang isang item.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Nagkaroon ng error habang pinoproseso ang item(s).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Walang mga file na idinagdag.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Ilang mga file ang hindi isinama dahil sa mga duplicate sa mga umiiral na file.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Isang hindi kilalang error ang nangyari.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Ang mga sumusunod na error ay nangyari habang nag-aattach ng mga file:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Nabigong ibahagi ang file: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Isara", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Ibahagi", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Naglo-load ng file...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Nabigong i-load ang file", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Hindi hindi error na naganap", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Subukan muli", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Hindi na suportadong uri ng file", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Hindi hindi {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Ibahagi ang File", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Nabigong ipakita ang larawan", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "I-reset ang zoom", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Nabigong i-load ang PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Nabigong i-decode ang nilalaman ng teksto.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "At {count} pang ibang mga error.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Ang file ay may depekto", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Kailangan ng Pahintulot", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Sa pagpapatuloy, sumasang-ayon ka sa aming Mga Tuntunin, Patakaran sa Privacy, at paggamit ng cookies, at kinukumpirma na ang konsultasyong ito ay ibinibigay ng AI, hindi ng isang lisensyadong propesyonal sa medisina.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Isara", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Tanggalin", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Tanggalin ang chat", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Chat “{title}” ay matagumpay na na-delete.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Tanggalin ang chat?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Ang iyong mga sintomas, buod ng diagnosis, at anumang rekomendasyon sa chat na ito ay aalisin.\nAng aksyong ito ay hindi maibabalik.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Palakihin", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Mag-zoom out", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "I-reset ang Zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Ibahagi", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Ngayon", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Kahapon", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Unang pahina lamang. Gamitin ang Ibahagi upang i-download ang buong file.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_tr.arb b/example/lib/src/l10n/chat/app_tr.arb new file mode 100644 index 0000000..db8875a --- /dev/null +++ b/example/lib/src/l10n/chat/app_tr.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "tr", + "drawerTooltipNotifications": "Bildirimler", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Yardım", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Kapat", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Hesap", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Hesap Ayarları", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Destek için bağış yap", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Abonelik", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Sohbetler", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Sohbet Geçmişi", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Ekli Belgeler", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Nasıl Kullanılır", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Video Eğitimleri", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Hukuki", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Bize Ulaşın", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Hata Bildirimi", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Şartlar ve Koşullar", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Gizlilik Politikası", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Geri bildirim", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Uygulamayı Değerlendir", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Arkadaşlarınla paylaş", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Oturumu Kapat", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Başkalarının tıbbi bakım almasına yardımcı olun", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Kullanıcı", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Premium Özellikler\nDoctorina ile", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Al", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Bize katıl", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Uygulama sürümü:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Son Sohbetler", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Son sohbet", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Uygulamaları İndir", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Mesaj girin", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Dosya ekle", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dikte", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Bitir & Yazıya Dök", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Mesaj gönder", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Mesajlar alınamadı", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Mesajlar alınamadı. Lütfen tekrar deneyin.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Mesajları getir", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Mesaj yok. Sohbete başlamak için lütfen bir mesaj gönderin.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Bağlandı", + "@chatListHasConnection": {}, + "chatListNoConnection": "Bağlantı yok", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Ara", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Favoriler", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "İndir", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF Yazdır", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Arkadaşlarla Paylaş", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Yeni sohbet", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Sohbet", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Sohbeti Seç", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Çekmeceyi göster", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Sohbet mevcut değil. Lütfen yenileyin veya yeni bir sohbet oluşturun.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Sohbetleri yenile", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Yeni sohbet oluştur", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Metni kopyala", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Yazıyor\nBiraz bekleyin", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Güncelleniyor...\nLütfen internet bağlantınızı kontrol edin", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Mesaj şu anda zaten işleniyor.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Mesaj çok uzun.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Eki kaldır", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Mesaj işlenemedi", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDF'e Aktar", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Fotoğraflar", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Dosyalar", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotoğraflar ve Dosyalar", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Umarım yardımcı olmuştur! Bu açıklama faydalı oldu mu?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Evet, her şey yolunda!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Sohbet özetini alınamadı", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Sohbet özeti panoya kopyalandı", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Mobil uygulamada Doctorina'yı deneyin!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "İndir", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "GET IT ON", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Store'dan indir", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Google Play'den Al", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Mesaj Raporu", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Bu mesajı neden bildiriyorsunuz?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Opsiyonel: Bu mesajda neyin yanlış olduğunu tanımlayın...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Bu, AI yanıtlarımızı geliştirmemize yardımcı olacak.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "İptal", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Rapor", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Geri bildiriminiz için teşekkürler! Rapor gönderildi.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Rapor gönderimi başarısız oldu", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Pano'ya kopyalandı", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Mesaj kopyalanamadı", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Mesaj Raporu", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Doktorina sohbetine yükle", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Sohbete eklemek için dosyaları buraya sürükleyip bırakın", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Bir mesaja en fazla 15 dosya ekleyebilirsiniz", + "@chatDropZoneText": {}, + "notificationBannerText": "Sağlığınızla ilgili önemli bir şey olursa sizi bilgilendirmemi ister misiniz?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Evet, bana bildirin", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Belki daha sonra", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Kapat", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Bildirimler sistem düzeyinde engellendi. Doctorina'nın bildirimlerini etkinleştirmeden önce sistem ayarlarında bunları etkinleştirin.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Bildirimler sistem düzeyinde engellendi. Doctorina'nın bildirimlerini etkinleştirmeden önce tarayıcı ayarlarında bunları etkinleştirin.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Danışmanlığınız hakkında güncel kalın", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina, sağlığınızla ilgili yeni bilgiler veya güncellemeler mevcut olduğunda sizi bilgilendirebilir.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Bildirimleri etkinleştir", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Belki daha sonra", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Devam ederek, kişisel verilerinizin işlenmesine, cookies kullanımına, şartlar ve koşullar'a onay verdiğinizi ve

gizlilik politikasını

kabul ettiğinizi, ayrıca danışmanlığınızın lisanslı bir tıbbi profesyonelden ziyade bir AI ile yapıldığını kabul ediyorsunuz", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Kapat", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Önce bu sohbeti kaydet?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Yeni bir görüşmeye başlamadan önce bu görüşmeyi kaydetmek için ücretsiz kaydolun", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Kaydetmeden başla", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Kaydol", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Sohbeti devam ettirmek için yukarıdan bir seçenek seçin", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Kapat", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Eki kaldır", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Bırakma alanından dosyaları seçerken hata oluştu", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Lütfen bir mesaj girin veya bir dosya ekleyin", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Yüklemelerin tamamlanmasını bekleyin", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Mesaj işleniyor", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Mesaj çok uzun", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Mesaj şu anda işleniyor.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Bağlantı kalıcı olarak kapatıldı", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Sunucuya bağlantı yok", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Dosyaları seçmede başarısız oldu", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Görüntüleri seçme işlemi başarısız oldu", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Kameradan fotoğraf çekme başarısız oldu", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Bir seferde en fazla {count} dosya ekleyebilirsiniz.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Tanımlanan metni temizle", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Mesaj çok uzun.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Yüklemelerin tamamlanmasını bekleyin.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "The {kind} \"{name}\" is already attached and was not added again.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" is a duplicate of {exist} and was not added.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "The {kind} \"{name}\" was not added because the maximum number of attachments has been exceeded.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "\"{name}\" dosyası boş.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Dosya boş.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "\"{name}\" dosyası izin verilen maksimum boyutu aşıyor.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Dosya izin verilen maksimum boyutu aşıyor.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "\"{name}\" dosyasını işlerken bir hata oluştu.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Dosya işlenirken bir hata oluştu.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "\"{name}\" dosyası, eklerin maksimum sayısının aşıldığı için eklenmedi.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Bir veya daha fazla dosya eklenmedi çünkü eklerin maksimum sayısı aşıldı.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Bir dosya eklenmedi çünkü eklerin maksimum sayısı aşıldı.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "İsmi olmayan bir dosya eklenmeye çalışıldı.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Desteklenmeyen bir uzantıya sahip bir dosya eklenmeye çalışıldı: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Desteklenmeyen bir uzantıya sahip bir dosya eklenmeye çalışıldı.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Bir dosya eklemek mümkün değil.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "\"{name}\" dosyası geçersiz ve eklenemez.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Bir dosya geçersiz ve eklenemez.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Öğe \"{name}\" geçerli bir dosya değil.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Bir öğe geçerli bir dosya değil.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Bir öğeyi işlerken bir hata oluştu", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Bir öğeyi(leri) işlerken bir hata oluştu.", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Hiç dosya eklenmedi.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Bazı dosyalar mevcut dosyalarla çakıştığı için atlandı.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Bilinmeyen bir hata oluştu.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Dosyalar eklenirken aşağıdaki hatalar oluştu:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Dosya paylaşımı başarısız oldu: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Kapat", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Paylaş", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Dosya yükleniyor...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Dosya yüklenemedi", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Bilinmeyen bir hata oluştu", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Tekrar dene", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Desteklenmeyen dosya türü", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "{contentType} önizlenemiyor", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Dosyayı Paylaş", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Resim görüntülenemedi", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Zoom'u sıfırla", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF yüklenemedi", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Metin içeriğini çözümlemede başarısız oldu.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Ve {count} daha fazla hata.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Dosya bozuk", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Onay Gerekli", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Devam ederek, Şartlarımız, Gizlilik Politikasını ve çerez kullanımını kabul ediyorsunuz ve bu danışmanlığın bir AI tarafından, lisanslı bir tıp uzmanı tarafından değil, sağlandığını onaylıyorsunuz.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Kapat", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Sil", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Sohbeti sil", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "“{title}” sohbet başarıyla silindi.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Sohbeti silmek istiyor musunuz?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Bu sohbetteki semptomlarınız, tanı özetiniz ve önerileriniz silinecek.\nBu işlem geri alınamaz.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Yakınlaştır", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Uzaklaştır", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Zoom'u Sıfırla", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Paylaş", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Bugün", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Dün", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Sadece ilk sayfa. Tam dosyayı indirmek için Paylaş'ı kullanın.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_uk.arb b/example/lib/src/l10n/chat/app_uk.arb new file mode 100644 index 0000000..61fa5d5 --- /dev/null +++ b/example/lib/src/l10n/chat/app_uk.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "uk", + "drawerTooltipNotifications": "Сповіщення", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Допомога", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Закрити", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Обліковий запис", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Профіль", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Налаштування акаунта", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Пожертвуйте на підтримку", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Підписка", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Чати", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Історія чатів", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Прикріплені документи", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Як користуватися", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Відеоуроки", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Правова", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Зв’язатися з нами", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Звіт про помилку", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Умови та положення", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Політика конфіденційності", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Зворотній зв'язок", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Оцінити додаток", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Поділитися з друзями", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Вийти", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Допоможіть іншим отримати медичну допомогу", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Користувач", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Преміум функції\nз Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Отримати", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Приєднуйтесь до нас", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Версія програми:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Недавні чати", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Профіль", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Останній чат", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Завантажити додатки", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Введіть повідомлення", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Прикріпити файл", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Диктувати", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Завершити та транскрибувати", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Надіслати повідомлення", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Не вдалося отримати повідомлення", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Не вдалося отримати повідомлення. Будь ласка, спробуйте ще раз.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Отримати повідомлення", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Немає доступних повідомлень. Будь ласка, надішліть повідомлення, щоб розпочати розмову.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Підключено", + "@chatListHasConnection": {}, + "chatListNoConnection": "Немає з'єднання", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Пошук", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Обране", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Завантажити", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Друк PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Поділитися з друзями", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Новий чат", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Чат", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Вибрати чат", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Показати панель", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Немає доступних чатів. Будь ласка, оновіть або створіть новий чат.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Оновити чати", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Створити новий чат", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Копіювати текст", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Набираю", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Оновлення...\nБудь ласка, перевірте ваше інтернет-з'єднання", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Повідомлення вже обробляється зараз.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Повідомлення занадто довге.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Видалити вкладення", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Не вдалося обробити повідомлення", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Експорт в PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Фотографії", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Камера", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Файли", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Фотографії та файли", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Сподіваюся, це допомогло! Чи було це пояснення для вас корисним?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Так, все добре!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Не вдалося отримати підсумок чату", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Зведення чату скопійовано до буферу обміну", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Спробуйте Doctorina в мобільному додатку!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Завантажити на", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "ОТРИМАТИ НА", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Завантажити в App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Отримати в Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Повідомити про повідомлення", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Чому ви повідомляєте про це повідомлення?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Необов'язково: Опишіть, що не так з цим повідомленням...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Це допоможе нам покращити наші відповіді ШІ", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Скасувати", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Повідомити", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Дякуємо за ваш відгук! Звіт надіслано.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Не вдалося надіслати звіт", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Скопійовано в буфер обміну", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Не вдалося скопіювати повідомлення", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Повідомити про повідомлення", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Завантажте до чату Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Перетягніть файли сюди, щоб додати до чату", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Ви можете додати до 15 файлів до одного повідомлення", + "@chatDropZoneText": {}, + "notificationBannerText": "Чи хочете, щоб я сповіщав вас, якщо з'явиться щось важливе про ваше здоров'я?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Так, сповіщайте мене", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Можливо пізніше", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Закрити", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Сповіщення заблоковані на системному рівні. Увімкніть їх у системних налаштуваннях перед активацією сповіщень Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Сповіщення заблоковані на системному рівні. Увімкніть їх у налаштуваннях браузера перед активацією сповіщень Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Будьте в курсі вашої консультації", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina може сповістити вас, коли з'являться нові відомості або оновлення про ваше здоров'я.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Увімкнути сповіщення", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Можливо пізніше", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Продовжуючи, ви погоджуєтесь на обробку персональних даних, використання cookies, прийняття terms and conditions та підтверджуєте ознайомлення з

privacy policy

. Також ви визнаєте, що ваша консультація проводиться за участю AI, а не ліцензованого медичного фахівця", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Скасувати", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Спочатку збережіть цей чат?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Зареєструйтесь безкоштовно, щоб зберегти цю консультацію перед початком нової", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Почати без збереження", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Зареєструватися", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Щоб продовжити розмову, виберіть варіант вище", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Закрити", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Видалити вкладення", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Не вдалося вибрати файли з зони скидання", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Будь ласка, введіть повідомлення або прикріпіть файл", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Будь ласка, зачекайте, поки завантаження завершиться", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Повідомлення обробляється", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Повідомлення занадто довге", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Повідомлення вже обробляється.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "З'єднання закрито назавжди", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Немає з'єднання з сервером", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Не вдалося вибрати файли", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Не вдалося вибрати зображення", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Не вдалося захопити фото з камери", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Ви можете прикріпити до {count} файлів одночасно", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Очистити розпізнаний текст", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Повідомлення занадто довге.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Будь ласка, зачекайте, поки завантаження завершаться", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "Файл {kind} \"{name}\" вже прикріплено і не було додано знову.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Файл {kind} \"{name}\" є дублікатом {exist} і не був доданий", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "Файл {kind} \"{name}\" не було додано, оскільки перевищено максимальну кількість вкладень.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Файл \"{name}\" порожній.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Файл порожній", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Файл \"{name}\" перевищує максимально допустимий розмір.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Файл перевищує максимально допустимий розмір.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Сталася помилка під час обробки файлу \"{name}\"", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Сталася помилка під час обробки файлу", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Файл \"{name}\" не було додано, оскільки перевищено максимальну кількість вкладень.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Файл(и) не було додано, оскільки перевищено максимальну кількість вкладень", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Файл не було додано, оскільки перевищено максимальну кількість вкладень", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Спробували додати файл без імені.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Спробували додати файл з непідтримуваним розширенням: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Спробували додати файл з непідтримуваним розширенням", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Неможливо додати файл", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Файл \"{name}\" недійсний і не може бути доданий.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Файл недійсний і не може бути доданий", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Елемент \"{name}\" не є дійсним файлом", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Елемент не є дійсним файлом", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Сталася помилка під час обробки елемента", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Сталася помилка під час обробки елемента(ів).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Файли не були додані", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Деякі файли були пропущені через дублікатів з існуючими файлами", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Сталася невідома помилка.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Під час прикріплення файлів виникли такі помилки:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Не вдалося поділитися файлом: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Закрити", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Поділитися", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Завантаження файлу...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Не вдалося завантажити файл", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Сталася невідома помилка", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Спробувати знову", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Непідтримуваний тип файлу", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Не можна переглянути {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Поділитися файлом", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Не вдалося відобразити зображення", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Скинути масштаб", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Не вдалося завантажити PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Не вдалося декодувати текстовий вміст", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "І ще {count} помилок.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Файл має неправильний формат", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Необхідна згода", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Продовжуючи, ви погоджуєтеся з нашими Умовами, Політикою конфіденційності та використанням файлів cookie і підтверджуєте, що ця консультація надається штучним інтелектом, а не ліцензованим медичним працівником.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Закрити", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Видалити", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Видалити чат", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Чат “{title}” успішно видалено.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Видалити чат?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Ваші симптоми, підсумок діагнозу та будь-які рекомендації в цьому чаті будуть видалені.\nЦю дію не можна скасувати.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Збільшити", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Зменшити", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Скинути масштаб", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Поділитися", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Сьогодні", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Вчора", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Тільки перша сторінка. Використовуйте Share, щоб завантажити повний файл.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_ur.arb b/example/lib/src/l10n/chat/app_ur.arb new file mode 100644 index 0000000..a04ff6d --- /dev/null +++ b/example/lib/src/l10n/chat/app_ur.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "ur", + "drawerTooltipNotifications": "اطلاعات", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "مدد", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "بند کریں", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "اکاؤنٹ", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "پروفائل", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "اکاؤنٹ کی ترتیبات", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "حمایت کے لیے عطیہ کریں", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "رکنیت", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "چیٹس", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "چیٹ کی تاریخ", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "منسلک دستاویزات", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "استعمال کا طریقہ", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "ویڈیو ٹیوٹوریلز", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "قانونی", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "ہم سے رابطہ کریں", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "بگ رپورٹ", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "شرائط و ضوابط", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "رازداری کی پالیسی", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "رائے", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "ایپ کو ریٹ کریں", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "دوستوں کے ساتھ شیئر کریں", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "لاگ آؤٹ", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "دوسروں کو طبی دیکھ بھال حاصل کرنے میں مدد کریں", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "صارف", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "پریمیم خصوصیات\nڈاکٹرینا کے ساتھ", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "حاصل کریں", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "ہم سے شامل ہوں", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "ایپ ورژن:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "حالیہ چیٹس", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "پروفائل", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "حال ہی کی گفتگو", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "ایپلیکیشنز ڈاؤن لوڈ کریں", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "پیغام درج کریں", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "فائل منسلک کریں", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "بول کر لکھیں", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "ختم کریں اور ٹرانسکرائب کریں", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "پیغام بھیجیں", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "پیغامات حاصل کرنے میں ناکام", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "پیغامات حاصل کرنے میں ناکام. براہ کرم دوبارہ کوشش کریں.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "پیغامات حاصل کریں", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "کوئی پیغام دستیاب نہیں۔ گفتگو شروع کرنے کے لیے براہ مہربانی پیغام بھیجیں۔", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "متصل", + "@chatListHasConnection": {}, + "chatListNoConnection": "کوئی کنکشن نہیں", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "تلاش", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "پسندیدہ", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "ڈاؤن لوڈ", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "پی ڈی ایف پرنٹ", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "دوستوں کے ساتھ شیئر کریں", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "نئی چیٹ", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "چیٹ", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "چیٹ منتخب کریں", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "ڈراؤر دکھائیں", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "کسی چیٹ دستیاب نہیں ہے۔ براہ کرم ریفریش کریں یا نئی چیٹ بنائیں۔", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "چیٹس تازہ کریں", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "نئی گفتگو بنائیں", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "متن کاپی کریں", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "ٹائپنگ\nصرف ایک لمحہ", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "اپ ڈیٹ ہو رہا ہے...\nبراہ کرم اپنے انٹرنیٹ کنکشن کی جانچ کریں", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "پیغام پہلے ہی ابھی پراسیس کیا جا رہا ہے.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "پیغام بہت طویل ہے.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "منسلکہ ہٹائیں", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "پیغام کی پروسیسنگ ناکام رہی", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDF میں برآمد کریں", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "تصاویر", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "کیمرہ", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "فائلیں", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "تصاویر اور فائلیں", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "امید ہے کہ اس سے مدد ملی! کیا یہ وضاحت آپ کے لیے مفید رہی؟", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "ہاں، سب ٹھیک ہے!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "چیٹ کا خلاصہ بازیافت کرنے میں ناکام", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "چیٹ کا خلاصہ کلپ بورڈ پر کاپی کر دیا گیا", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "موبائل ایپ میں Doctorina آزمائیں!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "ڈاؤن لوڈ پر", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "حاصل کریں", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "ایپ اسٹور سے ڈاؤن لوڈ کریں", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Google Play پر حاصل کریں", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "پیغام کی رپورٹ کریں", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "آپ اس پیغام کی رپورٹ کیوں کر رہے ہیں؟", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "اختیاری: اس پیغام میں کیا غلط ہے بیان کریں...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "یہ ہمیں اپنی AI جوابات کو بہتر بنانے میں مدد دے گا", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "کینسل", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "رپورٹ کریں", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "آپ کی رائے کا شکریہ! رپورٹ جمع کر دی گئی ہے.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "رپورٹ جمع کرنے میں ناکامی", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "کاپی کیا گیا", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "پیغام کاپی کرنے میں ناکامی", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "پیغام کی رپورٹ کریں", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "ڈاکٹرینا چیٹ میں اپ لوڈ کریں", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "فائلیں یہاں ڈریگ اور ڈراپ کریں تاکہ چیٹ میں شامل کی جا سکیں", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "آپ ایک پیغام میں 15 فائلیں شامل کر سکتے ہیں", + "@chatDropZoneText": {}, + "notificationBannerText": "کیا آپ چاہیں گے کہ میں آپ کو مطلع کروں اگر آپ کی صحت کے بارے میں کچھ اہم ہو؟", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "جی ہاں، مجھے مطلع کریں", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "شاید بعداً", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "بند کریں", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "نوٹیفیکیشن سسٹم کی سطح پر بلاک ہیں۔ ڈاکٹرینا کی نوٹیفیکیشنز کو فعال کرنے سے پہلے انہیں سسٹم کی سیٹنگز میں فعال کریں۔", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "نوٹیفیکیشن سسٹم کی سطح پر بلاک ہیں۔ ڈاکٹرینا کی نوٹیفیکیشنز کو فعال کرنے سے پہلے انہیں براؤزر کی ترتیبات میں فعال کریں۔", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "اپنی مشاورت کے بارے میں باخبر رہیں", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "ڈاکٹرینا آپ کو مطلع کر سکتی ہے جب آپ کی صحت کے بارے میں نئے بصیرت یا اپ ڈیٹس دستیاب ہوں.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "نوٹیفکیشن فعال کریں", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "شاید بعداً", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "اس عمل کو جاری رکھنے سے آپ ذاتی ڈیٹا کی پراسیسنگ، cookies کے استعمال، terms and conditions سے اتفاق کرتے ہیں، اور

privacy policy

کو تسلیم کرتے ہیں۔ نیز آپ اس بات کا اعتراف کرتے ہیں کہ آپ کی مشاورت ایک AI کے ذریعے کی جا رہی ہے نہ کہ کسی لائسنس یافتہ طبی پیشہ ور کے ذریعے", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "ختم کریں", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "سب سے پہلے اس چیٹ کو محفوظ کریں؟", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "ایک نئی مشاورت شروع کرنے سے پہلے اس مشاورت کو محفوظ کرنے کے لیے مفت میں سائن اپ کریں", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "بغیر محفوظ کیے شروع کریں", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "سائن اپ کریں", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "بات چیت جاری رکھنے کے لیے، اوپر سے ایک آپشن منتخب کریں", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "بند کریں", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "ضمیمہ ہٹا دیں", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "ڈراپ زون سے فائلیں منتخب کرنے میں ناکامی", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "براہ کرم ایک پیغام درج کریں یا فائل منسلک کریں", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "براہ کرم اپ لوڈ مکمل ہونے کا انتظار کریں", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "پیغام پروسیس ہو رہا ہے", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "پیغام بہت لمبا ہے", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "پیغام اس وقت پروسیس ہو رہا ہے.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "کنکشن مستقل طور پر بند ہو گیا ہے", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "سرور سے کوئی کنکشن نہیں", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "فائل منتخب کرنے میں ناکامی", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "تصاویر منتخب کرنے میں ناکامی", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "کیمرے سے تصویر لینے میں ناکامی", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "آپ ایک ساتھ {count} فائلیں منسلک کر سکتے ہیں۔", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "پہچانے گئے متن کو صاف کریں", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "پیغام بہت لمبا ہے۔", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "براہ کرم اپ لوڈ مکمل ہونے کا انتظار کریں۔", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "فائل {kind} \"{name}\" پہلے ہی منسلک ہے اور دوبارہ شامل نہیں کی گئی.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" ایک نقل ہے {exist} کا اور شامل نہیں کیا گیا.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "فائل {kind} \"{name}\" شامل نہیں کی گئی کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "فائل \"{name}\" خالی ہے.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "فائل خالی ہے۔", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "فائل \"{name}\" زیادہ سے زیادہ اجازت شدہ سائز سے تجاوز کر گئی ہے.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "فائل زیادہ سے زیادہ اجازت شدہ سائز سے تجاوز کر گئی ہے۔", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "فائل \"{name}\" کو پروسیس کرتے وقت ایک خرابی پیش آئی۔", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "فائل پروسیسنگ کے دوران ایک غلطی پیش آئی۔", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "فائل \"{name}\" شامل نہیں کی گئی کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے۔", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "ایک فائل شامل نہیں کی گئی کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے۔", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "ایک فائل شامل نہیں کی گئی کیونکہ منسلکات کی زیادہ سے زیادہ تعداد تجاوز کر گئی ہے۔", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "ایک نام کے بغیر فائل شامل کرنے کی کوشش کی گئی۔", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "ایک فائل جس میں غیر معاونت یافتہ توسیع ہے، شامل کرنے کی کوشش کی گئی: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "ایک فائل جس کی توسیع کی حمایت نہیں کی گئی تھی، شامل کرنے کی کوشش کی گئی۔", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "فائل شامل کرنا ناممکن ہے۔", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "فائل \"{name}\" درست نہیں ہے اور اسے شامل نہیں کیا جا سکتا.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "ایک فائل درست نہیں ہے اور اسے شامل نہیں کیا جا سکتا۔", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "آئٹم \"{name}\" ایک درست فائل نہیں ہے", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "ایک آئٹم درست فائل نہیں ہے", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "آئٹم کو پروسیس کرتے وقت ایک غلطی پیش آئی۔", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "آئٹمز کو پروسیس کرتے وقت ایک غلطی پیش آئی۔", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "کوئی فائلیں شامل نہیں کی گئیں۔", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "کچھ فائلیں موجودہ فائلوں کے ساتھ نقل ہونے کی وجہ سے چھوڑ دی گئیں۔", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "ایک نامعلوم خرابی پیش آئی", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "فائلیں منسلک کرتے وقت درج ذیل غلطیاں پیش آئیں:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "فائل شیئر کرنے میں ناکامی: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "بند کریں", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "شیئر کریں", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "فائل لوڈ ہو رہی ہے...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "فائل لوڈ کرنے میں ناکامی", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "نامعلوم خرابی پیش آیا", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "دوبارہ کوشش کریں", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "غیر معاونت فائل کی قسم", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "پیش نظارہ {contentType} نہیں کر سکتے", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "فائل شیئر کریں", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "تصویر دکھانے میں ناکامی", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "زوم ری سیٹ کریں", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF لوڈ کرنے میں ناکامی", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "متن مواد کو ڈی کوڈ کرنے میں ناکامی", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "اور {count} مزید غلطیاں.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "فائل درست نہیں ہے", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "اجازت درکار ہے", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "جاری رکھنے پر، آپ ہماری شرائط، رازداری کی پالیسی، اور کوکیز کے استعمال سے اتفاق کرتے ہیں، اور تصدیق کرتے ہیں کہ یہ مشاورت AI کی طرف سے فراہم کی گئی ہے، نہ کہ کسی لائسنس یافتہ طبی پیشہ ور کی طرف سے.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "بند کریں", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "حذف کریں", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "چیٹ حذف کریں", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "چیٹ “{title}” کامیابی سے حذف کر دی گئی.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "چیٹ حذف کریں؟", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "آپ کے علامات، تشخیص کا خلاصہ، اور اس چیٹ میں کوئی بھی سفارشات حذف کر دی جائیں گی۔\nیہ عمل واپس نہیں لیا جا سکتا۔", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "زوم ان", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "زوم آؤٹ", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "زوم ری سیٹ کریں", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "شیئر کریں", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "آج", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "کل", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "صرف پہلی صفحہ۔ مکمل فائل ڈاؤن لوڈ کرنے کے لیے شیئر کا استعمال کریں۔", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_uz.arb b/example/lib/src/l10n/chat/app_uz.arb new file mode 100644 index 0000000..eddf831 --- /dev/null +++ b/example/lib/src/l10n/chat/app_uz.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "uz", + "drawerTooltipNotifications": "Bildirishnomalar", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Yordam", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Yopish", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Hisob", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Profil", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Hisob sozlamalari", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Qo'llab-quvvatlash uchun xayriya qiling", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Obuna", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Chatlar", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Chat tarixi", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Ilova qilingan hujjatlar", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Qanday foydalanish", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Video qo'llanmalar", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Huquqiy", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Biz bilan bog'laning", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Xato hisobot", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Shartlar va Qoidalar", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Maxfiylik siyosati", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Fikr-mulohaza", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Ilovani baholang", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Do'stlar bilan ulashing", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Chiqish", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Boshqalarga tibbiy yordam olishga yordam bering", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Foydalanuvchi", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Premium xususiyatlar\nDoctorina bilan", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Olish", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Bizga qo'shiling", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Ilova versiyasi:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "So'nggi suhbatlar", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Profil", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "So'nggi suhbat", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Ilovalarni yuklab oling", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Xabar kiriting", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Faylni ilova qiling", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Dikta qilish", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Tugatish va matnga o'tkazish", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Xabar yuborish", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Xabarlarni olish muvaffaqiyatsiz", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Xabarlarni olishda xato. Iltimos, qayta urinib ko'ring.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Xabarlarni olish", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Xabarlar mavjud emas.\nSuhbatni boshlash uchun xabar yuboring.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Ulangan", + "@chatListHasConnection": {}, + "chatListNoConnection": "Ulanish yo‘q", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Qidirish", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Sevimlilar", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Yuklab olish", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "PDF chop etish", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Do'stlar bilan bo'lishish", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Yangi chat", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Chat", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Suhbatni tanlang", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Drawer-ni ko'rsatish", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Suhbatlar mavjud emas. Iltimos, yangilang yoki yangi suhbat yarating.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Suhbatlarni yangilash", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Yangi chat yaratish", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Matnni nusxalash", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Yozilmoqda\nBir oz kuting", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Yangilanish...\nIltimos, internet ulanishingizni tekshiring", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Xabar hozirda allaqachon qayta ishlanmoqda.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Xabar juda uzun.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Ilovani olib tashlash", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Xabarni qayta ishlash muvaffaqiyatsiz", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "PDF ga eksport qilish", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Rasmlar", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Kamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Fayllar", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Fotosuratlar va fayllar", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Umid qilamanki, bu yordam berdi! Ushbu tushuntirish sizga foydali bo‘ldimi?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Ha, hammasi yaxshi!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Suhbat xulosasini olish muvaffaqiyatsiz", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Suhbat xulosasi klipbordga nusxalandi", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Doctorina mobil ilovada sinab ko'ring!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Yuklab oling", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "OLING", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "App Store'dan yuklab oling", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Google Play orqali oling", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Xabarni hisobot qilish", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Nima uchun ushbu xabarni xabar qilmoqdasiz?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Ixtiyoriy: Ushbu xabarda nima noto'g'ri ekanligini tasvirlang...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Bu bizga sun'iy intellekt javoblarimizni yaxshilashga yordam beradi.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Bekor qilish", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Hisobot", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Fikr-mulohazangiz uchun rahmat! Hisobot yuborildi.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Hisobotni yuborish muvaffaqiyatsiz bo'ldi", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Clipboard'ga nusxalandi", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Xabarni nusxalashda xato", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Xabarni hisobot qilish", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Doktorina chatiga yuklash", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Fayllarni bu yerga torting va chatga qo'shing", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Siz bir xabarga 15 ta fayl qo'shishingiz mumkin", + "@chatDropZoneText": {}, + "notificationBannerText": "Sizga salomatligingiz haqida muhim biror narsa bo'lsa, xabar berishimni xohlaysizmi?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Ha, menga xabar ber", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Keyinroq", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Yopish", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Bildirishnomalar tizim darajasida bloklangan. Daktorinaning bildirishnomalarini faollashtirishdan oldin ularni tizim sozlamalarida yoqing.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Bildirishnomalar tizim darajasida bloklangan. Ularni brauzer sozlamalarida yoqishdan oldin Doctorina bildirishnomalarini faollashtiring.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Konsultatsiyangiz haqida xabardor bo'ling", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina sizni salomatligingiz haqidagi yangi ma'lumotlar yoki yangilanishlar mavjud bo'lganda xabardor qilishi mumkin.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Bildirishnomalarni yoqish", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Keyinroq", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Davom etish bilan siz shaxsiy ma'lumotlarni qayta ishlashga, cookiesdan foydalanishga, terms and conditionsga rozi ekanligingizni va

privacy policy

ni tasdiqlaysiz. Shuningdek, siz konsultatsiya sun'iy intellekt bilan amalga oshirilayotganligini va litsenziyali tibbiyot mutaxassisi emasligini tasdiqlaysiz", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Rad etish", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Avval bu chatni saqlang?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Yangi maslahatni boshlashdan oldin, ushbu maslahatni saqlash uchun bepul ro'yhatdan o'ting", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Saqlamasdan boshlash", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Ro'yhatdan o'tish", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Suhbatni davom ettirish uchun yuqoridagi variantlardan birini tanlang", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Yopish", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "ilovani olib tashlang", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Fayllarni tashlash zonasidan tanlashda xato", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Iltimos, xabar kiriting yoki fayl qo'shing", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Iltimos, yuklashlar tugashini kuting", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Xabar qayta ishlanmoqda", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Xabar juda uzun", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Xabar hozirda qayta ishlanmoqda", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Ulanish doimiy ravishda yopilgan", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Serverga ulanish yo'q", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Fayllarni tanlashda xato", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Rasmlarni tanlashda xato", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Kameradan foto surat olishda xato", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Siz bir vaqtning o'zida {count} ta faylni qo'shishingiz mumkin", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Tanlangan matnni tozalang", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Xabar juda uzun.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Iltimos, yuklashlar tugashini kuting", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "{kind} \"{name}\" allaqachon ilova qilingan va yana qo'shilmagan.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "{kind} \"{name}\" {exist} ga takroriy va qo'shilmagan.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "{kind} \"{name}\" qo'shilmagan, chunki ilovalar soni maksimal chegaradan oshib ketdi.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Fayl \"{name}\" bo'sh.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Fayl bo'sh.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "«{name}» fayli ruxsat etilgan maksimal o'lchamdan oshadi", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Fayl ruxsat etilgan maksimal o'lchamdan oshadi.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "\"{name}\" faylini qayta ishlashda xato yuz berdi.", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Faylni qayta ishlashda xato yuz berdi.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "\"{name}\" fayli qo'shilmagan, chunki ilovalar soni maksimal chegaradan oshib ketdi.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Fayl(lar) qo'shilmagan, chunki ilovalar soni maksimal chegaradan oshib ketdi.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Fayl qo'shilmagan, chunki ilovalar soni maksimal chegaradan oshib ketdi.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Nomsiz fayl qo'shilishga urinish qilingan", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Qo'llab-quvvatlanmaydigan kengaytma bilan fayl qo'shishga urinish qilingan: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Qo'llab-quvvatlanmaydigan kengaytma bilan fayl qo'shishga urinish qilingan", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Fayl qo'shish imkoni yo'q", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "«{name}» fayli noto'g'ri va qo'shilmaydi.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Fayl noto'g'ri va qo'shilmaydi", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "«{name}» elementi haqiqiy fayl emas.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Bir element haqiqiy fayl emas", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Bir narsani qayta ishlashda xato yuz berdi.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Bir yoki bir nechta elementlarni qayta ishlashda xato yuz berdi", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Hech qanday fayl qo'shilmagan.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Ba'zi fayllar mavjud fayllar bilan takrorlanishi sababli o‘tkazib yuborildi", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Noma'lum xato yuz berdi.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Fayllarni ulashda quyidagi xatolar yuz berdi:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Faylni ulashishda xato: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Yopish", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Ulashish", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Fayl yuklanmoqda...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Faylni yuklashda xato", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Noma'lum xato yuz berdi", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Qayta urinib ko'rish", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Qo'llab-quvvatlanmaydigan fayl turi", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "{contentType} ni oldindan ko‘rish mumkin emas", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Faylni ulashing", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Rasmni ko'rsatishda xato", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Zoomni tiklash", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "PDF yuklashda xato", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Matn mazmunini dekodlashda xato.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Va {count} ta boshqa xato.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Fayl noto'g'ri", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Ruxsat kerak", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Davom etish orqali siz Shartlar, Maxfiylik siyosati va cookie-lardan foydalanish bilan rozi bo'lasiz va ushbu maslahat sun'iy intellekt tomonidan, litsenziyaga ega tibbiyot mutaxassisi emas, taqdim etilganligini tasdiqlaysiz.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Yopish", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "O'chirish", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Suhbatni o'chirish", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "“{title}” suhbat muvaffaqiyatli o'chirildi.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Suhbatni o'chirishmi?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Sizning simptomlaringiz, tashxis xulosangiz va ushbu chatdagi har qanday tavsiyalar o'chiriladi.\nUshbu harakatni qaytarib bo'lmaydi.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Katta qilish", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Kichraytish", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Zoomni tiklash", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Ulashish", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Bugun", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Kecha", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Faqat birinchi sahifa. To'liq faylni yuklab olish uchun Ulashdan foydalaning.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_vi.arb b/example/lib/src/l10n/chat/app_vi.arb new file mode 100644 index 0000000..69348cc --- /dev/null +++ b/example/lib/src/l10n/chat/app_vi.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "vi", + "drawerTooltipNotifications": "Thông báo", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Trợ giúp", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Đóng", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "Tài khoản", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Hồ sơ", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Cài đặt Tài khoản", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Quyên góp để hỗ trợ", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Đăng ký", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Trò chuyện", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Lịch sử trò chuyện", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Tài liệu đính kèm", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Cách sử dụng", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Hướng dẫn video", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Pháp lý", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Liên hệ", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Báo cáo lỗi", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Điều khoản và Điều kiện", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Chính sách bảo mật", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Phản hồi", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Đánh giá ứng dụng", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Chia sẻ với bạn bè", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Đăng xuất", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Giúp người khác được chăm sóc y tế", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Người dùng", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Tính năng cao cấp\nvới Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Nhận", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Tham gia với chúng tôi", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Phiên bản ứng dụng:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Trò chuyện gần đây", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Hồ sơ", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Trò chuyện gần đây", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Tải ứng dụng", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Nhập tin nhắn", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Đính kèm tệp", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Nói", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Hoàn tất & Phiên âm", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Gửi tin nhắn", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Không tải được tin nhắn", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Không lấy được tin nhắn. Vui lòng thử lại.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Lấy tin nhắn", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Không có tin nhắn nào. Hãy gửi một tin nhắn để bắt đầu cuộc trò chuyện.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Đã kết nối", + "@chatListHasConnection": {}, + "chatListNoConnection": "Không có kết nối", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Tìm kiếm", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Yêu thích", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Tải xuống", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "In PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Chia sẻ với bạn bè", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Trò chuyện mới", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Trò chuyện", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Chọn trò chuyện", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Hiển thị ngăn", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Không có cuộc trò chuyện nào. Vui lòng làm mới hoặc tạo cuộc trò chuyện mới.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Làm mới trò chuyện", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Tạo cuộc trò chuyện mới", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Sao chép văn bản", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Đang gõ\nChờ một chút", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Đang cập nhật...\nVui lòng kiểm tra kết nối internet của bạn", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Tin nhắn đang được xử lý ngay bây giờ.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Tin nhắn quá dài.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Xóa tệp đính kèm", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Xử lý tin nhắn thất bại", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Xuất sang PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Ảnh", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Máy ảnh", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Tệp tin", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Ảnh và Tệp", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Hy vọng điều đó đã giúp ích! Giải thích này có hữu ích với bạn không?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Vâng, mọi thứ đều ổn!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Không lấy được tóm tắt trò chuyện", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Tóm tắt trò chuyện đã được sao chép vào clipboard", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Thử Doctorina trên ứng dụng di động!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Tải về trên", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "TẢI NGAY", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Tải xuống trên App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Tải trên Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Báo cáo tin nhắn", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Tại sao bạn báo cáo tin nhắn này?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Tùy chọn: Mô tả những gì sai với tin nhắn này...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Điều này sẽ giúp chúng tôi cải thiện phản hồi AI của mình.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Hủy", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Báo cáo", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Cảm ơn bạn đã phản hồi! Báo cáo đã được gửi.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Gửi báo cáo không thành công", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Đã sao chép vào clipboard", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Không thể sao chép tin nhắn", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Báo cáo tin nhắn", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Tải lên vào trò chuyện với Doctorina", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Kéo và thả tệp vào đây để thêm vào trò chuyện", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Bạn có thể thêm tối đa 15 tệp vào một tin nhắn", + "@chatDropZoneText": {}, + "notificationBannerText": "Bạn có muốn tôi thông báo cho bạn nếu có điều gì quan trọng liên quan đến sức khỏe của bạn không?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Có, thông báo cho tôi", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Có thể sau", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Đóng", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Thông báo bị chặn ở cấp hệ thống. Bật chúng trong cài đặt hệ thống trước khi kích hoạt thông báo của Doctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Thông báo bị chặn ở cấp hệ thống. Bật chúng trong cài đặt trình duyệt trước khi kích hoạt thông báo của Doctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Cập nhật về cuộc tư vấn của bạn", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina có thể thông báo cho bạn khi có những thông tin hoặc cập nhật mới về sức khỏe của bạn", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Bật thông báo", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Có thể sau", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Bằng cách tiếp tục, bạn đồng ý với việc xử lý dữ liệu cá nhân, sử dụng cookies, đồng ý với điều khoản and conditions, và thừa nhận

chính sách bảo mật

. Bạn cũng xác nhận rằng tư vấn của bạn do AI cung cấp và không phải của chuyên gia y tế có giấy phép", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Bỏ qua", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Lưu cuộc trò chuyện này trước?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Đăng ký miễn phí để lưu lại tư vấn này trước khi bắt đầu tư vấn mới", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Bắt đầu mà không lưu", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Đăng ký", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Để tiếp tục cuộc trò chuyện, hãy chọn một tùy chọn ở trên", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Đóng", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Xóa tệp đính kèm", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Không thể chọn tệp từ vùng thả", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Vui lòng nhập tin nhắn hoặc đính kèm tệp", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Vui lòng chờ cho các tệp tải lên hoàn tất", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Tin nhắn đang được xử lý", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Tin nhắn quá dài", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Tin nhắn hiện đang được xử lý.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Kết nối đã bị đóng vĩnh viễn", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Không có kết nối đến máy chủ", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Không thể chọn tệp", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Không thể chọn hình ảnh", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Không thể chụp ảnh từ camera", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Bạn có thể đính kèm tối đa {count} tệp một lần.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Xóa văn bản đã nhận diện", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Tin nhắn quá dài.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Vui lòng chờ cho các tệp tải lên hoàn tất", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "{kind} \"{name}\" đã được đính kèm và không được thêm lại", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "Tệp {kind} \"{name}\" là bản sao của {exist} và không được thêm vào", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "{kind} \"{name}\" không được thêm vào vì số lượng tệp đính kèm tối đa đã bị vượt quá.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Tệp \"{name}\" trống.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Tệp tin rỗng.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Tệp \"{name}\" vượt quá kích thước tối đa cho phép.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Tệp vượt quá kích thước tối đa cho phép.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Đã xảy ra lỗi khi xử lý tệp \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Đã xảy ra lỗi trong quá trình xử lý tệp.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Tệp \"{name}\" không được thêm vì số lượng tệp đính kèm tối đa đã bị vượt quá.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Một hoặc nhiều tệp không được thêm vì số lượng tệp đính kèm tối đa đã bị vượt quá.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Một tệp không được thêm vì số lượng tệp đính kèm tối đa đã bị vượt quá.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Một tệp không có tên đã được cố gắng thêm vào.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Một tệp có định dạng không được hỗ trợ đã được cố gắng thêm: \"{name}\"", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Một tệp có định dạng không được hỗ trợ đã được cố gắng thêm vào.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Không thể thêm tệp.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Tệp \"{name}\" không hợp lệ và không thể được thêm vào.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Một tệp không hợp lệ và không thể được thêm vào.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Mục \"{name}\" không phải là tệp hợp lệ.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Một mục không phải là tệp hợp lệ.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Đã xảy ra lỗi khi xử lý một mục.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Đã xảy ra lỗi trong quá trình xử lý một mục (các mục).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Không có tệp nào được thêm vào.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Một số tệp đã bị bỏ qua do trùng lặp với các tệp hiện có.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Đã xảy ra lỗi không xác định", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Đã xảy ra các lỗi sau khi đính kèm tệp:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Chia sẻ tệp không thành công: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Đóng", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Chia sẻ", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Đang tải tệp...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Không thể tải tệp", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Đã xảy ra lỗi không xác định", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Thử lại", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Loại tệp không được hỗ trợ", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Không thể xem trước {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Chia sẻ tệp", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Không thể hiển thị hình ảnh", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Đặt lại phóng to", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Tải PDF không thành công", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Không thể giải mã nội dung văn bản", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Và {count} lỗi nữa.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Tệp bị lỗi", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Cần có sự đồng ý", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Bằng cách tiếp tục, bạn đồng ý với Các điều khoản, Chính sách bảo mật, và sử dụng cookie, và xác nhận rằng cuộc tư vấn này được cung cấp bởi AI, không phải là một chuyên gia y tế có giấy phép.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Đóng", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Xóa", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Xóa trò chuyện", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "Đã xóa cuộc trò chuyện “{title}” thành công.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Xóa trò chuyện?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Các triệu chứng, tóm tắt chẩn đoán và bất kỳ khuyến nghị nào trong cuộc trò chuyện này sẽ bị xóa.\nHành động này không thể hoàn tác.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Phóng to", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Thu nhỏ", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Đặt lại phóng to", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Chia sẻ", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Hôm nay", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Hôm qua", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Chỉ trang đầu tiên. Sử dụng Chia sẻ để tải xuống tệp đầy đủ.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_zh.arb b/example/lib/src/l10n/chat/app_zh.arb new file mode 100644 index 0000000..7d71ebc --- /dev/null +++ b/example/lib/src/l10n/chat/app_zh.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "zh", + "drawerTooltipNotifications": "通知", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "帮助", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "关闭", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "账户", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "个人资料", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "账户设置", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "捐款支持", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "订阅", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "聊天", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "聊天记录", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "附带文档", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "如何使用", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "视频教程", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "法律", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "联系我们", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "错误报告", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "条款和条件", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "隐私政策", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "反馈", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "评价应用", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "与朋友分享", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "退出", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "帮助他人接受医疗服务", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "用户", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "高级功能\n与Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "获取", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "加入我们", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "应用版本:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "最近聊天", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "个人资料", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "最近聊天", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "下载应用", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "输入消息", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "附加文件", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "听写", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "结束并转录", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "发送消息", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "获取消息失败", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "获取消息失败。请再试一次。", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "获取消息", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "暂无消息。\n请发送消息开始对话。", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "已连接", + "@chatListHasConnection": {}, + "chatListNoConnection": "无连接", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "搜索", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "收藏夹", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "下载", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "打印PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "与朋友分享", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "新聊天", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "聊天", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "选择聊天", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "显示抽屉", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "暂无聊天。请刷新或创建新的聊天。", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "刷新聊天", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "创建新聊天", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "复制文本", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "正在输入\n请稍候", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "正在更新...\n请检查您的互联网连接", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "消息现在正在处理中。", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "消息太长。", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "删除附件", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "处理消息失败", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "导出为 PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "照片", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "相机", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "文件", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "照片和文件", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "希望这对您有帮助!这个解释对您有用吗?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "是的,一切都好!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "获取聊天摘要失败", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "聊天摘要已复制到剪贴板", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "在移动应用中试试Doctorina!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Download on the", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "GET IT ON", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "在 App Store 下载", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "在 Google Play 获取", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "报告消息", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "您为什么要举报此消息?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "可选:描述此消息有什么问题...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "这将帮助我们改善我们的AI响应", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "取消", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "报告", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "感谢您的反馈!报告已提交。", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "提交报告失败", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "已复制到剪贴板", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "复制消息失败", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "报告消息", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "上传到Doctorina聊天", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "将文件拖放到此处以添加到聊天", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "您可以在一条消息中添加最多15个文件", + "@chatDropZoneText": {}, + "notificationBannerText": "如果您的健康出现重要情况,您希望我通知您吗?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "是的,请通知我", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "稍后再说", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "关闭", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "通知在系统级别被阻止。在激活Doctorina的通知之前,请在系统设置中启用它们。", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "系统级别已阻止通知。在激活Doctorina的通知之前,请在浏览器设置中启用它们。", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "保持对您的咨询的更新", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina 可以在有关您健康的新见解或更新可用时通知您。", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "启用通知", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "稍后再说", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "继续即表示您同意处理个人数据,使用cookies,同意terms and conditions,并确认

privacy policy

。另外,您确认您的咨询是由人工智能提供,而非持牌医疗专业人士", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "忽略", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "先保存此聊天?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "免费注册以保存本次咨询,然后再开始新的咨询", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "开始而不保存", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "注册", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "要继续对话,请选择上面的选项", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "关闭", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "移除附件", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "从拖放区选择文件失败", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "请输入消息或附加文件", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "请等待上传完成", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "消息正在处理中", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "消息太长", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "消息正在处理中。", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "连接已永久关闭", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "无法连接到服务器", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "无法选择文件", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "无法选择图片", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "无法从相机捕获照片", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "您一次最多可以附加 {count} 个文件。", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "清除识别的文本", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "消息太长。", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "请等待上传完成", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "该 {kind} \"{name}\" 已经附加,未再次添加。", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "该 {kind} \"{name}\" 是 {exist} 的重复项,未被添加。", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "由于超过了最大附件数量,{kind} \"{name}\" 未被添加。", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "文件 \"{name}\" 是空的。", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "文件是空的。", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "文件 \"{name}\" 超过了允许的最大大小。", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "文件超过了允许的最大大小。", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "处理文件 \"{name}\" 时发生错误。", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "处理文件时发生错误", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "文件 \"{name}\" 未添加,因为附件的最大数量已超过。", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "文件未添加,因为附件的最大数量已超过。", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "未添加文件,因为已超过最大附件数量。", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "尝试添加一个没有名称的文件", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "尝试添加一个不支持的扩展名的文件:\"{name}\"。", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "尝试添加了一个不支持的扩展名的文件", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "无法添加文件", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "文件 \"{name}\" 无效,无法添加。", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "文件无效,无法添加", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "项目 \"{name}\" 不是有效的文件", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "项目不是有效的文件", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "处理项目时发生错误", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "处理项目时发生错误。", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "没有添加文件", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "由于与现有文件重复,某些文件已被跳过。", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "发生了未知错误。", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "在附加文件时发生了以下错误:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "共享文件失败:{error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "关闭", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "分享", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "加载文件...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "加载文件失败", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "发生了未知错误", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "重试", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "不支持的文件类型", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "无法预览 {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "分享文件", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "无法显示图像", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "重置缩放", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "加载 PDF 失败", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "无法解码文本内容。", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "还有 {count} 个错误。", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "文件格式不正确", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "需要同意", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "继续即表示您同意我们的条款隐私政策使用cookies,并确认此咨询由AI提供,而非持证医疗专业人员。", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "关闭", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "删除", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "删除聊天", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "聊天“{title}”已成功删除。", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "删除聊天吗?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "您在此聊天中的症状、诊断摘要和任何建议将被删除。\n此操作无法撤销。", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "放大", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "缩小", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "重置缩放", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "分享", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "今天", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "昨天", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "仅第一页。使用分享下载完整文件。", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_zh_CN.arb b/example/lib/src/l10n/chat/app_zh_CN.arb new file mode 100644 index 0000000..9983ef3 --- /dev/null +++ b/example/lib/src/l10n/chat/app_zh_CN.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "zh_CN", + "drawerTooltipNotifications": "通知", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "帮助", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "关闭", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "账户", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "个人资料", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "账户设置", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "捐款支持", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "订阅", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "聊天", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "聊天记录", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "附带文档", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "如何使用", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "视频教程", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "法律", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "联系我们", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "错误报告", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "条款和条件", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "隐私政策", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "反馈", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "评价应用", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "与朋友分享", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "退出", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "帮助他人接受医疗服务", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "用户", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "高级功能\n与Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "获取", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "加入我们", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "应用版本:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "最近聊天", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "个人资料", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "最近聊天", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "下载应用", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "输入消息", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "附加文件", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "听写", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "结束并转录", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "发送消息", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "获取消息失败", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "获取消息失败。请再试一次。", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "获取消息", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "暂无消息。\n请发送消息开始对话。", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "已连接", + "@chatListHasConnection": {}, + "chatListNoConnection": "无连接", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "搜索", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "收藏夹", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "下载", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "打印PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "与朋友分享", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "新聊天", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "聊天", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "选择聊天", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "显示抽屉", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "暂无聊天。请刷新或创建新的聊天。", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "刷新聊天", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "创建新聊天", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "复制文本", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "正在输入\n请稍候", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "正在更新...\n请检查您的互联网连接", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "消息现在正在处理中。", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "消息太长。", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "删除附件", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "处理消息失败", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "导出为 PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "照片", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "相机", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "文件", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "照片和文件", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "希望这对您有帮助!这个解释对您有用吗?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "是的,一切都好!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "获取聊天摘要失败", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "聊天摘要已复制到剪贴板", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "在移动应用中试试Doctorina!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Download on the", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "GET IT ON", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "在 App Store 下载", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "在 Google Play 获取", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "报告消息", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "您为什么要举报此消息?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "可选:描述此消息有什么问题...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "这将帮助我们改善我们的AI响应", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "取消", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "报告", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "感谢您的反馈!报告已提交。", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "提交报告失败", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "已复制到剪贴板", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "复制消息失败", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "报告消息", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "上传到Doctorina聊天", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "将文件拖放到此处以添加到聊天", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "您可以在一条消息中添加最多15个文件", + "@chatDropZoneText": {}, + "notificationBannerText": "如果您的健康出现重要情况,您希望我通知您吗?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "是的,请通知我", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "稍后再说", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "关闭", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "通知在系统级别被阻止。在激活Doctorina的通知之前,请在系统设置中启用它们。", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "系统级别已阻止通知。在激活Doctorina的通知之前,请在浏览器设置中启用它们。", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "保持对您的咨询的更新", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina 可以在有关您健康的新见解或更新可用时通知您。", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "启用通知", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "稍后再说", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "继续即表示您同意处理个人数据,使用cookies,同意terms and conditions,并确认

privacy policy

。另外,您确认您的咨询是由人工智能提供,而非持牌医疗专业人士", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "忽略", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "先保存此聊天?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "免费注册以保存本次咨询,然后再开始新的咨询", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "开始而不保存", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "注册", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "要继续对话,请选择上面的选项", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "关闭", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "移除附件", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "从拖放区选择文件失败", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "请输入消息或附加文件", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "请等待上传完成", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "消息正在处理中", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "消息太长", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "消息正在处理中。", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "连接已永久关闭", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "无法连接到服务器", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "无法选择文件", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "无法选择图片", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "无法从相机捕获照片", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "您一次最多可以附加 {count} 个文件。", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "清除识别的文本", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "消息太长。", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "请等待上传完成", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "该 {kind} \"{name}\" 已经附加,未再次添加。", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "该 {kind} \"{name}\" 是 {exist} 的重复项,未被添加。", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "由于超过了最大附件数量,{kind} \"{name}\" 未被添加。", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "文件 \"{name}\" 是空的。", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "文件是空的。", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "文件 \"{name}\" 超过了允许的最大大小。", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "文件超过了允许的最大大小。", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "处理文件 \"{name}\" 时发生错误。", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "处理文件时发生错误", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "文件 \"{name}\" 未添加,因为附件的最大数量已超过。", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "文件未添加,因为附件的最大数量已超过。", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "未添加文件,因为已超过最大附件数量。", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "尝试添加一个没有名称的文件", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "尝试添加一个不支持的扩展名的文件:\"{name}\"。", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "尝试添加了一个不支持的扩展名的文件", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "无法添加文件", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "文件 \"{name}\" 无效,无法添加。", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "文件无效,无法添加", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "项目 \"{name}\" 不是有效的文件", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "项目不是有效的文件", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "处理项目时发生错误", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "处理项目时发生错误。", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "没有添加文件", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "由于与现有文件重复,某些文件已被跳过。", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "发生了未知错误。", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "在附加文件时发生了以下错误:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "共享文件失败:{error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "关闭", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "分享", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "加载文件...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "加载文件失败", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "发生了未知错误", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "重试", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "不支持的文件类型", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "无法预览 {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "分享文件", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "无法显示图像", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "重置缩放", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "加载 PDF 失败", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "无法解码文本内容。", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "还有 {count} 个错误。", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "文件格式不正确", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "需要同意", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "继续即表示您同意我们的条款隐私政策使用cookies,并确认此咨询由AI提供,而非持证医疗专业人员。", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "关闭", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "删除", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "删除聊天", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "聊天“{title}”已成功删除。", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "删除聊天吗?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "您在此聊天中的症状、诊断摘要和任何建议将被删除。\n此操作无法撤销。", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "放大", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "缩小", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "重置缩放", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "分享", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "今天", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "昨天", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "仅第一页。使用分享下载完整文件。", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_zh_HK.arb b/example/lib/src/l10n/chat/app_zh_HK.arb new file mode 100644 index 0000000..991abda --- /dev/null +++ b/example/lib/src/l10n/chat/app_zh_HK.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "zh_HK", + "drawerTooltipNotifications": "通知", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "幫助", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "關閉", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "帳戶", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "個人資料", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "帳戶設定", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "捐款支持", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "訂閱", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "聊天", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "聊天記錄", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "附件", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "點樣使用", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "視頻教程", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "法律", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "聯絡我哋", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "錯誤回報", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "條款及細則", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "私隱政策", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "反饋", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "評分App", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "同朋友分享", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "登出", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "幫助他人獲得醫療護理", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "用戶", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "高級功能\n同 Doctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "攞", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "加入我哋", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "應用程式版本:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "最近的聊天", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "個人資料", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "最近的聊天", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "下載應用程式", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "輸入訊息", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "附加檔案", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "語音輸入", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "完成及轉寫", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "發送訊息", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "未能取得訊息", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "攞唔到訊息。請再試一次.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "攞訊息", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "冇訊息可用. 請發送訊息開始對話.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "已連接", + "@chatListHasConnection": {}, + "chatListNoConnection": "冇連線", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "搜尋", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "最愛", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "下載", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "列印PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "同朋友分享", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "新聊天", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "聊天", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "揀聊天", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "顯示抽屜", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "冇傾偈可用。請刷新或創建新嘅傾偈.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "刷新聊天", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "創建新聊天", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "複製文字", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "輸入中\n請稍等", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "正在更新...\n請檢查您的網絡連接", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "訊息而家已經喺處理緊.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "訊息太長.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "移除附件", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "處理訊息失敗", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "匯出到 PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "相片", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "相機", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "檔案", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "照片和文件", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "希望幫到你! 呢個解釋對你有冇用?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "係, 一切都好!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "攞唔到聊天摘要", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "聊天摘要已複製到剪貼簿", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "喺手機應用程式試下Doctorina!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "下載", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "GET IT ON", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "在 App Store 下載", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "在 Google Play 取得", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "報告消息", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "你為什麼要舉報這條消息?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "可選:描述此消息的問題...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "這將幫助我們改善我們的 AI 回應", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "取消", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "舉報", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "謝謝你的反饋!報告已提交", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "提交報告失敗", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "已複製到剪貼簿", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "複製訊息失敗", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "報告消息", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "上傳到Doctorina聊天", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "將文件拖放到這裡以添加到聊天", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "您可以在一條消息中添加最多15個文件", + "@chatDropZoneText": {}, + "notificationBannerText": "如果有關於您的健康的重要信息出現,您希望我通知您嗎?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "是的,通知我", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "稍後再說", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "關閉", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "通知在系統層級被阻止。在啟用Doctorina的通知之前,請在系統設置中啟用它們。", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "通知在系統層級被阻止。在啟用Doctorina的通知之前,請在瀏覽器設置中啟用它們。", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "保持對您的諮詢的最新消息", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "Doctorina 可以在有關您的健康的新見解或更新可用時通知您。", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "啟用通知", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "稍後再說", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "繼續即表示您同意個人資料處理、使用 cookies、同意 條款及細則,並確認

私隱政策

。此外,您亦確認您的諮詢是與 AI 而非持牌醫療專業人士進行", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "關閉", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "先儲存此對話?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "免費註冊以儲存此諮詢,然後再開始新的諮詢", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "不儲存即開始", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "註冊", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "要繼續對話,請選擇上面的選項", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "關閉", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "移除附件", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "無法從拖放區選擇文件", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "請輸入消息或附加文件", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "請等待上傳完成", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "消息正在處理中", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "消息太長", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "消息目前正在處理中。", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "連接已永久關閉", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "無法連接到伺服器", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "無法選擇文件", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "無法選擇圖片", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "無法從相機捕捉照片", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "您一次最多可以附加 {count} 個文件。", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "清除已識別的文本", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "訊息太長了。", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "請等待上傳完成。", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "該 {kind} \"{name}\" 已經附加,未再次添加。", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "The {kind} \"{name}\" 是 {exist} 的重複項,未被添加。", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "The {kind} \"{name}\" 未被添加,因為已超過附件的最大數量。", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "文件 \"{name}\" 是空的。", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "文件是空的。", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "文件 \"{name}\" 超過了允許的最大大小。", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "文件超出允許的最大大小。", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "處理文件 \"{name}\" 時發生錯誤。", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "處理文件時發生錯誤。", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "檔案 \"{name}\" 未被添加,因為已超過附件的最大數量。", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "未添加文件,因為附件的最大數量已超過。", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "未添加文件,因為附件的最大數量已超過。", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "嘗試添加了一個沒有名稱的文件。", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "嘗試添加一個不支持的擴展名的文件: \"{name}\"。", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "嘗試添加不支持的擴展名的文件。", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "無法添加文件。", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "檔案 \"{name}\" 無效,無法添加。", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "文件無效,無法添加。", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "項目 \"{name}\" 不是有效的文件", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "項目不是有效的文件。", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "處理項目時發生錯誤。", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "處理項目時發生錯誤。", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "沒有添加任何文件。", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "有些文件因與現有文件重複而被跳過。", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "發生未知錯誤。", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "在附加文件時發生以下錯誤:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "分享文件失敗: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "關閉", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "分享", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "正在加載文件...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "無法加載文件", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "發生未知錯誤", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "重試", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "不支持的文件類型", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "無法預覽 {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "分享文件", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "無法顯示圖片", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "重置縮放", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "無法加載PDF", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "無法解碼文本內容。", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "還有 {count} 個錯誤。", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "文件格式錯誤", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "需要同意", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "繼續即表示您同意我們的 條款隱私政策使用餅乾,並確認此諮詢是由 AI 提供,而非持牌醫療專業人員。", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "關閉", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "刪除", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "刪除聊天", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "聊天 “{title}” 已成功刪除。", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "刪除聊天?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "您在此聊天中的症狀、診斷摘要和任何建議將被刪除。\n此操作無法撤銷。", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "放大", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "縮小", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "重設縮放", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "分享", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "今天", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "昨天", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "僅顯示第一頁。使用「分享」下載完整檔案。", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/chat/app_zu.arb b/example/lib/src/l10n/chat/app_zu.arb new file mode 100644 index 0000000..f664ad9 --- /dev/null +++ b/example/lib/src/l10n/chat/app_zu.arb @@ -0,0 +1,742 @@ +{ + "@@locale": "zu", + "drawerTooltipNotifications": "Izaziso", + "@drawerTooltipNotifications": {}, + "drawerTooltipHelp": "Usizo", + "@drawerTooltipHelp": {}, + "drawerTooltipClose": "Vala", + "@drawerTooltipClose": {}, + "drawerSectionTitleAccount": "I-akhawunti", + "@drawerSectionTitleAccount": {}, + "drawerSectionProfile": "Iphrofayili", + "@drawerSectionProfile": {}, + "drawerSectionAccountSettings": "Izilungiselelo Ze-akhawunti", + "@drawerSectionAccountSettings": {}, + "drawerSectionDonateToSupport": "Phakela ukuze usekela", + "@drawerSectionDonateToSupport": {}, + "drawerSectionSubscription": "Ukubhalisela", + "@drawerSectionSubscription": {}, + "drawerSectionTitleChats": "Ingxoxo", + "@drawerSectionTitleChats": {}, + "drawerSectionChatHistory": "Umlando lwezingxoxo", + "@drawerSectionChatHistory": { + "description": "История чатов, имеется ввиду список чатов пользователя" + }, + "drawerSectionAttachedDocuments": "Izincwadi ezihlanganisiwe", + "@drawerSectionAttachedDocuments": {}, + "drawerSectionTitleHowToUse": "Indlela yokusebenzisa", + "@drawerSectionTitleHowToUse": {}, + "drawerSectionVideoTutorials": "Ividiyo Zokufundisa", + "@drawerSectionVideoTutorials": {}, + "drawerSectionTitleLegal": "Umlawuli", + "@drawerSectionTitleLegal": {}, + "drawerSectionContactUs": "Xhumana Nathi", + "@drawerSectionContactUs": {}, + "drawerSectionBugReport": "Umbiko Wokwephula", + "@drawerSectionBugReport": {}, + "drawerSectionTermsAndConditions": "Imigomo Nezimo", + "@drawerSectionTermsAndConditions": {}, + "drawerSectionPrivacyPolicy": "Umthetho Wokuphepha Kwedatha", + "@drawerSectionPrivacyPolicy": {}, + "drawerSectionTitleFeedback": "Impendulo", + "@drawerSectionTitleFeedback": {}, + "drawerSectionRateApp": "Bhala uhlelo", + "@drawerSectionRateApp": {}, + "drawerSectionShareWithFriends": "Yabelana nabangani", + "@drawerSectionShareWithFriends": {}, + "drawerButtonLogOut": "Phuma", + "@drawerButtonLogOut": {}, + "drawerBannerHelpOthersReceiveMedicalCare": "Siza abanye ukuthola ukunakekelwa kwezokwelapha", + "@drawerBannerHelpOthersReceiveMedicalCare": {}, + "drawerPlaceholderUser": "Umsebenzisi", + "@drawerPlaceholderUser": { + "description": "Если нет имени пользователя, емейла, телефона - по умолчанию." + }, + "drawerSubscriptionLabelPremiumFeaturesWithDoctorina": "Izici eziphakeme\nnoDoctorina", + "@drawerSubscriptionLabelPremiumFeaturesWithDoctorina": {}, + "drawerSubscriptionButtonGetPremiumFeatures": "Thola", + "@drawerSubscriptionButtonGetPremiumFeatures": {}, + "drawerLabelJoinUs": "Joyina nathi", + "@drawerLabelJoinUs": { + "description": "Надпись перед иконками социальных сетей" + }, + "drawerTooltipVersion": "Inguqulo yesicelo:", + "@drawerTooltipVersion": { + "description": "Подсказка при наведении на версию приложения" + }, + "drawerSectionRecentChats": "Izinkulumo Zakamuva", + "@drawerSectionRecentChats": { + "description": "Заголовок секции недавних чатов в боковом меню" + }, + "drawerPlaceholderProfile": "Iphrofayili", + "@drawerPlaceholderProfile": { + "description": "Плейсхолдер профиля в боковом меню" + }, + "drawerPlaceholderRecentChat": "Ingxoxo yakamuva", + "@drawerPlaceholderRecentChat": { + "description": "Плейсхолдер недавнего чата в боковом меню" + }, + "drawerSectionDownloadApps": "Landa Izinhlelo", + "@drawerSectionDownloadApps": { + "description": "Заголовок секции скачивания приложений в боковом меню" + }, + "chatInputHintEnterMessage": "Faka umyalezo", + "@chatInputHintEnterMessage": { + "description": "Подсказка в поле ввода чата" + }, + "chatInputTooltipAttachFile": "Faka ifayela", + "@chatInputTooltipAttachFile": {}, + "chatInputTooltipDictateMessage": "Phawula", + "@chatInputTooltipDictateMessage": { + "description": "Надиктовать голосовое сообщение" + }, + "chatInputTooltipDictateFinishMessage": "Qeda & Bhala", + "@chatInputTooltipDictateFinishMessage": { + "description": "Закончить запись голосового сообщения и распознать в текст" + }, + "chatInputTooltipSendMessage": "Thumela umlayezo", + "@chatInputTooltipSendMessage": {}, + "chatListSnackBarErrorFailedToFetchMessages": "Ukuphuma kwemiyalezo kwehlulekile", + "@chatListSnackBarErrorFailedToFetchMessages": {}, + "chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": "Kwehluleka ukuthola imiyalezo. Sicela uzame futhi.", + "@chatListLabelErrorFailedToFetchMessagesPleaseTryAgain": {}, + "chatListTooltipFetchMessages": "Thola imiyalezo", + "@chatListTooltipFetchMessages": {}, + "chatListLabelNoMessagesAvailable": "Ayikho imiyalezo etholakalayo. Sicela uthumele umyalezo ukuze uqale ingxoxo.", + "@chatListLabelNoMessagesAvailable": {}, + "chatListHasConnection": "Uxhumeke", + "@chatListHasConnection": {}, + "chatListNoConnection": "Ayikho uxhumano", + "@chatListNoConnection": {}, + "chatActionButtonTooltipSearch": "Sesha", + "@chatActionButtonTooltipSearch": {}, + "chatActionButtonTooltipFavorites": "Izintandokazi", + "@chatActionButtonTooltipFavorites": {}, + "chatActionButtonTooltipDownload": "Landa", + "@chatActionButtonTooltipDownload": {}, + "chatActionButtonTooltipPrintPdf": "Printa i-PDF", + "@chatActionButtonTooltipPrintPdf": {}, + "chatActionButtonTooltipShareWithFriends": "Yabelana nabangani", + "@chatActionButtonTooltipShareWithFriends": {}, + "chatActionButtonTooltipNewChat": "Ingxoxo entsha", + "@chatActionButtonTooltipNewChat": {}, + "chatActionButtonNewChat": "Ingxoxo", + "@chatActionButtonNewChat": {}, + "chatActionButtonTooltipChatList": "Khetha Ingxoxo", + "@chatActionButtonTooltipChatList": {}, + "chatActionButtonTooltipShowDrawer": "Bonisa i-drawer", + "@chatActionButtonTooltipShowDrawer": { + "description": "Leading кнопка AppBar открывающая панель Drawer'а" + }, + "chatLabelNoChatAvailableRefresh": "Ayikho imiyalezo etholakalayo. Sicela uvuselele noma udale imiyalezo emisha.", + "@chatLabelNoChatAvailableRefresh": {}, + "chatButtonRefreshChats": "Vuselela izingxoxo", + "@chatButtonRefreshChats": {}, + "chatButtonCreateNewChat": "Dala ingxoxo entsha", + "@chatButtonCreateNewChat": {}, + "chatContextMenuCopyMessage": "Copy text", + "@chatContextMenuCopyMessage": { + "description": "Контекстное меню \"скопировать текст сообщения\"" + }, + "chatStatusProcessingMessages": "Bhala", + "@chatStatusProcessingMessages": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что ответ задерживается. ⚠️⚠️⚠️ " + }, + "chatNoConnectionLabel": "Ubuyekeze...\nSicela uhlole uxhumano lwakho lwe-inthanethi", + "@chatNoConnectionLabel": { + "description": "⚠️⚠️⚠️ Каждая новая строка - следующее сообщение,\nо том что интернета все еще нет. ⚠️⚠️⚠️ " + }, + "chatErrorMessageAlreadyProcessed": "Umyalezo usuphakathi kokucubungula.", + "@chatErrorMessageAlreadyProcessed": {}, + "chatErrorMessageTooLong": "Umyalezo lungile kakhulu.", + "@chatErrorMessageTooLong": {}, + "chatRemoveAttachmentTooltip": "Susa isixhumanisi", + "@chatRemoveAttachmentTooltip": {}, + "chatStatusFailedMessage": "Umyalezo awuphumelelanga", + "@chatStatusFailedMessage": { + "description": "Сообщение отображаемое на статус-ошибку с BE." + }, + "chatActionButtonTooltipExportSummary": "Thumela ku-PDF", + "@chatActionButtonTooltipExportSummary": { + "description": "Подсказка для кнопки открывающей боттом шит по экспорту саммари в PDF" + }, + "chatActionExportToPdfTitle": "PDF", + "@chatActionExportToPdfTitle": {}, + "chatPickerPhotos": "Izithombe", + "@chatPickerPhotos": { + "description": "Надпись в меню для выбора из галлереи" + }, + "chatPickerCamera": "Ikhamera", + "@chatPickerCamera": { + "description": "Надпись в меню для прикрепления фото с помощью камеры" + }, + "chatPickerFiles": "Amafayela", + "@chatPickerFiles": { + "description": "Надпись в меню для выбора файлов" + }, + "chatPickerPhotosFiles": "Izithombe nezifayela", + "@chatPickerPhotosFiles": { + "description": "Надпись в меню для выбора фотографий и файлов" + }, + "chatRecommendationYIAG": "Ngiyethemba lokhu kusizile! Ingabe le mpendulo ikusize?", + "@chatRecommendationYIAG": {}, + "chatRecommendationButtonDonate": "Yebo, konke kulungile!", + "@chatRecommendationButtonDonate": { + "description": "Кнопка отображаемая после финальных рекомендаций, для пользователей без подписки" + }, + "failedToRetrieveChatSummary": "Kwehluleka ukuthola isifinyezo sokuxhumana", + "@failedToRetrieveChatSummary": {}, + "chatSummaryCopiedToClipboard": "Isifinyezo socingo sikhophiwe kwi-clipboard", + "@chatSummaryCopiedToClipboard": {}, + "tryDoctorinaInTheMobileApp": "Zama uDoctorina kuhlelo lokusebenza lweselula!", + "@tryDoctorinaInTheMobileApp": { + "description": "Надпись предлагающая попробывать нейтивные мобильные приложения вместо веба" + }, + "getAppStoreLogoLabel": "Landa ku-", + "@getAppStoreLogoLabel": { + "description": "Лейбл как часть надписи \"Download on the App Store\", должен быть емким, чтоб помещаться в кнопку." + }, + "getGooglePlayLogoLabel": "THOLA", + "@getGooglePlayLogoLabel": { + "description": "Лейбл как часть надписи \"GET IT ON Google Play\", должен быть емким, чтоб помещаться в кнопку." + }, + "getAppStoreLogoTooltip": "Landa ku-App Store", + "@getAppStoreLogoTooltip": { + "description": "Подсказка к кнопке \"Download on the App Store\"" + }, + "getGooglePlayLogoTooltip": "Thola ku-Google Play", + "@getGooglePlayLogoTooltip": { + "description": "Подсказка к кнопке \"Get it on Google Play\"" + }, + "reportMessageDialogTitle": "Bika Umyalezo", + "@reportMessageDialogTitle": { + "description": "Заголовок диалога жалобы на сообщение" + }, + "reportMessageDialogSubtitle": "Kungani ubika le mlayezo?", + "@reportMessageDialogSubtitle": { + "description": "Диалог жалобы на сообщение, текст вопроса" + }, + "reportMessageDialogTextFieldHint": "Okukhethwa: Chaza ukuthi kukuphi okungalungile kulolu myalezo...", + "@reportMessageDialogTextFieldHint": { + "description": "Хинт поля ввода в диалоге жалобы на сообщение" + }, + "reportMessageDialogWhyImportant": "Lokhu kuzosisiza sithuthukise izimpendulo ze-AI zethu.", + "@reportMessageDialogWhyImportant": { + "description": "Диалог жалобы на сообщение, почему это важно" + }, + "reportMessageDialogCancelButton": "Khansela", + "@reportMessageDialogCancelButton": { + "description": "Диалог жалобы на сообщение, кнопка отмены" + }, + "reportMessageDialogReportButton": "Bika", + "@reportMessageDialogReportButton": { + "description": "Диалог жалобы на сообщение, кнопка отправить жалобу" + }, + "reportMessageSnackbarSuccess": "Ngiyabonga ngempela! Umbiko uthunyelwe.", + "@reportMessageSnackbarSuccess": { + "description": "Снэкбар об успешной отправке жалобы" + }, + "reportMessageSnackbarFailed": "Ukuphumelela kokuthumela umbiko akuphumelelanga", + "@reportMessageSnackbarFailed": { + "description": "Снэкбар о не успешной отправке жалобы" + }, + "copyMessageSnackbarSuccess": "Kopishwe ku-clipboard", + "@copyMessageSnackbarSuccess": { + "description": "Снэкбар об успешном копировании в буфер обмена" + }, + "copyMessageSnackbarFailed": "Ukwenza ikhophi umyalezo akuphumelelanga", + "@copyMessageSnackbarFailed": { + "description": "Снэкбар о не успешном копировании в буфер обмена" + }, + "chatContextMenuReportMessage": "Bika Umyalezo", + "@chatContextMenuReportMessage": { + "description": "Контекстное меню \"пожаловаться на сообщение\"" + }, + "chatDropZoneTitle": "Layisha kuDoctorina chat", + "@chatDropZoneTitle": {}, + "chatDropZoneSubtitle": "Donsa futhi udayise amafayela lapha ukuze ungeze engxoxweni", + "@chatDropZoneSubtitle": {}, + "chatDropZoneText": "Ungakwazi ukwengeza amafayela angama-15 kumyalezo owodwa", + "@chatDropZoneText": {}, + "notificationBannerText": "Ungathanda ngikubikele uma kwenzeka okuthile okubalulekile mayelana nempilo yakho?", + "@notificationBannerText": { + "description": "Текст предлагающий пользователю включить пуш уведомления" + }, + "notificationBannerButtonEnable": "Yebo, ngazise", + "@notificationBannerButtonEnable": { + "description": "Кнопка разрешающая включить уведомления" + }, + "notificationBannerButtonDisable": "Maybe later", + "@notificationBannerButtonDisable": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationBannerButtonClose": "Vala", + "@notificationBannerButtonClose": { + "description": "Кнопка временно скрывающая баннер запроса пуш уведомлений" + }, + "notificationAreBlockedSystem": "Izaziso zivali ezingeni lesistimu. Zivule ezilungiselelweni zesistimu ngaphambi kokuthi uvule izaziso zeDoctorina.", + "@notificationAreBlockedSystem": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах операционной системы" + }, + "notificationAreBlockedBrowser": "Izaziso zivaliwe ezingeni lesistimu. Zivule kwi-settings zebhrawuza ngaphambi kokuthi uvule izaziso zeDoctorina.", + "@notificationAreBlockedBrowser": { + "description": "Сообщение об ошибке, уведомления отключены для приложения в пермишенах браузера" + }, + "notificationDialogTitle": "Hlala unolwazi mayelana nokubonisana kwakho", + "@notificationDialogTitle": { + "description": "Title for notification dialog" + }, + "notificationDialogDescription": "IDoctorina ingakazisa uma kukhona okuthile okusha noma izibuyekezo mayelana nempilo yakho.", + "@notificationDialogDescription": { + "description": "Description for notification dialog" + }, + "notificationDialogEnableButton": "Vula izaziso", + "@notificationDialogEnableButton": { + "description": "Title for button to enable notifications" + }, + "notificationDialogLaterButton": "Maybe later", + "@notificationDialogLaterButton": { + "description": "Title for button to skip enable notifications" + }, + "termsAndConditionBannerText": "Uma uqhubeka, uvuma ukucutshungulwa kwedatha yomuntu siqu, ukusetshenziswa kwe-cookies, uvuma imigomo nemibandela futhi uvuma

inqubomgomo yobumfihlo

. Futhi, uyavuma ukuthi ukubonisana kwakho kwenziwa nge-AI hhayi udokotela onelayisensi yezokwelapha", + "@termsAndConditionBannerText": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах , ,

указаны кликабельн спан, он должны присутсвовать во всех языках." + }, + "termsAndConditionBannerDismissTooltip": "Susa", + "@termsAndConditionBannerDismissTooltip": { + "description": "Tooltip for dimiss banner" + }, + "anonUserNewChatCreationWarningTitle": "Londoloza lengxoxo kuqala?", + "@anonUserNewChatCreationWarningTitle": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningText": "Bhalisa mahhala ukuze ulondoloze lokhu kubonisana ngaphambi kokuqala okusha", + "@anonUserNewChatCreationWarningText": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueBtn": "Qala ngaphandle kokugcina", + "@anonUserNewChatCreationWarningContinueBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": "Bhalisa", + "@anonUserNewChatCreationWarningContinueLoginOrSignUpBtn": { + "description": "When anon users tries to create new chat, they would get warning dialog that they would lose chat history" + }, + "inputBlockerContinueMessage": "Ukuqhubeka nengxoxo, khetha inketho engenhla", + "@inputBlockerContinueMessage": { + "description": "Message shown when chat input is blocked, prompting user to choose an option" + }, + "chatServerDialogCloseBtnTooltip": "Vala", + "@chatServerDialogCloseBtnTooltip": { + "description": "Tooltip for dimiss banner" + }, + "chatAttachmentRemoveTooltip": "Susa isixhumanisi", + "@chatAttachmentRemoveTooltip": { + "description": "Tooltip for remove attachment button on attachment card/chip" + }, + "chatAttachmentErrorPickFilesDropZone": "Kwephula ukukhetha amafayela endaweni yokudonsha", + "@chatAttachmentErrorPickFilesDropZone": { + "description": "Error when picking files from drop zone fails" + }, + "chatAttachmentErrorEnterMessageOrAttach": "Sicela ufake umyalezo noma uhlanganise ifayela", + "@chatAttachmentErrorEnterMessageOrAttach": { + "description": "Error when sending with empty message and no attachments" + }, + "chatAttachmentErrorWaitForUploads": "Sicela ulinde ukuthi ukulayisha kuqedwe", + "@chatAttachmentErrorWaitForUploads": { + "description": "Error when send is pressed while uploads are in progress" + }, + "chatAttachmentErrorMessageProcessing": "Umyalezo uyacubungula", + "@chatAttachmentErrorMessageProcessing": { + "description": "Error when message is already being processed" + }, + "chatAttachmentErrorMessageTooLong": "Umyalezo lungile kakhulu", + "@chatAttachmentErrorMessageTooLong": { + "description": "Error when message exceeds max length" + }, + "chatAttachmentErrorMessageAlreadyProcessing": "Umyalezo usuke uqhutshwa njengamanje.", + "@chatAttachmentErrorMessageAlreadyProcessing": { + "description": "Send button tooltip when message is already being processed" + }, + "chatAttachmentErrorConnectionClosed": "Uxhumano lwaluphume ngokuphelele", + "@chatAttachmentErrorConnectionClosed": { + "description": "Error when connection is permanently closed" + }, + "chatAttachmentErrorNoConnection": "Ayikho uxhumano ne-server", + "@chatAttachmentErrorNoConnection": { + "description": "Error when there is no connection to server" + }, + "chatAttachmentErrorPickFiles": "Ukukhetha amafayela kwehlulekile", + "@chatAttachmentErrorPickFiles": { + "description": "Error when file picker fails" + }, + "chatAttachmentErrorPickImages": "Ukukhetha izithombe kuhlulekile", + "@chatAttachmentErrorPickImages": { + "description": "Error when image picker fails" + }, + "chatAttachmentErrorCapturePhoto": "Ukwazi ukuthwebula isithombe kukhamera akuphumelelanga", + "@chatAttachmentErrorCapturePhoto": { + "description": "Error when camera capture fails" + }, + "chatAttachmentErrorMaxFiles": "Ungakwazi ukufaka amafayela angama-{count} ngasikhathi sinye.", + "@chatAttachmentErrorMaxFiles": { + "description": "Error when attachment limit is reached at pick", + "placeholders": { + "count": { + "type": "int", + "example": "10", + "description": "Number of items" + } + } + }, + "chatInputTooltipClearRecognizedText": "Susa umbhalo obonakele", + "@chatInputTooltipClearRecognizedText": { + "description": "Tooltip for clear recognized text button" + }, + "chatInputTooltipMessageTooLong": "Umyalezo lungile kakhulu.", + "@chatInputTooltipMessageTooLong": { + "description": "Send button tooltip when message is too long" + }, + "chatInputTooltipWaitForUploads": "Sicela ulinde ukuthi ukulayisha kuqedwe.", + "@chatInputTooltipWaitForUploads": { + "description": "Send button tooltip when uploads are pending" + }, + "chatAttachmentErrorMergeAlreadyAttached": "I-{kind} \"{name}\" isiveleliwe futhi ayizange ifakwe futhi.", + "@chatAttachmentErrorMergeAlreadyAttached": { + "description": "PickerException: file already attached (merge duplicate)", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorMergeDuplicate": "I-{kind} \"{name}\" iyafana ne-{exist} futhi ayizange ifakwe.", + "@chatAttachmentErrorMergeDuplicate": { + "description": "PickerException: file is duplicate of existing", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + }, + "exist": { + "type": "String", + "example": "photo.jpg", + "description": "Name of the already-attached file it duplicates" + } + } + }, + "chatAttachmentErrorMergeLimit": "I-{kind} \"{name}\" ayizange engezelelwe ngoba inani eliphezulu lezithasiselo lidlulelwe.", + "@chatAttachmentErrorMergeLimit": { + "description": "PickerException: limit exceeded when adding file", + "placeholders": { + "kind": { + "type": "String", + "example": "file", + "description": "Kind of attachment, e.g. file / image" + }, + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmptyWithName": "Ifayela elithi \"{name}\" alinalutho.", + "@chatAttachmentErrorFileEmptyWithName": { + "description": "Snackbar: file is empty (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileEmpty": "Ifayela liphumelele.", + "@chatAttachmentErrorFileEmpty": { + "description": "Snackbar: file is empty" + }, + "chatAttachmentErrorFileSizeWithName": "Ifayela elithi \"{name}\" lidlula usayizi omkhulu ovunyelwe.", + "@chatAttachmentErrorFileSizeWithName": { + "description": "Snackbar: file exceeds max size (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileSize": "Ifayela lidlula imikhawulo evumelekile.", + "@chatAttachmentErrorFileSize": { + "description": "Snackbar: file exceeds max size" + }, + "chatAttachmentErrorFileProcessingWithName": "Kwenzeka iphutha ngesikhathi sokucubungula ifayela \"{name}\".", + "@chatAttachmentErrorFileProcessingWithName": { + "description": "Snackbar: error processing file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileProcessing": "Kwenzeka iphutha ngesikhathi sokucubungula ifayela.", + "@chatAttachmentErrorFileProcessing": { + "description": "Snackbar: error processing file" + }, + "chatAttachmentErrorFileLimitWithName": "Ifayela elithi \"{name}\" alizange lengezelelwe ngoba inani eliphezulu leziqeshana lidlulelwe.", + "@chatAttachmentErrorFileLimitWithName": { + "description": "Snackbar: file not added, limit exceeded (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileLimitMultiple": "Ifayela(ama) alizange engeze, ngoba inani eliphezulu leziqeshana lidlulelwe.", + "@chatAttachmentErrorFileLimitMultiple": { + "description": "Snackbar: multiple files not added, limit exceeded" + }, + "chatAttachmentErrorFileLimitSingle": "Ifayela alizange lingeniswe ngoba inani eliphezulu leziqeshana lidlulelwe.", + "@chatAttachmentErrorFileLimitSingle": { + "description": "Snackbar: one file not added, limit exceeded" + }, + "chatAttachmentErrorFileMissingName": "Kwaziswa ifayela elingenanoma iyiphi igama.", + "@chatAttachmentErrorFileMissingName": { + "description": "Snackbar: file without name" + }, + "chatAttachmentErrorFileExtensionWithName": "Ifayela eline-extensions engasekeliwe luzame ukufakwa: \"{name}\".", + "@chatAttachmentErrorFileExtensionWithName": { + "description": "Snackbar: unsupported extension (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileExtension": "Kwakuzanywa ifayela eline-extension engasekeliwe.", + "@chatAttachmentErrorFileExtension": { + "description": "Snackbar: unsupported extension" + }, + "chatAttachmentErrorFileNull": "Akukho ndlela yokwengeza ifayela.", + "@chatAttachmentErrorFileNull": { + "description": "Snackbar: impossible to add file" + }, + "chatAttachmentErrorFileInvalidWithName": "Ifayela elithi \"{name}\" alilungile futhi alikwazi ukufakwa.", + "@chatAttachmentErrorFileInvalidWithName": { + "description": "Snackbar: file invalid (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorFileInvalid": "Ifayela alisebenzi futhi alikwazi ukufakwa.", + "@chatAttachmentErrorFileInvalid": { + "description": "Snackbar: file invalid" + }, + "chatAttachmentErrorItemNotFileWithName": "Into ethi \"{name}\" ayifayili.", + "@chatAttachmentErrorItemNotFileWithName": { + "description": "Snackbar: item not valid file (with name)", + "placeholders": { + "name": { + "type": "String", + "example": "report.pdf", + "description": "File name" + } + } + }, + "chatAttachmentErrorItemNotFile": "Into ayifayili efanele.", + "@chatAttachmentErrorItemNotFile": { + "description": "Snackbar: item not valid file" + }, + "chatAttachmentErrorItemProcessingSingle": "Kwenzekile iphutha ngesikhathi sokucubungula into.", + "@chatAttachmentErrorItemProcessingSingle": { + "description": "Snackbar: error processing item (single)" + }, + "chatAttachmentErrorItemProcessingMultiple": "Kwenzekile iphutha ngesikhathi sokucubungula into(zo).", + "@chatAttachmentErrorItemProcessingMultiple": { + "description": "Snackbar: error processing items (multiple)" + }, + "chatAttachmentErrorNoFiles": "Ayikho ifayela elengeziwe.", + "@chatAttachmentErrorNoFiles": { + "description": "Snackbar: no files added" + }, + "chatAttachmentErrorFileDuplicates": "Ezinye amafayela aphuthelwe ngenxa yokuphindaphindwa namafayela akhona.", + "@chatAttachmentErrorFileDuplicates": { + "description": "Snackbar: files skipped as duplicates" + }, + "chatAttachmentErrorUnknown": "Kwenzeka iphutha elingaziwa.", + "@chatAttachmentErrorUnknown": { + "description": "Snackbar: unknown error" + }, + "chatAttachmentErrorSnackbarHeader": "Izi zinkinga ezilandelayo zenzeka ngesikhathi sokuhlanganisa amafayela:", + "@chatAttachmentErrorSnackbarHeader": { + "description": "Snackbar header when multiple attach errors" + }, + "chatAttachmentPreviewErrorShare": "Ukuphakela ifayela akuphumelelanga: {error}", + "@chatAttachmentPreviewErrorShare": { + "description": "Attachment preview: share failed", + "placeholders": { + "error": { + "type": "String", + "example": "Permission denied", + "description": "Underlying error message" + } + } + }, + "chatAttachmentPreviewTooltipClose": "Vala", + "@chatAttachmentPreviewTooltipClose": { + "description": "Attachment preview app bar close button" + }, + "chatAttachmentPreviewTooltipShare": "Yabelana", + "@chatAttachmentPreviewTooltipShare": { + "description": "Attachment preview app bar share button" + }, + "chatAttachmentPreviewLoading": "Ukulayisha ifayela...", + "@chatAttachmentPreviewLoading": { + "description": "Attachment preview loading state" + }, + "chatAttachmentPreviewErrorLoad": "Ukulayisha ifayela kwehlulekile", + "@chatAttachmentPreviewErrorLoad": { + "description": "Attachment preview error state title" + }, + "chatAttachmentPreviewErrorUnknown": "Kwenzeka iphutha elingaziwa", + "@chatAttachmentPreviewErrorUnknown": { + "description": "Attachment preview error fallback" + }, + "chatAttachmentPreviewButtonRetry": "Phinda", + "@chatAttachmentPreviewButtonRetry": { + "description": "Attachment preview retry button" + }, + "chatAttachmentPreviewUnsupportedType": "Uhlobo lwefayela olungasekeliwe", + "@chatAttachmentPreviewUnsupportedType": { + "description": "Attachment preview unsupported type title" + }, + "chatAttachmentPreviewCannotPreview": "Ayikwazi ukubonisa {contentType}", + "@chatAttachmentPreviewCannotPreview": { + "description": "Attachment preview cannot preview content type", + "placeholders": { + "contentType": { + "type": "String", + "example": "application/pdf", + "description": "MIME type of the content" + } + } + }, + "chatAttachmentPreviewButtonShareFile": "Yabelana Ifayela", + "@chatAttachmentPreviewButtonShareFile": { + "description": "Attachment preview share file button" + }, + "chatAttachmentPreviewErrorImage": "Ukukhombisa isithombe kwehlulekile", + "@chatAttachmentPreviewErrorImage": { + "description": "Attachment preview image display failed" + }, + "chatAttachmentPreviewTooltipResetZoom": "Phinda ububanzi", + "@chatAttachmentPreviewTooltipResetZoom": { + "description": "Attachment preview reset zoom FAB" + }, + "chatAttachmentPreviewErrorPdf": "Ukulayisha i-PDF kwehlulekile", + "@chatAttachmentPreviewErrorPdf": { + "description": "Attachment preview PDF load failed" + }, + "chatAttachmentPreviewErrorDecodeText": "Ukwehlukanisa okuqukethwe kombhalo akuphumelelanga.", + "@chatAttachmentPreviewErrorDecodeText": { + "description": "Attachment preview text decode failed" + }, + "chatAttachmentErrorSnackbarMore": "Futhi {count} emaphutha.", + "@chatAttachmentErrorSnackbarMore": { + "description": "Snackbar: N more errors", + "placeholders": { + "count": { + "type": "int", + "example": "3", + "description": "Number of items" + } + } + }, + "chatAttachmentPreviewFileMalformed": "Ifayela alilungile", + "@chatAttachmentPreviewFileMalformed": { + "description": "Attachment preview: file malformed" + }, + "chatConsentRequiredTitle": "Imvume Iyadingeka", + "@chatConsentRequiredTitle": { + "description": "Title \"Consent Required\"" + }, + "chatConsentRequiredText": "Ngok继续, uvuma Imigomo, Umthetho Wokuphepha, kanye ukusetshenziswa kwamakhukhi, futhi uqinisekisa ukuthi le ngxoxo inikezwa yi-AI, hhayi uchwepheshe wezokwelapha onelayisensi.", + "@chatConsentRequiredText": { + "description": "Text of \"Privacy policy\" and \"Terms and Conditions\"" + }, + "chatConsentRequiredCloseTooltip": "Vala", + "@chatConsentRequiredCloseTooltip": { + "description": "Tooltip for button close \"Consent Required\"" + }, + "chatHistoryDelete": "Susa", + "@chatHistoryDelete": { + "description": "Popup menu button" + }, + "chatDelete": "Susa ingxoxo", + "@chatDelete": { + "description": "Popup menu button" + }, + "chatHistoryDeletedSnackbarSuccess": "I-chat ethi-„{title}” isususiwe ngempumelelo.", + "@chatHistoryDeletedSnackbarSuccess": { + "description": "Snack bar message for successfully deleted chat", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "chatDeleteConfirmationTitle": "Susa ingxoxo?", + "@chatDeleteConfirmationTitle": { + "description": "Заголовок модального окна подтверждения удаления чата" + }, + "chatDeleteConfirmationSubtitle": "Izimpawu zakho, isifinyezo sokuxilonga, kanye nanoma yiziphi iziphakamiso kule ngxoxo zizokhishwa.\nLe nqubo ayinakubuyiselwa.", + "@chatDeleteConfirmationSubtitle": { + "description": "Текст модального окна подтверждения удаления чата" + }, + "chatAttachmentPreviewZoomInTooltip": "Khulisa", + "@chatAttachmentPreviewZoomInTooltip": { + "description": "Tooltip for zoom in button in preview attachment screen" + }, + "chatAttachmentPreviewZoomOutTooltip": "Nciphisa", + "@chatAttachmentPreviewZoomOutTooltip": {}, + "chatAttachmentPreviewZoomResetTooltip": "Phinda i-zoom", + "@chatAttachmentPreviewZoomResetTooltip": {}, + "chatAttachmentPreviewShareTooltip": "Yabelana", + "@chatAttachmentPreviewShareTooltip": {}, + "dateToday": "Namuhla", + "@dateToday": { + "description": "Запись даты \"сегодня\"" + }, + "dateYesterday": "Izolo", + "@dateYesterday": { + "description": "Запись даты \"вчера\"" + }, + "chatAttachmentPreviewDocumentNotice": "Ikhasi lokuqala kuphela. Sebenzisa i-Share ukuze ulande ifayela eliphelele.", + "@chatAttachmentPreviewDocumentNotice": { + "description": "Уведомление в предпросмотре вложения, если документ показан как превью первой страницы" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_af.arb b/example/lib/src/l10n/errors/app_af.arb new file mode 100644 index 0000000..ed75f9f --- /dev/null +++ b/example/lib/src/l10n/errors/app_af.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "af", + "error": "Daar het 'n fout voorgekom", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Daar het 'n onverwagte fout voorgekom", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Bug report sent successfully.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_am.arb b/example/lib/src/l10n/errors/app_am.arb new file mode 100644 index 0000000..5609a90 --- /dev/null +++ b/example/lib/src/l10n/errors/app_am.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "am", + "error": "ስህተት ተከስቷል", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "አስቸኳይ ስህተት ተከስቷል", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "በተሳካ ሁኔታ የተላከ ባግ ሪፖርት ነው.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ar.arb b/example/lib/src/l10n/errors/app_ar.arb new file mode 100644 index 0000000..e4b69da --- /dev/null +++ b/example/lib/src/l10n/errors/app_ar.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ar", + "error": "حدث خطأ", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "حدث خطأ غير متوقع", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "تم إرسال تقرير الخطأ بنجاح.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ar_EG.arb b/example/lib/src/l10n/errors/app_ar_EG.arb new file mode 100644 index 0000000..f4728f4 --- /dev/null +++ b/example/lib/src/l10n/errors/app_ar_EG.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ar_EG", + "error": "حدث خطأ", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "حدث خطأ غير متوقع", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "تم إرسال تقرير الخطأ بنجاح.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_az.arb b/example/lib/src/l10n/errors/app_az.arb new file mode 100644 index 0000000..4b7c3c2 --- /dev/null +++ b/example/lib/src/l10n/errors/app_az.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "az", + "error": "Xəta baş verdi", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Gözlənilməz bir xəta baş verdi", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Baq reportu uğurla göndərildi.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_be.arb b/example/lib/src/l10n/errors/app_be.arb new file mode 100644 index 0000000..052ceb8 --- /dev/null +++ b/example/lib/src/l10n/errors/app_be.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "be", + "error": "Адбылася памылка", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Адбылася непрадбачаная памылка", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Баг-рэпарт паспяхова адпраўлены.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_bg.arb b/example/lib/src/l10n/errors/app_bg.arb new file mode 100644 index 0000000..e66a5c6 --- /dev/null +++ b/example/lib/src/l10n/errors/app_bg.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "bg", + "error": "Възникна грешка", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Настъпи неочаквана грешка", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Баг репортът е изпратен успешно.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_bn.arb b/example/lib/src/l10n/errors/app_bn.arb new file mode 100644 index 0000000..a2e3429 --- /dev/null +++ b/example/lib/src/l10n/errors/app_bn.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "bn", + "error": "একটি ত্রুটি ঘটেছে", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "একটি অপ্রত্যাশিত ত্রুটি ঘটেছে", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "বাগ রিপোর্ট সফলভাবে পাঠানো হয়েছে।", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ca.arb b/example/lib/src/l10n/errors/app_ca.arb new file mode 100644 index 0000000..dba8a81 --- /dev/null +++ b/example/lib/src/l10n/errors/app_ca.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ca", + "error": "S'ha produït un error", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "S'ha produït un error inesperat", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Informe de bug enviat amb èxit.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_cs.arb b/example/lib/src/l10n/errors/app_cs.arb new file mode 100644 index 0000000..18f8074 --- /dev/null +++ b/example/lib/src/l10n/errors/app_cs.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "cs", + "error": "Došlo k chybě", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Došlo k neočekávané chybě", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Hlášení o chybě bylo úspěšně odesláno.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_da.arb b/example/lib/src/l10n/errors/app_da.arb new file mode 100644 index 0000000..ae42bdb --- /dev/null +++ b/example/lib/src/l10n/errors/app_da.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "da", + "error": "Der opstod en fejl", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Der opstod en uventet fejl", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Fejlrapport sendt succesfuldt.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_de.arb b/example/lib/src/l10n/errors/app_de.arb new file mode 100644 index 0000000..6997e82 --- /dev/null +++ b/example/lib/src/l10n/errors/app_de.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "de", + "error": "Ein Fehler ist aufgetreten", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Ein unerwarteter Fehler ist aufgetreten", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Fehlerbericht wurde erfolgreich gesendet.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_el.arb b/example/lib/src/l10n/errors/app_el.arb new file mode 100644 index 0000000..595ae11 --- /dev/null +++ b/example/lib/src/l10n/errors/app_el.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "el", + "error": "Παρουσιάστηκε σφάλμα", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Παρουσιάστηκε ένα απροσδόκητο σφάλμα", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Η αναφορά σφάλματος στάλθηκε με επιτυχία.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_en.arb b/example/lib/src/l10n/errors/app_en.arb new file mode 100644 index 0000000..9c08839 --- /dev/null +++ b/example/lib/src/l10n/errors/app_en.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "en", + "error": "An error occurred", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "An unexpected error occurred", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Bug report sent successfully.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_es.arb b/example/lib/src/l10n/errors/app_es.arb new file mode 100644 index 0000000..63fb541 --- /dev/null +++ b/example/lib/src/l10n/errors/app_es.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "es", + "error": "Ocurrió un error", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Ocurrió un error inesperado", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Informe de error enviado con éxito.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_fa.arb b/example/lib/src/l10n/errors/app_fa.arb new file mode 100644 index 0000000..cb9eafe --- /dev/null +++ b/example/lib/src/l10n/errors/app_fa.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "fa", + "error": "خطایی رخ داده است", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "یک خطای غیرمنتظره رخ داد", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "گزارش باگ با موفقیت ارسال شد.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_fr.arb b/example/lib/src/l10n/errors/app_fr.arb new file mode 100644 index 0000000..61a93b0 --- /dev/null +++ b/example/lib/src/l10n/errors/app_fr.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "fr", + "error": "Une erreur est survenue", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Une erreur inattendue s'est produite", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Rapport de bug envoyé avec succès.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_gu.arb b/example/lib/src/l10n/errors/app_gu.arb new file mode 100644 index 0000000..dda8b29 --- /dev/null +++ b/example/lib/src/l10n/errors/app_gu.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "gu", + "error": "ભૂલ થઇ", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "અનપેક્ષિત ભૂલ આવી", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "બગ રિપોર્ટ સફળતાપૂર્વક મોકલાયેલું છે.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_he.arb b/example/lib/src/l10n/errors/app_he.arb new file mode 100644 index 0000000..099deb5 --- /dev/null +++ b/example/lib/src/l10n/errors/app_he.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "he", + "error": "אירעה שגיאה", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "אירעה שגיאה בלתי צפויה", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "דיווח באג נשלח בהצלחה.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_hi.arb b/example/lib/src/l10n/errors/app_hi.arb new file mode 100644 index 0000000..0c96273 --- /dev/null +++ b/example/lib/src/l10n/errors/app_hi.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "hi", + "error": "एक त्रुटि हुई", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "एक अप्रत्याशित त्रुटि हुई", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "बग रिपोर्ट सफलतापूर्वक भेजी गई।", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_hu.arb b/example/lib/src/l10n/errors/app_hu.arb new file mode 100644 index 0000000..370322f --- /dev/null +++ b/example/lib/src/l10n/errors/app_hu.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "hu", + "error": "Hiba történt", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Váratlan hiba történt", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "A hibajelentés sikeresen elküldve.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_id.arb b/example/lib/src/l10n/errors/app_id.arb new file mode 100644 index 0000000..25f258a --- /dev/null +++ b/example/lib/src/l10n/errors/app_id.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "id", + "error": "Terjadi kesalahan", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Terjadi kesalahan yang tidak terduga", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Laporan bug berhasil dikirim.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_it.arb b/example/lib/src/l10n/errors/app_it.arb new file mode 100644 index 0000000..9bef6d4 --- /dev/null +++ b/example/lib/src/l10n/errors/app_it.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "it", + "error": "Si è verificato un errore", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Si è verificato un errore imprevisto", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Bug report inviato con successo.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ja.arb b/example/lib/src/l10n/errors/app_ja.arb new file mode 100644 index 0000000..3d655b8 --- /dev/null +++ b/example/lib/src/l10n/errors/app_ja.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ja", + "error": "エラーが発生しました", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "予期しないエラーが発生しました", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "バグレポートが正常に送信されました。", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_kk.arb b/example/lib/src/l10n/errors/app_kk.arb new file mode 100644 index 0000000..bf3acad --- /dev/null +++ b/example/lib/src/l10n/errors/app_kk.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "kk", + "error": "Қате орын алды", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Күтпеген қате орын алды", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Баг туралы есеп сәтті жіберілді.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_km.arb b/example/lib/src/l10n/errors/app_km.arb new file mode 100644 index 0000000..e27482e --- /dev/null +++ b/example/lib/src/l10n/errors/app_km.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "km", + "error": "មានកំហុសមួយកើតឡើង", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "មានកំហុសមិនគ្រាន់កន្លែងមួយ", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "របាយការណ៍កំហុសត្រូវបានផ្ញើដោយជោគជ័យ។", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_kn.arb b/example/lib/src/l10n/errors/app_kn.arb new file mode 100644 index 0000000..8aa1017 --- /dev/null +++ b/example/lib/src/l10n/errors/app_kn.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "kn", + "error": "An error occurred", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "An unexpected error occurred", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "ಬಗ್ ವರದಿ ಯಶಸ್ವಿಯಾಗಿ ಕಳುಹಿಸಲಾಗಿದೆ.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ko.arb b/example/lib/src/l10n/errors/app_ko.arb new file mode 100644 index 0000000..a712f3e --- /dev/null +++ b/example/lib/src/l10n/errors/app_ko.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ko", + "error": "오류가 발생했습니다", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "예기치 않은 오류가 발생했습니다", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "버그 신고가 성공적으로 전송되었습니다.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_lo.arb b/example/lib/src/l10n/errors/app_lo.arb new file mode 100644 index 0000000..9db0c3d --- /dev/null +++ b/example/lib/src/l10n/errors/app_lo.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "lo", + "error": "ມີບັດສະບັດ", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "ເກິດບັດທີ່ບໍ່ຄາດຄິດ", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Bug report sent successfully.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ml.arb b/example/lib/src/l10n/errors/app_ml.arb new file mode 100644 index 0000000..6c88295 --- /dev/null +++ b/example/lib/src/l10n/errors/app_ml.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ml", + "error": "ഒരു പിശക് സംഭവിച്ചു", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "അപ്രതീക്ഷിതമായ ഒരു പിശക് സംഭവിച്ചു", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "ബഗ് റിപ്പോർട്ട് വിജയകരമായി അയച്ചു.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_mr.arb b/example/lib/src/l10n/errors/app_mr.arb new file mode 100644 index 0000000..e147dc7 --- /dev/null +++ b/example/lib/src/l10n/errors/app_mr.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "mr", + "error": "एक त्रुटी झाली", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "अनपेक्षित त्रुटी घडली", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "बग रिपोर्ट यशस्वीपणे पाठविला गेला.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ms.arb b/example/lib/src/l10n/errors/app_ms.arb new file mode 100644 index 0000000..8715b2d --- /dev/null +++ b/example/lib/src/l10n/errors/app_ms.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ms", + "error": "Ralat berlaku", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Ralat yang tidak dijangka berlaku", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Laporan bug telah dihantar dengan jayanya.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_my.arb b/example/lib/src/l10n/errors/app_my.arb new file mode 100644 index 0000000..2938ee3 --- /dev/null +++ b/example/lib/src/l10n/errors/app_my.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "my", + "error": "Ralat berlaku", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Ralat yang tidak dijangka berlaku", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Laporan bug telah dihantar dengan jayanya.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ne.arb b/example/lib/src/l10n/errors/app_ne.arb new file mode 100644 index 0000000..5bdd8c5 --- /dev/null +++ b/example/lib/src/l10n/errors/app_ne.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ne", + "error": "एक त्रुटि उत्पन्न भयो", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "एक अप्रत्याशित त्रुटि उत्पन्न भयो", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "बग रिपोर्ट सफलतापूर्वक पठाइएको।", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_nl.arb b/example/lib/src/l10n/errors/app_nl.arb new file mode 100644 index 0000000..066e5fa --- /dev/null +++ b/example/lib/src/l10n/errors/app_nl.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "nl", + "error": "Er is een fout opgetreden", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Er is een onverwachte fout opgetreden", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Bugrapport succesvol verzonden.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_pa.arb b/example/lib/src/l10n/errors/app_pa.arb new file mode 100644 index 0000000..a948b20 --- /dev/null +++ b/example/lib/src/l10n/errors/app_pa.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "pa", + "error": "An error occurred", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "An unexpected error occurred", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "ਬੱਗ ਰਿਪੋਰਟ ਸਫਲਤਾਪੂਰਵਕ ਭੇਜੀ ਗਈ ਹੈ.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_pa_PK.arb b/example/lib/src/l10n/errors/app_pa_PK.arb new file mode 100644 index 0000000..fb17c41 --- /dev/null +++ b/example/lib/src/l10n/errors/app_pa_PK.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "pa_PK", + "error": "ایک غلطی پیش آئی", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "ایک غیر متوقع غلطی پیش آئی", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "بگ رپورٹ کامیابی نال بھیج دتی گئی.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_pl.arb b/example/lib/src/l10n/errors/app_pl.arb new file mode 100644 index 0000000..de3bd55 --- /dev/null +++ b/example/lib/src/l10n/errors/app_pl.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "pl", + "error": "Wystąpił błąd", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Wystąpił nieoczekiwany błąd", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Zgłoszenie błędu zostało pomyślnie wysłane", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ps.arb b/example/lib/src/l10n/errors/app_ps.arb new file mode 100644 index 0000000..71e5ad1 --- /dev/null +++ b/example/lib/src/l10n/errors/app_ps.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ps", + "error": "An error occurred", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "یو ناڅاپي تېروتنه رامنځته شوه", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "د خطا راپور په بریالیتوب سره لیږل شوی.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_pt.arb b/example/lib/src/l10n/errors/app_pt.arb new file mode 100644 index 0000000..e816717 --- /dev/null +++ b/example/lib/src/l10n/errors/app_pt.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "pt", + "error": "Ocorreu um erro", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Ocorreu um erro inesperado", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Relatório de bug enviado com sucesso.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_pt_BR.arb b/example/lib/src/l10n/errors/app_pt_BR.arb new file mode 100644 index 0000000..ad6f61e --- /dev/null +++ b/example/lib/src/l10n/errors/app_pt_BR.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "pt_BR", + "error": "Ocorreu um erro", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Ocorreu um erro inesperado", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Relatório de bug enviado com sucesso.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ro.arb b/example/lib/src/l10n/errors/app_ro.arb new file mode 100644 index 0000000..32b6cfa --- /dev/null +++ b/example/lib/src/l10n/errors/app_ro.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ro", + "error": "A apărut o eroare", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "A apărut o eroare neașteptată", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Raportul de eroare a fost trimis cu succes.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ru.arb b/example/lib/src/l10n/errors/app_ru.arb new file mode 100644 index 0000000..35f755f --- /dev/null +++ b/example/lib/src/l10n/errors/app_ru.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ru", + "error": "Произошла ошибка", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Произошла неизвестная ошибка", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Отчёт об ошибке успешно отправлен.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_si.arb b/example/lib/src/l10n/errors/app_si.arb new file mode 100644 index 0000000..f8cbb39 --- /dev/null +++ b/example/lib/src/l10n/errors/app_si.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "si", + "error": "දෝෂයක් සිදු විය", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "අනපේක්ෂිත දෝෂයක් සිදුවිය", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "බග් වාර්තාව සාර්ථකව යවා ඇත.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_sk.arb b/example/lib/src/l10n/errors/app_sk.arb new file mode 100644 index 0000000..e89de38 --- /dev/null +++ b/example/lib/src/l10n/errors/app_sk.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "sk", + "error": "Došlo k chybe", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Nastala neočakávaná chyba", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Hlášenie o chybách bolo úspešne odoslané.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_sw.arb b/example/lib/src/l10n/errors/app_sw.arb new file mode 100644 index 0000000..538599c --- /dev/null +++ b/example/lib/src/l10n/errors/app_sw.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "sw", + "error": "Hitilafu imetokea", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Hitilafu isiyotarajiwa imetokea", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Ripoti ya hitilafu imetumwa kwa mafanikio.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ta.arb b/example/lib/src/l10n/errors/app_ta.arb new file mode 100644 index 0000000..5dd4cf8 --- /dev/null +++ b/example/lib/src/l10n/errors/app_ta.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ta", + "error": "தவற் ஏற்பட்டது", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "எதிர்பாராத பிழை ஏற்பட்டது", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "பிழை அறிக்கை வெற்றிகரமாக அனுப்பப்பட்டது.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_te.arb b/example/lib/src/l10n/errors/app_te.arb new file mode 100644 index 0000000..e1a9d6d --- /dev/null +++ b/example/lib/src/l10n/errors/app_te.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "te", + "error": "లోపం సంభవించింది", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "అనుకోని లోపం సంభవించింది", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "బగ్ నివేదిక విజయవంతంగా పంపబడింది.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_th.arb b/example/lib/src/l10n/errors/app_th.arb new file mode 100644 index 0000000..796da1c --- /dev/null +++ b/example/lib/src/l10n/errors/app_th.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "th", + "error": "เกิดข้อผิดพลาด", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "เกิดข้อผิดพลาดที่ไม่คาดคิด", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "ส่งรายงานข้อผิดพลาดเรียบร้อยแล้ว.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_tl.arb b/example/lib/src/l10n/errors/app_tl.arb new file mode 100644 index 0000000..2c54719 --- /dev/null +++ b/example/lib/src/l10n/errors/app_tl.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "tl", + "error": "An error occurred", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "An unexpected error occurred", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Matagumpay naipadala ang ulat ng bug.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_tr.arb b/example/lib/src/l10n/errors/app_tr.arb new file mode 100644 index 0000000..b7671ea --- /dev/null +++ b/example/lib/src/l10n/errors/app_tr.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "tr", + "error": "Bir hata oluştu", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Beklenmedik bir hata oluştu", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Hata raporu başarıyla gönderildi.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_uk.arb b/example/lib/src/l10n/errors/app_uk.arb new file mode 100644 index 0000000..e103f1d --- /dev/null +++ b/example/lib/src/l10n/errors/app_uk.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "uk", + "error": "Сталася помилка", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Сталася несподівана помилка", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Баг-репорт надіслано успішно.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_ur.arb b/example/lib/src/l10n/errors/app_ur.arb new file mode 100644 index 0000000..0c1ee31 --- /dev/null +++ b/example/lib/src/l10n/errors/app_ur.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "ur", + "error": "ایک خرابی پیش آئی", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "ایک غیر متوقع خرابی واقع ہوئی", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "بگ رپورٹ کامیابی سے بھیجی گئی.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_uz.arb b/example/lib/src/l10n/errors/app_uz.arb new file mode 100644 index 0000000..4fa0864 --- /dev/null +++ b/example/lib/src/l10n/errors/app_uz.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "uz", + "error": "Xatolik yuz berdi", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Kutilmagan xato yuz berdi", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Xato hisobot muvaffaqiyatli yuborildi.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_vi.arb b/example/lib/src/l10n/errors/app_vi.arb new file mode 100644 index 0000000..4c311d7 --- /dev/null +++ b/example/lib/src/l10n/errors/app_vi.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "vi", + "error": "Đã xảy ra lỗi", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Đã xảy ra lỗi bất ngờ", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Báo cáo lỗi đã được gửi thành công.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_zh.arb b/example/lib/src/l10n/errors/app_zh.arb new file mode 100644 index 0000000..6824a98 --- /dev/null +++ b/example/lib/src/l10n/errors/app_zh.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "zh", + "error": "发生错误", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "发生了意外错误", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "错误报告已成功发送。", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_zh_CN.arb b/example/lib/src/l10n/errors/app_zh_CN.arb new file mode 100644 index 0000000..b3420fe --- /dev/null +++ b/example/lib/src/l10n/errors/app_zh_CN.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "zh_CN", + "error": "发生错误", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "发生了意外错误", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "错误报告已成功发送。", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_zh_HK.arb b/example/lib/src/l10n/errors/app_zh_HK.arb new file mode 100644 index 0000000..e95f2dc --- /dev/null +++ b/example/lib/src/l10n/errors/app_zh_HK.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "zh_HK", + "error": "發生咗錯誤", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "發生咗意外嘅錯誤", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "錯誤報告已成功發送.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/errors/app_zu.arb b/example/lib/src/l10n/errors/app_zu.arb new file mode 100644 index 0000000..6c4a615 --- /dev/null +++ b/example/lib/src/l10n/errors/app_zu.arb @@ -0,0 +1,15 @@ +{ + "@@locale": "zu", + "error": "Kwenzekile iphutha", + "@error": { + "description": "Ошибка" + }, + "unexpectedError": "Kwenzekile iphutha elingalindelekile", + "@unexpectedError": { + "description": "Произошла какая то ошибка" + }, + "bugReportSentText": "Umbiko wephutha uthunyelwe ngempumelelo.", + "@bugReportSentText": { + "description": "Сообщение об успешной отправке баг репорта" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_af.arb b/example/lib/src/l10n/onboarding/app_af.arb new file mode 100644 index 0000000..9a0106c --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_af.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "af", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "GEVORDERDE KI-GESONDHEIDSHULP", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Welkom by Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Ontwerp om simptome te analiseer soos ervare klinici — deur patrone, tydsberekening en konteks te verstaan.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Begin", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Het al 'n rekening? Teken In", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Deur voort te gaan, stem jy in tot ons\nTerme van Diens | Privaatheidsbeleid", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Kom ons personaliseer Doctorina vir jou", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALISERING", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Wat bring jou hier vandag?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Ek ervaar nou simptome", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Ek wil 'n gesondheidsverandering verstaan", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Ek wil iets ernstigs uitsluit", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Ek monitor my gesondheid proaktief", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Gaan voort", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Wanneer iets in jou gesondheid verander, is dit die moeilikste om te weet wat belangrik is.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina fokus op simptoompatrone en tydsberekening — dieselfde seine wat klinici vroegtydig soek.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Kies jou geslag", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Dit help ons om simptome te interpreteer en aanbevelings meer akkuraat te gee", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Man", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Vroulik", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Verkies om nie te sê", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Wat is jou ouderdom?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": " ouderdom help ons om gesondheidspatrone meer akkuraat te evalueer.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Meer as 48k+ mense\nhet Doctorina gekies", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Gebaseer op Doctorina gebruikersstatistieke", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Ontwikkel deur\nDokters", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "STAP 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Hoe sou jy jou huidige gesondheidstoestand beskryf?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Ek voel oor die algemeen gesond", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Ek het aanhoudende klein bekommernisse", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Ek bestuur 'n bekende toestand", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Ek hanteer iets wat nie opgelos is", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "STAP 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Hoe gereeld sien jy gewoonlik 'n dokter?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Gereeld (kontroles / opvolgings)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Af en toe, wanneer iets verkeerd is", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Selde, net as dit nodig is", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Vermy om dokters te besoek", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Ek het nog nooit 'n dokter besoek nie", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "STAP 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Wat was tot dusver jou grootste uitdaging met gesondheidsorg?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Kies soveel as wat jy wil", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Lang wagtye vir afspraak", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Besuche voel gejaagd", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Hoë koste of onduidelike prys", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Dit is moeilik om alles duidelik te verduidelik", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Teenstrydige menings of advies", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Geen groot probleme", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "STAP 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Na afspraak, hoe selfversekerd voel jy oor wat vir jou gesê is?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Daar is geen regte of verkeerde antwoord.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Baie duidelik oor wat aangaan", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Iets duidelik", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Nog steeds onseker", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Meer verward as voorheen", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Baie mense sukkel nie na diagnose nie, maar wanneer simptome oor tyd verander.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "STAP 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Hoe goed voel jy dat jou bekommernisse gewoonlik aangespreek word?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Gebaseer op jou subjektiewe gevoelens", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Baie goed", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Redelik goed", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Nie baie goed", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Dit wissel baie", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "STAP 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Voordat jy 'n dokter sien, probeer jy gewoonlik om simptome self te verstaan?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Ja, ek navors en volg dinge", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Soms", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Selde", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Nee, ek vertrou heeltemal op professionele", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Gesondheidsvrae volg nie kantoorure nie.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina is 24/7 beskikbaar.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Duidelikheid hoef nie vir die volgende afspraak te wag nie", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Wil jy hê ons moet jou gesondheidssimptome nagaan?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "KI kan jou simptome monitor en jou waarsku as iets aandag benodig", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Ja — hou my gesondheid dop", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Ja — net as iets belangrik verander", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Nie seker nie", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Het u van Doctorina gehoor gegee van 'n dokter?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Ja", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Nee", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALISEER JOU RESULTATE", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalisering van jou ervaring", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Onbeperkte ervaring met Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "JOU ASSISTENT WAT ALTYD NABY IS", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Nie seker nie? Aktiveer gratis proef.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Jaarliks", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Maandeliks", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Weekliks", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Daagliks", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (slegs $3.34/week)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "BESPAAR 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Gaan voort", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Begin gratis proefperiode", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Intekening is outomaties hernuurbaar. Kanselleer enige tyd", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Diensvoorwaardes | Privaatheidsbeleid", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "week", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analiseer jou resultate", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Sluit aanmelding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Herstel Aankope", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Herstel", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Geen aktiewe intekening gevind om te herstel.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Kon nie aankope herstel nie. Probeer asseblief later weer.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Kon nie die aankoop voltooi nie. Probeer asseblief later weer.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Vandag: Kry onmiddellike toegang", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Ontsluit volle toegang, kry AI gesondheidsantwoorde, enige tyd.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Dag 2: Proef herinnering", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Ons sal vir jou 'n herinnering stuur dat jou proeflopie op die punt staan om te eindig", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Dag 3: Vernieuwing", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Jy sal op {date} gefaktureer word, kanselleer enige tyd voor.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "WAT IS INSLUITEND", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privaat en veilig", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI-assistent, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Instant gesondheidsantwoorde", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Duidelike, wetenskap-gebaseerde insigte", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Outomatiese gesprekopsommings", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Enige taal, enige tyd", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "per week", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Eenmalige aanbod", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% AFslag", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "EWIG", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Sodra jy jou eenmalige aanbod sluit, is dit weg!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/maand", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "LAAGSTE PRYS OOIT", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Kanselleer enige tyd", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Eis jou aanbod", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Outomaties hernubare intekening", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Spesiale geskenk binne", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Een tik om jou spesiale aanbod te onthul", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Maak nou oop", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Kon nie opsies vir intekening laai nie. Probeer asseblief later weer.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Kon nie subskripsiepryse laai nie", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Kontroleer jou verbinding en probeer weer.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Probeer weer", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_am.arb b/example/lib/src/l10n/onboarding/app_am.arb new file mode 100644 index 0000000..e91c6bd --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_am.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "am", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "የተሻሻለ ኤይ አይ ጤና አገልግሎት", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "እንኳን ወደ ዶክቶሪና በደህና መጡ!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "ልምድ ያላቸው የሕክምና ባለሙያዎች እንደሚያደርጉት ምልክቶችን ለመተንተን የተነደፈ - ቅጦችን፣ ጊዜን እና አውድን በመረዳት።", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "እንጀምር", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "መለያ አለዎት? ግባ", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "በመቀጠል፣ በእኛ የአገልግሎት ውል | የግላዊነት መመሪያ ተስማምተዋል", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "ለእርስዎ የዶክተሪናን ብራንድ እናስተካክል", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ግላዊነት ማላበስ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "ዛሬ እዚህ ምን አመጣህ?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "አሁን የሕመም ምልክቶች እያጋጠሙኝ ነው", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "የጤና ለውጥን መረዳት እፈልጋለሁ", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "ከባድ የሆነ ነገርን ማስወገድ እፈልጋለሁ", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "ጤናዬን በንቃት እየተከታተልኩ ነው", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "ቀጥል", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "በጤናዎ ላይ የሆነ ነገር ሲለወጥ፣ ምን አስፈላጊ እንደሆነ ማወቅ በጣም ከባድ ነው።", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "ዶክቶሪና በምልክት ምልክቶች እና በጊዜ አቆጣጠር ላይ ያተኩራል -- ይህም ክሊኒኮች ቀደም ብለው የሚፈልጉት ተመሳሳይ ምልክቶች ናቸው።", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "ጾታዎን ይምረጡ", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "ይህም ምልክቶችን ለመተርጎም እና ምክሮችን በበለጠ በትክክል ለመስጠት ይረዳናል።", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "ወንድ", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "ሴት", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "ባትናገር እመርጣለሁ", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "ዕድሜህ ስንት ነው?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "ዕድሜ የጤና ሁኔታዎችን በትክክል እንድንገመግም ይረዳናል።", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "<አረንጓዴ>ከ48ሺህ በላይ ሰዎች \nዶክተሪናን መርጠዋል", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*በዶኪና የተጠቃሚ መሰረት ስታቲስቲክስ ላይ የተመሠረተ", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "በ ዶክተሮች የተዘጋጀ", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ደረጃ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "የአሁኑን የጤና ሁኔታዎን እንዴት ይገልጹታል?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "በአጠቃላይ ጤናማ እንደሆንኩ ይሰማኛል", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "ቀጣይ የሆኑ ጥቃቅን ስጋቶች አሉብኝ", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "የታወቀ ሁኔታን እያስተዳደርኩ ነው", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "ያልተፈታ ነገር እያጋጠመኝ ነው", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ደረጃ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "አብዛኛውን ጊዜ ዶክተርን ምን ያህል ጊዜ ነው የሚያዩት?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "በመደበኛነት (ምርመራዎች / ክትትል)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "አልፎ አልፎ፣ የሆነ ነገር ሲበላሽ", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "አልፎ አልፎ፣ አስፈላጊ ከሆነ ብቻ", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "ወንጀል ወደ ዶክታር መግባት አትፈልጉም", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "ዶክተር ሄጄ አላውቅም", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ደረጃ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "እስካሁን ድረስ በጤና አጠባበቅ ረገድ ትልቁ ፈተናዎ ምንድነው?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "የፈለጉትን ያህል ይምረጡ", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "ለቀጠሮዎች ረጅም የጥበቃ ጊዜዎች", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "ጉብኝቶች በፍጥነት ይሰማቸዋል", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "ከፍተኛ ዋጋ ወይም ግልጽ ያልሆነ ዋጋ", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "ሁሉንም ነገር በግልፅ ለማስረዳት ይከብዳል", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "የሚጋጩ አስተያየቶች ወይም ምክሮች", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "ምንም ዋና ዋና ችግሮች የሉም", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ደረጃ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "ከቀጠሮ በኋላ፣ ስለተነገረህ ነገር ምን ያህል በራስ መተማመን ይሰማሃል?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "ትክክል ወይም የተሳሳተ መልስ የለም።", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "ምን እየተከናወነ እንዳለ በጣም ግልፅ ነው", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "በተወሰነ ደረጃ ግልጽ", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "አሁንም እርግጠኛ አለመሆን", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "ከበፊቱ የበለጠ ግራ ተጋብቷል", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "ብዙ ሰዎች የሚያስቸግሩት ከመድኃኒታቸው በኋላ ነው ነገር ግን ምልክቶች በጊዜ ሲለዋወጡ ነው.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ደረጃ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "ስጋቶችዎ ብዙውን ጊዜ እንዴት እንደሚፈቱ ይሰማዎታል?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "በእርስዎ ግላዊ ስሜቶች ላይ በመመስረት", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "በጣም ጥሩ", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "በጣም ጥሩ", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ብዙም ጥሩ አይደለም", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "በጣም ይለያያል", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ደረጃ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ዶክተር ጋር ከመገናኘትዎ በፊት፣ ብዙውን ጊዜ እራስዎ የሕመም ምልክቶችን ለመረዳት ይሞክራሉ?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "አዎ፣ ነገሮችን እመረምራለሁ እና እከታተላለሁ", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "አንዳንድ ጊዜ", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "አልፎ አልፎ", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "አይ፣ ሙሉ በሙሉ በባለሙያዎች ላይ እተማመናለሁ", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "የጤና ጥያቄዎች <አረንጓዴ>የቢሮ ሰዓቶችን አይከተሉም ።", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "ዶክቶሪና <አረንጓዴ>24/7 ይገኛል። ", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "ክላሪቲ ለሚቀጥለው ቀጠሮ መጠበቅ የለባትም።", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "እባኮትን የጤና ምልክቶችዎን ለመከታተል እንደምን እንደምን እባኮትን?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI የምርመራዎትን ምርመራ ይከታተል እና አንዳንድ ነገር እንደሚያስፈልግ ይማርከዋል", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "አዎን — ጤናዬን እንደ እንቅስቃሴ እቀጥላለሁ", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "አዎ — አስፈላጊ ለውጦች ብቻ", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "አልተረዳኩም", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "ስለ ዶክቶሪና ከዶክተር ሰምተሃል?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "አዎ", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "አይ", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ውጤቶችዎን መተንተን", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "ተሞክሮዎን ለግል ማበጀት", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "ከ Doctorina Pro ጋር ያልተገደበ ልምድ", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ሁልጊዜ በአቅራቢያዎ የሚገኝ የእርስዎ ረዳት", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "እስካሁን እርግጠኛ አይደሉም? ነጻ ሙከራን ያንቁ።", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "ዓመታዊ", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "ወርሃዊ", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "ሳምንታዊ", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "በየቀኑ", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (በሳምንት $3.34 ብቻ)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "3.99 ዶላር", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58% ይቆጥቡ", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "ቀጥል", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "ነፃ ሙከራ ጀምር", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "የደንበኝነት ምዝገባ በራስ-ሰር ሊታደስ ይችላል። በማንኛውም ጊዜ ይሰርዙ", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "የአገልግሎት ውሎች | የግላዊነት መመሪያ", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "ሳምንት", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "ውጤቶችዎን መተንተን", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ማዋሃድን ዝጋ", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "ግዢዎችን ወደነበረበት ይመልሱ", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "ወደነበረበት መልስ", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "ወደነበረበት ለመመለስ ምንም ንቁ የደንበኝነት ምዝገባ አልተገኘም።", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "ግዢዎችን ወደነበረበት መመለስ አልተሳካም። እባክዎ ቆይተው እንደገና ይሞክሩ።", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "ግዴታ ግዢውን ማሳካት አልቻልኩም። እባኮትን ወደ ኋላ ይሞክሩ።", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "ዛሬ: እቅፍ መዳረሻ ይቀበሉ", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "እባክዎ ሙሉ መዳረሻ ይከፍቱ፣ የAI ጤና መልስ ይቀበሉ፣ ወቅታዊ ነው።", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "ቀን 2: የሙከራ ማስታወሻ", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "እንደ ምርጫ ወቅት ወደ መጨረሻ እንደሚያደርግ ማስታወሻ እንላችሁ", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "3ኛ ቀን: እንደገና ማድረግ", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "በ{date} ይከፈልህ፣ ከዚያ በፊት ማቋረጥ ይቻላል.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ምን አካባቢ አለ", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "የግል እና ደህንነታቸው ይታወቃል", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "አይ አስስታንት፣ 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "እንቅስቃሴ የጤና መልስ", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "ግልጽ የሳይንስ መረጃ እና እውነታ የተመለከተ", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "አውቶ ውይይቶች ማጠቃለያዎች", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "እያንዳንዱ ቋንቋ በማንኛውም ጊዜ", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "በሳምንት", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "አንድ ጊዜ የሚሰጥ ዕቅፍ", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% እኩል", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ወይዘር", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "አንድ ጊዜ የሚሰጥ የቅናሽ ዕቅፍዎን ከዝግጅት በኋላ ይህ ይሠርዝ!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/ወር", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "ከሁሉም የታቀደ ዋጋ", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "ወቅታዊ ይቅርታ", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "የእቅፍዎን ይቀበሉ", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "አውቶማቲክ የሚያወጣ እቅፍ", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "አስፈላጊ ስጦታ ውስጥ አለ", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "አንድ ጥቅል ወደ የአንቀጽ ዕቅፍ ለማስገንዘብ", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "አሁን ክፈት", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "እቅፍ አማራጮች ማስገንዘብ አልቻልኩም። እባኮትን ወደ ኋላ ይሞክሩ.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "እቅፍ ዋጋዎችን ማስገንዘብ አልቻልኩም", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "እባኮትን የእንቅስቃሴዎን ያረጋግጡ እና ይሞክሩ ወደ ኋላ", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "እባክዎ ይሞክሩ", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ar.arb b/example/lib/src/l10n/onboarding/app_ar.arb new file mode 100644 index 0000000..ce6e3e1 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ar.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ar", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "مساعد صحي متقدم بالذكاء الاصطناعي", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "مرحبًا بكم في Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "مصمم لتحليل الأعراض كما يفعل الأطباء ذوو الخبرة - من خلال فهم الأنماط والتوقيت والسياق.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "ابدأ", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "هل لديك حساب بالفعل؟ تسجيل الدخول", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "بمواصلتك، أنت توافق على\nشروط الخدمة | سياسة الخصوصية", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "دعنا نخصص Doctorina لك", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "التخصيص", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "ما الذي جاء بك هنا اليوم؟", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "أنا أعاني من أعراض الآن", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "أريد أن أفهم تغييرًا في الصحة", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "أريد استبعاد شيء خطير", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "أنا أراقب صحتي بشكل استباقي", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "استمر", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "عندما يتغير شيء في صحتك، يكون من الأصعب معرفة ما هو المهم", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina تركز على أنماط الأعراض والتوقيت — نفس الإشارات التي يبحث عنها الأطباء في البداية.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "اختر جنسك", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "هذا يساعدنا في تفسير الأعراض وتقديم التوصيات بدقة أكبر.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "ذكر", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "أنثى", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "أفضل عدم القول", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "ما هو عمرك؟", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "العمر يساعدنا في تقييم أنماط الصحة بدقة أكبر.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "أكثر من 48 ألف شخص\nاختاروا Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*استنادًا إلى إحصائيات قاعدة مستخدمي Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "تم تطويره بواسطة\nالأطباء", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "الخطوة 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "كيف تصف حالتك الصحية الحالية؟", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "أنا أشعر عمومًا أنني بصحة جيدة", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "لدي مخاوف بسيطة مستمرة", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "أنا أدير حالة معروفة", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "أنا أتعامل مع شيء غير محسوم", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "الخطوة 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "كم مرة عادةً تذهب إلى الطبيب؟", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "بشكل منتظم (فحوصات / متابعة)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "أحيانًا، عندما يكون هناك شيء خاطئ", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "نادراً، فقط إذا لزم الأمر", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "تجنب زيارة الأطباء", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "لم أزر طبيبًا من قبل", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "الخطوة 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "ما هو أكبر تحدٍ واجهته مع الرعاية الصحية حتى الآن؟", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "اختر كما تشاء", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "أوقات الانتظار الطويلة للمواعيد", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "الزيارات تبدو متسرعة", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "تكلفة عالية أو تسعير غير واضح", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "من الصعب شرح كل شيء بوضوح", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "آراء أو نصائح متضاربة", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "لا توجد مشاكل كبيرة", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "الخطوة 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "بعد المواعيد، ما مدى ثقتك فيما قيل لك؟", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "لا يوجد إجابة صحيحة أو خاطئة.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "واضح جدًا ما يحدث", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "واضح إلى حد ما", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "ما زلت غير متأكد", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "أكثر ارتباكًا من قبل", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "يعاني العديد من الناس ليس بعد التشخيص ولكن عندما تتغير الأعراض مع مرور الوقت.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "الخطوة 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "كيف تشعر أن مخاوفك تُعالج عادةً؟", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "استنادًا إلى مشاعرك الشخصية", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "جيد جداً", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "بشكل معقول", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ليس جيدًا جدًا", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "يختلف كثيرًا", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "الخطوة 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "قبل زيارة الطبيب، هل تحاول عادةً فهم الأعراض بنفسك؟", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "نعم، أبحث وأتابع الأمور", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "أحيانًا", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "نادراً", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "لا، أعتمد تمامًا على المحترفين", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "الأسئلة الصحية لا تتبع ساعات العمل.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina متاحة على مدار 24 ساعة طوال أيام الأسبوع.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "يجب ألا تنتظر الوضوح حتى الموعد التالي.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "هل تريد منا متابعة أعراض صحتك؟", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "يمكن للذكاء الاصطناعي مراقبة أعراضك وتنبيهك إذا كان هناك ما يحتاج إلى اهتمام", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "نعم — راقب صحتي", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "نعم — فقط إذا حدث شيء مهم", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "لست متأكدًا بعد", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "هل سمعت عن Doctorina من طبيب؟", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "نعم", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "لا", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "تحليل نتائجك", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "تخصيص تجربتك", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "تجربة غير محدودة مع Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "مساعدك الذي يكون دائمًا بالقرب منك", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "لست متأكدًا بعد؟ قم بتمكين التجربة المجانية.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "سنوي", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "شهري", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "أسبوعي", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "يومي", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39.99 دولار (فقط 3.34 دولار/أسبوع)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "39.99$", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "احفظ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "استمر", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "ابدأ تجربة مجانية", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "الاشتراك يتجدد تلقائيًا. يمكنك الإلغاء في أي وقت", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "شروط الخدمة | سياسة الخصوصية", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "أسبوع", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "جارٍ تحليل النتائج", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "إغلاق التوجيه", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "استعادة المشتريات", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "استعادة", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "لم يتم العثور على اشتراك نشط لاستعادته.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "فشل استعادة المشتريات. يرجى المحاولة مرة أخرى لاحقًا.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "فشل إتمام عملية الشراء. يرجى المحاولة مرة أخرى لاحقًا.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "اليوم: احصل على وصول فوري", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "افتح الوصول الكامل، واحصل على إجابات صحية من الذكاء الاصطناعي، في أي وقت.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "اليوم الثاني: تذكير بالتجربة", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "سنرسل لك تذكير بأن تجربتك على وشك الانتهاء", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "اليوم 3: التجديد", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "سيتم خصم المبلغ في {date}، يمكنك الإلغاء في أي وقت قبل ذلك.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ما هو مدرج", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "خاص وآمن", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "مساعد الذكاء الاصطناعي، 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "إجابات صحية فورية", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "رؤى واضحة قائمة على العلم", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "ملخصات المحادثات التلقائية", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "أي لغة، في أي وقت", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "في الأسبوع", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "عرض لمرة واحدة", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% خصم", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "إلى الأبد", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "بمجرد إغلاق عرضك لمرة واحدة، فإنه سيختفي!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/شهرياً", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "أقل سعر على الإطلاق", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "يمكنك الإلغاء في أي وقت", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "اطلب عرضك", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "اشتراك متجدد تلقائيًا", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "هدية خاصة داخل", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "اضغط مرة واحدة لكشف عرضك الخاص", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "افتح الآن", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "فشل في تحميل خيارات الاشتراك. يرجى المحاولة مرة أخرى لاحقًا.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "تعذر تحميل أسعار الاشتراكات", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "تحقق من اتصالك وحاول مرة أخرى", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "حاول مرة أخرى", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ar_EG.arb b/example/lib/src/l10n/onboarding/app_ar_EG.arb new file mode 100644 index 0000000..9fa6324 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ar_EG.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ar_EG", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "مساعد صحي متقدم بالذكاء الاصطناعي", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "مرحبًا بكم في Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "مصمم لتحليل الأعراض كما يفعل الأطباء ذوو الخبرة - من خلال فهم الأنماط والتوقيت والسياق.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "ابدأ", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "هل لديك حساب بالفعل؟ تسجيل الدخول", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "بمواصلتك، أنت توافق على\nشروط الخدمة | سياسة الخصوصية", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "دعنا نخصص Doctorina لك", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "التخصيص", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "ما الذي جاء بك هنا اليوم؟", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "أنا أعاني من أعراض الآن", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "أريد أن أفهم تغييرًا في الصحة", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "أريد استبعاد شيء خطير", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "أنا أراقب صحتي بشكل استباقي", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "استمر", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "عندما يتغير شيء في صحتك، يكون من الأصعب معرفة ما هو المهم", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina تركز على أنماط الأعراض والتوقيت — نفس الإشارات التي يبحث عنها الأطباء في البداية.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "اختر جنسك", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "هذا يساعدنا في تفسير الأعراض وتقديم التوصيات بدقة أكبر.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "ذكر", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "أنثى", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "أفضل عدم القول", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "ما هو عمرك؟", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "العمر يساعدنا في تقييم أنماط الصحة بدقة أكبر.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "أكثر من 48 ألف شخص\nاختاروا Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*استنادًا إلى إحصائيات قاعدة مستخدمي Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "تم تطويره بواسطة\nالأطباء", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "الخطوة 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "كيف تصف حالتك الصحية الحالية؟", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "أنا أشعر عمومًا أنني بصحة جيدة", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "لدي مخاوف بسيطة مستمرة", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "أنا أدير حالة معروفة", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "أنا أتعامل مع شيء غير محسوم", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "الخطوة 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "كم مرة عادةً تذهب إلى الطبيب؟", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "بشكل منتظم (فحوصات / متابعة)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "أحيانًا، عندما يكون هناك شيء خاطئ", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "نادراً، فقط إذا لزم الأمر", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "تجنب زيارة الأطباء", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "لم أزر طبيبًا من قبل", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "الخطوة 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "ما هو أكبر تحدٍ واجهته مع الرعاية الصحية حتى الآن؟", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "اختر كما تشاء", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "أوقات الانتظار الطويلة للمواعيد", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "الزيارات تبدو متسرعة", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "تكلفة عالية أو تسعير غير واضح", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "من الصعب شرح كل شيء بوضوح", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "آراء أو نصائح متضاربة", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "لا توجد مشاكل كبيرة", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "الخطوة 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "بعد المواعيد، ما مدى ثقتك فيما قيل لك؟", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "لا يوجد إجابة صحيحة أو خاطئة.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "واضح جدًا ما يحدث", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "واضح إلى حد ما", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "ما زلت غير متأكد", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "أكثر ارتباكًا من قبل", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "يعاني العديد من الناس ليس بعد التشخيص ولكن عندما تتغير الأعراض مع مرور الوقت.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "الخطوة 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "كيف تشعر أن مخاوفك تُعالج عادةً؟", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "استنادًا إلى مشاعرك الشخصية", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "جيد جداً", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "بشكل معقول", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ليس جيدًا جدًا", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "يختلف كثيرًا", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "الخطوة 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "قبل زيارة الطبيب، هل تحاول عادةً فهم الأعراض بنفسك؟", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "نعم، أبحث وأتابع الأمور", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "أحيانًا", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "نادراً", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "لا، أعتمد تمامًا على المحترفين", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "الأسئلة الصحية لا تتبع ساعات العمل.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina متاحة على مدار 24 ساعة طوال أيام الأسبوع.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "يجب ألا تنتظر الوضوح حتى الموعد التالي.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "هل تريد منا متابعة أعراض صحتك؟", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "يمكن للذكاء الاصطناعي مراقبة أعراضك وتنبيهك إذا كان هناك ما يحتاج إلى اهتمام", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "نعم — راقب صحتي", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "نعم — فقط إذا حدث شيء مهم", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "لست متأكدًا بعد", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "هل سمعت عن Doctorina من طبيب؟", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "نعم", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "لا", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "تحليل نتائجك", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "تخصيص تجربتك", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "تجربة غير محدودة مع Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "مساعدك الذي يكون دائمًا بالقرب منك", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "لست متأكدًا بعد؟ قم بتمكين التجربة المجانية.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "سنوي", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "شهري", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "أسبوعي", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "يومي", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39.99 دولار (فقط 3.34 دولار/أسبوع)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "39.99$", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "احفظ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "استمر", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "ابدأ تجربة مجانية", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "الاشتراك يتجدد تلقائيًا. يمكنك الإلغاء في أي وقت", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "شروط الخدمة | سياسة الخصوصية", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "أسبوع", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "جارٍ تحليل النتائج", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "إغلاق التوجيه", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "استعادة المشتريات", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "استعادة", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "لم يتم العثور على اشتراك نشط لاستعادته.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "فشل استعادة المشتريات. يرجى المحاولة مرة أخرى لاحقًا.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "فشل إتمام عملية الشراء. يرجى المحاولة مرة أخرى لاحقًا.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "اليوم: احصل على وصول فوري", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "افتح الوصول الكامل، واحصل على إجابات صحية من الذكاء الاصطناعي، في أي وقت.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "اليوم الثاني: تذكير بالتجربة", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "سنرسل لك تذكير بأن تجربتك على وشك الانتهاء", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "اليوم 3: التجديد", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "سيتم خصم المبلغ في {date}، يمكنك الإلغاء في أي وقت قبل ذلك.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ما هو مدرج", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "خاص وآمن", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "مساعد الذكاء الاصطناعي، 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "إجابات صحية فورية", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "رؤى واضحة قائمة على العلم", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "ملخصات المحادثات التلقائية", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "أي لغة، في أي وقت", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "في الأسبوع", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "عرض لمرة واحدة", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% خصم", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "إلى الأبد", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "بمجرد إغلاق عرضك لمرة واحدة، فإنه سيختفي!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/شهرياً", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "أقل سعر على الإطلاق", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "يمكنك الإلغاء في أي وقت", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "اطلب عرضك", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "اشتراك متجدد تلقائيًا", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "هدية خاصة داخل", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "اضغط مرة واحدة لكشف عرضك الخاص", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "افتح الآن", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "فشل في تحميل خيارات الاشتراك. يرجى المحاولة مرة أخرى لاحقًا.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "تعذر تحميل أسعار الاشتراكات", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "تحقق من اتصالك وحاول مرة أخرى", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "حاول مرة أخرى", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_az.arb b/example/lib/src/l10n/onboarding/app_az.arb new file mode 100644 index 0000000..62c217e --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_az.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "az", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "İRƏLİ DƏRƏCƏ AI SAĞLAMLIQ YARDIMÇISI", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Xoş gəlmisiniz\nDoctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Təcrübəli klinisistlərin etdiyi kimi simptomları analiz etmək üçün hazırlanmışdır - naxışları, vaxtı və konteksti başa düşərək.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Başla", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Artıq hesabınız var? Daxil olun", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Davam edərək, siz bizim\nXidmət Şərtləri | Şəxsi Məlumatların Qorunması Siyasəti ilə razılaşırsınız", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Gəlin sizin üçün Doctorina fərdiləşdirək", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ŞƏXSİYYƏT", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Sizi bu gün buraya nə gətirdi?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "İndi simptomlarım var", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Mən sağlamlıq dəyişikliklərini anlamaq istəyirəm", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Seri bir şeyi istisna etmək istəyirəm", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Mən sağlamlığımı proaktiv şəkildə izləyirəm", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Davam et", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Sizin sağlamlığınızda bir şey dəyişəndə, nəyin vacib olduğunu bilmək ən çətindir.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina simptomların naxışlarına və zamanlamasına diqqət yetirir — həkimlərin əvvəldən axtardığı eyni siqnallar.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Cinsinizi seçin", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Bu, simptomları daha dəqiq şərh etməyə və tövsiyələr verməyə kömək edir.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Kişi", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Qadın", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Demək istəmirəm", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Sizin yaşınız nədir?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Yaş, sağlamlıq nümunələrini daha dəqiq qiymətləndirməyə kömək edir.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ nəfər\nDoctorina-nı seçdi", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Doctorina istifadəçi bazası statistikalarına əsaslanır", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Tərtib edilib\nHəkimlər", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ADDIM 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Hazırkı sağlamlıq vəziyyətinizi necə təsvir edərdiniz?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Mən ümumiyyətlə sağlam hiss edirəm", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Mənim davamlı kiçik narahatlıqlarım var", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Mən tanınmış bir vəziyyəti idarə edirəm", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Mən həll olunmamış bir şeylə məşğulam", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ADDIM 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Adətən həkimə nə qədər tez-tez gedirsiniz?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Müntəzəm (nəzarət / izləmə)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Bəzən, nəsə pis olduqda", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Nadir, yalnız lazım olduqda", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Həkimlərə getməkdən çəkinin", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Mən həkimə heç vaxt getməmişəm", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ADDIM 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Sizcə, səhiyyə ilə bağlı ən böyük çətinliyiniz nə olub?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "İstədiyiniz qədər seçin", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Təqdimatlar üçün uzun gözləmə vaxtları", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Ziyarətlər tələsik hiss olunur", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Yüksək qiymət və ya aydın olmayan qiymət", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Hər şeyi aydın izah etmək çətindir", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Müxalif fikirlər və ya məsləhətlər", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Əhəmiyyətli problem yoxdur", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ADDIM 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Təqvimdən sonra, sizə söylənilənlərə nə qədər əmin hiss edirsiniz?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Düzgün və ya yanlış cavab yoxdur.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Nələrin baş verdiyindən çox aydındır", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Bir az aydın", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Hələ də qeyri-müəyyəndir", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Əvvəlkindən daha çaşqın", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Bir çox insan diaqnozdan sonra deyil, simptomlar zamanla dəyişdikdə çətinlik çəkir.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ADDIM 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Narahatlıqlarınızın adətən necə həll edildiyini düşünürsünüz?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Subyektiv hisslərinizə əsaslanır", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Çox yaxşı", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Kafi yaxşı", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Çox yaxşı deyil", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Çox dəyişir", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ADDIM 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Həkimə getməzdən əvvəl, adətən simptomları özünüz anlamağa çalışırsınızmı?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Bəli, mən araşdırma aparıram və izləyirəm", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Bəzən", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Nadir hallarda", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Xeyr, mən tamamilə mütəxəssislərə etibar edirəm", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Səhiyyə sualları iş saatlarını izləmirlər.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 24/7 mövcuddur.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Aydınlıq növbəti görüş üçün gözləməməlidir.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Sizin sağlamlıq simptomlarınızı yoxlamağımızı istəyirsinizmi?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI simptomlarınızı izləyə bilər və bir şeyin diqqət tələb etdiyini sizə xəbərdar edə bilər", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Bəli — sağlamlığımı izləyin", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Bəli — yalnız vacib bir şey dəyişəndə", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Hələ əmin deyiləm", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Həkimdən Doctorina haqqında eşitmisinizmi?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Bəli", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Xeyr", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "NƏTİCƏLƏRİNİZİ TƏHLİL EDİRİK", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Təcrübənizi fərdiləşdirmək", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro ilə limitsiz təcrübə", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "Həmişə yanınızda olan köməkçiniz", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Hələ əmin deyilsiniz? Pulsuz sınağı aktivləşdirin.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "İllik", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Aylıq", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Həftəlik", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Gündəlik", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (yalnızca $3.34/hafta)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "SAXLA 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Davam et", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Pulsuz sınaq başlayın", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Abunəlik avtomatik yenilənir. İstədiyiniz zaman ləğv edin", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Xidmət Şərtləri | Şəxsi Məlumatların Qorunması Siyasəti", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "həftə", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Nəticələrinizi analiz edir", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Onboarding-i bağla", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Alışları bərpa et", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Bərpa et", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Bərpa etmək üçün aktiv abunə tapılmadı.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Alış-verişləri bərpa etmək mümkün olmadı. Zəhmət olmasa, daha sonra yenidən cəhd edin.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Alış-verişi tamamlamaq mümkün olmadı. Zəhmət olmasa, daha sonra yenidən cəhd edin.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Bu gün: Ani giriş əldə edin", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Tam giriş əldə edin, istənilən vaxt AI sağlamlıq cavabları alın.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "2-ci gün: Sınaq xatırlatması", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Sınaq müddətinin bitmək üzrə olduğunu sizə xatırladacağıq", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "3-cü Gün: Yeniləmə", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Tarifiniz {date} tarixində alınacaq, istədiyiniz zaman ləğv edə bilərsiniz.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "NƏLƏR DAXİLDİR", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Şəxsi və təhlükəsiz", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI köməkçisi, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Ani sağlamlıq cavabları", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Aydın, elmi əsaslı məlumatlar", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Avtomatik söhbət xülasələri", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Hər hansı bir dil, istənilən vaxt", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "həftəlik", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Bir dəfəlik təklif", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ENDİRİM", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "DAİMA", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Bir dəfəlik təklifinizi bağladığınızda, o, itir!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/ay", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "ƏN AŞAĞI QİYMƏT", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "İstədiyiniz zaman ləğv edin", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Təklifinizi tələb edin", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Avtomatik yenilənən abunə", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Xüsusi hədiyyə içində", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Xüsusi təklifinizi açmaq üçün bir dəfə toxunun", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "İndi aç", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Abunə seçimlərini yükləmək mümkün olmadı. Zəhmət olmasa, daha sonra yenidən cəhd edin.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Abunə qiymətləri yüklənə bilmədi", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Bağlantınızı yoxlayın və yenidən cəhd edin.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Təkrar cəhd et", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_be.arb b/example/lib/src/l10n/onboarding/app_be.arb new file mode 100644 index 0000000..b362a36 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_be.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "be", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ПРАДВІНУТЫ ІІ ЗДАРОЎЯ ДАПАМОЖНІК", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Сардэчна запрашаем у Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Даверыліся", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Распрацавана для аналізу сімптомаў так, як гэта робяць вопытныя клініцысты — разумеючы ўзоры, час і кантэкст.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Пачаць", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "У вас ужо ёсць уліковы запіс? Увайсці", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Працягваючы, вы пагаджаецеся з нашымі\nУмовамі абслугоўвання | Палітыкай канфідэнцыяльнасці", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Давайце персаналізуем Doctorina для вас", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ПЕРСАНАЛІЗАЦЫЯ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Што прывяло вас сюды сёння?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "У мяне зараз ёсць сімптомы", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Я хачу зразумець змены ў здароўі", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Я хачу выключыць нешта сур'ёзнае", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Я актыўна сачу за сваім здароўем", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Працягнуць", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Калі нешта змяняецца ў вашым здароўі, ведаць, што важна, самае цяжкае.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina засяроджваецца на сімптомах і часе — тых жа сігналах, якія лекары шукаюць на ранніх стадыях.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Абярыце ваш пол", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Гэта дапамагае нам больш дакладна інтэрпрэтаваць сімптомы і даваць рэкамендацыі", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Мужчынскі", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Жаночы", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Пераважна не казаць", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Колькі вам гадоў?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Узрост дапамагае нам больш дакладна ацаніць шаблоны здароўя", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Больш за 48 тыс. чалавек.\nвыбралі Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*На аснове статыстыкі карыстальнікаў Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Распрацавана\nЛекарамі", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "КРОК 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Як бы вы апісалі свой цяперашні стан здароўя?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Вы ў цэлым адчуваеце сябе здаровымі", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "У мяне ёсць пастаянныя незначныя праблемы", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Я трымаю сваю хваробу пад кантролем", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Я сутыкаюся з чымсьці нерешаным", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "КРОК 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Як часта вы звычайна наведваеце лекара?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Регулярна (агляды / кантрольныя візіты)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Часам, калі нешта не так", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Рэдка, толькі калі гэта неабходна", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Ухіляецеся ад наведвання лекараў", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Ніколі не наведвалі лекара", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "КРОК 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Якая была ваша самая вялікая праблема з медыцынскім абслугоўваннем да гэтага часу?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Выбірайце колькі заўгодна", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Доўгі час чакання на прыём", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Візіты здаюцца спешнымі", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Высокі кошт або неясная цана", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Складна ўсё ясна растлумачыць", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Супярэчлівыя меркаванні або парады", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Няма сур'ёзных праблем", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "КРОК 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Пасля візітаў да лекара, наколькі вы ўпэўненыя ў тым, што вам сказалі?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Няма правільнага або няправільнага адказу", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Вельмі ясна, што адбываецца", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "У пэўнай ступені ясна", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Усё яшчэ не ўпэўнены", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Вы больш запутаныя, чым раней", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Шмат людзей сутыкаюцца з цяжкасцямі не пасля ўстанаўлення дыягназу, а калі сімптомы змяняюцца з часам.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "КРОК 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Насколькі добра, на вашу думку, звычайна ўлічваюцца вашы клопаты?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "На аснове вашых суб'ектыўных адчуванняў", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Вельмі добра", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Досыць добра", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Не вельмі добра", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Гэта вельмі вар'іруецца", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "КРОК 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Перад візітам да лекара вы звычайна спрабуеце разабрацца ў сімптомах самастойна?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Так, я даследую і адсочваю сімптомы", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Часам", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Рэдка", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Не, я цалкам давяраюся спецыялістам", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Пытанні аб здароўі не падпадаюць пад працоўны час.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina даступна 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Яснасць не павінна чакаць наступнага прыёму", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Хочаце, каб мы правяралі вашы сімптомы здароўя?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "Штучны інтэлект можа адсочваць вашы сімптомы і папярэджваць вас, калі нешта можа патрабаваць увагі", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Так — сачыце за маім здароўем", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Так, толькі калі нешта важнае зменіцца", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Пакуль не ўпэўнены", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Вы чулі пра Doctorina ад доктара?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Так", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Не", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "АНАЛІЗ РЭЗУЛЬТАТАЎ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Персаналізацыя вашага досведу", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Неабмежаваны досвед з Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ВАШ ДАПАМОЖНІК, ЯКІ ЗАЎСЁДЫ ПОБАЧ", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Не ўпэўненыя? Уключыце бясплатны пробны перыяд.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Гадавы", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Штомесячны", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Штотыднёвы", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "штодзённа", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (толькі $3.34/тыдзень)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "3,99 $", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "ЭКАНОМІЦЕ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Працягнуць", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Пачаць бясплатны пробны перыяд", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Падпіска аўтаматычна падоўжваецца. Скасуйце ў любы час", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Умовы абслугоўвання | Палітыка канфідэнцыяльнасці", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "тыдзень", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Аналізуем вашы вынікі", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Зачыніць навучанне", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Аднавіць пакупкі", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Аднавіць", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Не знойдзена актыўная падпіска для аднаўлення", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Не ўдалося аднавіць пакупкі. Калі ласка, паспрабуйце яшчэ раз пазней.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Не ўдалося завяршыць пакупку. Калі ласка, паспрабуйце яшчэ раз пазней.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Сёння: Атрымаеце імгненны доступ", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Атрымаеце поўны доступ, атрымлівайце адказы на пытанні пра здароўе ад ІІ ў любы час.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Дзень 2: Нагадванне аб трыале", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Мы адправім вам напамінанне, што ваш пробны перыяд хутка скончыцца", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Дзень 3: Падоўжанне", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "З вас будзе спісана сума {date}, адмяніце ў любы час да.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ШТО УКЛЮЧАНА", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Прыватная і бяспечная", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI-асістэнт, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Мгновенныя адказы на пытанні пра здароўе", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Ясныя, навукова абгрунтаваныя інсайты", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Аўтаматычныя рэзюмэ размоў", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Любая мова, у любы час", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "за тыдзень", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Аднаразовае прапанова", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% СКІДКА", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "НАВЕЧНА", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Як толькі вы зачыніце сваю адзіночную прапанову, яна знікне!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/мес", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "НІЗКАЯ ЦЭНА ЗА ЎСЕ ЧАС", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Адмяніць у любы час", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Атрымаць вашу прапанову", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Аўтаматычна падоўжаная падпіска", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Спецыяльны падарунак унутры", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Адзін дотык, каб адкрыць вашу спецыяльную прапанову", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Адкрыць зараз", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Не ўдалося загрузіць варыянты падпіскі. Калі ласка, паспрабуйце пазней.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Не ўдалося загрузіць цэны падпісак", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Праверце злучэнне і паспрабуйце яшчэ раз.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Паспрабуйце яшчэ раз", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_bg.arb b/example/lib/src/l10n/onboarding/app_bg.arb new file mode 100644 index 0000000..bcfe5fe --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_bg.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "bg", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "НАПРЕДНАЛ ИЗКУСТВЕН ИНТЕЛЕКТ ЗА ЗДРАВЕТО", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Добре дошли в Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Доверие от\n48K+ потребители", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Създадено да анализира симптомите като опитни клиницисти — чрез разбиране на модели, времеви рамки и контекст.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Започнете", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Вече имате акаунт? Вход", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Като продължавате, вие се съгласявате с нашите\nУсловия за ползване | Политика за поверителност", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Нека персонализираме Doctorina за вас", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ПЕРСОНАЛИЗАЦИЯ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Какво ви доведе тук днес?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "В момента имам симптоми", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Искам да разбера промяна в здравето", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Искам да изключа нещо сериозно", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Наблюдавам здравето си проактивно", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Продължи", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Когато нещо се промени в здравето ви, най-трудно е да знаете какво е важно.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina се фокусира върху симптоматични модели и времеви интервали — същите сигнали, които лекарите търсят в началото.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Изберете пола си", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Това ни помага да интерпретираме симптомите и да даваме препоръки по-точно.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Мъж", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Жена", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Предпочитам да не казвам", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "На колко години сте?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Възрастта ни помага да оценим здравословните модели по-точно", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Над 48k+ души\nса избрали Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*На базата на статистиката на потребителската база на Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Разработено от
Лекари", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "СТЪПКА 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Как бихте описали текущото си здравословно състояние?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Обикновено се чувствам здрав", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Имам постоянни незначителни притеснения", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Управлявам известна състояние", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Справям се с нещо неразрешено", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "СТЪПКА 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Колко често обикновено посещавате лекар?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Редовно (прегледи / последващи посещения)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "От време на време, когато нещо не е наред", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Рядко, само ако е необходимо", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Избягвате да посещавате лекари", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Никога не съм посещавал лекар", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "СТЪПКА 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Какво е било най-голямото ви предизвикателство с здравеопазването досега?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Изберете колкото искате", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Дълги времена на изчакване за срещи", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Посещенията изглеждат прибързани", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Висока цена или неясна цена", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Трудно е да се обясни всичко ясно", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Противоречиви мнения или съвети", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Няма сериозни проблеми", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "СТЪПКА 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "След прегледите, колко уверени се чувствате относно това, което ви казаха?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Няма правилен или грешен отговор.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Много ясно какво се случва", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Някак си ясно", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Все още несигурен", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "По-объркан от преди", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Много хора се сблъскват не след диагнозата , а когато симптомите се променят с времето.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "СТЪПКА 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Колко добре смятате, че обикновено се адресират вашите притеснения?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Въз основа на вашите субективни чувства", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Много добре", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Доста добре", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Не много добре", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Много варира", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "СТЪПКА 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Преди да видите лекар, обикновено ли се опитвате да разберете симптомите сами?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Да, изследвам и проследявам нещата", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Понякога", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Рядко", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Не, разчитам изцяло на професионалисти", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Въпросите за здравето не следват работното време.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina е на разположение 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Яснотата не трябва да чака следващата среща", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Искате ли да проверим вашите здравословни симптоми?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI може да следи вашите симптоми и да ви предупреждава, ако нещо изисква внимание", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Да — следя здравето си", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Да — само ако нещо важно се промени", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Още не съм сигурен", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Чухте ли за Doctorina от лекар?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Да", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Не", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "АНАЛИЗИРАНЕ НА РЕЗУЛТАТИТЕ ВИ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Персонализиране на вашето изживяване", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Неограничено изживяване с Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ВАШИЯТ ПОМОЩНИК, КОЙТО ВИНАГИ Е БЛИЗО", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Не сте сигурни още? Активирайте безплатен пробен период.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Годишен", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Месечен", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Седмично", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Дневен", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39.99 лв. (само 3.34 лв./седмица)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "3.99 лв", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "СПЕСТЕТЕ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Продължи", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Започнете безплатен пробен период", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Абонаментът е автоматично подновяем. Можете да отмените по всяко време", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Условия за ползване | Политика за поверителност", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "седмица", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Анализиране на вашите резултати", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Затвори обучението", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Възстановяване на покупки", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Възстанови", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Не е намерена активна абонаментна услуга за възстановяване.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Неуспешно възстановяване на покупки. Моля, опитайте отново по-късно.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Неуспешно завършване на покупката. Моля, опитайте отново по-късно.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Днес: Получете незабавен достъп", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Отключете пълен достъп, получавайте отговори на здравни въпроси от ИИ по всяко време.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Ден 2: Напомняне за триала", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Ще ви изпратим напомняне, че вашият пробен период скоро изтича", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Ден 3: Подновяване", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Ще бъдете таксувани на {date}, отменете по всяко време преди.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "КАКВО Е ВКЛЮЧЕНО", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Частен и сигурен", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI асистент, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Мгновени здравни отговори", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Ясни, научно обосновани инсайти", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Автоматични резюмета на разговори", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Всеки език, по всяко време", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "на седмица", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Еднократна оферта", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ОТСТЪПКА", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ЗАВИНАГИ", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "След като затворите еднократната си оферта, тя изчезва!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/мес", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "НАЙ-НИСКА ЦЕНА НИКОГА", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Отменете по всяко време", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Вземете офертата си", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Автоматично подновяваща се абонаментна услуга", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Специален подарък вътре", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Едно докосване, за да разкриете специалната си оферта", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Отвори сега", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Неуспешно зареждане на опции за абонамент. Моля, опитайте отново по-късно.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Не можа да се заредят цените на абонаментите", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Проверете връзката си и опитайте отново.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Опитайте отново", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_bn.arb b/example/lib/src/l10n/onboarding/app_bn.arb new file mode 100644 index 0000000..3c910de --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_bn.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "bn", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "উন্নত AI স্বাস্থ্য সহায়ক", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ডক্টরিনায় স্বাগতম!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "অভিজ্ঞ ক্লিনিশিয়ানদের মতো লক্ষণ বিশ্লেষণের জন্য ডিজাইন করা হয়েছে — প্যাটার্ন, সময় এবং প্রেক্ষাপট বোঝার মাধ্যমে।", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "শুরু করুন", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "আপনার কি ইতিমধ্যে একটি অ্যাকাউন্ট আছে? লগ ইন", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "অগ্রসর হলে, আপনি আমাদের\nসেবা শর্তাবলী | গোপনীয়তা নীতি মেনে নিচ্ছেন", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Doctorina আপনার জন্য ব্যক্তিগতকৃত করা যাক", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ব্যক্তিগতকরণ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "আপনি আজ এখানে কেন এসেছেন?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "আমি এখন উপসর্গ অনুভব করছি", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "আমি একটি স্বাস্থ্য পরিবর্তন বুঝতে চাই", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "আমি কিছু গুরুতর বিষয় বাদ দিতে চাই", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "আমি আমার স্বাস্থ্যকে সক্রিয়ভাবে পর্যবেক্ষণ করছি", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "অগ্রসর হোন", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "যখন আপনার স্বাস্থ্যে কিছু পরিবর্তন হয়, তখন কী গুরুত্বপূর্ণ তা জানা সবচেয়ে কঠিন।", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina লক্ষণগুলোর প্যাটার্ন এবং সময়ের উপর ফোকাস করে — একই সংকেত যা চিকিৎসকরা শুরুতে খুঁজে পান।", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "আপনার লিঙ্গ নির্বাচন করুন", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "এটি আমাদের উপসর্গগুলি ব্যাখ্যা করতে এবং আরও সঠিকভাবে সুপারিশ দিতে সহায়তা করে", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "পুরুষ", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "মহিলা", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "কিছু বলতে চাই না", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "আপনার বয়স কত?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "বয়স আমাদের স্বাস্থ্য প্যাটার্নগুলি আরও সঠিকভাবে মূল্যায়ন করতে সাহায্য করে", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "২৩k+ এর বেশি মানুষ\nDoctorina বেছে নিয়েছে", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Doctorina ব্যবহারকারী ভিত্তি পরিসংখ্যানের উপর ভিত্তি করে", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "ডাক্তারদের দ্বারা উন্নত", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ধাপ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "আপনি আপনার বর্তমান স্বাস্থ্য পরিস্থিতি কিভাবে বর্ণনা করবেন?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "আমি সাধারণত সুস্থ অনুভব করি", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "আমার চলমান ছোটখাটো উদ্বেগ রয়েছে", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "আমি একটি পরিচিত অবস্থার পরিচালনা করছি", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "আমি একটি অমীমাংসিত বিষয় নিয়ে কাজ করছি", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ধাপ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "আপনি সাধারণত কত ঘন ঘন ডাক্তার দেখান?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "নিয়মিত (চেকআপ / ফলো-আপ)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "কখনও কখনও, যখন কিছু ভুল হয়", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "বিরলভাবে, শুধুমাত্র প্রয়োজন হলে", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "ডাক্তারদের কাছে যাওয়া এড়িয়ে চলুন", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "আমি কখনো ডাক্তার দেখাইনি", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ধাপ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "এখন পর্যন্ত স্বাস্থ্যসেবার সাথে আপনার সবচেয়ে বড় চ্যালেঞ্জ কী ছিল?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "আপনি যত খুশি ততটি নির্বাচন করুন", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "অ্যাপয়েন্টমেন্টের জন্য দীর্ঘ অপেক্ষার সময়", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "ভিজিটগুলি তাড়াহুড়ো মনে হয়", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "উচ্চ খরচ বা অস্পষ্ট মূল্য", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "সবকিছু স্পষ্টভাবে ব্যাখ্যা করা কঠিন", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "বিরোধী মতামত বা পরামর্শ", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "কোনো বড় সমস্যা নেই", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ধাপ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "চিকিৎসার পর, আপনি যা বলা হয়েছে তার সম্পর্কে কতটা আত্মবিশ্বাসী বোধ করেন?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "সঠিক বা ভুল উত্তর নেই", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "কি ঘটছে তা খুব স্পষ্ট", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "আংশিকভাবে স্পষ্ট", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "এখনও অনিশ্চিত", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "আগের চেয়ে বেশি বিভ্রান্ত", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "অনেক মানুষ diagnosissের পরে সংগ্রাম করে না বরং যখন সময়ের সাথে সাথে উপসর্গগুলি পরিবর্তিত হয়।", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ধাপ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "আপনি কীভাবে মনে করেন আপনার উদ্বেগগুলি সাধারণত কতটা সমাধান করা হয়?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "আপনার ব্যক্তিগত অনুভূতির ভিত্তিতে", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "খুব ভালো", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "মাঝারি ভালো", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ভালো নয়", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "এটি অনেক পরিবর্তিত হয়", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ধাপ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ডাক্তার দেখানোর আগে, আপনি সাধারণত কি নিজের উপসর্গগুলো বোঝার চেষ্টা করেন?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "হ্যাঁ, আমি গবেষণা করি এবং বিষয়গুলি ট্র্যাক করি", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "কখনও কখনও", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "বিরলভাবে", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "না, আমি সম্পূর্ণরূপে পেশাদারদের উপর নির্ভর করি", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "স্বাস্থ্য প্রশ্ন অফিসের সময় অনুসরণ করে না।", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina ২৪/৭ উপলব্ধ।", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "স্পষ্টতা পরবর্তী অ্যাপয়েন্টমেন্টের জন্য অপেক্ষা করা উচিত নয়", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "আপনি কি চান আমরা আপনার স্বাস্থ্য উপসর্গগুলোর উপর নজর রাখি?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "এআই আপনার উপসর্গগুলি পর্যবেক্ষণ করতে পারে এবং যদি কিছু মনোযোগের প্রয়োজন হয় তবে আপনাকে সতর্ক করতে পারে", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "হ্যাঁ — আমার স্বাস্থ্যের দিকে নজর রাখুন", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "হ্যাঁ — শুধুমাত্র যদি কিছু গুরুত্বপূর্ণ পরিবর্তন হয়", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "এখন নিশ্চিত নই", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "আপনি কি ডাক্তার থেকে Doctorina সম্পর্কে শুনেছেন?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "হ্যাঁ", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "না", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "আপনার ফলাফল বিশ্লেষণ করা হচ্ছে", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "আপনার অভিজ্ঞতা ব্যক্তিগতকরণ করা হচ্ছে", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro এর সাথে সীমাহীন অভিজ্ঞতা", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "আপনার সহায়ক, যিনি সবসময় কাছে", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "এখনো নিশ্চিত নন? ফ্রি ট্রায়াল চালু করুন।", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "বার্ষিক", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "মাসিক", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "সাপ্তাহিক", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "প্রতিদিন", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (সপ্তাহে মাত্র $3.34)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "৳399", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "৫৮% সাশ্রয়", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "চালিয়ে যান", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "ফ্রি ট্রায়াল শুরু করুন", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "সাবস্ক্রিপশন স্বয়ংক্রিয়ভাবে নবীকরণ হয়। যেকোনো সময় বাতিল করুন", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "সেবা শর্তাবলী | গোপনীয়তা নীতি", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "সপ্তাহ", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "আপনার ফলাফল বিশ্লেষণ করা হচ্ছে", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "অনবোর্ডিং বন্ধ করুন", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "ক্রয় পুনরুদ্ধার করুন", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "পুনরুদ্ধার", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "পুনরুদ্ধারের জন্য কোনো সক্রিয় সাবস্ক্রিপশন পাওয়া যায়নি", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "ক্রয় পুনরুদ্ধারে ব্যর্থ হয়েছে। দয়া করে পরে আবার চেষ্টা করুন।", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "ক্রয় সম্পন্ন করতে ব্যর্থ হয়েছে। দয়া করে পরে আবার চেষ্টা করুন।", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "আজ: তাত্ক্ষণিক প্রবেশাধিকার পান", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "সম্পূর্ণ অ্যাক্সেস আনলক করুন, যেকোনো সময় AI স্বাস্থ্য উত্তর পান।", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "দিন ২: ট্রায়াল স্মরণ", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "আমরা আপনাকে একটি স্মরণিকা পাঠাবো যে আপনার ট্রায়াল শেষ হতে চলেছে", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "দিন ৩: নবীকরণ", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "আপনার কাছ থেকে {date} তারিখে চার্জ করা হবে, এর আগে যে কোনো সময় বাতিল করুন।", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "কি অন্তর্ভুক্ত", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "ব্যক্তিগত এবং নিরাপদ", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "এআই সহকারী, ২৪/৭", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "মুহূর্তের স্বাস্থ্য উত্তর", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "স্পষ্ট, বিজ্ঞানভিত্তিক অন্তর্দৃষ্টি", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "স্বয়ংক্রিয় কথোপকথন সারসংক্ষেপ", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "যেকোনো ভাষা, যেকোনো সময়", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "প্রতি সপ্তাহে", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "এককালীন অফার", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ছাড়", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "চিরকাল", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "যখন আপনি আপনার এককালীন অফার বন্ধ করবেন, এটি চলে যাবে!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/মাস", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "সর্বনিম্ন মূল্য কখনও", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "যেকোনো সময় বাতিল করুন", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "আপনার অফার দাবি করুন", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "স্বয়ংক্রিয় নবায়নযোগ্য সাবস্ক্রিপশন", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "বিশেষ উপহার ভিতরে", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "এক ট্যাপ করে আপনার বিশেষ অফার প্রকাশ করুন", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "এখন খুলুন", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "সাবস্ক্রিপশন বিকল্পগুলি লোড করতে ব্যর্থ হয়েছে। দয়া করে পরে আবার চেষ্টা করুন।", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "সাবস্ক্রিপশন মূল্যের তথ্য লোড করা যায়নি", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "আপনার সংযোগ পরীক্ষা করুন এবং আবার চেষ্টা করুন।", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "পুনরায় চেষ্টা করুন", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ca.arb b/example/lib/src/l10n/onboarding/app_ca.arb new file mode 100644 index 0000000..3230856 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ca.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ca", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ASSISTENT DE SALUT AVANÇAT D'IA", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Benvingut", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Dissenyat per analitzar els símptomes com ho fan els clínics experimentats: entenent patrons, temporització i context.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Comença", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Ja tens un compte? Inicia sessió", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "En continuar, accepteu els nostres\nTermes de Servei | Política de Privacitat", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Personalitzem Doctorina per a tu", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALITZACIÓ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Què et porta aquí avui?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Estic experimentant símptomes ara", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Vull entendre un canvi de salut", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Vull saber si hi ha alguna cosa greu", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Estic monitoritzant la meva salut de manera proactiva", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Continuar", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Quan alguna cosa canvia en la teva salut, saber què és important és el més difícil.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina se centra en patrons de símptomes i en el moment — els mateixos senyals que busquen els clínics des del principi.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Selecciona el teu gènere", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Això ens ajuda a interpretar els símptomes i a fer recomanacions amb més precisió", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Home", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Femení", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Prefereix no dir-ho", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Quina és la teva edat?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "L'edat ens ajuda a avaluar els patrons de salut amb més precisió.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Més de 48k+ persones\nhan escollit Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Basat en les estadístiques de la base d'usuaris de Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Desenvolupat per\nMetges", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "PAS 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Com descriuries la teva situació de salut actual?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Generalment em sento sa", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Tinc preocupacions menors continuades", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Estic gestionant una condició coneguda", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Estic lidiant amb alguna cosa no resolta", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "PAS 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Amb quina freqüència sol veure un metge?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regularment (controls / seguiments)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Occasionalment, quan alguna cosa va malament", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Rarament, només si és necessari", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Evita visitar metges", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Mai he visitat un metge", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "PAS 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Quina ha estat la teva major dificultat amb la salut fins ara?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Trieu tants com vulguis", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Llargs temps d'espera per a cites", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Les visites semblen precipitats", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Alt cost o preu poc clar", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "És difícil d'explicar-ho tot clarament", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Opinions o consells contradictoris", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Sense problemes importants", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "PAS 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Després de les cites, quina confiança tens en el que et van dir?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "No hi ha resposta correcta ni incorrecta.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Molt clar sobre el que està passant", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Una mica clar", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Encara incert", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Més confós que abans", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Molts gent no lluiten després del diagnòstic , sinó quan els símptomes canvien amb el temps.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "PAS 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Quin grau de satisfacció tens sobre com es tracten habitualment les teves preocupacions?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Basat en els teus sentiments subjectius", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Molt bé", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Molt bé", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "No molt bé", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Varía molt", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "PAS 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Abans de veure un metge, normalment intentes entendre els símptomes tu mateix?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Sí, investigo i faig un seguiment de les coses", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "De vegades", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Rarament", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "No, confio completament en professionals", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Les preguntes de salut no segueixen l'horari d'oficina.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina està disponible 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "La claredat no hauria d'esperar la propera cita", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Voleu que comprovem els vostres símptomes de salut?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "La IA pot monitoritzar els teus símptomes i alertar-te si alguna cosa necessita atenció", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Sí — vigila la meva salut", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Sí — només si alguna cosa important canvia", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Encara no estic segur", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Vas sentir a parlar de Doctorina per un metge?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Sí", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "No", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALITZANT ELS TEUS RESULTATS", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalitzant la teva experiència", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Experiència il·limitada amb Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "EL TEU ASSISTENT QUE SEMPRE ÉS A PROP", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "No esteu segurs encara? Activa la prova gratuïta.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Anual", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Mensual", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Setmanal", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Diari", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (només $3.34/setmana)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "3,99 $", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "ESTALVIA 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Continuar", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Comença el període de prova gratuït", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "La subscripció és renovable automàticament. Cancel·la en qualsevol moment", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Termes de servei | Política de privadesa", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "setmana", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analitzant els teus resultats", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Tanca la incorporació", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Restaura compreses", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Restaura", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "No s'ha trobat cap subscripció activa per restaurar.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "No s'ha pogut restaurar les compres. Si us plau, torneu-ho a intentar més tard.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "No s'ha pogut completar la compra. Si us plau, torna a provar més tard.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Avui: Obteniu accés instantani", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Desbloqueja l'accés complet, obtén respostes de salut d'IA, en qualsevol moment.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Dia 2: Recordatori del trial", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Us enviarem un recordatori que la teva prova està a punt d'acabar", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Dia 3: Renovació", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Se'ts cobrarà el {date}, cancel·la en qualsevol moment abans.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "QUÈ ESTÀ INCLÒS", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privat i segur", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Assistència AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Respostes de salut instantànies", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Clars, basats en la ciència", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Resums automàtics de converses", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Qualsevol idioma, en qualsevol moment", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "per week", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Oferta única", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% DESCOMPTE", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "PER SEMPRE", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Un cop tanquis la teva oferta única, s'ha acabat!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mes", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "PREU MÉS BAIX MAI", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Cancel·la en qualsevol moment", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Reclama la teva oferta", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Subscripció de renovació automàtica", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Regal especial a dins", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Un toc per revelar la teva oferta especial", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Obre ara", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "No s'ha pogut carregar les opcions d'abonament. Si us plau, torneu-ho a intentar més tard.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "No s'han pogut carregar els preus de les subscripcions", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Comprova la teva connexió i torna-ho a provar.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Prova-ho de nou", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_cs.arb b/example/lib/src/l10n/onboarding/app_cs.arb new file mode 100644 index 0000000..bfaab7d --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_cs.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "cs", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "POKROČILÝ AI ZDRAVOTNÍ ASISTENT", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Vítejte u Doctoriny!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Navrženo tak, aby analyzovalo příznaky jako zkušení klinici — porozuměním vzorcům, načasování a kontextu.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Začít", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Už máte účet? Přihlásit se", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Pokračováním souhlasíte s našimi\nPodmínkami služby | Zásadami ochrany osobních údajů", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Pojďme personalizovat Doctorina pro vás", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALIZACE", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Co vás sem dnes přivedlo?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Momentálně mám příznaky", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Chci pochopit změnu zdraví", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Chci vyloučit něco vážného", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Své zdraví monitoruji proaktivně", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Pokračovat", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Když se něco změní ve vašem zdraví, je nejtěžší vědět, co je důležité.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina se zaměřuje na vzorce symptomů a časování — stejné signály, které lékaři hledají na začátku.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Vyberte své pohlaví", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "To nám pomáhá lépe interpretovat příznaky a poskytovat doporučení.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Muž", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Žena", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Raději neříkat", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Kolik je vám let?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Věk nám pomáhá přesněji hodnotit zdravotní vzorce", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Více než 48k+ lidí\nvzalo Doctorinu", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Na základě statistik uživatelské základny Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Vyvinuto
lékaři", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "KROK 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Jak byste popsali svou aktuální zdravotní situaci?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Obecně se cítím zdravě", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Mám trvalé drobné obavy", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Řídím známý stav", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Zabývám se něčím nevyřešeným", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "KROK 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Jak často obvykle navštěvujete lékaře?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Pravidelně (prohlídky / kontroly)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Občas, když je něco špatně", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Zřídka, pouze pokud je to nutné", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Vyhýbáte se návštěvám lékařů", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Nikdy jsem nenavštívil lékaře", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "KROK 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Jaká byla vaše dosavadní největší výzva v oblasti zdravotní péče?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Vyberte, kolik chcete", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Dlouhé čekací doby na schůzky", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Návštěvy se zdají být uspěchané", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Vysoké náklady nebo nejasné ceny", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Těžké vše jasně vysvětlit", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Oproti si navzájem odporující názory nebo rady", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Žádné vážné problémy", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "KROK 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Po schůzkách, jak si jste jisti tím, co vám bylo řečeno?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Není správná ani špatná odpověď.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Velmi jasné, co se děje", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Poněkud jasné", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Stále nejistý", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Více zmatený než předtím", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Mnoho lidí se potýká ne po diagnóze , ale když se symptomy v průběhu času mění.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "KROK 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Jak dobře se cítíte, že jsou vaše obavy obvykle řešeny?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Na základě vašich subjektivních pocitů", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Velmi dobře", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Docela dobře", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Ne moc dobře", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Hodně se to liší", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "KROK 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Před návštěvou lékaře se obvykle snažíte pochopit příznaky sami?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Ano, zkoumám a sleduji věci", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Někdy", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Zřídka", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Ne, spoléhám se zcela na profesionály", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Zdravotní otázky následují úřední hodiny.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina je dostupná 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Jasnost by neměla čekat na další schůzku.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Chcete, abychom se zajímali o vaše zdravotní příznaky?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI může sledovat vaše příznaky a upozornit vás, pokud by něco mohlo vyžadovat pozornost", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Ano — sledujte mé zdraví", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Ano — pouze pokud dojde k něčemu důležitému", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Ještě si nejsem jistý", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Slyšel(a) jste o Doctorině od lékaře?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Ano", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Ne", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALYZUJI VAŠE VÝSLEDKY", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalizace vaší zkušenosti", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Neomezený zážitek s Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "VÁŠ ASISTENT, KTERÝ JE VŽDY BLÍZKO", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Nejste si ještě jisti? Aktivujte bezplatnou zkušební verzi.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Roční", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Měsíčně", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Týdenní", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Denní", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39,99 $ (pouze 3,34 $/týden)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "3,99 $", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "UŠETŘETE 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Pokračovat", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Začít bezplatnou zkušební verzi", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Předplatné se automaticky obnovuje. Můžete zrušit kdykoli", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Podmínky služby | Zásady ochrany osobních údajů", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "týden", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analyzujeme vaše výsledky", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Zavřít onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Obnovit nákupy", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Obnovit", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Nenašla se žádná aktivní předplatné k obnovení.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Obnovení nákupů se nezdařilo. Zkuste to prosím znovu později.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Nákup se nepodařilo dokončit. Zkuste to prosím znovu později.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Dnes: Získejte okamžitý přístup", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Odemkněte plný přístup, získejte odpovědi na zdravotní otázky od AI, kdykoliv.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Den 2: Připomenutí zkušební doby", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Pošleme vám připomínku, že vaše zkušební doba se blíží ke konci", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Den 3: Obnovení", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Budete účtováni dne {date}, zrušte kdykoli předtím.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "CO JE ZAHRNUTO", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Soukromé a bezpečné", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI asistent, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Okamžité zdravotní odpovědi", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Clear, science-based insights", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Automatická shrnutí konverzací", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Jakýkoli jazyk, kdykoli", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "za týden", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Jednorázová nabídka", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% SLEVA", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "FOREVER", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Jakmile zavřete svou jednorázovou nabídku, je pryč!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mo", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "LOWEST PRICE EVER", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Zrušit kdykoli", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Uplatněte svou nabídku", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Automaticky obnovitelné předplatné", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Speciální dárek uvnitř", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Jedním dotykem odhalte svou speciální nabídku", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Otevřít nyní", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Nepodařilo se načíst možnosti předplatného. Zkuste to prosím znovu později.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Nelze načíst ceny předplatného", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Zkontrolujte své připojení a zkuste to znovu", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Zkusit znovu", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_da.arb b/example/lib/src/l10n/onboarding/app_da.arb new file mode 100644 index 0000000..1667e7a --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_da.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "da", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "AVANCERET AI SUNDHEDSASSISTENT", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Velkommen", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Designet til at analysere symptomer som erfarne klinikere gør — ved at forstå mønstre, timing og kontekst.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Kom i gang", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Har du allerede en konto? Log ind", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Ved at fortsætte accepterer du vores\nVilkår for Service | Privatlivspolitik", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Lad os personliggøre Doctorina til dig", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALISERING", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Hvad bringer dig her i dag?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Jeg oplever symptomer nu", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Jeg vil forstå en sundhedsændring", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Jeg vil udelukke noget alvorligt", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Jeg overvåger min sundhed proaktivt", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Fortsæt", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Når noget ændrer sig i dit helbred, er det sværest at vide, hvad der betyder noget.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina fokuserer på symptommønstre og timing — de samme signaler som klinikere ser efter tidligt.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Vælg dit køn", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Dette hjælper os med at fortolke symptomer og give anbefalinger mere præcist", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Mand", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Kvinde", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Foretrækker ikke at sige", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Hvad er din alder?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Alder hjælper os med at vurdere sundhedsmønstre mere præcist.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Over 48k+ mennesker\nhar valgt Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Baseret på Doctorina brugerstatistik", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Udviklet af\nLæger", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "TRIN 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Hvordan vil du beskrive din nuværende helbredssituation?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Jeg føler mig generelt sund", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Jeg har løbende mindre bekymringer", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Jeg håndterer en kendt tilstand", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Jeg har noget uafklaret", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "TRIN 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Hvor ofte ser du normalt en læge?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regelmæssigt (tjek-ups / opfølgninger)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Af og til, når noget er galt", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Sjældent, kun hvis nødvendigt", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Undgå at besøge læger", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Jeg har aldrig besøgt en læge", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "TRIN 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Hvad har været din største udfordring med sundhedspleje indtil videre?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Vælg så mange du vil", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Lange ventetider til aftaler", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Besøg føles hastige", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Høj pris eller uklar prissætning", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Svært at forklare alt klart", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Modstridende meninger eller råd", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Ingen større problemer", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "TRIN 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Efter aftaler, hvor selvsikker føler du dig om det, du blev fortalt?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Der er ikke noget rigtigt eller forkert svar", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Meget klart over, hvad der foregår", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Nogenlunde klar", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Fortsat usikker", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Mere forvirret end før", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Mange mennesker kæmper ikke efter diagnosen , men når symptomerne ændrer sig over tid.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "TRIN 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Hvor godt føler du, at dine bekymringer normalt bliver taget alvorligt?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Baseret på dine subjektive følelser", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Meget godt", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Rimeligt godt", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Ikke særlig godt", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Det varierer meget", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "TRIN 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Forsøger du normalt at forstå symptomer selv, før du ser en læge?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Ja, jeg forsker og holder styr på ting", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Nogle gange", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Sjældent", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Nej, jeg stoler helt på fagfolk", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Sundhedsspørgsmål følger ikke kontortider.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina er tilgængelig 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Klarhed bør ikke vente på den næste aftale", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Vil du have, at vi tjekker ind på dine helbredssymptomer?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI kan overvåge dine symptomer og advare dig, hvis noget måtte kræve opmærksomhed", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Ja — hold øje med mit helbred", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Ja — kun hvis noget vigtigt ændrer sig", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Ikke sikker endnu", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Har du hørt om Doctorina fra en læge?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Ja", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Nej", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALYSERER DINE RESULTATER", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalisering af din oplevelse", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Ubegribelig oplevelse med Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "DIN ASSISTENT SOM ALTID ER NÆR", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Er du ikke sikker endnu? Aktiver gratis prøveperiode.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Årligt", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Månedlig", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Ugentlig", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Daglig", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39,99 $ (kun 3,34 $/uge)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "SPAR 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Fortsæt", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Start gratis prøveperiode", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Abonnementet fornyes automatisk. Afbestil når som helst", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Brugsvilkår | Privatlivspolitik", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "uge", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analyserer dine resultater", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Luk onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Gendan køb", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Gendan", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Ingen aktiv abonnement fundet til at gendanne.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Det lykkedes ikke at gendanne køb. Prøv venligst igen senere.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Køb kunne ikke gennemføres. Prøv venligst igen senere.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "I dag: Få øjeblikkelig adgang", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Få fuld adgang, få AI-sundhedssvar, når som helst.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Dag 2: Påmindelse om prøve", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Vi sender dig en påmindelse om, at din prøveperiode er ved at slutte", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Dag 3: Fornyelse", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Du vil blive opkrævet den {date}, afbestil når som helst før.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "Hvad er inkluderet", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privat og sikker", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI-assistent, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Øjeblikkelige sundhedsbesvarelser", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Klare, videnskabsbaserede indsigter", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Automatiske samtaleresuméer", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Ethvert sprog, når som helst", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "pr. uge", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Engangstilbud", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% RABAT", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "FOREVER", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Når du lukker dit engangstilbud, er det væk!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/md", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "LOWEST PRICE EVER", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Afbryd når som helst", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Gør krav på dit tilbud", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Automatisk fornyelse af abonnement", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Særlig gave indeni", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Én tryk for at afsløre dit særlige tilbud", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Åbn nu", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Kunne ikke indlæse abonnementsmuligheder. Prøv venligst igen senere.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Kunne ikke indlæse abonnementspriser", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Tjek din forbindelse og prøv igen.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Prøv igen", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_de.arb b/example/lib/src/l10n/onboarding/app_de.arb new file mode 100644 index 0000000..2610ea2 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_de.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "de", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "FORTSCHRITTLICHER KI-GESUNDHEITSASSISTENT", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Willkommen bei Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Entwickelt, um Symptome so zu analysieren, wie es erfahrene Kliniker tun – durch das Verständnis von Mustern, Timing und Kontext.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Loslegen", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Bereits ein Konto? Einloggen", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Indem Sie fortfahren, stimmen Sie unseren\nNutzungsbedingungen | Datenschutzrichtlinie zu", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Lass uns Doctorina für dich personalisieren", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALISIERUNG", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Was bringt Sie heute hierher?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Ich habe jetzt Symptome", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Ich möchte eine Gesundheitsänderung verstehen", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Ich möchte etwas Ernstes ausschließen", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Ich überwache meine Gesundheit proaktiv", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Fortfahren", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Wenn sich etwas in Ihrer Gesundheit ändert, ist es am schwierigsten zu wissen, was wichtig ist.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina konzentriert sich auf Symptom-Muster und Timing — die gleichen Signale, nach denen Kliniker frühzeitig suchen.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Wählen Sie Ihr Geschlecht", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Dies hilft uns, Symptome zu interpretieren und Empfehlungen genauer zu geben.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Männlich", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Weiblich", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Bevorzuge es, nicht zu sagen", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Wie alt sind Sie?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Das Alter hilft uns, Gesundheitsmuster genauer zu bewerten.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Über 48k+ Personen\nhaben Doctorina gewählt", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Basierend auf den Nutzerdaten von Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Entwickelt von\nÄrzten", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "SCHRITT 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Wie würden Sie Ihre aktuelle Gesundheitssituation beschreiben?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Ich fühle mich allgemein gesund", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Ich habe laufende kleinere Bedenken", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Ich manage eine bekannte Erkrankung", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Ich habe mit etwas Unresolved zu tun", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "SCHRITT 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Wie oft sehen Sie normalerweise einen Arzt?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regelmäßig (Kontrollen / Nachsorge)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Gelegentlich, wenn etwas nicht stimmt", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Selten, nur wenn nötig", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Arztbesuche vermeiden", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Ich habe nie einen Arzt besucht", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "SCHRITT 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Was war bisher Ihre größte Herausforderung im Gesundheitswesen?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Wähle so viele aus, wie du möchtest", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Lange Wartezeiten für Termine", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Besuche fühlen sich hastig an", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Hohe Kosten oder unklare Preisgestaltung", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Schwierig, alles klar zu erklären", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Widersprüchliche Meinungen oder Ratschläge", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Keine größeren Probleme", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "SCHRITT 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Nach den Terminen, wie zuversichtlich fühlen Sie sich über das, was Ihnen gesagt wurde?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Es gibt keine richtige oder falsche Antwort.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Sehr klar darüber, was vor sich geht", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Etwas klar", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Noch unsicher", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Verwirrter als zuvor", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Viele Menschen kämpfen nicht nach der Diagnose, sondern wenn sich die Symptome im Laufe der Zeit ändern", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "SCHRITT 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Wie gut fühlst du dich, dass deine Bedenken normalerweise angesprochen werden?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Basierend auf Ihren subjektiven Gefühlen", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Sehr gut", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Ganz gut", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Nicht sehr gut", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Es variiert stark", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "SCHRITT 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Versuchst du normalerweise, die Symptome selbst zu verstehen, bevor du einen Arzt aufsuchst?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Ja, ich recherchiere und verfolge Dinge", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Manchmal", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Selten", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Nein, ich verlasse mich ganz auf Fachleute", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Gesundheitsfragen folgen nicht den Bürozeiten.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina ist rund um die Uhr verfügbar.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Klarheit sollte nicht bis zum nächsten Termin warten müssen.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Möchten Sie, dass wir Ihre Gesundheitssymptome überprüfen?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "KI kann Ihre Symptome überwachen und Sie warnen, wenn etwas Aufmerksamkeit benötigt", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Ja — achte auf meine Gesundheit", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Ja — nur wenn sich etwas Wichtiges ändert", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Noch unsicher", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Hast du von Doctorina von einem Arzt gehört?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Ja", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Nein", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "IHRE ERGEBNISSE WERDEN ANALYSIERT", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalisierung Ihres Erlebnisses", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Unbegrenzte Erfahrung mit Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "DEIN ASSISTENT, DER IMMER NAHE IST", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Sind Sie sich noch nicht sicher? Aktivieren Sie die kostenlose Testversion.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Jährlich", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Monatlich", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Wöchentlich", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Täglich", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (nur $3.34/Woche)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "SPAREN Sie 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Fortfahren", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Kostenlose Testversion starten", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Das Abonnement ist automatisch verlängerbar. Jederzeit kündbar", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Nutzungsbedingungen | Datenschutzrichtlinie", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "Woche", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analysiere deine Ergebnisse", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Onboarding schließen", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Einkäufe wiederherstellen", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Wiederherstellen", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Keine aktive Abonnements gefunden, die wiederhergestellt werden können.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Wiederherstellung der Käufe fehlgeschlagen. Bitte versuche es später erneut.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Der Kauf konnte nicht abgeschlossen werden. Bitte versuchen Sie es später erneut.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Heute: Sofortigen Zugang erhalten", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Vollzugriff freischalten, jederzeit KI-Gesundheitsantworten erhalten.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Tag 2: Erinnerungsbenachrichtigung zur Testphase", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Wir senden Ihnen eine Erinnerung, dass Ihre Testphase bald endet", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Tag 3: Erneuerung", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Du wirst am {date} belastet, kündige jederzeit vorher.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "WAS IST ENTHALTEN", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privat und sicher", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "KI-Assistent, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Sofortige Gesundheitsantworten", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Klare, wissenschaftlich fundierte Einblicke", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Automatische Gesprächszusammenfassungen", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Jede Sprache, jederzeit", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "pro Woche", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Einmalangebot", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% RABATT", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "FÜR IMMER", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Sobald Sie Ihr einmaliges Angebot schließen, ist es weg!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/Monat", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "NIEDRIGSTER PREIS ALLER ZEIT", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Jederzeit kündbar", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Fordern Sie Ihr Angebot an", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Automatisch verlängerbares Abonnement", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Besonderes Geschenk innen", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Ein Tipp, um Ihr spezielles Angebot zu enthüllen", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Jetzt öffnen", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Die Abonnementoptionen konnten nicht geladen werden. Bitte versuche es später erneut.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Konnte die Abonnementpreise nicht laden", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Überprüfen Sie Ihre Verbindung und versuchen Sie es erneut.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Versuche es erneut", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_el.arb b/example/lib/src/l10n/onboarding/app_el.arb new file mode 100644 index 0000000..e983edd --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_el.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "el", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ΠΡΟΧΩΡΗΜΕΝΟΣ ΒΟΗΘΟΣ ΥΓΕΙΑΣ ΤΕΧΝΗΣ", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Καλώς ήρθατε", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Σχεδιασμένο για να αναλύει τα συμπτώματα όπως οι έμπειροι κλινικοί γιατροί — κατανοώντας τα μοτίβα, το χρόνο και το πλαίσιο.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Ξεκινήστε", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Έχετε ήδη λογαριασμό; Σύνδεση", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Συνεχίζοντας, συμφωνείτε με τους", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Ας προσωποποιήσουμε Doctorina για εσάς", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "Προσωποποίηση", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Τι σας φέρνει εδώ σήμερα;", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Έχω συμπτώματα τώρα", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Θέλω να κατανοήσω μια αλλαγή στην υγεία", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Θέλω να αποκλείσω κάτι σοβαρό", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Παρακολουθώ την υγεία μου προληπτικά", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Συνέχεια", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Όταν κάτι αλλάζει στην υγεία σας, το να ξέρετε τι έχει σημασία είναι το πιο δύσκολο.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Η Doctorina εστιάζει σε μοτίβα συμπτωμάτων και χρονισμού — τα ίδια σήματα που αναζητούν οι κλινικοί νωρίς.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Επιλέξτε το φύλο σας", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Αυτό μας βοηθά να ερμηνεύσουμε τα συμπτώματα και να δώσουμε συστάσεις με μεγαλύτερη ακρίβεια.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Άνδρας", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Γυναίκα", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Προτιμώ να μην πω", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Ποια είναι η ηλικία σας;", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Η ηλικία μας βοηθά να αξιολογούμε τα πρότυπα υγείας πιο ακριβώς.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Πάνω από 48k+\nέχουν επιλέξει την Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Βασισμένο σε στατιστικά στοιχεία της βάσης χρηστών του Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Αναπτύχθηκε από\nΓιατρούς", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ΒΗΜΑ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Πώς θα περιγράφατε την τρέχουσα κατάσταση της υγείας σας;", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Γενικά νιώθω υγιής", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Έχω συνεχιζόμενες μικρές ανησυχίες", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Διαχειρίζομαι μια γνωστή κατάσταση", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Ασχολούμαι με κάτι που δεν έχει επιλυθεί", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ΒΗΜΑ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Πόσο συχνά συνήθως επισκέπτεστε έναν γιατρό;", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Κανονικά (εξετάσεις / παρακολούθηση)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Κατά καιρούς, όταν κάτι δεν πάει καλά", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Σπάνια, μόνο αν είναι απαραίτητο", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Αποφεύγετε τις επισκέψεις στους γιατρούς", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Ποτέ δεν έχω επισκεφθεί γιατρό", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ΒΗΜΑ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Ποια ήταν η μεγαλύτερη πρόκληση που αντιμετωπίσατε με την υγειονομική περίθαλψη μέχρι τώρα;", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Επιλέξτε όσες θέλετε", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Μακρές αναμονές για ραντεβού", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Οι επισκέψεις φαίνονται βιαστικές", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Υψηλό κόστος ή ασαφής τιμολόγηση", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Δύσκολο να εξηγήσεις τα πάντα καθαρά", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Αντίθετες απόψεις ή συμβουλές", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Δεν υπάρχουν σοβαρά προβλήματα", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ΒΗΜΑ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Μετά από ραντεβού, πόσο σίγουρος/η νιώθετε για όσα σας είπαν;", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Δεν υπάρχει σωστή ή λάθος απάντηση.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Πολύ σαφές για το τι συμβαίνει", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Κάπως σαφές", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Ακόμα αβέβαιος", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Πιο μπερδεμένος από πριν", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Πολλοί άνθρωποι δυσκολεύονται όχι μετά τη διάγνωση αλλά όταν τα συμπτώματα αλλάζουν με την πάροδο του χρόνου.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ΒΗΜΑ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Πόσο καλά αισθάνεστε ότι οι ανησυχίες σας συνήθως αντιμετωπίζονται;", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Βασισμένο στα υποκειμενικά σας συναισθήματα", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Πολύ καλά", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Αρκετά καλά", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Όχι πολύ καλά", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Διαφέρει πολύ", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ΒΗΜΑ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Πριν επισκεφθείτε έναν γιατρό, συνήθως προσπαθείτε να κατανοήσετε τα συμπτώματα μόνοι σας;", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Ναι, ερευνώ και παρακολουθώ πράγματα", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Μερικές φορές", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Σπάνια", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Όχι, βασίζομαι αποκλειστικά σε επαγγελματίες", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Οι ερωτήσεις υγείας δεν ακολουθούν τις ώρες γραφείου.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Η Doctorina είναι διαθέσιμη 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Η σαφήνεια δεν θα πρέπει να περιμένει την επόμενη ραντεβού.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Θέλετε να ελέγξουμε τα συμπτώματα της υγείας σας;", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "Η AI μπορεί να παρακολουθεί τα συμπτώματά σας και να σας ειδοποιεί αν κάτι χρειάζεται προσοχή", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Ναι — παρακολουθώ την υγεία μου", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Ναι — μόνο αν αλλάξει κάτι σημαντικό", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Δεν είμαι σίγουρος ακόμα", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Ακούσατε για την Doctorina από κάποιον γιατρό;", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Ναι", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Όχι", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ΑΝΑΛΥΣΗ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΣΑΣ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Προσαρμόζοντας την εμπειρία σας", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Απεριόριστη εμπειρία με Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "Ο Βοηθός σας που είναι πάντα κοντά", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Δεν είστε σίγουροι ακόμα; Ενεργοποιήστε τη δωρεάν δοκιμή.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Ετήσια", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Μηνιαία", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Εβδομαδιαία", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Ημερήσια", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (μόνο $3.34/εβδομάδα)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "ΕΞΟΙΚΟΝΟΜΗΣΤΕ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Συνέχεια", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Ξεκινήστε δωρεάν δοκιμή", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Η συνδρομή ανανεώνεται αυτόματα. Μπορείτε να ακυρώσετε οποιαδήποτε στιγμή", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Όροι Υπηρεσίας | Πολιτική Απορρήτου", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "εβδομάδα", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Αναλύουμε τα αποτελέσματά σας", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Κλείσιμο εκπαίδευσης", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Ανάκτηση Αγορών", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Ανάκτηση", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Δεν βρέθηκε ενεργή συνδρομή για αποκατάσταση.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Αποτυχία στην αποκατάσταση των αγορών. Παρακαλώ δοκιμάστε ξανά αργότερα.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Αποτυχία ολοκλήρωσης της αγοράς. Παρακαλώ δοκιμάστε ξανά αργότερα", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Σήμερα: Αποκτήστε άμεση πρόσβαση", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Ξεκλειδώστε πλήρη πρόσβαση, αποκτήστε απαντήσεις υγείας από AI, οποιαδήποτε στιγμή.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Ημέρα 2: Υπενθύμιση δοκιμής", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Θα σας στείλουμε μια υπενθύμιση ότι η δοκιμή σας πλησιάζει στο τέλος", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Ημέρα 3: Ανανέωση", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Θα χρεωθείτε στις {date}, ακυρώστε οποιαδήποτε στιγμή πριν.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ΤΙ ΠΕΡΙΛΑΜΒΑΝΕΙ", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Ιδιωτικό και ασφαλές", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Βοηθός AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Άμεσες υγειονομικές απαντήσεις", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Καθαρές, επιστημονικά τεκμηριωμένες γνώσεις", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Αυτόματες περιλήψεις συνομιλιών", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Οποιαδήποτε γλώσσα, οποτεδήποτε", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "ανά εβδομάδα", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Μοναδική προσφορά", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ΕΚΠΤΩΣΗ", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ΑΙΩΝΙΑ", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Μόλις κλείσετε την προσφορά σας, αυτή θα χαθεί!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/μήνα", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "ΧΑΜΗΛΟΤΕΡΗ ΤΙΜΗ ΠΟΤΕ", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Ακύρωση οποιαδήποτε στιγμή", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "ΔClaim your offer", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Αυτόματη ανανέωση συνδρομής", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Ειδικό δώρο μέσα", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Ένα άγγιγμα για να αποκαλύψετε την ειδική σας προσφορά", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Άνοιξε τώρα", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Αποτυχία φόρτωσης επιλογών συνδρομής. Παρακαλώ δοκιμάστε ξανά αργότερα.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Δεν ήταν δυνατή η φόρτωση των τιμών συνδρομής", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Ελέγξτε τη σύνδεσή σας και δοκιμάστε ξανά.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Δοκιμάστε ξανά", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_en.arb b/example/lib/src/l10n/onboarding/app_en.arb new file mode 100644 index 0000000..d44814e --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_en.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "en", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ADVANCED AI HEALTH ASSISTANT", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Welcome\nto Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Designed to analyze symptoms the way experienced clinicians do — by understanding patterns, timing, and context.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Get started", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Already have an account? Log In", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "By continuing, you agree to our\nTerms of Service | Privacy Policy", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Let's personalize\nDoctorina for you", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALIZATION", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "What brings you here today?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "I'm experiencing symptoms now", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "I want to understand a health change", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "I want to rule out something serious", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "I'm monitoring my health proactively", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Continue", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "When something changes in your health, knowing what matters is hardest.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina focuses on symptom patterns and timing — the same signals clinicians look for early on.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Select your gender", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "This helps us interpret symptoms and give recommendations more accurately.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Male", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Female", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Prefer not to say", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "What is your age?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Age helps us evaluate health patterns more accurately.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Over 48k+ people\nhave chosen Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Based on Doctorina user base statistics", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Developed by\nDoctors", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "STEP 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "How would you describe your current health situation?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "I generally feel healthy", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "I have ongoing minor concerns", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "I'm managing a known condition", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "I'm dealing with something unresolved", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "STEP 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "How often do you usually see a doctor?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regularly (checkups / follow-ups)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Occasionally, when something wrong", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Rarely, only if necessary", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Avoid visiting doctors", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "I've never visited a doctor", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "STEP 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "What's been your biggest challenge with healthcare so far?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Choose as many as you like", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Long wait times for appointments", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Visits feel rushed", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "High cost or unclear pricing", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Hard to explain everything clearly", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Conflicting opinions or advice", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "No major issues", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "STEP 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "After appointments, how confident do you feel about what you were told?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "There's no right or wrong answer.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Very clear about what's going on", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Somewhat clear", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Still uncertain", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "More confused than before", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Many people struggle not after diagnosis but when symptoms change over time.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "STEP 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "How well do you feel your concerns are usually addressed?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Based on your subjective feelings", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Very well", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Fairly well", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Not very well", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "It varies a lot", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "STEP 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Before seeing a doctor, do you usually try to make sense of symptoms yourself?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Yes, I research and track things", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Sometimes", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Rarely", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "No, I rely entirely on professionals", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Health questions don't follow office hours.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina is available 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Clarity shouldn't have to wait for the next appointment.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Do you want us to check in on your health symptoms?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI can monitor your symptoms and alert you if something may need attention", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Yes — keep an eye on my health", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Yes — only if something important changes", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Not sure yet", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Did you hear about Doctorina from a doctor?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Yes", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "No", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALYZING YOUR RESULTS", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalizing your experience", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Unlimited experience with Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "YOUR ASSISTANT WHO IS ALWAYS NEARBY", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Not sure yet? Enable free trial.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Yearly", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Monthly", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Weekly", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Daily", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (only $3.34/week)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "SAVE 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Continue", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Start Free-trial", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Subscription is auto-renewable. Cancel anytime", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Terms of Service | Privacy Policy", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "week", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analyzing your results", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Close onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Restore Purchases", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Restore", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "No active subscription found to restore.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Failed to restore purchases. Please try again later.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Failed to complete the purchase. Please try again later.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Today: Get instant access", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Unlock full access, get AI health answers, anytime.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Day 2: Trial reminder", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "We'll send you a reminder that your trial is about to end", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Day 3: Renewal", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "You'll be charged on {date}, cancel anytime before.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "WHAT'S INCLUDED", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Private and secure", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI assistant, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Instant health answers", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Clear, science-based insights", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Auto conversation summaries", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Any language, anytime", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "per week", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "One time offer", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% OFF", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "FOREVER", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Once you close your one-time offer, it's gone!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mo", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "LOWEST PRICE EVER", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Cancel anytime", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Claim your offer", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Auto-renewable subscription", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Special gift inside", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "One tap to reveal your special offer", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Open now", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Failed to load subscription options. Please try again later.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Couldn't load subscription prices", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Check your connection and try again.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Try again", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_es.arb b/example/lib/src/l10n/onboarding/app_es.arb new file mode 100644 index 0000000..76fe7d3 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_es.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "es", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ASISTENTE DE SALUD AVANZADO DE IA", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "¡Bienvenido a Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Diseñado para analizar síntomas como lo hacen los clínicos experimentados: entendiendo patrones, tiempos y contexto.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Comenzar", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "¿Ya tienes una cuenta? Iniciar sesión", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Al continuar, aceptas nuestros\nTérminos de Servicio | Política de Privacidad", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Personalicemos Doctorina para ti", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALIZACIÓN", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "¿Qué te trae aquí hoy?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Estoy experimentando síntomas ahora", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Quiero entender un cambio de salud", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Quiero descartar algo serio", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Estoy monitoreando mi salud de manera proactiva", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Continuar", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Cuando algo cambia en tu salud, saber qué es lo que importa es lo más difícil.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina se centra en los patrones de síntomas y el tiempo — las mismas señales que los clínicos buscan desde el principio.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Selecciona tu género", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Esto nos ayuda a interpretar los síntomas y dar recomendaciones con mayor precisión.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Masculino", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Femenino", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Prefiero no decirlo", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "¿Cuál es tu edad?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "La edad nos ayuda a evaluar los patrones de salud con mayor precisión.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Más de 48k+ personas\nhan elegido Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Basado en estadísticas de la base de usuarios de Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Desarrollado por\nMédicos", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "PASO 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "¿Cómo describirías tu situación de salud actual?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Generalmente me siento saludable", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Tengo preocupaciones menores continuas", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Estoy manejando una condición conocida", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Estoy lidiando con algo no resuelto", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "PASO 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "¿Con qué frecuencia sueles ver a un médico?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regularmente (chequeos / seguimientos)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Ocasionalmente, cuando algo está mal", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Rara vez, solo si es necesario", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Evitar visitar a los médicos", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Nunca he visitado a un médico", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "PASO 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "¿Cuál ha sido tu mayor desafío con la atención médica hasta ahora?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Elige tantos como desees", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Largos tiempos de espera para las citas", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Las visitas se sienten apresuradas", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Alto costo o precios poco claros", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Difícil explicar todo claramente", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Opiniones o consejos contradictorios", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "No hay problemas importantes", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "PASO 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Después de las citas, ¿qué tan seguro te sientes sobre lo que te dijeron?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "No hay una respuesta correcta o incorrecta.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Muy claro sobre lo que está sucediendo", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Algo claro", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Aún incierto", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Más confundido que antes", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Muchas personas luchan no después del diagnóstico sino cuando los síntomas cambian con el tiempo", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "PASO 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "¿Qué tan bien sientes que se abordan tus preocupaciones?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Basado en tus sentimientos subjetivos", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Muy bien", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Bastante bien", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "No muy bien", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Varía mucho", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "PASO 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Antes de ver a un médico, ¿sueles intentar entender los síntomas por ti mismo?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Sí, investigo y sigo las cosas", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "A veces", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Rara vez", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "No, confío completamente en los profesionales", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Las preguntas de salud no siguen el horario de oficina.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina está disponible 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "La claridad no debería tener que esperar a la próxima cita.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "¿Quieres que verifiquemos tus síntomas de salud?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "La IA puede monitorear tus síntomas y alertarte si algo puede necesitar atención", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Sí — cuida mi salud", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Sí — solo si algo importante cambia", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "No estoy seguro aún", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "¿Oíste hablar de Doctorina por un médico?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Sí", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "No", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALIZANDO SUS RESULTADOS", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalizando tu experiencia", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Experiencia ilimitada con Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "TU ASISTENTE QUE SIEMPRE ESTÁ CERCA", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "¿No estás seguro aún? Activa la prueba gratuita.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Anual", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Mensual", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Semanal", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Diario", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (solo $3.34/semana)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "AHORRA 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Continuar", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Iniciar prueba gratuita", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "La suscripción se renueva automáticamente. Cancela en cualquier momento", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Términos de Servicio | Política de Privacidad", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "semana", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analizando tus resultados", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Cerrar la incorporación", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Restaurar compras", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Restaurar", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "No se encontró ninguna suscripción activa para restaurar.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Error al restaurar compras. Por favor, inténtalo de nuevo más tarde.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "No se pudo completar la compra. Por favor, inténtalo de nuevo más tarde.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Hoy: Obtén acceso instantáneo", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Desbloquea el acceso completo, obtén respuestas de salud de IA, en cualquier momento.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Día 2: Recordatorio de la prueba", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Te enviaremos un recordatorio de que tu prueba está a punto de terminar", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Día 3: Renovación", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Se te cobrará el {date}, cancela en cualquier momento antes.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "QUÉ INCLUYE", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privado y seguro", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Asistente de IA, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Respuestas de salud instantáneas", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Perspectivas claras basadas en la ciencia", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Resúmenes automáticos de conversaciones", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Cualquier idioma, en cualquier momento", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "por semana", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Oferta única", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% DE DESCUENTO", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "SIEMPRE", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "¡Una vez que cierres tu oferta única, se habrá ido!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mes", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "PRECIO MÁS BAJO DE LA HISTORIA", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Cancela en cualquier momento", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Reclama tu oferta", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Suscripción automática renovable", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Regalo especial dentro", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Un toque para revelar tu oferta especial", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Abre ahora", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "No se pudo cargar las opciones de suscripción. Por favor, inténtalo de nuevo más tarde.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "No se pudieron cargar los precios de suscripción", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Verifica tu conexión y vuelve a intentarlo.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Intenta de nuevo", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_fa.arb b/example/lib/src/l10n/onboarding/app_fa.arb new file mode 100644 index 0000000..0802b2a --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_fa.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "fa", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "دستیار سلامت پیشرفته هوش مصنوعی", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "خوش آمدید به دکترینا!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "طراحی شده برای تحلیل علائم به شیوه‌ای که پزشکان با تجربه انجام می‌دهند - با درک الگوها، زمان‌بندی و زمینه", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "شروع کنید", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "آیا قبلاً حساب دارید؟ ورود", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "با ادامه، شما با شرایط خدمات | سیاست حفظ حریم خصوصی موافقت می‌کنید", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "بیایید Doctorina را برای شما شخصی‌سازی کنیم", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "شخصی‌سازی", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "چه چیزی شما را امروز به اینجا آورده است؟", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "من هم اکنون علائم دارم", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "می‌خواهم تغییرات سلامتی را درک کنم", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "می‌خواهم چیزی جدی را رد کنم", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "من به طور پیشگیرانه سلامتی خود را زیر نظر دارم", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "ادامه", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "زمانی که چیزی در سلامتی شما تغییر می‌کند، دانستن اینکه چه چیزی مهم است سخت‌ترین است.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "داکترینا بر الگوهای علائم و زمان‌بندی تمرکز دارد — همان سیگنال‌هایی که پزشکان در اوایل به دنبال آن هستند.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "جنس خود را انتخاب کنید", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "این به ما کمک می‌کند تا علائم را تفسیر کرده و توصیه‌ها را با دقت بیشتری ارائه دهیم", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "مرد", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "زن", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "ترجیح می‌دهم نگویم", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "سن شما چقدر است؟", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "سن به ما کمک می‌کند تا الگوهای سلامتی را دقیق‌تر ارزیابی کنیم", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "بیش از ۲۳ هزار نفر\nDoctorina را انتخاب کرده‌اند", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*بر اساس آمار کاربران Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "توسعه داده شده توسط\nپزشکان", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "مرحله 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "چگونه وضعیت سلامتی فعلی خود را توصیف می‌کنید؟", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "من به طور کلی احساس سلامتی می‌کنم", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "من نگرانی‌های جزئی مداوم دارم", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "من در حال مدیریت یک وضعیت شناخته شده هستم", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "من با یک موضوع حل نشده دست و پنجه نرم می‌کنم", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "مرحله 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "شما معمولاً چقدر به پزشک مراجعه می‌کنید؟", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "به طور منظم (چکاپ / پیگیری‌ها)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "گاهی اوقات، وقتی چیزی اشتباه است", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "به ندرت، فقط در صورت لزوم", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "از رفتن به پزشکان خودداری کنید", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "هرگز به پزشک مراجعه نکرده‌ام", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "مرحله ۳/۶", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "بزرگترین چالش شما با خدمات بهداشتی تا کنون چه بوده است؟", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "هرچقدر که می‌خواهید انتخاب کنید", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "زمان‌های انتظار طولانی برای نوبت‌ها", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "بازدیدها احساس شتاب‌زدگی دارند", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "هزینه بالا یا قیمت‌گذاری نامشخص", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "سخت است که همه چیز را به وضوح توضیح دهم", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "نظرات یا مشاوره‌های متضاد", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "مشکلات عمده‌ای وجود ندارد", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "مرحله ۴/۶", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "بعد از ملاقات‌ها، چقدر به آنچه به شما گفته شد اعتماد دارید؟", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "جواب درست یا نادرست وجود ندارد", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "کاملاً واضح دربارهٔ آنچه در حال وقوع است", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "تاحدی واضح", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "هنوز مطمئن نیستم", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "بیشتر از قبل گیج هستم", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "بسیاری از مردم بعد از تشخیص بلکه زمانی که علائم با گذشت زمان تغییر می‌کند، با مشکل مواجه می‌شوند.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "مرحله ۵/۶", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "چقدر احساس می‌کنید که نگرانی‌های شما معمولاً مورد توجه قرار می‌گیرد؟", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "بر اساس احساسات شخصی شما", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "خیلی خوب", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "به نسبت خوب", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "خیلی خوب نیست", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "بسیار متغیر است", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "مرحله ۶/۶", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "قبل از دیدن پزشک، آیا معمولاً سعی می‌کنید خودتان علائم را درک کنید؟", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "بله، من تحقیق و پیگیری می‌کنم", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "گاهی", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "به ندرت", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "نه، من کاملاً به حرفه‌ای‌ها تکیه می‌کنم", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "سوالات بهداشتی پیرو ساعت کاری نیستند.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina در دسترس ۲۴ ساعته در ۷ روز هفته است.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "وضوح نباید منتظر نوبت بعدی باشد", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "آیا می‌خواهید ما به علائم سلامتی شما رسیدگی کنیم؟", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "هوش مصنوعی می‌تواند علائم شما را زیر نظر داشته باشد و در صورت نیاز به توجه، به شما هشدار دهد", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "بله — به سلامتی من توجه کنید", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "بله — فقط اگر چیزی مهم تغییر کند", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "هنوز مطمئن نیستم", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "آیا درباره Doctorina از یک پزشک شنیده‌اید؟", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "بله", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "خیر", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "در حال تحلیل نتایج شما", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "شخصی‌سازی تجربه شما", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "تجربه نامحدود با Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "دستیار شما که همیشه در کنار شماست", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "هنوز مطمئن نیستید؟ آزمایش رایگان را فعال کنید.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "سالانه", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "ماهانه", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "هفتگی", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "روزانه", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "۳۹.۹۹ دلار (فقط ۳.۳۴ دلار/هفته)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "3.99$", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "صرفه‌جویی 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "ادامه", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "آغاز دوره آزمایشی رایگان", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "اشتراک به‌طور خودکار تجدید می‌شود. هر زمان که بخواهید می‌توانید لغو کنید", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "شرایط خدمات | سیاست حفظ حریم خصوصی", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "هفته", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "در حال تحلیل نتایج شما", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "بستن آموزش", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "بازگردانی خریدها", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "بازگردانی", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "هیچ اشتراک فعالی برای بازیابی پیدا نشد", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "خطا در بازیابی خریدها. لطفاً بعداً دوباره تلاش کنید.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "خرید ناموفق بود. لطفاً بعداً دوباره تلاش کنید.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "امروز: دسترسی فوری بگیرید", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "دسترسی کامل را باز کنید، هر زمان که بخواهید پاسخ‌های سلامتی هوش مصنوعی را دریافت کنید.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "روز ۲: یادآوری آزمایش", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "ما به شما یادآوری خواهیم کرد که دوره آزمایشی شما در حال اتمام است", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "روز ۳: تمدید", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "در تاریخ {date} از شما هزینه کسر خواهد شد، هر زمان قبل از آن می‌توانید لغو کنید.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "چه چیزی شامل می‌شود", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "خصوصی و امن", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "دستیار هوش مصنوعی، ۲۴/۷", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "پاسخ‌های فوری به سوالات سلامتی", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "بینش‌های واضح و مبتنی بر علم", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "خلاصه‌های خودکار مکالمه", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "هر زبانی، هر زمان", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "در هفته", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "پیشنهاد یک‌باره", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% تخفیف", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "برای همیشه", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "زمانی که پیشنهاد یک‌باره خود را ببندید، دیگر وجود نخواهد داشت!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/ماه", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "پایین‌ترین قیمت تاریخ", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "هر زمان که بخواهید لغو کنید", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "پیشنهاد خود را دریافت کنید", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "اشتراک خودکار تجدید پذیر", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "هدیه ویژه درون", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "یک ضربه برای نمایش پیشنهاد ویژه شما", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "همین حالا باز کنید", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "بارگذاری گزینه‌های اشتراک ناموفق بود. لطفاً بعداً دوباره تلاش کنید.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "نتوانستیم قیمت‌های اشتراک را بارگذاری کنیم", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "اتصال خود را بررسی کنید و دوباره تلاش کنید.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "دوباره تلاش کنید", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_fr.arb b/example/lib/src/l10n/onboarding/app_fr.arb new file mode 100644 index 0000000..afb5308 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_fr.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "fr", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ASSISTANT DE SANTÉ AI AVANCÉ", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Bienvenue chez Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Conçu pour analyser les symptômes comme le font les cliniciens expérimentés : en comprenant les schémas, le timing et le contexte", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Commencer", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Vous avez déjà un compte ? Se connecter", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "En continuant, vous acceptez nos\nConditions d'utilisation | Politique de confidentialité", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Personnalisons Doctorina pour vous", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONNALISATION", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Qu'est-ce qui vous amène ici aujourd'hui ?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "J'ai des symptômes maintenant", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Je veux comprendre un changement de santé", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Je veux écarter quelque chose de sérieux", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Je surveille ma santé de manière proactive", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Continuer", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Lorsque quelque chose change dans votre santé, savoir ce qui est important est le plus difficile.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina se concentre sur les modèles de symptômes et le timing — les mêmes signaux que les cliniciens recherchent dès le début.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Sélectionnez votre genre", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Cela nous aide à interpréter les symptômes et à donner des recommandations plus précises.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Homme", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Femme", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Préférer ne pas dire", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Quel est votre âge ?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "L'âge nous aide à évaluer les modèles de santé plus précisément.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Plus de 48k+ personnes\nont choisi Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Basé sur les statistiques de la base d'utilisateurs de Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Développé par\nDes médecins", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ÉTAPE 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Comment décririez-vous votre situation de santé actuelle ?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Je me sens généralement en bonne santé", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "J'ai des préoccupations mineures en cours", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Je gère une condition connue", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Je fais face à quelque chose d'irrésolu", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ÉTAPE 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "À quelle fréquence voyez-vous généralement un médecin ?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Régulièrement (contrôles / suivis)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Occasionnellement, quand quelque chose ne va pas", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Rarement, seulement si nécessaire", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Éviter de consulter des médecins", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Je n'ai jamais consulté de médecin", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ÉTAPE 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Quel a été votre plus grand défi avec le système de santé jusqu'à présent ?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Choisissez autant que vous le souhaitez", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Longs délais pour les rendez-vous", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Les visites semblent précipitées", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Coût élevé ou tarification peu claire", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Difficile d'expliquer tout clairement", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Opinions ou conseils contradictoires", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Aucun problème majeur", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ÉTAPE 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Après les rendez-vous, à quel point vous sentez-vous confiant quant à ce qui vous a été dit ?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Il n'y a pas de bonne ou de mauvaise réponse.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Très clair sur ce qui se passe", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Assez clair", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Encore incertain", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Plus confus qu'avant", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Beaucoup de personnes ont des difficultés non après le diagnostic mais lorsque les symptômes changent avec le temps.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ÉTAPE 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Dans quelle mesure pensez-vous que vos préoccupations sont généralement prises en compte ?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Basé sur vos sentiments subjectifs", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Très bien", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Assez bien", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Pas très bien", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Ça varie beaucoup", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ÉTAPE 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Avant de voir un médecin, essayez-vous généralement de comprendre vous-même les symptômes ?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Oui, je fais des recherches et je suis des choses", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Parfois", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Rarement", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Non, je m'en remets entièrement aux professionnels", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Les questions de santé ne suivent pas les heures de bureau.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina est disponible 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "La clarté ne devrait pas attendre le prochain rendez-vous", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Voulez-vous que nous vérifions vos symptômes de santé?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "L'IA peut surveiller vos symptômes et vous alerter si quelque chose nécessite une attention", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Oui — surveillez ma santé", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Oui — seulement si quelque chose d'important change", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Pas encore sûr", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Avez-vous entendu parler de Doctorina par un médecin ?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Oui", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Non", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALYSE DE VOS RÉSULTATS", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personnalisation de votre expérience", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Expérience illimitée avec Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "VOTRE ASSISTANT TOUJOURS PROCHE", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Pas encore sûr ? Activez l'essai gratuit.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Annuel", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Mensuel", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Hebdomadaire", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Quotidien", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39,99 € (seulement 3,34 €/semaine)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "3,99 €", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "ÉCONOMISEZ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Continuer", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Commencer l'essai gratuit", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "L'abonnement est renouvelable automatiquement. Annulez à tout moment", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Conditions d'Utilisation | Politique de Confidentialité", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "semaine", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analyse de vos résultats", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Fermer l'onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Restaurer les achats", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Restaurer", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Aucun abonnement actif trouvé à restaurer.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Échec de la restauration des achats. Veuillez réessayer plus tard.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Échec de l'achat. Veuillez réessayer plus tard.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Aujourd'hui : Obtenez un accès instantané", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Débloquez l'accès complet, obtenez des réponses de santé AI, à tout moment.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Jour 2 : Rappel d'essai", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Nous vous enverrons un rappel que votre essai est sur le point de se terminer", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Jour 3 : Renouvellement", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Vous serez facturé le {date}, annulez à tout moment avant.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "QU'EST-CE QUI EST INCLUS", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privé et sécurisé", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Assistant IA, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Réponses de santé instantanées", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Claires, insights basés sur la science", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Résumés automatiques des conversations", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Toute langue, à tout moment", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "par semaine", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Offre unique", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% DE REMISE", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "POUR TOUJOURS", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Une fois que vous fermez votre offre unique, elle est perdue!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mo", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "PRIX LE PLUS BAS JAMAIS", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Annuler à tout moment", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Réclamez votre offre", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Abonnement auto-renouvelable", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Cadeau spécial à l'intérieur", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Une touche pour révéler votre offre spéciale", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Ouvrir maintenant", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Échec du chargement des options d'abonnement. Veuillez réessayer plus tard.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Impossible de charger les prix des abonnements", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Vérifiez votre connexion et réessayez", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Réessayer", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_gu.arb b/example/lib/src/l10n/onboarding/app_gu.arb new file mode 100644 index 0000000..af04b40 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_gu.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "gu", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ઉન્નત AI આરોગ્ય સહાયક", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ડોક્ટરિનામાં આપનું સ્વાગત છે", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "અનુભવી ક્લિનિશિયનની જેમ લક્ષણોનું વિશ્લેષણ કરવા માટે ડિઝાઇન કરવામાં આવ્યું છે—પેટર્ન, સમય અને સંદર્ભને સમજવા દ્વારા.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "શરૂઆત કરો", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "પહેલાથી એક ખાતું છે? લોગ ઇન", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "આગળ વધતા, તમે અમારી સાથે સહમત છો\nસેવા શરતો | ગોપનીયતા નીતિ", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "ચાલો તમારા માટે વ્યક્તિગત બનાવીએ Doctorina", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "વ્યક્તિગતકરણ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "તમે આજે અહીં કેમ આવ્યા છો?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "હું હાલમાં લક્ષણો અનુભવી રહ્યો છું", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "હું આરોગ્યમાં ફેરફારને સમજવા માંગું છું", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "હું ગંભીર કંઈક દૂર કરવા માંગું છું", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "હું મારી આરોગ્યની પ્રતિક્રિયા માટે મોનિટર કરી રહ્યો છું", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "જારી રાખો", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "જ્યારે તમારી આરોગ્યમાં કંઈક બદલાય છે, ત્યારે શું મહત્વનું છે તે જાણવું સૌથી મુશ્કેલ છે", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina લક્ષણોના પેટર્ન અને સમય પર ધ્યાન કેન્દ્રિત કરે છે — તે જ સંકેતો જે ડોકટરો શરૂઆતમાં શોધે છે.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "તમારો લિંગ પસંદ કરો", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "આ અમને લક્ષણોને વ્યાખ્યાયિત કરવામાં અને વધુ ચોક્કસ રીતે ભલામણો આપવા માટે મદદ કરે છે", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "પુરુષ", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "સ્ત્રી", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "કહવા માંગતો નથી", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "તમારી ઉંમર શું છે?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "ઉમર અમને આરોગ્યના પેટર્નને વધુ ચોક્કસ રીતે મૂલ્યાંકન કરવામાં મદદ કરે છે", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48,000થી વધુ લોકો ડોક્ટોરિના પસંદ કરી છે", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*આ ડોક્ટરિના વપરાશકર્તા આધારની આંકડાઓ પર આધારિત છે", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "ડોક્ટરો દ્વારા વિકસિત", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "કદમ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "તમે તમારી વર્તમાન આરોગ્યની સ્થિતિને કેવી રીતે વર્ણવશો?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "હું સામાન્ય રીતે સ્વસ્થ અનુભવું છું", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "મારે ચાલુ નાનાં ચિંતાઓ છે", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "હું જાણીતું રોગ સંચાલિત કરી રહ્યો છું", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "હું કંઈક અનિચ્છિત સાથે સંઘર્ષ કરી રહ્યો છું", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "કદમ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "તમે સામાન્ય રીતે ડોક્ટરને કેટલાય વાર મળતા છો?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "નિયમિત (ચકાસણીઓ / અનુસરણો)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "ક્યારેક, જ્યારે કંઈક ખોટું હોય છે", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "ક્યારેક, માત્ર જરૂર પડે ત્યારે", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "ડોક્ટર પાસે જવાનું ટાળો", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "હું ક્યારેય ડોક્ટર પાસે નથી ગયો", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "કદમ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "આજ સુધીમાં, આરોગ્યસંભાળ સાથે તમારું સૌથી મોટું પડકાર શું રહ્યું છે?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "તમે જેટલા ઇચ્છો તેટલા પસંદ કરો", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "નિર્ધારણ માટે લાંબા સમય સુધી રાહ જોવી પડશે", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "મુલાકાતો જલદીમાં લાગે છે", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "ઉંચા ખર્ચ અથવા અસ્પષ્ટ કિંમતો", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "સૌને સ્પષ્ટ રીતે સમજાવવું મુશ્કેલ છે", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "વિરોધાભાસી મત અથવા સલાહ", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "કોઈ મોટા મુદ્દા નથી", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "કદમ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "ડોક્ટર ની મુલાકાત પછી, તમે જે કહેવામાં આવ્યું છે તે વિશે તમે કેટલા આત્મવિશ્વાસી છો?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "કોઈ સાચો કે ખોટો જવાબ નથી.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "ઘટનાની સંપૂર્ણ સમજણ છે", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "થોડું સ્પષ્ટ", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "હજી પણ અનિશ્ચિત", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "પહેલાની તુલનામાં વધુ ગૂંચવણમાં", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "ઘણાં લોકો નિદાન પછી નહીં પરંતુ જ્યારે લક્ષણો સમય સાથે બદલાય છે ત્યારે મુશ્કેલીઓનો સામનો કરે છે", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "કદમ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "તમે કેવી રીતે અનુભવો છો કે તમારી ચિંતાઓ સામાન્ય રીતે કેવી રીતે ઉકેલવામાં આવે છે?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "તમારા વ્યકિતગત ભાવનાઓના આધારે", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "ખૂબ સારું", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "ખૂબ જ સારું", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ખૂબ જ સારું નથી", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "ખૂબ જ બદલાય છે", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "કદમ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ડોક્ટર પાસે જવા પહેલા, શું તમે સામાન્ય રીતે લક્ષણોને પોતે સમજવાનો પ્રયાસ કરો છો?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "હા, હું સંશોધન અને વસ્તુઓને ટ્રેક કરું છું", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "ક્યારેક", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "ક્યારેક", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "ના, હું સંપૂર્ણપણે વ્યાવસાયિકો પર આધાર રાખું છું", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "આરોગ્યના પ્રશ્નો કચેરીના કલાકો નું પાલન નથી કરતા.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 24/7 ઉપલબ્ધ છે。", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "સ્પષ્ટતા આગામી નિમણૂક માટે રાહ જોવી જોઈએ નહીં.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "શું તમે ઇચ્છો છો કે અમે તમારા આરોગ્ય લક્ષણો પર નજર રાખીએ?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "એઆઈ તમારા લક્ષણો પર નજર રાખી શકે છે અને જો કંઈક ધ્યાન આપવાની જરૂર હોય તો તમને સૂચિત કરી શકે છે", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "હા — મારી આરોગ્ય પર નજર રાખો", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "હા — માત્ર ત્યારે જ જ્યારે કંઈ મહત્વપૂર્ણ બદલાય", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "હજી નક્કી નથી", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "શું તમે ડોક્ટરથી ડોક્ટરિના વિશે સાંભળ્યું છે?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "હા", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "નહીં", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "તમારા પરિણામોનું વિશ્લેષણ કરી રહ્યા છીએ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "તમારા અનુભવને વ્યક્તિગત બનાવવું", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "અનંત અનુભવ Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "તમારો સહાયક જે હંમેશા નજીક છે", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "હજી નક્કી નથી? મફત ટ્રાયલ સક્રિય કરો.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "વાર્ષિક", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "માસિક", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "સાપ્તાહિક", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "દૈનિક", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (માત્ર $3.34/સપ્તાહ)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "સેવ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "ચાલુ રાખો", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "મફત ટ્રાયલ શરૂ કરો", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "સબ્સ્ક્રિપ્શન આપોઆપ નવીનીકરણ થાય છે. ક્યારે પણ રદ કરો", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "સેવા શરતો | ગોપનીયતા નીતિ", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "સપ્તાહ", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "તમારા પરિણામોનું વિશ્લેષણ કરી રહ્યા છીએ", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ઓનબોર્ડિંગ બંધ કરો", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "ખરીદો પુનઃસ્થાપિત કરો", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "પુનઃપ્રાપ્ત કરો", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "પુનઃસ્થાપિત કરવા માટે કોઈ સક્રિય સબ્સ્ક્રિપ્શન મળ્યું નથી.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "ખરીદીઓ પુનઃસ્થાપિત કરવામાં નિષ્ફળ. કૃપા કરીને પછીથી ફરી પ્રયાસ કરો.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "ખરીદી પૂર્ણ કરવામાં નિષ્ફળ. કૃપા કરીને પછીથી ફરી પ્રયાસ કરો.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "આજે: તાત્કાલિક પ્રવેશ મેળવો", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "પૂર્ણ ઍક્સેસ અનલોક કરો, ક્યારે પણ AI આરોગ્ય જવાબ મેળવો.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "દિવસ 2: ટ્રાયલ યાદદાશ્ત", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "અમે તમને યાદ અપાવીશું કે તમારો ટ્રાયલ સમાપ્ત થવા જઈ રહ્યો છે", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "દિવસ 3: નવીનીકરણ", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "તમે {date} ના રોજ ચાર્જ કરવામાં આવશે, ક્યારેય પણ રદ કરી શકો છો.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "શું સામેલ છે", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "ખાનગી અને સુરક્ષિત", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "એઆઈ સહાયક, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "તાત્કાલિક આરોગ્યના જવાબ", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "સ્પષ્ટ, વૈજ્ઞાનિક આધારિત માહિતી", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "આટો સંવાદ સારાંશ", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "કોઈ ભાષા, ક્યારે પણ", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "પ્રતિ અઠવાડિયે", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "એક વખતનો ઓફર", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% છૂટ", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "સદાય", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "જ્યારે તમે તમારું એકવારનું ઓફર બંધ કરો છો, ત્યારે તે જવા પામે છે!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/મહિનો", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "સૌથી નીચી કિંમત ક્યારેય", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "ક્યારે પણ રદ કરો", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "તમારો ઓફર દાવો", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "ઓટો-નવિકરણ સબ્સ્ક્રિપ્શન", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "વિશેષ ભેટ અંદર", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "એક ટૅપથી તમારું વિશેષ ઑફર પ્રગટ કરો", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "હવે ખોલો", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "સબ્સ્ક્રિપ્શન વિકલ્પો લોડ કરવામાં નિષ્ફળ. કૃપા કરીને પછીથી ફરી પ્રયાસ કરો.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "સબ્સ્ક્રિપ્શન કિંમતો લોડ કરી શક્યા નથી", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "તમારો કનેક્શન ચકાસો અને ફરી પ્રયાસ કરો.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "ફરી પ્રયાસ કરો", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_he.arb b/example/lib/src/l10n/onboarding/app_he.arb new file mode 100644 index 0000000..b70dbf4 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_he.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "he", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "אסיסטנט בריאות מתקדם מבוסס בינה מלאכותית", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ברוך הבא לדוקטורינה!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "מיועד לנתח תסמינים כמו קלינאים מנוסים — על ידי הבנת דפוסים, זמני הופעה והקשר.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "התחל", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "כבר יש לך חשבון? התחבר", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "בהמשך, אתה מסכים ל", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "בואו נתאים את Doctorina בשבילכם", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "התאמה אישית", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "מה הביא אותך לכאן היום?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "אני חווה תסמינים עכשיו", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "אני רוצה להבין שינוי בריאותי", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "אני רוצה לשלול משהו רציני", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "אני עוקב אחרי הבריאות שלי באופן פרואקטיבי", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "המשך", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "כשמשהו משתנה בבריאות שלך, לדעת מה חשוב זה הכי קשה.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "דוקטורינה מתמקדת בדפוסי תסמינים ובזמנים — אותן אותות שהקלינאים מחפשים בשלב מוקדם.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "בחר את המגדר שלך", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "זה עוזר לנו לפרש תסמינים ולתת המלצות בצורה מדויקת יותר.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "זכר", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "נקבה", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "מעדיף לא לומר", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "מה גילך?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "גיל עוזר לנו להעריך דפוסי בריאות בצורה מדויקת יותר.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "יותר מ-48 אלף אנשים\nבחרו בדוקטורינה", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*מבוסס על סטטיסטיקות בסיס המשתמשים של Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "פותח על ידי\nרופאים", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "שלב 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "איך היית מתאר את מצב הבריאות הנוכחי שלך?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "אני בדרך כלל מרגיש בריא", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "יש לי דאגות קלות מתמשכות", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "אני מנהל מצב ידוע", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "אני מתמודד עם משהו לא פתור", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "שלב 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "כמה פעמים אתה בדרך כלל רואה רופא?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "ביקורים קבועים (בדיקות / מעקבים)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "לעיתים, כשמשהו לא בסדר", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "לעיתים רחוקות, רק אם יש צורך", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "מעדיפים לא לבקר אצל רופאים", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "מעולם לא ביקרתי אצל רופא", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "שלב 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "מה היה האתגר הגדול ביותר שלך עם מערכת הבריאות עד כה?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "בחר כמה שתרצה", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "זמני המתנה ארוכים לפגישות", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "הביקורים מרגישים מיהרים", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "עלות גבוהה או תמחור לא ברור", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "קשה להסביר הכל בבירור", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "דעות או עצות סותרות", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "אין בעיות משמעותיות", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "שלב 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "אחרי הפגישות, עד כמה אתה בטוח במה שנאמר לך?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "אין תשובה נכונה או לא נכונה.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "ברור מאוד מה קורה", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "מובן במידה מסוימת", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "עדיין לא בטוח", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "יותר מבולבל מבעבר", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "רבים מתמודדים לא מיד לאחר האבחון אלא כאשר הסימפטומים משתנים עם הזמן.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "שלב 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "עד כמה אתה מרגיש שהדאגות שלך מטופלות בדרך כלל?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "בהתבסס על התחושות הסובייקטיביות שלך", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "מאוד טוב", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "די טוב", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "לא כל כך טוב", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "זה משתנה הרבה", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "שלב 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "לפני שאתה רואה רופא, האם אתה בדרך כלל מנסה להבין את הסימפטומים בעצמך?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "כן, אני חוקר ועוקב אחרי דברים", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "לפעמים", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "לעיתים נדירות", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "לא, אני סומך לחלוטין על מקצוענים", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "שאלות בריאות לא עוקבות אחרי שעות קבלה.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "דוקטורינה זמינה 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "בהירות לא צריכה לחכות לפגישה הבאה", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "האם אתה רוצה שנבדוק את תסמיני הבריאות שלך?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "ה-AI יכול לעקוב אחרי הסימפטומים שלך ולהתריע אם משהו עשוי לדרוש תשומת לב", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "כן — לשמור על הבריאות שלי", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "כן — רק אם משהו חשוב משתנה", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "לא בטוח עדיין", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "האם שמעת על דוקטורינה מרופא?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "כן", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "לא", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "מְעַבֵּד אֶת תּוֹצָאוֹתֶיךָ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "מתאימים את החוויה שלך", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "חווייה בלתי מוגבלת עם Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "הASSISTANT שלך שתמיד קרוב", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "לא בטוח עדיין? הפעל ניסיון חינם.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "שנתי", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "חודשי", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "שבועי", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "יומי", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39.99$ (רק 3.34$/שבוע)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "3.99$", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "חסוך 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "המשך", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "התחל ניסיון חינם", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "המנוי מתחדש אוטומטית. ניתן לבטל בכל עת", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "תנאי שירות | מדיניות פרטיות", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "שבוע", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "מנתחים את התוצאות שלך", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "סגור הכוונה", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "שחזר רכישות", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "שחזר", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "לא נמצאה מנוי פעיל לשחזור.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "נכשל בשחזור רכישות. אנא נסה שוב מאוחר יותר.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "נכשל בהשלמת הרכישה. אנא נסה שוב מאוחר יותר.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "היום: קבל גישה מיידית", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "פתח גישה מלאה, קבל תשובות בריאות מ-AI, בכל עת.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "יום 2: תזכורת לניסוי", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "נשלח לך תזכורת שהניסיון שלך עומד להסתיים", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "יום 3: חידוש", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "תחויבו ב-{date}, ניתן לבטל בכל עת לפני.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "מה כלול", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "פרטי ובטוח", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "עוזר בינה מלאכותית, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "תשובות בריאות מיידיות", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "תובנות ברורות מבוססות מדע", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "סיכומי שיחות אוטומטיים", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "כל שפה, בכל זמן", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "לשבוע", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "הצעה חד פעמית", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% הנחה", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "לְעוֹלָם", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "ברגע שתסגור את ההצעה החד-פעמית שלך, היא תיעלם!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/חודש", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "המחיר הנמוך ביותר אי פעם", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "לבטל בכל עת", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "דרוש את ההצעה שלך", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "מנוי מתחדש אוטומטית", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "מתנה מיוחדת בפנים", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "הקשה אחת כדי לחשוף את ההצעה המיוחדת שלך", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "פתח עכשיו", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "נכשל לטעון אפשרויות מנוי. אנא נסה שוב מאוחר יותר.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "לא ניתן לטעון את מחירי המנויים", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "בדוק את החיבור שלך ונסה שוב.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "נסה שוב", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_hi.arb b/example/lib/src/l10n/onboarding/app_hi.arb new file mode 100644 index 0000000..2d705fe --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_hi.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "hi", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "उन्नत एआई स्वास्थ्य सहायक", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "डॉक्टरीना में आपका स्वागत है!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "अनुभवी चिकित्सकों की तरह लक्षणों का विश्लेषण करने के लिए डिज़ाइन किया गया है - पैटर्न, समय और संदर्भ को समझकर।", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "शुरू करें", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "क्या आपके पास पहले से एक खाता है? लॉग इन करें", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "जारी रखने पर, आप हमारी सहमति देते हैं\nसेवा की शर्तें | गोपनीयता नीति", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "आइए Doctorina को आपके लिए व्यक्तिगत बनाते हैं", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "व्यक्तिगतकरण", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "आप आज यहाँ क्यों आए हैं?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "मैं अभी लक्षण अनुभव कर रहा हूँ", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "मैं स्वास्थ्य परिवर्तन को समझना चाहता हूँ", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "मैं कुछ गंभीर को खत्म करना चाहता हूँ", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "मैं अपनी सेहत की सक्रिय रूप से निगरानी कर रहा हूँ", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "जारी रखें", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "जब आपकी सेहत में कुछ बदलता है, तो यह जानना सबसे कठिन होता है कि क्या महत्वपूर्ण है।", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina लक्षणों के पैटर्न और समय पर ध्यान केंद्रित करती है — वही संकेत जो चिकित्सक शुरू में देखते हैं।", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "अपना लिंग चुनें", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "यह हमें लक्षणों की व्याख्या करने और सिफारिशें अधिक सटीकता से देने में मदद करता है.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "पुरुष", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "महिला", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "कहना पसंद नहीं", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "आपकी उम्र क्या है?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "उम्र हमें स्वास्थ्य पैटर्न का अधिक सटीक मूल्यांकन करने में मदद करती है।", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ से अधिक लोग\nने Doctorina को चुना", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*डॉक्टरीना उपयोगकर्ता आधार सांख्यिकी पर आधारित", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "डॉक्टरों द्वारा विकसित\nडॉक्टरों", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "चरण 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "आप अपनी वर्तमान स्वास्थ्य स्थिति का वर्णन कैसे करेंगे?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "मैं आमतौर पर स्वस्थ महसूस करता हूँ", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "मेरी कुछ छोटी-छोटी चिंताएँ हैं", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "मैं एक ज्ञात स्थिति का प्रबंधन कर रहा हूँ", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "मैं किसी अनसुलझे मामले से निपट रहा हूँ", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "चरण 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "आप आमतौर पर डॉक्टर से कितनी बार मिलते हैं?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "नियमित रूप से (चेकअप / फॉलो-अप)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "कभी-कभी, जब कुछ गलत होता है", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "कभी-कभी, केवल यदि आवश्यक हो", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "डॉक्टरों के पास जाने से बचें", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "मैं कभी डॉक्टर के पास नहीं गया", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "चरण 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "अब तक स्वास्थ्य सेवा के साथ आपकी सबसे बड़ी चुनौती क्या रही है?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "जितने चाहें उतने चुनें", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "नियुक्तियों के लिए लंबी प्रतीक्षा समय", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "भेंटें जल्दी लगती हैं", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "उच्च लागत या अस्पष्ट मूल्य निर्धारण", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "सब कुछ स्पष्ट रूप से समझाना कठिन है", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "विरोधाभासी राय या सलाह", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "कोई प्रमुख समस्या नहीं", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "चरण 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "अपॉइंटमेंट के बाद, आपको जो बताया गया है, उसके बारे में आप कितने आत्मविश्वासी हैं?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "यहाँ कोई सही या गलत उत्तर नहीं है।", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "जो हो रहा है उसके बारे में बहुत स्पष्ट", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "कुछ हद तक स्पष्ट", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "अभी भी अनिश्चित", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "पहले से अधिक भ्रमित", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "कई लोग निदान के बाद नहीं बल्कि समय के साथ लक्षण बदलने पर संघर्ष करते हैं", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "चरण 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "आपको कैसा लगता है कि आपकी चिंताओं को आमतौर पर कितना संबोधित किया जाता है?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "आपकी व्यक्तिगत भावनाओं के आधार पर", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "बहुत अच्छा", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "काफी अच्छा", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "बहुत अच्छा नहीं", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "यह बहुत भिन्न होता है", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "चरण 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "डॉक्टर से मिलने से पहले, क्या आप आमतौर पर लक्षणों को खुद समझने की कोशिश करते हैं?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "हाँ, मैं चीज़ों की खोजबीन और ट्रैकिंग करता हूँ", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "कभी-कभी", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "कभी-कभी", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "नहीं, मैं पूरी तरह से पेशेवरों पर निर्भर हूं", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "स्वास्थ्य संबंधी प्रश्न कार्यालय के समय का पालन नहीं करते हैं।", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 24/7 उपलब्ध है।", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "स्पष्टता को अगली अपॉइंटमेंट का इंतज़ार नहीं करना चाहिए।", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "क्या आप चाहते हैं कि हम आपके स्वास्थ्य लक्षणों की जांच करें?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI आपके लक्षणों की निगरानी कर सकता है और आपको सूचित कर सकता है यदि कुछ ध्यान देने की आवश्यकता हो", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "हाँ — मेरी सेहत पर नज़र रखें", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "हाँ — केवल यदि कुछ महत्वपूर्ण बदलता है", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "अभी निश्चित नहीं", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "क्या आपने डॉक्टर से डॉक्टरिना के बारे में सुना?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "हाँ", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "नहीं", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "आपके परिणामों का विश्लेषण किया जा रहा है", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "आपके अनुभव को व्यक्तिगत बनाना", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro के साथ असीमित अनुभव", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "आपका सहायक जो हमेशा पास है", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "अभी भी सुनिश्चित नहीं हैं? मुफ्त परीक्षण सक्षम करें।", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "वार्षिक", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "मासिक", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "साप्ताहिक", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "दैनिक", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (केवल $3.34/सप्ताह)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58% बचाएं", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "जारी रखें", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "नि:शुल्क परीक्षण प्रारंभ करें", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "सदस्यता स्वचालित रूप से नवीनीकरण योग्य है। कभी भी रद्द करें", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "सेवा की शर्तें | गोपनीयता नीति", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "सप्ताह", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "आपके परिणामों का विश्लेषण कर रहे हैं", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ऑनबोर्डिंग बंद करें", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "खरीदें पुनर्स्थापित करें", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "पुनर्स्थापित करें", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "पुनर्स्थापित करने के लिए कोई सक्रिय सदस्यता नहीं मिली।", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "खरीदारी को पुनर्स्थापित करने में विफल। कृपया बाद में फिर से प्रयास करें।", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "खरीदारी पूरी करने में विफल। कृपया बाद में फिर से प्रयास करें।", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "आज: तात्कालिक पहुँच प्राप्त करें", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "पूर्ण पहुँच अनलॉक करें, किसी भी समय AI स्वास्थ्य उत्तर प्राप्त करें।", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "दिन 2: ट्रायल अनुस्मारक", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "हम आपको याद दिलाएंगे कि आपका ट्रायल समाप्त होने वाला है", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "दिन 3: नवीनीकरण", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "आपको {date} को चार्ज किया जाएगा, किसी भी समय रद्द करें।", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "क्या शामिल है", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "निजी और सुरक्षित", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI सहायक, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "तत्काल स्वास्थ्य उत्तर", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "स्पष्ट, विज्ञान-आधारित अंतर्दृष्टि", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "स्वचालित बातचीत सारांश", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "किसी भी भाषा, कभी भी", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "प्रति सप्ताह", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "एक बार का ऑफर", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% छूट", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "सदा", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "एक बार जब आप अपनी एक बार की पेशकश बंद कर देते हैं, तो यह चली जाती है!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/महीना", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "सर्वकालिक सबसे कम कीमत", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "कभी भी रद्द करें", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "अपने ऑफ़र का दावा करें", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "स्वचालित नवीनीकरण सदस्यता", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "विशेष उपहार अंदर", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "एक टैप करें अपने विशेष ऑफ़र को प्रकट करने के लिए", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "अब खोलें", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "सदस्यता विकल्प लोड करने में विफल। कृपया बाद में फिर से प्रयास करें।", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "सदस्यता की कीमतें लोड नहीं कर सके", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "अपने कनेक्शन की जांच करें और फिर से प्रयास करें", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "फिर से प्रयास करें", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_hu.arb b/example/lib/src/l10n/onboarding/app_hu.arb new file mode 100644 index 0000000..749a6b2 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_hu.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "hu", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "FEJLETT AI EGÉSZSÉGÜGYI ASSZISZTENS", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Üdvözöljük a Doctorinában!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "A tünetek elemzésére úgy tervezték, ahogy a tapasztalt klinikusok teszik — a minták, az időzítés és a kontextus megértésével.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Kezdjük", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Már van fiókja? Bejelentkezés", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "A folytatással elfogadja a\nSzolgáltatási feltételeinket | Adatvédelmi irányelveinket", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Személyre szabjuk Doctorina az Ön számára", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "Személyre szabás", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Mi hozott ide ma?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Jelenleg tüneteket tapasztalok", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Szeretném megérteni az egészségi változást", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Szeretném kizárni, hogy valami komoly legyen", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Proaktívan figyelem az egészségemet", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Folytatás", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Amikor valami megváltozik az egészségedben, a legnehezebb tudni, mi számít.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "A Doctorina a tünetek mintáira és időzítésére összpontosít — ugyanazokra a jelekre, amelyeket az orvosok korán keresnek.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Válaszd ki a nemed", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Ez segít a tünetek értelmezésében és a pontosabb ajánlások megadásában.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Férfi", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Nő", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Nem szeretném megmondani", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Mi a korod?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "A kor segít pontosabban értékelni az egészségi mintákat.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Több mint 48 ezer ember\nválasztotta a Doctorinát", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Orvosina felhasználói statisztikák alapján", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Orvosok által fejlesztve
Orvosok", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "LÉPÉS 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Hogyan jellemezné a jelenlegi egészségi állapotát?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Általában egészségesnek érzem magam", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Folyamatos kisebb aggodalmaim vannak", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Kezelt állapotot kezelek", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Valami megoldatlan dologgal küzdök", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "2/6. LÉPÉS", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Milyen gyakran szokott orvoshoz menni?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Rendszeresen (ellenőrzések / követések)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Időnként, amikor valami baj van", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Ritkán, csak ha szükséges", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Kerüli a orvosokat", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Sosem jártam orvoshoz", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "3/6. LÉPÉS", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Mi volt eddig a legnagyobb kihívásod az egészségügyben?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Válasszon annyit, amennyit szeretne", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Hosszú várakozási idők az időpontokra", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "A látogatások sietősnek tűnnek", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Magas költség vagy nem világos árak", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Nehéz mindent világosan elmagyarázni", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Ellentmondó vélemények vagy tanácsok", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Nincsenek komoly problémák", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "4/6 LÉPÉS", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Az időpontok után mennyire érzi magát magabiztosnak az elmondottakkal kapcsolatban?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Nincs helyes vagy helytelen válasz.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Nagyon világos, hogy mi történik", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Kissé világos", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Még mindig bizonytalan", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Több zavarban vagyok, mint korábban", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Sokan nem a diagnózis után , hanem amikor a tünetek idővel változnak, küzdenek.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "5/6. LÉPÉS", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Mennyire érzi, hogy a problémáit általában kezelik?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "A szubjektív érzéseid alapján", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Nagyon jól", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Eléggé jól", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Nem túl jól", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Nagyon változó", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "6/6 LÉPÉS", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Orvoshoz menés előtt általában próbálja megérteni a tüneteket önállóan?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Igen, kutatok és nyomon követem a dolgokat", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Néha", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Ritkán", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Nem, teljes mértékben a szakemberekre támaszkodom", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Az egészségügyi kérdések nem követik az irodai órákat.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina elérhető 0-24.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "A világosságnak nem kell várnia a következő időpontra.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Szeretné, ha ellenőriznénk az egészségi tüneteit?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "Az AI figyelemmel kísérheti a tüneteit, és figyelmeztetheti, ha valamire figyelni kell", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Igen — figyelek az egészségemre", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Igen — csak ha valami fontos változik", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Még nem vagyok biztos", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Hallottál a Doctorináról orvostól?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Igen", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Nem", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "AZ EREDMÉNYEID ANÁLIZÁLÁSA", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Személyre szabjuk az élményét", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Korlátlan élmény a Doctorina Pro segítségével", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "AZ ASSZISZTENS, AKI MINDIG KÖRÜLÖTTED VAN", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Még nem biztos? Engedélyezze a ingyenes próbát.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Éves", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Havi", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Heti", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Napi", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39,99 $ (csak 3,34 $/hét)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "3,99 $", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "MEGTARTHAT 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Folytatás", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Ingyenes próba indítása", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "A előfizetés automatikusan megújul. Bármikor lemondható", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Szolgáltatási feltételek | Adatvédelmi irányelvek", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "hét", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Az eredmények elemzése", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Onboarding bezárása", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Vásárlások visszaállítása", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Visszaállítás", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Nincs aktív előfizetés, amelyet vissza lehetne állítani.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "A vásárlások visszaállítása nem sikerült. Kérjük, próbálja meg később.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "A vásárlás befejezése nem sikerült. Kérjük, próbálja meg később.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Ma: Azonnali hozzáférés", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Oldja fel a teljes hozzáférést, kapjon AI egészségügyi válaszokat, bármikor.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "2. nap: Próbaverzió emlékeztető", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Emlékeztetőt küldünk, hogy a próbaverziója a végéhez közeledik", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "3. nap: Megújítás", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "A {date} napon terhelik meg, bármikor lemondhatja előtte.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "MI TARTOZIK BELE", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privát és biztonságos", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI asszisztens, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Azonnali egészségügyi válaszok", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Tiszta, tudományos alapú betekintések", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Automatikus beszélgetés-összefoglalók", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Bármilyen nyelv, bármikor", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "hetente", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Egyszeri ajánlat", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% KEDVEZMÉNY", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ÖRÖKKÉ", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Ha bezárja egyszeri ajánlatát, az eltűnik!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/hó", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "LEGALACSONYABB ÁR VALAHA", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Bármikor lemondható", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Claim your offer", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Automatikus megújítású előfizetés", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Különleges ajándék belül", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Egy érintés a különleges ajánlatod felfedéséhez", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Nyisd meg most", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "A előfizetési lehetőségek betöltése nem sikerült. Kérjük, próbálja újra később.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Nem sikerült betölteni az előfizetési árakat", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Ellenőrizze a kapcsolatát, és próbálja újra.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Próbálja újra", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_id.arb b/example/lib/src/l10n/onboarding/app_id.arb new file mode 100644 index 0000000..3b0dea3 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_id.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "id", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ASISTEN KESEHATAN AI MAJU", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Selamat datang di Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Dirancang untuk menganalisis gejala seperti yang dilakukan oleh klinisi berpengalaman — dengan memahami pola, waktu, dan konteks.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Mulai", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Sudah memiliki akun? Masuk", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Dengan melanjutkan, Anda setuju dengan", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Mari kita personalisasi Doctorina untuk Anda", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALISASI", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Apa yang membawa Anda ke sini hari ini?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Saya mengalami gejala sekarang", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Saya ingin memahami perubahan kesehatan", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Saya ingin menyingkirkan sesuatu yang serius", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Saya memantau kesehatan saya secara proaktif", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Lanjut", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Ketika sesuatu berubah dalam kesehatan Anda, mengetahui apa yang penting adalah yang tersulit.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina fokus pada pola gejala dan waktu — sinyal yang sama yang dicari oleh klinisi sejak awal.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Pilih jenis kelamin Anda", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Ini membantu kami menginterpretasikan gejala dan memberikan rekomendasi dengan lebih akurat.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Laki-laki", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Perempuan", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Lebih suka tidak mengatakan", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Berapa umur Anda?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Usia membantu kami mengevaluasi pola kesehatan dengan lebih akurat.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Lebih dari 48 ribu orang\nTelah memilih Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Berdasarkan statistik basis pengguna Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Dikembangkan oleh\nDokter", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "LANGKAH 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Bagaimana Anda menggambarkan situasi kesehatan Anda saat ini?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Saya umumnya merasa sehat", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Saya memiliki kekhawatiran kecil yang berkelanjutan", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Saya mengelola kondisi yang diketahui", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Saya menghadapi sesuatu yang belum terpecahkan", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "LANGKAH 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Seberapa sering Anda biasanya menemui dokter?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Secara rutin (pemeriksaan / tindak lanjut)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Kadang-kadang, ketika ada yang salah", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Jarang, hanya jika perlu", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Hindari mengunjungi dokter", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Saya tidak pernah mengunjungi dokter", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "LANGKAH 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Apa tantangan terbesar Anda dengan layanan kesehatan sejauh ini?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Pilih sebanyak yang Anda mau", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Waktu tunggu yang lama untuk janji temu", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Kunjungan terasa terburu-buru", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Biaya tinggi atau harga yang tidak jelas", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Sulit untuk menjelaskan semuanya dengan jelas", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Pendapat atau nasihat yang bertentangan", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Tidak ada masalah besar", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "LANGKAH 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Setelah janji temu, seberapa percaya diri Anda tentang apa yang Anda dengar?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Tidak ada jawaban yang benar atau salah.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Sangat jelas tentang apa yang terjadi", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Agak jelas", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Masih tidak yakin", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Lebih bingung daripada sebelumnya", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Banyak orang berjuang tidak setelah diagnosis tetapi ketika gejala berubah seiring waktu.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "LANGKAH 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Seberapa baik Anda merasa kekhawatiran Anda biasanya ditangani?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Berdasarkan perasaan subjektif Anda", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Sangat baik", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Cukup baik", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Tidak begitu baik", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Ini sangat bervariasi", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "LANGKAH 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Sebelum menemui dokter, apakah Anda biasanya mencoba memahami gejala sendiri?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Ya, saya melakukan riset dan melacak hal-hal", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Terkadang", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Jarang", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Tidak, saya sepenuhnya bergantung pada profesional", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Pertanyaan kesehatan tidak mengikuti jam kantor.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina tersedia 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Kejelasan tidak perlu menunggu janji berikutnya", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Apakah Anda ingin kami memeriksa gejala kesehatan Anda?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI dapat memantau gejala Anda dan memberi tahu Anda jika ada yang perlu diperhatikan", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Ya — perhatikan kesehatan saya", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Ya — hanya jika ada perubahan penting", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Belum yakin", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Apakah Anda mendengar tentang Doctorina dari dokter?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Ya", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Tidak", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "MENGANALISIS HASIL ANDA", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalisasi pengalaman Anda", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Pengalaman tak terbatas dengan Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ASISTEN ANDA YANG SELALU DEKAT", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Belum yakin? Aktifkan percobaan gratis.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Tahunan", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Bulanan", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Mingguan", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Harian", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (hanya $3.34/minggu)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "Hemat 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Lanjut", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Mulai Uji Coba Gratis", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Langganan dapat diperpanjang secara otomatis. Batalkan kapan saja", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Syarat Layanan | Kebijakan Privasi", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "minggu", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Menganalisis hasil Anda", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Tutup onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Pulihkan Pembelian", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Pulihkan", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Tidak ada langganan aktif yang ditemukan untuk dipulihkan.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Gagal mengembalikan pembelian. Silakan coba lagi nanti.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Gagal menyelesaikan pembelian. Silakan coba lagi nanti.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Hari ini: Dapatkan akses instan", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Buka akses penuh, dapatkan jawaban kesehatan AI, kapan saja.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Hari 2: Pengingat percobaan", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Kami akan mengirimkan pengingat bahwa masa percobaan Anda akan segera berakhir", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Hari 3: Pembaruan", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Anda akan dikenakan biaya pada {date}, batalkan kapan saja sebelum.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "APA YANG TERMASUK", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Pribadi dan aman", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Asisten AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Jawaban kesehatan instan", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Wawasan yang jelas dan berbasis sains", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Ringkasan percakapan otomatis", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Bahasa apa pun, kapan saja", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "per minggu", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Penawaran sekali saja", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% DISKON", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "SELAMANYA", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Setelah Anda menutup tawaran sekali, itu akan hilang!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/bln", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "HARGA TERENDAH PERNAH", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Batalkan kapan kapan", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Klaim tawaran Anda", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Langganan yang diperbarui secara otomatis", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Hadiah spesial di dalam", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Satu ketukan untuk mengungkap tawaran spesial Anda", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Buka sekarang", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Gagal memuat opsi langganan. Silakan coba lagi nanti.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Tidak dapat memuat harga langganan", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Periksa koneksi Anda dan coba lagi.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Coba lagi", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_it.arb b/example/lib/src/l10n/onboarding/app_it.arb new file mode 100644 index 0000000..2828657 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_it.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "it", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ASSISTENTE SANITARIO AVANZATO AI", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Benvenuto\nin Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Progettato per analizzare i sintomi come fanno i clinici esperti: comprendendo schemi, tempistiche e contesto", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Inizia", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Hai già un account? Accedi", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Continuando, accetti i nostri\nTermini di Servizio | Informativa sulla Privacy", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Personalizziamo Doctorina per te", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALIZZAZIONE", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Cosa ti porta qui oggi?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Sto vivendo sintomi adesso", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Voglio capire un cambiamento della salute", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Voglio escludere qualcosa di serio", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Sto monitorando la mia salute in modo proattivo", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Continua", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Quando qualcosa cambia nella tua salute, sapere cosa conta è più difficile.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina si concentra sui modelli di sintomi e sul tempismo — gli stessi segnali che i clinici cercano all'inizio.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Seleziona il tuo genere", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Questo ci aiuta a interpretare i sintomi e a fornire raccomandazioni in modo più accurato.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Maschio", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Femmina", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Preferisco non dire", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Qual è la tua età?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "L'età ci aiuta a valutare i modelli di salute in modo più accurato.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Oltre 48k+ persone\nhanno scelto Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Basato sulle statistiche degli utenti di Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Sviluppato da\nMedici", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "PASSO 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Come descriveresti la tua attuale situazione di salute?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "In generale mi sento sano", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Ho preoccupazioni minori in corso", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Sto gestendo una condizione nota", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Sto affrontando qualcosa di irrisolto", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "PASSO 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Con quale frequenza di solito vedi un medico?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regolarmente (controlli / follow-up)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Occasionalmente, quando c'è qualcosa che non va", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Raramente, solo se necessario", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Evitare di visitare i medici", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Non sono mai andato da un dottore", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "PASSO 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Qual è stata la tua sfida più grande con la sanità finora?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Scegli quanti più vuoi", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Lunghe attese per gli appuntamenti", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Le visite sembrano affrettate", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Alto costo o prezzi poco chiari", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Difficile spiegare tutto chiaramente", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Opinioni o consigli contrastanti", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Nessun problema importante", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "PASSO 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Dopo gli appuntamenti, quanto ti senti sicuro riguardo a ciò che ti è stato detto?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Non c'è una risposta giusta o sbagliata.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Molto chiaro su cosa sta succedendo", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Abbastanza chiaro", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Ancora incerto", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Più confuso di prima", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Molte persone affrontano difficoltà non dopo la diagnosi ma quando i sintomi cambiano nel tempo.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "PASSO 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Quanto bene senti che le tue preoccupazioni vengono solitamente affrontate?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Basato sui tuoi sentimenti soggettivi", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Molto bene", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Abbastanza bene", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Non molto bene", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Varie molto", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "PASSO 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Prima di vedere un medico, cerchi di dare un senso ai sintomi da solo?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Sì, faccio ricerche e tengo traccia delle cose", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "A volte", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Raramente", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "No, mi affido completamente ai professionisti", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Le domande sulla salute non seguono l'orario d'ufficio.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina è disponibile 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "La chiarezza non dovrebbe aspettare il prossimo appuntamento", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Vuoi che controlliamo i tuoi sintomi di salute?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "L'IA può monitorare i tuoi sintomi e avvisarti se qualcosa potrebbe richiedere attenzione", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Sì — tieni d'occhio la mia salute", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Sì — solo se qualcosa di importante cambia", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Non sono ancora sicuro", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Hai sentito parlare di Doctorina da un medico?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Sì", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "No", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALIZZANDO I TUOI RISULTATI", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalizzando la tua esperienza", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Esperienza illimitata con Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "IL TUO ASSISTENTE SEMPRE VICINO", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Non sei ancora sicuro? Attiva la prova gratuita.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Annuale", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Mensile", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Settimanale", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Giornaliero", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39,99 € (solo 3,34 €/settimana)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "€3,99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "RISPARMIA 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Continua", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Inizia prova gratuita", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "L'abbonamento è rinnovabile automaticamente. Annulla in qualsiasi momento", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Termini di Servizio | Informativa sulla Privacy", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "settimana", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analizzando i tuoi risultati", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Chiudi onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Ripristina acquisti", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Ripristina", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Nessun abbonamento attivo trovato da ripristinare.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Impossibile ripristinare gli acquisti. Riprova più tardi.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Impossibile completare l'acquisto. Riprova più tardi.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Oggi: Ottieni accesso immediato", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Sblocca l'accesso completo, ottieni risposte sanitarie AI, in qualsiasi momento.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Giorno 2: Promemoria del trial", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Ti invieremo un promemoria che il tuo trial sta per finire", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Giorno 3: Rinnovo", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Sarai addebitato il {date}, annulla in qualsiasi momento prima.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "COSA È INCLUSO", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privato e sicuro", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Assistente AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Risposte sanitarie immediate", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Chiare intuizioni basate sulla scienza", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Sommari automatici delle conversazioni", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Qualsiasi lingua, in qualsiasi momento", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "a settimana", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Offerta una tantum", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% DI SCONTO", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "PER SEMPRE", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Una volta chiusa la tua offerta una tantum, è finita!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mese", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "PREZZO PIÙ BASSO DI SEMPRE", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Annulla in qualsiasi momento", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Richiedi la tua offerta", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Abbonamento con rinnovo automatico", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Regalo speciale dentro", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Un tocco per rivelare la tua offerta speciale", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Apri ora", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Impossibile caricare le opzioni di abbonamento. Riprova più tardi.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Impossibile caricare i prezzi degli abbonamenti", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Controlla la tua connessione e riprova", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Riprova", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ja.arb b/example/lib/src/l10n/onboarding/app_ja.arb new file mode 100644 index 0000000..c7cffe0 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ja.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ja", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "高度なAI健康アシスタント", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Doctorinaへようこそ!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "経験豊富な臨床医のように症状を分析するために設計されています — パターン、タイミング、コンテキストを理解することによって。", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "始める", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "すでにアカウントをお持ちですか? ログイン", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "続行することで、あなたは私たちの\n利用規約 | プライバシーポリシー に同意します", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "あなたのために Doctorina をパーソナライズしましょう", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "パーソナライズ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "今日は何を求めてここに来ましたか?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "今、症状が出ています", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "健康の変化を理解したい", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "深刻な問題を除外したい", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "私は健康を積極的に監視しています", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "続ける", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "健康に変化があるとき、何が重要かを知るのが最も難しいです", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorinaは症状のパターンとタイミングに焦点を当てています — 医師が初期に探す同じ信号です。", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "性別を選択してください", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "これにより、症状を解釈し、より正確に推奨事項を提供できます。", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "男性", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "女性", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "言いたくない", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "あなたの年齢は何ですか?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "年齢は、健康パターンをより正確に評価するのに役立ちます。", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48,000人以上\nがDoctorinaを選びました", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Doctorinaのユーザーベース統計に基づいています", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "医師によって開発されました\n医師", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ステップ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "現在の健康状態をどのように説明しますか?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "私は一般的に健康だと感じています", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "私は継続的な軽微な懸念があります", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "既知の病状を管理しています", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "未解決の問題に対処しています", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ステップ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "通常、どのくらいの頻度で医者に行きますか?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "定期的に(健康診断 / フォローアップ)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "時々、何かが間違っているとき", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "必要な場合のみ、まれに", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "医者に行くのを避ける", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "私は医者に行ったことがありません", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ステップ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "これまでの医療での最大の課題は何ですか?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "好きなだけ選んでください", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "予約の長い待ち時間", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "訪問が急いでいるように感じる", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "高いコストまたは不明瞭な価格", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "すべてを明確に説明するのは難しい", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "対立する意見やアドバイス", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "大きな問題はありません", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ステップ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "診察後、伝えられたことについてどれくらい自信がありますか?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "正しい答えも間違った答えもありません。", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "何が起こっているのか非常に明確です", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "やや明確", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "まだ不確か", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "以前よりも混乱している", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "多くの 人々は診断後ではなく 、時間の経過とともに症状が変化するときに苦労します。", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ステップ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "あなたの懸念が通常どの程度対処されていると感じますか?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "あなたの主観的な感情に基づいて", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "とても良い", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "まあまあ", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "あまり良くない", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "大きく異なります", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ステップ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "医者に会う前に、自分で症状を理解しようとしますか?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "はい、私は調査して物事を追跡します", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "時々", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "まれに", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "いいえ、私は完全に専門家に頼ります", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "健康に関する質問は 営業時間に従いません 。", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorinaは 24時間年中無休で利用可能です。", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "明確さは次の予約を待つ必要はありません。", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "あなたの健康症状を確認してもよろしいですか?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AIはあなたの症状を監視し、何か注意が必要な場合に警告します", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "はい — 健康に気を付けます", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "はい — 重要な変更がある場合のみ", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "まだ決めていません", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "医者からDoctorinaについて聞きましたか?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "はい", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "いいえ", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "結果を分析しています", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "あなたの体験をパーソナライズ中", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro で無制限の体験", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "あなたのそばにいつもいるアシスタント", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "まだ決めていませんか?無料トライアルを有効にします。", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "年額", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "月額", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "週間", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "デイリー", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39.99ドル(週あたりわずか3.34ドル)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "¥550", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58%割引", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "続ける", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "無料トライアルを開始", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "サブスクリプションは自動更新されます。いつでもキャンセルできます", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "利用規約 | プライバシーポリシー", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "週", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "結果を分析しています", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "オンボーディングを閉じる", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "購入を復元", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "復元", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "復元するアクティブなサブスクリプションが見つかりません。", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "購入の復元に失敗しました。後でもう一度お試しください。", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "購入を完了できませんでした。後でもう一度お試しください。", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "今日: 即時アクセスを取得", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "完全なアクセスを解除し、いつでもAI健康回答を得る。", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "2日目: トライアルのリマインダー", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "トライアルが終了しようとしていることをお知らせします", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "3日目: 更新", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "{date} に請求されます。いつでもキャンセルできます。", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "含まれているもの", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "プライベートで安全", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AIアシスタント、24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "即時健康回答", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "明確な科学に基づく洞察", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "自動会話の要約", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "いつでも、どの言語でも", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "週ごと", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "一度限りのオファー", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}%オフ", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "永遠", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "一度オファーを閉じると、それは消えます!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/月", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "史上最低価格", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "いつでもキャンセル", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "オファーを請求する", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "自動更新サブスクリプション", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "特別なギフトが入っています", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "特別オファーを表示するにはタップしてください", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "今すぐ開く", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "サブスクリプションオプションの読み込みに失敗しました。後でもう一度お試しください。", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "サブスクリプションの価格を読み込めませんでした", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "接続を確認して、もう一度お試しください", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "再試行", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_kk.arb b/example/lib/src/l10n/onboarding/app_kk.arb new file mode 100644 index 0000000..1e9c2b1 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_kk.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "kk", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "АЛДЫҢҒЫ AI ДЕНСАУЛЫҚ КӨМЕКШІСІ", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Докторинаға қош келдіңіз", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Сеніміз", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Симптомдарды тәжірибелі клиницистер сияқты талдау үшін — үлгілерді, уақытты және контекстті түсіну арқылы.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Бастау", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Есептік жазбаңыз бар ма? Кіру", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Жалғастыра отырып, сіз біздің\nҚызмет көрсету шарттарымен | Жекелік саясатпен келісесіз", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Жеке тұлғалауды бастайық Doctorina сіз үшін", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "Жеке тұлға", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Сізді бүгін мұнда не әкелді?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Менде қазір симптомдар бар", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Мен денсаулықтағы өзгерісті түсінгім келеді", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Мен неғұрлым ауыр нәрсені жоққа шығарғым келеді", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Мен денсаулығымды проактивті түрде бақылап отырмын", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Жалғастыру", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Денсаулығыңыздағы өзгерістер болғанда, не маңызды екенін білу ең қиын.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina симптомдардың үлгілері мен уақытын назарға алады — дәрігерлердің ерте кезеңде іздейтін сигналдары.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Жынысыңызды таңдаңыз", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Бұл бізге симптомдарды дұрыс түсінуге және ұсыныстарды дәл беруге көмектеседі.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Ер адам", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Әйел", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Айтуға болмайды", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Сіздің жасыңыз қанша?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Жас денсаулық үлгілерін дәл бағалауға көмектеседі.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48 мыңнан астам адам\nDoctorina-ны таңдады", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Докторина пайдаланушыларының статистикасына негізделген", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Дәрігерлермен әзірленген
Дәрігерлер", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ҚАДАМ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Сіздің қазіргі денсаулық жағдайыңызды қалай сипаттар едіңіз?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Мен әдетте сау сезінемін", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Менде тұрақты кішігірім мәселелер бар", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Мен белгілі бір жағдайды басқарамын", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Мен шешілмеген нәрсемен айналысып жатырмын", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ҚАДАМ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Сіз әдетте дәрігерге қаншалықты жиі барасыз?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Тұрақты (тексерулер / бақылаулар)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Кейде, бірдеңе дұрыс емес болғанда", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Сирек, тек қажет болғанда", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Дәрігерлерге барудан аулақ боласыз", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Мен дәрігерге ешқашан барған емеспін", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ҚАДАМ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Сіз үшін денсаулық сақтау саласындағы ең үлкен қиындық не болды?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Қалағаныңызша таңдаңыз", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Кездесулер үшін ұзақ күту уақыты", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Келулер асығыс болып көрінеді", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Жоғары баға немесе анық емес бағалар", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Барлығын анық түсіндіру қиын", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Қарама-қайшы пікірлер немесе кеңестер", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Маңызды мәселелер жоқ", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ҚАДАМ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Кездесулерден кейін, сізге айтылғандарға қаншалықты сенімдісіз?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Дұрыс немесе бұрыс жауап жоқ.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Не болып жатқанын өте жақсы түсінемін", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Біршама анық", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Әлі де күмәнді", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Бұрынғыдан да шатасқан", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Көптеген адамдар диагноздан кейін емес, симптомдар уақыт өте келе өзгергенде қиындықтарға тап болады.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ҚАДАМ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Сіздің алаңдаушылықтарыңыздың әдетте қаншалықты жақсы шешілетініне қалай қарайсыз?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Сіздің субъективті сезімдеріңізге негізделген", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Өте жақсы", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Жақсы", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Жақсы емес", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Бұл өте әртүрлі", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ҚАДАМ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Дәрігерге бармас бұрын, әдетте симптомдарды өзіңіз түсінуге тырысасыз ба?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Иә, мен зерттеймін және нәрселерді бақылап отырамын", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Кейде", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Сирек", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Жоқ, мен толығымен мамандарға сенемін", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Денсаулық сұрақтары офис уақытын сақтамайды.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina тәулік бойы, аптасына 7 күн қолжетімді.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Түсініктілік келесі кездесуді күтпеуі керек.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Сіздің денсаулық симптомдарыңызды тексеруімізді қалайсыз ба?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI сіздің симптомдарыңызды бақылап, бір нәрсе назар аударуды қажет етсе, сізге хабарлайды", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Иә — денсаулығыма назар аударамын", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Иә — тек маңызды өзгерістер болғанда", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Әлі сенімді емеспін", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Сіз Докторина туралы дәрігерден естідіңіз бе?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Иә", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Жоқ", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "НӘТИЖЕЛЕРІҢІЗДІ ТАЛДАУ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Сіздің тәжірибеңізді жеке ету", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro арқылы шексіз тәжірибе", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "Сізге әрқашан жақын көмекшіңіз", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Әлі де сенімді емессіз бе? Тегін сынақты қосыңыз.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Жылдық", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Айлық", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Апталық", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Күнделікті", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (тек $3.34/апта)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58% үнемдеңіз", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Жалғастыру", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Тегін сынақ бастау", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Жазылым автоматты түрде жаңартылады. Қалаған уақытта тоқтатыңыз", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Қызмет көрсету шарттары | Жекелік саясат", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "апта", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Сіздің нәтижелеріңіз талданып жатыр", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Оқыту аяқтау", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Сатып алуларды қалпына келтіру", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Қалпына келтіру", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Қалпына келтіру үшін белсенді жазылым табылмады.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Сатып алуларды қалпына келтіру сәтсіз аяқталды. Кейінірек қайтадан әрекет етіңіз.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Сатып алуды аяқтау мүмкін болмады. Қайтадан кейінірек әрекет етіп көріңіз.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Бүгін: Жедел қол жеткізу алыңыз", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Толық қолжетімділікті ашыңыз, AI денсаулық жауаптарын алыңыз, кез келген уақытта.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "2-күн: Сынақ ескертуі", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Сізге сынақ мерзімінің аяқталуға жақын екенін еске саламыз", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "3-күн: Жаңарту", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "{date} күні сізден ақы алынады, алдын ала кез келген уақытта тоқтата аласыз.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "НЕ КІРДІ", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Жеке және қауіпсіз", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI көмекшісі, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Дер кезінде денсаулық жауаптары", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Таза, ғылыми негізделген түсініктер", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Автоматты әңгіме қысқаша мазмұны", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Кез келген тіл, кез келген уақытта", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "аптасына", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Бір реттік ұсыныс", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ЖЕҢІЛДІК", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "МӘҢГІ", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Сіз бір реттік ұсынысыңызды жапқаннан кейін, ол жоғалады!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/ай", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "ЕҢ ТӨМЕН БАҒА", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Кез келген уақытта тоқтату", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Ұсынысыңызды талап етіңіз", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Автоматты түрде жаңартылатын жазылым", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Арнайы сыйлық ішінде", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Арнайы ұсынысыңызды ашу үшін бір рет басыңыз", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Қазір ашыңыз", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Жазылым опцияларын жүктеу сәтсіз болды. Кейінірек қайтадан көріп көріңіз.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Жазылым бағаларын жүктеу мүмкін болмады", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Байланысыңызды тексеріңіз және қайтадан көріңіз.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Қайтадан көріңіз", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_km.arb b/example/lib/src/l10n/onboarding/app_km.arb new file mode 100644 index 0000000..74a9197 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_km.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "km", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ជំនួយសុខភាព AI កម្រិតខ្ពស់", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "សូមស្វាគមន៍\nទៅកាន់ Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "រចនាឡើងដើម្បីវិភាគរោគសញ្ញាដូចជាអ្នកវេជ្ជបណ្ឌិតដែលមានបទពិសោធន៍ — ដោយយល់ដឹងអំពីលំនាំ, ពេលវេលា, និងបរិបទ។", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "ចាប់ផ្តើម", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "មានគណនីរួចហើយឬ? ចូល", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "ដោយបន្ត អ្នកយល់ព្រមទៅនឹង", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "មកផ្ទៀងផ្ទាត់ឱ្យបានផ្ទាល់ Doctorina សម្រាប់អ្នក", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ការបុគ្គលិកភាព", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "អ្វីដែលនាំឱ្យអ្នកមកទីនេះថ្ងៃនេះ?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "ខ្ញុំកំពុងមានរោគសញ្ញាឥឡូវនេះ", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "ខ្ញុំចង់យល់អំពីការផ្លាស់ប្តូរពីសុខភាព", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "ខ្ញុំចង់រំលាយអ្វីមួយដែលធ្ងន់ធ្ងរ", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "ខ្ញុំកំពុងតែតាមដានសុខភាពរបស់ខ្ញុំយ៉ាងប្រកបដោយប្រសិទ្ធភាព", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "បន្ត", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "ពេលមានអ្វីមួយផ្លាស់ប្តូរនៅក្នុងសុខភាពរបស់អ្នក ការដឹងថាអ្វីដែលសំខាន់គឺពិបាកបំផុត", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina ផ្តោតលើលំនាំនៃរោគសញ្ញា និងពេលវេលា — សញ្ញាដូចគ្នាដែលគ្រូពេទ្យស្វែងរកនៅដំបូង។", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "ជ្រើសរើសភេទរបស់អ្នក", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "នេះជួយឱ្យយើងអាចបកស្រាយរោគសញ្ញានិងផ្តល់អនុសាសន៍បានយ៉ាងត្រឹមត្រូវ។", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "ប្រុស", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "ស្រី", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "មិនចង់ប្រាប់", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "អាយុរបស់អ្នកគឺប៉ុន្មាន?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "អាយុជួយឱ្យយើងវាយតម្លៃលំនាំសុខភាពបានយ៉ាងត្រឹមត្រូវ។", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "មានមនុស្សជាង 48k+\nបានជ្រើសរើស Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*ផ្អែកលើស្ថិតិមូលដ្ឋានអ្នកប្រើប្រាស់ Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "បង្កើតដោយ\nវេជ្ជបណ្ឌិត", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ជំហាន ១/៦", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "អ្នកនឹងពិពណ៌នាអំពីស្ថានភាពសុខភាពបច្ចុប្បន្នរបស់អ្នកយ៉ាងដូចម្តេច?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "ខ្ញុំមានអារម្មណ៍ថាសុខភាពល្អ", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "ខ្ញុំមានការព្រួយបារម្ភតិចតួចដែលបន្ត", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "ខ្ញុំកំពុងគ្រប់គ្រងស្ថានភាពដែលបានដឹង", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "ខ្ញុំកំពុងប្រឈមមុខនឹងអ្វីមួយដែលមិនបានដោះស្រាយ", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ជំហាន 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "អ្នកទៅឃ្លាំងវេជ្ជបណ្ឌិតប៉ុន្មានដង?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "ជាប្រចាំ (ការត្រួតពិនិត្យ / ការតាមដាន)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "ជាអាទិភាពពេលណាមួយមានអ្វីមិនត្រឹមត្រូវ", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "កម្រិតទាប, តែបើចាំបាច់", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "ជៀសវាងការទស្សនាគ្រូពេទ្យ", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "ខ្ញុំមិនដែលបានទៅឱសថស្ថានទេ", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ជំហាន 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "អ្វីដែលជាបញ្ហាធំបំផុតរបស់អ្នកជាមួយសុខាភិបាលរហូតមកដល់ពេលនេះ?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "ជ្រើសរើសបានច្រើនតាមដែលអ្នកចង់", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "ការរង់ចាំយូរ​សម្រាប់​ការណាត់ជួប", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "ការទស្សនាដូចជាបន្ទាន់", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "តម្លៃខ្ពស់ ឬតម្លៃមិនច្បាស់", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "អត់អាចពន្យល់អ្វីៗទាំងអស់បានយ៉ាងច្បាស់", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "ការបញ្ចេញមតិ ឬ ការប្រឹក្សាដែលមានការប្រកួតប្រជែង", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "គ្មានបញ្ហាធំទូលាយ", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ជំហាន 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "បន្ទាប់ពីការប្រជុំ អ្នកមានការតាំងចិត្តយ៉ាងដូចម្តេចចំពោះអ្វីដែលបាននិយាយ?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "គ្មានចម្លើយត្រឹមត្រូវឬខុសទេ។", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "អំពីអ្វីកំពុងកើតឡើងយ៉ាងច្បាស់", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "មានភាពច្បាស់ខ្លះ", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "មិនប្រាកដទេ", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "ច្របូកច្របល់ជាងមុន", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "មនុស្ស ជាច្រើនប្រឈមមុខនឹងការលំបាកមិនមែនក្រោយពីការបញ្ជាក់ជំងឺ ប៉ុន្តែពេលដែលរោគសញ្ញាប្រែប្រួលក្នុងអំឡុងពេល។", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ជំហាន 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "អ្នកមានអារម្មណ៍យ៉ាងដូចម្តេចចំពោះការពិចារណារបស់អ្នកដែលត្រូវបានដោះស្រាយ? ", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "ផ្អែកលើអារម្មណ៍ផ្ទាល់ខ្លួនរបស់អ្នក", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "ល្អណាស់", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "ល្អប្រសើរ", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "មិនបានល្អទេ", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "វាប្រែប្រួលច្រើន", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ជំហាន 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ពេលមុននឹងទៅឱសថសាស្ត្រ អ្នកធម្មតាដែលព្យាយាមយល់អំពីរោគសញ្ញាដោយខ្លួនឯងទេ?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "បាទ/ចាស ខ្ញុំស្រាវជ្រាវ និងតាមដានរឿង", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "ពេលខ្លះ", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "កម្រិតតិច", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "មិនទេ ខ្ញុំអាស្រ័យលើអ្នកជំនាញទាំងស្រុង", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "សំណួរសុខភាព មិនអនុវត្ត ម៉ោងការិយាល័យ។", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina មានស្រាប់ 24/7។", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "ភាពច្បាស់លាស់មិនគួរត្រូវរង់ចាំសម្រាប់ការណាត់ជួបក្រោយទេ។", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "តើអ្នកចង់ឱ្យយើងពិនិត្យសុខភាពរបស់អ្នកទេ?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI អាចតាមដានរោគសញ្ញារបស់អ្នក និងជូនដំណឹងអ្នកប្រសិនបើអ្វីមួយត្រូវការការយកចិត្តទុកដាក់", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "បាទ — តាមដានសុខភាពរបស់ខ្ញុំ", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "បាទ — តែបើមានអ្វីសំខាន់ផ្លាស់ប្តូរ", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "មិនប្រាកដទេ", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "តើអ្នកបានឮអំពី Doctorina ពីគ្រូពេទ្យទេ?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "បាទ", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "មិនមាន", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "កំពុងវិភាគលទ្ធផលរបស់អ្នក", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "បុគ្គលភាពបទពិសោធន៍របស់អ្នក", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro ជាមួយបទពិសោធន៍អសীম", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "អ្នកជំនួយរបស់អ្នកដែលតែងតែជិតស្និទ្ធ", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "មិនប្រាកដទេ? បើកសាកល្បងឥតគិតថ្លៃ។", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "ប្រចាំឆ្នាំ", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "ប្រចាំខែ", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "ប្រចាំសប្តាហ៍", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "ប្រចាំថ្ងៃ", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (តែ $3.34/សប្តាហ៍)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "រក្សាទុក 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "បន្ត", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "ចាប់ផ្តើមសាកល្បងឥតគិតថ្លៃ", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "ការជាវគឺអាចធ្វើការបន្ថែមឡើងវិញដោយស្វ័យប្រវត្តិ។ អាចបោះបង់បានគ្រប់ពេល", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "ល័ក្ខខ័ណ្ឌសេវាកម្ម | គោលការណ៍ឯកជនភាព", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "សប្តាហ៍", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "កំពុងវិភាគលទ្ធផលរបស់អ្នក", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "បិទការបណ្តុះបណ្តាល", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "ស្ដារការទិញ", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "ស្ដារឡើងវិញ", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "មិនមានការជាវសកម្មណាមួយសម្រាប់កំណត់ឡើងវិញ។", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "មិនអាចស្ដារទិញបានទេ។ សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ។", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "មិនអាចបញ្ចប់ការទិញបានទេ។ សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "ថ្ងៃនេះ: ទទួលបានការចូលដំណើរការបន្ទាន់", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "បើកចំហការចូលដំណើរការពេញលេញ ទទួលបានចម្លើយសុខភាព AI នៅពេលណាក៏ដោយ។", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "ថ្ងៃទី ២: ការរំលឹកសាកល្បង", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "យើងនឹងផ្ញើការចងក្រងឲ្យអ្នកថា ការសាកល្បងរបស់អ្នកកំពុងនឹងបញ្ចប់", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "ថ្ងៃទី ៣: ការបន្ត", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "អ្នកនឹងត្រូវបានគិតថ្លៃនៅថ្ងៃ {date} អ្នកអាចបោះបង់បានគ្រប់ពេល។", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "អ្វីដែលមានក្នុងនេះ", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "ឯកជន និងសុវត្ថិភាព", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "ជំនួយ AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "ចម្លើយសុខភាពភ្លាមៗ", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "ចំណេះដឹងដែលមានមូលដ្ឋានលើវិទ្យាសាស្ត្រ", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "សេចក្តីសង្ខេបសន្ទនាអូតូ", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "ភាសាណាមួយ នៅពេលណាក៏បាន", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "ក្នុងមួយសប្តាហ៍", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "ការផ្តល់ជូនមួយដង", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% បញ្ចុះតម្លៃ", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ជានិច្ច", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "ពេលអ្នកបិទការផ្តល់ជូនមួយដងរបស់អ្នក វានឹងបាត់ទៅ!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/ខែ", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "តម្លៃទាបបំផុត", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "បោះបង់បានគ្រប់ពេល", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "ទាមទារប្រម៉ូសិនរបស់អ្នក", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "ការជាវដែលអាចធ្វើឲ្យមានការបន្តដោយស្វ័យប្រវត្តិ", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "អំណោយពិសេសនៅខាងក្នុង", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "ចុចមួយដងដើម្បីបង្ហាញអំពីការផ្តល់ជូនពិសេសរបស់អ្នក", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "បើកឥឡូវនេះ", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "មិនអាចផ្ទុកជម្រើសការជាវបានទេ។ សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ។", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "មិនអាចផ្ទុកតម្លៃការជាវបាន", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "ពិនិត្យការតភ្ជាប់របស់អ្នក ហើយព្យាយាមម្តងទៀត។", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "សាកល្បងម្តងទៀត", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_kn.arb b/example/lib/src/l10n/onboarding/app_kn.arb new file mode 100644 index 0000000..271beff --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_kn.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "kn", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ಅತ್ಯಾಧುನಿಕ ಎಐ ಆರೋಗ್ಯ ಸಹಾಯಕ", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ಡಾಕ್ಟರಿನಾಗೆ ಸ್ವಾಗತ", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "ಅನುಭವಿಸಿದ ವೈದ್ಯರು ಮಾಡುವಂತೆ ಲಕ್ಷಣಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ - ಮಾದರಿಗಳು, ಸಮಯ ಮತ್ತು ಸಂದರ್ಭವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "ಪ್ರಾರಂಭಿಸಿ", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "ಇಲ್ಲಿಯೇ ಖಾತೆ ಇದೆಯಾ? ಲಾಗ್ ಇನ್", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "ಮುಂದುವರಿಯುವುದರಿಂದ, ನೀವು ನಮ್ಮ ಸೇವೆಯ ನಿಯಮಗಳು | ಗೋಪ್ಯತಾ ನೀತಿ ಗೆ ಒಪ್ಪುತ್ತೀರಿ", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "ನಾವು ನಿಮ್ಮಿಗಾಗಿ ಡಾಕ್ಟೊರಿನಾ ವೈಯಕ್ತಿಕಗೊಳಿಸೋಣ", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ವೈಯಕ್ತಿಕೀಕರಣ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "ನೀವು ಇಂದೆಲ್ಲಿ ಬಂದಿದ್ದೀರಿ?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "ನಾನು ಈಗ ಲಕ್ಷಣಗಳನ್ನು ಅನುಭವಿಸುತ್ತಿದ್ದೇನೆ", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "ನಾನು ಆರೋಗ್ಯ ಬದಲಾವಣೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "ನಾನು ಗಂಭೀರವಾದುದನ್ನು ಹೊರತುಪಡಿಸಲು ಬಯಸುತ್ತೇನೆ", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "ನಾನು ನನ್ನ ಆರೋಗ್ಯವನ್ನು ಪ್ರಾಯೋಗಿಕವಾಗಿ ಗಮನಿಸುತ್ತಿದ್ದೇನೆ", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "ಮುಂದುವರಿಯಿರಿ", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "ನಿಮ್ಮ ಆರೋಗ್ಯದಲ್ಲಿ ಏನಾದರೂ ಬದಲಾಯಿಸಿದಾಗ, ಏನು ಮುಖ್ಯವೆಂದು ತಿಳಿಯುವುದು ಕಷ್ಟವಾಗಿದೆ.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "ಡಾಕ್ಟೊರಿನಾ ಲಕ್ಷಣಗಳ ಮಾದರಿಗಳು ಮತ್ತು ಸಮಯದ ಮೇಲೆ ಕೇಂದ್ರೀಕೃತವಾಗಿದೆ — ವೈದ್ಯರು ಆರಂಭದಲ್ಲಿ ನೋಡಲು ಬಯಸುವ ಅದೇ ಸಂಕೇತಗಳು.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "ನಿಮ್ಮ ಲಿಂಗವನ್ನು ಆಯ್ಕೆಮಾಡಿ", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "ಇದು ಲಕ್ಷಣಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ಶ್ರೇಣೀಬದ್ಧ ಶಿಫಾರಸುಗಳನ್ನು ಹೆಚ್ಚು ನಿಖರವಾಗಿ ನೀಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "ಪುರುಷ", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "ಮಹಿಳೆ", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "ಹೇಳಲು ಇಚ್ಛಿಸುವುದಿಲ್ಲ", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "ನಿಮ್ಮ ವಯಸ್ಸು ಏನು?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "ವಯಸ್ಸು ಆರೋಗ್ಯದ ಮಾದರಿಗಳನ್ನು ಹೆಚ್ಚು ನಿಖರವಾಗಿ ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ ಜನರು\nಡಾಕ್ಟರಿನಾ ಆಯ್ಕೆ ಮಾಡಿದ್ದಾರೆ", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*ಡಾಕ್ಟೊರಿನ ಬಳಕೆದಾರರ ಆಧಾರಿತ ಅಂಕಿ-ಅಂಶಗಳ ಮೇಲೆ", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "ವಿಕಸಿತವಾಗಿದೆ\nಡಾಕ್ಟರ್‌ಗಳು", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ಹಂತ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "ನೀವು ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಆರೋಗ್ಯದ ಸ್ಥಿತಿಯನ್ನು ಹೇಗೆ ವರ್ಣಿಸುತ್ತೀರಿ?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "ನಾನು ಸಾಮಾನ್ಯವಾಗಿ ಆರೋಗ್ಯವಾಗಿದ್ದೇನೆ", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "ನನಗೆ ನಿರಂತರ ಸಣ್ಣ ಸಮಸ್ಯೆಗಳಿವೆ", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "ನಾನು ತಿಳಿದಿರುವ ಸ್ಥಿತಿಯನ್ನು ನಿರ್ವಹಿಸುತ್ತಿದ್ದೇನೆ", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "ನಾನು ಪರಿಹಾರವಾಗದ ವಿಷಯವನ್ನು ಎದುರಿಸುತ್ತಿದ್ದೇನೆ", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ಹಂತ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಡಾಕ್ಟರ್ ಅನ್ನು ಎಷ್ಟು ಬಾರಿ ಭೇಟಿಯಾಗುತ್ತೀರಿ?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "ನಿಯಮಿತವಾಗಿ (ಪರೀಕ್ಷೆಗಳು / ಅನುಸರಣೆಗಳು)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "ಅವಕಾಶದಂತೆ, ಏನಾದರೂ ತಪ್ಪಾಗಿದಾಗ", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "ಅತೀ ಕಡಿಮೆ, ಅಗತ್ಯವಿದ್ದಾಗ ಮಾತ್ರ", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "ಡಾಕ್ಟರ್‌ಗಳಿಗೆ ಹೋಗಲು ಇಷ್ಟವಿಲ್ಲ", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "ನಾನು ಎಂದಿಗೂ ವೈದ್ಯರನ್ನು ಭೇಟಿಯಾಗಿಲ್ಲ", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ಹಂತ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "ಆರೋಗ್ಯ ಸೇವೆಯೊಂದಿಗೆ ನಿಮ್ಮ ದೊಡ್ಡ ಸವಾಲು ಏನು?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "ನೀವು ಇಷ್ಟಪಟ್ಟಷ್ಟು ಆಯ್ಕೆ ಮಾಡಬಹುದು", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "ನಿಯೋಜನೆಗಳಿಗೆ ದೀರ್ಘ ಕಾಯುವ ಸಮಯಗಳು", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "ಭೇಟಿಗಳು ತ್ವರಿತವಾಗಿವೆ", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "ಹೆಚ್ಚಿನ ವೆಚ್ಚ ಅಥವಾ ಸ್ಪಷ್ಟವಲ್ಲದ ಬೆಲೆ", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "ಎಲ್ಲವನ್ನೂ ಸ್ಪಷ್ಟವಾಗಿ ವಿವರಿಸಲು ಕಷ್ಟವಾಗಿದೆ", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "ವಿರೋಧಾಭಾಸದ ಅಭಿಪ್ರಾಯಗಳು ಅಥವಾ ಸಲಹೆಗಳು", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "ಯಾವುದೇ ಪ್ರಮುಖ ಸಮಸ್ಯೆಗಳಿಲ್ಲ", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ಹಂತ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "ನಿಮ್ಮ ವೈದ್ಯಕೀಯ ಭೇಟಿಯ ನಂತರ, ನೀವು ಕೇಳಿದ ವಿಷಯಗಳ ಬಗ್ಗೆ ನೀವು ಎಷ್ಟು ವಿಶ್ವಾಸದಿಂದಿದ್ದೀರಿ?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "ಇಲ್ಲಿಯೇ ಸರಿಯಾದ ಅಥವಾ ತಪ್ಪಾದ ಉತ್ತರವಿಲ್ಲ.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "ಊಹಿಸುವುದರಲ್ಲಿ ಬಹಳ ಸ್ಪಷ್ಟವಾಗಿದೆ", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "ಸ್ವಲ್ಪ ಸ್ಪಷ್ಟ", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "ಇನ್ನೂ ಅನುಮಾನವಿದೆ", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "ಹಿಂದಿನಂತೆ ಹೆಚ್ಚು ಗೊಂದಲದಲ್ಲಿದ್ದೇನೆ", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "ಹೆಚ್ಚಿನ ಜನರು ನಿರ್ಧಾರದ ನಂತರ ಕಷ್ಟಪಡುವುದಿಲ್ಲ ಆದರೆ ಲಕ್ಷಣಗಳು ಕಾಲಕಾಲಕ್ಕೆ ಬದಲಾಯಿಸುವಾಗ.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ಹಂತ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "ನೀವು ನಿಮ್ಮ ಚಿಂತೆಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಹೇಗೆ ಪರಿಹರಿಸುತ್ತಾರೆಂದು ನೀವು ಹೇಗೆ ಭಾವಿಸುತ್ತೀರಿ?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಭಾವನೆಗಳ ಆಧಾರದ ಮೇಲೆ", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "ಚೆನ್ನಾಗಿದೆ", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "ಚೆನ್ನಾಗಿದ್ದೆ", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ಚೆನ್ನಾಗಿಲ್ಲ", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "ಇದು ಬಹಳ ಬದಲಾಗುತ್ತದೆ", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ಹಂತ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ಡಾಕ್ಟರ್ ಅವರನ್ನು ಭೇಟಿಯಾಗುವ ಮೊದಲು, ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಲಕ್ಷಣಗಳನ್ನು ಸ್ವಯಂ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಪ್ರಯತ್ನಿಸುತ್ತೀರಾ?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "ಹೌದು, ನಾನು ವಿಷಯಗಳನ್ನು ಸಂಶೋಧಿಸುತ್ತೇನೆ ಮತ್ತು ಹಂಚಿಕೊಳ್ಳುತ್ತೇನೆ", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "ಕೆಲವೊಮ್ಮೆ", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "ಅಲ್ಪವಾಗಿ", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "ಇಲ್ಲ, ನಾನು ಸಂಪೂರ್ಣವಾಗಿ ವೃತ್ತಿಪರರ ಮೇಲೆ ಅವಲಂಬಿತನಾಗಿದ್ದೇನೆ", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "ಆರೋಗ್ಯ ಪ್ರಶ್ನೆಗಳು ಕಚೇರಿ ಸಮಯಗಳನ್ನು ಅನುಸರಿಸುತ್ತವೆ .", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 24/7 ಲಭ್ಯವಿದೆ.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "ಸ್ಪಷ್ಟತೆ ಮುಂದಿನ ನೇಮಕಾತಿಯ ನಿರೀಕ್ಷೆ ಮಾಡಬೇಕಾಗಿಲ್ಲ.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "ನೀವು ನಿಮ್ಮ ಆರೋಗ್ಯ ಲಕ್ಷಣಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತೀರಾ?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "ಎಐ ನಿಮ್ಮ ಲಕ್ಷಣಗಳನ್ನು ಗಮನಿಸುತ್ತೆ ಮತ್ತು ಏನಾದರೂ ಗಮನ ನೀಡಬೇಕಾದರೆ ನಿಮಗೆ ಎಚ್ಚರಿಕೆ ನೀಡುತ್ತದೆ", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "ಹೌದು — ನನ್ನ ಆರೋಗ್ಯವನ್ನು ಗಮನದಲ್ಲಿಡಿ", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "ಹೌದು — ಏನಾದರೂ ಪ್ರಮುಖವಾಗಿ ಬದಲಾಯಿಸಿದಾಗ ಮಾತ್ರ", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "ಇನ್ನೂ ಖಚಿತವಲ್ಲ", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "ನೀವು ಡಾಕ್ಟರ್‌ರಿಂದ ಡಾಕ್ಟೊರಿನ ಬಗ್ಗೆ ಕೇಳಿದ್ದೀರಾ?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "ಹೌದು", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "ಇಲ್ಲ", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ನಿಮ್ಮ ಫಲಿತಾಂಶಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತಿದ್ದೇವೆ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "ನಿಮ್ಮ ಅನುಭವವನ್ನು ವೈಯಕ್ತಿಕಗೊಳಿಸುತ್ತಿದೆ", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "ಅನಿಯಮಿತ ಅನುಭವ Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ನಿಮ್ಮ ಸಹಾಯಕನಾಗಿರುವವರು ಯಾವಾಗಲೂ ಹತ್ತಿರದಲ್ಲಿದ್ದಾರೆ", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "ನೀವು ಇನ್ನೂ ಖಚಿತವಲ್ಲವೇ? ಉಚಿತ ಪ್ರಯೋಗವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "ವಾರ್ಷಿಕ", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "ಮಾಸಿಕ", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "ವಾರಿಕ", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "ದೈನಂದಿನ", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "₹2,999 (ಪ್ರತಿ ವಾರ ₹83.34)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "₹299", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58% ಉಳಿಸಿ", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "ಮುಂದುವರಿಯಿರಿ", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "ಮುಕ್ತ ಪ್ರಯೋಗವನ್ನು ಪ್ರಾರಂಭಿಸಿ", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "ಚಂದಾ ಸ್ವಯಂ ನವೀಕರಣೀಯವಾಗಿದೆ. ಯಾವಾಗಲಾದರೂ ರದ್ದುಪಡಿಸಬಹುದು", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "ಸೇವಾ ನಿಯಮಗಳು | ಗೋಪ್ಯತಾ ನೀತಿ", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "ವಾರ", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "ನಿಮ್ಮ ಫಲಿತಾಂಶಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತಿದೆ", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ಆರಂಭವನ್ನು ಮುಚ್ಚಿ", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "ಖರೀದಿಗಳನ್ನು ಪುನಃ ಪುನಸ್ಥಾಪಿಸಿ", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "ಪುನಃಸ್ಥಾಪನೆ", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "ಪುನಃಸ್ಥಾಪಿಸಲು ಯಾವುದೇ ಸಕ್ರಿಯ ಚಂದಾ ಕಂಡುಬಂದಿಲ್ಲ.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "ಖರೀದಿಗಳನ್ನು ಪುನಃಸ್ಥಾಪಿಸಲು ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "ಖರೀದಿ ಪೂರ್ಣಗೊಳ್ಳಲಿಲ್ಲ. ದಯವಿಟ್ಟು ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "ಇಂದು: ತಕ್ಷಣದ ಪ್ರವೇಶ ಪಡೆಯಿರಿ", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "ಪೂರ್ಣ ಪ್ರವೇಶವನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ, ಯಾವಾಗ ಬೇಕಾದರೂ AI ಆರೋಗ್ಯ ಉತ್ತರಗಳನ್ನು ಪಡೆಯಿರಿ.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "ದಿನ 2: ಪ್ರಯೋಗದ ನೆನಪಿನ", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "ನಾವು ನಿಮ್ಮ ಪ್ರಯೋಗಾವಧಿ ಕೊನೆಗೊಳ್ಳುವ ಮುನ್ನ ನಿಮಗೆ ನೆನಪಿಸುತ್ತೇವೆ", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "ದಿನ 3: ಪುನಃನವೀಕರಣ", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "{date} ರಂದು ನಿಮ್ಮನ್ನು ಚಾರ್ಜ್ ಮಾಡಲಾಗುತ್ತದೆ, ಯಾವಾಗಲೂ ರದ್ದು ಮಾಡಬಹುದು.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ಏನು ಒಳಗೊಂಡಿದೆ", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "ಖಾಸಗಿ ಮತ್ತು ಸುರಕ್ಷಿತ", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "ಎಐ ಸಹಾಯಕ, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "ತಕ್ಷಣದ ಆರೋಗ್ಯ ಉತ್ತರಗಳು", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "ಸ್ಪಷ್ಟ, ವಿಜ್ಞಾನಾಧಾರಿತ ಅರ್ಥಗಳು", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "ಆಟೋ ಸಂವಾದ ಸಾರಾಂಶಗಳು", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "ಯಾವುದೇ ಭಾಷೆ, ಯಾವಾಗಲೂ", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "ಪ್ರತಿ ವಾರ", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "ಒಮ್ಮೆ ನೀಡುವ ಆಫರ್", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ರಿಯಾಯಿತಿ", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ಶಾಶ್ವತ", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "ನೀವು ನಿಮ್ಮ ಒಮ್ಮೆ ನೀಡುವ ಆಫರ್ ಅನ್ನು ಮುಚ್ಚಿದಾಗ, ಅದು ಹೋಗುತ್ತದೆ!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/ತಿಂಗಳು", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "ಎಲ್ಲಾ ಕಾಲದ ಕಡಿಮೆ ಬೆಲೆ", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "ಯಾವಾಗ ಬೇಕಾದರೂ ರದ್ದುಪಡಿಸಬಹುದು", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "ನಿಮ್ಮ ಆಫರ್ ಅನ್ನು ಕ್ಲೇಮ್ ಮಾಡಿ", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "ಆಟೋ-ನವೀಕರಣ ಚಂದಾ", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "ವಿಶೇಷ ಉಡುಗೊರೆ ಒಳಗೆ", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "ಒಂದು ಟ್ಯಾಪ್‌ನಲ್ಲಿ ನಿಮ್ಮ ವಿಶೇಷ ಆಫರ್ ಅನ್ನು ಬಹಿರಂಗಪಡಿಸಿ", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "ಈಗ ತೆರೆಯಿರಿ", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "ಚಂದಾ ಆಯ್ಕೆಯನ್ನು ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "ಚಂದಾ ಬೆಲೆಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "ನಿಮ್ಮ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "ಮರು ಪ್ರಯತ್ನಿಸಿ", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ko.arb b/example/lib/src/l10n/onboarding/app_ko.arb new file mode 100644 index 0000000..0e3a42e --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ko.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ko", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "고급 AI 건강 도우미", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "닥터리나에 오신 것을 환영합니다!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "경험이 풍부한 임상의처럼 증상을 분석하도록 설계되었습니다 — 패턴, 타이밍 및 맥락을 이해함으로써.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "시작하기", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "이미 계정이 있나요? 로그인", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "계속하면 귀하는 우리의\n서비스 약관 | 개인정보 처리방침 에 동의하게 됩니다", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Doctorina 을(를) 개인화해 보겠습니다", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "개인화", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "오늘 여기 오신 이유는 무엇인가요?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "저는 지금 증상이 있습니다", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "건강 변화를 이해하고 싶습니다", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "나는 심각한 문제를 배제하고 싶다", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "저는 제 건강을 적극적으로 모니터링하고 있습니다", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "계속", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "건강에 변화가 생기면 중요한 것이 무엇인지 아는 것이 가장 어렵습니다.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina는 증상 패턴과 타이밍에 집중합니다 — 이는 임상의가 초기에 찾는 신호와 동일합니다.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "성별을 선택하세요", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "이것은 증상을 해석하고 더 정확하게 권장 사항을 제공하는 데 도움이 됩니다", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "남성", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "여성", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "말하고 싶지 않음", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "당신의 나이는 얼마입니까?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "나이는 건강 패턴을 더 정확하게 평가하는 데 도움이 됩니다", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+명이 넘는 사람들\nDoctorina를 선택했습니다", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Doctorina 사용자 통계 기반", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "의사에 의해 개발됨", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "단계 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "현재 건강 상태를 어떻게 설명하시겠습니까?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "저는 일반적으로 건강하다고 느낍니다", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "나는 지속적인 사소한 걱정이 있습니다", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "저는 알려진 질환을 관리하고 있습니다", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "나는 해결되지 않은 문제를 다루고 있습니다", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "단계 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "보통 얼마나 자주 의사를 만나나요?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "정기적으로(검진/추적)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "가끔, 문제가 있을 때", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "드물게, 필요할 경우에만", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "의사 방문을 피하세요", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "나는 의사를 한 번도 방문한 적이 없습니다", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "단계 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "지금까지 의료 서비스에서 가장 큰 도전은 무엇이었나요?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "원하는 만큼 선택하세요", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "예약 대기 시간이 길다", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "방문이 급하게 느껴진다", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "높은 비용 또는 불명확한 가격", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "모든 것을 명확하게 설명하기 어렵다", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "상충하는 의견이나 조언", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "주요 문제가 없습니다", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "단계 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "진료 후, 의사가 말한 내용에 대해 얼마나 자신감을 느끼십니까?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "정답이나 오답이 없습니다", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "무슨 일이 일어나고 있는지 매우 명확합니다", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "다소 명확함", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "여전히 불확실합니다", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "이전보다 더 혼란스러움", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "많은 사람들이 진단 후에 힘들어하는 것이 아니라 증상이 시간이 지남에 따라 변할 때 힘들어합니다.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "단계 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "귀하의 우려가 보통 얼마나 잘 해결된다고 느끼십니까?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "귀하의 주관적인 느낌에 따라", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "아주 좋습니다", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "꽤 잘", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "그다지 좋지 않음", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "많이 다릅니다", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "단계 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "의사를 만나기 전에 증상을 스스로 이해하려고 하시나요?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "네, 저는 연구하고 추적합니다", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "가끔", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "드물게", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "아니요, 저는 전적으로 전문가에게 의존합니다", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "건강 질문은 근무 시간 에 제한되지 않습니다.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina는 24/7 이용 가능합니다.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "명확함은 다음 약속을 기다릴 필요가 없습니다", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "귀하의 건강 증상을 확인해 드릴까요?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI가 귀하의 증상을 모니터링하고 주의가 필요한 경우 알림을 보낼 수 있습니다", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "네 — 제 건강을 지켜봐 주세요", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "예 — 중요한 사항이 변경될 경우에만", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "아직 확실하지 않아요", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "의사에게서 Doctorina에 대해 들으셨나요?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "네", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "아니요", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "결과 분석 중", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "귀하의 경험을 개인화하는 중", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro 와 함께하는 무제한 경험", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "항상 곁에 있는 당신의 도우미", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "아직 확실하지 않으신가요? 무료 체험을 활성화하세요.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "연간", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "매월", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "주간", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "일일", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39.99달러(주당 3.34달러)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "₩4,400", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58% 절약", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "계속", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "무료 체험 시작", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "구독은 자동 갱신됩니다. 언제든지 취소할 수 있습니다", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "서비스 약관 | 개인정보 처리방침", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "주", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "결과를 분석하는 중", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "온보딩 닫기", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "구매 복원", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "복원", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "복원할 수 있는 활성 구독이 없습니다", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "구매 복원에 실패했습니다. 나중에 다시 시도해 주세요.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "구매를 완료하지 못했습니다. 나중에 다시 시도해 주세요.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "오늘: 즉시 액세스하기", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "전체 액세스를 잠금 해제하고 언제든지 AI 건강 답변을 받으세요.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "2일차: 체험판 알림", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "시험이 곧 종료된다는 알림을 보내드립니다", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "3일차: 갱신", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "{date}에 요금이 청구됩니다. 그 이전에 언제든지 취소할 수 있습니다.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "포함된 내용", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "개인적이고 안전함", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI 어시스턴트, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "즉각적인 건강 답변", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "명확하고 과학에 기반한 통찰력", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "자동 대화 요약", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "언제든지 어떤 언어든지", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "주당", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "일회성 제안", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% 할인", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "영원히", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "일회성 제안을 닫으면 사라집니다!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/월", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "역대 최저가", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "언제든지 취소 가능", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "제안을 청구하세요", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "자동 갱신 구독", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "특별한 선물이 있습니다", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "특별 제안을 공개하려면 한 번 탭하세요", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "지금 열기", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "구독 옵션을 불러오는 데 실패했습니다. 나중에 다시 시도해 주세요.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "구독 가격을 불러올 수 없습니다", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "연결을 확인하고 다시 시도하세요.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "다시 시도해 주세요", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_lo.arb b/example/lib/src/l10n/onboarding/app_lo.arb new file mode 100644 index 0000000..dc7c806 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_lo.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "lo", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ຜູ້ຊ່ວຍເສດສະດວກສຸຂະພາບ AI ທີ່ລະດັບສູງ", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ຍິນດີຕ໭ິດອກທີ່ມາສູ່ Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "ອອກແບບເພື່ອວິເຄາະອາການແບບທີ່ປະສົບການສຶກສາ — ດ້ວຍການເຂົ້າໃຈລັກສະນະ, ເວລາ, ແລະສະຖານທີ່.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "ເລີ່ມຕົ້ນ", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "ມີບັດບັດກ່ຽວກັບບັດບັດບໍ? ເຂົ້າໄປ", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "ດ໳ກັບການດຳເນີນງານ, ທ່ານຍອມຮັບກັບຂໍໍ່ສະຖານທີ່ຂອງເຮົາ\nເງື່ອນໄຂການໃຊ້ງານ | ນโยบายຄວາມລັບ", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "ມາປັບປຸງ Doctorina ສໍາລັບທ່ານ", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ການປັບປຸງ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "ສິ່ງທີ່ນຳໃຈເຂົ້າມາທີ່ນີ້ແມ່ນຫຍັງ?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "ຂໍແຈ້ງວ່າຂໍແກ່ລະບົບສະຖານທີ່ມີອາການ", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "ຂໍແຈ້ງເພື່ອເຂົ້າໃຈການແປງສະຖານະສຸຂະພາບ", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "ຂໍແຈ້ງວ່າບໍ່ມີບັດສະຖານສຸດທ້າຍ", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "ຂ້ອຍກຳລັງຕິດຕາມສຸຂະພາບຂອງຂ້ອຍຢ່າງຕັ້ງໜ້າ", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "ດຳເນີນຕໍ່", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "ເມື່ອມີບາດແປງໃນສະຖານະສຸຂະພາບຂອງທ່ານ, ການຮູ້ວ່າສິ່ງໃດສຳຄັນສຸດແມ່ນສິ່ງທີ່ຍາກທີ່ສຸດ.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina ສົນໃຈໃນລັກສະນະສິນທິບັດແລະເວລາ — ສັນຍານເດີນທີ່ແພດເບິ່ງໃນຕອນເລີ່ມ.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "ເລືອກເພດຂອງເຈົ້າ", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "ນີ້ເຮັດໃຫ້ເຮົາອໍານວນສະຖານະອາການແລະໃຫ້ຄໍາແນະນຳໄດ້ຢ່າງຖືກຕໍ່.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "ຊາຍ", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "ຍິງ", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "ບໍ່ຢາກໃຫ້ລະບຸ", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "ທ່ານອາຍຸເທົ່າໃດ?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "ອາຍຸເຮັດໃຫ້ເຮັດໃຫ້ພວກເຮົາປ່ອນສະຖານະສຸຂະພາບໄດ້ຢ່າງຖືກຕໍ່ສູງ.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "ມີຄົນເລືອກເປັນສະຖານທີ່ໃນການເລືອກ 48k+\nທີ່ເລືອກ Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*ອີງຕາມສະຖິຕິຂອງຜູ້ໃຊ້ Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "ພັດທະນາໂດຍ
ແພດ", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ຂະບວນການ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "ທ່ານຈະອະທິບາຍສະພາບສຸຂະພາບໃນປະຈຸບັນຂອງທ່ານແນວໃດ?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "ໂດຍທົ່ວໄປຂ້ອຍຮູ້ສຶກມີສຸຂະພາບດີ", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "ຂ້ອຍມີຄວາມກັງວົນເລັກນ້ອຍຢ່າງຕໍ່ເນື່ອງ", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "ຂ້ອຍກຳລັງຈັດການກັບສະພາບທີ່ຮູ້ຈັກ", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "ຂ້ອຍກຳລັງຈັດການກັບບາງສິ່ງບາງຢ່າງທີ່ຍັງບໍ່ໄດ້ຮັບການແກ້ໄຂ", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ຂັ້ນຕອນທີ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "ປົກກະຕິແລ້ວເຈົ້າໄປພົບແພດເລື້ອຍປານໃດ?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "ເປັນປະຈຳ (ກວດສຸຂະພາບ / ຕິດຕາມ)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "ບາງຄັ້ງຄາວ, ເມື່ອມີບາງຢ່າງຜິດພາດ", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "ບໍ່ຄ່ອຍ, ສະເພາະເມື່ອຈຳເປັນເທົ່ານັ້ນ", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "ທ່ານບໍ່ມັກເຂົ້າໄປຫາແພດ", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "ຂ້ອຍບໍ່ເຄີຍໄປຫາໝໍມາກ່ອນ", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ຂັ້ນຕອນທີ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "ສິ່ງທ້າທາຍທີ່ໃຫຍ່ທີ່ສຸດຂອງເຈົ້າກັບການດູແລສຸຂະພາບມາຮອດປະຈຸບັນແມ່ນຫຍັງ?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "ເລືອກຫຼາຍເທົ່າທີ່ທ່ານມັກ", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "ເວລາລໍຖ້າດົນສຳລັບການນັດໝາຍ", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "ການຢ້ຽມຢາມຮູ້ສຶກວ່າຮີບຮ້ອນ", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "ຄ່າໃຊ້ຈ່າຍສູງ ຫຼື ລາຄາບໍ່ຊັດເຈນ", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "ຍາກທີ່ຈະອະທິບາຍທຸກຢ່າງໃຫ້ຊັດເຈນ", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "ຄວາມຄິດເຫັນ ຫຼື ຄຳແນະນຳທີ່ຂັດແຍ້ງກັນ", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "ບໍ່ມີບັນຫາໃຫຍ່", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ຂັ້ນຕອນທີ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "ຫຼັງຈາກນັດໝາຍແລ້ວ, ເຈົ້າຮູ້ສຶກໝັ້ນໃຈແນວໃດກ່ຽວກັບສິ່ງທີ່ເຈົ້າໄດ້ຍິນມາ?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "ບໍ່ມີຄຳຕອບທີ່ຖືກ ຫຼື ຜິດ.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "ຊັດເຈນຫຼາຍກ່ຽວກັບສິ່ງທີ່ເກີດຂຶ້ນ", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "ຂ້ອນຂ້າງຈະແຈ້ງ", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "ຍັງບໍ່ແນ່ນອນ", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "ສັບສົນຫຼາຍກວ່າແຕ່ກ່ອນ", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "ຄົນຫລາຍ ປະສົບບັນຫາບໍ່ຫຼັງຈາກການວินິຈັນ ແຕ່ເມື່ອອາການແປ່ງໃນເວລາ.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ຂັ້ນຕອນທີ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "ເຈົ້າຮູ້ສຶກວ່າຄວາມກັງວົນຂອງເຈົ້າມັກຈະໄດ້ຮັບການແກ້ໄຂດີສໍ່າໃດ?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "ອີງຕາມຄວາມຮູ້ສຶກສ່ວນຕົວຂອງເຈົ້າ", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "ດີຫຼາຍ", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "ດີພໍສົມຄວນ", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ບໍ່ຄ່ອຍດີປານໃດ", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "ມັນແຕກຕ່າງກັນຫຼາຍ", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ຂັ້ນຕອນທີ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ກ່ອນທີ່ຈະໄປພົບແພດ, ໂດຍປົກກະຕິແລ້ວທ່ານພະຍາຍາມເຂົ້າໃຈອາການຕ່າງໆດ້ວຍຕົນເອງບໍ?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "ແມ່ນແລ້ວ, ຂ້ອຍຄົ້ນຄວ້າ ແລະ ຕິດຕາມສິ່ງຕ່າງໆ", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "ບາງຄັ້ງ", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "ບໍ່ຄ່ອຍມີ", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "ບໍ່, ຂ້ອຍອາໄສຜູ້ຊ່ຽວຊານທັງໝົດ", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "ຄຳຖາມກ່ຽວກັບສຸຂະພາບ <ສີຂຽວ>ບໍ່ປະຕິບັດຕາມ ເວລາເຮັດວຽກ.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina ມີໃຫ້ບໍລິການ <ສີຂຽວ> 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "ຄວາມຊັດເຈນບໍ່ຄວນຕ້ອງລໍຖ້າການນັດໝາຍຄັ້ງຕໍ່ໄປ.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "ທ່ານຕ້ອງການໃຫ້ເຮົາສົມບູນກ່ຽວກັບອາການສຸຂະພາບຂອງທ່ານບໍ?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI ສາມາດຕິດຕາມອາການຂອງທ່ານແລະແຈ້ງບອກທ່ານຖ້າມີສິ່ງທີ່ອາດຈະຕ້ອງໃສ່ໃຈ", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "ແມ່ນ — ຄອບຄອງສຸຂະພາບຂອງຂໍ້ມູນຂອງຂໍ້ມູນ", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "ແມ່ນ — ແຕ່ສໍາລັບສິ່ງສຳຄັນແທ້ແລ້ວ", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "ບໍ່ແນ່ໃຈຍັງ", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "ເຈົ້າໄດ້ຍິນກ່ຽວກັບ Doctorina ຈາກທ່ານໝໍບໍ?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "ແມ່ນແລ້ວ", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "ບໍ່", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ການວິເຄາະຜົນໄດ້ຮັບຂອງທ່ານ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "ການປັບແຕ່ງປະສົບການຂອງທ່ານໃຫ້ເປັນສ່ວນຕົວ", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "ປະສົບການທີ່ບໍ່ຈຳກັດກັບ Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ຜູ້ຊ່ວຍຂອງທ່ານທີ່ຢູ່ໃກ້ຄຽງສະເໝີ", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "ຍັງບໍ່ແນ່ໃຈບໍ? ເປີດການທົດລອງໃຊ້ຟຣີ.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "ປະຈຳປີ", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "ລາຍເດືອນ", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "ປະຈຳອາທິດ", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "ປະຈຳວັນ", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (ພຽງແຕ່ $3.34/ອາທິດ)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "ປະຢັດ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "ສືບຕໍ່", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "ເລີ່ມການທົດລອງໃຊ້ຟຣີ", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "ການສະໝັກໃຊ້ສາມາດຕໍ່ອາຍຸໄດ້ໂດຍອັດຕະໂນມັດ. ຍົກເລີກໄດ້ທຸກເວລາ", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "ເງື່ອນໄຂການໃຫ້ບໍລິການ | <ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ>ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "ອາທິດ", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "ກຳລັງວິເຄາະຜົນໄດ້ຮັບຂອງທ່ານ", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ປິດການເປີດຕົວ", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "ກູ້ຄືນການຊື້", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "ກູ້ຄືນ", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "ບໍ່ພົບການສະໝັກໃຊ້ທີ່ໃຊ້ງານຢູ່ເພື່ອກູ້ຄືນ.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "ກູ້ຄືນການຊື້ບໍ່ສຳເລັດ. ກະລຸນາລອງໃໝ່ໃນພາຍຫຼັງ.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "ບໍ່ສາมາດສຳເລັດການຊື້. ກະລຸນາລອງໃໝ່ໃນເວລາຕໍ່ໄປ.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "ມື້ນີ້: ຮັບການເຂົ້າເຖິງທັນທີ", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "ເປີດການເຂົ້າເຖິງສິດທິສົມບູນ, ຮັບຄໍາແນະນຳສຸຂະພາບ AI, ໃນເວລາໃດກໍ່ແລ້ວ.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "ມື້ 2: ການລືມຄືນກ່ຽວກັບການທົດລອງ", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "ພວກເຮົາຈະສົ່ງຄວາມຈື່ຈິງວ່າການທົດລອງຂອງທ່ານກຳລັງຈະສິ້ນສຸດ", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "ວັນ 3: ການປິດໃໝ່", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "ທ່ານຈະເປັນຄ່າໃນວັນທີ {date}, ຍົກເລີກໃນເວລາໃດກໍ່ໄດ້.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ສິ່ງທີ່ລວມເຂົ້າ", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "ສ່ວນຕົວແລະປອດໄພ", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "ຜູ້ຊ່ວຍໃນດ້ານ AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "ຄໍາຕອບສຸດທ້າຍສໍາລັບສະຖານທີ່ສຸດທ້າຍ", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Clear, science-based insights", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "ສະຫຼຸບສົນທະນາອັດຕະໂນມັດ", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "ພາສາໃດກໍ່ໄດ້, ໃນເວລາໃດກໍ່ໄດ້", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "ຕໍ່ອາທິດ", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "ຂໍ້ແນະນຳສຽງແບບດຽວ", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ສິດສ່ວນລົດ", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "FOREVER", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "ເມື່ອເປິດສະເພາະສຽງຂອງທ່ານ, ມັນຈະບໍ່ມີແລ້ວ!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mo", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "LOWEST PRICE EVER", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "ຍົກເລີກໃນເວລາໃດກໍໄດ້", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "ເອົາສິນຄ້າຂອງເຈົ້າ", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "ການບັດຕິບັດອັດຕະໂນມັດ", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "ຂອງຂວັນພິເສດຢູ່ໃນ", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "ການສົນທະນາເພື່ອເປີດໃຫ້ເຫັນສິນຄ້າພິເສດຂອງທ່ານ", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "ເປີດດຽວນີ້", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "ບໍ່ສາມາດໂອນໄປລາຄາສະຖານທີ່ສະມັດ. ກະລຸນາລອງໃໝ່ຄັ້ງອື່ນ.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "ບໍ່ສາມາດໂອນລາຄາການບັດສະມາດ", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "ເຊັກສະຖານທີ່ຂອງທ່ານແລະລອງໃໝ່", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "ລອງໃໝ່", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ml.arb b/example/lib/src/l10n/onboarding/app_ml.arb new file mode 100644 index 0000000..bf5c392 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ml.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ml", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "അവസാനമായ AI ആരോഗ്യ സഹായി", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ഡോക്ടറിനയിലേക്ക് സ്വാഗതം", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "ലക്ഷണങ്ങളെ പരിചയസമ്പന്നമായ ക്ലിനീഷ്യന്മാരുടെ രീതിയിൽ വിശകലനം ചെയ്യാൻ രൂപകൽപ്പന ചെയ്തതാണ് — മാതൃകകൾ, സമയക്രമം, സാന്ദർഭം എന്നിവയെ മനസ്സിലാക്കുന്നതിലൂടെ.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "ആരംഭിക്കുക", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "ഇതിനകം ഒരു അക്കൗണ്ട് ഉണ്ടോ? ലോഗിൻ ചെയ്യുക", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "തുടരുന്നതിലൂടെ, നിങ്ങൾ ഞങ്ങളുടെ\nസേവനത്തിന്റെ നിബന്ധനകൾ | സ്വകാര്യതാ നയം എന്നതിൽ സമ്മതിക്കുന്നു", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "നമുക്ക് Doctorina നിന്റെ ആവശ്യങ്ങൾക്കനുസരിച്ച് വ്യക്തിഗതമാക്കാം", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "വ്യക്തിഗതവത്കരണം", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "നിങ്ങൾക്ക് ഇന്ന് ഇവിടെ എത്താൻ എന്താണ് കാരണം?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "ഞാൻ ഇപ്പോൾ ലക്ഷണങ്ങൾ അനുഭവിക്കുന്നു", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "ഞാൻ ആരോഗ്യ മാറ്റം മനസ്സിലാക്കാൻ ആഗ്രഹിക്കുന്നു", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "ഞാൻ ഗുരുതരമായ എന്തെങ്കിലും ഒഴിവാക്കാൻ ആഗ്രഹിക്കുന്നു", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "ഞാൻ എന്റെ ആരോഗ്യത്തെ മുൻകൂട്ടി നിരീക്ഷിക്കുന്നു", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "തുടരുക", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "നിങ്ങളുടെ ആരോഗ്യത്തിൽ എന്തെങ്കിലും മാറ്റം വന്നാൽ, എന്താണ് പ്രധാനമെന്ന് അറിയുന്നത് ഏറ്റവും കഠിനമാണ്.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "ഡോക്ടറിനാ ലക്ഷണങ്ങളുടെ മാതൃകകളും സമയവും ശ്രദ്ധിക്കുന്നു — ഇത് പ്രാരംഭത്തിൽ ഡോക്ടർമാർ അന്വേഷിക്കുന്ന സമാനമായ സൂചനകളാണ്.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "നിങ്ങളുടെ ലിംഗം തിരഞ്ഞെടുക്കുക", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "ഇത് ഞങ്ങൾക്ക് ലക്ഷണങ്ങളെ വ്യാഖ്യാനിക്കാൻ സഹായിക്കുന്നു, കൂടാതെ ശുപാർശകൾ കൂടുതൽ കൃത്യമായി നൽകുന്നു.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "പുരുഷൻ", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "സ്ത്രീ", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "ചൊല്ലാൻ ഇഷ്ടപ്പെടുന്നില്ല", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "നിങ്ങളുടെ പ്രായം എന്താണ്?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "പ്രായം ആരോഗ്യ മാതൃകകളെ കൂടുതൽ കൃത്യമായി വിലയിരുത്താൻ സഹായിക്കുന്നു.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ ആളുകൾ\nഡോക്ടറിനയെ തിരഞ്ഞെടുക്കുകയും ചെയ്തു", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*ഡോക്ടറിനയുടെ ഉപയോക്തൃ അടിസ്ഥാനത്തിന്റെ സ്ഥിതിവിവരക്കണക്കുകൾ അടിസ്ഥാനമാക്കി", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "ഡോക്ടർമാർക്കാൽ വികസിപ്പിച്ച", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "പടി 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "നിങ്ങളുടെ നിലവിലെ ആരോഗ്യസ്ഥിതിയെ നിങ്ങൾ എങ്ങനെ വിവരണപ്പെടുത്തും?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "ഞാൻ സാധാരണയായി ആരോഗ്യവത്താണ്", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "എനിക്ക് തുടർച്ചയായ ചെറിയ ആശങ്കകൾ ഉണ്ട്", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "ഞാൻ അറിയപ്പെടുന്ന ഒരു രോഗം കൈകാര്യം ചെയ്യുന്നു", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "ഞാൻ പരിഹരിക്കാത്ത എന്തോ നേരിടുന്നു", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "പടി 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "നിങ്ങൾ സാധാരണയായി എത്ര തവണ ഡോക്ടറെ കാണുന്നു?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "നിയമിതമായി (ചികിത്സാ പരിശോധനകൾ / പിന്തുടർച്ചകൾ)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "അവസരവശാൽ, എന്തെങ്കിലും തെറ്റായപ്പോൾ", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "അവസരമായാൽ മാത്രം, വളരെ കുറച്ച്", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "ഡോക്ടർമാരെ സന്ദർശിക്കാൻ ഇഷ്ടമല്ല", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "ഞാൻ ഒരിക്കലും ഡോക്ടറെ സന്ദർശിച്ചിട്ടില്ല", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "പടി 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "ഇപ്പോൾ വരെ ആരോഗ്യപരിചരണത്തിൽ നിങ്ങളുടെ ഏറ്റവും വലിയ വെല്ലുവിളി എന്താണ്?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "നിങ്ങൾക്ക് ഇഷ്ടമുള്ളവയെല്ലാം തിരഞ്ഞെടുക്കുക", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "അവസാനത്തിനായി നീണ്ട കാത്തിരിപ്പുകൾ", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "സന്ദർശനങ്ങൾ വേഗത്തിൽ അനുഭവപ്പെടുന്നു", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "ഉയർന്ന ചെലവ് അല്ലെങ്കിൽ വ്യക്തതയില്ലാത്ത വില", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "എല്ലാം വ്യക്തമായി വിശദീകരിക്കാൻ ബുദ്ധിമുട്ടാണ്", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "വ്യത്യസ്തമായ അഭിപ്രായങ്ങൾ അല്ലെങ്കിൽ ഉപദേശം", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "പ്രധാനമായ പ്രശ്നങ്ങൾ ഇല്ല", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "പടി 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "അവസാനിച്ച ഡോക്ടർ സന്ദർശനത്തിന് ശേഷം, നിങ്ങൾക്ക് പറയപ്പെട്ട കാര്യങ്ങളെക്കുറിച്ച് എത്ര വിശ്വാസമുണ്ട്?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "ശരിയല്ലാത്ത അല്ലെങ്കിൽ തെറ്റായ ഉത്തരമില്ല.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "എന്താണ് നടക്കുന്നത് എന്നതിൽ വളരെ വ്യക്തമാണ്", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "കുറച്ച് വ്യക്തമായ", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "ഇനിയും സംശയത്തിലാണ്", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "മുമ്പത്തെതിനെക്കാൾ കൂടുതൽ ആശങ്കിതനാണ്", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "ബഹുഭൂരിപക്ഷം മനുഷ്യർ രോഗനിർണ്ണയത്തിന് ശേഷം അല്ലെങ്കിൽ ലക്ഷണങ്ങൾ കാലക്രമേണ മാറുമ്പോൾ ബുദ്ധിമുട്ടുന്നു.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "പടി 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "നിങ്ങളുടെ ആശങ്കകൾ സാധാരണയായി എങ്ങനെ പരിഹരിക്കപ്പെടുന്നു എന്ന് നിങ്ങൾ എങ്ങനെ അനുഭവിക്കുന്നു?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "നിങ്ങളുടെ വ്യക്തിഗത അനുഭവങ്ങളെ അടിസ്ഥാനമാക്കി", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "നന്നായി", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "ശരാശരി നല്ലത്", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ശരിയായില്ല", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "ഇത് വളരെ വ്യത്യാസമാണ്", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "പടി 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ഡോക്ടറെ കാണുന്നതിന് മുമ്പ്, നിങ്ങൾ സാധാരണയായി ലക്ഷണങ്ങളെ സ്വയം മനസ്സിലാക്കാൻ ശ്രമിക്കുന്നുണ്ടോ?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "അതെ, ഞാൻ ഗവേഷണം നടത്തുകയും കാര്യങ്ങൾ നിരീക്ഷിക്കുകയും ചെയ്യുന്നു", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "എപ്പോഴും", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "അവസരമായി", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "ഇല്ല, ഞാൻ മുഴുവനും പ്രൊഫഷണലുകളെ ആശ്രയിക്കുന്നു", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "ആരോഗ്യ ചോദ്യങ്ങൾ ഓഫീസ് മണിക്കൂറുകൾ പിന്തുടരുന്നില്ല.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 24/7 ലഭ്യമാണ്.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "സൂക്ഷ്മതയ്ക്ക് അടുത്ത നിയമനത്തിനായി കാത്തിരിക്കേണ്ടതില്ല.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "നിങ്ങളുടെ ആരോഗ്യ ലക്ഷണങ്ങളെക്കുറിച്ച് ഞങ്ങൾ പരിശോധിക്കണമോ?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "എ.ഐ. നിങ്ങളുടെ ലക്ഷണങ്ങളെ നിരീക്ഷിച്ച്, ശ്രദ്ധ ആവശ്യമായ എന്തെങ്കിലും ഉണ്ടെങ്കിൽ നിങ്ങളെ അറിയിക്കാം", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "അതെ — എന്റെ ആരോഗ്യത്തെ ശ്രദ്ധിക്കുക", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "അതെ — എന്തെങ്കിലും പ്രധാനമായ മാറ്റങ്ങൾ ഉണ്ടാകുമ്പോൾ മാത്രം", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "ഇനിയും ഉറപ്പല്ല", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "നിങ്ങൾ ഡോക്ടറിൽ നിന്ന് ഡോക്ടറിനയെക്കുറിച്ച് കേട്ടോ?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "അതെ", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "ഇല്ല", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "നിങ്ങളുടെ ഫലങ്ങൾ വിശകലനം ചെയ്യുന്നു", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "നിങ്ങളുടെ അനുഭവം വ്യക്തിഗതമാക്കുന്നു", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "അപരിമിത അനുഭവം Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "നിങ്ങളുടെ അടുത്തുള്ള സഹായി", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "ശരിക്കും ഉറപ്പില്ലേ? സൗജന്യ പരീക്ഷണം സജീവമാക്കുക.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "വാർഷികം", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "മാസിക", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "ആഴ്ചയിൽ", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "ദിവസം", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (മാത്രം $3.34/ആഴ്ച)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "സേവ് 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "തുടരുക", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "മുക്ത പരീക്ഷണം ആരംഭിക്കുക", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "സബ്സ്ക്രിപ്ഷൻ സ്വയം പുതുക്കപ്പെടുന്നു. എപ്പോഴും റദ്ദാക്കാം", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "സേവനത്തിന്റെ നിബന്ധനകൾ | സ്വകാര്യതാ നയം", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "ആഴ്ച", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "നിങ്ങളുടെ ഫലങ്ങൾ വിശകലനം ചെയ്യുന്നു", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ഓൺബോർഡിംഗ് അടയ്ക്കുക", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "പുതുക്കിയ വാങ്ങലുകൾ", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "പുനഃസ്ഥാപിക്കുക", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "പുനഃസ്ഥാപിക്കാൻ സജീവമായ സബ്സ്ക്രിപ്ഷൻ കണ്ടെത്തിയില്ല.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "വാങ്ങലുകൾ പുനഃസ്ഥാപിക്കാൻ പരാജയപ്പെട്ടു. ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "വാങ്ങൽ പൂർത്തിയാക്കാൻ പരാജയപ്പെട്ടു. ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "ഇന്ന്: തത്സമയം പ്രവേശനം നേടുക", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "പൂർണ്ണ ആക്സസ് തുറക്കുക, എപ്പോഴും AI ആരോഗ്യ ഉത്തരങ്ങൾ നേടുക.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "ദിവസം 2: ട്രയൽ ഓർമ്മപ്പെടുത്തൽ", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "നിങ്ങളുടെ ട്രയൽ അവസാനിക്കാനിരിക്കുന്നതായി ഞങ്ങൾ നിങ്ങളെ ഓർമ്മിപ്പിക്കും", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "ദിവസം 3: പുതുക്കൽ", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "{date} ന് നിങ്ങൾക്ക് ചാർജ് ചെയ്യപ്പെടും, എപ്പോഴും റദ്ദാക്കാം.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "എന്താണ് ഉൾപ്പെടുന്നത്", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "സ്വകാര്യവും സുരക്ഷിതവും", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "എ.ഐ. സഹായി, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "തത്സമയം ആരോഗ്യ ഉത്തരങ്ങൾ", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "സ്പഷ്ടമായ, ശാസ്ത്രം അടിസ്ഥാനമാക്കിയുള്ള അറിവുകൾ", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "ഓട്ടോ സംഭാഷണ സംഗ്രഹങ്ങൾ", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "ഏത് ഭാഷ, എപ്പോഴും", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "ആഴ്ചയ്ക്ക്", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "ഒരിക്കൽ മാത്രം ഓഫർ", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ഓഫർ", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ശാശ്വതമായി", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "നിങ്ങൾ നിങ്ങളുടെ ഒരു തവണത്തെ ഓഫർ അടച്ചാൽ, അത് പോയി!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/മാസം", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "എപ്പോഴും ഏറ്റവും കുറഞ്ഞ വില", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "എപ്പോഴും റദ്ദാക്കാം", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "നിങ്ങളുടെ ഓഫർ ക്ലെയിം ചെയ്യുക", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "ഓട്ടോ-നവീകരണ സബ്സ്ക്രിപ്ഷൻ", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "പ്രത്യേക സമ്മാനം ഉള്ളത്", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "ഒരു ടാപ്പിൽ നിങ്ങളുടെ പ്രത്യേക ഓഫർ വെളിപ്പെടുത്തുക", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "ഇപ്പോൾ തുറക്കുക", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "സബ്സ്ക്രിപ്ഷൻ ഓപ്ഷനുകൾ ലോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു. ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "സബ്സ്ക്രിപ്ഷൻ വിലകൾ ലോഡ് ചെയ്യാൻ കഴിയുന്നില്ല", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "നിങ്ങളുടെ കണക്ഷൻ പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "മറുപടി നൽകുക", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_mr.arb b/example/lib/src/l10n/onboarding/app_mr.arb new file mode 100644 index 0000000..d9380ce --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_mr.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "mr", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "उन्नत AI आरोग्य सहाय्यक", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Doctorina मध्ये आपले स्वागत आहे!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "अनुभवी चिकित्सकांप्रमाणे लक्षणांचे विश्लेषण करण्यासाठी डिझाइन केलेले - पॅटर्न, वेळ आणि संदर्भ समजून घेऊन.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "सुरू करा", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "तुमच्याकडे आधीच खाते आहे का? लॉग इन करा", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "सुरू ठेवण्यासाठी, तुम्ही आमच्या\nसेवा अटी | गोपनीयता धोरण शी सहमत आहात", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "चला Doctorina तुमच्यासाठी वैयक्तिकृत करूया", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "वैयक्तिकरण", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "तुम्ही आज इथे का आला आहात?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "मी सध्या लक्षणांचा अनुभव घेत आहे", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "मी आरोग्य बदल समजून घेऊ इच्छितो", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "मी काही गंभीर गोष्ट वगळू इच्छितो", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "मी माझ्या आरोग्याचे सक्रियपणे निरीक्षण करत आहे", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "सुरू ठेवा", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "तुमच्या आरोग्यात काहीतरी बदलल्यावर, काय महत्त्वाचे आहे हे जाणून घेणे सर्वात कठीण आहे", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina लक्षणांच्या पॅटर्न आणि वेळेवर लक्ष केंद्रित करते — तीच संकेतं जी डॉक्टर सुरुवातीला शोधतात.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "तुमचा लिंग निवडा", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "यामुळे आम्हाला लक्षणांचे विश्लेषण करण्यात आणि अधिक अचूक शिफारसी देण्यात मदत होते.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "पुरुष", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "महिला", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "काहीही सांगायचं नाही", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "तुमचा वय काय आहे?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "वयामुळे आम्हाला आरोग्याच्या पॅटर्नचे अधिक अचूक मूल्यांकन करण्यात मदत होते.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48,000+ लोकांनी\nDoctorina निवडले आहे", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*डॉक्टरिना वापरकर्त्यांच्या आधारावर सांख्यिकीवर आधारित", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "डॉक्टरांनी विकसित केले\nडॉक्टर", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "चरण 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "तुमची सध्याची आरोग्य स्थिती कशी आहे?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "मी सामान्यतः निरोगी आहे", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "माझ्या काही चालू लहान चिंता आहेत", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "मी एक ज्ञात स्थिती व्यवस्थापित करत आहे", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "मी काहीतरी अनिर्णीत परिस्थितीत आहे", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "पायरी 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "तुम्ही सामान्यतः डॉक्टरकडे किती वेळा जाता?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "नियमितपणे (तपासणी / फॉलो-अप)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "कधी कधी, जेव्हा काहीतरी चुकीचे आहे", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "कधी कधी, फक्त आवश्यक असल्यास", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "डॉक्टरांकडे जाणे टाळा", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "मी कधीही डॉक्टरकडे गेलो नाही", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "पायरी 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "आत्तापर्यंत आरोग्यसेवेसोबतचा तुमचा सर्वात मोठा आव्हान काय आहे?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "तुम्हाला जितके हवे तितके निवडा", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "नियुक्त्यांसाठी लांब प्रतीक्षा वेळा", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "भेटी तात्काळ वाटतात", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "उच्च किंमत किंवा अस्पष्ट किंमत", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "सर्व काही स्पष्टपणे समजावणे कठीण आहे", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "विरोधाभासी मत किंवा सल्ला", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "कोणतीही मोठी समस्या नाही", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "पायरी 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "नियुक्तीनंतर, तुम्हाला सांगितलेल्या गोष्टींबद्दल तुम्हाला किती आत्मविश्वास आहे?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "योग्य किंवा चुकीची उत्तरं नाहीत.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "काय चालले आहे याबद्दल खूप स्पष्ट आहे", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "काहीसे स्पष्ट", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "अद्याप निश्चित नाही", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "आधीपेक्षा अधिक गोंधळलेले", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "अनेक लोकांना निदानानंतर नाही तर लक्षणे बदलत असताना संघर्ष करावा लागतो.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "पायरी 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "तुमच्या चिंतांना सामान्यतः किती चांगले हाताळले जाते असे तुम्हाला वाटते?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "तुमच्या व्यक्तिनिष्ठ भावना आधारित", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "खूप चांगले", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "चांगलेच", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "खूप चांगले नाही", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "खूप वेगवेगळे आहे", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "पायरी 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "डॉक्टरकडे जाण्यापूर्वी, तुम्ही सहसा लक्षणे स्वतः समजून घेण्याचा प्रयत्न करता का?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "होय, मी संशोधन करतो आणि गोष्टींचा मागोवा घेतो", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "कधी कधी", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "कधीकधी", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "नाही, मी पूर्णपणे व्यावसायिकांवर अवलंबून आहे", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "आरोग्य प्रश्न कार्यालयाच्या वेळा अनुसरण करत नाहीत.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 24/7 उपलब्ध आहे.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "स्पष्टतेसाठी पुढील अपॉइंटमेंटची वाट पाहावी लागणार नाही.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "तुम्हाला आमच्या आरोग्य लक्षणांची तपासणी करायची आहे का?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI तुमच्या लक्षणांचे निरीक्षण करू शकते आणि जर काही लक्ष देण्याची आवश्यकता असेल तर तुम्हाला सूचित करू शकते", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "होय — माझ्या आरोग्यावर लक्ष ठेवा", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "होय — फक्त काही महत्त्वाचे बदलल्यास", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "अजून निश्चित नाही", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "तुम्हाला डॉक्टराकडून Doctorina बद्दल माहिती आहे का?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "होय", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "नाही", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "तुमच्या परिणामांचे विश्लेषण करणे", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "तुमचा अनुभव वैयक्तिकृत करणे", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro सह अमर्यादित अनुभव", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "तुमच्या जवळ असलेला तुमचा सहाय्यक", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "अद्याप निश्चित नाही का? मोफत चाचणी सक्षम करा.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "वार्षिक", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "मासिक", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "आठवडा", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "दैनिक", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39.99 डॉलर (फक्त 3.34 डॉलर/सप्ताह)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "₹३.९९", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58% बचत", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "सुरू ठेवा", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "मोफत चाचणी सुरू करा", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "सदस्यता स्वयंचलितपणे नूतनीकरण होते. कधीही रद्द करा", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "सेवा अटी | गोपनीयता धोरण", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "आठवडा", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "तुमच्या परिणामांचे विश्लेषण करत आहे", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ऑनबोर्डिंग बंद करा", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "खरेदी पुनर्संचयित करा", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "पुनर्स्थित करा", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "पुनर्स्थित करण्यासाठी सक्रिय सदस्यता सापडली नाही.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "खरेदी पुनर्स्थित करण्यात अयशस्वी. कृपया नंतर पुन्हा प्रयत्न करा.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "खरेदी पूर्ण करण्यात अयशस्वी. कृपया नंतर पुन्हा प्रयत्न करा.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "आज: तात्काळ प्रवेश मिळवा", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "पूर्ण प्रवेश अनलॉक करा, कधीही AI आरोग्य उत्तर मिळवा.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "दिवस 2: ट्रायलची आठवण", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "आपल्या चाचणीची समाप्ती होणार आहे याची आम्ही आपल्याला आठवण करून देऊ", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "दिवस 3: नूतनीकरण", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "आपल्याला {date} रोजी शुल्क आकारले जाईल, कधीही रद्द करा.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "काय समाविष्ट आहे", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "खाजगी आणि सुरक्षित", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI सहाय्यक, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "तत्काळ आरोग्याचे उत्तर", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "स्पष्ट, विज्ञानावर आधारित अंतर्दृष्टी", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "स्वयंचलित संवाद सारांश", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "कोणतीही भाषा, कधीही", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "प्रति आठवडा", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "एकदाचाच ऑफर", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% सूट", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "सदैव", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "एकदा तुम्ही तुमचे एकदाचचे ऑफर बंद केले की, ते गायब होईल!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/महिना", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "कधीही सर्वात कमी किंमत", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "कधीही रद्द करा", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "तुमचा ऑफर मिळवा", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "स्वयंचलित नूतनीकरण सदस्यता", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "विशेष भेट", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "एक टॅप करून तुमचा खास ऑफर उघडा", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "आता उघडा", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "सदस्यता पर्याय लोड करण्यात अयशस्वी. कृपया नंतर पुन्हा प्रयत्न करा.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "सदस्यता किंमती लोड करू शकत नाही", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "आपला कनेक्शन तपासा आणि पुन्हा प्रयत्न करा.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "पुन्हा प्रयत्न करा", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ms.arb b/example/lib/src/l10n/onboarding/app_ms.arb new file mode 100644 index 0000000..5564e81 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ms.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ms", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "PENOLONG KESIHATAN AI MAJU", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Selamat datang ke Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Direka untuk menganalisis gejala seperti yang dilakukan oleh klinik berpengalaman — dengan memahami corak, masa, dan konteks.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Mulakan", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Sudah mempunyai akaun? Log Masuk", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Dengan meneruskan, anda bersetuju dengan\nTerma Perkhidmatan | Dasar Privasi", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Mari kita peribadikan Doctorina untuk anda", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALISASI", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Apa yang membawa anda ke sini hari ini?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Saya mengalami gejala sekarang", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Saya ingin memahami perubahan kesihatan", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Saya ingin menolak sesuatu yang serius", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Saya memantau kesihatan saya secara proaktif", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Teruskan", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Apabila sesuatu berubah dalam kesihatan anda, mengetahui apa yang penting adalah yang paling sukar.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina memberi tumpuan kepada corak simptom dan masa — isyarat yang sama yang dicari oleh klinik pada awalnya.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Pilih jantina anda", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Ini membantu kami mentafsirkan gejala dan memberikan cadangan dengan lebih tepat.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Lelaki", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Perempuan", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Tidak mahu menyatakan", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Apakah umur anda?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Umur membantu kami menilai corak kesihatan dengan lebih tepat", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Lebih daripada 48k+ orang\nhave chosen Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Berdasarkan statistik pengguna Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Dikembangkan oleh\nDoktor", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "LANGKAH 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Bagaimana anda menggambarkan situasi kesihatan anda sekarang?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Saya secara amnya merasa sihat", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Saya mempunyai kebimbangan kecil yang berterusan", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Saya menguruskan keadaan yang diketahui", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Saya menghadapi sesuatu yang belum selesai", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "LANGKAH 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Berapa kerap anda biasanya berjumpa doktor?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Secara berkala (pemeriksaan / susulan)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Kadang-kadang, apabila ada yang tidak kena", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Jarang, hanya jika perlu", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Elakkan melawat doktor", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Saya tidak pernah melawat doktor", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "LANGKAH 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Apa cabaran terbesar anda dengan penjagaan kesihatan setakat ini?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Pilih sebanyak yang anda suka", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Waktu menunggu yang lama untuk janji temu", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Lawatan terasa tergesa-gesa", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Kos tinggi atau harga tidak jelas", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Sukar untuk menerangkan semuanya dengan jelas", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Pendapat atau nasihat yang bertentangan", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Tiada isu besar", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "STEP 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Selepas janji temu, sejauh mana anda yakin tentang apa yang diberitahu kepada anda?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Tiada jawapan yang betul atau salah.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Sangat jelas tentang apa yang berlaku", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Agak jelas", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Masih tidak pasti", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Lebih keliru daripada sebelum ini", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Ramai orang menghadapi kesukaran bukan selepas diagnosis tetapi apabila gejala berubah dari semasa ke semasa.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "LANGKAH 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Sejauh mana anda merasakan kebimbangan anda biasanya ditangani?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Berdasarkan perasaan subjektif anda", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Sangat baik", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Agak baik", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Tidak begitu baik", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Ia sangat berbeza", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "STEP 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Sebelum berjumpa doktor, adakah anda biasanya cuba memahami simptom sendiri?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Ya, saya melakukan penyelidikan dan menjejaki perkara", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Kadang-kadang", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Jarang", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Tidak, saya bergantung sepenuhnya kepada profesional", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Soalan kesihatan tidak mengikuti waktu pejabat.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina tersedia 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Kejelasan tidak seharusnya menunggu janji temu seterusnya", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Adakah anda mahu kami memeriksa simptom kesihatan anda?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI boleh memantau simptom anda dan memberi amaran jika ada yang mungkin memerlukan perhatian", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Ya — pantau kesihatan saya", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Ya — hanya jika ada perubahan penting", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Belum pasti", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Adakah anda mendengar tentang Doctorina dari seorang doktor?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Ya", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Tidak", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "MENGANALISIS HASIL ANDA", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalisasi pengalaman anda", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Pengalaman tanpa had dengan Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "PEMBANTU ANDA YANG SENTIASA DEKAT", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Tidak pasti lagi? Aktifkan percubaan percuma.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Tahun", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Bulanan", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Mingguan", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Harian", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "RM39.99 (hanya RM3.34/minggu)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "JIMAT 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Terus", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Mula Percubaan Percuma", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Langganan boleh diperbaharui secara automatik. Batalkan bila-bila masa", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Terma Perkhidmatan | Dasar Privasi", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "minggu", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Menganalisis keputusan anda", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Tutup onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Pulihkan Pembelian", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Pulihkan", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Tiada langganan aktif yang ditemui untuk dipulihkan.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Gagal untuk memulihkan pembelian. Sila cuba lagi nanti.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Gagal menyelesaikan pembelian. Sila cuba lagi nanti.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Hari ini: Dapatkan akses segera", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Buka akses penuh, dapatkan jawapan kesihatan AI, bila-bila masa.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Hari 2: Peringatan percubaan", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Kami akan menghantar peringatan bahawa percubaan anda akan berakhir", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Hari 3: Pembaharuan", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Anda akan dikenakan bayaran pada {date}, batalkan bila-bila masa sebelum itu.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "APA YANG TERMASUK", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Peribadi dan selamat", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Pembantu AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Jawapan kesihatan segera", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Wawasan yang jelas dan berasaskan sains", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Ringkasan perbualan automatik", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Apa-apa bahasa, bila-bila masa", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "per minggu", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Tawaran sekali", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% DISKAUN", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "SEUMUR", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Setelah anda menutup tawaran sekali, ia hilang!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/bln", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "HARGA TERENDAH PERNAH", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Batal bila-bila masa", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Tuntut tawaran anda", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Langganan yang diperbaharui secara automatik", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Hadiah istimewa di dalam", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Satu ketukan untuk mendedahkan tawaran istimewa anda", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Buka sekarang", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Gagal memuat pilihan langganan. Sila cuba lagi nanti.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Tidak dapat memuat harga langganan", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Semak sambungan anda dan cuba lagi", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Cuba lagi", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_my.arb b/example/lib/src/l10n/onboarding/app_my.arb new file mode 100644 index 0000000..e561f38 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_my.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "my", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "တိုးတက်သော AI ကျန်းမာရေး အကူအညီ", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ကြိုဆိုပါတယ်", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "လက္ခဏာများကို အတွေ့အကြုံရှိသော ဆရာဝန်များကဲ့သို့ အနုပညာဆန်စွာ ချိန်ဆနှုန်း၊ အချိန်နှင့် အကြောင်းအရာကို နားလည်ခြင်းဖြင့် ချိန်ဆနှုန်းရန် ဒီဇိုင်းလုပ်ထားသည်။", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "စတင်ပါ", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "အကောင့်ရှိပါသလား? လော့ဂ်အင်ဝင်ပါ", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "ဆက်လက်လုပ်ဆောင်ခြင်းဖြင့် သင်သည် ကျွန်ုပ်တို့၏\nဝန်ဆောင်မှု၏ စည်းမျဉ်းများ | ပုဂ္ဂိုလ်ရေးမူဝါဒ ကို သဘောတူသည်", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Doctorina ကို သင့်အတွက် ကိုယ်ပိုင်ပြုလုပ်ကြမယ်", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ပုဂ္ဂိုလ်ရေး", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "သင်ဒီနေ့ဒီမှာဘာကြောင့်ရောက်လာပါသလဲ?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "ကျွန်ုပ်သည် လက္ခဏာများကို ယခုအခါ တွေ့ရှိနေပါသည်", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "ကျန်းမာရေးပြောင်းလဲမှုကိုနားလည်ချင်ပါတယ်", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "ငါ့ကို အရေးကြီးသော အရာတစ်ခုကို ဖယ်ရှားချင်ပါတယ်", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "ကျွန်ုပ်သည် ကျန်းမာရေးကို ကြိုတင်စောင့်ကြည့်နေပါသည်", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "ဆက်လက်ပါ", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "ကျန်းမာရေးမှာ အရာတွေ ပြောင်းလဲတဲ့အခါ၊ အရေးကြီးတာကို သိရတာ အခက်အခဲဆုံးပါ။", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina သည် ရောဂါလက္ခဏာများနှင့် အချိန်ကို ဦးစားပေးသည် — ဆရာဝန်များသည် မူလအဆင့်တွင် ရှာဖွေသော အထောက်အထားများနှင့် တူသည်။", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "သင်၏လိင်ကိုရွေးချယ်ပါ", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "ဤသည်သည် ကျွန်ုပ်တို့အား ရောဂါလက္ခဏာများကို အနက်အဓိပ္ပာယ်ဖွင့်ဆိုရန်နှင့် အကြံပြုချက်များကို ပိုမိုတိကျစွာ ပေးရန် ကူညီသည်။", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "အမျိုးသား", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "မိန်းကလေး", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "ပြောလိုမနေပါ", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "သင်၏အသက်ကဘာလဲ?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "အသက်သည် ကျန်းမာရေးပုံစံများကို ပိုမိုမှန်ကန်စွာ အကဲဖြတ်ရန် ကူညီသည်။", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ လူများ\nဒေါက်တာရိုင်းနာကို ရွေးချယ်ခဲ့သည်", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Doctorina အသုံးပြုသူအခြေခံအချက်အလက်များအပေါ်အခြေခံသည်", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "ဆရာဝန်များက ဖွံ့ဖြိုးတိုးတက်စေသည်", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "အဆင့် 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "လက်ရှိ ကျန်းမာရေးအခြေအနေကို ဘယ်လိုဖော်ပြမလဲ။", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "ကျွန်တော်/ကျွန်မ ယေဘုယျအားဖြင့် ကျန်းမာတယ်လို့ ခံစားရပါတယ်", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "ကျွန်တော်/ကျွန်မမှာ အသေးအဖွဲ စိုးရိမ်ပူပန်မှုတွေ ဆက်တိုက်ရှိနေပါတယ်", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "ကျွန်တော်/ကျွန်မ သိထားတဲ့ အခြေအနေကို စီမံခန့်ခွဲနေပါတယ်", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "ကျွန်တော်/ကျွန်မ ဖြေရှင်းမရတဲ့ အရာတစ်ခုကို ရင်ဆိုင်နေရတယ်", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "အဆင့် ၂/၆", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "ဆရာဝန်နဲ့ ဘယ်လောက်မကြာခဏ ပြသလေ့ရှိပါသလဲ။", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "ပုံမှန် (စစ်ဆေးမှုများ/နောက်ဆက်တွဲစစ်ဆေးမှုများ)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "တစ်ခါတစ်ရံ တစ်ခုခု မှားယွင်းသွားတဲ့အခါ", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "ရှားရှားပါးပါးပဲ၊ လိုအပ်မှသာ", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "ဆရာဝန်တွေကို မသွားချင်ပါ", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "ကျွန်တော် ဆရာဝန်နဲ့ တစ်ခါမှ မပြဖူးဘူး", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "အဆင့် ၃/၆", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "ကျန်းမာရေးစောင့်ရှောက်မှုနဲ့ ပတ်သက်ပြီး ခင်ဗျားရဲ့ အကြီးမားဆုံးစိန်ခေါ်မှုက ဘာလဲ။", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "သင်ကြိုက်သလောက်များများရွေးချယ်ပါ", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "ချိန်းဆိုမှုများအတွက် ကြာမြင့်စွာစောင့်ဆိုင်းရချိန်များ", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "လာရောက်လည်ပတ်မှုများသည် အလျင်စလိုခံစားရသည်", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "ကုန်ကျစရိတ်မြင့်မားခြင်း သို့မဟုတ် ဈေးနှုန်းမရှင်းလင်းခြင်း", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "အရာအားလုံးကို ရှင်းရှင်းလင်းလင်း ရှင်းပြဖို့ ခက်ပါတယ်", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "ကွဲလွဲနေသော ထင်မြင်ချက်များ သို့မဟုတ် အကြံဉာဏ်များ", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "ကြီးကြီးမားမားပြဿနာများမရှိပါ", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "အဆင့် ၄/၆", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "ချိန်းဆိုမှုတွေပြီးနောက်မှာ ပြောခဲ့တာတွေအပေါ် ဘယ်လောက်ယုံကြည်မှုရှိလဲ။", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "မှန်သော သို့မဟုတ် မှားသော အဖြေ မရှိပါ။", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "ဘာတွေဖြစ်နေလဲဆိုတာကို အရမ်းရှင်းရှင်းလင်းလင်းသိပါတယ်", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "အနည်းငယ်ရှင်းလင်းသည်", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "မသေချာသေးပါ", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "အရင်ကထက် ပိုရှုပ်ထွေးလာတယ်", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Ramai orang berjuang bukan selepas diagnosis tetapi apabila gejala berubah dari semasa ke semasa.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "အဆင့် ၅/၆", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "သင့်ရဲ့စိုးရိမ်မှုတွေကို ပုံမှန်အားဖြင့် ဖြေရှင်းပေးလေ့ရှိတယ်လို့ ဘယ်လောက်ကောင်းကောင်း ခံစားရပါသလဲ။", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "ကိုယ့်ရဲ့ ခံစားချက်တွေကို အခြေခံပြီး", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "ကောင်းစွာ", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "အတော်လေး ကောင်းပါတယ်", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "သိပ်မကောင်းပါဘူး", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "အများကြီးကွဲပြားပါတယ်", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "အဆင့် ၆/၆", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ဆရာဝန်နဲ့ မပြခင်မှာ ရောဂါလက္ခဏာတွေကို ကိုယ်တိုင် နားလည်အောင် ကြိုးစားလေ့ရှိလား။", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "ဟုတ်ကဲ့၊ ကျွန်တော် သုတေသနလုပ်ပြီး ခြေရာခံပါတယ်", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "တစ်ခါတစ်ရံ", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "ရှားရှားပါးပါး", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "မဟုတ်ပါ၊ ကျွန်ုပ်သည် ကျွမ်းကျင်ပညာရှင်များကို အပြည့်အဝ အားကိုးပါသည်", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "ကျန်းမာရေးမေးခွန်းများကို ရုံးချိန်နှင့် မကိုက်ညီပါ ။", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina ကို ၂၄/၇ ရရှိနိုင်ပါသည်။", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "ရှင်းလင်းမှုအတွက် နောက်ထပ်ချိန်းဆိုမှုကို စောင့်စရာမလိုပါဘူး။", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "သင့်ကျန်းမာရေးလက္ခဏာများကို စစ်ဆေးဖို့ ကျွန်ုပ်တို့ကို ခွင့်ပြုပါသလား?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI သည် သင်၏ လက္ခဏာများကို စောင့်ကြည့်နိုင်ပြီး အထူးဂရုစိုက်ရန် လိုအပ်ပါက သင်အား သတိပေးနိုင်သည်", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "ဟုတ်ပါတယ် — ကျွန်ုပ်၏ကျန်းမာရေးကိုကြည့်ပါ", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "ဟုတ်ပါတယ် — အရေးကြီးသောအရာများပြောင်းလဲပါကသာ", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "အခုတော့ မသေချာပါ", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "ဆရာဝန်တစ်ယောက်ဆီက Doctorina အကြောင်း ကြားသိခဲ့ရလား။", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "ဟုတ်ကဲ့", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "မဟုတ်ပါ", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "သင့်ရလဒ်များကို ခွဲခြမ်းစိတ်ဖြာခြင်း", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "သင့်အတွေ့အကြုံကို စိတ်ကြိုက်ပြင်ဆင်ခြင်း", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro နဲ့ အကန့်အသတ်မရှိ အတွေ့အကြုံရယူလိုက်ပါ", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "အမြဲတမ်း အနီးအနားမှာရှိနေတဲ့ သင့်ရဲ့ လက်ထောက်", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "မသေချာသေးဘူးလား။ အခမဲ့ အစမ်းသုံးခွင့်ကို ဖွင့်ပါ။", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "နှစ်စဉ်", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "လစဉ်", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "အပတ်စဉ်", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "နေ့စဉ်", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$၃၉.၉၉ (တစ်ပတ်လျှင် $၃.၃၄ သာ)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "၅၈% သက်သာလိုက်ပါ", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "ဆက်လုပ်ပါ", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "အခမဲ့ အစမ်းသုံးခြင်း စတင်ပါ", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "စာရင်းသွင်းမှုကို အလိုအလျောက် သက်တမ်းတိုးနိုင်ပါသည်။ အချိန်မရွေး ပယ်ဖျက်နိုင်ပါသည်", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "ဝန်ဆောင်မှုစည်းမျဉ်းများ | <ကိုယ်ရေးကိုယ်တာမူဝါဒ>ကိုယ်ရေးကိုယ်တာမူဝါဒ ", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "အပတ်", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "သင့်ရလဒ်များကို ခွဲခြမ်းစိတ်ဖြာခြင်း", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "မိတ်ဆက်ခြင်းကို ပိတ်ပါ", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "ဝယ်ယူမှုများကို ပြန်လည်ရယူပါ", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "ပြန်လည်ရယူပါ", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "ပြန်လည်ရယူရန် လက်ရှိစာရင်းသွင်းမှု မတွေ့ပါ။", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "ဝယ်ယူမှုများကို ပြန်လည်ရယူ၍မရပါ။ နောက်မှ ထပ်မံကြိုးစားပါ။", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "အရောင်းကိုပြီးစီးရန်မအောင်မြင်ပါ။ ကျေးဇူးပြု၍နောက်မှပြန်လည်ကြိုးစားပါ။", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "ယနေ့: ချက်ချင်းဝင်ရောက်ခွင့်ရယူပါ", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Unlock full access, get AI health answers, anytime.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "နေ့ ၂: စမ်းသပ်မှု အမှတ်တရ", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "သင်၏စမ်းသပ်မှုကုန်ဆုံးမည်ဖြစ်ကြောင်း ကျွန်ုပ်တို့ သင်အား သတိပေးပါမည်", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "နေ့ 3: ပြန်လည်သက်သေပြုခြင်း", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "{date} တွင် သင်အား ငွေပေးချေမည်၊ မည်သည့်အချိန်တွင်မဆို ရပ်ဆိုင်းနိုင်သည်။", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ဘာတွေပါဝင်သလဲ", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "ပုဂ္ဂိုလ်ရေးနှင့် လုံခြုံသော", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI အကူအညီ, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "အချိန်နှင့်တပြေးညီ ကျန်းမာရေးအဖြေများ", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "ရှင်းလင်းသော၊ သိပ္ပံအခြေခံ အကြောင်းအရာများ", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "အလိုအလျောက် စကားပြော အကျဉ်းချုပ်များ", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "ဘာသာစကားမဆို၊ အချိန်မရွေး", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "တစ်ပတ်လျှင်", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "တစ်ကြိမ်သာ အဆိုပါအကြောင်းအရာ", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% လျှော့ဈေး", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "အမြဲတမ်း", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "သင်၏တစ်ကြိမ်သာရရှိသောအကြံပြုချက်ကိုပိတ်လိုက်ရင်၊ ၎င်းသည်ပျောက်ကွယ်ပါသည်!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/လ", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "အမြင့်ဆုံးဈေးနှုန်း", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "မည်သည့်အချိန်တွင်မဆို ရပ်ဆိုင်းနိုင်သည်", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "သင့်အတွက် အဆိုပြုချက်ကို ရယူပါ", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "အလိုအလျောက်ပြန်လည်အသစ်ပြုလုပ်သောစာရင်း", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "အထူးလက်ဆောင်အတွင်း", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "တစ်ချက်နှိပ်ပြီး သင့်အထူးအကြွေးကို ဖျော်ဖြေရန်", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "ယခုဖွင့်ပါ", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "စာရင်းသွင်းမှုရွေးချယ်မှုများကိုဖွင့်ရန်မအောင်မြင်ပါ။ ကျေးဇူးပြု၍နောက်မှထပ်ကြိုးစားပါ။", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Couldn't load subscription prices", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "သင့်ချိတ်ဆက်မှုကိုစစ်ဆေးပြီးထပ်မံကြိုးစားပါ။", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "ထပ်မံကြိုးစားပါ", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ne.arb b/example/lib/src/l10n/onboarding/app_ne.arb new file mode 100644 index 0000000..7f9dfdf --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ne.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ne", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "उन्नत एआई स्वास्थ्य सहायक", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "डॉक्टरिनामा स्वागत छ!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "अनुभवी चिकित्सकले जस्तै लक्षणहरूको विश्लेषण गर्न डिजाइन गरिएको — ढाँचाहरू, समय, र सन्दर्भ बुझेर।", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "सुरु गर्नुहोस्", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "पहिले नै खाता छ? लगइन गर्नुहोस्", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "अगाडि बढ्नाले, तपाईं हाम्रो\nसेवाको सर्तहरू | गोपनीयता नीति मा सहमत हुनुहुन्छ।", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Doctorina लाई तपाईंको लागि व्यक्तिगत बनाउँछौं", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "व्यक्तिगतकरण", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "तपाईंलाई यहाँ के ल्याएको हो?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "म म अहिले लक्षण अनुभव गर्दैछु", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "म स्वास्थ्य परिवर्तन बुझ्न चाहन्छु", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "म मर्मत गर्न चाहन्छु कि केही गम्भीर छैन", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "म म मेरो स्वास्थ्यलाई सक्रिय रूपमा अनुगमन गर्दैछु", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "जारी राख्नुहोस्", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "जब तपाईंको स्वास्थ्यमा केही परिवर्तन हुन्छ, के महत्त्वपूर्ण छ थाहा पाउन सबैभन्दा गाह्रो हुन्छ।", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina लक्षणका ढाँचाहरू र समयको बारेमा ध्यान केन्द्रित गर्दछ — ती नै संकेतहरू जुन चिकित्सकहरूले प्रारम्भमा खोज्छन्।", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "तपाईंको लिङ्ग चयन गर्नुहोस्", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "यसले हामीलाई लक्षणहरू व्याख्या गर्न र सिफारिसहरूलाई अझ सटीक रूपमा दिन मद्दत गर्दछ।", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "पुरुष", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "महिला", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "भन्न चाहन्न", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "तपाईंको उमेर कति हो?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "उमेरले हामीलाई स्वास्थ्यको ढाँचाहरूलाई अझ सटीक रूपमा मूल्याङ्कन गर्न मद्दत गर्दछ", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ भन्दा बढी मानिसहरू\nhave chosen Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*डॉक्टोरिना प्रयोगकर्ता आधारको तथ्यांकमा आधारित", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "डॉक्टरद्वारा विकास गरिएको\nडॉक्टरहरू", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "चरण 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "तपाईंको वर्तमान स्वास्थ्य अवस्थालाई कसरी वर्णन गर्नुहुन्छ?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "म सामान्यतया स्वस्थ महसुस गर्छु", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "मसँग निरन्तर साना चासोहरू छन्", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "म एक ज्ञात अवस्थाको व्यवस्थापन गर्दैछु", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "म केही अनसुल्झिएको कुरासँग जुद्दैछु", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "चरण २/६", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "तपाईं सामान्यतया कति पटक डाक्टरलाई भेट्नुहुन्छ?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "नियमित रूपमा (जाँच / फलो-अप)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "कहिलेकाहीं, जब केही गलत हुन्छ", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "दुर्लभ, केवल आवश्यक भएमा", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "डॉक्टरको भ्रमण गर्नबाट टाढा रहनुहोस्", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "मैले कहिल्यै डाक्टरलाई भेटेको छैन", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "चरण ३/६", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "अबसम्म स्वास्थ्य सेवासँगको तपाईंको सबैभन्दा ठूलो चुनौती के हो?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "जति चाहनुहुन्छ त्यति चयन गर्नुहोस्", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "नियुक्तिहरूको लागि लामो पर्खाइको समय", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "भेटघाट चाँडो हुन्छ", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "उच्च लागत वा अस्पष्ट मूल्य निर्धारण", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "सब कुरा स्पष्ट रूपमा व्याख्या गर्न गाह्रो", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "विरोधाभासी राय वा सल्लाह", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "कुनै प्रमुख समस्या छैन", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "STEP 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "डॉक्टरको भेटपछि, तपाईंलाई भनिएको कुरामा कति विश्वस्त हुनुहुन्छ?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "सही वा गलत उत्तर छैन।", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "के बारेमा धेरै स्पष्ट", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "केही हदसम्म स्पष्ट", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "अझै निश्चित छैन", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "पहिलेभन्दा बढी अलमलमा", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "धेरै व्यक्तिहरूले निदान पछि होइन तर लक्षणहरू समयसँगै परिवर्तन हुँदा संघर्ष गर्छन्.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "चरण ५/६", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "तपाईंको चासोहरू सामान्यतया कत्तिको राम्रोसँग सम्बोधन गरिन्छ?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "तपाईंको व्यक्तिगतरूपमा अनुभव गरिएको भावनाहरूको आधारमा", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "धेरै राम्रो", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "ठीकै छ", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "धेरै राम्रो छैन", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "यो धेरै भिन्न छ", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "STEP 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "डॉक्टरसँग भेट्नुअघि, के तपाईं सामान्यतया लक्षणहरूलाई आफैं बुझ्न प्रयास गर्नुहुन्छ?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "हो, म अनुसन्धान गर्छु र कुरा ट्र्याक गर्छु", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "कहिलेकाहीं", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "दुर्लभ", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "होइन, म पूर्ण रूपमा पेशेवरहरूमा निर्भर छु", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "स्वास्थ्यका प्रश्नहरू कार्यालयको समय पछ्याउँदैनन्।", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina २४/७ उपलब्ध छ।", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "स्पष्टता अर्को भेटको लागि पर्खनु हुँदैन", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "के तपाईँलाई हाम्रो स्वास्थ्य लक्षणहरूको बारेमा जाँच गर्न दिनुहुन्छ?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI ले तपाईंका लक्षणहरू अनुगमन गर्न सक्छ र यदि केहि ध्यान दिनु पर्ने छ भने तपाईंलाई सचेत पार्न सक्छ", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "हो — मेरो स्वास्थ्यमा ध्यान दिनुहोस्", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "हो — केवल यदि केही महत्त्वपूर्ण परिवर्तन हुन्छ", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "अझै निश्चित छैन", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "के तपाईंले डोक्टरबाट डोक्टरिनाबारे सुन्नुभयो?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "हो", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "हुन्न", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "तपाईंको परिणामहरूको विश्लेषण गर्दै", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "तपाईंको अनुभवलाई व्यक्तिगत बनाउँदै", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "असीमित अनुभव Doctorina Pro सँग", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "तपाईंको सहायक जो सधैं नजिकै हुन्छ", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "अझै निश्चित हुनुहुन्न? निःशुल्क परीक्षण सक्षम गर्नुहोस्।", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "वार्षिक", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "महिनावारी", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "साप्ताहिक", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "दैनिक", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (केवल $3.34/सप्ताह)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "सुरक्षित गर्नुहोस् 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "जारी राख्नुहोस्", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "निःशुल्क परीक्षण सुरु गर्नुहोस्", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "सदस्यता स्वचालित रूपमा नवीकरणीय छ। कुनै पनि समयमा रद्द गर्नुहोस्", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "सेवाको शर्तहरू | गोपनीयता नीति", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "साता", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "तपाईंको परिणामहरूको विश्लेषण गर्दै", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "अनबोर्डिङ बन्द गर्नुहोस्", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "खरिद पुनर्स्थापित गर्नुहोस्", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "पुनर्स्थापना", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "पुनर्स्थापना गर्नको लागि कुनै सक्रिय सदस्यता फेला परेन।", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "खरिद पुनर्स्थापना गर्न असफल। कृपया पछि फेरि प्रयास गर्नुहोस्।", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "खरिद पूरा गर्न असफल भयो। कृपया पछि फेरि प्रयास गर्नुहोस्।", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "आज: तात्कालिक पहुँच प्राप्त गर्नुहोस्", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "पूर्ण पहुँच अनलक गर्नुहोस्, कुनै पनि समयमा AI स्वास्थ्य उत्तरहरू प्राप्त गर्नुहोस्।", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "दोस्रो दिन: परीक्षणको सम्झना", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "हामी तपाईंलाई सम्झना पठाउनेछौं कि तपाईंको परीक्षण समाप्त हुन लागेको छ", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "दिन ३: नवीकरण", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "तपाईंलाई {date} मा चार्ज गरिनेछ, कुनै पनि समयमा रद्द गर्न सक्नुहुन्छ।", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "के समावेश गरिएको छ", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "निजी र सुरक्षित", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "एआई सहायक, २४/७", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "तत्काल स्वास्थ्य उत्तर", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "स्पष्ट, विज्ञानमा आधारित जानकारी", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "स्वचालित संवाद संक्षेप", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "कुनै पनि भाषा, कुनै पनि समयमा", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "प्रति हप्ता", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "एक पटकको प्रस्ताव", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% छुट", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "FOREVER", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "एक पटकको प्रस्ताव बन्द गरेपछि, यो हराइन्छ!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/महिना", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "सर्वाधिक मूल्य", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "कुनै पनि समयमा रद्द गर्नुहोस्", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "तपाईंको अफर दाबी गर्नुहोस्", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "स्वचालित नवीकरण सदस्यता", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "विशेष उपहार भित्र", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "एक ट्यापमा तपाईंको विशेष प्रस्ताव प्रकट गर्नुहोस्", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "अहिले खोल्नुहोस्", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "सदस्यता विकल्पहरू लोड गर्न असफल। कृपया पछि फेरि प्रयास गर्नुहोस्।", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "सदस्यता मूल्यहरू लोड गर्न सकिएन", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "तपाईंको जडान जाँच गर्नुहोस् र पुनः प्रयास गर्नुहोस्।", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "फेरि प्रयास गर्नुहोस्", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_nl.arb b/example/lib/src/l10n/onboarding/app_nl.arb new file mode 100644 index 0000000..6438e4c --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_nl.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "nl", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "GEAVANCEERDE AI GEZONDHEIDSASSISTENT", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Welkom", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Ontworpen om symptomen te analyseren zoals ervaren clinici doen — door patronen, timing en context te begrijpen.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Aan de slag", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Al een account? Inloggen", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Door door te gaan, gaat u akkoord met onze\nAlgemene Voorwaarden | Privacybeleid", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Laten we Doctorina voor jou personaliseren", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALISATIE", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Wat brengt je hier vandaag?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Ik ervaar nu symptomen", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Ik wil een gezondheidsverandering begrijpen", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Ik wil iets ernstigs uitsluiten", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Ik monitor mijn gezondheid proactief", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Doorgaan", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Wanneer er iets verandert in uw gezondheid, is het moeilijkste om te weten wat belangrijk is.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina richt zich op symptoompatronen en timing — dezelfde signalen waar clinici in een vroeg stadium naar kijken.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Selecteer uw geslacht", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Dit helpt ons om symptomen beter te interpreteren en aanbevelingen nauwkeuriger te geven.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Man", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Vrouwelijk", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Liever niet zeggen", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Wat is uw leeftijd?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Leeftijd helpt ons om gezondheids patronen nauwkeuriger te evalueren", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Meer dan 48k+ mensen\nhave chosen Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Gebaseerd op statistieken van de Doctorina-gebruikersbasis", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Ontwikkeld door\nArtsen", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "STAP 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Hoe zou u uw huidige gezondheidssituatie beschrijven?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Ik voel me over het algemeen gezond", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Ik heb voortdurende kleine zorgen", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Ik beheer een bekende aandoening", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Ik heb te maken met iets onopgelost", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "STAP 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Hoe vaak zie je meestal een dokter?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regelmatig (controles / vervolgafspraken)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Af en toe, als er iets mis is", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Zelden, alleen als het nodig is", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Vermijd het bezoeken van artsen", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Ik heb nooit een dokter bezocht", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "STAP 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Wat is tot nu toe uw grootste uitdaging met de gezondheidszorg?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Kies zoveel als je wilt", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Lange wachttijden voor afspraken", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Bezoeken voelen gehaast", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Hoge kosten of onduidelijke prijzen", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Het is moeilijk om alles duidelijk uit te leggen", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Tegenstrijdige meningen of adviezen", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Geen grote problemen", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "STAP 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Na afspraken, hoe zeker voel je je over wat je is verteld?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Er is geen goed of fout antwoord.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Zeer duidelijk over wat er aan de hand is", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Enigszins duidelijk", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Nog steeds onzeker", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Meer verward dan voorheen", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Veel mensen hebben moeite niet na de diagnose maar wanneer symptomen in de loop van de tijd veranderen.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "STAP 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Hoe goed voelt u dat uw zorgen meestal worden aangepakt?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Gebaseerd op uw subjectieve gevoelens", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Zeer goed", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Redelijk goed", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Niet zo goed", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Het varieert sterk", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "STAP 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Probeer je meestal zelf de symptomen te begrijpen voordat je een dokter ziet?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Ja, ik onderzoek en volg dingen", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Soms", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Zelden", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Nee, ik vertrouw volledig op professionals", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Gezondheidsvragen volgen geen kantooruren.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina is 24/7 beschikbaar.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Duidelijkheid hoeft niet te wachten op de volgende afspraak.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Wilt u dat wij uw gezondheidsklachten in de gaten houden?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI kan uw symptomen volgen en u waarschuwen als er iets aandacht nodig heeft", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Ja — houd mijn gezondheid in de gaten", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Ja — alleen als er iets belangrijks verandert", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Nog niet zeker", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Heeft u over Doctorina van een dokter gehoord?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Ja", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Nee", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "UW RESULTATEN ANALYSEREN", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Uw ervaring personaliseren", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Onbeperkte ervaring met Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "JOUW ASSISTENT DIE ALTID IN DE BUURT IS", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Nog niet zeker? Activeer gratis proefperiode.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Jaarlijks", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Maandelijks", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Wekelijks", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Dagelijks", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (slechts $3.34/week)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "BESPAAR 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Doorgaan", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Start gratis proefperiode", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Abonnement is automatisch verlengbaar. Annuleer op elk moment", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Servicevoorwaarden | Privacybeleid", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "week", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Uw resultaten analyseren", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Onboarding sluiten", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Aankopen herstellen", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Herstellen", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Geen actieve abonnement gevonden om te herstellen.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Het is niet gelukt om aankopen te herstellen. Probeer het later opnieuw.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Aankoop kon niet worden voltooid. Probeer het later opnieuw.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Vandaag: Krijg directe toegang", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Ontgrendel volledige toegang, krijg AI-gezondheidsantwoorden, altijd.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Dag 2: Herinnering aan de proefperiode", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "We sturen je een herinnering dat je proefperiode bijna eindigt", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Dag 3: Vernieuwing", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Je wordt op {date} in rekening gebracht, annuleer op elk moment daarvoor.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "WAT IS INBEGREPEN", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privé en veilig", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI-assistent, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Directe gezondheidsantwoorden", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Duidelijke, op wetenschap gebaseerde inzichten", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Automatische gespreksresumés", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Elke taal, op elk moment", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "per week", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Eenmalig aanbod", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% KORTING", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "VOOR ALTIJD", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Zodra je je eenmalige aanbieding sluit, is deze weg!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/maand", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "LAAGSTE PRIJS OOIT", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Altijd annuleren", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Claim je aanbod", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Automatisch verlengende abonnement", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Speciale gift binnenin", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Een tik om je speciale aanbieding te onthullen", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Nu openen", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Het laden van abonnementsopties is mislukt. Probeer het later opnieuw.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Kon de abonnementsprijzen niet laden", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Controleer uw verbinding en probeer het opnieuw", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Probeer het opnieuw", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_pa.arb b/example/lib/src/l10n/onboarding/app_pa.arb new file mode 100644 index 0000000..08e1420 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_pa.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "pa", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ADVANCED AI HEALTH ASSISTANT", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ਡਾਕਟਰਿਨਾ ਵਿੱਚ ਸੁਆਗਤ ਹੈ", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "ਅਨੁਭਵੀ ਡਾਕਟਰਾਂ ਵਾਂਗ ਲੱਛਣਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਹੈ - ਪੈਟਰਨ, ਸਮਾਂ ਅਤੇ ਸੰਦਰਭ ਨੂੰ ਸਮਝ ਕੇ.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "ਸ਼ੁਰੂ ਕਰੋ", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਖਾਤਾ ਹੈ? ਲੌਗ ਇਨ", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "ਜਾਰੀ ਰੱਖਣ ਨਾਲ, ਤੁਸੀਂ ਸਾਡੇ ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ | ਗੋਪਨੀਯਤਾ ਨੀਤੀ ਨਾਲ ਸਹਿਮਤ ਹੋ ਜਾਂਦੇ ਹੋ", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "ਆਓ ਡਾਕਟਰੀਨਾ ਨੂੰ ਤੁਹਾਡੇ ਲਈ ਵਿਅਕਤੀਗਤ ਕਰੀਏ", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ਵੈਯਕਤੀਕਰਨ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "ਤੁਹਾਨੂੰ ਅੱਜ ਇੱਥੇ ਕੀ ਲਿਆਇਆ ਹੈ?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "ਮੈਂ ਹੁਣ ਲੱਛਣਾਂ ਦਾ ਅਨੁਭਵ ਕਰ ਰਿਹਾ ਹਾਂ", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "ਮੈਂ ਸਿਹਤ ਵਿੱਚ ਬਦਲਾਅ ਨੂੰ ਸਮਝਣਾ ਚਾਹੁੰਦਾ ਹਾਂ", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "ਮੈਂ ਕੁਝ ਗੰਭੀਰ ਨੂੰ ਰੱਦ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹਾਂ", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "ਮੈਂ ਆਪਣੀ ਸਿਹਤ ਨੂੰ ਪ੍ਰੋਐਕਟਿਵ ਤਰੀਕੇ ਨਾਲ ਨਿਗਰਾਨੀ ਕਰ ਰਿਹਾ ਹਾਂ", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "ਜਾਰੀ ਰੱਖੋ", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "ਜਦੋਂ ਤੁਹਾਡੇ ਸਿਹਤ ਵਿੱਚ ਕੁਝ ਬਦਲਦਾ ਹੈ, ਤਾਂ ਇਹ ਜਾਣਨਾ ਸਭ ਤੋਂ ਮੁਸ਼ਕਲ ਹੁੰਦਾ ਹੈ ਕਿ ਕੀ ਮਹੱਤਵਪੂਰਨ ਹੈ।", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "ਡਾਕਟੋਰੀਨਾ ਲੱਛਣਾਂ ਦੇ ਪੈਟਰਨ ਅਤੇ ਸਮੇਂ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਦੀ ਹੈ — ਉਹੀ ਸੰਕੇਤ ਜੋ ਡਾਕਟਰ ਪਹਿਲਾਂ ਦੇਖਦੇ ਹਨ.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "ਆਪਣਾ ਲਿੰਗ ਚੁਣੋ", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "ਇਹ ਸਾਨੂੰ ਲੱਛਣਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰਨ ਅਤੇ ਸਿਫਾਰਸ਼ਾਂ ਨੂੰ ਹੋਰ ਸਹੀ ਢੰਗ ਨਾਲ ਦੇਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "ਮਰਦ", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "ਮਹਿਲਾ", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "ਕਹਿਣਾ ਨਹੀਂ ਚਾਹੁੰਦਾ", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "ਤੁਹਾਡੀ ਉਮਰ ਕੀ ਹੈ?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "ਉਮਰ ਸਾਨੂੰ ਸਿਹਤ ਦੇ ਪੈਟਰਨਾਂ ਦਾ ਜ਼ਿਆਦਾ ਸਹੀ ਮੁਲਾਂਕਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ ਲੋਕਾਂ\nਨੇ ਡਾਕਟਰਿਨਾ ਚੁਣਿਆ ਹੈ", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*ਡਾਕਟਰਿਨਾ ਉਪਭੋਗਤਾ ਆਧਾਰ ਅੰਕੜਿਆਂ ਦੇ ਆਧਾਰ 'ਤੇ", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "ਵਿਕਸਿਤ ਕੀਤਾ ਗਿਆ\nਡਾਕਟਰਾਂ", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ਕਦਮ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "ਤੁਸੀਂ ਆਪਣੀ ਮੌਜੂਦਾ ਸਿਹਤ ਦੀ ਸਥਿਤੀ ਨੂੰ ਕਿਵੇਂ ਵਰਣਨ ਕਰੋਗੇ?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "ਮੈਂ ਆਮ ਤੌਰ 'ਤੇ ਸਿਹਤਮੰਦ ਮਹਿਸੂਸ ਕਰਦਾ ਹਾਂ", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "ਮੇਰੇ ਕੋਲ ਚੱਲਦੀਆਂ ਛੋਟੀਆਂ ਚਿੰਤਾਵਾਂ ਹਨ", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "ਮੈਂ ਜਾਣੀ ਪਛਾਣੀ ਬਿਮਾਰੀ ਦਾ ਪ੍ਰਬੰਧ ਕਰ ਰਿਹਾ ਹਾਂ", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "ਮੈਂ ਕੁਝ ਅਣਸੁਝਿਆ ਦਾ ਸਾਹਮਣਾ ਕਰ ਰਿਹਾ ਹਾਂ", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ਕਦਮ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "ਤੁਸੀਂ ਆਮ ਤੌਰ 'ਤੇ ਡਾਕਟਰ ਨੂੰ ਕਿੰਨੀ ਵਾਰੀ ਮਿਲਦੇ ਹੋ?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "ਨਿਯਮਤ (ਜਾਂਚਾਂ / ਫਾਲੋ-ਅਪ)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "ਕਦੇ-ਕਦੇ, ਜਦੋਂ ਕੁਝ ਗਲਤ ਹੁੰਦਾ ਹੈ", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "ਬਹੁਤ ਹੀ ਕਮ, ਸਿਰਫ ਜਰੂਰਤ ਹੋਣ 'ਤੇ", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "ਡਾਕਟਰਾਂ ਕੋਲ ਜਾਣ ਤੋਂ ਬਚੋ", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "ਮੈਂ ਕਦੇ ਵੀ ਡਾਕਟਰ ਨੂੰ ਨਹੀਂ ਮਿਲਿਆ", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ਕਦਮ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "ਤੁਹਾਡੇ ਲਈ ਹੁਣ ਤੱਕ ਸਿਹਤ ਸੇਵਾਵਾਂ ਨਾਲ ਸਭ ਤੋਂ ਵੱਡੀ ਚੁਣੌਤੀ ਕੀ ਰਹੀ ਹੈ?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "ਜਿੰਨਾ ਚਾਹੋ ਚੁਣੋ", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "ਲੰਬੇ ਸਮੇਂ ਦੀ ਉਡੀਕ ਲਈ ਨਿਯੁਕਤੀਆਂ", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "ਦੌਰੇ ਤੇਜ਼ ਹਨ", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "ਉੱਚ ਖਰਚ ਜਾਂ ਅਸਪਸ਼ਟ ਕੀਮਤ", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "ਸਭ ਕੁਝ ਸਾਫ਼ ਸਪਸ਼ਟ ਕਰਨ ਵਿੱਚ ਮੁਸ਼ਕਲ ਹੈ", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "ਵਿਰੋਧੀ ਰਾਏ ਜਾਂ ਸਲਾਹਾਂ", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "ਕੋਈ ਵੱਡੀ ਸਮੱਸਿਆ ਨਹੀਂ", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ਕਦਮ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "ਮੁਲਾਕਾਤਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਜੋ ਕੁਝ ਦੱਸਿਆ ਗਿਆ ਉਸ ਬਾਰੇ ਤੁਸੀਂ ਕਿੰਨਾ ਵਿਸ਼ਵਾਸੀ ਮਹਿਸੂਸ ਕਰਦੇ ਹੋ?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "ਕੋਈ ਸਹੀ ਜਾਂ ਗਲਤ ਜਵਾਬ ਨਹੀਂ ਹੈ।", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "ਬਹੁਤ ਸਪਸ਼ਟ ਹੈ ਕਿ ਕੀ ਹੋ ਰਿਹਾ ਹੈ", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "ਕੁਝ ਸਾਫ਼", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "ਅਜੇ ਵੀ ਅਣਨਿਸ਼ਚਿਤ", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "ਪਿਛਲੇ ਨਾਲੋਂ ਵੱਧ ਗੁੰਝਲਦਾਰ", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "ਬਹੁਤ ਸਾਰੇ ਲੋਕ ਨਿਧਾਰਨ ਦੇ ਬਾਅਦ ਪਰੇਸ਼ਾਨ ਨਹੀਂ ਹੁੰਦੇ ਪਰ ਜਦੋਂ ਲੱਛਣ ਸਮੇਂ ਦੇ ਨਾਲ ਬਦਲਦੇ ਹਨ।", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ਕਦਮ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "ਤੁਸੀਂ ਆਪਣੇ ਚਿੰਤਾਵਾਂ ਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਕਿੰਨਾ ਚੰਗਾ ਸਮਝਦੇ ਹੋ?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "ਤੁਹਾਡੇ ਵਿਅਕਤੀਗਤ ਭਾਵਨਾਵਾਂ ਦੇ ਆਧਾਰ 'ਤੇ", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "ਬਹੁਤ ਚੰਗਾ", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "ਕਾਫੀ ਚੰਗਾ", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ਬਹੁਤ ਚੰਗਾ ਨਹੀਂ", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "ਇਹ ਬਹੁਤ ਵੱਖਰਾ ਹੈ", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ਕਦਮ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ਡਾਕਟਰ ਨੂੰ ਦੇਖਣ ਤੋਂ ਪਹਿਲਾਂ, ਕੀ ਤੁਸੀਂ ਆਮ ਤੌਰ 'ਤੇ ਲੱਛਣਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਸਮਝਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋ?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "ਹਾਂ, ਮੈਂ ਖੋਜ ਕਰਦਾ ਹਾਂ ਅਤੇ ਚੀਜ਼ਾਂ ਨੂੰ ਟ੍ਰੈਕ ਕਰਦਾ ਹਾਂ", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "ਕਦੇ-ਕਦੇ", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "ਕਦੇ-ਕਦੇ", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "ਨਹੀਂ, ਮੈਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਪੇਸ਼ੇਵਰਾਂ 'ਤੇ ਨਿਰਭਰ ਹਾਂ", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "ਸਿਹਤ ਦੇ ਸਵਾਲ ਦਫਤਰ ਦੇ ਸਮਿਆਂ ਦਾ ਪਾਲਣ ਨਹੀਂ ਕਰਦੇ .", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 24/7 ਉਪਲਬਧ ਹੈ.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "ਸਪਸ਼ਟਤਾ ਅਗਲੇ ਨਿਯੁਕਤੀ ਲਈ ਉਡੀਕ ਨਹੀਂ ਕਰਨੀ ਚਾਹੀਦੀ.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "ਕੀ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਅਸੀਂ ਤੁਹਾਡੇ ਸਿਹਤ ਲੱਛਣਾਂ 'ਤੇ ਨਜ਼ਰ ਰੱਖੀਏ?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "ਏ.ਆਈ. ਤੁਹਾਡੇ ਲੱਛਣਾਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਤੁਹਾਨੂੰ ਚੇਤਾਵਨੀ ਦੇ ਸਕਦਾ ਹੈ ਜੇ ਕੁਝ ਧਿਆਨ ਦੀ ਲੋੜ ਹੋਵੇ", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "ਹਾਂ — ਮੇਰੀ ਸਿਹਤ 'ਤੇ ਨਜ਼ਰ ਰੱਖੋ", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "ਹਾਂ — ਸਿਰਫ ਜੇ ਕੁਝ ਮਹੱਤਵਪੂਰਨ ਬਦਲਦਾ ਹੈ", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "ਹਜੇ ਯਕੀਨ ਨਹੀਂ", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "ਕੀ ਤੁਸੀਂ ਡਾਕਟਰ ਤੋਂ ਡਾਕਟੋਰੀਨਾ ਬਾਰੇ ਸੁਣਿਆ ਹੈ?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "ਹਾਂ", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "ਨਹੀਂ", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ਤੁਹਾਡੇ ਨਤੀਜਿਆਂ ਦੀ ਵਿਸ਼ਲੇਸ਼ਣਾ ਕਰ ਰਹੇ ਹਾਂ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "ਤੁਹਾਡੇ ਅਨੁਭਵ ਨੂੰ ਵਿਅਕਤੀਗਤ ਕਰਨਾ", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "ਅਨੰਤ ਅਨੁਭਵ Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ਤੁਹਾਡਾ ਸਹਾਇਕ ਜੋ ਹਮੇਸ਼ਾਂ ਨੇੜੇ ਹੈ", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "ਕੀ ਤੁਸੀਂ ਅਜੇ ਵੀ ਯਕੀਨੀ ਨਹੀਂ ਹੋ? ਮੁਫਤ ਟ੍ਰਾਇਲ ਨੂੰ ਚਾਲੂ ਕਰੋ.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "ਸਾਲਾਨਾ", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "ਮਾਸਿਕ", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "ਹਫਤਾਵਾਰੀ", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "ਦਿਨਾਨੁਸਾਰ", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "₹2,999 (ਕੇਵਲ ₹83.34/ਹਫ਼ਤਾ)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "₹299", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58% ਬਚਾਓ", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "ਜਾਰੀ ਰੱਖੋ", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "ਮੁਫਤ ਟ੍ਰਾਇਲ ਸ਼ੁਰੂ ਕਰੋ", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਆਟੋ-ਨਵੀਨੀਕਰਨਯੋਗ ਹੈ। ਕਿਸੇ ਵੀ ਸਮੇਂ ਰੱਦ ਕਰ ਸਕਦੇ ਹੋ", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ | ਗੋਪਨੀਯਤਾ ਨੀਤੀ", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "ਹਫਤਾ", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "ਤੁਹਾਡੇ ਨਤੀਜਿਆਂ ਦੀ ਵਿਸ਼ਲੇਸ਼ਣਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ਆਰੰਭ ਬੰਦ ਕਰੋ", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "ਖਰੀਦਾਂ ਨੂੰ ਦੁਬਾਰਾ ਸਥਾਪਿਤ ਕਰੋ", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "ਬਹਾਲ ਕਰੋ", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "ਕੋਈ ਸਰਗਰਮ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਨਹੀਂ ਮਿਲਿਆ ਜੋ ਮੁੜ ਸਥਾਪਿਤ ਕੀਤਾ ਜਾ ਸਕੇ.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "ਖਰੀਦਾਂ ਨੂੰ ਦੁਬਾਰਾ ਸਥਾਪਿਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ. ਕਿਰਪਾ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "ਖਰੀਦਾਰੀ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਿੱਚ ਅਸਫਲ. ਕਿਰਪਾ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "ਅੱਜ: ਤੁਰੰਤ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੋ", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "ਪੂਰਨ ਪਹੁੰਚ ਖੋਲ੍ਹੋ, ਕਿਸੇ ਵੀ ਸਮੇਂ AI ਸਿਹਤ ਦੇ ਜਵਾਬ ਪ੍ਰਾਪਤ ਕਰੋ.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "ਦਿਨ 2: ਟ੍ਰਾਇਲ ਯਾਦ ਦਿਵਾਉਣਾ", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "ਅਸੀਂ ਤੁਹਾਨੂੰ ਯਾਦ ਦਿਵਾਂਗੇ ਕਿ ਤੁਹਾਡਾ ਟ੍ਰਾਇਲ ਖਤਮ ਹੋਣ ਵਾਲਾ ਹੈ", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "ਦਿਨ 3: ਨਵੀਨੀਕਰਨ", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "ਤੁਹਾਨੂੰ {date} ਨੂੰ ਚਾਰਜ ਕੀਤਾ ਜਾਵੇਗਾ, ਕਿਸੇ ਵੀ ਸਮੇਂ ਰੱਦ ਕਰੋ.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ਕੀ ਸ਼ਾਮਲ ਹੈ", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "ਨਿੱਜੀ ਅਤੇ ਸੁਰੱਖਿਅਤ", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "ਏ.ਆਈ. ਸਹਾਇਕ, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "ਤੁਰੰਤ ਸਿਹਤ ਦੇ ਜਵਾਬ", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "ਸਾਫ, ਵਿਗਿਆਨ ਅਧਾਰਿਤ ਜਾਣਕਾਰੀ", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "ਆਟੋ ਗੱਲਬਾਤ ਸੰਖੇਪ", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "ਕੋਈ ਭਾਸ਼ਾ, ਕਿਸੇ ਵੀ ਸਮੇਂ", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "ਹਫਤੇ ਵਿੱਚ", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "ਇੱਕ ਵਾਰੀ ਦਾ ਆਫਰ", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ਛੂਟ", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ਸਦੀਵੀ", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੀ ਇੱਕ ਵਾਰੀ ਦੀ ਪੇਸ਼ਕਸ਼ ਬੰਦ ਕਰਦੇ ਹੋ, ਇਹ ਚਲੀ ਜਾਂਦੀ ਹੈ!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/ਮਹੀਨਾ", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "ਸਭ ਤੋਂ ਘੱਟ ਕੀਮਤ ਕਦੇ", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "ਕਦੇ ਵੀ ਰੱਦ ਕਰੋ", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "ਆਪਣਾ ਓਫਰ ਦਾਅਵਾ ਕਰੋ", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "ਆਟੋ-ਨਵੀਨੀਕਰਨ ਦੀ ਸਬਸਕ੍ਰਿਪਸ਼ਨ", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "ਖਾਸ ਤੋਹਫਾ ਅੰਦਰ", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "ਇੱਕ ਟੈਪ ਨਾਲ ਆਪਣਾ ਖਾਸ ਆਫਰ ਖੋਲ੍ਹੋ", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "ਹੁਣ ਖੋਲ੍ਹੋ", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਵਿਕਲਪਾਂ ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ। ਕਿਰਪਾ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਕੀਮਤਾਂ ਲੋਡ ਨਹੀਂ ਹੋ ਸਕੀਆਂ", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "ਆਪਣੀ ਜੁੜਾਈ ਦੀ ਜਾਂਚ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "ਫਿਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_pa_PK.arb b/example/lib/src/l10n/onboarding/app_pa_PK.arb new file mode 100644 index 0000000..adb1b0e --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_pa_PK.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "pa_PK", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ایڈوانسڈ اے آئی ہیلتھ اسسٹنٹ", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ڈاکٹرینا میں خوش آمدید", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "علامات کا تجزیہ کرنے کے لیے ڈیزائن کیا گیا ہے جیسے تجربہ کار معالج کرتے ہیں — پیٹرن، وقت، اور سیاق و سباق کو سمجھ کر.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "شروع کریں", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "کیا آپ کے پاس پہلے سے اکاؤنٹ ہے؟ لاگ ان کریں", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "جاری رکھنے سے، آپ ہماری خدمات کی شرائط | رازداری کی پالیسی سے اتفاق کرتے ہیں", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "چلو ذاتی بنائیں Doctorina آپ کے لیے", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "شخصی نوعیت", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "تُسیں آج یہاں کیوں آئے ہو؟", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "میں ابھی علامات محسوس کر رہا ہوں", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "میں صحت کی تبدیلی کو سمجھنا چاہتا ہوں", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "میں کچھ سنجیدہ خارج کرنا چاہتا ہوں", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "میں اپنی صحت کی نگرانی کر رہا ہوں", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "جاری رکھیں", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "جب آپ کی صحت میں کچھ تبدیلی آتی ہے تو یہ جاننا سب سے مشکل ہوتا ہے کہ کیا اہم ہے۔", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "ڈاکٹرینا علامات کے پیٹرن اور وقت پر توجہ دیتی ہے — وہی اشارے جو معالجین ابتدائی طور پر تلاش کرتے ہیں.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "اپنا جنس منتخب کریں", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "ایہہ ساڈے نال علامات نوں سمجھن تے سفارشات نوں زیادہ درست طریقے نال دین وچ مدد کردا اے", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "مرد", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "عورت", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "کہنے کی خواہش نہیں", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "تُہاڈی عمر کیڑی اے؟", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "عمر ہمیں صحت کے پیٹرن کا زیادہ درست اندازہ لگانے میں مدد دیتی ہے۔", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ ਲੋਕਾਂ\nਨੇ Doctorina ਚੁਣਿਆ", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*ڈاکٹرینا صارف کی بنیاد کے اعداد و شمار پر مبنی", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "ڈاکٹروں کی طرف سے تیار کردہ\nڈاکٹر", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "قدم 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "تُسی اپنی موجودہ صحت کی صورتحال نوں کِس طرح بیان کرو گے؟", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "میں عام طور پر صحت مند محسوس کرتا ہوں", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "میرے پاس جاری معمولی خدشات ہیں", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "میں ایک معلوم حالت کا انتظام کر رہا ہوں", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "میں کسی غیر حل شدہ مسئلے کا سامنا کر رہا ہوں", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "قدم 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "تُسی عام طور تے ڈاکٹر نوں کِناں واری ملدے او؟", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "باقاعدگی (چیک اپ / فالو اپ)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "کبھی کبھار، جب کچھ غلط ہو", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "کبھی کبھار، صرف ضرورت پڑنے پر", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "ڈاکٹروں کے پاس جانا پسند نہیں کرتے", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "میں نے کبھی ڈاکٹر کے پاس نہیں گیا", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "قدم 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "تُہاڈا صحت کی دیکھ بھال نال سب توں وڈا چیلنج کیہڑا رہا اے؟", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "ਜਿੰਨਾ ਚਾਹੋ ਚੁਣੋ", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "ملاقاتوں کے لیے طویل انتظار کے اوقات", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "دوران تیز لگتے ہیں", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "اعلی قیمت یا غیر واضح قیمت", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "ہر چیز کو واضح طور پر بیان کرنا مشکل ہے", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "متضاد رائے یا مشورے", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "کوئی بڑی مسئلے نہیں", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "قدم 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "ملاقاتوں کے بعد، آپ کو جو بتایا گیا اس بارے میں آپ کتنے پراعتماد ہیں؟", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "کوئی صحیح یا غلط جواب نہیں ہے", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "بہت واضح ہے کہ کیا ہو رہا ہے", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "ਕੁਝ ਹੱਦ ਤੱਕ ਸਾਫ", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "ਹਾਲੇ ਵੀ ਅਣਨਿਸ਼ਚਿਤ", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "پہلے سے زیادہ الجھن میں", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "ਬਹੁਤ ਸਾਰੇ ਲੋਕ ਨਿਧਾਨ ਤੋਂ ਬਾਅਦ ਨਹੀਂ, ਪਰ ਜਦੋਂ ਲੱਛਣ ਸਮੇਂ ਦੇ ਨਾਲ ਬਦਲਦੇ ਹਨ, ਤਕਲੀਫ਼ ਮਹਿਸੂਸ ਕਰਦੇ ਹਨ।", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "قدم 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "تُسیں کِناں محسوس کردے او کہ تُہانڈے مسائل عام طور تے حل کیتے جاندے نیں؟", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "تُہاڈی ذاتی محسوسات تے مبنی", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "بہت اچھا", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "ਕਾਫੀ ਚੰਗਾ", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ਚੰਗੀ ਤਰ੍ਹਾਂ ਨਹੀਂ", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "ایہہ بہت مختلف ہے", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "STEP 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ڈاکٹر سے ملنے سے پہلے، کیا آپ عام طور پر علامات کو خود سمجھنے کی کوشش کرتے ہیں؟", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "جی ہاں، میں تحقیق کرتا ہوں اور چیزوں کا سراغ رکھتا ہوں", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "کبھی کبھار", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "کبھی کبھار", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "نہیں، میں مکمل طور پر پیشہ ور افراد پر انحصار کرتا ہوں", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "صحت کے سوالات دفتر کے اوقات کی پیروی نہیں کرتے.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina ہر وقت دستیاب ہے 24/7۔", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "صاف گوئی اگلی ملاقات کا انتظار نہیں کرنی چاہیے", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "کیا آپ چاہتے ہیں کہ ہم آپ کی صحت کی علامات پر نظر رکھیں؟", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI آپ کے علامات کی نگرانی کر سکتا ہے اور اگر کچھ توجہ کی ضرورت ہو تو آپ کو آگاہ کر سکتا ہے", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "ہاں — اپنی صحت پر نظر رکھیں", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "ہاں — صرف اگر کچھ اہم تبدیل ہوتا ہے", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "ابھی تک یقین نہیں", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "کیا آپ نے ڈاکٹر سے ڈاکٹرینا کے بارے میں سنا؟", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "ہاں", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "نہیں", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "تُحلیل کر رہے ہیں آپ کے نتائج", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "تُہاڈی تجربے نوں ذاتی بنانا", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "بے حد تجربہ Doctorina Pro کے ساتھ", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "تُہاڈا اسسٹنٹ جو ہمیشہ قریب ہے", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "پتہ نہیں؟ مفت ٹرائل فعال کریں۔", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "سالانہ", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "ماہانہ", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "ہفتہ وار", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "روزانہ", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (صرف $3.34/ہفتہ)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58% ਬਚਤ ਕਰੋ", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "جاری رکھو", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "مفت ٹرائل شروع کریں", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "سبسکرپشن خودکار تجدید ہو رہا ہے۔ کبھی بھی منسوخ کریں", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "خدمات کے شرائط | رازداری کی پالیسی", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "ہفتہ", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "تُمہارے نتائج کا تجزیہ کیا جا رہا ہے", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "آن بورڈنگ بند کریں", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "خریداری بحال کریں", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "بحال کریں", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "کوئی فعال سبسکرپشن بحال کرنے کے لیے نہیں ملی.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "خریداری بحال کرنے میں ناکامی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "خرید مکمل کرنے میں ناکامی ہوئی۔ براہ کرم بعد میں دوبارہ کوشش کریں.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "آج: فوری رسائی حاصل کریں", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "مکمل رسائی حاصل کریں، کسی بھی وقت AI صحت کے جوابات حاصل کریں۔", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "دن 2: ٹرائل کی یاد دہانی", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "ہم آپ کو یاد دہانی بھیجیں گے کہ آپ کا ٹرائل ختم ہونے والا ہے", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "دن 3: تجدید", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "{date} کو آپ سے چارج کیا جائے گا، کسی بھی وقت منسوخ کریں.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "کیا شامل ہے؟", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "نجی اور محفوظ", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI اسسٹنٹ، 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "فوری صحت کے جوابات", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "صاف، سائنسی بنیاد پر بصیرت", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "خودکار گفتگو کے خلاصے", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "کسی بھی زبان، کسی بھی وقت", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "ہفتے میں", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "ایک بار کی پیشکش", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% چھوٹ", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ہمیشہ", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "جب آپ اپنی ایک بار کی پیشکش بند کرتے ہیں، تو یہ ختم ہو جاتی ہے!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/ماہ", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "ਸਭ ਤੋਂ ਘੱਟ ਕੀਮਤ", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "کسی بھی وقت منسوخ کریں", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "اپنا آفر حاصل کریں", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "خودکار تجدید سبسکرپشن", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "خاص تحفہ اندر", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "اپنے خاص آفر کو ظاہر کرنے کے لیے ایک ٹچ کریں", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "ابھی کھولیں", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "سبسکرپشن کے اختیارات لوڈ کرنے میں ناکامی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "سبسکرپشن کی قیمتیں لوڈ نہیں ہو سکیں", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "اپنی کنکشن چیک کریں اور دوبارہ کوشش کریں۔", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "دوبارہ کوشش کریں", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_pl.arb b/example/lib/src/l10n/onboarding/app_pl.arb new file mode 100644 index 0000000..f31492e --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_pl.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "pl", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ZAAWANSOWANY ASYSTENT ZDROWIA AI", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Witamy w Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Zaprojektowane do analizy objawów tak, jak robią to doświadczeni klinicyści — poprzez zrozumienie wzorców, czasu i kontekstu.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Zacznij", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Masz już konto? Zaloguj się", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Kontynuując, zgadzasz się na nasze\nWarunki korzystania | Politykę prywatności", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Spersonalizujmy Doctorina dla Ciebie", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALIZACJA", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Co cię tu dzisiaj sprowadza?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Doświadczam teraz objawów", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Chcę zrozumieć zmianę zdrowia", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Chcę wykluczyć coś poważnego", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Monitoruję swoje zdrowie proaktywnie", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Kontynuuj", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Kiedy coś zmienia się w twoim zdrowiu, najtrudniej jest wiedzieć, co ma znaczenie.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina koncentruje się na wzorcach objawów i ich czasie — tych samych sygnałach, które lekarze szukają na początku.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Wybierz swoją płeć", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "To pomaga nam dokładniej interpretować objawy i udzielać rekomendacji.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Mężczyzna", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Kobieta", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Wolę nie mówić", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Ile masz lat?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Wiek pomaga nam dokładniej ocenić wzorce zdrowotne", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Ponad 48k+ osób\nwybrało Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Na podstawie statystyk bazy użytkowników Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Opracowane przez\nlekarzy", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "KROK 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Jak opisałbyś swoją obecną sytuację zdrowotną?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Ogólnie czuję się zdrowy", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Mam ciągłe drobne obawy", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Zarządzam znanym schorzeniem", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Zmagam się z czymś nierozwiązanym", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "KROK 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Jak często zazwyczaj odwiedzasz lekarza?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regularnie (badania kontrolne / wizyty kontrolne)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Okazjonalnie, gdy coś jest nie tak", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Rzadko, tylko w razie potrzeby", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Unikasz wizyt u lekarza", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Nigdy nie odwiedziłem lekarza", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "KROK 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Jakie były twoje największe wyzwania związane z opieką zdrowotną do tej pory?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Wybierz tyle, ile chcesz", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Długie czasy oczekiwania na wizyty", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Wizyty wydają się pośpieszne", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Wysoki koszt lub niejasne ceny", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Trudno wszystko jasno wyjaśnić", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Sprzeczne opinie lub porady", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Brak poważnych problemów", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "KROK 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Po wizytach, jak pewny jesteś tego, co ci powiedziano?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Nie ma dobrej ani złej odpowiedzi", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Bardzo jasno, co się dzieje", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Troch jasne", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Wciąż niepewne", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Bardziej zdezorientowany niż wcześniej", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Wielu ludzi napotyka trudności nie po postawieniu diagnozy, lecz wtedy, gdy objawy zmieniają się z czasem.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "KROK 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Jak dobrze czujesz, że twoje obawy są zazwyczaj rozwiązywane?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Na podstawie twoich subiektywnych odczuć", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Bardzo dobrze", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Całkiem dobrze", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Nie za dobrze", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "To bardzo różnie bywa", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "KROK 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Czy zazwyczaj próbujesz samodzielnie zrozumieć objawy przed wizytą u lekarza?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Tak, badam i śledzę rzeczy", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Czasami", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Rzadko", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Nie, polegam całkowicie na profesjonalistach", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Pytania zdrowotne nie podlegają godzinom pracy biura.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina jest dostępna 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Jasność nie powinna czekać na następną wizytę", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Czy chcesz, abyśmy sprawdzili Twoje objawy zdrowotne?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI może monitorować Twoje objawy i powiadomić Cię, jeśli coś może wymagać uwagi", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Tak — obserwuj moje zdrowie", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Tak — tylko jeśli coś ważnego się zmienia", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Jeszcze nie jestem pewny", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Czy słyszałeś o Doctorinie od lekarza?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Tak", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Nie", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALIZUJĘ TWOJE WYNIKI", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalizacja twojego doświadczenia", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Nieograniczone doświadczenie z Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "TWÓJ ASYSTENT, KTÓRY ZAWSZE JEST BLISKO", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Nie jesteś jeszcze pewny? Włącz bezpłatny okres próbny.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Roczny", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Miesięcznie", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Tygodniowy", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Codzienny", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39,99 $ (tylko 3,34 $/tydzień)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "ZAOSZCZĘDŹ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Kontynuuj", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Rozpocznij bezpłatny okres próbny", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Subskrypcja jest odnawiana automatycznie. Możesz anulować w dowolnym momencie", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Regulamin | Polityka prywatności", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "tydzień", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analizuję twoje wyniki", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Zamknij onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Przywróć zakupy", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Przywróć", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Nie znaleziono aktywnej subskrypcji do przywrócenia.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Nie udało się przywrócić zakupów. Proszę spróbować ponownie później.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Nie udało się zakończyć zakupu. Proszę spróbować ponownie później.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Dziś: Uzyskaj natychmiastowy dostęp", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Odblokuj pełny dostęp, uzyskaj odpowiedzi zdrowotne AI, w każdej chwili.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Dzień 2: Przypomnienie o próbie", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Wyślemy Ci przypomnienie, że Twój okres próbny dobiega końca", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Dzień 3: Odnowienie", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Zostaniesz obciążony {date}, anuluj w dowolnym momencie przed.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "CO JEST ZAWARTE", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Prywatne i bezpieczne", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Asystent AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Natychmiastowe odpowiedzi zdrowotne", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Jasne, oparte na nauce spostrzeżenia", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Automatyczne podsumowania rozmów", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Każdy język, w każdej chwili", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "za tydzień", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Jednorazowa oferta", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ZNIŻKI", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "NA ZAWSZE", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Gdy zamkniesz swoją jednorazową ofertę, zniknie!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mies.", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "NAJNIŻSZA CENA KIEDYKOLWIEK", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Anuluj w dowolnym momencie", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Zgłoś swoją ofertę", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Subskrypcja automatycznie odnawialna", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Specjalny prezent w środku", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Jedno dotknięcie, aby ujawnić swoją specjalną ofertę", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Otwórz teraz", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Nie udało się załadować opcji subskrypcji. Spróbuj ponownie później.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Nie można załadować cen subskrypcji", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Sprawdź swoje połączenie i spróbuj ponownie.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Spróbuj ponownie", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ps.arb b/example/lib/src/l10n/onboarding/app_ps.arb new file mode 100644 index 0000000..1c26a6e --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ps.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ps", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "د پرمختللي AI روغتیایی مرستندویه", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ښه راغلاست", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "د دې لپاره ډیزاین شوی چې نښې نښانې د تجربې لرونکو کلینیکي متخصصینو په څیر تحلیل کړي — د نمونو، وخت، او شرایطو په پوهیدو سره.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "پیل کړئ", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "لاړ شئ حساب لرئ؟ لاگ ان", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "د دوام ورکولو سره، تاسو زموږ سره موافق یاست", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "راځئ چې د Doctorina لپاره شخصي کړو", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "شخصي کول", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "تاسو دلته څه شی راوړي؟", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "زه اوس نښې نښانې لرم", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "زه غواړم د روغتیا بدلون پوه شم", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "زه غواړم چې جدي څه شی رد کړم", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "زه خپل صحت په فعاله توګه څارم", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "ادامه", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "کله چې ستاسو په روغتیا کې څه بدلون راشي، پوهیدل چې څه مهم دي تر ټولو سخت دی", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina د نښو نمونو او وخت باندې تمرکز کوي — هماغه نښې چې کلینیکي د وخت په لومړیو کې لټوي.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "خپل جنس وټاکئ", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "دا موږ سره مرسته کوي چې نښې تفسیر کړو او وړاندیزونه په ډیر دقیق ډول ورکړو.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "مرد", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "ښځه", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "نه غواړم ووایم", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "ستاسو عمر څه دی؟", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "عمر موږ سره مرسته کوي چې د روغتیا نمونې په ډیر دقیق ډول ارزونه وکړو.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "د 48k+ خلکو\nد Doctorina انتخاب کړی دی", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*د Doctorina کاروونکو بنسټیزو احصایو پراساس", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "د\nډاکټرانو لخوا جوړ شوی", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ګام ۱/۶", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "تاسو څنګه خپل اوسنی روغتیایی حالت تشریح کوئ؟", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "زه عموماً روغ احساس کوم", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "زه دوامداره کوچني اندیښنې لرم", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "زه یوه پیژندل شوې حالت اداره کوم", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "زه د یو حل نه شوی مسلې سره مخ یم", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ګام ۲/۶", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "تاسو عموماً څومره وخت وروسته ډاکټر ته ځئ؟", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "باقاعده (چک اپونه / تعقیبونه)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "کله نا کله، کله چې څه غلط وي", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "ډیر کم، یوازې که اړتیا وي", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "د ډاکټرانو سره لیدل نه خوښوي", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "زه هیڅکله ډاکټر ته نه یم تللی", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ګام ۳/۶", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "تر اوسه پورې د روغتیا پاملرنې سره ستاسو تر ټولو لوی چیلنج څه دی؟", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "هر څومره چې غواړئ انتخاب کړئ", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "د ملاقاتونو لپاره اوږد انتظار وختونه", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "د لیدنو احساس تیز دی", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "لوړه بیه یا ناڅرګنده بیه", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "هر څه په واضح ډول تشریح کول سخت دي", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "متضاد نظریات یا مشورې", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "هیڅ لویې ستونزې نشته", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ګام ۴/۶", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "د ملاقاتونو وروسته، تاسو څومره باوري یاست چې څه درته وویل شول؟", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "هیڅ سم یا ناسم ځواب نشته.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "ډېر روښانه دی چې څه روان دي", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "یو څه روښانه", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "لا یقین", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "د مخکې نه ډیر مغشوش", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "ډیر خلک د تشخیص وروسته نه بلکې کله چې نښې نښانې د وخت په تیریدو کې بدلیږي، له ستونزو سره مخ کیږي.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ګام ۵/۶", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "تاسو څنګه احساس کوئ چې ستاسو اندیښنې معمولا څومره حل کیږي؟", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "ستاسو د احساساتو پراساس", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "ډیر ښه", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "مناسبه ده", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ډیر ښه نه دی", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "دا ډیر مختلف دی", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ګام ۶/۶", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "د ډاکټر سره د لیدو نه مخکې، آیا تاسو عموماً هڅه کوئ چې د نښو معنی خپله وپیژنئ؟", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "هو، زه څیړنه کوم او شیان تعقیبوم", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "کله نا کله", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "کمی", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "نه، زه په بشپړه توګه پر مسلکیانو تکیه کوم", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "د روغتیا پوښتنې دفتري ساعتونه نه تعقیبوي.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina د 24/7 لپاره موجود دی.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "روښانتیا باید د بل ملاقات لپاره انتظار ونه کړي.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "آیا تاسو غواړئ چې موږ ستاسو د روغتیا نښې وګورو؟", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI کولی شي ستاسو نښې وڅاري او تاسو ته خبر درکړي که چیرې څه شی د پاملرنې اړتیا ولري", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "هو — زما روغتیا ته پام وکړئ", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "هو — یوازې که څه مهم بدل شي", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "لا ترسیدم", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "آیا تاسو د ډاکټر نه د ډاکټرینا په اړه واوریدل؟", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "هو", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "نه", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ستاسو پایلو تحلیل", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "ستاسو تجربه شخصي کول", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "د Doctorina Pro سره بې حده تجربه", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ستاسو مرسته کوونکی چې تل نږدې دی", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "باور نه لری؟ وړیا آزموینه فعال کړئ.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "سږکال", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "میاشتنی", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "هفتې", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "ورځنی", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (یوازی $3.34/هفته)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58% سپما", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "ادامه", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "د وړیا ازموینې پیل", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "د ګډون ګډون اتومات تازه کیږي. هر وخت لغوه کړئ", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "د خدمت شرایط | د محرمیت پالیسي", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "هفته", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "ستاسو پایلې تحلیل کیږي", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "د onboarding بندول", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "پېرودنې بیا راګرځول", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "بېرته راګرځول", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "هیڅ فعال ګډون نه دی موندل شوی.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "د پیرودنو بیا رغونه ناکامه شوه. مهرباني وکړئ وروسته بیا هڅه وکړئ.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "د پېرودنې بشپړول ناکام شول. مهرباني وکړئ وروسته بیا هڅه وکړئ", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "نن ورځ: سمدستي لاسرسی ترلاسه کړئ", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "د بشپړ لاسرسي لپاره قفل خلاص کړئ، هر وخت د AI روغتیایي ځوابونه ترلاسه کړئ.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "ورځ ۲: د ازموینې یادونه", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "موږ به تاسو ته یادونه وکړو چې ستاسو آزموینه پای ته رسیږي", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "ورځ ۳: نوي کول", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "تاسو به په {date} نیټه چارج شئ، هر وخت مخکې له دې لغوه کړئ.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "څه شامل دي", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "خصوصي او خوندي", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI مرسته کوونکی، 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "فوري صحي ځوابونه", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "روښانه، علمي بنسټیز بصیرتونه", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "خودکار خبرې لنډیزونه", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "هر ژبه، هر وخت", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "په اونۍ کې", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "یو ځل وړاندیز", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% تخفیف", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "تلپاتې", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "کله چې تاسو خپله یو ځل وړاندیز وتړئ، دا له منځه ځي!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/میاشت", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "تر ټولو ټیټه بیه", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "هر وخت لغو کړئ", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "ستاسو وړاندیز غوښتنه وکړئ", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "د اوتوماتیک نوي کولو ګډون", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "خاص تحفه دننه", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "یو ځل ټک وکړئ ترڅو خپل ځانګړی وړاندیز ښکاره کړئ", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "اوس پرانیزئ", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "د ګډون انتخابونه بار نشول. مهرباني وکړئ وروسته بیا هڅه وکړئ.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "د ګډون بیې بار نشوې", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "خپل اړیکه چیک کړئ او بیا هڅه وکړئ.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "یو ځل بیا هڅه وکړئ", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_pt.arb b/example/lib/src/l10n/onboarding/app_pt.arb new file mode 100644 index 0000000..251ac20 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_pt.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "pt", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ASSISTENTE DE SAÚDE AVANÇADO AI", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Bem-vindo ao Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Projetado para analisar sintomas da maneira que clínicos experientes fazem — entendendo padrões, tempo e contexto", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Começar", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Já tem uma conta? Fazer login", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Ao continuar, você concorda com nossos\nTermos de Serviço | Política de Privacidade", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Vamos personalizar Doctorina para você", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALIZAÇÃO", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "O que traz você aqui hoje?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Estou sentindo sintomas agora", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Quero entender uma mudança de saúde", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Quero descartar algo sério", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Estou monitorando minha saúde proativamente", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Continuar", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Quando algo muda na sua saúde, saber o que importa é o mais difícil.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina foca em padrões de sintomas e no tempo — os mesmos sinais que os clínicos buscam no início.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Selecione seu gênero", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Isso nos ajuda a interpretar os sintomas e a dar recomendações com mais precisão.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Masculino", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Feminino", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Prefiro não dizer", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Qual é a sua idade?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "A idade nos ajuda a avaliar os padrões de saúde com mais precisão.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Mais de 48k+ pessoas\n escolheram Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Baseado nas estatísticas da base de usuários do Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Desenvolvido por\nMédicos", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ETAPA 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Como você descreveria sua situação de saúde atual?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Geralmente me sinto saudável", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Tenho preocupações menores em andamento", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Estou gerenciando uma condição conhecida", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Estou lidando com algo não resolvido", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ETAPA 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Com que frequência você costuma ver um médico?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regularmente (exames / acompanhamentos)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Ocasionalmente, quando algo está errado", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Raramente, apenas se necessário", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Evitar visitar médicos", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Eu nunca visitei um médico", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ETAPA 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Qual foi o seu maior desafio com a saúde até agora?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Escolha quantos quiser", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Longos tempos de espera para consultas", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "As visitas parecem apressadas", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Alto custo ou preços pouco claros", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Difícil explicar tudo claramente", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Opiniões ou conselhos conflitantes", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Nenhum problema maior", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ETAPA 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Após as consultas, quão confiante você se sente sobre o que foi dito?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Não há resposta certa ou errada.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Muito claro sobre o que está acontecendo", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Um pouco claro", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Ainda incerto", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Mais confuso do que antes", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Muitas pessoas enfrentam dificuldades não após o diagnóstico mas quando os sintomas mudam ao longo do tempo.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ETAPA 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Quão bem você sente que suas preocupações são geralmente abordadas?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Baseado em seus sentimentos subjetivos", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Muito bem", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Razoavelmente bem", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Não muito bem", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Varia muito", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ETAPA 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Antes de ver um médico, você geralmente tenta entender os sintomas por conta própria?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Sim, eu pesquiso e acompanho as coisas", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Às vezes", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Raramente", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Não, eu confio totalmente nos profissionais", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Questões de saúde não seguem o horário de atendimento.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina está disponível 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "A clareza não deve esperar pela próxima consulta", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Você quer que verifiquemos seus sintomas de saúde?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "A IA pode monitorar seus sintomas e alertá-lo se algo precisar de atenção", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Sim — fique de olho na minha saúde", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Sim — apenas se algo importante mudar", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Ainda não tenho certeza", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Você ouviu falar da Doctorina por um médico?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Sim", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Não", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALISANDO SEUS RESULTADOS", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalizando sua experiência", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Experiência ilimitada com Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "SEU ASSISTENTE QUE ESTÁ SEMPRE PERTO", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Não tem certeza ainda? Ative o teste gratuito.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Anual", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Mensal", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Semanal", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Diário", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "R$ 39,99 (apenas R$ 3,34/semana)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "R$ 3,99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "ECONOMIZE 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Continuar", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Começar teste gratuito", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "A assinatura é renovável automaticamente. Cancele a qualquer momento", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Termos de Serviço | Política de Privacidade", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "semana", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analisando seus resultados", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Fechar onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Restaurar compras", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Restaurar", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Nenhuma assinatura ativa encontrada para restaurar.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Falha ao restaurar compras. Por favor, tente novamente mais tarde.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Falha ao completar a compra. Por favor, tente novamente mais tarde.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Hoje: Acesse instantaneamente", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Desbloqueie o acesso completo, obtenha respostas de saúde da IA, a qualquer momento.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Dia 2: Lembrete do trial", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Nós enviaremos um lembrete de que seu teste está prestes a terminar", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Dia 3: Renovação", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Você será cobrado em {date}, cancele a qualquer momento antes.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "O QUE ESTÁ INCLUÍDO", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privado e seguro", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Assistente de IA, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Respostas instantâneas de saúde", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Insights claros e baseados em ciência", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Resumos automáticos de conversas", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Qualquer idioma, a qualquer momento", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "por semana", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Oferta única", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% OFF", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "PARA SEMPRE", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Uma vez que você fechar sua oferta única, ela se foi!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mês", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "MENOR PREÇO JÁ", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Cancele a qualquer momento", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Reivindique sua oferta", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Assinatura automática", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Presente especial dentro", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Um toque para revelar sua oferta especial", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Abrir agora", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Falha ao carregar opções de assinatura. Por favor, tente novamente mais tarde.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Não foi possível carregar os preços das assinaturas", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Verifique sua conexão e tente novamente.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Tente novamente", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_pt_BR.arb b/example/lib/src/l10n/onboarding/app_pt_BR.arb new file mode 100644 index 0000000..11c23ff --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_pt_BR.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "pt_BR", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ASSISTENTE DE SAÚDE AVANÇADO AI", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Bem-vindo ao Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Projetado para analisar sintomas da maneira que clínicos experientes fazem — entendendo padrões, tempo e contexto", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Começar", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Já tem uma conta? Fazer login", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Ao continuar, você concorda com nossos\nTermos de Serviço | Política de Privacidade", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Vamos personalizar Doctorina para você", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALIZAÇÃO", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "O que traz você aqui hoje?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Estou sentindo sintomas agora", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Quero entender uma mudança de saúde", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Quero descartar algo sério", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Estou monitorando minha saúde proativamente", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Continuar", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Quando algo muda na sua saúde, saber o que importa é o mais difícil.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina foca em padrões de sintomas e no tempo — os mesmos sinais que os clínicos buscam no início.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Selecione seu gênero", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Isso nos ajuda a interpretar os sintomas e a dar recomendações com mais precisão.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Masculino", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Feminino", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Prefiro não dizer", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Qual é a sua idade?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "A idade nos ajuda a avaliar os padrões de saúde com mais precisão.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Mais de 48k+ pessoas\n escolheram Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Baseado nas estatísticas da base de usuários do Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Desenvolvido por\nMédicos", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ETAPA 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Como você descreveria sua situação de saúde atual?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Geralmente me sinto saudável", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Tenho preocupações menores em andamento", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Estou gerenciando uma condição conhecida", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Estou lidando com algo não resolvido", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ETAPA 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Com que frequência você costuma ver um médico?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regularmente (exames / acompanhamentos)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Ocasionalmente, quando algo está errado", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Raramente, apenas se necessário", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Evitar visitar médicos", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Eu nunca visitei um médico", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ETAPA 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Qual foi o seu maior desafio com a saúde até agora?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Escolha quantos quiser", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Longos tempos de espera para consultas", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "As visitas parecem apressadas", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Alto custo ou preços pouco claros", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Difícil explicar tudo claramente", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Opiniões ou conselhos conflitantes", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Nenhum problema maior", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ETAPA 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Após as consultas, quão confiante você se sente sobre o que foi dito?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Não há resposta certa ou errada.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Muito claro sobre o que está acontecendo", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Um pouco claro", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Ainda incerto", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Mais confuso do que antes", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Muitas pessoas enfrentam dificuldades não após o diagnóstico mas quando os sintomas mudam ao longo do tempo.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ETAPA 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Quão bem você sente que suas preocupações são geralmente abordadas?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Baseado em seus sentimentos subjetivos", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Muito bem", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Razoavelmente bem", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Não muito bem", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Varia muito", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ETAPA 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Antes de ver um médico, você geralmente tenta entender os sintomas por conta própria?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Sim, eu pesquiso e acompanho as coisas", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Às vezes", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Raramente", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Não, eu confio totalmente nos profissionais", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Questões de saúde não seguem o horário de atendimento.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina está disponível 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "A clareza não deve esperar pela próxima consulta", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Você quer que verifiquemos seus sintomas de saúde?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "A IA pode monitorar seus sintomas e alertá-lo se algo precisar de atenção", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Sim — fique de olho na minha saúde", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Sim — apenas se algo importante mudar", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Ainda não tenho certeza", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Você ouviu falar da Doctorina por um médico?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Sim", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Não", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALISANDO SEUS RESULTADOS", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalizando sua experiência", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Experiência ilimitada com Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "SEU ASSISTENTE QUE ESTÁ SEMPRE PERTO", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Não tem certeza ainda? Ative o teste gratuito.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Anual", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Mensal", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Semanal", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Diário", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "R$ 39,99 (apenas R$ 3,34/semana)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "R$ 3,99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "ECONOMIZE 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Continuar", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Começar teste gratuito", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "A assinatura é renovável automaticamente. Cancele a qualquer momento", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Termos de Serviço | Política de Privacidade", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "semana", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analisando seus resultados", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Fechar onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Restaurar compras", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Restaurar", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Nenhuma assinatura ativa encontrada para restaurar.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Falha ao restaurar compras. Por favor, tente novamente mais tarde.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Falha ao completar a compra. Por favor, tente novamente mais tarde.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Hoje: Acesse instantaneamente", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Desbloqueie o acesso completo, obtenha respostas de saúde da IA, a qualquer momento.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Dia 2: Lembrete do trial", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Nós enviaremos um lembrete de que seu teste está prestes a terminar", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Dia 3: Renovação", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Você será cobrado em {date}, cancele a qualquer momento antes.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "O QUE ESTÁ INCLUÍDO", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privado e seguro", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Assistente de IA, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Respostas instantâneas de saúde", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Insights claros e baseados em ciência", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Resumos automáticos de conversas", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Qualquer idioma, a qualquer momento", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "por semana", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Oferta única", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% OFF", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "PARA SEMPRE", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Uma vez que você fechar sua oferta única, ela se foi!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mês", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "MENOR PREÇO JÁ", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Cancele a qualquer momento", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Reivindique sua oferta", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Assinatura automática", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Presente especial dentro", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Um toque para revelar sua oferta especial", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Abrir agora", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Falha ao carregar opções de assinatura. Por favor, tente novamente mais tarde.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Não foi possível carregar os preços das assinaturas", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Verifique sua conexão e tente novamente.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Tente novamente", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ro.arb b/example/lib/src/l10n/onboarding/app_ro.arb new file mode 100644 index 0000000..b8ce0c8 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ro.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ro", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ASISTENT DE SĂNĂTATE AI AVANSAT", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Bun venit la Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Proiectat pentru a analiza simptomele așa cum o fac clinicienii experimentați — înțelegând tiparele, momentul și contextul.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Începe", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Ai deja un cont? Conectează-te", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Continuând, ești de acord cu\nTermenii și condițiile | Politica de confidențialitate", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Să personalizăm Doctorina pentru tine", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALIZARE", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Ce te aduce aici astăzi?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Experimentez simptome acum", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Vreau să înțeleg o schimbare de sănătate", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Vreau să exclud ceva serios", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Îmi monitorizez sănătatea proactiv", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Continuare", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Când ceva se schimbă în sănătatea ta, cel mai greu este să știi ce contează.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina se concentrează pe tiparele simptomelor și pe momentul apariției acestora — aceleași semnale pe care clinicienii le caută încă de la început.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Selectați genul dumneavoastră", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Acest lucru ne ajută să interpretăm simptomele și să oferim recomandări mai precise.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Bărbat", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Femeie", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Prefer să nu spun", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Care este vârsta ta?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Vârsta ne ajută să evaluăm mai precis modelele de sănătate.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Peste 48k+ de persoane\nau ales Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Bazat pe statisticile bazei de utilizatori Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Dezvoltat de\nMedici", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "PASUL 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Cum ați descrie situația dumneavoastră actuală de sănătate?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Mă simt în general sănătos", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Am îngrijorări minore în curs", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Îmi gestionez o afecțiune cunoscută", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Mă confrunt cu ceva nerezolvat", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "PASUL 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Cât de des mergeți de obicei la doctor?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regulat (controluri / urmăriri)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Occazional, când ceva nu este în regulă", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Rar, doar dacă este necesar", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Evitați vizitele la medici", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Nu am vizitat niciodată un doctor", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "PASUL 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Care a fost cea mai mare provocare pe care ai întâmpinat-o cu sistemul de sănătate până acum?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Alegeți câte doriți", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Timp lung de așteptare pentru programări", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Vizitele par grăbite", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Cost ridicat sau prețuri neclare", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Dificil de explicat totul clar", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Opinii sau sfaturi contradictorii", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Nu sunt probleme majore", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "STEP 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "După întâlniri, cât de încrezător te simți în legătură cu ceea ce ți s-a spus?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Nu există un răspuns corect sau greșit.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Foarte clar în legătură cu ceea ce se întâmplă", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Destul de clar", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Încă nesigur", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Mai confuz decât înainte", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Mulți oameni se confruntă nu după diagnostic ci atunci când simptomele se schimbă în timp.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "PASUL 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Cât de bine simțiți că îngrijorările dumneavoastră sunt de obicei abordate?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Pe baza sentimentelor tale subiective", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Foarte bine", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Destul de bine", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Nu foarte bine", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Variază mult", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "STEP 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Înainte de a vedea un doctor, încerci de obicei să înțelegi simptomele singur?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Da, cerc și urmăresc lucruri", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Uneori", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Rar", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Nu, mă bazez complet pe profesioniști", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Întrebările de sănătate nu respectă programul de lucru.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina este disponibilă 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Claritatea nu ar trebui să aștepte următoarea programare", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Vrei să verificăm simptomele tale de sănătate?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI poate monitoriza simptomele tale și te poate alerta dacă ceva ar putea necesita atenție", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Da — urmăresc sănătatea mea", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Da — doar dacă se schimbă ceva important", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Nu sunt sigur încă", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Ați auzit despre Doctorina de la un doctor?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Da", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Nu", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALIZAREA REZULTATELOR DUMNEAVOASTRĂ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalizând experiența ta", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Experiență nelimitată cu Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ASISTENTUL TĂU CARE ESTE ÎNTOTDEAUNA APROAPE", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Nu ești sigur încă? Activează perioada de probă gratuită.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Anual", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Lunar", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Săptămânal", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Zilnic", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (doar $3.34/săptămână)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "ECONOMISIȚI 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Continuă", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Începeți perioada de probă gratuită", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Abonamentul se reînnoiește automat. Anulați oricând", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Termeni și condiții | Politica de confidențialitate", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "săptămână", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analizând rezultatele dumneavoastră", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Închide onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Restaurare Achiziții", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Restaurare", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Nu a fost găsită nicio abonare activă de restaurat.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Restaurarea achizițiilor a eșuat. Vă rugăm să încercați din nou mai târziu.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Achiziția nu a fost finalizată. Vă rugăm să încercați din nou mai târziu.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Astăzi: Obțineți acces instantaneu", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Dezvăluie accesul complet, obține răspunsuri de sănătate de la AI, oricând.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Ziua 2: Reminder de probă", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Îți vom trimite un memento că perioada de probă se apropie de sfârșit", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Ziua 3: Reneware", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Veți fi taxat pe {date}, anulați oricând înainte.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "CE ESTE INCLUS", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Privat și sigur", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Asistent AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Răspunsuri instantanee la sănătate", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Informații clare, bazate pe știință", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Rezumate automate ale conversațiilor", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Orice limbă, oricând", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "pe săptămână", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Ofertă unică", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% REDUCERE", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "FOREVER", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Odată ce închideți oferta unică, aceasta dispare!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/lună", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "CEL MAI MIC PREȚ DIN TOATE TIMPURILE", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Anulează oricând", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Revendica oferta ta", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Abonament cu reînnoire automată", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Cadou special în interior", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Un tap pentru a dezvălui oferta ta specială", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Deschide acum", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Nu s-au putut încărca opțiunile de abonament. Vă rugăm să încercați din nou mai târziu.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Nu s-au putut încărca prețurile abonamentelor", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Verificați conexiunea și încercați din nou.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Încercați din nou", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ru.arb b/example/lib/src/l10n/onboarding/app_ru.arb new file mode 100644 index 0000000..d50c36c --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ru.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ru", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ИИ ПОМОЩНИК ПО ЗДОРОВЬЮ", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Добро пожаловать в Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Уже доверяют\n48K+ пользователей", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Помогает понять симптомы, как это сделал бы опытный врач", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Начать", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Уже есть аккаунт? Войти", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Продолжая, вы соглашаетесь с нашими\nУсловиями обслуживания | Политикой конфиденциальности", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Давайте персонализируем Doctorina для вас", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ПЕРСОНАЛИЗАЦИЯ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Что привело вас сюда сегодня?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "У меня сейчас есть симптомы", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Я хочу понять изменения в здоровье", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Я хочу исключить что-то серьезное", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Я активно слежу за своим здоровьем", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Продолжить", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Когда что-то меняется в вашем здоровье, знать, что важно, труднее всего.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina фокусируется на паттернах симптомов и времени — тех же сигналах, которые врачи ищут на ранних стадиях.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Выберите ваш пол", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Это помогает нам более точно интерпретировать симптомы и давать рекомендации", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Мужской", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Женский", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Предпочитаю не говорить", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Сколько вам лет?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Возраст помогает нам более точно оценивать паттерны здоровья", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Более 48 тыс. человек\nвыбрали Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*На основе статистики пользователей Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Разработано\nВрачами", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ШАГ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Как бы вы описали свое текущее состояние здоровья?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Вы в целом чувствуете себя здоровыми", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "У меня есть постоянные незначительные проблемы", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Я держу своё заболевание под контролем", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Я имею дело с чем-то неразрешенным", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ШАГ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Как часто вы обычно посещаете врача?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Регулярно (осмотры / контрольные визиты)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Иногда, когда что-то не так", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Редко, только если это необходимо", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Избегаете посещения врачей", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Никогда не посещали врача", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ШАГ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Какая была ваша самая большая проблема с медицинским обслуживанием до сих пор?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Выбирайте столько, сколько хотите", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Долгое время ожидания на прием", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Визиты кажутся спешными", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Высокая стоимость или неясная цена", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Трудно всё ясно объяснить", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Противоречивые мнения или советы", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Нет серьезных проблем", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ШАГ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "После визитов к врачу, насколько вы уверены в том, что вам сказали?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Нет правильного или неправильного ответа", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Очень ясно, что происходит", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "В некоторой степени ясно", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Все еще не уверены", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Более запутаны, чем раньше", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Многие люди сталкиваются c трудностями не после постановки диагноза, а когда симптомы меняются со временем.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ШАГ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Насколько хорошо, по вашему мнению, обычно учитываются ваши беспокойства?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Основываясь на ваших субъективных ощущениях", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Очень хорошо", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Довольно хорошо", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Не очень хорошо", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Это сильно варьируется", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ШАГ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Перед визитом к врачу вы обычно пытаетесь разобраться в симптомах самостоятельно?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Да, я исследую и отслеживаю симптомы", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Иногда", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Редко", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Нет, я полностью полагаюсь на специалистов", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Вопросы о здоровье не зависят от рабочего времени.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina доступна 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Ясность не должна ждать следующей встречи", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Хотите, чтобы мы проверяли ваши симптомы здоровья?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "Искусственный интеллект может отслеживать ваши симптомы и предупреждать вас, если что-то может потребовать внимания", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Да — следите за моим здоровьем", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Да — только если что-то важное изменится", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Пока не уверен", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Вы слышали о Doctorina от врача?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Да", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Нет", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "АНАЛИЗ РЕЗУЛЬТАТОВ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Персонализация вашего опыта", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Неограниченный опыт с Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ВАШ ПОМОЩНИК, КОТОРЫЙ ВСЕГДА РЯДОМ", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Не уверены? Включите бесплатный пробный период.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Ежегодно", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Ежемесячно", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Еженедельно", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Ежедневно", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39,99 $ (всего 3,34 $/неделя)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "3,99 $", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "СЭКОНОМЬТЕ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Продолжить", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Начать бесплатный пробный период", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Подписка автоматически продлевается. Отмените в любое время", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Условия обслуживания | Политика конфиденциальности", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "неделя", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Анализируем ваши результаты", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Закрыть обучение", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Восстановить покупки", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Восстановить", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Не найдена активная подписка для восстановления", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Не удалось восстановить покупки. Пожалуйста, попробуйте позже.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Не удалось завершить покупку. Пожалуйста, попробуйте позже.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Сегодня: Получите мгновенный доступ", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Разблокируйте полный доступ, получайте ответы на вопросы о здоровье от ИИ в любое время.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "День 2: Напоминание о триале", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Мы отправим вам напоминание о том, что ваш пробный период скоро закончится", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "День 3: Продление", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "С вас будет списана сумма {date}, отмените в любое время до.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ЧТО ВКЛЮЧЕНО", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Приватно и безопасно", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI-ассистент, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Мгновенные ответы на вопросы о здоровье", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Четкие, научно обоснованные инсайты", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Автоматические резюме разговоров", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Любой язык, в любое время", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "в неделю", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Разовое предложение", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "СКИДКА {percent}%", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "НАВСЕГДА", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "У вас только один шанс воспользоваться этим предложением", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/мес", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "САМАЯ НИЗКАЯ ЦЕНА", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Отмена в любой момент", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Получить предложение", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Автопродляемая подписка", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Специальный подарок внутри", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Нажмите, чтобы открыть специальное предложение", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Открыть", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Не удалось загрузить варианты подписки. Пожалуйста, попробуйте позже.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Не удалось загрузить цены подписок", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Проверьте соединение и попробуйте снова.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Попробуйте снова", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_si.arb b/example/lib/src/l10n/onboarding/app_si.arb new file mode 100644 index 0000000..6bf3fb8 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_si.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "si", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "උසස් AI සෞඛ්‍ය සහකාරය", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ආයුබෝවන්\nඩොක්ටරිනාවට!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "අත්දැකීම් ඇති වෛද්‍යවරුන්ගේ ආකාරයට ලක්ෂණ විශ්ලේෂණය කිරීමට නිර්මාණය කර ඇත - රටාවන්, කාලය සහ පරිසරය තේරුම් ගනිමින්.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "ආරම්භ කරන්න", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "ඔබට දැනටමත් ගිණුමක් තිබේද? පිවිසෙන්න", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "ඉදිරියට යාමෙන්, ඔබ අපගේ\nසේවා කොන්දේසි | රහස්‍යතා ප්‍රතිපත්ති ට එකඟ වෙයි", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "අපි ඔබට Doctorina අභිරුචි කරන්න", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "පෞද්ගලිකරණය", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "ඔබට අද මෙහි එන්න හේතුව කුමක්ද?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "මට දැන් ලක්ෂණ තිබේ", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "මට සෞඛ්‍යය වෙනසක් තේරුම් ගන්න ඕනෑ", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "මට ගැටළුවක් සොයා බැලීමට අවශ්‍යයි", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "මම මගේ සෞඛ්‍යය ප්‍රතිපත්තිකාරීව නිරීක්ෂණය කරමි", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "ඉදිරියට", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "ඔබේ සෞඛ්‍යයෙහි යමක් වෙනස් විය හැකි විට, කුමක් වැදගත්ද යන්න දැන ගැනීම අමාරුයි.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina ලක්ෂණ ආකාර සහ කාලය පිළිබඳ අවධානය යොමු කරයි — වෛද්‍යවරුන් ආරම්භයේදී සොයාගන්නා එම සංඥා.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "ඔබගේ ලිංගය තෝරන්න", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "මෙය අපට ලක්ෂණ ව්‍යാഖ්‍යාව කිරීමට සහ නිවැරදි නිර්දේශ ලබා දීමට උපකාරී වේ.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "පුරුෂ", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "කාන්තා", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "කියන්න කැමති නැහැ", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "ඔබගේ වයස කීයද?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "වයස සෞඛ්‍ය රටා වඩා නිවැරදිව ඇගයීමට අපට උපකාරී වේ.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ කට අධික පුද්ගලයින්\nඩොක්ටරීනාව තෝරා ගෙන ඇත", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*ඩොක්ටරීනා පරිශීලක පදනම සංඛ්‍යාතය මත", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "විකසිත කරනු ලැබුවේ\nවෛද්‍යවරුන්", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "පියවර 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "ඔබගේ වර්තමාන සෞඛ්‍ය තත්ත්වය කෙසේ විස්තර කරනු ඇතද?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "මට සාමාන්‍යයෙන් සෞඛ්‍යය හොඳයි", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "මට දිගු කාලීන කුඩා ගැටළු ඇත", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "මට දැනටමත් හඳුනාගත් රෝගයක් කළමනාකරණය කරමි", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "මට විසඳා නොගත් කාරණයක් ඇත", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "පියවර 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "ඔබ සාමාන්‍යයෙන් වෛද්‍යවරයෙකුට කී දුක් විට යන්නෙද?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "නිතිපතා (පරීක්ෂණ / අනුගමනය)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "අවස්ථාමය, කුමක් හෝ වැරදි වුවහොත්", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "අඩුම වරක්, අවශ්‍ය නම් පමණක්", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "වෛද්‍යයන්ට පිවිසීමෙන් වළක්වන්න", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "මට කවදාවත් වෛද්‍යවරයෙකුට ගිය නැහැ", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "පියවර 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "ඔබට සෞඛ්‍යය සමඟ දැ bisher ප්‍රධාන අභියෝගය කුමක්ද?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "ඔබට කැමති පරිදි තෝරන්න", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "පැමිණීම් සඳහා දිගු බලාපොරොත්තු කාල", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "සංචාර කාලය ඉක්මනින් යනවා", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "ඉහළ වියදම් හෝ පැහැදිලි නොවන මිල", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "සියල්ල පැහැදිලිව පැහැදිලි කිරීමට අපහසුයි", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "විරුද්ධ අදහස් හෝ උපදෙස්", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "ප්‍රධාන ගැටළු නැත", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "පියවර 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "පරීක්ෂණයන්ට පසු, ඔබට කියා දුන් දේ පිළිබඳ ඔබට කෙසේද විශ්වාසයක් දැනෙන්නේ?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "මෙහි නිවැරදි හෝ වැරදි පිළිතුරක් නැත.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "ඇත්තේ කුමක්දැයි ඉතා පැහැදිලියි", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "සමහරක් පැහැදිලි", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "ආශ්‍රිතයි", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "ඉතාමත් සංකීර්ණයි", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "බොහෝ මිනිසුන් වෛද්‍ය වාර්තාවක් ලබා ගැනීමෙන් පසු නොව, ලක්ෂණ වෙනස් වන විට අමාරු වේ.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "පියවර 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "ඔබේ කණගාටුම් සාමාන්‍යයෙන් කෙසේ හොඳින් සලකා බලනවාද?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "ඔබේ අත්දැකීම් මත පදනම් වේ", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "ඉතා හොඳයි", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "හොඳින්ම", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ආසන්නයෙන්ම නැත", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "ඉතා වෙනස් වේ", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "පියවර 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ඩොක්ටර්ට යාමට පෙර, ඔබ සාමාන්‍යයෙන් ලක්ෂණ ගැන ඔබටම තේරුම් ගන්න උත්සාහ කරනවාද?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "ඔව්, මම පර්යේෂණ කරමි සහ දත්ත අනුගමනය කරමි", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "කෙලෙස", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "අඩුම", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "නැහැ, මම සම්පූර්ණයෙන්ම වෘත්තීයවේදීන් මත රැඳී සිටිමි", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "සෞඛ්‍ය ප්‍රශ්න කාර්යාල වේලාවන් අනුගමනය නොකරයි.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina සියලු කාලය 24/7 ලබා ගත හැක.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "සැහැල්ලුව ඊළඟ පත්කිරීම සඳහා බලා සිටිය යුතු නැහැ.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "ඔබට අපට ඔබේ සෞඛ්‍ය ලක්ෂණ පිළිබඳව පරීක්ෂා කිරීමට අවසර දිය යුතුද?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI ඔබේ ලක්ෂණ මනාව නිරීක්ෂණය කරයි සහ කුමක් හෝ අවධානයක් අවශ්‍ය නම් ඔබට දැනුම් දෙයි", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "ඔව් — මගේ සෞඛ්‍යය මත නිරීක්ෂණය කරන්න", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "ඔව් — වැදගත් වෙනසක් සිදුවන විට පමණක්", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "ඉතින් තවමත් විශ්වාස නැහැ", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "ඔබට ඩොක්ටර්ගෙන් ඩොක්ටරීනා ගැන අහන්න ලැබුණාද?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "ඔව්", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "නැහැ", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ඔබේ ප්‍රතිඵල විශ්ලේෂණය කරමින්", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "ඔබේ අත්දැකීම පුද්ගලීකරණය කිරීම", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "අසීමිත අත්දැකීම Doctorina Pro සමඟ", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ඔබට සදාකාලිකව ආසන්නයේ සිටින ඔබේ සහකාරයා", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "ඉතින් තහවුරු කර නැද්ද? නිදහස් පරීක්ෂණය සක්‍රීය කරන්න.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "වාර්ෂික", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "මාසික", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "සතිපතා", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "දෛනික", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (only $3.34/week)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "සුරකින්න 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "ඉදිරියට", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "නිදහස් පරීක්ෂණයක් ආරම්භ කරන්න", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "අදාළ ගෙවීම් ස්වයං-නවීකරණය වේ. ඕනෑම වේලාවක අවසන් කරන්න", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "සේවා කොන්දේසි | පෞද්ගලිකත්ව ප්‍රතිපත්ති", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "සතිය", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "ඔබේ ප්‍රතිඵල විශ්ලේෂණය කරමින්", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ආරම්භය වසා දැමීම", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "මිල ගෙවීම් නැවත ලබා ගන්න", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "නැවත ලබා ගන්න", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "නැවත ප්‍රතිසංස්කරණය කිරීමට ක්‍රියාත්මක වශයෙන් සභාපතිත්වයක් නොමැත.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "මිල ගෙවීම් නැවත ලබා ගැනීමට අසාර්ථකයි. කරුණාකර පසුව නැවත උත්සාහ කරන්න.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "මිලදී ගැනීම සම්පූර්ණ කිරීමට අසමත් විය. කරුණාකර පසුව නැවත උත්සාහ කරන්න.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "අද: වහාම ප්‍රවේශය ලබා ගන්න", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "සම්පූර්ණ ප්‍රවේශය අසරණ කරන්න, ඕනෑම වේලාවක AI සෞඛ්‍ය පිළිතුරු ලබා ගන්න.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "දින 2: පරීක්ෂණය මතකයට", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "අපි ඔබට ඔබේ පරීක්ෂණය අවසන් වීමට ආසන්න බව මතකය යවන්නෙමු", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "දින 3: නවීකරණය", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "{date} දින ඔබට ගාස්තු අය කෙරේ, ඕනෑම වේලාවක අවලංගු කළ හැක.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ඇතුළත් කර ඇති දේ", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "පෞද්ගලික සහ ආරක්ෂිත", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "ආයුබෝවන් සහායකය, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "තත්කාලික සෞඛ්‍ය පිළිතුරු", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "පැහැදිලි, විද්‍යාමය පදනමක් ඇති දැනුම", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "ස්වයංක්‍රීය සංවාද සාරාංශ", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "ඕනෑම භාෂාවක්, ඕනෑම වේලාවක", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "සතියකට", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "එක් වරක් ලබා දෙන යෝජනාව", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% වට්ටම්", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "FOREVER", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "ඔබගේ එක්වරේ යෝජනාව වසා දැමුවහොත්, එය නැති වේ!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/මාසය", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "අවම මිල", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "ඕනෑම වේලාවක අවලංගු කරන්න", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "ඔබගේ යෝජනාව ලබා ගන්න", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "ස්වයංක්‍රීය නවීකරණය කරන ලද සාමාජිකත්වය", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "විශේෂ තෑග්ගක් ඇතුළේ", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "ඔබේ විශේෂ යෝජනාව හෙළි කිරීමට එක් තට්ටුවක්", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "දැන් විවෘත කරන්න", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "සබැඳි විකල්ප පූර්ණ කිරීමට අසමත් විය. කරුණාකර පසුව නැවත උත්සාහ කරන්න.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "අභිප්‍රාය මිල ගණන් ලැබිය නොහැක", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "ඔබේ සම්බන්ධතාවය පරීක්ෂා කර නැවත උත්සාහ කරන්න.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "යළි උත්සාහ කරන්න", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_sk.arb b/example/lib/src/l10n/onboarding/app_sk.arb new file mode 100644 index 0000000..73d0539 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_sk.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "sk", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "POKROČILÝ AI ZDRAVOTNÝ ASISTENT", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Vitajte", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Navrhnuté na analýzu symptómov tak, ako to robia skúsení klinici — pochopením vzorcov, načasovania a kontextu.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Začať", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Už máte účet? Prihlásiť sa", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Pokračovaním súhlasíte s našimi\nPodmienkami služby | Zásadami ochrany osobných údajov", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Poďme personalizovať Doctorina pre teba", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALIZÁCIA", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Čo vás sem dnes priviedlo?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Momentálne mám príznaky", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Chcem pochopiť zmenu zdravia", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Chcem vylúčiť niečo vážne", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Svoj zdravotný stav monitorujem proaktívne", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Pokračovať", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Keď sa niečo zmení vo vašom zdraví, najťažšie je vedieť, čo je dôležité.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina sa zameriava na vzory symptómov a ich časovanie — rovnaké signály, ktoré lekári hľadajú už na začiatku.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Vyberte svoje pohlavie", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "To nám pomáha presnejšie interpretovať symptómy a poskytovať odporúčania.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Muž", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Žena", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Radšej nehovoriť", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Aký je váš vek?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Vek nám pomáha presnejšie hodnotiť zdravotné vzorce", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Viac ako 48k+ ľudí\nsi vybralo Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Na základe štatistík používateľskej základne Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Vyvinuté od\nlekárov", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "KROK 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Ako by ste opísali svoju aktuálnu zdravotnú situáciu?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Celkovo sa cítim zdravo", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Mám pretrvávajúce menšie obavy", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Riadim známu podmienku", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Riešim niečo nevyriešené", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "KROK 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Ako často zvyčajne navštevujete lekára?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Pravidelne (prehliadky / sledovania)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Občas, keď je niečo zlé", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Zriedka, len ak je to potrebné", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Vyhýbate sa návšteve lekárov", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Nikdy som nenavštívil lekára", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "KROK 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Aká bola vaša najväčšia výzva v oblasti zdravotnej starostlivosti doteraz?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Vyberte si, koľko chcete", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Dlhé čakacie doby na termíny", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Návštevy sa zdajú byť uponáhľané", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Vysoké náklady alebo nejasné ceny", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Ťažko všetko jasne vysvetliť", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Konfliktné názory alebo rady", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Žiadne vážne problémy", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "KROK 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Po návštevách, ako si istý, čo ti bolo povedané?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Nie je správna ani nesprávna odpoveď", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Veľmi jasné, čo sa deje", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Troch jasné", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Stále neistý", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Viac zmätený ako predtým", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Mnohí ľudia bojujú nie po diagnóze , ale keď sa symptómy časom menia.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "KROK 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Ako dobre sa zvyčajne cítite, že sú vaše obavy riešené?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Na základe vašich subjektívnych pocitov", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Veľmi dobre", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Celkom dobre", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Nie veľmi dobre", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Veľa sa to líši", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "KROK 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Zvyčajne sa snažíte pochopiť symptómy sami pred návštevou lekára?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Áno, skúmam a sledujem veci", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Niekedy", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Zriedka", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Nie, úplne sa spolieham na odborníkov", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Zdravotné otázky následovať úradné hodiny.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina je k dispozícii 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Jasnosť by nemala čakať na ďalšiu schôdzku", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Chcete, aby sme sa zaujímali o vaše zdravotné symptómy?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI môže monitorovať vaše symptómy a upozorniť vás, ak by niečo mohlo potrebovať pozornosť", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Áno — sledujte moje zdravie", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Áno — len ak sa niečo dôležité zmení", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Ešte nie som si istý", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Počuli ste o Doctorine od lekára?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Áno", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Nie", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ANALYZUJEM VAŠE VÝSLEDKY", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Personalizácia vašej skúsenosti", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Neobmedzený zážitok s Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "VÁŠ ASISTENT, KTORÝ JE VŽDY BLÍZKO", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Nie ste si ešte istí? Aktivujte bezplatnú skúšobnú verziu.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Ročný", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Mesačne", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Týždenný", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Denný", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39,99 $ (iba 3,34 $/týždeň)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "UŠETRITE 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Pokračovať", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Začať bezplatnú skúšobnú verziu", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Predplatné sa automaticky obnovuje. Zrušiť môžete kedykoľvek", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Podmienky služby | Zásady ochrany osobných údajov", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "týždeň", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Analyzujem vaše výsledky", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Zavrieť onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Obnoviť nákupy", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Obnoviť", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Nenašiel sa žiadny aktívny predplatný na obnovenie.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Obnovenie nákupov sa nepodarilo. Skúste to prosím neskôr.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Nákup sa nepodarilo dokončiť. Skúste to prosím znova neskôr.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Dnes: Získajte okamžitý prístup", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Odomknite plný prístup, získajte odpovede na otázky o zdraví od AI, kedykoľvek.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Deň 2: Pripomienka na skúšku", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Pošleme vám pripomienku, že vaša skúšobná verzia sa chystá skončiť", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Deň 3: Obnovenie", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Budete účtovaní dňa {date}, zrušte kedykoľvek predtým.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "Čo je zahrnuté", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Súkromné a bezpečné", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI asistent, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Okamžité zdravotné odpovede", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Jasné, vedecky podložené poznatky", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Automatické zhrnutia rozhovorov", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Akýkoľvek jazyk, kedykoľvek", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "za týždeň", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Jednorazová ponuka", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ZĽAVA", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "FOREVER", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Keď zatvoríte svoju jednorazovú ponuku, je preč!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mes", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "LOWEST PRICE EVER", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Zrušiť kedykoľvek", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Uplatnite svoju ponuku", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Automatické obnovenie predplatného", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Špeciálny darček vo vnútri", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Jedno ťuknutie na odhalenie vašej špeciálnej ponuky", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Otvor teraz", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Nepodarilo sa načítať možnosti predplatného. Skúste to prosím neskôr.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Nedalo sa načítať ceny predplatného", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Skontrolujte svoje pripojenie a skúste to znova.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Skúste znova", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_sw.arb b/example/lib/src/l10n/onboarding/app_sw.arb new file mode 100644 index 0000000..09f1fd5 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_sw.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "sw", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "Msaidizi wa Afya wa AI wa Juu", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Karibu", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Imeundwa kuchambua dalili kama madaktari wenye uzoefu — kwa kuelewa mifumo, muda, na muktadha.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Anza", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Je, una akaunti tayari? Ingiza", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Kwa kuendelea, unakubali Masharti ya Huduma | Sera ya Faragha wetu", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Tufanye kuwa wa kibinafsi Doctorina kwa ajili yako", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "BINA YA MTUMIAJI", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Nini kinakuletea hapa leo?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Ninapata dalili sasa", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Nataka kuelewa mabadiliko ya afya", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Nataka kuondoa kitu cha maana", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Ninamonitor afya yangu kwa njia ya proaktifu", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Endelea", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Wakati kitu kinabadilika katika afya yako, kujua kinachohusika ni kigumu zaidi.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina inazingatia mifumo ya dalili na wakati — ishara zile zile ambazo madaktari wanatafuta mapema.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Chagua jinsia yako", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Hii inatusaidia kutafsiri dalili na kutoa mapendekezo kwa usahihi zaidi", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Mwanaume", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Mwanamke", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Ningependa kutosema", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Ni miaka mingapi?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Umri hutusaidia kutathmini mifumo ya afya kwa usahihi zaidi.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Zaidi ya watu 48k+\nwamechagua Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Kulingana na takwimu za msingi wa watumiaji wa Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Imetengenezwa na\nMadaktari", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "HATUA 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Ungependa vipi hali yako ya afya kwa sasa?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Kwa ujumla najihisi mzima", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Nina wasiwasi mdogo unaoendelea", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Ninashughulikia hali inayojulikana", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Ninashughulika na jambo lisilo na ufumbuzi", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "STEP 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Unakutana na daktari mara ngapi kwa kawaida?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Kawaida (uchunguzi / ufuatiliaji)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Wakati mwingine, wakati kuna kitu kibaya", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Nadhif, tu ikiwa ni lazima", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Epuka kutembelea madaktari", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Sijawahi kutembelea daktari", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "STEP 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Ni changamoto gani kubwa zaidi umekutana nayo katika huduma za afya hadi sasa?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Chagua kadri unavyotaka", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Muda mrefu wa kusubiri kwa miadi", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Ziara zinaonekana kuwa za haraka", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Gharama kubwa au bei isiyoeleweka", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Ni vigumu kueleza kila kitu kwa uwazi", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Maoni au ushauri unaopingana", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Hakuna matatizo makubwa", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "STEP 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Baada ya miadi, unajisikiaje kuhusu kile ulichosema?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Hakuna jibu sahihi au la", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Niko wazi kuhusu kinachoendelea", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Kidogo wazi", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Bado si wazi", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Zaidi ya kuch kabla", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Watu wengi wanakumbana na shida si baada ya utambuzi bali wakati dalili zinabadilika kwa muda.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "STEP 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Unajisikiaje kuhusu jinsi wasiwasi wako unavyoshughulikiwa?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Kulingana na hisia zako binafsi", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Vizuri", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Vizuri kidogo", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Sijafanya vizuri", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Inatofautiana sana", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "STEP 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Kabla ya kumuona daktari, je, kawaida unajaribu kuelewa dalili mwenyewe?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Ndio, ninatafuta na kufuatilia mambo", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Wakati mwingine", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Nadhara", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Hapana, nategemea kabisa wataalamu", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Maswali ya afya hayafuati masaa ya ofisi.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina inapatikana 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Uwazi haupaswi kusubiri hadi kuteuliwa kwa pili.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Je, unataka tuangalie dalili zako za afya?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI inaweza kufuatilia dalili zako na kukujulisha ikiwa kuna kitu kinachohitaji umakini", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Ndio — fuatilia afya yangu", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Ndio — tu ikiwa kuna mabadiliko muhimu", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Sijajua bado", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Je, umesikia kuhusu Doctorina kutoka kwa daktari?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Ndio", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Hapana", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "KUCHAMBUA MATOKEO YAKO", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Kuboresha uzoefu wako", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Uzoefu usio na mipaka na Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ASSISTANT WAKO AMBAE YUKO KARIBU DAIMA", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Hujui bado? Washa jaribio la bure.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Mwaka", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Kila mwezi", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Wiki", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Kila siku", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (tu $3.34/kwanza)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "Hifadhi 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Endelea", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Anza majaribio ya bure", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Usajili unajirudia kiotomatiki. Ghairi wakati wowote", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Masharti ya Huduma | Sera ya Faragha", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "wiki", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Inachambua matokeo yako", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Funga kuanzisha", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Rejesha Ununuzi", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Rejesha", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Hakuna usajili wa kazi uliopatikana ili kurejesha.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Imeshindikana kurejesha ununuzi. Tafadhali jaribu tena baadaye.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Imeshindikana kukamilisha ununuzi. Tafadhali jaribu tena baadaye.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Leo: Pata ufikiaji wa haraka", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Fungua ufikiaji kamili, pata majibu ya afya ya AI, wakati wowote.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Siku ya 2: Kumbusho la majaribio", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Tutakasa ujumbe wa kukukumbusha kwamba majaribio yako yanakaribia kumalizika", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Siku ya 3: Upya", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Utatozwa tarehe {date}, ghairi wakati wowote kabla.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "NINI KILICHOMO?", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Binafsi na salama", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Msaidizi wa AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Majibu ya afya ya haraka", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Mawasiliano wazi, yanayotokana na sayansi", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Muhtasari wa mazungumzo ya otomatiki", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Lugha yoyote, wakati wowote", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "kwa wiki", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Ofa ya mara moja", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% OFF", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "DAIMA", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Unapofunga ofa yako ya mara moja, imepotea!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mwezi", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "BEI YA CHINI ZAIDI", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Ghairi wakati wowote", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Dai ofa yako", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Usajili unaoendelea kiotomatiki", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Zawadi maalum ndani", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Gusa kwa kugusa kufichua ofa yako maalum", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Fungua sasa", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Imeshindikana kupakia chaguzi za usajili. Tafadhali jaribu tena baadaye.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Haiwezi kupakia bei za usajili", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Angalia muunganisho wako na ujaribu tena.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Jaribu tena", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ta.arb b/example/lib/src/l10n/onboarding/app_ta.arb new file mode 100644 index 0000000..3d292b7 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ta.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ta", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "மேம்பட்ட AI சுகாதார உதவியாளர்", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "வரவேற்கிறேன்", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "அனுபவமிக்க மருத்துவர்கள் போல அறிகுறிகளை பகுப்பாய்வு செய்ய வடிவமைக்கப்பட்டுள்ளது - மாதிரிகள், நேரம் மற்றும் சூழலைப் புரிந்து கொண்டு.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "தொடங்குங்கள்", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "ஏற்கனவே கணக்கு உள்ளதா? உள்நுழையவும்", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "தொடர்வதன் மூலம், நீங்கள் எங்கள் சேவைகள் விதிமுறைகள் | தனியுரிமை கொள்கை உடன் ஒப்புக்கொள்கிறீர்கள்", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "நாம் தனிப்பயனாக்கலாம் Doctorina உங்களுக்காக", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "தனிப்பட்ட", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "நீங்கள் இன்று இங்கு ஏன் வந்தீர்கள்?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "நான் இப்போது அறிகுறிகளை அனுபவிக்கிறேன்", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "நான் ஒரு உடல்நிலை மாற்றத்தை புரிந்துகொள்ள விரும்புகிறேன்", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "நான் ஒரு முக்கியமானதை தவிர்க்க விரும்புகிறேன்", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "நான் என் ஆரோக்கியத்தை முன்னெச்சரிக்கையாக கண்காணிக்கிறேன்", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "தொடர்க", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "உங்கள் உடல்நிலையிலே ஏதாவது மாற்றம் ஏற்பட்டால், என்ன முக்கியம் என்பதை அறிதல் மிகவும் கடினமாக இருக்கும்.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina அறிகுறி மாதிரிகள் மற்றும் நேரத்தை மையமாகக் கொண்டு செயல்படுகிறது — மருத்துவர்கள் ஆரம்பத்தில் தேடும் அதே சிக்னல்கள்.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "உங்கள் பாலினத்தை தேர்ந்தெடுக்கவும்", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "இது எங்களுக்கு அறிகுறிகளை விளக்கவும், பரிந்துரைகளை மேலும் துல்லியமாக வழங்கவும் உதவுகிறது", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "ஆண்", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "பெண்", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "சொல்ல விரும்பவில்லை", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "உங்கள் வயது என்ன?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "வயது நமக்கு ஆரோக்கியத்தின் மாதிரிகளை மேலும் துல்லியமாக மதிப்பீடு செய்ய உதவுகிறது.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ பேர்\nDoctorina-ஐ தேர்ந்தெடுத்துள்ளனர்", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*டாக்டரினா பயனர் அடிப்படைக் கணக்கீடுகள் அடிப்படையில்", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "வளர்த்தது\nமருத்துவர்கள்", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "அடுக்கு 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "நீங்கள் உங்கள் தற்போதைய உடல்நிலையை எவ்வாறு விவரிக்கிறீர்கள்?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "நான் பொதுவாக ஆரோக்கியமாக உணர்கிறேன்", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "எனக்கு தொடர்ந்த சிறிய கவலைகள் உள்ளன", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "நான் ஒரு அறியப்பட்ட நிலையை நிர்வகிக்கிறேன்", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "நான் தீர்க்கப்படாத ஒன்றை கையாள்கிறேன்", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "படி 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "நீங்கள் பொதுவாக எப்போது மருத்துவரை சந்திக்கிறீர்கள்?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "இயல்பாக (சோதனைகள் / தொடர்ச்சிகள்)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "எப்போது வேண்டுமானாலும், ஏதாவது தவறு இருந்தால்", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "அரிதாக, தேவையான போது மட்டும்", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "மருத்துவர்களிடம் செல்ல விரும்பவில்லை", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "நான் ஒருபோதும் மருத்துவரை சந்திக்கவில்லை", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "படி 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "உங்களுக்கு இதுவரை சுகாதாரத்தில் ஏற்பட்ட மிகப்பெரிய சவால் என்ன?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "நீங்கள் விரும்பிய அளவுக்கு தேர்வு செய்யவும்", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "முகாமை நேரங்களுக்கு நீண்ட காத்திருப்பு நேரங்கள்", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "சுற்றுகள் விரைந்து போகின்றன", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "உயர்ந்த செலவோ அல்லது தெளிவற்ற விலையோ", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "எல்லாவற்றையும் தெளிவாக விளக்குவது கடினம்", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "மோதிக்கும் கருத்துகள் அல்லது ஆலோசனைகள்", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "முக்கிய பிரச்சினைகள் இல்லை", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "படி 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "மருத்துவர் சந்திப்புகளுக்குப் பிறகு, நீங்கள் கூறியதைப் பற்றி நீங்கள் எவ்வளவு நம்பிக்கை உள்ளீர்கள்?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "சரியான அல்லது தவறான பதில் இல்லை", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "என்ன நடக்கிறது என்பதை மிகவும் தெளிவாகப் புரிந்துள்ளேன்", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "சில அளவுக்கு தெளிவாக", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "இன்னும் உறுதியாக இல்லை", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "முந்தையதைவிட அதிகமாக குழப்பமாக", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "பல மக்கள் நோயறிதலுக்குப் பிறகு அல்ல, ஆனால் அறிகுறிகள் காலத்துடன் மாறும் போது சிரமங்களை எதிர்கொள்கிறார்கள்.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "படி 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "உங்கள் கவலைகள் பொதுவாக எவ்வாறு கையாளப்படுகிறதென நீங்கள் உணர்கிறீர்கள்?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "உங்கள் தனிப்பட்ட உணர்வுகளின் அடிப்படையில்", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "மிகவும் நல்லது", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "சரியாகவே", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "சிறப்பாக இல்லை", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "இது மிகவும் மாறுபடுகிறது", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "STEP 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ஒரு மருத்துவரை சந்திக்குமுன், நீங்கள் பொதுவாக உங்கள் அறிகுறிகளை நீங்கள் சொந்தமாகப் புரிந்துகொள்ள முயற்சிக்கிறீர்களா?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "ஆம், நான் ஆராய்ச்சி செய்கிறேன் மற்றும் விஷயங்களை கண்காணிக்கிறேன்", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "சில சமயங்களில்", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "அரிதாக", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "இல்லை, நான் முற்றிலும் தொழில்முனைவோர்களை நம்புகிறேன்", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "ஆரோக்கிய கேள்விகள் அலுவலக நேரங்களை பின்பற்றவில்லை.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 24/7 கிடைக்கிறது.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "தெளிவுக்கு அடுத்த சந்திப்புக்காக காத்திருக்க வேண்டாம்.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "நாங்கள் உங்கள் உடல்நிலை அறிகுறிகளைப் பற்றிய தகவல்களைச் சரிபார்க்க வேண்டுமா?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "ஏ.ஐ. உங்கள் அறிகுறிகளை கண்காணித்து, கவனிக்க வேண்டிய ஏதாவது இருந்தால் உங்களை எச்சரிக்க செய்யலாம்", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "ஆம் — என் ஆரோக்கியத்தை கவனிக்கவும்", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "ஆம் — முக்கியமான மாற்றங்கள் ஏற்பட்டால் மட்டுமே", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "இன்னும் உறுதியாக இல்லை", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "நீங்கள் மருத்துவரிடமிருந்து டாக்டரினா பற்றி கேட்டீர்களா?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "ஆம்", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "இல்லை", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "உங்கள் முடிவுகளை பகுப்பாய்வு செய்கிறோம்", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "உங்கள் அனுபவத்தை தனிப்பயனாக்குதல்", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro உடன் எல்லைமீறும் அனுபவம்", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "எப்போதும் அருகில் உள்ள உங்கள் உதவியாளர்", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "இன்னும் உறுதியாக இல்லைவா? இலவச சோதனை இயக்கவும்.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "வருடாந்திர", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "மாதாந்திரம்", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "வாராந்திர", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "தினசரி", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (மட்டும் $3.34/வாரம்)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58% சேமிக்கவும்", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "தொடர்க", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "இலவச சோதனை தொடங்கு", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "சந்தா தானாகவே புதுப்பிக்கப்படுகிறது. எப்போது வேண்டுமானாலும் ரத்து செய்யவும்", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "சேவையின் விதிமுறைகள் | தனியுரிமை கொள்கை", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "வாரம்", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "உங்கள் முடிவுகளை பகுப்பாய்வு செய்கிறேன்", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ஆன்போர்டிங் மூடு", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "மீட்டமைக்க வாங்குகள்", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "மீட்டமை", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "மீட்டெடுக்க எந்த செயல்பாட்டிற்கும் சந்தா இல்லை.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "வாங்குதலை மீட்டெடுக்க முடியவில்லை. தயவுசெய்து பிறகு மீண்டும் முயற்சிக்கவும்.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "வாங்குதலை முடிக்க முடியவில்லை. தயவுசெய்து பிறகு மீண்டும் முயற்சிக்கவும்.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "இன்று: உடனடி அணுகலைப் பெறுங்கள்", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "முழு அணுகலை திறக்கவும், எப்போது வேண்டுமானாலும் AI சுகாதார பதில்களை பெறவும்.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "இன்று 2: சோதனை நினைவூட்டல்", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "உங்கள் சோதனை முடிவுக்கு வர இருக்கிறது என்பதை நினைவூட்டுகிறோம்", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "3வது நாள்: புதுப்பிப்பு", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "நீங்கள் {date} அன்று கட்டணம் செலுத்தப்படும், அதற்கு முன் எப்போது வேண்டுமானாலும் ரத்து செய்யலாம்.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "என்ன உள்ளடக்கமாக உள்ளது", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "தனிப்பட்ட மற்றும் பாதுகாப்பான", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "ஏ.ஐ உதவியாளர், 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "உடனடி சுகாதார பதில்கள்", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "명확한 과학 기반 통찰", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "தானியங்கி உரையாடல் சுருக்கங்கள்", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "எந்த மொழி, எப்போது வேண்டுமானாலும்", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "ஒரு வாரத்திற்கு", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "ஒரு முறை சலுகை", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% குறைப்பு", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "என்றும்", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "நீங்கள் உங்கள் ஒரே முறை சலுகையை மூடினால், அது மறைந்து விடும்!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/மாதம்", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "எப்போதும் குறைந்த விலை", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "எப்போது வேண்டுமானாலும் ரத்து செய்யவும்", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "உங்கள் சலுகையை பெறுங்கள்", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "தானாக புதுப்பிக்கப்படும் சந்தா", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "சிறப்பு பரிசு உள்ளே", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "ஒரு தொட்டில் உங்கள் சிறப்பு சலுகையை வெளிப்படுத்துங்கள்", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "இப்போது திறக்கவும்", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "சந்தா விருப்பங்களை ஏற்றுவதில் தோல்வி. தயவுசெய்து பிறகு மீண்டும் முயற்சிக்கவும்.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "சந்தா விலைகளை ஏற்ற முடியவில்லை", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "உங்கள் இணைப்பை சரிபார்க்கவும் மற்றும் மீண்டும் முயற்சிக்கவும்.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "மீண்டும் முயற்சிக்கவும்", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_te.arb b/example/lib/src/l10n/onboarding/app_te.arb new file mode 100644 index 0000000..cca085b --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_te.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "te", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "అధునాతన AI ఆరోగ్య సహాయకుడు", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "డాక్టర్‌నా! స్వాగతం", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "అనుభవం ఉన్న వైద్యులు చేసే విధంగా లక్షణాలను విశ్లేషించడానికి రూపొందించబడింది - నమూనాలు, సమయం మరియు సందర్భాన్ని అర్థం చేసుకోవడం ద్వారా.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "ప్రారంభించండి", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "మీకు ఇప్పటికే ఖాతా ఉందా? లాగిన్", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "కొనసాగించడానికి, మీరు మా\nసేవా నిబంధనలు | గోప్యతా విధానం తో అంగీకరిస్తున్నారు", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "మనం వ్యక్తిగతీకరించుకుందాం Doctorina మీ కోసం", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "వ్యక్తిగతీకరణ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "మీరు ఇక్కడ ఎందుకు ఉన్నారు?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "నేను ఇప్పుడు లక్షణాలను అనుభవిస్తున్నాను", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "నేను ఆరోగ్య మార్పును అర్థం చేసుకోవాలనుకుంటున్నాను", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "నేను తీవ్రమైనదాన్ని తప్పించాలనుకుంటున్నాను", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "నేను నా ఆరోగ్యాన్ని ముందస్తుగా పర్యవేక్షిస్తున్నాను", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "కొనసాగించు", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "మీ ఆరోగ్యంలో ఏదైనా మారితే, ఏమి ముఖ్యమో తెలుసుకోవడం చాలా కష్టం.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina లక్షణాల నమూనాలు మరియు సమయంపై దృష్టి పెడుతుంది — ప్రారంభంలో వైద్యులు చూసే అదే సంకేతాలు.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "మీ లింగాన్ని ఎంచుకోండి", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "ఇది మాకు లక్షణాలను అర్థం చేసుకోవడానికి మరియు సిఫారసులను మరింత ఖచ్చితంగా ఇవ్వడానికి సహాయపడుతుంది.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "పురుషుడు", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "స్త్రీ", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "చెప్పాలనుకోను", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "మీ వయస్సు ఎంత?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "వయస్సు ఆరోగ్య నమూనాలను మరింత ఖచ్చితంగా అంచనా వేయడంలో సహాయపడుతుంది.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ మందులు\nడాక్టర్‌నా ను ఎంచుకున్నారు", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*డాక్టరినా వినియోగదారుల గణాంకాల ఆధారంగా", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "డెవలప్ చేసినది\nడాక్టర్లు", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "దశ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "మీ ప్రస్తుత ఆరోగ్య పరిస్థితిని మీరు ఎలా వివరించగలరు?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "నేను సాధారణంగా ఆరోగ్యంగా ఉన్నాను", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "నాకు కొనసాగుతున్న చిన్న ఆందోళనలు ఉన్నాయి", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "నేను తెలిసిన పరిస్థితిని నిర్వహిస్తున్నాను", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "నేను పరిష్కరించని విషయాన్ని ఎదుర్కొంటున్నాను", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "దశ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "మీరు సాధారణంగా డాక్టర్‌ను ఎంత తరచుగా కలుస్తారు?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "నియమితంగా (చెక్-అప్స్ / ఫాలో-అప్స్)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "అవసరమైతే, ఏదో తప్పుగా ఉన్నప్పుడు", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "అత్యంత అరుదుగా, అవసరమైతే మాత్రమే", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "డాక్టర్లను సందర్శించడం నివారించండి", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "నేను ఎప్పుడూ డాక్టర్‌ను సందర్శించలేదు", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "దశ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "మీరు ఇప్పటివరకు ఆరోగ్య సంరక్షణతో ఎదుర్కొన్న పెద్ద సవాలు ఏమిటి?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "మీకు నచ్చినన్ని ఎంచుకోండి", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "అపాయింట్‌మెంట్‌ల కోసం దీర్ఘకాలిక వేచి ఉండడం", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "సందర్శనలు త్వరగా జరిగాయి", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "అధిక ఖర్చు లేదా స్పష్టమైన ధర లేదు", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "ప్రతి విషయాన్ని స్పష్టంగా వివరించడం కష్టం", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "వివాదాస్పదమైన అభిప్రాయాలు లేదా సలహాలు", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "ప్రధాన సమస్యలు లేవు", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "దశ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "మీరు డాక్టర్‌ సమావేశాల తర్వాత మీకు చెప్పిన విషయాలపై ఎంత నమ్మకం కలిగి ఉన్నారు?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "సరైన లేదా తప్పు సమాధానం లేదు.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "ఏం జరుగుతుందో చాలా స్పష్టంగా ఉంది", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "కొంచెం స్పష్టంగా", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "ఇంకా అనిశ్చితంగా ఉంది", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "ముందు కంటే ఎక్కువ గందరగోళంగా", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "చాలా మంది నిర్ధారణ తర్వాత కాదు కానీ లక్షణాలు కాలంతో పాటు మారినప్పుడు కష్టపడుతారు.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "దశ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "మీ ఆందోళనలను సాధారణంగా ఎంత బాగా పరిష్కరిస్తున్నారు?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "మీ వ్యక్తిగత భావనల ఆధారంగా", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "చాలా బాగా", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "సరైనది", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "చాలా బాగా లేదు", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "ఇది చాలా మారుతుంది", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "దశ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "డాక్టర్‌ను చూడకముందు, మీరు సాధారణంగా లక్షణాలను మీరే అర్థం చేసుకోవడానికి ప్రయత్నిస్తారా?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "అవును, నేను పరిశోధన చేస్తాను మరియు విషయాలను ట్రాక్ చేస్తాను", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "కొన్నిసార్లు", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "చాలా అరుదుగా", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "లేదు, నేను పూర్తిగా నిపుణులపై ఆధారపడుతున్నాను", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "ఆరోగ్య ప్రశ్నలు కార్యాలయ సమయాలను అనుసరించవు .", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 24/7 అందుబాటులో ఉంది.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "స్పష్టత తదుపరి అపాయింట్‌మెంట్ కోసం వేచి ఉండకూడదు.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "మీ ఆరోగ్య లక్షణాలను మేము తనిఖీ చేయాలనుకుంటున్నారా?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI మీ లక్షణాలను పర్యవేక్షించగలదు మరియు ఏదైనా దృష్టి అవసరం అయితే మీకు హెచ్చరిక ఇవ్వగలదు", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "అవును — నా ఆరోగ్యాన్ని గమనించండి", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "అవును — కేవలం ముఖ్యమైనది మారితే", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "ఇంకా ఖచ్చితంగా లేదు", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "మీరు డాక్టర్ నుండి డాక్టోరిన గురించి వినారా?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "అవును", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "లేదు", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "మీ ఫలితాలను విశ్లేషిస్తున్నాము", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "మీ అనుభవాన్ని వ్యక్తిగతీకరించడం", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "అనంత అనుభవం Doctorina Pro తో", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "మీ దగ్గర ఎప్పుడూ ఉన్న సహాయకుడు", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "ఇంకా ఖచ్చితంగా తెలియదు? ఉచిత ట్రయల్ ప్రారంభించండి.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "వార్షిక", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "ప్రతి నెల", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "సామాన్యంగా", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "ప్రతిరోజు", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (మాత్రం $3.34/వారం)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "సేవ్ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "కొనుగోలు కొనసాగించండి", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "ఉచిత ట్రయల్ ప్రారంభించండి", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "సబ్‌స్క్రిప్షన్ ఆటో-రిన్యూబుల్. ఎప్పుడైనా రద్దు చేయండి", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "సేవా నిబంధనలు | గోప్యతా విధానం", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "సప్తాహం", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "మీ ఫలితాలను విశ్లేషిస్తున్నాము", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ఆన్‌బోర్డింగ్‌ను మూసివేయండి", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "కొనుగోళ్లను పునరుద్ధరించు", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "పునఃస్థాపించు", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "పునఃస్థాపనకు చెల్లుబాటు అయ్యే సభ్యత్వం కనుగొనబడలేదు.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "కొనుగోళ్లను పునరుద్ధరించడంలో విఫలమైంది. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "కొనుగోలు పూర్తి చేయడంలో విఫలమైంది. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "ఈ రోజు: తక్షణం ప్రాప్తి పొందండి", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "పూర్తి యాక్సెస్ అన్లాక్ చేయండి, ఎప్పుడైనా AI ఆరోగ్య సమాధానాలు పొందండి.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "రోజు 2: ట్రయల్ గుర్తింపు", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "మీ ట్రయల్ ముగియబోతున్నది అని మేము మీకు గుర్తు చేస్తాము", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "రోజు 3: పునరుద్ధరణ", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "{date} న మీకు చార్జ్ చేయబడుతుంది, ముందు ఎప్పుడైనా రద్దు చేయండి.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ఏం చేర్చబడింది", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "ప్రైవేట్ మరియు సురక్షిత", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI సహాయకుడు, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "తక్షణ ఆరోగ్య సమాధానాలు", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "స్పష్టమైన, శాస్త్రం ఆధారిత అవగాహన", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "ఆటో సంభాషణ సారాంశాలు", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "ఏ భాష, ఎప్పుడైనా", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "ప్రతి వారం", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "ఒక్కసారి ఆఫర్", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% తగ్గింపు", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "శాశ్వతంగా", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "మీరు మీ ఒకసారి ఆఫర్‌ను మూసివేస్తే, అది పోతుంది!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/నెల", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "ఎప్పుడూ కనిష్ట ధర", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "ఎప్పుడైనా రద్దు చేయండి", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "మీ ఆఫర్‌ను క్లెయిమ్ చేయండి", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "ఆటో-రిన్యూవల్ సభ్యత్వం", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "ప్రత్యేక బహుమతి లోపల", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "మీ ప్రత్యేక ఆఫర్‌ను వెల్లడించడానికి ఒక ట్యాప్", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "ఇప్పుడు తెరువు", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "సబ్‌స్క్రిప్షన్ ఎంపికలను లోడ్ చేయడంలో విఫలమైంది. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "సబ్‌స్క్రిప్షన్ ధరలను లోడ్ చేయలేకపోయాము", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "మీ కనెక్షన్‌ను తనిఖీ చేయండి మరియు మళ్లీ ప్రయత్నించండి.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "మరలా ప్రయత్నించండి", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_th.arb b/example/lib/src/l10n/onboarding/app_th.arb new file mode 100644 index 0000000..faa5561 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_th.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "th", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ผู้ช่วยด้านสุขภาพ AI ขั้นสูง", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "ยินดีต้อนรับ", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "ออกแบบมาเพื่อวิเคราะห์อาการเหมือนกับแพทย์ที่มีประสบการณ์—โดยการเข้าใจรูปแบบ เวลา และบริบท", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "เริ่มต้น", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "มีบัญชีอยู่แล้วใช่ไหม? เข้าสู่ระบบ", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "โดยการดำเนินการต่อ คุณยอมรับ\nข้อกำหนดในการให้บริการ | นโยบายความเป็นส่วนตัว", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "มาทำให้เป็นส่วนตัว Doctorina สำหรับคุณ", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "การปรับแต่ง", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "คุณมาที่นี่วันนี้ทำไม?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "ฉันมีอาการตอนนี้", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "ฉันต้องการเข้าใจการเปลี่ยนแปลงด้านสุขภาพ", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "ฉันต้องการตัดปัญหาที่ร้ายแรงออกไป", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "ฉันกำลังติดตามสุขภาพของฉันอย่างมีประสิทธิภาพ", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "ดำเนินการต่อ", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "เมื่อมีบางอย่างเปลี่ยนแปลงในสุขภาพของคุณ การรู้ว่าสิ่งใดสำคัญที่สุดคือสิ่งที่ยากที่สุด", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina มุ่งเน้นที่รูปแบบอาการและเวลา — สัญญาณเดียวกันที่แพทย์มองหาในระยะเริ่มต้น.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "เลือกเพศของคุณ", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "สิ่งนี้ช่วยให้เราตีความอาการและให้คำแนะนำได้อย่างแม่นยำยิ่งขึ้น", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "ชาย", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "หญิง", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "ไม่ต้องการระบุ", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "คุณอายุเท่าไหร่?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "อายุช่วยให้เราประเมินรูปแบบสุขภาพได้อย่างแม่นยำมากขึ้น", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "มากกว่า 48,000 คน ได้เลือก Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*อิงจากสถิติฐานผู้ใช้ของ Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "พัฒนาโดย แพทย์", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ขั้นตอน 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "คุณจะอธิบายสถานการณ์สุขภาพปัจจุบันของคุณอย่างไร", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "ฉันรู้สึกแข็งแรงโดยทั่วไป", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "ฉันมีปัญหาเล็กน้อยที่ต่อเนื่อง", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "ฉันกำลังจัดการกับภาวะที่รู้จัก", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "ฉันกำลังจัดการกับสิ่งที่ยังไม่ชัดเจน", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ขั้นตอน 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "คุณไปพบแพทย์บ่อยแค่ไหน?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "เป็นประจำ (การตรวจสุขภาพ / การติดตาม)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "บางครั้งเมื่อมีบางอย่างผิดปกติ", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "ไม่บ่อยนัก เฉพาะเมื่อจำเป็น", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "หลีกเลี่ยงการไปหาหมอ", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "ฉันไม่เคยไปหาหมอ", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ขั้นตอน 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "จนถึงตอนนี้ ความท้าทายที่ใหญ่ที่สุดของคุณเกี่ยวกับการดูแลสุขภาพคืออะไร?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "เลือกได้ตามต้องการ", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "เวลารอคอยนานสำหรับการนัดหมาย", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "การเยี่ยมเยียนรู้สึกเร่งรีบ", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "ค่าใช้จ่ายสูงหรือต้นทุนที่ไม่ชัดเจน", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "ยากที่จะอธิบายทุกอย่างให้ชัดเจน", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "ความคิดเห็นหรือคำแนะนำที่ขัดแย้งกัน", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "ไม่มีปัญหาใหญ่", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ขั้นตอน 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "หลังจากการนัดหมาย คุณรู้สึกมั่นใจแค่ไหนเกี่ยวกับสิ่งที่คุณถูกบอก?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "ไม่มีคำตอบที่ถูกหรือผิด", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "ชัดเจนเกี่ยวกับสิ่งที่เกิดขึ้น", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "ค่อนข้างชัดเจน", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "ยังไม่แน่ใจ", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "สับสนมากกว่าก่อน", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "หลาย คนไม่รู้สึกลำบากหลังจากการวินิจฉัย แต่เมื่ออาการเปลี่ยนแปลงไปตามเวลา", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ขั้นตอน 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "คุณรู้สึกว่าความกังวลของคุณได้รับการแก้ไขดีแค่ไหน?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "ขึ้นอยู่กับความรู้สึกส่วนตัวของคุณ", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "ดีมาก", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "ค่อนข้างดี", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "ไม่ค่อยดี", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "แตกต่างกันมาก", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ขั้นตอน 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ก่อนที่จะพบแพทย์ คุณมักจะพยายามทำความเข้าใจอาการด้วยตัวเองหรือไม่?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "ใช่ ฉันทำการวิจัยและติดตามสิ่งต่างๆ", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "บางครั้ง", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "นานๆ ครั้ง", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "ไม่ ฉันพึ่งพามืออาชีพอย่างเต็มที่", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "คำถามเกี่ยวกับสุขภาพ ไม่จำกัด เวลาทำการ.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina พร้อมให้บริการ 24/7。", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "ความชัดเจนไม่ควรรอจนถึงนัดหมายครั้งถัดไป", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "คุณต้องการให้เราตรวจสอบอาการสุขภาพของคุณไหม?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI สามารถติดตามอาการของคุณและแจ้งเตือนหากมีสิ่งใดที่อาจต้องให้ความสนใจ", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "ใช่ — ดูแลสุขภาพของฉัน", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "ใช่ — เฉพาะเมื่อมีการเปลี่ยนแปลงที่สำคัญ", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "ยังไม่แน่ใจ", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "คุณได้ยินเกี่ยวกับ Doctorina จากแพทย์หรือไม่?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "ใช่", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "ไม่มี", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "กำลังวิเคราะห์ผลลัพธ์ของคุณ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "ปรับแต่งประสบการณ์ของคุณ", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "ประสบการณ์ไม่จำกัดกับ Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ผู้ช่วยของคุณที่อยู่ใกล้เสมอ", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "ยังไม่แน่ใจใช่ไหม? เปิดใช้งานการทดลองใช้งานฟรี.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "รายปี", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "รายเดือน", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "รายสัปดาห์", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "รายวัน", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (เพียง $3.34/สัปดาห์)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "ประหยัด 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "ดำเนินการต่อ", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "เริ่มทดลองใช้ฟรี", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "การสมัครสมาชิกจะต่ออายุโดยอัตโนมัติ ยกเลิกได้ทุกเมื่อ", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "ข้อกำหนดการให้บริการ | นโยบายความเป็นส่วนตัว", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "สัปดาห์", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "กำลังวิเคราะห์ผลของคุณ", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "ปิดการแนะนำ", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "กู้คืนการซื้อ", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "กู้คืน", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "ไม่พบการสมัครสมาชิกที่ใช้งานอยู่เพื่อกู้คืน.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "ไม่สามารถกู้คืนการซื้อได้ กรุณาลองอีกครั้งในภายหลัง", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "ไม่สามารถทำการซื้อได้ กรุณาลองอีกครั้งในภายหลัง", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "วันนี้: รับการเข้าถึงทันที", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "ปลดล็อกการเข้าถึงทั้งหมด รับคำตอบด้านสุขภาพจาก AI ได้ทุกเมื่อ.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "วันที่ 2: การเตือนความจำทดลอง", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "เราจะส่งการเตือนความจำว่าการทดลองของคุณกำลังจะสิ้นสุด", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "วันที่ 3: การต่ออายุ", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "คุณจะถูกเรียกเก็บเงินในวันที่ {date} ยกเลิกได้ตลอดเวลาก่อนหน้านั้น.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "รวมอะไรบ้าง", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "เป็นส่วนตัวและปลอดภัย", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "ผู้ช่วย AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "คำตอบด้านสุขภาพทันที", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "ข้อมูลเชิงลึกที่ชัดเจนและมีพื้นฐานทางวิทยาศาสตร์", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "สรุปการสนทนาอัตโนมัติ", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "ภาษาใดก็ได้ ทุกเวลา", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "ต่อสัปดาห์", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "ข้อเสนอครั้งเดียว", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ส่วนลด", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ตลอดไป", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "เมื่อคุณปิดข้อเสนอครั้งเดียวของคุณ มันจะหายไป!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/เดือน", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "ราคาต่ำที่สุดเท่าที่เคยมีมา", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "ยกเลิกได้ทุกเมื่อ", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "เรียกร้องข้อเสนอของคุณ", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "การสมัครสมาชิกแบบต่ออายุอัตโนมัติ", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "ของขวัญพิเศษข้างใน", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "แตะหนึ่งครั้งเพื่อเปิดเผยข้อเสนอพิเศษของคุณ", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "เปิดตอนนี้", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "ไม่สามารถโหลดตัวเลือกการสมัครสมาชิกได้ กรุณาลองอีกครั้งในภายหลัง", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "ไม่สามารถโหลดราคาสมาชิกได้", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "ตรวจสอบการเชื่อมต่อของคุณและลองอีกครั้ง.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "ลองอีกครั้ง", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_tl.arb b/example/lib/src/l10n/onboarding/app_tl.arb new file mode 100644 index 0000000..c2200b1 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_tl.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "tl", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ADVANCED AI HEALTH ASSISTANT", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Maligayang pagdating", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Dinisenyo upang suriin ang mga sintomas tulad ng ginagawa ng mga batikang clinician — sa pamamagitan ng pag-unawa sa mga pattern, timing, at konteksto.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Magsimula", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "May account ka na ba? Mag-log In", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Sa pagpapatuloy, sumasang-ayon ka sa aming Mga Tuntunin ng Serbisyo | Patakaran sa Privacy", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "I-personalize natin ang Doctorina para sa iyo", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "PERSONALISASYON", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Ano ang nagdala sa iyo dito ngayon?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Nakakaranas ako ng mga sintomas ngayon", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Gusto kong maunawaan ang pagbabago sa kalusugan", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Gusto kong alisin ang posibilidad ng seryosong bagay", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Nagmamanman ako ng aking kalusugan nang proaktibo", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Magpatuloy", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Kapag may nagbago sa iyong kalusugan, ang pinakamahirap ay ang malaman kung ano ang mahalaga.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Nakatuon ang Doctorina sa mga pattern ng sintomas at timing — ang parehong mga senyales na hinahanap ng mga clinician sa simula.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Pumili ng iyong kasarian", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Nakakatulong ito sa amin na bigyang-kahulugan ang mga sintomas at magbigay ng mas tumpak na rekomendasyon.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Lalaki", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Babae", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Ayaw sabihin", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Ano ang iyong edad?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Ang edad ay tumutulong sa amin na mas tumpak na suriin ang mga pattern ng kalusugan.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Mahigit 48k+ tao\nang pumili sa Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Batay sa mga istatistika ng base ng gumagamit ng Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Binuo ng\nMga Doktor", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "HAKBANG 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Paano mo ilalarawan ang iyong kasalukuyang sitwasyon sa kalusugan?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Karaniwan akong nakakaramdam ng malusog", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Mayroon akong patuloy na maliliit na alalahanin", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Nagmamanage ako ng kilalang kondisyon", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Mayroon akong hindi nalutas na isyu", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "HAKBANG 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Gaano kadalas kang pumunta sa doktor?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Regularly (checkups / follow-ups)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Paminsan-minsan, kapag may mali", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Bihira, kung kinakailangan lamang", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Iwasan ang pagbisita sa mga doktor", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Hindi ko pa kailanman nakitang doktor", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "HAKBANG 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Ano ang pinakamalaking hamon mo sa pangangalaga sa kalusugan hanggang ngayon?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Pumili ng marami hangga't gusto mo", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Mahahabang oras ng paghihintay para sa mga appointment", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Mabilis ang mga pagbisita", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Mataas na gastos o hindi malinaw na pagpepresyo", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Mahirap ipaliwanag ang lahat nang malinaw", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Magkasalungat na opinyon o payo", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Walang malalaking isyu", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "HAKBANG 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Pagkatapos ng mga appointment, gaano ka katiyak sa mga sinabi sa iyo?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Walang tamang o maling sagot.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Napaka malinaw tungkol sa kung ano ang nangyayari", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Medyo malinaw", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Hindi pa sigurado", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Mas naguguluhan kaysa dati", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Maraming tao ang nahihirapan hindi pagkatapos ng diagnosis kundi kapag nagbabago ang mga sintomas sa paglipas ng panahon.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "HAKBANG 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Gaano mo nararamdaman na karaniwang natutugunan ang iyong mga alalahanin?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Batay sa iyong mga personal na damdamin", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Napakabuti", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Medyo mabuti", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Hindi masyadong mabuti", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Sobrang nag-iiba", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "HAKBANG 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Bago makita ang doktor, karaniwan bang sinusubukan mong unawain ang mga sintomas sa iyong sarili?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Oo, nag-re-research at nagtatala ako ng mga bagay", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Minsan", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Bihira", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Hindi, umaasa ako nang buo sa mga propesyonal", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Ang mga tanong sa kalusugan ay hindi sumusunod sa mga oras ng opisina.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Ang Doctorina ay available 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Hindi dapat maghintay ang kalinawan para sa susunod na appointment.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Gusto mo bang suriin namin ang iyong mga sintomas sa kalusugan?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "Maaari mong subaybayan ng AI ang iyong mga sintomas at alertuhan ka kung may kailangan ng atensyon", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Oo — bantayan ang aking kalusugan", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Oo — kung may mahalagang pagbabago lamang", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Hindi pa sigurado", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Narinig mo ba ang tungkol sa Doctorina mula sa isang doktor?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Oo", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Wala", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "NINANALISANG IYONG MGA RESULTA", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Pinapersonalisa ang iyong karanasan", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Walang limitasyong karanasan sa Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ANG IYONG ASSISTANT NA PALAGING MALAPIT", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Hindi ka pa sigurado? I-enable ang libreng pagsubok.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Taunang", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Buwanang", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Lingguhan", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Araw-araw", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "₱2,200 (₱166.67 bawat linggo)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "₱220", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "MAG-SAVE NG 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Magpatuloy", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Simulan ang Libreng Pagsubok", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Ang subscription ay auto-renewable. Maaaring kanselahin anumang oras", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Mga Tuntunin ng Serbisyo | Patakaran sa Privacy", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "linggo", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Sinusuri ang iyong mga resulta", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Isara ang onboarding", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Ibalik ang mga Pagbili", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Ibalik", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Walang aktibong subscription na natagpuan upang maibalik.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Nabigo ang pag-restore ng mga pagbili. Pakisubukang muli mamaya.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Nabigo ang kumpletuhin ang pagbili. Pakisubukan muli mamaya.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Ngayon: Kumuha ng agarang access", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "I-unlock ang buong access, makakuha ng mga sagot sa kalusugan mula sa AI, anumang oras.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Araw 2: Paalala ng pagsubok", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Magpapadala kami sa iyo ng paalala na malapit nang matapos ang iyong pagsubok", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Araw 3: Pagpapanibago", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Sisingilin ka sa {date}, maaari kang mag-cancel anumang oras bago iyon.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ANO ANG KASAMA", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Pribado at ligtas", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI katulong, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Mabilis na mga sagot sa kalusugan", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Malinaw, batay sa siyensya na mga pananaw", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Mga awtomatikong buod ng pag-uusap", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Anumang wika, anumang oras", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "bawat linggo", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Isang beses na alok", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% DISKWENTO", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "MAGPAKAILANMAN", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Kapag isinara mo ang iyong isang beses na alok, nawala na ito!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/buwan", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "PINAKAMABABANG PRESYO KAILANMAN", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Kanselahin anumang oras", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "I-claim ang iyong alok", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Auto-renewable subscription", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Espesyal na regalo sa loob", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Isang tap para ipakita ang iyong espesyal na alok", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Buksan na", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Nabigong i-load ang mga opsyon sa subscription. Pakisubukang muli mamaya.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Hindi ma-load ang mga presyo ng subscription", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Suriin ang iyong koneksyon at subukang muli.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Subukan muli", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_tr.arb b/example/lib/src/l10n/onboarding/app_tr.arb new file mode 100644 index 0000000..ebdbcaa --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_tr.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "tr", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "GELİŞMİŞ YAPAY ZEKÂ SAĞLIK ASİSTANI", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Doktorina'ya Hoş Geldiniz", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Deneyimli kliniklerin yaptığı gibi semptomları analiz etmek için tasarlandı - kalıpları, zamanlamayı ve bağlamı anlayarak.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Başlayın", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Zaten bir hesabınız var mı? Giriş Yap", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Devam ederek, bizimle\nHizmet Şartları | Gizlilik Politikası üzerinde anlaşıyorsunuz", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Hadi kişiselleştirelim Doctorina senin için", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "KİŞİSELLEŞTİRME", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Bugün buraya neden geldiniz?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Şu anda semptomlar yaşıyorum", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Bir sağlık değişikliğini anlamak istiyorum", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Ciddi bir durumu elemek istiyorum", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Sağlığımı proaktif olarak izliyorum", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Devam et", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Sağlığınızda bir şey değiştiğinde, neyin önemli olduğunu bilmek en zor olandır.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina, semptom kalıplarına ve zamanlamaya odaklanır — kliniklerin erken dönemde aradığı aynı sinyaller.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Cinsiyetinizi seçin", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Bu, semptomları yorumlamamıza ve önerileri daha doğru bir şekilde vermemize yardımcı olur.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Erkek", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Kadın", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Söylemek istemiyorum", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Yaşınız nedir?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Yaş, sağlık kalıplarını daha doğru değerlendirmemize yardımcı olur.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48k+ kişi\nDoctorina'yı seçti", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Doctorina kullanıcı istatistiklerine dayanmaktadır", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Geliştirildi\nDoktorlar", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ADIM 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Mevcut sağlık durumunuzu nasıl tanımlarsınız?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Genel olarak sağlıklı hissediyorum", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Devam eden küçük endişelerim var", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Bilinen bir durumu yönetiyorum", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Çözülemeyen bir şeyle uğraşıyorum", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ADIM 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Genellikle ne sıklıkla doktora gidiyorsunuz?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Düzenli (kontroller / takipler)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Ara sıra, bir şey yanlış olduğunda", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Nadir, sadece gerekiyorsa", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Doktor ziyaretinden kaçının", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Hiç doktora gitmedim", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ADIM 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Şu ana kadar sağlık hizmetleriyle ilgili en büyük zorluğunuz ne oldu?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "İstediğiniz kadar seçin", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Randevular için uzun bekleme süreleri", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Ziyaretler aceleci hissediliyor", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Yüksek maliyet veya belirsiz fiyatlandırma", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Her şeyi net bir şekilde açıklamak zor", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Çelişkili görüşler veya tavsiyeler", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Büyük bir sorun yok", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ADIM 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Randevulardan sonra, size söylenenler hakkında ne kadar eminsiniz?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Doğru ya da yanlış cevap yoktur.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Ne olduğunu çok net anlıyorum", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Biraz net", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Hala belirsiz", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Öncekinden daha fazla kafam karışık", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Birçok insan tanıdan sonra değil ama semptomlar zamanla değiştiğinde zorluk yaşıyor.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ADIM 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Endişelerinizin genellikle ne kadar iyi ele alındığını hissediyorsunuz?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Öznel hislerinize dayanarak", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Çok iyi", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Oldukça iyi", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Pek iyi değil", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Çok değişiyor", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ADIM 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Bir doktora gitmeden önce, genellikle semptomları kendiniz anlamaya çalışır mısınız?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Evet, araştırma yapıyor ve takip ediyorum", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Bazen", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Nadiren", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Hayır, tamamen profesyonellere güveniyorum", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Sağlık soruları mesai saatlerini takip etmez .", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 24/7 mevcut.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Açıklığın bir sonraki randevu için beklemesi gerekmiyor.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Sağlık semptomlarınızı kontrol etmemizi ister misiniz?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "Yapay zeka belirtilerinizi izleyebilir ve bir şeyin dikkat gerektirebileceğini size bildirebilir", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Evet — sağlığımı takip et", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Evet — sadece önemli bir şey değişirse", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Henüz emin değilim", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Doctorina'yı bir doktordan duydunuz mu?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Evet", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Hayır", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "SONUÇLARINIZI ANALİZ EDİYORUZ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Deneyiminizi kişiselleştiriyoruz", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro ile sınırsız deneyim", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "HER ZAMAN YANINIZDA OLAN YARDIMCINIZ", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Henüz emin değil misiniz? Ücretsiz denemeyi etkinleştir.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Yıllık", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Aylık", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Haftalık", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Günlük", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39,99 $ (sadece 3,34 $/hafta)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "KAYDEDİN %58", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Devam et", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Ücretsiz deneme başlat", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Abonelik otomatik olarak yenilenir. İstediğiniz zaman iptal edin", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Hizmet Şartları | Gizlilik Politikası", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "hafta", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Sonuçlarınızı analiz ediliyor", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Eğitimi kapat", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Satın alımları Geri Yükle", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Geri Yükle", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Geri yüklemek için aktif bir abonelik bulunamadı.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Satın alımları geri yüklemede başarısız oldu. Lütfen daha sonra tekrar deneyin.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Satın alma işlemi tamamlanamadı. Lütfen daha sonra tekrar deneyin.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Bugün: Anında erişim elde edin", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Tam erişimi aç, her zaman AI sağlık yanıtları al.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "2. Gün: Deneme hatırlatıcısı", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Deneme sürenizin sona ermek üzere olduğunu hatırlatacağız", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "3. Gün: Yenileme", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "{date} tarihinde ücretlendirileceksiniz, istediğiniz zaman iptal edebilirsiniz.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "NELER DAHİL?", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Özel ve güvenli", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI asistan, 7/24", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Anında sağlık yanıtları", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Açık, bilimsel temelli içgörüler", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Otomatik konuşma özetleri", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Her dil, her zaman", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "haftada", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Tek seferlik teklif", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% İNDİRİM", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "SONSUZ", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Tek seferlik teklifinizi kapattığınızda, gitti!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/ay", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "EN DÜŞÜK FİYAT", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "İstediğiniz zaman iptal edin", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Teklifinizi talep edin", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Otomatik yenilenen abonelik", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Özel hediye içinde", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Tek dokunuşla özel teklifinizi açığa çıkarın", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Şimdi aç", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Abonelik seçeneklerini yüklemek başarısız oldu. Lütfen daha sonra tekrar deneyin.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Abonelik fiyatları yüklenemedi", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Bağlantınızı kontrol edin ve tekrar deneyin.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Tekrar dene", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_uk.arb b/example/lib/src/l10n/onboarding/app_uk.arb new file mode 100644 index 0000000..57493d1 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_uk.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "uk", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "ПРОДВИНУТИЙ AI МЕДИЧНИЙ АСИСТЕНТ", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Ласкаво просимо до Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Довіряють", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Розроблено для аналізу симптомів так, як це роблять досвідчені клініцисти — розуміючи патерни, час та контекст.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Почати", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Вже маєте обліковий запис? Увійти", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Продовжуючи, ви погоджуєтеся з нашими\nУмовами обслуговування | Політикою конфіденційності", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Давайте персоналізуємо Doctorina для вас", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ПЕРСОНАЛІЗАЦІЯ", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Що привело вас сюди сьогодні?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "У мене зараз є симптоми", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Я хочу зрозуміти зміни здоров'я", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Я хочу виключити щось серйозне", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Я моніторю своє здоров'я проактивно", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Продовжити", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Коли щось змінюється у вашому здоров'ї, найважче знати, що важливо.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina зосереджується на паттернах симптомів і часі — це ті ж сигнали, які лікарі шукають на ранніх стадіях.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Виберіть вашу стать", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Це допомагає нам інтерпретувати симптоми та давати рекомендації більш точно.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Чоловічий", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Жіночий", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Віддаю перевагу не відповідати", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Скільки вам років?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Вік допомагає нам точніше оцінювати патерни здоров’я.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Більше ніж 48 тис. людей\nобрали Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*На основі статистики користувачів Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Розроблено лікарями", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "КРОК 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Як би ви описали свою поточну ситуацію зі здоров'ям?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "В цілому почуваюся здорово", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "У мене є постійні незначні проблеми", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Я тримаю своє захворювання під контролем", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Я маю справу з чимось невирішеним", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "КРОК 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Як часто ви зазвичай відвідуєте лікаря?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Регулярно (огляди / контрольні візити)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Іноді, коли щось не так", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Рідко, тільки якщо це необхідно", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Уникаєте відвідувань лікарів", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Я ніколи не відвідував лікаря", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "КРОК 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Яка ваша найбільша проблема з охороною здоров'я на сьогоднішній день?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Виберіть стільки, скільки хочете", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Тривале очікування на прийом", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Візити здаються поспішними", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Висока вартість або неясна ціна", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Важко все пояснити чітко", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Суперечливі думки або поради", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Немає серйозних проблем", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "КРОК 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Після прийомів, наскільки ви впевнені в тому, що вам сказали?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Немає правильних чи неправильних відповідей.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Дуже чітко розумію, що відбувається", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Досить зрозуміло", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Все ще не впевнені", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Більш заплутані, ніж раніше", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Багато людей стикаються з труднощами не після встановлення діагнозу, а коли симптоми змінюються з часом.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "КРОК 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Наскільки добре, на вашу думку, зазвичай вирішуються ваші проблеми?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "На основі ваших суб'єктивних відчуттів", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Дуже добре", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Досить добре", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Не дуже добре", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Це дуже варіюється", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "КРОК 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Перед візитом до лікаря, ви зазвичай намагаєтеся самостійно зрозуміти симптоми?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Так, я досліджую та відстежую симптоми", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Іноді", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Рідко", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Ні, я повністю покладаюся на професіоналів", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Питання про здоров’я не залежать від робочого часу.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina доступна 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Чіткість не повинна чекати наступного прийому.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Хочете, щоб ми перевіряли ваші симптоми здоров'я?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "Штучний інтелект може відстежувати ваші симптоми та сповіщати вас, якщо щось може потребувати уваги", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Так — стежити за своїм здоров'ям", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Так — тільки якщо щось важливе зміниться", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Поки не впевнений", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Ви чули про Doctorina від лікаря?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Так", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Ні", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "АНАЛІЗУЄМО ВАШІ РЕЗУЛЬТАТИ", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Персоналізація вашого досвіду", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Безмежний досвід з Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "ВАШ ПОМІЧНИК, ЯКИЙ ЗАВЖДИ ПОРУЧ", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Ще не впевнені? Увімкніть безкоштовну пробну версію.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Щорічний", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Щомісячний", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Щотижневий", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Щоденно", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (лише $3.34/тиждень)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "ЗЕКОНОМІТЬ 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Продовжити", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Почати безкоштовну пробну версію", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Передплата автоматично поновлюється. Скасуйте в будь-який час", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Умови обслуговування | Політика конфіденційності", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "тиждень", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Аналізуючи ваші результати", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Закрити навчання", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Відновити покупки", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Відновити", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Не знайдено активної підписки для відновлення.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Не вдалося відновити покупки. Будь ласка, спробуйте ще раз пізніше.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Не вдалося завершити покупку. Будь ласка, спробуйте ще раз пізніше.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Сьогодні: Отримайте миттєвий доступ", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Відкрийте повний доступ, отримуйте відповіді на запитання про здоров'я від ШІ в будь-який час.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "День 2: Нагадування про тріал", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Ми надішлемо вам нагадування, що ваш пробний період незабаром закінчиться", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "День 3: Подовження", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "З вас буде списано {date}, скасуйте в будь-який час до.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "ЩО ВКЛЮЧЕНО", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Приватно та безпечно", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI-асистент, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Миттєві відповіді на питання про здоров'я", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Чіткі, науково обґрунтовані інсайти", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Автоматичні резюме розмов", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Будь-яка мова, у будь-який час", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "за тиждень", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Одноразова пропозиція", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% ЗНИЖКА", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "НАЗАВЖДИ", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Якщо ви закриєте свою одноразову пропозицію, вона зникне!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/міс", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "НАЙНИЖЧА ЦІНА ЗА УСЕ ЧАС", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Скасувати в будь-який час", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Отримати вашу пропозицію", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Автоматично поновлювана підписка", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Спеціальний подарунок всередині", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Один дотик, щоб відкрити вашу спеціальну пропозицію", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Відкрити зараз", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Не вдалося завантажити варіанти підписки. Будь ласка, спробуйте пізніше.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Не вдалося завантажити ціни підписок", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Перевірте з'єднання та спробуйте ще раз.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Спробуйте ще раз", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_ur.arb b/example/lib/src/l10n/onboarding/app_ur.arb new file mode 100644 index 0000000..2d9fa29 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_ur.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "ur", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "جدید ترین AI صحت کا معاون", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Doctorina میں خوش آمدید!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "تجربہ کار طبیبوں کی طرح علامات کا تجزیہ کرنے کے لیے ڈیزائن کیا گیا ہے — پیٹرن، وقت، اور سیاق و سباق کو سمجھ کر.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "شروع کریں", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "کیا آپ کے پاس پہلے سے اکاؤنٹ ہے؟ لاگ ان کریں", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "جاری رکھنے پر، آپ ہماری", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "آئیں Doctorina کو آپ کے لیے ذاتی بنائیں", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "ذاتی نوعیت", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "آپ آج یہاں کیوں آئے ہیں؟", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "میں ابھی علامات محسوس کر رہا ہوں", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "میں صحت میں تبدیلی کو سمجھنا چاہتا ہوں", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "میں کچھ سنجیدہ کو خارج کرنا چاہتا ہوں", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "میں اپنی صحت کی نگرانی فعال طور پر کر رہا ہوں", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "جاری رکھیں", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "جب آپ کی صحت میں کچھ تبدیلی آتی ہے تو یہ جاننا کہ کیا اہم ہے سب سے مشکل ہے۔", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "ڈاکٹرینا علامات کے پیٹرن اور وقت پر توجہ مرکوز کرتی ہے — وہی اشارے جو معالجین ابتدائی طور پر تلاش کرتے ہیں.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "اپنا جنس منتخب کریں", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "یہ ہمیں علامات کی تشریح کرنے اور زیادہ درست طریقے سے سفارشات دینے میں مدد کرتا ہے.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "مرد", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "عورت", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "کہنے کو ترجیح نہیں", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "آپ کی عمر کیا ہے؟", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "عمر ہمیں صحت کے پیٹرن کا زیادہ درست اندازہ لگانے میں مدد کرتا ہے.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48 ہزار سے زائد لوگ\nڈاکٹرینا کا انتخاب کر چکے ہیں", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*ڈاکٹرینا کے صارفین کی بنیاد کی شماریات پر مبنی", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "ڈاکٹروں کی جانب سے تیار کردہ\nڈاکٹر", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "مرحلہ 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "آپ اپنی موجودہ صحت کی صورتحال کو کس طرح بیان کریں گے؟", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "میں عام طور پر صحت مند محسوس کرتا ہوں", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "میرے پاس جاری معمولی خدشات ہیں", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "میں ایک معروف حالت کا انتظام کر رہا ہوں", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "میں کسی غیر حل شدہ مسئلے کا سامنا کر رہا ہوں", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "مرحلہ 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "آپ عام طور پر ڈاکٹر سے کتنی بار ملتے ہیں؟", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "باقاعدگی (چیک اپ / فالو اپ)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "کبھی کبھار، جب کچھ غلط ہو", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "بہت کم، صرف ضرورت پڑنے پر", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "ڈاکٹروں کے پاس جانا پسند نہیں کرتے", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "میں نے کبھی ڈاکٹر سے ملاقات نہیں کی", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "مرحلہ 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "اب تک صحت کی دیکھ بھال کے ساتھ آپ کا سب سے بڑا چیلنج کیا رہا ہے؟", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "جتنا چاہیں منتخب کریں", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "طویل انتظار کے اوقات برائے ملاقاتیں", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "ملاقاتیں جلدی محسوس ہوتی ہیں", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "اعلی قیمت یا غیر واضح قیمت", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "سب کچھ واضح طور پر بیان کرنا مشکل ہے", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "متضاد رائے یا مشورہ", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "کوئی بڑی مسائل نہیں", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "مرحلہ 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "ملاقاتوں کے بعد، آپ کو بتایا گیا ہے اس بارے میں آپ کتنے پراعتماد ہیں؟", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "کوئی صحیح یا غلط جواب نہیں ہے۔", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "بہت واضح ہے کہ کیا ہو رہا ہے", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "کچھ واضح", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "ابھی بھی غیر یقینی", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "پہلے سے زیادہ الجھن میں", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "بہت سے لوگ تشخیص کے بعد نہیں جدوجہد کرتے بلکہ جب علامات وقت کے ساتھ بدلتی ہیں۔", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "مرحلہ 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "آپ کو کس حد تک محسوس ہوتا ہے کہ آپ کی تشویشات کا عموماً خیال رکھا جاتا ہے؟", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "آپ کی ذاتی محسوسات کی بنیاد پر", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "بہت اچھا", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "کافی اچھا", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "زیادہ اچھا نہیں", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "یہ بہت مختلف ہے", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "مرحلہ 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "ڈاکٹر سے ملنے سے پہلے، کیا آپ عام طور پر علامات کو خود سمجھنے کی کوشش کرتے ہیں؟", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "جی ہاں، میں تحقیق کرتا ہوں اور چیزوں کا ریکارڈ رکھتا ہوں", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "کبھی کبھی", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "بہت کم", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "نہیں، میں مکمل طور پر پیشہ ور افراد پر انحصار کرتا ہوں", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "صحت کے سوالات دفتر کے اوقات کی پیروی نہیں کرتے.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina ہمیشہ دستیاب ہے 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "وضاحت کو اگلی ملاقات کا انتظار نہیں کرنا چاہیے", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "کیا آپ چاہتے ہیں کہ ہم آپ کی صحت کی علامات پر نظر رکھیں؟", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI آپ کے علامات کی نگرانی کر سکتا ہے اور اگر کچھ توجہ کی ضرورت ہو تو آپ کو آگاہ کر سکتا ہے", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "جی ہاں — اپنی صحت پر نظر رکھیں", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "جی ہاں — صرف اگر کچھ اہم تبدیل ہوتا ہے", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "ابھی یقین نہیں ہے", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "کیا آپ نے ڈاکٹر سے ڈاکٹرینا کے بارے میں سنا؟", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "ہاں", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "نہیں", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "آپ کے نتائج کا تجزیہ کر رہے ہیں", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "آپ کے تجربے کو ذاتی بنانا", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Doctorina Pro کے ساتھ لامحدود تجربہ", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "آپ کا اسسٹنٹ جو ہمیشہ قریب ہے", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "ابھی تک یقین نہیں؟ مفت آزمائش فعال کریں.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "سالانہ", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "ماہانہ", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "ہفتہ وار", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "روزانہ", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 (صرف $3.34/ہفتہ)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "SAVE 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "جاری رکھیں", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "مفت آزمائش شروع کریں", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "سبسکرپشن خود بخود تجدید ہو رہا ہے۔ کسی بھی وقت منسوخ کریں", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "خدمات کی شرائط | رازداری کی پالیسی", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "ہفتہ", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "آپ کے نتائج کا تجزیہ کیا جا رہا ہے", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "آن بورڈنگ بند کریں", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "خریداری بحال کریں", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "بحال کریں", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "بحالتی سبسکرپشن نہیں ملی جسے بحال کیا جا سکے.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "خریداری کی بحالی میں ناکامی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "خریداری مکمل کرنے میں ناکامی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "آج: فوری رسائی حاصل کریں", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "مکمل رسائی حاصل کریں، کسی بھی وقت AI صحت کے جوابات حاصل کریں۔", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "دن 2: ٹرائل کی یاد دہانی", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "ہم آپ کو یاد دہانی بھیجیں گے کہ آپ کا ٹرائل ختم ہونے والا ہے", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "دن 3: تجدید", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "آپ کو {date} کو چارج کیا جائے گا، کسی بھی وقت منسوخ کریں.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "کیا شامل ہے", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "نجی اور محفوظ", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI اسسٹنٹ، 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "فوری صحت کے جوابات", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "صاف، سائنسی بنیادوں پر مبنی بصیرت", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "خودکار گفتگو کے خلاصے", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "کسی بھی زبان، کسی بھی وقت", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "فی ہفتہ", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "ایک بار کی پیشکش", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% کی چھوٹ", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ہمیشہ", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "ایک بار جب آپ اپنی پیشکش بند کر دیں گے، یہ ختم ہو جائے گی!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/ماہ", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "سب سے کم قیمت کبھی", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "کبھی بھی منسوخ کریں", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "اپنا آفر حاصل کریں", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "خودکار تجدید سبسکرپشن", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "خاص تحفہ اندر", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "ایک ٹیپ سے اپنی خاص پیشکش ظاہر کریں", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "اب کھولیں", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "سبسکرپشن کے اختیارات لوڈ کرنے میں ناکامی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "سبسکرپشن کی قیمتیں لوڈ نہیں کی جا سکیں", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "اپنی کنکشن چیک کریں اور دوبارہ کوشش کریں", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "دوبارہ کوشش کریں", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_uz.arb b/example/lib/src/l10n/onboarding/app_uz.arb new file mode 100644 index 0000000..19229d3 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_uz.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "uz", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "Rivojlangan AI sog'liqni saqlash yordamchisi", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Doctorina'ga xush kelibsiz!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Tajribali kliniklar kabi simptomlarni tahlil qilish uchun mo'ljallangan - naqshlar, vaqt va kontekstni tushunish orqali.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Boshlash", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Allaqachon hisobingiz bormi? Kirish", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Davom etish orqali siz Xizmat shartlari | Maxfiylik siyosati bilan rozi bo'lasiz", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Doctorina ni siz uchun shaxsiylashtiraylik", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "Shaxsiylashtirish", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Bugun sizni bu yerga nima olib keldi?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Men hozir simptomlarim bor", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Men sog'liq o'zgarishini tushunmoqchiman", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "jiddiy narsani istisno qilmoqchiman", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Men salomatligimni proaktiv ravishda kuzataman", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Davom etish", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Sizning salomatligingizda biror narsa o'zgarganda, nima muhimligini bilish eng qiyinidir.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina simptomlar naqshlari va vaqtiga e'tibor qaratadi — shifokorlar dastlab qidiradigan bir xil signal.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Jinsingizni tanlang", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Bu bizga simptomlarni talqin qilish va tavsiyalarni aniqroq berishga yordam beradi", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Erkak", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Ayol", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Aytilmasini afzal ko'raman", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Yoshingiz nechida?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Yosh bizga sog'liqning tendentsiyalarini aniqroq baholashga yordam beradi", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "48 mingdan ortiq odam\nDoctorina ni tanladi", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Doctorina foydalanuvchilari statistikalariga asoslangan", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Tayyorlangan\nShifokorlar tomonidan", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "1/6-qadam", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Hozirgi sog'lig'ingizni qanday tasvirlaysiz?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Men umuman sog'lom his qilaman", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Men davom etayotgan kichik muammolarim bor", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Men ma'lum holatni boshqarayapman", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Men hal qilinmagan bir narsani boshdan kechiryapman", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "2/6-qadam", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Siz odatda qanchalik tez-tez shifokorga borasiz?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Muntazam (tekshiruvlar / kuzatuvlar)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Ba'zan, biror narsa noto'g'ri bo'lganda", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Kamdan-kam, faqat zarur bo'lganda", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Shifokorlarga borishni oldini oling", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Men hech qachon shifokorga bormaganman", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "3/6-qadam", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Sizning sog'liqni saqlash bilan bog'liq eng katta muammoingiz nima? ", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Xohlaganingizcha tanlang", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Qabul uchun uzoq kutish vaqtlar", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Tadbirlar shoshilinch tuyuladi", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Yuqori narx yoki noaniq narxlar", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Hammasini aniq tushuntirish qiyin", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Maqsadli fikrlar yoki maslahatlar", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Katta muammolar yo'q", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "Qadam 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Qabuldan so'ng, sizga aytilgan narsalarga qanchalik ishonasiz?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "To'g'ri yoki noto'g'ri javob yo'q", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Nima bo'layotgani haqida juda aniq", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Biroz aniq", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Hali hamon aniq emasman", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Oldingidan ko'proq chalkashaman", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Ko'p odamlar tashxis qo'yilgandan keyin emas, balki vaqt o'tishi bilan simptomlar o'zgarganda qiyinchiliklarga duch kelishadi.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "Qadam 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "O'zingizni xavotirlaringiz odatda qanday hal qilinadi deb his qilasiz?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Sizning subyektiv his-tuyg'ularingizga asoslangan", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Juda yaxshi", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Qarishiq yaxshi", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Juda yaxshi emas", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Bu juda farq qiladi", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "Qadam 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Doktorga borishdan oldin, odatda, simptomlarni o'zingiz tushunishga harakat qilasizmi?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Ha, men tadqiqot qilaman va kuzataman", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Ba'zan", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "kamdan-kam", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Yo'q, men to'liq professionalarga tayanaman", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Sog'liq savollari ish vaqti bilan bog'liq emas.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina haftaning 24/7 davomida mavjud.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Aniqlik keyingi uchrashuvni kutmasligi kerak", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Sizdan sog'liq simptomlaringizni tekshirishni xohlaysizmi?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI sizning simptomlaringizni kuzatib borishi va biror narsa e'tiborni talab qilsa, sizni ogohlantirishi mumkin", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Ha — salomatligimni kuzatib boring", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Ha — faqat muhim o'zgarishlar bo'lsa", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Hali ishonch hosil emas", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Siz Doctorina haqida shifokordan eshitdingizmi?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Ha", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Yo'q", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "Natijalaringizni tahlil qilmoqdamiz", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Tajribangizni shaxsiylashtirish", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Cheksiz tajriba Doctorina Pro bilan", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "Sizning doimo yoningizda bo'lgan yordamchingiz", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Hali ishonchingiz komil emasmi? Bepul sinovni yoqish.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Yillik", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Oylik", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Haftalik", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Kundalik", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39.99 dollar (faqat 3.34 dollar/hafta)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "58% tejang", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Davom etish", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Bepul sinovni boshlash", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Obuna avtomatik ravishda yangilanadi. Istalgan vaqtda bekor qilishingiz mumkin", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Xizmat shartlari | Maxfiylik siyosati", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "hafta", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Natijalaringizni tahlil qilinmoqda", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "O'qitishni yopish", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Sotib olishlarni tiklash", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Qaytarish", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Qayta tiklash uchun faol obuna topilmadi", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Xaridlarni tiklashda xato. Iltimos, keyinroq qayta urinib ko'ring.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Sotib olishni yakunlashda xato yuz berdi. Iltimos, keyinroq qayta urinib ko'ring.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Bugun: Tezkor kirish oling", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "To'liq kirishni oching, har doim AI sog'liq javoblarini oling.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "2-kun: Sinov eslatmasi", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Biz sizga sinov muddati tugashiga yaqinlashayotganingizni eslatamiz", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "3-kun: Yangilanish", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Siz {date} kuni to'lanasiz, istalgan vaqtda bekor qilishingiz mumkin.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "NIMA KIRITILGAN", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Shaxsiy va xavfsiz", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI yordamchisi, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Tez tibbiy javoblar", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Aniq, ilmiy asoslangan tushunchalar", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Avtomatik suhbat rezyumelari", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Har qanday til, har doim", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "haftasiga", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Bir martalik taklif", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% chegirma", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "ABADIY", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Bir martalik taklifingizni yopganingizda, u yo'q bo'ladi!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/oy", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "ENG YUQORIGI NARX", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Istalgan paytda bekor qilish", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Taklifingizni oling", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Avtomatik yangilanish obunasi", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Ichida maxsus sovg'a", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Maxsus taklifingizni ochish uchun bitta bosish", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Hozir oching", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Obuna variantlarini yuklashda xato. Iltimos, keyinroq qayta urinib ko'ring.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Obuna narxlarini yuklab bo'lmadi", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Aloqangizni tekshirib ko'ring va qaytadan urinib ko'ring.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Qayta urinib ko'ring", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_vi.arb b/example/lib/src/l10n/onboarding/app_vi.arb new file mode 100644 index 0000000..a4eb13f --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_vi.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "vi", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "TRỢ LÝ SỨC KHỎE AI TIÊN TIẾN", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Chào mừng đến với Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Được thiết kế để phân tích triệu chứng giống như các bác sĩ lâm sàng có kinh nghiệm — bằng cách hiểu các mẫu, thời gian và ngữ cảnh.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Bắt đầu", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Bạn đã có tài khoản? Đăng Nhập", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Bằng cách tiếp tục, bạn đồng ý với\nĐiều khoản dịch vụ | Chính sách bảo mật", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Hãy cá nhân hóa Doctorina cho bạn", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "CÁ NHÂN HÓA", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Bạn đến đây hôm nay vì lý do gì?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Tôi đang trải qua triệu chứng ngay bây giờ", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Tôi muốn hiểu một sự thay đổi về sức khỏe", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Tôi muốn loại trừ điều gì đó nghiêm trọng", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Tôi đang theo dõi sức khỏe của mình một cách chủ động", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Tiếp tục", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Khi có điều gì đó thay đổi trong sức khỏe của bạn, việc biết điều gì quan trọng là khó nhất.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina tập trung vào các mẫu triệu chứng và thời gian — những tín hiệu mà các bác sĩ lâm sàng tìm kiếm từ sớm.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Chọn giới tính của bạn", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Điều này giúp chúng tôi diễn giải triệu chứng và đưa ra khuyến nghị chính xác hơn.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Nam", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Nữ", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Không muốn nói", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Bạn bao nhiêu tuổi?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Tuổi giúp chúng tôi đánh giá các mô hình sức khỏe chính xác hơn.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Hơn 48k+ người\nđã chọn Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Dựa trên thống kê người dùng của Doctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Phát triển bởi\nBác sĩ", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "BƯỚC 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Bạn sẽ mô tả tình trạng sức khỏe hiện tại của mình như thế nào?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Tôi thường cảm thấy khỏe mạnh", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Tôi có những mối quan tâm nhỏ kéo dài", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Tôi đang quản lý một tình trạng đã biết", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Tôi đang đối phó với một vấn đề chưa được giải quyết", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "BƯỚC 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Bạn thường gặp bác sĩ bao lâu một lần?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Thường xuyên (kiểm tra / theo dõi)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Thỉnh thoảng, khi có điều gì đó không ổn", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Hiếm khi, chỉ khi cần thiết", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Tránh đi khám bác sĩ", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Tôi chưa bao giờ đến bác sĩ", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "BƯỚC 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Thách thức lớn nhất của bạn với chăm sóc sức khỏe cho đến nay là gì?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Chọn bao nhiêu tùy thích", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Thời gian chờ lâu cho các cuộc hẹn", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Các cuộc hẹn cảm thấy vội vã", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Chi phí cao hoặc giá không rõ ràng", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Khó để giải thích mọi thứ một cách rõ ràng", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Ý kiến hoặc lời khuyên mâu thuẫn", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Không có vấn đề lớn", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "BƯỚC 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Sau các cuộc hẹn, bạn cảm thấy tự tin như thế nào về những gì bạn đã được nói?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Không có câu trả lời đúng hay sai.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Rất rõ ràng về những gì đang xảy ra", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Hơi rõ ràng", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Vẫn không chắc chắn", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Bối rối hơn trước", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Nhiều người gặp khó khăn không phải sau khi chẩn đoán mà khi triệu chứng thay đổi theo thời gian.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "BƯỚC 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Bạn cảm thấy mối quan tâm của mình thường được giải quyết như thế nào?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Dựa trên cảm giác chủ quan của bạn", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Rất tốt", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Khá tốt", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Không được tốt lắm", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Nó thay đổi rất nhiều", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "BƯỚC 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Trước khi gặp bác sĩ, bạn thường cố gắng tự hiểu các triệu chứng không?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Có, tôi nghiên cứu và theo dõi mọi thứ", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Đôi khi", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Hiếm khi", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Không, tôi hoàn toàn dựa vào các chuyên gia", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Câu hỏi về sức khỏe không theo giờ làm việc.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina có có sẵn 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Sự rõ ràng không nên phải chờ đến cuộc hẹn tiếp theo.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Bạn có muốn chúng tôi kiểm tra tình trạng sức khỏe của bạn không?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI có thể theo dõi triệu chứng của bạn và cảnh báo bạn nếu có điều gì cần chú ý", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Có — theo dõi sức khỏe của tôi", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Có — chỉ khi có điều gì quan trọng thay đổi", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Chưa chắc chắn", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Bạn có nghe về Doctorina từ một bác sĩ không?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Có", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Không", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "ĐANG PHÂN TÍCH KẾT QUẢ CỦA BẠN", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Cá nhân hóa trải nghiệm của bạn", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Trải nghiệm không giới hạn với Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "TRỢ LÝ CỦA BẠN LUÔN Ở GẦN", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Chưa chắc chắn? Kích hoạt dùng thử miễn phí.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Hàng năm", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Hàng tháng", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Hàng tuần", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Hàng ngày", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39,99 USD (chỉ 3,34 USD/tuần)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "TIẾT KIỆM 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Tiếp tục", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Bắt đầu dùng thử miễn phí", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Gói đăng ký sẽ tự động gia hạn. Hủy bất cứ lúc nào", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Điều khoản dịch vụ | Chính sách bảo mật", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "tuần", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Đang phân tích kết quả của bạn", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Đóng hướng dẫn", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Khôi phục giao dịch", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Khôi phục", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Không tìm thấy đăng ký hoạt động để khôi phục.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Không thể khôi phục giao dịch mua. Vui lòng thử lại sau.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Không thể hoàn tất giao dịch. Vui lòng thử lại sau.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Hôm nay: Nhận quyền truy cập ngay lập tức", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Mở khóa quyền truy cập đầy đủ, nhận câu trả lời sức khỏe AI, bất cứ lúc nào.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Ngày 2: Nhắc nhở thử nghiệm", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Chúng tôi sẽ gửi cho bạn một lời nhắc rằng thử nghiệm của bạn sắp kết thúc", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Ngày 3: Gia hạn", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Bạn sẽ bị tính phí vào {date}, hủy bất cứ lúc nào trước đó.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "CÓ GÌ TRONG", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Riêng tư và an toàn", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "Trợ lý AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Câu trả lời sức khỏe ngay lập tức", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Thông tin rõ ràng, dựa trên khoa học", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Tóm tắt cuộc trò chuyện tự động", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Bất kỳ ngôn ngữ nào, bất cứ lúc nào", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "mỗi tuần", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Ưu đãi một lần", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% GIẢM GIÁ", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "MÃI MÃI", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Khi bạn đóng ưu đãi một lần của mình, nó sẽ biến mất!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/tháng", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "GIÁ THẤP NHẤT TỪ TRƯỚC ĐẾN NAY", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Hủy bất cứ lúc nào", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Nhận ưu đãi của bạn", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Đăng ký tự động gia hạn", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Quà tặng đặc biệt bên trong", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Chạm một lần để tiết lộ ưu đãi đặc biệt của bạn", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Mở ngay", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Không thể tải tùy chọn đăng ký. Vui lòng thử lại sau.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Không thể tải giá đăng ký", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Kiểm tra kết nối của bạn và thử lại.", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Thử lại", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_zh.arb b/example/lib/src/l10n/onboarding/app_zh.arb new file mode 100644 index 0000000..1f8a710 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_zh.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "zh", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "先进的人工智能健康助手", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "欢迎来到Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "旨在像经验丰富的临床医生一样分析症状——通过理解模式、时机和背景。", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "开始", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "已经有账户了吗? 登录", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "继续即表示您同意我们的\n服务条款 | 隐私政策", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "让我们为您个性化 Doctorina", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "个性化", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "你今天来这里的原因是什么?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "我现在有症状", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "我想了解健康变化", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "我想排除一些严重的问题", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "我在主动监测我的健康", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "继续", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "当你的健康发生变化时,了解重要的事情是最困难的。", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina专注于症状模式和时机 — 这是临床医生早期寻找的相同信号。", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "选择您的性别", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "这有助于我们更准确地解释症状并给出建议", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "男性", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "女性", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "不愿透露", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "你的年龄是多少?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "年龄帮助我们更准确地评估健康模式", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "超过48k+人\n选择了Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*基于Doctorina用户基础统计", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "由 医生 开发", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "步骤 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "您如何描述您当前的健康状况?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "我通常感觉健康", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "我有持续的轻微担忧", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "我正在管理已知的病症", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "我正在处理一些未解决的问题", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "步骤 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "你通常多久看一次医生?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "定期(检查/跟进)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "偶尔,当有问题时", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "很少,仅在必要时", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "避免看医生", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "我从未看过医生", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "步骤 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "到目前为止,您在医疗保健方面最大的挑战是什么?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "可以选择多个", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "预约等待时间长", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "就诊感觉匆忙", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "高成本或不明确的定价", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "很难清楚地解释一切", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "相互矛盾的意见或建议", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "没有重大问题", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "步骤 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "就诊后,您对医生所说的内容有多自信?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "没有对或错的答案", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "对发生的事情非常清楚", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "有点清楚", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "仍然不确定", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "比之前更困惑", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "许多 人们在诊断后并不感到挣扎 ,而是在症状随着时间变化时。", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "步骤 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "您觉得您的担忧通常得到多好的解决?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "基于您的主观感受", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "很好", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "相当好", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "不太好", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "变化很大", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "步骤 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "在看医生之前,您通常会尝试自己理解症状吗?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "是的,我会研究和跟踪事情", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "有时", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "很少", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "不,我完全依赖专业人士", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "健康问题 不受 办公时间限制。", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 全天候 24/7 可用。", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "清晰不应等待下一个预约", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "您希望我们关注您的健康症状吗?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI可以监测您的症状,并在需要关注时提醒您", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "是 — 关注我的健康", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "是 — 仅在重要事项发生变化时", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "还不确定", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "您是从医生那里听说Doctorina的吗?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "是", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "没有", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "分析您的结果", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "个性化您的体验", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "与
Doctorina Pro的无限体验", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "您的助手,随时在您身边", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "还不确定?启用免费试用。", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "年度", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "每月", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "每周", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "每日", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39.99美元(每周仅3.34美元)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "¥27.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "节省58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "继续", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "开始免费试用", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "订阅为自动续订。随时取消", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "服务条款 | 隐私政策", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "周", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "正在分析您的结果", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "关闭入门", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "恢复购买", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "恢复", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "未找到可恢复的有效订阅", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "恢复购买失败。请稍后再试。", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "购买未完成。请稍后再试。", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "今天:立即获取访问权限", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "解锁完整访问权限,随时获取人工智能健康答案。", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "第二天:试用提醒", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "我们会提醒您试用即将结束", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "第3天:续订", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "您将在 {date} 被收费,随时可以在之前取消。", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "包含内容", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "私密且安全", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI助手,24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "即时健康答案", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "清晰的基于科学的见解", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "自动对话摘要", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "任何语言,随时可用", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "每周", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "一次性优惠", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% 折扣", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "永远", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "一旦您关闭一次性优惠,它就消失了!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/月", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "史上最低价", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "随时取消", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "领取您的优惠", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "自动续订订阅", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "里面有特别的礼物", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "一键揭晓您的特别优惠", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "立即打开", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "无法加载订阅选项。请稍后再试。", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "无法加载订阅价格", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "检查您的连接并重试。", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "再试一次", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_zh_CN.arb b/example/lib/src/l10n/onboarding/app_zh_CN.arb new file mode 100644 index 0000000..03a779b --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_zh_CN.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "zh_CN", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "先进的人工智能健康助手", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "欢迎来到Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "旨在像经验丰富的临床医生一样分析症状——通过理解模式、时机和背景。", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "开始", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "已经有账户了吗? 登录", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "继续即表示您同意我们的\n服务条款 | 隐私政策", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "让我们为您个性化 Doctorina", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "个性化", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "你今天来这里的原因是什么?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "我现在有症状", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "我想了解健康变化", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "我想排除一些严重的问题", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "我在主动监测我的健康", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "继续", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "当你的健康发生变化时,了解重要的事情是最困难的。", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina专注于症状模式和时机 — 这是临床医生早期寻找的相同信号。", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "选择您的性别", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "这有助于我们更准确地解释症状并给出建议", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "男性", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "女性", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "不愿透露", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "你的年龄是多少?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "年龄帮助我们更准确地评估健康模式", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "超过48k+人\n选择了Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*基于Doctorina用户基础统计", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "由 医生 开发", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "步骤 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "您如何描述您当前的健康状况?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "我通常感觉健康", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "我有持续的轻微担忧", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "我正在管理已知的病症", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "我正在处理一些未解决的问题", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "步骤 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "你通常多久看一次医生?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "定期(检查/跟进)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "偶尔,当有问题时", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "很少,仅在必要时", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "避免看医生", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "我从未看过医生", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "步骤 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "到目前为止,您在医疗保健方面最大的挑战是什么?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "可以选择多个", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "预约等待时间长", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "就诊感觉匆忙", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "高成本或不明确的定价", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "很难清楚地解释一切", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "相互矛盾的意见或建议", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "没有重大问题", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "步骤 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "就诊后,您对医生所说的内容有多自信?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "没有对或错的答案", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "对发生的事情非常清楚", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "有点清楚", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "仍然不确定", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "比之前更困惑", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "许多 人们在诊断后并不感到挣扎 ,而是在症状随着时间变化时。", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "步骤 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "您觉得您的担忧通常得到多好的解决?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "基于您的主观感受", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "很好", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "相当好", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "不太好", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "变化很大", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "步骤 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "在看医生之前,您通常会尝试自己理解症状吗?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "是的,我会研究和跟踪事情", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "有时", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "很少", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "不,我完全依赖专业人士", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "健康问题 不受 办公时间限制。", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 全天候 24/7 可用。", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "清晰不应等待下一个预约", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "您希望我们关注您的健康症状吗?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI可以监测您的症状,并在需要关注时提醒您", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "是 — 关注我的健康", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "是 — 仅在重要事项发生变化时", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "还不确定", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "您是从医生那里听说Doctorina的吗?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "是", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "没有", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "分析您的结果", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "个性化您的体验", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "与
Doctorina Pro的无限体验", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "您的助手,随时在您身边", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "还不确定?启用免费试用。", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "年度", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "每月", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "每周", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "每日", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "39.99美元(每周仅3.34美元)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "¥27.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "节省58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "继续", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "开始免费试用", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "订阅为自动续订。随时取消", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "服务条款 | 隐私政策", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "周", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "正在分析您的结果", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "关闭入门", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "恢复购买", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "恢复", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "未找到可恢复的有效订阅", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "恢复购买失败。请稍后再试。", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "购买未完成。请稍后再试。", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "今天:立即获取访问权限", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "解锁完整访问权限,随时获取人工智能健康答案。", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "第二天:试用提醒", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "我们会提醒您试用即将结束", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "第3天:续订", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "您将在 {date} 被收费,随时可以在之前取消。", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "包含内容", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "私密且安全", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI助手,24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "即时健康答案", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "清晰的基于科学的见解", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "自动对话摘要", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "任何语言,随时可用", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "每周", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "一次性优惠", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% 折扣", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "永远", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "一旦您关闭一次性优惠,它就消失了!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/月", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "史上最低价", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "随时取消", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "领取您的优惠", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "自动续订订阅", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "里面有特别的礼物", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "一键揭晓您的特别优惠", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "立即打开", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "无法加载订阅选项。请稍后再试。", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "无法加载订阅价格", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "检查您的连接并重试。", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "再试一次", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_zh_HK.arb b/example/lib/src/l10n/onboarding/app_zh_HK.arb new file mode 100644 index 0000000..c13e566 --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_zh_HK.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "zh_HK", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "先進的人工智能健康助手", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "歡迎來到Doctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "旨在像經驗豐富的臨床醫生一樣分析症狀——通過理解模式、時間和背景。", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "開始使用", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "已經有帳戶了嗎? 登入", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "繼續即表示您同意我們的\n服務條款 | 私隱政策", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "讓我們為你個性化 Doctorina", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "個人化", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "你今天來這裡的原因是什麼?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "我現在有症狀", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "我想了解健康變化", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "我想排除一些嚴重的問題", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "我正在主動監測我的健康", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "繼續", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "當你的健康出現變化時,最難的是知道什麼是重要的", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "Doctorina 專注於症狀模式和時間 — 醫生早期尋找的相同信號。", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "選擇你的性別", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "這有助於我們更準確地解釋症狀並提供建議", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "男性", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "女性", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "不想透露", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "你的年齡是?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "年齡有助於我們更準確地評估健康模式", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "超過48,000人 已選擇Doctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*根據Doctorina用戶基礎統計", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "由 醫生 開發", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "步驟 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "你會如何描述你目前的健康狀況?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "我一般感覺健康", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "我有持續的小問題", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "我正在管理一個已知的病症", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "我正在處理一些未解決的問題", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "步驟 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "你通常多久看一次醫生?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "定期(檢查/跟進)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "偶爾,當有些不對勁時", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "很少,只有在必要時", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "避免看醫生", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "我從未看過醫生", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "步驟 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "到目前為止,您在醫療方面最大的挑戰是什麼?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "隨意選擇多個", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "長時間等待預約", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "訪問感覺匆忙", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "高昂的費用或不清晰的定價", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "很難清楚地解釋所有內容", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "相互矛盾的意見或建議", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "沒有重大問題", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "步驟 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "在看完醫生後,您對所聽到的內容有多有信心?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "沒有正確或錯誤的答案", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "對發生的事情非常清楚", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "有點清楚", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "仍然不確定", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "比之前更困惑", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "許多 人不是在診斷後 而是在症狀隨時間變化時感到困難", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "步驟 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "你覺得你的關注通常得到多好的解決?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "根據你的主觀感受", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "非常好", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "相當好", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "不太好", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "變化很大", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "步驟 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "在看醫生之前,你通常會試著自己理解症狀嗎?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "是的,我會研究和追蹤事情", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "有時", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "很少", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "不,我完全依賴專業人士", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "健康問題 不受 辦公時間限制。", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "Doctorina 是 24/7 可用。", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "清晰不應該等到下次約診。", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "你想讓我們關心你的健康症狀嗎?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "AI 可以監察您的症狀,並在需要注意的情況下提醒您", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "是 — 留意我的健康", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "是 — 只有在重要變更時", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "還不確定", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "你是從醫生那裡聽說Doctorina的嗎?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "是", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "沒有", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "分析您的結果", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "個人化您的體驗", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "無限體驗 Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "您的助手,隨時在您身邊", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "還不確定?啟用免費試用。", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "每年", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "每月", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "每週", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "每日", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99(每週只需$3.34)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "節省 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "繼續", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "開始免費試用", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "訂閱為自動續訂。隨時取消", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "服務條款 | 私隱政策", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "星期", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "分析您的結果", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "關閉入門指導", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "恢復購買", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "恢復", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "未找到可恢復的有效訂閱。", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "無法恢復購買。請稍後再試。", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "未能完成購買。請稍後再試。", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "今天:立即獲得訪問權限", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "解鎖完整訪問,隨時獲得AI健康答案。", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "第2天:試用提醒", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "我們會提醒您試用期即將結束", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "第3天:續訂", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "您將在 {date} 被收費,隨時可以在之前取消。", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "包含什麼", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "私密和安全", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "AI助手,24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "即時健康答案", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "清晰的科學基礎見解", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "自動對話摘要", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "任何語言,隨時都可以", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "每週", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "一次性優惠", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% 折扣", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "永遠", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "一旦您關閉一次性優惠,它就消失了!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/月", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "歷史最低價", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "隨時取消", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "索取您的優惠", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "自動續訂訂閱", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "特別的禮物在裡面", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "一觸即發,揭曉您的特別優惠", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "立即打開", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "無法加載訂閱選項。請稍後再試。", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "無法加載訂閱價格", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "檢查您的連接並重試。", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "再試一次", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/onboarding/app_zu.arb b/example/lib/src/l10n/onboarding/app_zu.arb new file mode 100644 index 0000000..9ccd7fb --- /dev/null +++ b/example/lib/src/l10n/onboarding/app_zu.arb @@ -0,0 +1,588 @@ +{ + "@@locale": "zu", + "appNameLogo": "doctorina", + "@appNameLogo": { + "description": "Brand name displayed under the logo on the welcome screen" + }, + "welcomeTagline": "I-ADVANCED AI HEALTH ASSISTANT", + "@welcomeTagline": { + "description": "Short tagline describing the product category" + }, + "welcomeScreenTitle": "Wamkelekile kuDoctorina!", + "@welcomeScreenTitle": { + "description": "Main headline welcoming the user" + }, + "socialProofTrustedBy": "Trusted by\n48K+ Users", + "@socialProofTrustedBy": { + "description": "Social proof header with highlighted user count\nNew line should be preserved. 48K+" + }, + "welcomeDescription": "Kwakhiwe ukuze kuhlaziywe izimpawu ngendlela abelaphi abanolwazi abenza ngayo — ngokwokuqonda amaphethini, isikhathi, kanye nomongo.", + "@welcomeDescription": { + "description": "Short paragraph explaining the value proposition of the app" + }, + "getStartedBtn": "Qala", + "@getStartedBtn": { + "description": "Primary call-to-action button to begin onboarding" + }, + "alreadyHaveAccount": "Usunayo i-akhawunti? Ngenelela", + "@alreadyHaveAccount": { + "description": "Secondary text prompting existing users to sign in with tappable login action" + }, + "termsConsent": "Ngok继续, uyavuma\nImigomo Yesevisi | Inqubomgomo Yobumfihlo", + "@termsConsent": { + "description": "Legal consent text with tappable Terms of Service and Privacy Policy\nNew line should be preserved" + }, + "personalizationInterruptionTitle": "Masenzele Doctorina kuwe", + "@personalizationInterruptionTitle": { + "description": "Headline prompting the user to start personalization with highlighted brand name" + }, + "personalizationSectionLabel": "Ukwenza kube ngokwakho", + "@personalizationSectionLabel": { + "description": "Small section label indicating personalization flow" + }, + "personalizationReasonTitle": "Yini ekulethile namuhla?", + "@personalizationReasonTitle": { + "description": "Question asking why the user opened the app" + }, + "personalizationReasonSymptomsNow": "Ngiyazizwa nginezimpawu manje", + "@personalizationReasonSymptomsNow": { + "description": "Option indicating the user currently has symptoms" + }, + "personalizationReasonUnderstandChange": "Ngifuna ukuqonda ushintsho lwezempilo", + "@personalizationReasonUnderstandChange": { + "description": "Option indicating the user wants to understand a health change" + }, + "personalizationReasonRuleOutSerious": "Ngifuna ukwehlisa okuthile okukhulu", + "@personalizationReasonRuleOutSerious": { + "description": "Option indicating the user wants to rule out serious issues" + }, + "personalizationReasonMonitoring": "Ngiyazilanda impilo yami ngokuqapha", + "@personalizationReasonMonitoring": { + "description": "Option indicating proactive health monitoring" + }, + "continueBtn": "Qhubeka", + "@continueBtn": { + "description": "Primary button to proceed to next step" + }, + "captionEmpathyText": "Lapho kukhona okushintshayo empilweni yakho, ukwazi ukuthi yini ebalulekile kuyinselele.", + "@captionEmpathyText": { + "description": "Introductory empathy statement about health uncertainty" + }, + "captionDifferentiatorText": "U-Doctorina ugxile ezimpawu nasezikhathini — lezi zimpawu ezibhekwa ngodokotela ekuqaleni.", + "@captionDifferentiatorText": { + "description": "Statement explaining Doctorina's analytical approach with emphasized phrase" + }, + "genderTitle": "Khetha ubulili bakho", + "@genderTitle": { + "description": "Question asking the user to select gender" + }, + "genderSubtitle": "Lokhu kusisiza ukuhunyushwa kwezimpawu nokunikeza izincomo ngokunembile.", + "@genderSubtitle": { + "description": "Supporting text explaining why gender data is used" + }, + "genderMale": "Umdlaliso", + "@genderMale": { + "description": "Gender selection option male" + }, + "genderFemale": "Owesifazane", + "@genderFemale": { + "description": "Gender selection option female" + }, + "genderPreferNotSay": "Ngifuna ukungasho", + "@genderPreferNotSay": { + "description": "Gender selection option prefer not to disclose" + }, + "ageTitle": "Uneminyaka emingaki?", + "@ageTitle": { + "description": "Question asking the user's age" + }, + "ageSubtitle": "Iminyaka isisiza ekuboniseni izimo zempilo ngokunembile.", + "@ageSubtitle": { + "description": "Supporting explanation for age usage" + }, + "socialProofLargeTitle": "Abantu abangaphezu kuka-48k+\nbakhethe uDoctorina", + "@socialProofLargeTitle": { + "description": "Social proof headline with emphasized number\nNew line should be preserved" + }, + "socialProofDisclaimer": "*Ngokwezibalo zomsebenzisi beDoctorina", + "@socialProofDisclaimer": { + "description": "Small note describing data source" + }, + "developedByDoctors": "Thuthukiswe ngama
Dokotela", + "@developedByDoctors": { + "description": "Badge text indicating medical expertise\nNew line should be preserved" + }, + "quizStepLabel1": "ISINYATHE 1/6", + "@quizStepLabel1": { + "description": "Progress indicator showing current quiz step" + }, + "quizHealthSituationTitle": "Ungakuchaza kanjani isimo sakho sempilo njengamanje?", + "@quizHealthSituationTitle": { + "description": "Question about overall health situation" + }, + "quizHealthHealthy": "Ngij generally ngizizwa ngempilo", + "@quizHealthHealthy": { + "description": "Option indicating no major health concerns" + }, + "quizHealthMinorConcerns": "Ngine zinkinga ezincane eziphakathi", + "@quizHealthMinorConcerns": { + "description": "Option indicating minor ongoing issues" + }, + "quizHealthKnownCondition": "Ngiyaphatha isimo esaziwa", + "@quizHealthKnownCondition": { + "description": "Option indicating an existing diagnosed condition" + }, + "quizHealthUnresolved": "Ngibhekene nento engaxazululiwe", + "@quizHealthUnresolved": { + "description": "Option indicating unresolved issue" + }, + "quizStepLabel2": "ISINYATHELO 2/6", + "@quizStepLabel2": { + "description": "Progress indicator showing second quiz step" + }, + "quizDoctorVisitFrequencyTitle": "Uvame kanjani njalo udokotela?", + "@quizDoctorVisitFrequencyTitle": { + "description": "Question about frequency of doctor visits" + }, + "quizDoctorVisitRegular": "Ngokujwayelekile (ukuhlolwa / ukulandela)", + "@quizDoctorVisitRegular": { + "description": "Option indicating regular checkups" + }, + "quizDoctorVisitOccasional": "Ngezinye izikhathi, uma kukhona okungahambi kahle", + "@quizDoctorVisitOccasional": { + "description": "Option indicating occasional visits" + }, + "quizDoctorVisitRare": "Ngokujwayelekile, kuphela uma kudingeka", + "@quizDoctorVisitRare": { + "description": "Option indicating rare visits" + }, + "quizDoctorVisitAvoid": "Ugwema ukuvakashela odokotela", + "@quizDoctorVisitAvoid": { + "description": "Пользователь говорит, что не любит ходить к врачам и старается\n лишний раз не обращаться к доктору. Итоговая фраза должна быть\n понятной и отражать это поведение, например:\n«Вы не любите обращаться к врачам»" + }, + "quizDoctorVisitNever": "Angikaze ngiyodokotela", + "@quizDoctorVisitNever": { + "description": "Option indicating never visited" + }, + "quizStepLabel3": "ISINYATHELO 3/6", + "@quizStepLabel3": { + "description": "Progress indicator showing third quiz step" + }, + "quizBiggestChallengeTitle": "Yini okukhulu obhekene nakho kwezempilo kuze kube manje?", + "@quizBiggestChallengeTitle": { + "description": "Question about healthcare challenges" + }, + "quizMultiSelectHint": "Khetha okuningi njengoba uthanda", + "@quizMultiSelectHint": { + "description": "Helper text indicating multiple selection allowed" + }, + "quizChallengeLongWait": "Izikhathi ezinde zokulinda ukuze uthole izikhathi", + "@quizChallengeLongWait": { + "description": "Option indicating long appointment wait times" + }, + "quizChallengeRushedVisits": "Izivakashi zibonakala zisheshayo", + "@quizChallengeRushedVisits": { + "description": "Option indicating short or rushed visits" + }, + "quizChallengeCost": "Izindleko eziphezulu noma amanani angacacile", + "@quizChallengeCost": { + "description": "Option indicating cost or pricing clarity issues" + }, + "quizChallengeHardExplain": "Kunzima ukuveza konke ngokucacile", + "@quizChallengeHardExplain": { + "description": "Option indicating difficulty explaining symptoms" + }, + "quizChallengeConflictingAdvice": "Izimvo noma izeluleko eziphikisanayo", + "@quizChallengeConflictingAdvice": { + "description": "Option indicating conflicting medical opinions" + }, + "quizChallengeNone": "Akukho zinkinga ezinkulu", + "@quizChallengeNone": { + "description": "Option indicating no major issues" + }, + "quizStepLabel4": "ISINYATHELO 4/6", + "@quizStepLabel4": { + "description": "Progress indicator showing fourth quiz step" + }, + "quizConfidenceAfterAppointmentTitle": "Ngemuva kwemihlangano, uzizwa unethemba kangakanani ngalokho okukhuluma?", + "@quizConfidenceAfterAppointmentTitle": { + "description": "Question about clarity after doctor appointments" + }, + "quizConfidenceNoRightAnswer": "Ayikho impendulo efanele noma engalungile.", + "@quizConfidenceNoRightAnswer": { + "description": "Helper note clarifying subjective nature" + }, + "quizConfidenceVeryClear": "Kucacile ngempela ukuthi kwenzekani", + "@quizConfidenceVeryClear": { + "description": "Option indicating full understanding" + }, + "quizConfidenceSomewhatClear": "Kancane kucacile", + "@quizConfidenceSomewhatClear": { + "description": "Option indicating partial clarity" + }, + "quizConfidenceStillUncertain": "Kusazoba", + "@quizConfidenceStillUncertain": { + "description": "Option indicating ongoing uncertainty" + }, + "quizConfidenceMoreConfused": "Ngiyaphazama kakhulu kunakuqala", + "@quizConfidenceMoreConfused": { + "description": "Option indicating increased confusion" + }, + "captionDiagnosisVsChange": "Abantu abaningi abahluleka hhayi ngemuva kokuxilongwa kodwa uma izimpawu zishintsha ngokuhamba kwesikhathi.", + "@captionDiagnosisVsChange": { + "description": "Образовательная подпись, подчеркивающая развитие симптомов.\n Подпись должна объяснять, что многие люди сталкиваются с трудностями\n не сразу после постановки диагноза, а когда симптомы меняются со временем." + }, + "quizStepLabel5": "ISINYATHELO 5/6", + "@quizStepLabel5": { + "description": "Progress indicator showing fifth quiz step" + }, + "quizConcernsAddressedTitle": "Ukhona kanjani ukuthi izinkinga zakho ngokuvamile zixazululwa?", + "@quizConcernsAddressedTitle": { + "description": "Question about how well concerns are addressed" + }, + "quizConcernsAddressedSubtitle": "Ngokwezizathu zakho ezithile", + "@quizConcernsAddressedSubtitle": { + "description": "Clarifies answers are subjective" + }, + "quizConcernsVeryWell": "Kuhle kakhulu", + "@quizConcernsVeryWell": { + "description": "Option indicating strong satisfaction" + }, + "quizConcernsFairlyWell": "Kahle kahle", + "@quizConcernsFairlyWell": { + "description": "Option indicating moderate satisfaction" + }, + "quizConcernsNotVeryWell": "Hhayi kahle", + "@quizConcernsNotVeryWell": { + "description": "Option indicating low satisfaction" + }, + "quizConcernsVaries": "Kuhlukile kakhulu", + "@quizConcernsVaries": { + "description": "Option indicating inconsistent experience" + }, + "quizStepLabel6": "ISINYATHELO 6/6", + "@quizStepLabel6": { + "description": "Progress indicator showing sixth quiz step" + }, + "quizSelfResearchTitle": "Ngaphambi kokubona udokotela, uvame ukuzama ukuqonda izimpawu ngokwakho?", + "@quizSelfResearchTitle": { + "description": "Question about pre-visit self-research behavior" + }, + "quizSelfResearchYes": "Yebo, ngiyaphenya futhi ngilandela izinto", + "@quizSelfResearchYes": { + "description": "Option indicating proactive research" + }, + "quizSelfResearchSometimes": "Kwazulu", + "@quizSelfResearchSometimes": { + "description": "Option indicating occasional research" + }, + "quizSelfResearchRarely": "Ngokuvamile", + "@quizSelfResearchRarely": { + "description": "Option indicating rare research" + }, + "quizSelfResearchNo": "Cha, ngithembele ngokuphelele kubachwepheshe", + "@quizSelfResearchNo": { + "description": "Option indicating full reliance on professionals" + }, + "captionAvailabilityTitle": "Imibuzo yezempilo ayilandeli amahora ehhovisi.", + "@captionAvailabilityTitle": { + "description": "Statement about healthcare accessibility with highlighted phrase" + }, + "captionAvailabilitySupport": "IDoktorina itholakala 24/7.", + "@captionAvailabilitySupport": { + "description": "Statement about continuous availability" + }, + "captionAvailabilityDescription": "Ukucaciswa akufanele kulinde umhlangano olandelayo.", + "@captionAvailabilityDescription": { + "description": "Supporting line reinforcing immediate clarity" + }, + "notificationTitle": "Ingabe ufuna sithinte impilo yakho?", + "@notificationTitle": { + "description": "Question asking about permission for notifications" + }, + "notificationDescription": "I-AI ingakwazi ukuqapha izimpawu zakho futhi ikwazise uma kukhona okudingekayo ukunakwa", + "@notificationDescription": { + "description": "Explanation about why better to enable notification" + }, + "notificationYes": "Yebo — ngibheke impilo yami", + "@notificationYes": { + "description": "Option indicating yes to all notifications" + }, + "notificationOnlyImportant": "Yebo — kuphela uma kukhona okubalulekile okushintsha", + "@notificationOnlyImportant": { + "description": "Option indicating yes only for important notification" + }, + "notificationNo": "Angazi kahle", + "@notificationNo": { + "description": "Option indicating user don't want to enable notification now" + }, + "referralSourceTitle": "Uzizwe ngeDoctorina kudokotela?", + "@referralSourceTitle": { + "description": "Question asking whether a doctor recommended Doctorina" + }, + "referralSourceYes": "Yebo", + "@referralSourceYes": { + "description": "Yes option" + }, + "referralSourceNo": "Cha", + "@referralSourceNo": { + "description": "No option" + }, + "processingSectionLabel": "UKWENZA UHLUZO LWEZIBONAKALO ZAKHO", + "@processingSectionLabel": { + "description": "Small label indicating analysis phase" + }, + "processingTitle": "Ukwenza kube ngokwakho", + "@processingTitle": { + "description": "Title on the results processing screen" + }, + "processingPercentValue": "{percent}%", + "@processingPercentValue": { + "description": "Progress percentage value during processing", + "placeholders": { + "percent": { + "type": "int", + "example": "99", + "description": "Current processing percentage" + } + } + }, + "paywallHeadline": "Ithuba elingenamkhawulo ne- Doctorina Pro", + "@paywallHeadline": { + "description": "Main paywall headline with highlighted product tier" + }, + "paywallAssistantTagline": "UMSIZI OTHANDA OHLALAYO", + "@paywallAssistantTagline": { + "description": "Supporting tagline under logo" + }, + "paywallEnableTrialToggle": "Awukazi? Vula ukuzama mahhala.", + "@paywallEnableTrialToggle": { + "description": "Toggle label offering free trial" + }, + "paywallPlanYear": "Unyaka", + "@paywallPlanYear": { + "description": "Yearly subscription plan title" + }, + "paywallPlanMonthly": "Ngamaviki", + "@paywallPlanMonthly": { + "description": "Monthly subscription plan title" + }, + "paywallPlanWeek": "Ivyekethwe", + "@paywallPlanWeek": { + "description": "Weekly subscription plan title" + }, + "paywallPlanDaily": "Nsuku", + "@paywallPlanDaily": { + "description": "Daily subscription plan title" + }, + "paywallPlanYearPrice": "$39.99 ( kuphela $3.34/ngesonto)", + "@paywallPlanYearPrice": { + "description": "Yearly subscription price with weekly equivalent" + }, + "paywallPlanWeekPrice": "$3.99", + "@paywallPlanWeekPrice": { + "description": "Weekly subscription price" + }, + "paywallSaveBadge": "GCINA 58%", + "@paywallSaveBadge": { + "description": "Discount badge label" + }, + "paywallContinueBtn": "Qhubeka", + "@paywallContinueBtn": { + "description": "Continue purchase without trial" + }, + "paywallStartTrialBtn": "Qala ukuj试", + "@paywallStartTrialBtn": { + "description": "Start free trial CTA" + }, + "paywallSubscriptionDisclaimer": "Umsizamo lwenziwe ngokuzenzakalelayo. Ungakhansela nganoma yisiphi isikhathi", + "@paywallSubscriptionDisclaimer": { + "description": "Legal renewal disclaimer" + }, + "paywallTermsPrivacy": "Imigomo Yesevisi | Umthetho Wokuvikela Ubumfihlo", + "@paywallTermsPrivacy": { + "description": "Links to legal documents" + }, + "paywallPerWeek": "iveki", + "@paywallPerWeek": { + "description": "Week, in context per week, e.g. \"$3,99/week\"" + }, + "processingLabel": "Ukuhlaziya imiphumela yakho", + "@processingLabel": { + "description": "Section label on the results processing screen" + }, + "paywallCloseTooltip": "Vala ukuvalelisa", + "@paywallCloseTooltip": { + "description": "Tooltip for the paywall close button" + }, + "paywallRestoreTooltip": "Buyisela Izithombe", + "@paywallRestoreTooltip": { + "description": "Tooltip for the restore purchases button" + }, + "paywallRestoreBtn": "Buyisela", + "@paywallRestoreBtn": { + "description": "Restore purchases button text" + }, + "paywallRestoreNoneFound": "Akukho ukubhalisela okusebenzayo okutholakele ukuze kubuyiswe.", + "@paywallRestoreNoneFound": { + "description": "Message when no active subscription found to restore" + }, + "paywallRestoreError": "Ukuphinda uthole ukuthenga akuphumelelanga. Sicela uzame futhi kamuva.", + "@paywallRestoreError": { + "description": "Error message when restore purchases fails" + }, + "paywallPurchaseError": "Ukuphumelela kokuthenga akuphumelelanga. Sicela uzame futhi kamuva.", + "@paywallPurchaseError": { + "description": "Error message when subscription purchase fails" + }, + "paywallTrialStep1Title": "Namuhla: Thola ukufinyelela okusheshayo", + "@paywallTrialStep1Title": { + "description": "Заголовок 1-го шага в таймлайне триала на пейволле v2 (доступ открывается сегодня)" + }, + "paywallTrialStep1Description": "Vula ukufinyelela okuphelele, thola izimpendulo zezempilo ze-AI, nganoma yisiphi isikhathi.", + "@paywallTrialStep1Description": { + "description": "Описание 1-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep2Title": "Usuku 2: Isikhumbuzo sokuhlola", + "@paywallTrialStep2Title": { + "description": "Заголовок 2-го шага таймлайна триала (напоминание о завершении триала)" + }, + "paywallTrialStep2Description": "Sizothumela isikhumbuzo sokuthi isikhathi sokuhlola sisondele ekupheleni", + "@paywallTrialStep2Description": { + "description": "Описание 2-го шага таймлайна триала на пейволле v2" + }, + "paywallTrialStep3Title": "Usuku 3: Ukuvuselela", + "@paywallTrialStep3Title": { + "description": "Заголовок 3-го шага таймлайна триала (списание после окончания триала)" + }, + "paywallTrialStep3Description": "Uzokwenziwa imali ngo-{date}, khansela nganoma yisiphi isikhathi ngaphambi.", + "@paywallTrialStep3Description": { + "description": "Описание 3-го шага таймлайна с датой ближайшего списания", + "placeholders": { + "date": { + "type": "String", + "example": "April 30, 2026" + } + } + }, + "paywallBenefitsHeader": "OKUHLELWA KUKHONA", + "@paywallBenefitsHeader": { + "description": "Заголовок таблицы с фичами Free/Pro на пейволле v2" + }, + "paywallBenefitsBadgeFree": "FREE", + "@paywallBenefitsBadgeFree": { + "description": "Бейдж колонки \"Free\" в таблице фич на пейволле v2" + }, + "paywallBenefitsBadgePro": "PRO", + "@paywallBenefitsBadgePro": { + "description": "Бейдж колонки \"Pro\" в таблице фич на пейволле v2" + }, + "paywallBenefitPrivateSecure": "Ubumfihlo nokuphepha", + "@paywallBenefitPrivateSecure": { + "description": "Пункт списка фич на пейволле v2 — приватность и безопасность" + }, + "paywallBenefitAiAssistant": "I-Assistant ye-AI, 24/7", + "@paywallBenefitAiAssistant": { + "description": "Пункт списка фич на пейволле v2 — AI-ассистент 24/7" + }, + "paywallBenefitInstantAnswers": "Imphumela wezempilo ozitholayo", + "@paywallBenefitInstantAnswers": { + "description": "Пункт списка фич на пейволле v2 — мгновенные ответы" + }, + "paywallBenefitScienceInsights": "Clear, science-based insights", + "@paywallBenefitScienceInsights": { + "description": "Пункт списка фич на пейволле v2 — научно обоснованные инсайты" + }, + "paywallBenefitAutoSummaries": "Izifinyezo zezingxoxo ezenzakalayo", + "@paywallBenefitAutoSummaries": { + "description": "Пункт списка фич на пейволле v2 — автоматические резюме консультаций" + }, + "paywallBenefitAnyLanguage": "Noma yisiphi isiZulu, nganoma yisiphi isikhathi", + "@paywallBenefitAnyLanguage": { + "description": "Пункт списка фич на пейволле v2 — поддержка любого языка" + }, + "paywallPriceUnitPerWeek": "ngaviki", + "@paywallPriceUnitPerWeek": { + "description": "Подпись \"per week\" под ценой подписки в плитке выбора плана на пейволле v2" + }, + "paywallOfferTitle": "Isipesheli esisodwa", + "@paywallOfferTitle": { + "description": "Заголовок шита одноразового оффера после онбординга. Для языков русского, белорусского, украинского - слово \"одноразовый\" применимо к поссуде, а не к предложению. One time offer лучше перевести как \"Разовое предложение\"" + }, + "paywallOfferDiscountPercent": "{percent}% KHIPHA", + "@paywallOfferDiscountPercent": { + "description": "Процент скидки на белой карточке шита одноразового оффера", + "placeholders": { + "percent": { + "type": "int", + "example": "40" + } + } + }, + "paywallOfferForeverBadge": "FOREVER", + "@paywallOfferForeverBadge": { + "description": "Подпись \"FOREVER\" под процентом скидки. Для языков русского, белорусского, украинского - слово FOREVER лучше перевести как \"НАВСЕГДА\" (не так пафосно , как \"навечно\")" + }, + "paywallOfferDisclaimer": "Uma uvalela isipesheli sakho esisodwa, asisekho!", + "@paywallOfferDisclaimer": { + "description": "Дисклеймер о том, что предложение исчезнет после закрытия шита. лучше на русский/белорусский и украинский переводить по смыслу так: \"У вас только один шанс воспользоваться этим предложением\"" + }, + "paywallOfferPricePerMonth": "{price}/mo", + "@paywallOfferPricePerMonth": { + "description": "Цена за месяц для годовой подписки на карточке одноразового оффера", + "placeholders": { + "price": { + "type": "String", + "example": "$1.99" + } + } + }, + "paywallOfferLowestPriceBadge": "LOWEST PRICE EVER", + "@paywallOfferLowestPriceBadge": { + "description": "Бейдж \"LOWEST PRICE EVER\" над карточкой годовой подписки. лучше на русский/белорусский и украинский переводить по смыслу так: \"САМАЯ НИЗКАЯ ЦЕНА\"" + }, + "paywallOfferCancelAnytime": "Khansela nganoma yisiphi isikhathi", + "@paywallOfferCancelAnytime": { + "description": "Подпись \"Cancel anytime\" между карточкой подписки и CTA. \"Отмена в любой момент\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferClaimButton": "Thola isipesheli sakho", + "@paywallOfferClaimButton": { + "description": "CTA-кнопка для активации одноразового оффера. \"Получить предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallOfferAutoRenewable": "Ukubhaliswa okuzenzakalelayo", + "@paywallOfferAutoRenewable": { + "description": "Футер шита одноразового оффера — текст про автопродление подписки" + }, + "paywallGiftBoxTitle": "Ikhadi elikhethekile ngaphakathi", + "@paywallGiftBoxTitle": { + "description": "Заголовок шита подарка перед одноразовым оффером" + }, + "paywallGiftBoxSubtitle": "Uthumele ukuze uveze okunikezwayo okukhethekile", + "@paywallGiftBoxSubtitle": { + "description": "Подзаголовок шита подарка с приглашением открыть оффер. \"Нажмите, чтобы открыть специальное предложение\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallGiftBoxOpenButton": "Vula manje", + "@paywallGiftBoxOpenButton": { + "description": "CTA-кнопка для открытия шита подарка. \"Открыть\" - хороший ориентир для перевода на русский, украинский и белорусский" + }, + "paywallRetryLoadPricesError": "Kwehluleka yükela izinketho zokubhalisela. Sicela uzame futhi kamuva.", + "@paywallRetryLoadPricesError": { + "description": "Тост-ошибка при неудачной повторной загрузке цен подписок на пейволле" + }, + "paywallPricesUnavailableTitle": "Ukungakwazi yükela amanani okubhalisela", + "@paywallPricesUnavailableTitle": { + "description": "Заголовок фолбэка на пейволле, когда RevenueCat не отдал цены подписок" + }, + "paywallPricesUnavailableMessage": "Bheka uxhumano lwakho bese uzama futhi", + "@paywallPricesUnavailableMessage": { + "description": "Подзаголовок фолбэка на пейволле с просьбой проверить соединение и повторить" + }, + "paywallPricesUnavailableRetryButton": "Zama futhi", + "@paywallPricesUnavailableRetryButton": { + "description": "Текст кнопки повторной загрузки цен в фолбэке пейволла" + }, + "skipOnboardingButton": "Skip", + "@skipOnboardingButton": { + "description": "Кнопка для пропуска онбординга, должна быть записана емко и кратко. Например: \"Пр-ть\"" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_af.arb b/example/lib/src/l10n/pay/app_af.arb new file mode 100644 index 0000000..2d9db10 --- /dev/null +++ b/example/lib/src/l10n/pay/app_af.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "af", + "exampleButton": "Voorbeeldknoppie", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Ja, dit is alles reg!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Elke bydrae genees!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Jou bydrae help om gratis advies vir ander in nood te finansier", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Betaal wat reg voel,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "of hou aan om Doctorina gratis te gebruik, dankie aan ander wat gekies het om te gee", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Eenmalig", + "@oneTimeLabel": {}, + "monthlyLabel": "Maandeliks", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Kies maandelikse donasiebedrag", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Jy staan op die punt om op 'n maandelikse plan te teken", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Jy teken in op 'n maandelikse plan vir {amount}/maand.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Betaling sal aan jou rekening gehef word by bevestiging van aankoop. Die intekening hernu outomaties elke maand tensy outo-hernuing ten minste 24 uur voor die einde van die huidige periode afgeskakel word. Jy kan jou intekening enige tyd in jou rekeninginstellings bestuur of kanselleer. Deur voort te gaan, stem jy in tot ons {termsOfService} en {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Kies eenmalige donasiebedrag", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Meeste mense gee $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Kies geldeenheid", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Verwerking van betaling", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Verwerk een eenmalige betaling van {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Verwerk maandelikse betaling van {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Dankie!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Nou sal nog meer mense gratis advies ontvang — jou ondersteuning is werklik van onskatbare waarde.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Jy het bygedra:", + "@youContributedLabel": {}, + "perMonth": "/ maand", + "@perMonth": {}, + "returnToTheMainScreenButton": "Terug na die hoofskerm", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Voorwaardes", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Privaatheidsbeleid", + "@privacyPolicyLabel": {}, + "donateButton": "Skink", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktief", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Gekanselleer", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Paus", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Hangende", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Geskep", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Tydsduur", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Onbekend", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina bydraer", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Hernu", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Kanselleer intekening", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Is jy seker?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Jou maandelikse ondersteuning hou Doctorina gratis vir mense wat daarop staatmaak, maar nie kan bekostig om te betaal nie. Jou intekening befonds ten minste 10 gratis konsultasies elke maand. As jy gaan, sal minder pasiënte die hulp kry wat hulle nodig het.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Hou die intekening", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Annuleer tog", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Jou maandelikse ondersteuning is suksesvol gekanselleer.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Onkorrekte intekeningdata", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Teken in vir maandelikse ondersteuning om dit hier te laat verskyn", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Nog geen intekeninge", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Subskripsiedatum", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Verval", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Subskripsie-ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Produk ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Ons kon nie jou betaling verwerk nie", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Iets het verkeerd gegaan met die betaling. Probeer asseblief weer.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Probeer weer", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Verwerking van betaling", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Jy sal jou aankoop op Stripe se veilige afrekenblad voltooi.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ week", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ jaar", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Mees gewilde", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Sluit", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Wat jy met Premium kry:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Advertensievrye konsultasies", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Vinniger antwoorde", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Vroegtydige toegang tot nuwe funksies", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/week", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Kanselleer enige tyd. Geen verbintenis.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "BEPERKTE TYD", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Hernuwe weekliks. Kanselleer enige tyd in instellings. Deur voort te gaan, stem jy in tot ons Voorwaardes en

Privaatheidsbeleid

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Gaan voort met Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Jou ondersteuning help om sorg toeganklik te hou", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Teken in of log in om die aankoop te voltooi.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_am.arb b/example/lib/src/l10n/pay/app_am.arb new file mode 100644 index 0000000..2a200b1 --- /dev/null +++ b/example/lib/src/l10n/pay/app_am.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "am", + "exampleButton": "እንቅስቃሴ አዝራር", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "አዎን ሁሉም ጥሩ ነው!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "እያንዳንዱ እንደ ምርኮ ይደርሳል!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "የእርስዎ እንደገና ይህ የነበረ እንደ ወጣት ይህ የነበረ እንደ ወጣት ይህ የነበረ እንደ ወጣት.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "እንደሚስማማ ይክፈሉ,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "ወይም ወደ ነጻ ዶክተሪና መጠቀም በሌላው የተመረጡ ምርጥ ምርጥ ነው.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "አንድ ጊዜ", + "@oneTimeLabel": {}, + "monthlyLabel": "ወርሃዊ", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "ወርሃዊ ድጋፍ መጠን ይምረጡ", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "እባክዎ ወርሃዊ እቅድ ለመውሰድ እንደሚያስችል ነው.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "እርስዎ በ{amount}/ወር ወቅታዊ እቅድ ይቀጥላሉ.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "ግዢ ማረጋገጫ በሚረጋገጥበት ጊዜ ክፍያው ወደ ሂሳብዎ ይጭናል። ምዝገባው በየወሩ ራሱን ይዘምናል፣ እስከ አሁኑ የተወሰነ ጊዜ መጨረሻ በፊት 24 ሰዓት ቢገባ auto-renew ከተዘገየ ተግባራዊ ነው። በሂሳብ ማቀናበሪያዎ ውስጥ ምን ጊዜም ምዝገባዎን መንቀሳቀስ ወይም ማቋረጥ ይችላሉ። በመቀጠል {termsOfService} እና {privacyPolicy} ማረጋገጥ ትስማማላችሁ።", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "አንድ ጊዜ የሚሰጥ ድጋፍ መጠን ይምረጡ", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Most people give $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "ምርጥ ገንዘብ", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "ክፍያ እንደሚከናወን ነው", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "አንድ ጊዜ የክፍያ ሂደት እንደ {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "እንደ ወርሃዊ ክፍያ ይሰርዝ {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Amesegenallo!", + "@thankYouTitle": {}, + "thankYouSubtitle": "አሁን በተጨማሪ ሰዎች ነፃ አስተያየት ይቀበሉ — ድጋፍዎ በጣም ዋጋ አለው.", + "@thankYouSubtitle": {}, + "youContributedLabel": "እንደ እርስዎ ያስተዋወቁ:", + "@youContributedLabel": {}, + "perMonth": "/ ወር", + "@perMonth": {}, + "returnToTheMainScreenButton": "ወደ ዋነኛ ገጽ ይመለሱ", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "የአገልግሎት ውል", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "የግለሰቦች ፖሊሲ", + "@privacyPolicyLabel": {}, + "donateButton": "ድጋፍ", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "አካባቢ", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "ተሰርዟል", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "እንቅልፍ ያለው", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "እንደሚገኝ", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "የተፈጠረ", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "የጊዜ ወደቀ", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "አይታወቅም", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "ዶክተርና ኮንትሪቡተር", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "ይደገፍ", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "የእቅፍ ማቋረጥ", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "እምነት አለዎት?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "የወርሃዊ ድጋፍዎ ዶክተሪናን ለእንደዚህ የሚያስተዋወቁ ሰዎች ነፃ ይደርሳል ነገር ግን ማንኛውም ይከፈል.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "እንደ ወንጌል ይቀጥሉ", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "እንደዚህ ይቀጥሉ", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "የወርሃዊ ድጋፍዎ በተ成功 ተሰርዟል።", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "የእቅፍ ዝርዝር ውስጥ የተሳሳተ ውሂብ አለ", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "ወደ ወርሃዊ ድጋፍ ይመዝገቡ እንዲታይ እዚህ.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "አልተመዘገበም የለም", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "መዝግብ ቀን", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "ይወድቃል", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "መለያ እንደ እቃ ይወዳድር", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "የምርት መለያ", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "እሺ", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "ክፍያዎትን ቀጣይ ማድረግ አልቻልንም", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "አንድ ነገር በክፍያ ውስጥ ተሳስቷል። እባኮትን ይሞክሩ ድጋፍ ይሁን.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "እንደገና ይሞክሩ", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Processing payment", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "You’ll complete your purchase on Stripe’s secure checkout page.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ ሳምንት", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ አመት", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "በጣም ወደፊት የሚሄድ", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "ዝግጅት", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "ዶክተሪና ፕሪምየም", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "ፕሪምየም ያገኛሉ:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "የማስታወቂያ ያለው እንደ እንቅስቃሴ እንደ እንቅስቃሴ", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "የተፈለገ መልስ ይቀርባል", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "እንደ ቀዳሚ ዕቅፍ ወደ አዳዲስ ባለቤቶች መድረስ", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/ሳምንት", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "እባክዎ ወቅታዊ ይሰርዙ። ምንም ተግባር የለም።", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "የጊዜ ገደብ", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "እርስዎ በሳምንታት ይወዳድሩ ይሆናል። በማስታወቂያ ውስጥ ማቋረጥ ይችላሉ። በመቀጠል ይቅርታ ወደ የእኛ የውል ማስታወቂያ እና

የግለሰቦች የግል ዝርዝር

ይምረጡ።", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 ፕሪምየም ጋር ቀጥል", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 የእርዳታዎ ድጋፍ እንደ ወንጀል ይደርሳል", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "እባክዎ ይመዘገቡ ወይም ይግቡ እንዲሁ ግዢውን ለመጨረስ.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ar.arb b/example/lib/src/l10n/pay/app_ar.arb new file mode 100644 index 0000000..7730c82 --- /dev/null +++ b/example/lib/src/l10n/pay/app_ar.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ar", + "exampleButton": "مثال الزر", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "نعم، كل شيء على ما يرام!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "كل مساهمة تشفي!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "مساهمتك تساعد في تمويل تقديم المشورة المجانية للآخرين المحتاجين.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "ادفع ما تراه مناسباً,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "أو استمر في استخدام Doctorina مجانًا، بفضل الآخرين الذين اختاروا التبرع", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "مرة واحدة", + "@oneTimeLabel": {}, + "monthlyLabel": "شهري", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "اختر مبلغ التبرع الشهري", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "أنت على وشك الاشتراك في خطة شهرية.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "أنت تشترك في خطة شهرية مقابل {amount}/الشهر.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "سيتم خصم المبلغ من حسابك عند تأكيد الشراء. يتم تجديد الاشتراك تلقائيًا كل شهر ما لم يتم تعطيل التجديد التلقائي قبل 24 ساعة على الأقل من نهاية الفترة الحالية. يمكنك إدارة أو إلغاء اشتراكك في أي وقت من خلال إعدادات حسابك. بالمتابعة، فإنك توافق على {termsOfService} و{privacyPolicy}", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "اختر مبلغ التبرع لمرة واحدة", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "معظم الناس يعطون $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "اختر العملة", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "جارٍ معالجة الدفع", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "جاري معالجة دفعة لمرة واحدة بقيمة {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "جاري معالجة الدفعة الشهرية بمبلغ {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "شكراً لك!", + "@thankYouTitle": {}, + "thankYouSubtitle": "الآن سيحصل المزيد من الناس على نصيحة مجانية — دعمك لا يقدر بثمن.", + "@thankYouSubtitle": {}, + "youContributedLabel": "أنت ساهمت:", + "@youContributedLabel": {}, + "perMonth": "/شهر", + "@perMonth": {}, + "returnToTheMainScreenButton": "العودة إلى الشاشة الرئيسية", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "شروط الخدمة", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "سياسة الخصوصية", + "@privacyPolicyLabel": {}, + "donateButton": "تبرع", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "نشط", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "ملغى", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "متوقف", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "قيد الانتظار", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "تم الإنشاء", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "انتهاء المهلة", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "غير معروف", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "مساهم Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "يجدد", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "إلغاء الاشتراك", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "هل أنت متأكد؟", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "دعمك الشهري يجعل Doctorina مجانية للأشخاص الذين يعتمدون عليها ولكن لا يستطيعون تحمل تكاليفها. اشتراكك يمول ما لا يقل عن 10 استشارات مجانية كل شهر. إذا قمت بالإلغاء، سيحصل عدد أقل من المرضى على المساعدة التي يحتاجونها", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "الاحتفاظ بالاشتراك", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "إلغاء على أي حال", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "تم إلغاء دعمك الشهري بنجاح.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "بيانات الاشتراك غير صحيحة", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "اشترك للحصول على الدعم الشهري ليظهر هنا.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "لا توجد اشتراكات حتى الآن", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "تاريخ الاشتراك", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "تنتهي", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "معرّف الاشتراك", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "معرّف المنتج", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "موافق", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "لم نتمكن من إتمام عملية الدفع", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "حدث خطأ في عملية الدفع.\nيرجى المحاولة مرة أخرى.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "إعادة المحاولة", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "معالجة الدفع", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "ستُكمل عملية الشراء عبر صفحة الدفع الآمنة الخاصة بـ Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ أسبوع", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ سنة", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "الأكثر شعبية", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "إغلاق", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "دوكتورينا بريميوم", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "ما ستحصل عليه مع البريميوم:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "استشارات بدون إعلانات", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "ردود أسرع", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "الوصول المبكر إلى ميزات جديدة", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/أسبوع", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "يمكنك الإلغاء في أي وقت. لا التزام.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "عرض محدود الوقت", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "تتجدد تلقائيًا أسبوعيًا. يمكنك الإلغاء في أي وقت من الإعدادات. بالاستمرار، فإنك توافق على الشروط و

سياسة الخصوصية

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 متابعة مع البريميوم", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 دعمك يساعد في الحفاظ على الوصول إلى الرعاية", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "يرجى التسجيل أو تسجيل الدخول لإكمال عملية الشراء", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ar_EG.arb b/example/lib/src/l10n/pay/app_ar_EG.arb new file mode 100644 index 0000000..d6de067 --- /dev/null +++ b/example/lib/src/l10n/pay/app_ar_EG.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ar_EG", + "exampleButton": "مثال الزر", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "نعم، كل شيء على ما يرام!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "كل مساهمة تشفي!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "مساهمتك تساعد في تمويل تقديم المشورة المجانية للآخرين المحتاجين.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "ادفع ما تراه مناسباً,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "أو استمر في استخدام Doctorina مجانًا، بفضل الآخرين الذين اختاروا التبرع", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "مرة واحدة", + "@oneTimeLabel": {}, + "monthlyLabel": "شهري", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "اختر مبلغ التبرع الشهري", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "أنت على وشك الاشتراك في خطة شهرية.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "أنت تشترك في خطة شهرية مقابل {amount}/الشهر.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "سيتم خصم المبلغ من حسابك عند تأكيد الشراء. يتم تجديد الاشتراك تلقائيًا كل شهر ما لم يتم تعطيل التجديد التلقائي قبل 24 ساعة على الأقل من نهاية الفترة الحالية. يمكنك إدارة أو إلغاء اشتراكك في أي وقت من خلال إعدادات حسابك. بالمتابعة، فإنك توافق على {termsOfService} و{privacyPolicy}", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "اختر مبلغ التبرع لمرة واحدة", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "معظم الناس يعطون $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "اختر العملة", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "جارٍ معالجة الدفع", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "جاري معالجة دفعة لمرة واحدة بقيمة {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "جاري معالجة الدفعة الشهرية بمبلغ {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "شكراً لك!", + "@thankYouTitle": {}, + "thankYouSubtitle": "الآن سيحصل المزيد من الناس على نصيحة مجانية — دعمك لا يقدر بثمن.", + "@thankYouSubtitle": {}, + "youContributedLabel": "أنت ساهمت:", + "@youContributedLabel": {}, + "perMonth": "/شهر", + "@perMonth": {}, + "returnToTheMainScreenButton": "العودة إلى الشاشة الرئيسية", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "شروط الخدمة", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "سياسة الخصوصية", + "@privacyPolicyLabel": {}, + "donateButton": "تبرع", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "نشط", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "ملغى", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "متوقف", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "قيد الانتظار", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "تم الإنشاء", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "انتهاء المهلة", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "غير معروف", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "مساهم Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "يجدد", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "إلغاء الاشتراك", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "هل أنت متأكد؟", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "دعمك الشهري يجعل Doctorina مجانية للأشخاص الذين يعتمدون عليها ولكن لا يستطيعون تحمل تكاليفها. اشتراكك يمول ما لا يقل عن 10 استشارات مجانية كل شهر. إذا قمت بالإلغاء، سيحصل عدد أقل من المرضى على المساعدة التي يحتاجونها", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "الاحتفاظ بالاشتراك", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "إلغاء على أي حال", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "تم إلغاء دعمك الشهري بنجاح.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "بيانات الاشتراك غير صحيحة", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "اشترك للحصول على الدعم الشهري ليظهر هنا.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "لا توجد اشتراكات حتى الآن", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "تاريخ الاشتراك", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "تنتهي", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "معرّف الاشتراك", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "معرّف المنتج", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "موافق", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "لم نتمكن من إتمام عملية الدفع", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "حدث خطأ في عملية الدفع.\nيرجى المحاولة مرة أخرى.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "إعادة المحاولة", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "معالجة الدفع", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "ستُكمل عملية الشراء عبر صفحة الدفع الآمنة الخاصة بـ Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ أسبوع", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ سنة", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "الأكثر شعبية", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "إغلاق", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "دوكتورينا بريميوم", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "ما ستحصل عليه مع البريميوم:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "استشارات بدون إعلانات", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "ردود أسرع", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "الوصول المبكر إلى ميزات جديدة", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/أسبوع", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "يمكنك الإلغاء في أي وقت. لا التزام.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "عرض محدود الوقت", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "تتجدد تلقائيًا أسبوعيًا. يمكنك الإلغاء في أي وقت من الإعدادات. بالاستمرار، فإنك توافق على الشروط و

سياسة الخصوصية

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 متابعة مع البريميوم", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 دعمك يساعد في الحفاظ على الوصول إلى الرعاية", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "يرجى التسجيل أو تسجيل الدخول لإكمال عملية الشراء", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_az.arb b/example/lib/src/l10n/pay/app_az.arb new file mode 100644 index 0000000..2fd6a83 --- /dev/null +++ b/example/lib/src/l10n/pay/app_az.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "az", + "exampleButton": "Düymə nümunəsi", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Bəli, hər şey yaxşıdır!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Hər bir töhfə şəfa verir!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Sizin töhfəniz başqalarına pulsuz məsləhət almağa kömək edir", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Özünüzü rahat hiss etdiyiniz məbləği ödəyin,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "ya da başqalarının verdiyi sayəsində Doctorina-dan pulsuz istifadə etməyə davam edin", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Bir Dəfə", + "@oneTimeLabel": {}, + "monthlyLabel": "Aylıq", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Aylıq ianə məbləğini seçin", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Siz aylıq plana abunə olmaq üzrəysiniz.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Aylıq {amount}/ay planına abunə olursunuz.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Ödəniş satın alma təsdiq edildikdə hesabınıza yüklənəcək. Abunə hər ay avtomatik olaraq yenilənir, əgər avtomatik yeniləmə cari dövrün bitməsindən ən azı 24 saat əvvəl deaktiv edilməzsə. Abunənizi istənilən vaxt hesab parametrlərinizdə idarə edə və ya ləğv edə bilərsiniz. Davam edərək, {termsOfService} və {privacyPolicy} ilə razılaşırsınız.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Bir dəfəlik bağış məbləğini seçin", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Çox insanlar $7–$15 verir", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Valyuta seçin", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Ödəniş emalı", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Bir dəfəlik ödənişin emalı {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Aylıq ödənişin emalı {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Təşəkkür edirəm!", + "@thankYouTitle": {}, + "thankYouSubtitle": "İndi daha çox insan pulsuz məsləhət alacaq — dəstəyiniz həqiqətən qiymətlidir.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Siz töhfə verdiniz:", + "@youContributedLabel": {}, + "perMonth": "/ ay", + "@perMonth": {}, + "returnToTheMainScreenButton": "Əsas ekrana qayıt", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Xidmət Şərtləri", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Məxfilik Siyasəti", + "@privacyPolicyLabel": {}, + "donateButton": "Bağışla", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktiv", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "İmtina edildi", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Dayandırılıb", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Gözləmə", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Yaradıldı", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Vaxt bitdi", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Naməlum", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina iştirakçı", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Təkrarlanır", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Abunəliyi ləğv et", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Əminsiniz?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Sizin aylıq dəstəyiniz Doctorina-nı ödəniş edə bilməyən insanlar üçün pulsuz saxlayır.\n\nSizin abunəliyiniz hər ay ən azı 10 pulsuz konsultasiyanı maliyyələşdirir.\n\nTərk etsəniz, daha az xəstə lazım olan köməyi alacaq.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Abunəliyi saxla", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Hər halda ləğv et", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Aylıq dəstəyiniz uğurla ləğv edilib", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Yanlış abunə məlumatı", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Aylıq dəstək üçün qeydiyyatdan keçin ki, burada görünsün.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Hələlik abunə yoxdur", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Abunə tarixi", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Bitir", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Abunə ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Məhsul ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Tamam", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Ödəmənizi həyata keçirə bilmədik", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Ödənişdə bir problem yarandı. Zəhmət olmasa, yenidən cəhd edin.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Təkrar cəhd et", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Ödənişin emalı", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Ödəmənizi Stripe-in təhlükəsiz ödəniş səhifəsində tamamlayacaqsınız.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ həftə", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ il", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Ən populyar", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Bağla", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Premium ilə əldə etdikləriniz:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Reklamsız konsultasiyalar", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Daha sürətli cavablar", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Yeni xüsusiyyətlərə erkən giriş", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/həftə", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "İstədiyiniz zaman ləğv edin. Heç bir öhdəlik yoxdur.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "MƏHDUD ZAMAN", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Həftəlik avtomatik yenilənir. İstədiyiniz zaman parametrlərdə ləğv edin. Davam edərək, Şərtlərimizə

Gizlilik Siyasətimizə

razılaşırsınız.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Premium ilə Davam et", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Dəstəyiniz, xidmətin əlçatan olmasına kömək edir", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Zəhmət olmasa, satınalmayı tamamlamaq üçün qeydiyyatdan keçin və ya daxil olun.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_be.arb b/example/lib/src/l10n/pay/app_be.arb new file mode 100644 index 0000000..157289e --- /dev/null +++ b/example/lib/src/l10n/pay/app_be.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "be", + "exampleButton": "Прыклад кнопкі", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Так, усё добра!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Кожны ўнёсак лечыць!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Ваш унёсак дапамагае фінансаваць бясплатныя кансультацыі для тых, хто ў іх мае патрэбу.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Плаціце, колькі лічыце правільным,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "ці працягвайце карыстацца Doctorina бясплатна, дзякуючы тым, хто вырашыў ахвяраваць", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Аднаразовы", + "@oneTimeLabel": {}, + "monthlyLabel": "Штомесячна", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Абярыце суму штомесячнага ахвяравання", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Вы збіраецеся падпісацца на месячны план.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Вы падпісваецеся на штомесячны план за {amount}/месяц.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "З вашага рахунку будзе спісання аплаты пасля пацверджання пакупкі. Падпіска аўтаматычна падаўжаецца кожны месяц, калі аўтапратоўленне не адключана не менш чым за 24 гадзіны да заканчэння бягучага перыяду. Вы можаце кіраваць падпіскай або адмяніць яе ў любы час у наладах уліковага запісу. Працягваючы, вы згаджаецеся з нашымі {termsOfService} і {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Абярыце суму аднаразовага ахвяравання", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Большасць людзей дае $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Выберыце валюту", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Апрацоўка аплаты", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Апрацоўка аднаразовага плацяжу {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Апрацоўваецца штомесячны плацёж на суму {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Дзякуй!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Цяпер яшчэ больш людзей атрымаюць бясплатныя парады — ваша падтрымка сапраўды неацэнная", + "@thankYouSubtitle": {}, + "youContributedLabel": "Ваш ўклад:", + "@youContributedLabel": {}, + "perMonth": "/ месяц", + "@perMonth": {}, + "returnToTheMainScreenButton": "Вярнуцца на галоўны экран", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Умовы карыстання", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Палітыка прыватнасці", + "@privacyPolicyLabel": {}, + "donateButton": "Ахвяраваць", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Актыўны", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Адменена", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Прыпынена", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "У чаканні", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Створана", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Тайм-аут", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Невядома", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina ўкладчык", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Прадоўжваецца", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Скасаваць падпіску", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Вы ўпэўнены?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Ваш штомесячны ўнёсак дазваляе Докторына заставацца бясплатнай для людзей, якія на яе спадзяюцца, але не могуць дазволіць сабе плаціць. Ваша падпіска фінансуе не менш за 10 бясплатных кансультацый кожны месяц. Калі вы выйдзеце, менш пацыентаў атрымаюць неабходную дапамогу.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Аставіць падпіску", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Усё роўна скасаваць", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Ваша штомесячная падтрымка\nбыла паспяхова скасавана.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Няправільныя дадзеныя падпіскі", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Запішыцеся на штомесячную падтрымку, каб яна з'яўлялася тут", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Падпіскі пакуль няма", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Дата падпіскі", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Скончаецца", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Ідэнтыфікатар падпіскі", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Ідэнтыфікатар прадукта", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "ОК", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Мы не змаглі апрацаваць ваш плацёж", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Нешта пайшло не так з аплатай. Калі ласка, паспрабуйце зноў.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Паўтарыць", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Апрацоўка плацежу", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Вы завяршыце сваю пакупку на бяспечнай старонцы афармлення замовы Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ тыдзень", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ год", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Найлепшы", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Зачыніць", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Прэміум", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Што вы атрымліваеце з Преміум:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Кансультацыі без рэкламы", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Хуткія адказы", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Ранній доступ да новых функцый", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/тыдзень", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Скасуйце ў любы час. Без абавязацельстваў.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "АБМЕЖАВАНЫ ЧАС", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Аўтаабнаўленне раз на тыдзень. Скасуйце ў любы час у наладах. Працягваючы, вы згаджаецеся з нашымі Умовамі і

Палітыкай канфідэнцыяльнасці

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Працягнуць з Преміум", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Ваша падтрымка дапамагае зрабіць медыцынскую дапамогу даступнай", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Калі ласка, зарэгіструйцеся або ўвайдзіце, каб завяршыць пакупку", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_bg.arb b/example/lib/src/l10n/pay/app_bg.arb new file mode 100644 index 0000000..939dade --- /dev/null +++ b/example/lib/src/l10n/pay/app_bg.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "bg", + "exampleButton": "Пример на бутон", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Да, всичко е наред!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Всяко дарение лекува!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Вашето дарение помага за финансиране на безплатни съвети за други в нужда.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Платете, както ви се струва правилно,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "или продължете да използвате Doctorina безплатно, благодарение на другите, които избраха да дарят.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Еднократно", + "@oneTimeLabel": {}, + "monthlyLabel": "Месечно", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Изберете месечна сума за дарение", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Вие ще се абонирате за месечен план.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Вие се абонирате за месечен план за {amount}/месец.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Плащането ще бъде начислено на вашата сметка при потвърждение на покупката. Абонаментът се подновява автоматично всеки месец, освен ако автоматичното подновяване не бъде изключено поне 24 часа преди края на текущия период. Можете да управлявате или отменяте абонамента си по всяко време в настройките на вашия акаунт. Като продължавате, вие се съгласявате с нашите {termsOfService} и {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Изберете еднократна сума за дарение", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Повечето хора дават $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Изберете валута", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Обработка на плащането", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Обработка на еднократно плащане от {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Обработка на месечно плащане от {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Благодаря!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Сега още повече хора ще получат безплатни съвети — вашата подкрепа е наистина безценна.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Вие допринесохте:", + "@youContributedLabel": {}, + "perMonth": "/ месец", + "@perMonth": {}, + "returnToTheMainScreenButton": "Върнете се на главния екран", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Условия за ползване", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Политика за поверителност", + "@privacyPolicyLabel": {}, + "donateButton": "Дарете", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Активен", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Отменен", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Пауза", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "В очакване", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Създадено", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Времето изтече", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Неизвестно", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina сътрудник", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Подновява", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Отмяна на абонамента", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Сигурни ли сте?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Вашата месечна подкрепа поддържа Doctorina безплатно за хора, които разчитат на него, но не могат да си позволят да платят. \n\nВашата абонаментна такса финансира поне 10 безплатни консултации всеки месец. \n\nАко напуснете, по-малко пациенти ще получат помощта, от която се нуждаят.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Запази абонамента", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Отмени все пак", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Вашата месечна поддръжка е успешно отменена", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Неправилни данни за абонамент", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Запишете се за месечна поддръжка, за да се появи тук.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Няма абонаменти все още", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Дата на абонамента", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Изтича", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID на абонамента", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Идентификатор на продукта", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "ОК", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Не можахме да обработим плащането ви", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Нещо се обърка с плащането.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Опитай отново", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Обработка на плащането", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Ще завършите покупката си на защитената страница за плащане на Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ седмица", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ година", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Най-популярен", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Затвори", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Какво получавате с Премиум:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Консултации без реклами", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "По-бързи отговори", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Ранен достъп до нови функции", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/седмица", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Отменете по всяко време. Без ангажимент.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "ОГРАНИЧЕНО ВРЕМЕ", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Автоматично се подновява седмично. Можете да отмените по всяко време в настройките. Като продължавате, вие се съгласявате с нашите Условия и

Политика за поверителност

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Продължи с Премиум", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Вашата подкрепа помага да се запази достъпността на грижите", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Моля, регистрирайте се или влезте, за да завършите покупката.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_bn.arb b/example/lib/src/l10n/pay/app_bn.arb new file mode 100644 index 0000000..a604941 --- /dev/null +++ b/example/lib/src/l10n/pay/app_bn.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "bn", + "exampleButton": "বাটন উদাহরণ", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "হ্যাঁ, সব ঠিক আছে!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "প্রতিটি অবদান নিরাময় করে!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "আপনার অবদান প্রয়োজনীয়দের জন্য বিনামূল্যে পরামর্শ প্রদানে সহায়তা করে.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "যা মনে হয় ঠিক তাই মূল্য দিন,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "অথবা Doctorina-কে বিনামূল্যে ব্যবহার চালিয়ে যান, তাদের ধন্যবাদ যারা দান করতে পছন্দ করেছেন", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "এককালীন", + "@oneTimeLabel": {}, + "monthlyLabel": "মাসিক", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "মাসিক দান পরিমাণ নির্বাচন করুন", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "আপনি একটি মাসিক প্ল্যেনে সদস্যতা নিতে যাচ্ছেন.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "আপনি {amount}/মাসের জন্য একটি মাসিক পরিকল্পনার সদস্যতা নিচ্ছেন", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "ক্রয় নিশ্চিতকরণের সময় আপনার অ্যাকাউন্ট থেকে অর্থ চার্জ করা হবে। সাবস্ক্রিপশনটি বর্তমান পর্বের শেষে অন্তত ২৪ ঘণ্টা আগে অটো-রিনিউ বন্ধ না করা পর্যন্ত প্রতি মাসে স্বয়ংক্রিয়ভাবে নবায়ন হয়। আপনি আপনার অ্যাকাউন্ট সেটিংসে যেকোনো সময় সাবস্ক্রিপশন পরিচালনা বা বাতিল করতে পারেন। প্রক্রিয়া চালিয়ে যাওয়ার মাধ্যমে, আপনি আমাদের {termsOfService} এবং {privacyPolicy} এ সম্মত হচ্ছেন।", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "এককালীন অনুদানের পরিমাণ নির্বাচন করুন", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "বেশিরভাগ মানুষ $7–$15 দেন", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "মুদ্রা নির্বাচন করুন", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "পেমেন্ট প্রক্রিয়া হচ্ছে", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "এককালীন পেমেন্ট {currency} {amount} প্রক্রিয়া চলছে", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "প্রতি মাসের পেমেন্ট {amount} প্রক্রিয়া হচ্ছে", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "ধন্যবাদ!", + "@thankYouTitle": {}, + "thankYouSubtitle": "এখন আরও অনেক মানুষ বিনামূল্যে পরামর্শ পাবেন — আপনার সহায়তা সত্যিই অপরিমেয়।", + "@thankYouSubtitle": {}, + "youContributedLabel": "আপনি অবদান রেখেছেন:", + "@youContributedLabel": {}, + "perMonth": "/ মাস", + "@perMonth": {}, + "returnToTheMainScreenButton": "প্রধান পৃষ্ঠায় ফিরে যান", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "সেবার শর্তাবলী", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "গোপনীয়তা নীতি", + "@privacyPolicyLabel": {}, + "donateButton": "দান করুন", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "সক্রিয়", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "বাতিল", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "বিরতি", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "মুলতুবি", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "তৈরি করা হয়েছে", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "টাইমআউট", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "অজানা", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "ডাক্টরিনা অবদানকারী", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "নবায়ন হয়", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "সাবস্ক্রিপশন বাতিল করুন", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "আপনি কি নিশ্চিত?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "আপনার মাসিক সহায়তা ডক্টরিনা তাদের জন্য ফ্রি রাখে যারা এতে নির্ভর করে কিন্তু পেমেন্ট করতে পারে না.\n\nআপনার সাবস্ক্রিপশন প্রতি মাসে কমপক্ষে 10টি বিনামূল্যে পরামর্শ প্রদান করে.\nযদি আপনি ছেড়ে যান, তাহলে কম রোগী প্রয়োজনীয় সাহায্য পাবে", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "সাবস্ক্রিপশন রাখুন", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "তবুও বাতিল করুন", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "আপনার মাসিক সহায়তা সফলভাবে বাতিল করা হয়েছে.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "ভুল সাবস্ক্রিপশন তথ্য", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "মাসিক সহায়তার জন্য সাইন আপ করুন যাতে এটি এখানে প্রদর্শিত হয়", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "এখনো কোন সাবস্ক্রিপশন নেই", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "সাবস্ক্রিপশন তারিখ", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "মেয়াদ শেষ", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "সাবস্ক্রিপশন আইডি", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "পণ্যের আইডি", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "ঠিক আছে", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "আমরা আপনার পেমেন্ট সম্পন্ন করতে পারিনি", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "পেমেন্টে কিছু ভুল হয়েছে.\nআবার চেষ্টা করুন.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "পুনরায় চেষ্টা করুন", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "পেমেন্ট প্রক্রিয়াকরণ হচ্ছে", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "আপনি Stripe-এর নিরাপদ চেকআউট পৃষ্ঠায় আপনার ক্রয় সম্পন্ন করবেন।", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ সপ্তাহ", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ বছর", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "সবচেয়ে জনপ্রিয়", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "বন্ধ করুন", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "ডক্টরিনা প্রিমিয়াম", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "প্রিমিয়ামের সাথে আপনি যা পাবেন:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "বিজ্ঞাপন-মুক্ত পরামর্শ", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "দ্রুত উত্তর", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "নতুন বৈশিষ্ট্যের জন্য প্রাথমিক অ্যাক্সেস", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/সপ্তাহ", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "যেকোনো সময় বাতিল করুন। কোনো প্রতিশ্রুতি নেই।", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "সীমিত সময়", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "প্রতি সপ্তাহে স্বয়ংক্রিয়ভাবে নবায়ন হয়। সেটিংসে যেকোনো সময় বাতিল করুন। এগিয়ে যাওয়ার জন্য, আপনি আমাদের শর্তাবলী এবং

গোপনীয়তা নীতি

মেনে নিচ্ছেন।", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 প্রিমিয়ামে চালিয়ে যান", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 আপনার সমর্থন চিকিৎসা সেবা সহজলভ্য রাখতে সাহায্য করে", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "ক্রয় সম্পন্ন করতে দয়া করে সাইন আপ করুন বা লগ ইন করুন।", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ca.arb b/example/lib/src/l10n/pay/app_ca.arb new file mode 100644 index 0000000..1f11106 --- /dev/null +++ b/example/lib/src/l10n/pay/app_ca.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ca", + "exampleButton": "Exemple de botó", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Sí, està tot bé!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Cada contribució sana!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "La teva contribució ajuda a finançar consells gratuïts per a altres que ho necessiten", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Paga el que et sembli correcte,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "o continua utilitzant Doctorina de franc, gràcies a altres que han escollit donar", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Un cop", + "@oneTimeLabel": {}, + "monthlyLabel": "Mensual", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Trieu l'import mensual de donació", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Estàs a punt de subscriure't a un pla mensual", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Estàs subscrivint-te a un pla mensual per {amount}/mes.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "El pagament es carregarà al teu compte en la confirmació de la compra. La subscripció es renova automàticament cada mes, a menys que l'auto-renovació estigui desactivada almenys 24 hores abans de la fi del període actual. Pots gestionar o cancel·lar la teva subscripció en qualsevol moment a la configuració del teu compte. En continuar, acceptes els nostres {termsOfService} i {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Trieu l'import de la donació única", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "La majoria de la gent dóna $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Selecciona la moneda", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Processant el pagament", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Processant un pagament únic de {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Processant el pagament mensual de {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Gràcies!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Ara encara més persones rebran consells gratuïts — el teu suport és realment inavaluable.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Has contribuït:", + "@youContributedLabel": {}, + "perMonth": "/ mes", + "@perMonth": {}, + "returnToTheMainScreenButton": "Torna a la pantalla principal", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Termes de servei", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Política de privadesa", + "@privacyPolicyLabel": {}, + "donateButton": "Dona", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Actiu", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Cancel·lat", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Pausat", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Pendent", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Creat", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Temps esgotat", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Desconegut", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina contribuent", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Renova", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Cancel·la la subscripció", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Estàs segur?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "El teu suport mensual manté Doctorina gratuït per a les persones que hi confien però no poden pagar. La teva subscripció finança almenys 10 consultes gratuïtes cada mes. Si marxes, menys pacients rebran l'ajuda que necessiten.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Mantenir la subscripció", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Cancel·la igualment", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "El teu suport mensual s'ha cancel·lat amb èxit.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Dades d'abonament incorrectes", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Inscriu-te per a suport mensual perquè aparegui aquí", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Encara no hi ha subscripcions", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Data de subscripció", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Expira", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID de subscripció", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ID del producte", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "No hem pogut processar el teu pagament", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Alguna cosa ha anat malament amb el pagament. Si us plau, torna a provar.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Torna a provar", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Processant el pagament", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Completaràs la teva compra a la pàgina de pagament segura de Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ setmana", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ any", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Més popular", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Tanca", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "El que obtens amb Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Consultes sense anuncis", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Respostes més ràpides", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Accés anticipat a noves funcions", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/setmana", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Cancel·la en qualsevol moment. Sense compromís.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "TEMPS LIMITAT", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Es renova setmanalment. Cancel·la en qualsevol moment a la configuració. En continuar, acceptes els nostres Termes i

Política de Privacitat

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Continua amb Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 El teu suport ajuda a mantenir l'atenció accessible", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Si us plau, registreu-vos o inicieu sessió per completar la compra.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_cs.arb b/example/lib/src/l10n/pay/app_cs.arb new file mode 100644 index 0000000..2c89329 --- /dev/null +++ b/example/lib/src/l10n/pay/app_cs.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "cs", + "exampleButton": "Příklad tlačítka", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Ano, je to v pořádku!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Každý příspěvek léčí!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Váš příspěvek pomáhá financovat bezplatné rady pro ostatní v nouzi.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Plaťte, co se zdá správné,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "nebo pokračujte v používání Doctoriny zdarma, díky ostatním, kteří se rozhodli přispět.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Jednorázový", + "@oneTimeLabel": {}, + "monthlyLabel": "Měsíčně", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Vyberte měsíční částku daru", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Chystáte se přihlásit k měsíčnímu plánu.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Přihlašujete se k měsíčnímu plánu za {amount}/měsíc.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Platba bude stržena z vašeho účtu při potvrzení nákupu. Předplatné se automaticky obnovuje každý měsíc, pokud není automatické obnovení vypnuto nejméně 24 hodin před koncem aktuálního období. Svou předplatné můžete spravovat nebo zrušit kdykoli v nastavení účtu. Pokračováním souhlasíte s našimi {termsOfService} a {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Vyberte částku jednorázového daru", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Většina lidí dává $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Vyberte měnu", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Zpracování platby", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Zpracování jednorázové platby {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Zpracovávám měsíční platbu ve výši {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Děkuji!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Nyní ještě více lidí obdrží bezplatné rady — vaše podpora je skutečně neocenitelná.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Přispěl/a jsi:", + "@youContributedLabel": {}, + "perMonth": "/ měsíc", + "@perMonth": {}, + "returnToTheMainScreenButton": "Vrátit se na hlavní obrazovku", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Podmínky služby", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Zásady ochrany osobních údajů", + "@privacyPolicyLabel": {}, + "donateButton": "Darovat", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktivní", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Zrušeno", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Pozastaveno", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Čekající", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Vytvořeno", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Časový limit", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Neznámý", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Přispěvatel Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Obnovuje", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Zrušit předplatné", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Jste si jistý?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Vaše měsíční podpora udržuje Doctorinu zdarma pro lidi, kteří se na ni spoléhají, ale nemohou si dovolit platit.\n\nVaše předplatné financuje alespoň 10 bezplatných konzultací každý měsíc.\nPokud odejdete, méně pacientů dostane pomoc, kterou potřebují.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Udržet předplatné", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Zrušit stejně", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Vaše měsíční podpora byla úspěšně zrušena.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Nesprávná data předplatného", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Přihlaste se k měsíční podpoře, aby se zde zobrazila.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Zatím žádné předplatné", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Datum předplatného", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Vyprší", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID předplatného", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ID produktu", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Nemohli jsme zpracovat vaši platbu", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Něco se pokazilo s platbou. Zkuste to prosím znovu.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Zkusit znovu", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Zpracování platby", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Dokončíte svůj nákup na zabezpečené platební stránce Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ týden", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ rok", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Nejpopulárnější", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Zavřít", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Co získáte s prémiovým členstvím:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Konzultace bez reklam", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Rychlejší odpovědi", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Přednostní přístup k novým funkcím", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/týden", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Zrušit kdykoli. Žádný závazek.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "OMEZENÝ ČAS", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Automaticky se obnovuje týdně. Zrušit kdykoli v nastavení. Pokračováním souhlasíte s našimi Podmínkami a

Zásadami ochrany osobních údajů

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Pokračovat s prémiovým", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Vaše podpora pomáhá udržovat péči dostupnou", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Prosím, zaregistrujte se nebo se přihlaste, abyste dokončili nákup.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_da.arb b/example/lib/src/l10n/pay/app_da.arb new file mode 100644 index 0000000..7d34300 --- /dev/null +++ b/example/lib/src/l10n/pay/app_da.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "da", + "exampleButton": "Eksempel på knap", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Ja, det er alt godt!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Hver bidrag heler!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Dit bidrag hjælper med at finansiere gratis rådgivning til andre i nød", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Betal hvad der føles rigtigt,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "eller bliv ved med at bruge Doctorina gratis, takket være andre der har valgt at give", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Én gang", + "@oneTimeLabel": {}, + "monthlyLabel": "Månedligt", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Vælg månedligt donationsbeløb", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Du er ved at abonnere på en månedlig plan", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Du abonnerer på en månedlig plan for {amount}/måned.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Betalingen vil blive trukket fra din konto ved bekræftelse af køb. Abonnementet fornyes automatisk hver måned, medmindre auto-fornyelse er slået fra mindst 24 timer før slutningen af den nuværende periode. Du kan administrere eller annullere dit abonnement når som helst i dine kontoindstillinger. Ved at fortsætte accepterer du vores {termsOfService} og {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Vælg engangs donationsbeløb", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "De fleste mennesker giver $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Vælg valuta", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Behandler betaling", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Behandler engangsbetaling på {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Behandler månedlig betaling af {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Tak!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Nu vil endnu flere mennesker modtage gratis rådgivning — din støtte er virkelig uvurderlig.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Du har bidraget:", + "@youContributedLabel": {}, + "perMonth": "/ måned", + "@perMonth": {}, + "returnToTheMainScreenButton": "Returner til hovedskærmen", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Vilkår for service", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Privatlivspolitik", + "@privacyPolicyLabel": {}, + "donateButton": "Donér", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktiv", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Annulleret", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Paus", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Afventende", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Oprettet", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Timeout", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Ukendt", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina bidragyder", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Forny", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Annuller abonnement", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Er du sikker?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Din månedlige støtte holder Doctorina gratis for folk, der er afhængige af det, men ikke har råd til at betale. Dit abonnement finansierer mindst 10 gratis konsultationer hver måned. Hvis du forlader, vil færre patienter få den hjælp, de har brug for.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Behold abonnement", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Annuller alligevel", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Dit månedlige støtte er blevet annulleret.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Forkerte abonnementsdata", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Tilmeld dig månedlig support for at få det til at vises her", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Ingen abonnementer endnu", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Abonnementsdato", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Udløber", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Abonnements-ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Produkt-ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Vi kunne ikke gennemføre din betaling", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Noget gik galt med betalingen. Prøv venligst igen.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Prøv igen", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Behandler betaling", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Du afslutter dit køb på Stripes sikre betalingsside.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ uge", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ år", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Mest populær", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Luk", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Hvad du får med Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Annoncefri konsultationer", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Hurtigere svar", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Tidlig adgang til nye funktioner", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/uge", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Afbestil når som helst. Ingen forpligtelse.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "BEGRÆNSET TID", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Fornyelse hver uge. Annuller når som helst i indstillingerne. Ved at fortsætte accepterer du vores Vilkår og

Privatlivspolitik

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Fortsæt med Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Din støtte hjælper med at holde pleje tilgængelig", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Venligst tilmeld dig eller log ind for at fuldføre købet.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_de.arb b/example/lib/src/l10n/pay/app_de.arb new file mode 100644 index 0000000..d9c9c1f --- /dev/null +++ b/example/lib/src/l10n/pay/app_de.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "de", + "exampleButton": "Beispiel-Button", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Ja, alles ist in Ordnung!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Jeder Beitrag heilt!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Ihr Beitrag hilft dabei, kostenlose medizinische Beratung für Bedürftige zu ermöglichen.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Zahlen Sie, was sich richtig anfühlt –", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "oder nutzen Sie Doctorina weiterhin kostenlos, dank der Großzügigkeit anderer.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Einmalig", + "@oneTimeLabel": {}, + "monthlyLabel": "Monatlich", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Wählen Sie den monatlichen Spendenbetrag", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Sie sind dabei, einen Monatsplan zu abonnieren.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Du abonnierst einen Monatsplan für {amount}/Monat", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Die Zahlung wird Ihrem Konto bei Bestellbestätigung belastet. Das Abonnement verlängert sich automatisch jeden Monat, sofern die automatische Verlängerung nicht mindestens 24 Stunden vor Ablauf des aktuellen Zeitraums deaktiviert wird. Sie können Ihr Abonnement jederzeit in Ihren Kontoeinstellungen verwalten oder kündigen. Durch Fortfahren stimmen Sie unseren {termsOfService} und {privacyPolicy} zu.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Wählen Sie einen einmaligen Spendenbetrag", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Die meisten geben $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Währung auswählen", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Zahlung wird verarbeitet", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Verarbeite Einmalzahlung von {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Verarbeite monatliche Zahlung von {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Danke!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Dank Ihrer Unterstützung können nun noch mehr Menschen kostenlose Beratung erhalten – Ihr Beitrag ist von unschätzbarem Wert.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Sie haben gespendet:", + "@youContributedLabel": {}, + "perMonth": "/ Monat", + "@perMonth": {}, + "returnToTheMainScreenButton": "Zurück zum Hauptbildschirm", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Nutzungsbedingungen", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Datenschutzerklärung", + "@privacyPolicyLabel": {}, + "donateButton": "Spenden", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktiv", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Gekündigt", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Pausiert", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Ausstehend", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Erstellt", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Zeitüberschreitung", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Unbekannt", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina-Beitragender", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Wird erneuert", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Abonnement kündigen", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Bist du sicher?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Ihre monatliche Unterstützung hält Doctorina für Menschen, die darauf angewiesen sind, aber nicht zahlen können, kostenlos.\n\nIhr Abonnement finanziert mindestens 10 kostenlose Beratungen pro Monat.\nWenn Sie kündigen, erhalten weniger Patienten die Hilfe, die sie benötigen", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Abonnement beibehalten", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Trotzdem abbrechen", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Ihre monatliche Unterstützung wurde erfolgreich storniert.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Falsche Abonnementdaten", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Melde dich für monatlichen Support an, damit er hier erscheint", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Noch keine Abonnements", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Abonnementdatum", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Läuft ab", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Abonnement-ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Produkt-ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Wir konnten Ihre Zahlung nicht bearbeiten", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Bei der Zahlung ist etwas schiefgelaufen.\nBitte versuchen Sie es erneut.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Erneut versuchen", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Zahlung wird verarbeitet", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Sie schließen Ihren Kauf auf der sicheren Checkout-Seite von Stripe ab.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ Woche", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ Jahr", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Beliebteste", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Schließen", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Was Sie mit Premium erhalten:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Werbefreie Konsultationen", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Schnellere Antworten", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Früherer Zugang zu neuen Funktionen", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/Woche", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Jederzeit kündigen. Keine Verpflichtung.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "BEGRENZTE ZEIT", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Auto-renewiert wöchentlich. Jederzeit in den Einstellungen kündigen. Indem Sie fortfahren, stimmen Sie unseren Nutzungsbedingungen und

Datenschutzbestimmungen

zu.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Mit Premium fortfahren", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Ihre Unterstützung hilft, die Versorgung zugänglich zu halten", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Bitte melden Sie sich an oder registrieren Sie sich, um den Kauf abzuschließen", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_el.arb b/example/lib/src/l10n/pay/app_el.arb new file mode 100644 index 0000000..2d06bcd --- /dev/null +++ b/example/lib/src/l10n/pay/app_el.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "el", + "exampleButton": "Παράδειγμα κουμπιού", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Ναι, όλα είναι καλά!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Κάθε συνεισφορά θεραπεύει!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Η συνεισφορά σας βοηθά στη χρηματοδότηση δωρεάν συμβουλών για άλλους που έχουν ανάγκη.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Πληρώστε αυτό που σας φαίνεται σωστό", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "ή συνεχίστε να χρησιμοποιείτε το Doctorina δωρεάν, χάρη σε άλλους που επέλεξαν να δωρίσουν.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Μία φορά", + "@oneTimeLabel": {}, + "monthlyLabel": "Μηνιαίος", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Επιλέξτε το ποσό μηνιαίας δωρεάς", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Είστε έτοιμοι να εγγραφείτε σε ένα μηνιαίο σχέδιο.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Εγγράφεστε σε ένα μηνιαίο σχέδιο για {amount}/μήνα.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Η πληρωμή θα χρεωθεί στον λογαριασμό σας κατά την επιβεβαίωση της αγοράς. Η συνδρομή ανανεώνεται αυτόματα κάθε μήνα, εκτός εάν η αυτόματη ανανέωση απενεργοποιηθεί τουλάχιστον 24 ώρες πριν από την λήξη της τρέχουσας περιόδου. Μπορείτε να διαχειριστείτε ή να ακυρώσετε τη συνδρομή σας οποιαδήποτε στιγμή στις ρυθμίσεις του λογαριασμού σας. Συνεχίζοντας, συμφωνείτε με τους {termsOfService} και την {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Επιλέξτε ποσό μιας εφάπαξ δωρεάς", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Οι περισσότεροι άνθρωποι δίνουν $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Επιλέξτε νόμισμα", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Επεξεργασία πληρωμής", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Επεξεργασία μιας εφάπαξ πληρωμής {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Επεξεργασία μηνιαίας πληρωμής {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Ευχαριστώ!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Τώρα ακόμη περισσότεροι άνθρωποι θα λάβουν δωρεάν συμβουλές — η υποστήριξή σας είναι πραγματικά ανεκτίμητη.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Συμβάλατε:", + "@youContributedLabel": {}, + "perMonth": "/ μήνα", + "@perMonth": {}, + "returnToTheMainScreenButton": "Επιστροφή στην κύρια οθόνη", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Όροι Υπηρεσίας", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Πολιτική Απορρήτου", + "@privacyPolicyLabel": {}, + "donateButton": "Δωρεά", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Ενεργό", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Ακυρώθηκε", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Παύθηκε", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Εκκρεμεί", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Δημιουργήθηκε", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Χρόνος λήξης", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Άγνωστο", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Συνεργάτης Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Ανανεώνει", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Ακύρωση συνδρομής", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Είστε σίγουροι;", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Η μηνιαία σας υποστήριξη κρατάει το Doctorina δωρεάν για τους ανθρώπους που το χρειάζονται αλλά δεν μπορούν να πληρώσουν.\n\nΗ συνδρομή σας χρηματοδοτεί τουλάχιστον 10 δωρεάν συμβουλές κάθε μήνα.\nΑν φύγετε, λιγότεροι ασθενείς θα λάβουν τη βοήθεια που χρειάζονται.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Διατήρηση συνδρομής", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Ακυρώστε ούτως ή άλλως", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Η μηνιαία υποστήριξή σας ακυρώθηκε με επιτυχία.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Λάθος δεδομένα συνδρομής", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Εγγραφείτε για μηνιαία υποστήριξη για να εμφανίζεται εδώ.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Δεν υπάρχουν συνδρομές ακόμα", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Η ημερομηνία συνδρομής", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Λήγει", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Αριθμός Συνδρομής", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Αριθμός ταυτότητας προϊόντος", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Εντάξει", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Δεν μπορέσαμε να προχωρήσουμε την πληρωμή σας", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Κάτι πήγε στραβά με την πληρωμή. Παρακαλώ δοκιμάστε ξανά.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Δοκιμάστε ξανά", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Επεξεργασία πληρωμής", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Θα ολοκληρώσετε την αγορά σας στη ασφαλή σελίδα πληρωμής της Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ εβδομάδα", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ χρόνο", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Πιο Δημοφιλές", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Κλείσιμο", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Τι παίρνετε με το Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Συμβουλές χωρίς διαφημίσεις", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Γρηγορότερες απαντήσεις", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Πρώιμη πρόσβαση σε νέες δυνατότητες", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/εβδομάδα", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Ακυρώστε οποιαδήποτε στιγμή. Χωρίς δέσμευση.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "ΠΕΡΙΟΡΙΣΜΕΝΟΣ ΧΡΟΝΟΣ", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Ανανεώνεται αυτόματα κάθε εβδομάδα. Μπορείτε να ακυρώσετε οποιαδήποτε στιγμή στις ρυθμίσεις. Συνεχίζοντας, συμφωνείτε με τους Όρους και την

Πολιτική Απορρήτου

μας.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Συνεχίστε με το Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Η υποστήριξή σας βοηθά να διατηρείται η φροντίδα προσβάσιμη", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Παρακαλώ εγγραφείτε ή συνδεθείτε για να ολοκληρώσετε την αγορά.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_en.arb b/example/lib/src/l10n/pay/app_en.arb similarity index 73% rename from example/lib/src/arbs/pay/example_en.arb rename to example/lib/src/l10n/pay/app_en.arb index c835ff8..87c8b07 100644 --- a/example/lib/src/arbs/pay/example_en.arb +++ b/example/lib/src/l10n/pay/app_en.arb @@ -1,13 +1,5 @@ { "@@locale": "en", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Payment", - "@title": { - "description": "Заголовок экрана" - }, "exampleButton": "Button example", "@exampleButton": { "description": "Пример кнопки" @@ -112,8 +104,6 @@ "@privacyPolicyLabel": {}, "donateButton": "Donate", "@donateButton": {}, - "manageSubscriptionTitle": "Manage subscription", - "@manageSubscriptionTitle": {}, "subscriptionStatusActiveLabel": "Active", "@subscriptionStatusActiveLabel": {}, "subscriptionStatusCanceledLabel": "Canceled", @@ -169,5 +159,69 @@ "processingDonationTitle": "Processing payment", "@processingDonationTitle": {}, "processingDonationStripeSubtitle": "You’ll complete your purchase on Stripe’s secure checkout page.", - "@processingDonationStripeSubtitle": {} + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ week", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ year", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Most Popular", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Close", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "What you get with Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Ad-free consultations", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Faster replies", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Early access to new features", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/week", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Cancel anytime. No commitment.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "LIMITED TIME", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Auto-renews weekly. Cancel anytime in settings. By continuing, you agree to our Terms and

Privacy Policy

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Continue with Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Your support helps keep care accessible", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Please sign up or log in to complete the purchase.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } } \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_es.arb b/example/lib/src/l10n/pay/app_es.arb similarity index 55% rename from example/lib/src/arbs/pay/example_es.arb rename to example/lib/src/l10n/pay/app_es.arb index 9d54923..3c7c683 100644 --- a/example/lib/src/arbs/pay/example_es.arb +++ b/example/lib/src/l10n/pay/app_es.arb @@ -1,18 +1,10 @@ { "@@locale": "es", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Pago", - "@title": { - "description": "Заголовок экрана" - }, "exampleButton": "Ejemplo de botón", "@exampleButton": { "description": "Пример кнопки" }, - "donationYesItsAllGoodButton": "¡Sí, está todo bien!", + "donationYesItsAllGoodButton": "Sí, todo está bien!", "@donationYesItsAllGoodButton": { "description": "Кнопка доната после рекомендаций" }, @@ -28,13 +20,13 @@ "@oneTimeLabel": {}, "monthlyLabel": "Mensual", "@monthlyLabel": {}, - "chooseMonthlyDonationAmountLabel": "Elija el monto de la donación mensual", + "chooseMonthlyDonationAmountLabel": "Elige la cantidad de donación mensual", "@chooseMonthlyDonationAmountLabel": {}, "subscriptionNoAmount": "Estás a punto de suscribirte a un plan mensual.", "@subscriptionNoAmount": { "description": "Сумма подписки еще не выбрана" }, - "subscriptionAmount": "Te suscribes a un plan mensual por {amount} al mes.", + "subscriptionAmount": "Te suscribes a un plan mensual por {amount}/mes", "@subscriptionAmount": { "description": "Subscription info text with amount", "placeholders": { @@ -45,7 +37,7 @@ } } }, - "subscriptionInfo": "El pago se cargará a tu cuenta al confirmar la compra. La suscripción se renueva automáticamente cada mes, a menos que la desactives al menos 24 horas antes del final del periodo actual. Puedes gestionar o cancelar tu suscripción en cualquier momento desde la configuración de tu cuenta. Al continuar, aceptas nuestros {termsOfService} y {privacyPolicy}.", + "subscriptionInfo": "El pago se cargará a su cuenta al confirmar la compra. La suscripción se renueva automáticamente cada mes a menos que la renovación automática se desactive al menos 24 horas antes de que finalice el período actual. Puede gestionar o cancelar su suscripción en cualquier momento en la configuración de su cuenta. Al proceder, acepta nuestros {termsOfService} y {privacyPolicy}", "@subscriptionInfo": { "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", "placeholders": { @@ -61,9 +53,9 @@ } } }, - "chooseOneTimeDonationAmountLabel": "Elija el monto de la donación única", + "chooseOneTimeDonationAmountLabel": "Elija una cantidad de donación única", "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "La mayoría de la gente dona entre $7 y $15.", + "mostPeopleGiveHint": "La mayoría da $7–$15", "@mostPeopleGiveHint": {}, "selectCurrencyTooltip": "Seleccionar moneda", "@selectCurrencyTooltip": {}, @@ -98,22 +90,20 @@ }, "thankYouTitle": "¡Gracias!", "@thankYouTitle": {}, - "thankYouSubtitle": "Ahora, aún más personas recibirán asesoramiento gratuito: su apoyo es verdaderamente invaluable.", + "thankYouSubtitle": "Ahora aún más personas recibirán asesoramiento gratuito — tu apoyo es realmente invaluable.", "@thankYouSubtitle": {}, - "youContributedLabel": "Usted contribuyó:", + "youContributedLabel": "Has contribuido:", "@youContributedLabel": {}, "perMonth": "/ mes", "@perMonth": {}, - "returnToTheMainScreenButton": "Regresar a la pantalla principal", + "returnToTheMainScreenButton": "Volver a la pantalla principal", "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "Condiciones de servicio", + "termsOfServiceLabel": "Términos de servicio", "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "política de privacidad", + "privacyPolicyLabel": "Política de privacidad", "@privacyPolicyLabel": {}, "donateButton": "Donar", "@donateButton": {}, - "manageSubscriptionTitle": "Administrar suscripción", - "@manageSubscriptionTitle": {}, "subscriptionStatusActiveLabel": "Activo", "@subscriptionStatusActiveLabel": {}, "subscriptionStatusCanceledLabel": "Cancelado", @@ -124,50 +114,114 @@ "@subscriptionStatusPendingLabel": {}, "subscriptionStatusCreatedLabel": "Creado", "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "Se acabó el tiempo", + "subscriptionStatusTimeoutLabel": "Tiempo de espera", "@subscriptionStatusTimeoutLabel": {}, "subscriptionStatusUnknownLabel": "Desconocido", "@subscriptionStatusUnknownLabel": {}, "subscriptionDoctorinaContributor": "Colaborador de Doctorina", "@subscriptionDoctorinaContributor": {}, - "subscriptionRenews": "Renueva", + "subscriptionRenews": "Se renueva", "@subscriptionRenews": {}, "subscriptionCancelButton": "Cancelar suscripción", "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "¿Está seguro?", + "subscriptionAreYouSureDialogTitle": "¿Estás seguro?", "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "Tu apoyo mensual mantiene Doctorina gratis para quienes dependen de ella pero no pueden pagarla.\n\nTu suscripción financia al menos 10 consultas gratuitas al mes.\nSi te vas, menos pacientes recibirán la ayuda que necesitan.", + "subscriptionAreYouSureDialogText": "Tu apoyo mensual mantiene Doctorina gratuito para las personas que dependen de él pero no pueden pagar.\n\nTu suscripción financia al menos 10 consultas gratuitas cada mes.\nSi te retiras, menos pacientes recibirán la ayuda que necesitan", "@subscriptionAreYouSureDialogText": {}, "subscriptionAreYouSureDialogKeepButton": "Mantener suscripción", "@subscriptionAreYouSureDialogKeepButton": {}, "subscriptionAreYouSureDialogCancelButton": "Cancelar de todos modos", "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "Su apoyo mensual\nha sido cancelado exitosamente.", + "subscriptionYourMonthlySupportCanceledNotification": "Su apoyo mensual ha sido cancelado con éxito.", "@subscriptionYourMonthlySupportCanceledNotification": {}, "subscriptionMalformed": "Datos de suscripción incorrectos", "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "Regístrate para recibir soporte mensual para que aparezca aquí.", + "subscriptionSignUpForMonthlySupportButton": "Suscríbete al soporte mensual para que aparezca aquí", "@subscriptionSignUpForMonthlySupportButton": {}, "subscriptionNoSubscriptionsYet": "Aún no hay suscripciones", "@subscriptionNoSubscriptionsYet": {}, "subscriptionCreatedAtDateLabel": "Fecha de suscripción", "@subscriptionCreatedAtDateLabel": {}, - "subscriptionExpiresAtDateLabel": "Caduca", + "subscriptionExpiresAtDateLabel": "Vence", "@subscriptionExpiresAtDateLabel": {}, "subscriptionSubscriptionIdLabel": "ID de suscripción", "@subscriptionSubscriptionIdLabel": {}, - "subscriptionProductIdLabel": "Identificación del producto", + "subscriptionProductIdLabel": "ID del producto", "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "De acuerdo", + "subscriptionDialogOkButton": "Aceptar", "@subscriptionDialogOkButton": {}, "errorProcessDonationTitle": "No pudimos procesar su pago", "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "Se produjo un error con el pago. Inténtalo de nuevo.", + "errorProcessDonationSubtitle": "Algo salió mal con el pago.\nPor favor, inténtalo de nuevo.", "@errorProcessDonationSubtitle": {}, - "errorProcessDonationRetryButton": "Rever", + "errorProcessDonationRetryButton": "Reintentar", "@errorProcessDonationRetryButton": {}, "processingDonationTitle": "Procesando pago", "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "Completarás tu compra en la página de pago segura de Stripe.", - "@processingDonationStripeSubtitle": {} + "processingDonationStripeSubtitle": "Completarás tu compra en la página de pago seguro de Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ semana", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ año", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Más Popular", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Cerrar", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Lo que obtienes con Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Consultas sin anuncios", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Respuestas más rápidas", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Acceso anticipado a nuevas funciones", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/semana", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Cancela en cualquier momento. Sin compromiso.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "LIMITADO", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Se renueva automáticamente cada semana. Cancela en cualquier momento en la configuración. Al continuar, aceptas nuestros Términos y

Política de Privacidad

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Continuar con Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Tu apoyo ayuda a mantener la atención accesible", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Por favor, regístrate o inicia sesión para completar la compra", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } } \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_fa.arb b/example/lib/src/l10n/pay/app_fa.arb new file mode 100644 index 0000000..03ddcd2 --- /dev/null +++ b/example/lib/src/l10n/pay/app_fa.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "fa", + "exampleButton": "مثال دکمه", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "بله، همه چیز خوب است!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "هر سهم شفابخش است!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "سهم شما در تأمین مالی مشاوره رایگان برای نیازمندان کمک می‌کند.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "هر آنچه مناسب می‌بینید پرداخت کنید,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "یا به استفاده رایگان از Doctorina ادامه دهید، سپاس از دیگرانی که انتخاب کردند اهدا کنند", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "یک\rبار", + "@oneTimeLabel": {}, + "monthlyLabel": "ماهانه", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "میزان کمک ماهیانه را انتخاب کنید", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "شما در آستانه اشتراک در یک طرح ماهانه هستید.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "شما در حال اشتراک در یک طرح ماهیانه با {amount}/ماه هستید", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "پرداخت هنگام تأیید خرید از حساب شما کسر می‌شود. اشتراک به‌طور خودکار هر ماه تمدید می‌شود، مگر اینکه تمدید خودکار حداقل 24 ساعت پیش از پایان دوره جاری غیرفعال شود. شما می‌توانید در هر زمان در تنظیمات حساب کاربری خود اشتراک خود را مدیریت یا لغو کنید. با ادامه، شما با {termsOfService} و {privacyPolicy} ما موافقت می‌کنید.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "مبلغ کمک یک‌باره را انتخاب کنید", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "اکثر مردم $7–$15 می‌دهند", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "انتخاب ارز", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "پرداخت در حال پردازش", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "در حال پردازش پرداخت یک\u00061باره {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "در حال پردازش پرداخت ماهانه {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "متشکرم!", + "@thankYouTitle": {}, + "thankYouSubtitle": "اکنون افراد بیشتری از مشاوره رایگان بهره‌مند خواهند شد — حمایت شما بی‌قیمت است.", + "@thankYouSubtitle": {}, + "youContributedLabel": "شما مشارکت کردید:", + "@youContributedLabel": {}, + "perMonth": "/ ماه", + "@perMonth": {}, + "returnToTheMainScreenButton": "بازگشت به صفحه اصلی", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "شرایط خدمات", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "سیاست حفظ حریم خصوصی", + "@privacyPolicyLabel": {}, + "donateButton": "اهدا", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "فعال", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "لغو شده", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "معلق", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "در انتظار", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "ایجاد شده", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "مهلت به پایان رسید", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "ناشناخته", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina مشارکت‌کننده", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "تمدید می‌شود", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "لغو اشتراک", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "آیا مطمئنید؟", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "حمایت ماهانه شما، Doctorina را رایگان برای کسانی که به آن اعتماد دارند ولی توان پرداخت ندارند، نگه می‌دهد.\n\nاشتراک شما هر ماه حداقل 10 مشاوره رایگان را تأمین می‌کند.\nاگر ترک کنید، تعداد بیماران کمتری به کمک مورد نیاز خواهند رسید", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "اشتراک را نگه دارید", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "به هر حال لغو کن", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "پشتیبانی ماهانه شما با موفقیت لغو شده است.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "داده‌های اشتراک نادرست", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "برای پشتیبانی ماهانه ثبت نام کنید تا در اینجا نمایش داده شود", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "هنوز هیچ اشتراک وجود ندارد", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "تاریخ اشتراک", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "منقضی می‌شود", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "شناسه اشتراک", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "شناسه محصول", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "تأیید", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "پرداخت شما را نمی‌توانستیم پردازش کنیم", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "در پرداخت مشکلی پیش آمده.\nلطفاً دوباره تلاش کنید.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "مجدد تلاش کنید", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "در حال پردازش پرداخت", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "شما خرید خود را در صفحه پرداخت امن استرایپ تکمیل خواهید کرد.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ هفته", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ سال", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "محبوب‌ترین", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "بستن", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "دکترینا پرمیوم", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "آنچه با پریمیوم دریافت می‌کنید:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "مشاوره بدون تبلیغات", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "پاسخ‌های سریع‌تر", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "دسترسی زودهنگام به ویژگی‌های جدید", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/هفته", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "هر زمان که بخواهید لغو کنید. هیچ تعهدی وجود ندارد.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "زمان محدود", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "هر هفته به‌طور خودکار تمدید می‌شود. هر زمان در تنظیمات لغو کنید. با ادامه، شما با شرایط و

سیاست حفظ حریم خصوصی

ما موافقت می‌کنید.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 ادامه با پریمیوم", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 حمایت شما به دسترسی به خدمات درمانی کمک می‌کند", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "لطفاً برای تکمیل خرید ثبت‌نام کنید یا وارد شوید.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_fr.arb b/example/lib/src/l10n/pay/app_fr.arb new file mode 100644 index 0000000..4389950 --- /dev/null +++ b/example/lib/src/l10n/pay/app_fr.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "fr", + "exampleButton": "Exemple de bouton", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Oui, tout va bien!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Chaque contribution guérit!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Votre contribution aide à financer des conseils gratuits pour ceux dans le besoin.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Payez ce qui vous semble juste,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "ou continuez à utiliser Doctorina gratuitement, grâce à ceux qui ont choisi de donner", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Unique", + "@oneTimeLabel": {}, + "monthlyLabel": "Mensuel", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Choisissez le montant de la donation mensuelle", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Vous êtes sur le point de vous abonner à un plan mensuel.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Vous vous abonnez à un forfait mensuel pour {amount}/mois", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Le paiement sera débité de votre compte lors de la confirmation de l'achat. L'abonnement se renouvelle automatiquement chaque mois, sauf si le renouvellement automatique est désactivé au moins 24 heures avant la fin de la période en cours. Vous pouvez gérer ou annuler votre abonnement à tout moment dans les paramètres de votre compte. En continuant, vous acceptez nos {termsOfService} et {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Choisissez un montant de don unique", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "La plupart donnent $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Sélectionner la devise", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Traitement du paiement", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Traitement du paiement unique de {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Traitement du paiement mensuel de {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Merci!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Désormais, encore plus de personnes recevront des conseils gratuits — votre soutien est vraiment inestimable.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Vous avez contribué:", + "@youContributedLabel": {}, + "perMonth": "/ mois", + "@perMonth": {}, + "returnToTheMainScreenButton": "Retour à l'écran principal", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Conditions d'utilisation", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Politique de confidentialité", + "@privacyPolicyLabel": {}, + "donateButton": "Faire un don", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Actif", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Annulé", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "En pause", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "En attente", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Créé", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Délai d'attente", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Inconnu", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Contributeur de Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Se renouvelle", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Annuler l'abonnement", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Êtes-vous sûr ?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Votre soutien mensuel permet à Doctorina de rester gratuit pour les personnes qui en dépendent mais ne peuvent pas se permettre de payer.\n\nVotre abonnement finance au moins 10 consultations gratuites par mois.\nSi vous partez, moins de patients bénéficieront de l'aide dont ils ont besoin", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Garder l'abonnement", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Annuler quand même", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Votre soutien mensuel a été annulé avec succès.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Données d'abonnement incorrectes", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Inscrivez-vous au support mensuel pour qu'il apparaisse ici", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Pas encore d'abonnements", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Date d'abonnement", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Expire", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID d'abonnement", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ID produit", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Nous n'ont pas pu traiter votre paiement", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Un problème est survenu lors du paiement.\nVeuillez réessayer.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Réessayer", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Paiement en cours de traitement", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Vous finaliserez votre achat sur la page de paiement sécurisé de Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ semaine", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ an", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Le plus populaire", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Fermer", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Ce que vous obtenez avec Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Consultations sans publicité", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Réponses plus rapides", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Accès anticipé aux nouvelles fonctionnalités", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/semaine", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Annulez à tout moment. Aucun engagement.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "LIMITÉE DANS LE TEMPS", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Renouvelle automatiquement chaque semaine. Annulez à tout moment dans les paramètres. En continuant, vous acceptez nos Conditions et

Politique de confidentialité

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Continuer avec Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Votre soutien aide à rendre les soins accessibles", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Veuillez vous inscrire ou vous connecter pour finaliser l'achat.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_gu.arb b/example/lib/src/l10n/pay/app_gu.arb new file mode 100644 index 0000000..14f71e3 --- /dev/null +++ b/example/lib/src/l10n/pay/app_gu.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "gu", + "exampleButton": "બટન ઉદાહરણ", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "હાં, બધું સરસ છે!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "દરેક યોગદાન ચંગું કરે છે!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "તમારું યોગદાન જરૂરમંદ અન્ય લોકોને મફત સલાહ માટે નાણાં પૂરા પાડવામાં મદદરૂપ થાય છે.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "જે તમને યોગ્ય લાગે તેમ ચૂકવો,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "અથવા નિ:શુલ્ક Doctorina નો ઉપયોગ ચાલુ રાખો, બીજાઓએ આપવાનું પસંદ કર્યું તે માટે આભાર.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "એક વખત", + "@oneTimeLabel": {}, + "monthlyLabel": "માસિક", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "માસિક દાન રકમ પસંદ કરો", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "તમે માસિક યોજનામાં સબ્સ્ક્રાઇબ કરવા જઈ રહ્યા છો.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "તમે {amount}/મહિને માટેના માસિક પ્લાનની સબ્સ્ક્રાઇબ કરી રહ્યાં છો", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "ખરીદીની પુષ્ટિ સમયે તમારા ખાતામાં ચુકવણી લેવામાં આવશે. સબ્સ્ક્રિપ્શન આપમેળે દરેક મહિને નવીકરણ થાય છે, જો કે ચાલતા સમયગાળાના અંત પહેલા કનઇ ઓછા 24 કલાકમાં ઓટો-નવિનીકરણ બંધ ન કરાયું હોય તો. તમે તમારા ખાતાની સેટિંગ્સમાં કોઈપણ સમયે તમારી સબ્સ્ક્રિપ્શનનું મેનેજ અથવા રદ્દ કરી શકો છો. આગળ વધવાથી, તમે અમારી {termsOfService} અને {privacyPolicy} સાથે સહમતિ દર્શાવો છો.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "એક વખતનું દાન રકમ પસંદ કરો", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "ઘણાં લોકો $7–$15 આપે છે", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "કરન્સી પસંદ કરો", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "ચુકવણી પ્રક્રિયામાં છે", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "એક વખતની ચુકવણી {currency} {amount} પ્રક્રિયા થઈ રહી છે", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "દરમહિના {amount} ની ચુકવણી પ્રક્રિયા કરી રહ્યું છે", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "આભાર!", + "@thankYouTitle": {}, + "thankYouSubtitle": "હવે વધુ લોકોને મફત સલાહ મળશે — તમારો સહારો ખરેખર અમૂલ્ય છે.", + "@thankYouSubtitle": {}, + "youContributedLabel": "તમે યોગદાન આપ્યું:", + "@youContributedLabel": {}, + "perMonth": "પ્રતિ મહિનો", + "@perMonth": {}, + "returnToTheMainScreenButton": "મુખ્ય સ્ક્રીન પર પાછા જાઓ", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "સેવાની શરતો", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "ગોપનીયતા નીતિ", + "@privacyPolicyLabel": {}, + "donateButton": "દાન કરો", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "સક્રિય", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "રદ થયેલ", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "રોકાયું", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "બાકી", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "બનાવ્યું", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "સમય સમાપ્ત", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "અજ્ઞાત", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina યોગદાનકર્તા", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "પુનઃનવીનીકરણ", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "સબ્સ્ક્રિપ્શન રદ કરો", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "શું તમે ખાતરી રાખો છો?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "તમારી માસિક સહાય ડોક્ટરિનાને તેમ પર નિર્ભર લોકો માટે, જેઓ ચુકવણી કરવા સક્ષમ નથી, મફત રાખે છે. તમારો સબ્સ્ક્રિપ્શન દર મહિને ઓછામાં ઓછા 10 મફત પરામર્શોને ફંડ કરે છે. જો તમે જાઓ તો, ઓછા દર્દીઓને જરૂરી મદદ મળશે.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "સબ્સ્ક્રિપ્શન રાખો", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "તેમ છતાં રદ કરો", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "તમારી માસિક સહાયતા સફળતાપૂર્વક રદ કરવામાં આવી છે.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "ખોટી સબ્સ્ક્રાઇપશન માહિતી", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "માસિક સહાયતા માટે સાઇન અપ કરો જેથી તે અહીં દેખાય", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "હજી સુધી કોઈ સબસ્ક્રિપ્શન નથી", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "સબ્સ્ક્રિપ્શન તારીખ", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "સમાપ્ત", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "સબ્સ્ક્રિપ્શન ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ઉત્પાદન આઈડી", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "ઠીક છે", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "અમે તમારી ચુકવણીને આગળ વધારી શક્યા નથી", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "ચુકવણીમાં કંઈક ખોટું થયું છે. કૃપા કરીને ફરીથી પ્રયાસ કરો.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "પુનઃ પ્રયત્ન કરો", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "ચુકવણી પ્રક્રિયા થઇ રહી છે", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "તમે Stripe ની સુરક્ષિત ચેકઆઉટ પેજ પર તમારું ખરીદી પૂર્ણ કરશો.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ અઠવાડિયે", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ વર્ષ", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "સૌથી લોકપ્રિય", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "બંધ કરો", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "પ્રીમિયમ સાથે તમને શું મળે છે:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "વિજ્ઞાપનમુક્ત પરામર્શ", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "ઝડપી જવાબો", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "નવા ફીચર્સ માટે વહેલો ઍક્સેસ", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/સપ્તાહ", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "ક્યારે પણ રદ કરો. કોઈ પ્રતિબદ્ધતા નથી.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "સમય મર્યાદિત", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "આપોઆપ નવિનીકરણ દર અઠવાડિયે થાય છે. સેટિંગ્સમાં ક્યારેય રદ કરો. આગળ વધીને, તમે અમારી શરતો અને

ગોપનીયતા નીતિ

સાથે સંમત છો.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 પ્રીમિયમ સાથે ચાલુ રાખો", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 તમારો સમર્થન આરોગ્યસંભાળને ઉપલબ્ધ રાખવામાં મદદ કરે છે", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "કૃપા કરીને ખરીદી પૂર્ણ કરવા માટે સાઇન અપ કરો અથવા લોગ ઇન કરો", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_he.arb b/example/lib/src/l10n/pay/app_he.arb new file mode 100644 index 0000000..252e1e0 --- /dev/null +++ b/example/lib/src/l10n/pay/app_he.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "he", + "exampleButton": "כפתור דוגמה", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "כן, הכל בסדר!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "כל תרומה מרפאת!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "התרומה שלך עוזרת לממן ייעוץ חינם למי שזקוקים לו.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "שלמו לפי מה שמרגיש נכון,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "או המשך להשתמש ב-Doctorina בחינם, תודה לאחרים שבחרו לתרום", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "פעם אחת", + "@oneTimeLabel": {}, + "monthlyLabel": "חודשי", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "בחר את סכום התרומה החודשית", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "את/ה עומד/ת להירשם לתוכנית חודשית.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "אתה נרשם לתוכנית חודשית בעלות {amount}/חודש", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "חיוב יתבצע מחשבונך עם אישור הרכישה. המנוי מתחדש אוטומטית כל חודש, אלא אם כן כיבית את החידוש האוטומטי לפחות 24 שעות לפני תום התקופה הנוכחית. באפשרותך לנהל או לבטל את המנוי בכל עת בהגדרות החשבון שלך. בהמשך, אתה מסכים ל-{termsOfService} ו-{privacyPolicy} שלנו.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "בחר סכום תרומה חד-פעמית", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "רוב האנשים נותנים $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "בחר מטבע", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "תשלום בעיבוד", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "מעבד תשלום חד-פעמי של {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "מעבד תשלום חודשי בסכום {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "תודה!", + "@thankYouTitle": {}, + "thankYouSubtitle": "עכשיו עוד יותר אנשים יקבלו ייעוץ חינמי — התמיכה שלך באמת יקרה מפז.", + "@thankYouSubtitle": {}, + "youContributedLabel": "תרמת:", + "@youContributedLabel": {}, + "perMonth": "/ חודש", + "@perMonth": {}, + "returnToTheMainScreenButton": "חזרה למסך הראשי", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "תנאי שימוש", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "מדיניות פרטיות", + "@privacyPolicyLabel": {}, + "donateButton": "תרום", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "פעיל", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "מבוטל", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "מושהה", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "ממתין", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "נוצר", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "פג הזמן", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "לא ידוע", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "תורם של Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "מתחדש", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "בטל מנוי", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "האם אתה בטוח?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "התמיכה החודשית שלך שומרת על Doctorina כחינמית לאלה התלויים בה אך אינם יכולים לשלם.\n\nהמנוי שלך מממן לפחות 10 התייעצויות חינם בכל חודש.\nאם תעזוב, פחות מטופלים יקבלו את העזרה הנדרשת", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "השאר את המנוי", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "בטל בכל זאת", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "התמיכה החודשית שלך בוטלה בהצלחה.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "נתוני מנוי שגוויים", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "הרשם לתמיכה חודשית כדי שתופיע כאן", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "עדיין אין מנויים", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "תאריך מנוי", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "תפוג", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "מזהה מנוי", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "מזהה מוצר", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "אישור", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "לא הצלחנו לעבד את התשלום שלך", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "משהו השתבש בתשלום.\nאנא נסה שוב.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "נסה שוב", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "תשלום בעיבוד", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "תשלים את הרכישה שלך בדף התשלום המאובטח של Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ שבוע", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ שנה", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "הכי פופולרי", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "סגור", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "מה שאתה מקבל עם פרימיום:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "ייעוץ ללא פרסומות", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "תשובות מהירות יותר", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "גישה מוקדמת לתכונות חדשות", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/שבוע", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "בטל בכל עת. אין התחייבות.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "זמן מוגבל", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "מתחדש אוטומטית מדי שבוע. ניתן לבטל בכל עת בהגדרות. בהמשך, אתה מסכים לתנאים ול

מדיניות הפרטיות

שלנו.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 המשך עם פרימיום", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 התמיכה שלך עוזרת לשמור על נגישות טיפול", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "אנא הירשם או התחבר כדי להשלים את הרכישה.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_hi.arb b/example/lib/src/l10n/pay/app_hi.arb new file mode 100644 index 0000000..c1a2018 --- /dev/null +++ b/example/lib/src/l10n/pay/app_hi.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "hi", + "exampleButton": "बटन उदाहरण", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "हाँ, सब ठीक है!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "हर योगदान से चंगा होता है!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "आपका योगदान जरूरतमंदों के लिए नि:शुल्क सलाह के वित्त पोषण में मदद करता है.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "जो सही लगे उतना ही भुगतान करें,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "या Doctorina को मुफ्त में इस्तेमाल करते रहें, उन लोगों का धन्यवाद जिन्होंने देने का विकल्प चुना", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "एक बार", + "@oneTimeLabel": {}, + "monthlyLabel": "मासिक", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "मासिक दान राशि चुनें", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "आप एक मासिक योजना की सदस्यता लेने वाले हैं.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "आप {amount}/माह के लिए मासिक योजना की सदस्यता ले रहे हैं", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "खरीद की पुष्टि पर आपके खाते से शुल्क लिया जाएगा। सदस्यता हर महीने स्वतः नवीनीकृत हो जाती है जब तक कि वर्तमान अवधि के अंत से कम से कम 24 घंटे पहले ऑटो-नवीनीकरण बंद न कर दिया जाए। आप अपने खाते की सेटिंग में कभी भी अपनी सदस्यता को प्रबंधित या रद्द कर सकते हैं। आगे बढ़ने पर, आप हमारे {termsOfService} और {privacyPolicy} से सहमत होते हैं।", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "एक बार के दान की राशि चुनें", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "अधिकांश लोग $7–$15 देते हैं", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "मुद्रा चुनें", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "भुगतान संसाधित हो रहा है", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "एकमुश्त भुगतान {currency} {amount} संसाधित हो रहा है", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "मासिक भुगतान {amount} संसाधित किया जा रहा है", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "धन्यवाद!", + "@thankYouTitle": {}, + "thankYouSubtitle": "अब और भी अधिक लोग नि:शुल्क सलाह प्राप्त करेंगे — आपका समर्थन वास्तव में अमूल्य है.", + "@thankYouSubtitle": {}, + "youContributedLabel": "आपने योगदान दिया:", + "@youContributedLabel": {}, + "perMonth": "/ माह", + "@perMonth": {}, + "returnToTheMainScreenButton": "मुख्य स्क्रीन पर लौटें", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "सेवा की शर्तें", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "गोपनीयता नीति", + "@privacyPolicyLabel": {}, + "donateButton": "दान करें", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "सक्रिय", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "रद्द किया गया", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "रुका हुआ", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "लंबित", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "बनाया गया", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "समय समाप्त", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "अज्ञात", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina योगदानकर्ता", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "नवीनीकरण होता है", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "सदस्यता रद्द करें", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "क्या आप सुनिश्चित हैं?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "आपका मासिक सहयोग उन लोगों के लिए डॉक्टरिना को निःशुल्क बनाए रखता है जो उस पर निर्भर हैं लेकिन भुगतान करने में असमर्थ हैं.\n\nआपकी सदस्यता प्रति माह कम से कम 10 मुफ्त परामर्शों को वित्तपोषित करती है.\nयदि आप छोड़ देते हैं, तो कम मरीजों को आवश्यक सहायता मिलेगी", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "सदस्यता रखें", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "फिर भी रद्द करें", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "आपकी मासिक सहायता सफलतापूर्वक रद्द कर दी गई है.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "गलत सदस्यता डेटा", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "मासिक सहायता के लिए साइन अप करें ताकि यह यहाँ दिखाई दे", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "अभी तक कोई सदस्यता नहीं", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "सदस्यता तिथि", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "समाप्त", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "सदस्यता आईडी", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "उत्पाद आईडी", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "ठीक है", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "हम आपका भुगतान संसाधित नहीं कर सके", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "भुगतान में कुछ गड़बड़ हो गई.\nकृपया पुनः प्रयास करें.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "पुनः प्रयास करें", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "भुगतान संसाधित हो रहा है", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "आप अपनी खरीदारी Stripe के सुरक्षित चेकआउट पृष्ठ पर पूरी करेंगे।", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ सप्ताह", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ वर्ष", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "सबसे लोकप्रिय", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "बंद करें", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina प्रीमियम", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "प्रीमियम के साथ आपको क्या मिलता है:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "बिना विज्ञापन के परामर्श", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "तेज़ उत्तर", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "नई सुविधाओं तक जल्दी पहुंच", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/सप्ताह", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "किसी भी समय रद्द करें। कोई प्रतिबद्धता नहीं।", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "सीमित समय", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "स्वतः नवीनीकरण साप्ताहिक होता है। सेटिंग्स में कभी भी रद्द करें। जारी रखने पर, आप हमारी शर्तें और

गोपनीयता नीति

से सहमत होते हैं।", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 प्रीमियम के साथ जारी रखें", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 आपका समर्थन देखभाल को सुलभ रखने में मदद करता है", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "कृपया खरीदारी पूरी करने के लिए साइन अप करें या लॉग इन करें", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_hu.arb b/example/lib/src/l10n/pay/app_hu.arb new file mode 100644 index 0000000..cd1bb4a --- /dev/null +++ b/example/lib/src/l10n/pay/app_hu.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "hu", + "exampleButton": "Gomb példa", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Igen, minden rendben van!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Minden hozzájárulás gyógyít!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "A hozzájárulása segít ingyenes tanácsokat finanszírozni mások számára.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Fizess, ami jól esik,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "vagy továbbra is ingyen használhatod a Doctorinát, köszönhetően másoknak, akik úgy döntöttek, hogy adnak.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Egyszeri", + "@oneTimeLabel": {}, + "monthlyLabel": "Havi", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Válassza ki a havi adomány összegét", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Ön most egy havi tervre kíván előfizetni.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Havi előfizetést vásárolsz {amount}/hó.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "A díjat a vásárlás megerősítésekor terheljük a fiókjára. A előfizetés automatikusan megújul minden hónapban, hacsak az automatikus megújítást nem kapcsolja ki legalább 24 órával a jelenlegi időszak vége előtt. Bármikor kezelheti vagy lemondhatja előfizetését a fiókbeállításokban. A folytatással elfogadja {termsOfService} és {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Válasszon egy összegű egyszeri adományt", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "A legtöbb ember $7–$15-t ad", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Válassza ki a valutát", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Fizetés feldolgozása", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Egyszeri {currency} {amount} összegű kifizetés feldolgozása", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Havi {amount} összegű kifizetés feldolgozása", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Köszönöm!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Most még több ember kap ingyenes tanácsot — a támogatása valóban felbecsülhetetlen.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Hozzájárultál:", + "@youContributedLabel": {}, + "perMonth": "/ hónap", + "@perMonth": {}, + "returnToTheMainScreenButton": "Vissza a főképernyőre", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Szolgáltatási feltételek", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Adatvédelmi irányelvek", + "@privacyPolicyLabel": {}, + "donateButton": "Adományozás", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktív", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Lemondva", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Szüneteltetve", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Függő", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Létrehozva", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Időkorlát", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Ismeretlen", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina hozzájáruló", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Megújítja", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Előfizetés lemondása", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Biztos benne?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "A havi támogatásod ingyenessé teszi a Doctorinát azok számára, akik rá vannak utalva, de nem engedhetik meg maguknak, hogy fizessenek.\n\nA te előfizetésed legalább 10 ingyenes konzultációt finanszíroz havonta.\nHa elmész, kevesebb beteg kapja meg a szükséges segítséget.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Előfizetés megtartása", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Mégis törlés", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "A havi támogatás sikeresen lemondva.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Hibás előfizetési adatok", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Iratkozzon fel havi támogatásra, hogy itt megjelenjen.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Még nincsenek előfizetések", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Előfizetés dátuma", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Lejár", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Előfizetési azonosító", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Termékazonosító", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Rendben", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Nem tudtuk feldolgozni a kifizetését", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Hiba történt a fizetéssel. Kérjük, próbálja újra.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Újrapróbálkozás", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Fizetés feldolgozása", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "A vásárlását a Stripe biztonságos pénztári oldalán fejezheti be.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ hét", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ év", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Legnépszerűbb", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Bezárás", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "A prémium szolgáltatások, amiket kap:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Hirdetésmentes konzultációk", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Gyorsabb válaszok", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Korai hozzáférés az új funkciókhoz", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/hét", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Bármikor lemondhatja. Nincs kötelezettség.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "KORLÁTOZOTT IDŐ", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Hetente automatikusan megújul. Bármikor lemondhatja a beállításokban. A folytatással elfogadja Felhasználási feltételeinket és

Adatvédelmi irányelveinket

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Folytatás Prémium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 A támogatása segít, hogy a gondozás elérhető maradjon", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "A vásárlás befejezéséhez kérjük, regisztráljon vagy jelentkezzen be.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_id.arb b/example/lib/src/l10n/pay/app_id.arb new file mode 100644 index 0000000..657624c --- /dev/null +++ b/example/lib/src/l10n/pay/app_id.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "id", + "exampleButton": "Contoh tombol", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Ya, semuanya baik-baik saja!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Setiap kontribusi menyembuhkan!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Kontribusimu membantu mendanai saran gratis bagi mereka yang membutuhkan.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Bayar apa yang terasa tepat,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "atau terus menggunakan Doctorina secara gratis, berkat orang lain yang memilih untuk memberi", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Sekali", + "@oneTimeLabel": {}, + "monthlyLabel": "Bulanan", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Pilih jumlah donasi bulanan", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Anda akan berlangganan paket bulanan.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Anda berlangganan paket bulanan dengan {amount}/bulan", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Pembayaran akan dikenakan ke akun Anda saat konfirmasi pembelian. Langganan akan diperpanjang secara otomatis setiap bulan kecuali perpanjangan otomatis dimatikan setidaknya 24 jam sebelum akhir periode saat ini. Anda dapat mengelola atau membatalkan langganan Anda kapan saja di pengaturan akun Anda. Dengan melanjutkan, Anda menyetujui {termsOfService} dan {privacyPolicy} kami.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Pilih jumlah donasi satu kali", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Kebanyakan orang memberikan $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Pilih mata uang", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Memproses pembayaran", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Memproses pembayaran satu kali senilai {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Memproses pembayaran bulanan sebesar {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Terima kasih!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Sekarang semakin banyak orang akan menerima saran gratis — dukungan Anda benar-benar tak ternilai", + "@thankYouSubtitle": {}, + "youContributedLabel": "Anda berkontribusi:", + "@youContributedLabel": {}, + "perMonth": "/ bulan", + "@perMonth": {}, + "returnToTheMainScreenButton": "Kembali ke layar utama", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Syarat Layanan", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Kebijakan Privasi", + "@privacyPolicyLabel": {}, + "donateButton": "Donasi", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktif", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Dibatalkan", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Dijeda", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Tertunda", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Dibuat", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Waktu habis", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Tidak diketahui", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina kontributor", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Memperbarui", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Batalkan langganan", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Apakah Anda yakin?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Dukungan bulanan Anda membuat Doctorina tetap gratis bagi orang-orang yang mengandalkannya namun tidak mampu membayar. Langganan Anda mendanai setidaknya 10 konsultasi gratis setiap bulan. Jika Anda berhenti, lebih sedikit pasien yang akan mendapatkan bantuan yang mereka butuhkan.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Pertahankan langganan", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Batal saja", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Dukungan bulanan Anda\ntelah berhasil dibatalkan.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Data langganan salah", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Daftar untuk dukungan bulanan agar muncul di sini.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Belum ada langganan", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Tanggal langganan", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Berakhir", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID Langganan", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ID Produk", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Kami tidak dapat memproses pembayaran Anda", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Terjadi kesalahan pada pembayaran. Silakan coba lagi.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Coba lagi", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Memproses pembayaran", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Anda akan menyelesaikan pembelian Anda di halaman checkout aman Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ minggu", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ tahun", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Paling Populer", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Tutup", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Apa yang Anda dapatkan dengan Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Konsultasi tanpa iklan", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Balasan lebih cepat", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Akses awal ke fitur baru", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/minggu", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Batalkan kapan saja. Tanpa komitmen.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "WAKTU TERBATAS", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Auto-renews setiap minggu. Batalkan kapan saja di pengaturan. Dengan melanjutkan, Anda setuju dengan Ketentuan dan

Kebijakan Privasi

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Lanjutkan dengan Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Dukungan Anda membantu menjaga aksesibilitas perawatan", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Silakan daftar atau masuk untuk menyelesaikan pembelian.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_it.arb b/example/lib/src/l10n/pay/app_it.arb new file mode 100644 index 0000000..7b2658d --- /dev/null +++ b/example/lib/src/l10n/pay/app_it.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "it", + "exampleButton": "Esempio di pulsante", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Sì, va tutto bene!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Ogni contributo guarisce!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Il tuo contributo aiuta a finanziare consulenze gratuite per chi ne ha bisogno.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Paga quanto ritieni giusto,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "o continua a usare Doctorina gratuitamente, grazie a chi ha scelto di donare", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Una tantum", + "@oneTimeLabel": {}, + "monthlyLabel": "Mensile", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Scegli l'importo della donazione mensile", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Stai per iscriverti a un piano mensile.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Ti stai abbonando a un piano mensile per {amount}/mese", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Il pagamento verrà addebitato sul tuo conto al momento della conferma dell'acquisto. L'abbonamento si rinnova automaticamente ogni mese a meno che il rinnovo automatico non venga disattivato almeno 24 ore prima della fine del periodo corrente. Puoi gestire o annullare il tuo abbonamento in qualsiasi momento nelle impostazioni del tuo account. Procedendo, accetti i nostri {termsOfService} e {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Scegli un importo di donazione una tantum", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "La maggior parte dà $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Seleziona valuta", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Pagamento in elaborazione", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Elaborazione del pagamento una tantum di {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Elaborazione del pagamento mensile di {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Grazie!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Ora ancora più persone riceveranno consigli gratuiti — il tuo supporto è davvero inestimabile.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Hai contribuito:", + "@youContributedLabel": {}, + "perMonth": "/ mese", + "@perMonth": {}, + "returnToTheMainScreenButton": "Torna alla schermata principale", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Termini di servizio", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Informativa sulla privacy", + "@privacyPolicyLabel": {}, + "donateButton": "Dona", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Attivo", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Annullato", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "In pausa", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "In attesa", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Creato", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Timeout", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Sconosciuto", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Collaboratore di Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Si rinnova", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Annulla abbonamento", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Sei sicuro?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Il tuo supporto mensile mantiene Doctorina gratuita per le persone che ne hanno bisogno ma non possono permettersi di pagare.\n\nIl tuo abbonamento finanzia almeno 10 consulti gratuiti ogni mese.\nSe te ne vai, meno pazienti riceveranno l'aiuto di cui hanno bisogno", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Mantieni abbonamento", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Annulla comunque", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Il tuo supporto mensile è stato annullato con successo.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Dati di abbonamento errati", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Iscriviti per il supporto mensile affinché compaia qui", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Ancora nessun abbonamento", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Data di abbonamento", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Scade", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID abbonamento", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ID prodotto", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Non siamo riusciti ad elaborare il tuo pagamento", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Qualcosa è andato storto con il pagamento.\nPer favore riprova.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Riprova", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Pagamento in elaborazione", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Completerai il tuo acquisto sulla pagina di checkout sicura di Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ settimana", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ anno", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Più Popolare", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Chiudi", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Cosa ottieni con Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Consultazioni senza pubblicità", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Risposte più rapide", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Accesso anticipato a nuove funzionalità", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/settimana", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Annulla in qualsiasi momento. Nessun impegno.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "LIMITATO", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Si rinnova automaticamente ogni settimana. Annulla in qualsiasi momento nelle impostazioni. Continuando, accetti i nostri Termini e

Informativa sulla privacy

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Continua con Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Il tuo supporto aiuta a mantenere l'assistenza accessibile", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Per completare l'acquisto, registrati o accedi", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ja.arb b/example/lib/src/l10n/pay/app_ja.arb new file mode 100644 index 0000000..2c7e461 --- /dev/null +++ b/example/lib/src/l10n/pay/app_ja.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ja", + "exampleButton": "ボタン例", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "はい、大丈夫です!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "すべての貢献が癒しをもたらす!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "あなたのご支援は、困っている他の方への無料相談の資金に役立ちます。", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "お好きな金額でお支払いください,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "または、寄付を選んだ他の方々のおかげでDoctorinaを無料で使い続ける", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "一回限り", + "@oneTimeLabel": {}, + "monthlyLabel": "毎月", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "毎月の寄付金額を選択", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "あなたは今、月額プランに加入しようとしています.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "あなたは月額プランに{amount}/月で加入しています.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "決済が購入確定時にお客様のアカウントに請求されます。現在の期間終了の少なくとも24時間前に自動更新がオフにされない限り、サブスクリプションは毎月自動的に更新されます。アカウント設定でいつでもサブスクリプションを管理またはキャンセルできます。続行することで、{termsOfService}と{privacyPolicy}に同意したとみなされます", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "一度限りの寄付金額を選択", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "ほとんどの人は$7–$15を寄付する", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "通貨を選択", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "支払い処理中", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "一度限りの支払い {currency} {amount} を処理中", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "{amount}の月額支払いを処理中", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "ありがとうございます!", + "@thankYouTitle": {}, + "thankYouSubtitle": "さらに多くの人が無料のアドバイスを受けられるようになりました — あなたのサポートは本当にかけがえのないものです.", + "@thankYouSubtitle": {}, + "youContributedLabel": "あなたの貢献:", + "@youContributedLabel": {}, + "perMonth": "/月", + "@perMonth": {}, + "returnToTheMainScreenButton": "メイン画面に戻る", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "利用規約", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "プライバシーポリシー", + "@privacyPolicyLabel": {}, + "donateButton": "寄付する", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "有効", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "キャンセル済み", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "一時停止", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "保留中", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "作成済み", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "タイムアウト", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "不明", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina 貢献者", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "更新", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "サブスクリプションをキャンセル", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "本当ですか?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "あなたの月額サポートにより、支払いが難しい方でも Doctorina を無料で利用できるようになります. あなたのサブスクリプションにより、毎月最低10回の無料相談が提供されます. 退会すると、必要な支援を受ける患者さんが減少します", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "定期購読を継続", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "とにかくキャンセル", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "あなたの月間サポートは正常にキャンセルされました。", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "サブスクリプションデータが正しくありません", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "月間サポートに登録すると、ここに表示されます。", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "まだサブスクリプションはありません", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "契約日", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "有効期限", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "サブスクリプションID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "製品ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "お支払いを処理できませんでした", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "支払いに問題が発生しました。\nもう一度お試しください。", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "再試行", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "支払い処理中", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Stripeの安全なチェックアウトページでご購入を完了します.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ 週", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ 年", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "最も人気", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "閉じる", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "プレミアムで得られるもの:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "広告なしの相談", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "より速い返信", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "新機能への早期アクセス", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/週", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "いつでもキャンセルできます。コミットメントはありません。", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "期間限定", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "毎週自動更新されます。設定でいつでもキャンセルできます。続行することで、利用規約および

プライバシーポリシー

に同意したことになります。", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 プレミアムで続ける", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 あなたのサポートがケアのアクセスを維持します", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "購入を完了するにはサインアップまたはログインしてください。", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_kk.arb b/example/lib/src/l10n/pay/app_kk.arb new file mode 100644 index 0000000..8ce315a --- /dev/null +++ b/example/lib/src/l10n/pay/app_kk.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "kk", + "exampleButton": "Түйме мысалы", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Иә, бәрі жақсы!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Әрбір үлес емдейді!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Сіздің үлесіңіз басқаларға тегін кеңес алуға көмектеседі.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Дұрыс деп есептегеніңізді төлеңіз", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "немесе басқалардың бергені үшін Doctorina-ны тегін пайдалануды жалғастырыңыз.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Бір рет", + "@oneTimeLabel": {}, + "monthlyLabel": "Ай сайынғы", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Ай сайынғы қайырымдылық мөлшерін таңдаңыз", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Сіз ай сайынғы жоспарға жазылуға дайынсыз.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "{amount}/айына арналған айлық жоспарға жазыласыз.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Төлем сатып алу расталған кезде сіздің шотыңызға алынады. Жазылым әр ай сайын автоматты түрде жаңартылады, егер ағымдағы кезеңнің аяқталуына 24 сағат қалғанда автоматты жаңартуды өшірмесеңіз. Сіз кез келген уақытта өзіңіздің есептік жазбаңыздың параметрлерінде жазылымыңызды басқара аласыз немесе тоқтата аласыз. Алға қарай отырып, сіз біздің {termsOfService} және {privacyPolicy} келісесіз.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Біржолғы қайырымдылық сомасын таңдаңыз", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Көптеген адамдар $7–$15 береді", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Валютаны таңдаңыз", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Төлемді өңдеу", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Біржолғы төлемді өңдеу {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "{amount} сом мөлшеріндегі ай сайынғы төлемді өңдеу", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Рахмет!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Енді тағы да көп адамдар тегін кеңес алады — сіздің қолдауыңыз шын мәнінде бағасыз.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Сіз үлес қостыңыз:", + "@youContributedLabel": {}, + "perMonth": "/ ай", + "@perMonth": {}, + "returnToTheMainScreenButton": "Негізгі экранға оралу", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Қызмет көрсету шарттары", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Жеке деректерді қорғау саясаты", + "@privacyPolicyLabel": {}, + "donateButton": "Қаржы аудару", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Белсенді", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Бас тартылды", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Тоқтатылды", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Күтілуде", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Жасалды", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Уақыт аяқталды", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Белгісіз", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina серіктесі", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Жаңартады", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Жазылымды тоқтату", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Сіз сенімдісіз бе?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Сіздің ай сайынғы қолдауыңыз Doctorina-ны оған тәуелді, бірақ төлей алмайтын адамдар үшін тегін ұстап тұрады.\n\nСіздің жазылымыңыз ай сайын кемінде 10 тегін консультацияны қаржыландырады.\nЕгер сіз кетсеңіз, аз науқастар қажетті көмекті ала алмайды.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Жазылымды сақтау", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Әрине, тоқтатыңыз", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Сіздің ай сайынғы қолдауыңыз сәтті тоқтатылды.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Жазылым деректері дұрыс емес", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Ай сайынғы қолдау үшін тіркеліңіз, ол мұнда пайда болады.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Әлі жазылымдар жоқ", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Жазылу күні", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Мерзімі аяқталады", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Жазылым ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Өнім идентификаторы", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Жақсы", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Біз сіздің төлеміңізді өңдей алмадық", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Төлеммен байланысты бір нәрсе дұрыс емес. Қайтадан әрекет етіп көріңіз.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Қайтадан әрекет етіңіз", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Төлемді өңдеу", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Сіз Stripe-тың қауіпсіз төлем бетінде сатып алуыңызды аяқтайсыз.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ апта", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ жыл", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Ең танымал", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Жабу", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Премиуммен не алатыныңыз:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Жарнамасыз консультациялар", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Жылдам жауаптар", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Жаңа мүмкіндіктерге ерте қол жеткізу", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/апта", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Кез келген уақытта тоқтата аласыз. Міндеттеме жоқ.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "ШЕКТЕУЛІ УАҚЫТ", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Аптасына бір рет автоматты түрде жаңартылады. Орнатуларда кез келген уақытта тоқтата аласыз. Жалғастыра отырып, сіз біздің Шарттарымызға және

Құпиялылық саясатымызға

келісесіз.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Премиуммен жалғастыру", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Сіздің қолдауыңыз күтімді қолжетімді етеді", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Сатып алуды аяқтау үшін тіркеліңіз немесе кіріңіз.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_km.arb b/example/lib/src/l10n/pay/app_km.arb new file mode 100644 index 0000000..2dcccb3 --- /dev/null +++ b/example/lib/src/l10n/pay/app_km.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "km", + "exampleButton": "ឧទាហរណ៍ប៊ូតុង", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "បាទ វាធ្វើឱ្យគ្រប់យ៉ាងល្អ!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "ការបរិច្ចាគរាល់យ៉ាងគឺជាសុខភាព!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "ការរួមចំណែករបស់អ្នកជួយផ្តល់ប្រាក់ចំណេញសម្រាប់ការប្រឹក្សាដោយឥតគិតថ្លៃសម្រាប់អ្នកដទៃដែលត្រូវការនោះ។", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "បង់អ្វីដែលមានអារម្មណ៍ត្រឹមត្រូវ,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "ឬរក្សាអោយប្រើDoctorina ដោយឥតគិតថ្លៃ សូមអរគុណដល់អ្នកដទៃដែលបានជ្រើសរើសឲ្យ", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "មួយដង", + "@oneTimeLabel": {}, + "monthlyLabel": "ប្រចាំខែ", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "ជ្រើសរើសចំនួនការបរិច្ចាគប្រចាំខែ", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "អ្នកកំពុងតែចុះឈ្មោះសម្រាប់ផែនការប្រចាំខែ។", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "អ្នកកំពុងជាវផែនការប្រចាំខែសម្រាប់ {amount}/ខែ។", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "ការទូទាត់នឹងត្រូវគេគិតថ្លៃទៅកាន់គណនីរបស់អ្នកនៅពេលដែលបានបញ្ជាក់ការទិញ។ ការជាវនឹងត្រូវបានធ្វើឡើងដោយស្វ័យប្រវត្តិរៀងរាល់ខែ បើមិនមានការបិទការធ្វើឡើងដោយស្វ័យប្រវត្តិយ៉ាងហោចណាស់ 24 ម៉ោងមុនចុងបញ្ចប់រយៈពេលបច្ចុប្បន្ន។ អ្នកអាចគ្រប់គ្រងឬបោះបង់ការជាវរបស់អ្នកនៅក្នុងការកំណត់គណនីរបស់អ្នក។ ដោយបន្ត អ្នកយល់ព្រមទៅនឹង {termsOfService} និង {privacyPolicy}។", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "ជ្រើសរើសចំនួនបរិច្ចាគមួយដង", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "មនុស្សភាគច្រើនផ្តល់ $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "ជ្រើសរើសរូបិយវត្ថុ", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "កំពុងដំណើរការបង់ប្រាក់", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "កំពុងដំណើរការបង់ប្រាក់មួយដង {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "កំពុងដំណើរការការទូទាត់ប្រចាំខែ {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "សូមអរគុណ!", + "@thankYouTitle": {}, + "thankYouSubtitle": "ឥឡូវនេះមនុស្សច្រើនទៀតនឹងទទួលបានការប្រឹក្សាដោយឥតគិតថ្លៃ — ការគាំទ្ររបស់អ្នកមានតម្លៃពិតៗ។", + "@thankYouSubtitle": {}, + "youContributedLabel": "អ្នកបានចូលរួម:", + "@youContributedLabel": {}, + "perMonth": "/ ខែ", + "@perMonth": {}, + "returnToTheMainScreenButton": "ត្រឡប់ទៅអេក្រង់សំខាន់", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "លក្ខខណ្ឌនៃសេវាកម្ម", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "គោលការណ៍ឯកជនភាព", + "@privacyPolicyLabel": {}, + "donateButton": "បរិច្ចាគ", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "សកម្ម", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "បានបោះបង់", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "បានបញ្ឈប់", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "កំពុងរង់ចាំ", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "បានបង្កើត", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "ពេលវេលាដំណើរការ", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "មិនដឹង", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina contributor", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "កំណត់ឡើងវិញ", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "បោះបង់ការជាវ", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "តើអ្នកប្រាកដទេ?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "ការគាំទ្រប្រចាំខែរបស់អ្នករក្សា Doctorina ឱ្យឥតគិតថ្លៃសម្រាប់មនុស្សដែលពឹងផ្អែកលើវា ប៉ុន្តែមិនអាចបង់ប្រាក់បានទេ។\n\nការបញ្ជាទិញរបស់អ្នកផ្តល់ថវិកាសម្រាប់ការពិគ្រោះយោបល់ឥតគិតថ្លៃយ៉ាងហោចណាស់ 10 ការពិគ្រោះក្នុងមួយខែ។\nប្រសិនបើអ្នកចាកចេញ អ្នកជំងឺតិចជាងនឹងទទួលបានជំនួយដែលពួកគេត្រូវការ។", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "រក្សាអាណត្តិ", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "បោះបង់ទៅវិញ", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "ការគាំទ្រប្រចាំខែរបស់អ្នកត្រូវបានបោះបង់ដោយជោគជ័យ", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "ទិន្នន័យការជាវមិនត្រឹមត្រូវ", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "ចុះឈ្មោះសម្រាប់ការគាំទ្រប្រចាំខែដើម្បីឱ្យវាបង្ហាញនៅទីនេះ។", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "មិនមានការបញ្ជាទិញទេ", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "ថ្ងៃបង្កើតការជាវ", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Expires", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "លេខសម្គាល់ការជាវ", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "លេខសម្គាល់ផលិតផល", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "យល់ព្រម", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "យើងមិនអាចបន្តការទូទាត់របស់អ្នកបានទេ", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "មានបញ្ហាដែលមិនបានសម្រេចជាមួយការទូទាត់។ សូមព្យាយាមម្តងទៀត។", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Retry", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "កំពុងដំណើរការបង់ប្រាក់", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "អ្នកនឹងបញ្ចប់ការទិញរបស់អ្នកនៅលើទំព័រទិញទំនិញសុវត្ថិភាពរបស់ Stripe។", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ សប្តាហ៍", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ ឆ្នាំ", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "ពេញនិយមបំផុត", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "បិទ", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "អ្វីដែលអ្នកទទួលបានជាមួយ Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "ការពិគ្រោះយោបល់ដោយគ្មានពាណិជ្ជកម្ម", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "ការឆ្លើយតបលឿន", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "ការចូលដំណើរការថ្មី", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/សប្តាហ៍", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "បោះបង់បានគ្រប់ពេល។ គ្មានការប្តេជ្ញា។", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "ពេលវេលាមានកំណត់", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "អាចធ្វើការបន្តដោយស្វ័យប្រវត្តិរៀងរាល់សប្តាហ៍។ បោះបង់បានគ្រប់ពេលនៅក្នុងការកំណត់។ ដោយបន្ត អ្នកយល់ព្រមទៅនឹង ល័ក្ខខ័ណ្ឌ និង

គោលការណ៍ឯកជន

។", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 បន្តជាមួយ Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 ការគាំទ្ររបស់អ្នកជួយរក្សាឱ្យការថែទាំអាចចូលដំណើរការ", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "សូមចុះឈ្មោះឬចូលប្រើដើម្បីបញ្ចប់ការទិញ។", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_kn.arb b/example/lib/src/l10n/pay/app_kn.arb new file mode 100644 index 0000000..19a3047 --- /dev/null +++ b/example/lib/src/l10n/pay/app_kn.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "kn", + "exampleButton": "ಬಟನ್ ಉದಾಹರಣೆ", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "ಹೌದು, ಎಲ್ಲವೂ ಚೆನ್ನಾಗಿದೆ!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "ಪ್ರತಿ ಕೊಡುಗೆ ಗುಣಮುಖವಾಗಿಸುತ್ತದೆ!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "ನಿಮ್ಮ ಕೊಡುಗೆ ಇತರರಿಗೆ ಉಚಿತ ಸಲಹೆಗಳನ್ನು ನೀಡಲು ನೆರವಾಗುತ್ತದೆ.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "ನೀವು ಅನುಭವಿಸುವುದನ್ನು ಪಾವತಿಸಿ,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "ಅಥವಾ ಇತರರು ನೀಡಲು ಆಯ್ಕೆ ಮಾಡಿದ ಕಾರಣದಿಂದ ಡಾಕ್ಟರಿನಾ ಅನ್ನು ಉಚಿತವಾಗಿ ಬಳಸುತ್ತಿರಿ.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "ಒಮ್ಮೆ", + "@oneTimeLabel": {}, + "monthlyLabel": "ಮಾಸಿಕ", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "ತಿಂಗಳ ದಾನದ ಮೊತ್ತವನ್ನು ಆಯ್ಕೆಮಾಡಿ", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "ನೀವು ಮಾಸಿಕ ಯೋಜನೆಗೆ ಚಂದಾ ನೀಡಲು ಹೋಗುತ್ತಿದ್ದೀರಿ.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "ನೀವು {amount}/ತಿಂಗಳು ಮಾಸಿಕ ಯೋಜನೆಗೆ ಚಂದಾ ನೀಡುತ್ತಿದ್ದೀರಿ.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "ಖರೀದಿಯ ದೃಢೀಕರಣದಾಗೆ ನಿಮ್ಮ ಖಾತೆಗೆ ಪಾವತಿ ವಿಧಿಸಲಾಗುತ್ತದೆ. ಚಂದಾ ಪ್ರತಿ ತಿಂಗಳು ಸ್ವಯಂ-ನವೀಕರಣವಾಗುತ್ತದೆ, ಪ್ರಸ್ತುತ ಅವಧಿಯ ಕೊನೆಯಿಂದ ಕನಿಷ್ಠ 24 ಗಂಟೆಗಳ ಹಿಂದೆ ಸ್ವಯಂ-ನವೀಕರಣವನ್ನು ನಿಲ್ಲಿಸದಿದ್ದರೆ. ನೀವು ಯಾವಾಗಲೂ ನಿಮ್ಮ ಖಾತೆ ಸೆಟಿಂಗ್‌ಗಳಲ್ಲಿ ನಿಮ್ಮ ಚಂದಾವನ್ನು ನಿರ್ವಹಿಸಬಹುದು ಅಥವಾ ರದ್ದು ಮಾಡಬಹುದು. ಮುಂದುವರಿಯುವ ಮೂಲಕ, ನೀವು ನಮ್ಮ {termsOfService} ಮತ್ತು {privacyPolicy} ಗೆ ಒಪ್ಪುತ್ತೀರಿ.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "ಒಂದು ಬಾರಿ ದಾನದ ಮೊತ್ತವನ್ನು ಆಯ್ಕೆಮಾಡಿ", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "$7–$15 ಅನ್ನು ಬಹಳಷ್ಟು ಜನ ನೀಡುತ್ತಾರೆ", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "ನಗದು ಆಯ್ಕೆ ಮಾಡಿ", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "ಪಾವತಿ ಪ್ರಕ್ರಿಯೆ", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "ಒಮ್ಮೆ ಮಾತ್ರದ ಪಾವತಿಯನ್ನು {currency} {amount} ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತಿದೆ", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "{amount} ನ ಮಾಸಿಕ ಪಾವತಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತಿದೆ", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "ಧನ್ಯವಾದಗಳು!", + "@thankYouTitle": {}, + "thankYouSubtitle": "ಈಗ ಹೆಚ್ಚು ಜನರು ಉಚಿತ ಸಲಹೆ ಪಡೆಯುತ್ತಾರೆ — ನಿಮ್ಮ ಬೆಂಬಲ ಅತ್ಯಂತ ಅಮೂಲ್ಯವಾಗಿದೆ.", + "@thankYouSubtitle": {}, + "youContributedLabel": "ನೀವು ಕೊಡುಗೆ ನೀಡಿದ್ದೀರಿ:", + "@youContributedLabel": {}, + "perMonth": "/ ತಿಂಗಳು", + "@perMonth": {}, + "returnToTheMainScreenButton": "ಪ್ರಮುಖ ಪರದೆಗೆ ಹಿಂತಿರುಗಿ", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "ಸೇವಾ ಶರತ್ತುಗಳು", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "ಗೋಪ್ಯತಾ ನೀತಿ", + "@privacyPolicyLabel": {}, + "donateButton": "ದಾನ ಮಾಡಿ", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "ಸಕ್ರಿಯ", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "ರದ್ದು ಮಾಡಲಾಗಿದೆ", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "ನಿಲ್ಲಿಸಲಾಗಿದೆ", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "ಬಾಕಿ", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "ಸೃಷ್ಟಿಸಲಾಗಿದೆ", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "ಕಾಲಾವಧಿ ಮುಗಿಯಿತು", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "ಅಜ್ಞಾತ", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina ಕೊಡುಗೈ", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "ಪುನರಾರಂಭ", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "ಚಂದಾ ರದ್ದುಪಡಿಸಿ", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "ನೀವು ಖಚಿತವಾಗಿದ್ದೀರಾ?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "ನಿಮ್ಮ ಮಾಸಿಕ ಬೆಂಬಲವು ಡಾಕ್ಟರಿನಾವನ್ನು ಉಚಿತವಾಗಿ ಬಳಸುವವರಿಗೆ, ಆದರೆ ಪಾವತಿಸಲು ಸಾಧ್ಯವಾಗದವರಿಗೆ, ಉಚಿತವಾಗಿರಿಸುತ್ತದೆ.\n\nನಿಮ್ಮ ಚಂದಾ ಪ್ರತಿ ತಿಂಗಳು ಕನಿಷ್ಠ 10 ಉಚಿತ ಸಲಹೆಗಳನ್ನು ಹಣಕಾಸು ಮಾಡುತ್ತದೆ.\nನೀವು ಹೊರಹೋಗಿದರೆ, ಹೆಚ್ಚು ರೋಗಿಗಳಿಗೆ ಅಗತ್ಯವಿರುವ ಸಹಾಯವನ್ನು ಪಡೆಯಲು ಕಷ್ಟವಾಗುತ್ತದೆ.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "ಚಂದಾ ಮುಂದುವರಿಯಿರಿ", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "ಇನ್ನು ಮುಂದೆ ರದ್ದುಪಡಿಸಿ", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "ನಿಮ್ಮ ಮಾಸಿಕ ಬೆಂಬಲ ಯಶಸ್ವಿಯಾಗಿ ರದ್ದು ಮಾಡಲಾಗಿದೆ.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "ತಪ್ಪಾದ ಚಂದಾ ಡೇಟಾ", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "ಮಾಸಿಕ ಬೆಂಬಲಕ್ಕಾಗಿ ನೋಂದಣಿ ಮಾಡಿ ಇದನ್ನು ಇಲ್ಲಿ ತೋರಿಸಲು.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "ಇನ್ನೂ ಯಾವುದೇ ಚಂದಾ ಇಲ್ಲ", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "ಚಂದಾ ದಿನಾಂಕ", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "ಅವಧಿ ಮುಗಿಯುತ್ತದೆ", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ಚಂದಾ ಐಡಿ", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ಉತ್ಪನ್ನ ಐಡಿ", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "ನಾವು ನಿಮ್ಮ ಪಾವತಿಯನ್ನು ಮುಂದುವರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "ಪಾವತಿಯಲ್ಲಿ ಏನಾದರೂ ತಪ್ಪಾಗಿದೆ. ದಯವಿಟ್ಟು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "ಮರು ಪ್ರಯತ್ನಿಸಿ", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "ಪಾವತಿ ಪ್ರಕ್ರಿಯೆ", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "ನೀವು ಸ್ಟ್ರೈಪ್‌ನ ಸುರಕ್ಷಿತ ಚೆಕ್‌ಔಟ್ ಪುಟದಲ್ಲಿ ನಿಮ್ಮ ಖರೀದಿಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತೀರಿ.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ ವಾರ", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ ವರ್ಷ", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "ಅತ್ಯಂತ ಜನಪ್ರಿಯ", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "ಮುಚ್ಚಿ", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "ಪ್ರೀಮಿಯಂನೊಂದಿಗೆ ನೀವು ಏನು ಪಡೆಯುತ್ತೀರಿ:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "ಜಾಹೀರಾತು ಇಲ್ಲದ ಸಲಹೆಗಳು", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "ವೇಗದ ಉತ್ತರಗಳು", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳಿಗೆ ಮುಂಚಿನ ಪ್ರವೇಶ", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/ವಾರ", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "ಯಾವಾಗ ಬೇಕಾದರೂ ರದ್ದುಪಡಿಸಬಹುದು. ಯಾವುದೇ ಬದ್ಧತೆ ಇಲ್ಲ.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "ಕಾಲ ಮಿತಿಯ", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "ಆಟೋ-ನವೀಕರಣ ವಾರಕ್ಕೆ ಒಮ್ಮೆ. ಸೆಟಿಂಗ್‌ಗಳಲ್ಲಿ ಯಾವಾಗಲಾದರೂ ರದ್ದುಪಡಿಸಬಹುದು. ಮುಂದುವರಿಯುವ ಮೂಲಕ, ನೀವು ನಮ್ಮ ನಿಯಮಗಳು ಮತ್ತು

ಗೋಪ್ಯತಾ ನೀತಿ

ಗೆ ಒಪ್ಪುತ್ತೀರಿ.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 ಪ್ರೀಮಿಯಮ್ ಜೊತೆಗೆ ಮುಂದುವರಿಯಿರಿ", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 ನಿಮ್ಮ ಬೆಂಬಲವು ಆರೈಕೆವನ್ನು ಲಭ್ಯವಾಗಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "ದಯವಿಟ್ಟು ಖರೀದಿಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಸೈನ್ ಅಪ್ ಅಥವಾ ಲಾಗ್ ಇನ್ ಮಾಡಿ", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ko.arb b/example/lib/src/l10n/pay/app_ko.arb new file mode 100644 index 0000000..bebe835 --- /dev/null +++ b/example/lib/src/l10n/pay/app_ko.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ko", + "exampleButton": "버튼 예시", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "네, 다 괜찮아요!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "모든 기여가 치유됩니다!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "여러분의 기여는 도움이 필요한 사람들에게 무료 상담을 제공하는 데 도움을 줍니다.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "적당하다고 느끼는 만큼 지불하세요,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "또는 기부를 선택한 다른 사람들 덕분에 Doctorina를 무료로 계속 사용하세요", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "일회성", + "@oneTimeLabel": {}, + "monthlyLabel": "매월", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "매월 기부 금액 선택", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "귀하는 월간 플랜을 구독하려고 합니다.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "당신은 {amount}/월의 월간 플랜을 구독하고 있습니다", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "구매 확인 시 결제가 계정에서 이루어집니다. 구독은 현재 기간 종료 최소 24시간 전까지 자동 갱신이 꺼지지 않으면 매월 자동으로 갱신됩니다. 계정 설정에서 언제든지 구독을 관리하거나 취소할 수 있습니다. 진행함으로써 귀하는 당사의 {termsOfService} 및 {privacyPolicy}에 동의하게 됩니다.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "일회성 기부 금액 선택", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "대부분은 $7–$15 줍니다", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "통화 선택", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "결제 처리 중", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "일회성 결제 {currency} {amount} 처리 중", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "월별 결제 {amount} 처리 중", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "감사합니다!", + "@thankYouTitle": {}, + "thankYouSubtitle": "이제 더 많은 사람들이 무료 상담을 받게 됩니다 — 당신의 지원은 정말 귀중합니다.", + "@thankYouSubtitle": {}, + "youContributedLabel": "기여하셨습니다:", + "@youContributedLabel": {}, + "perMonth": "/ 월", + "@perMonth": {}, + "returnToTheMainScreenButton": "메인 화면으로 돌아가기", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "이용 약관", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "개인정보 보호정책", + "@privacyPolicyLabel": {}, + "donateButton": "기부하기", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "활성", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "취소됨", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "일시정지", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "보류중", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "생성됨", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "시간 초과", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "알 수 없음", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina 기여자", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "갱신", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "구독 취소", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "정말 확실합니까?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "매달의 지원 덕분에 Doctorina는 비용을 감당할 수 없는 이용자들에게 무료로 제공됩니다.\n\n구독을 통해 매달 최소 10회의 무료 상담이 지원됩니다.\n구독을 취소하면, 필요한 도움을 받는 환자가 줄어듭니다", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "구독 유지", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "그래도 취소", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "월간 지원이 성공적으로 취소되었습니다.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "잘못된 구독 데이터", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "월간 지원에 가입하여 여기에 표시되도록 하세요", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "아직 구독이 없습니다", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "구독 날짜", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "만료", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "구독 ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "제품 ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "확인", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "결제를 처리하지 못했습니다", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "결제 과정에서 문제가 발생했습니다.\n다시 시도해 주세요.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "다시 시도", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "결제 처리 중", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Stripe의 안전한 결제 페이지에서 구매를 완료합니다.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ 주", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ 년", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "가장 인기 있는", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "닫기", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "닥터리나 프리미엄", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "프리미엄으로 얻는 것:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "광고 없는 상담", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "더 빠른 응답", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "새로운 기능에 대한 조기 액세스", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/주", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "언제든지 취소할 수 있습니다. 약정이 없습니다.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "한정 시간", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "매주 자동 갱신됩니다. 설정에서 언제든지 취소할 수 있습니다. 계속 진행하면 약관

개인정보 처리방침

에 동의하는 것입니다.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 프리미엄으로 계속하기", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 당신의 지원은 치료를 접근 가능하게 유지하는 데 도움이 됩니다", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "구매를 완료하려면 가입하거나 로그인하세요.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_lo.arb b/example/lib/src/l10n/pay/app_lo.arb new file mode 100644 index 0000000..a291ec7 --- /dev/null +++ b/example/lib/src/l10n/pay/app_lo.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "lo", + "exampleButton": "ຕົວຢ່າງປຸ່ມ", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "ແມ່ນ, ທຸກຢ່າງດີ!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Cada contribución sana!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "ການສະໜອງຂອງທ່ານຊ່ວຍໃຫ້ມີຄໍາແນະນຳຟຣີສໍາລັບຄົນອື່ນ.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Pay what feels right,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "ou continuez à utiliser Doctorina gratuitement, grâce à ceux qui ont choisi de donner.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "ຄັ້ງແທ້", + "@oneTimeLabel": {}, + "monthlyLabel": "ປະເດັນປະຈໍາເດືອນ", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "ເລືອກຈຳນວນການບິນເດືອນ", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "ທ່ານກຳລັງຈະລົງຄະແນນໃນແຜນປະຈໍາໃດ.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "ທ່ານກຳລັງສະແດງໃນແຜນປະຈໍາເດືອນສໍາລັບ {amount}/ເດືອນ.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Payment will be charged to your account at confirmation of purchase. The subscription automatically renews every month unless auto-renew is turned off at least 24 hours before the end of the current period. You can manage or cancel your subscription anytime in your account settings. By proceeding, you agree to our {termsOfService} and {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "ເລືອກຈຳນວນການບອກບິນຄັ້ງໃດ", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Most people give $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "ເລືອກເງິນ", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "ກະຕຸນການຊໍາລະເງິນ", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Processing one-time payment of {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "ກຳລັງປະຕິບັດການຈ່າຍເງິນແບບເດືອນຈິງຂອງ {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Thank you!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Тепер ще більше людей отримають безкоштовні поради — ваша підтримка справді безцінна.", + "@thankYouSubtitle": {}, + "youContributedLabel": "ທ່ານໄດ້ລົງຄະແນນ:", + "@youContributedLabel": {}, + "perMonth": "/ tháng", + "@perMonth": {}, + "returnToTheMainScreenButton": "ກັບໄປສູ່ໜ້າຫຼັກ", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Termini di Servizio", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Política de Privacidad", + "@privacyPolicyLabel": {}, + "donateButton": "Donate", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Активен", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "ຍົກເລີກ", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Pausu", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "ລໍຖໍ່", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "ສ້າງແລ້ວ", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Timeout", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "ບໍ່ຮູ້", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina contributor", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Renews", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "ຍົກເລີກສະມາຊິກ", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "ທ່ານແນ່ໃຈບໍ?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "ການສະມັກສະມາຊິກຂອງທ່ານຊ່ວຍໃຫ້ Doctorina ສຽງຟຣີສໍາລັບຄົນທີ່ໃຊ້ງານແຕ່ບໍ່ສາມາດຈ່າຍເງິນ. \n\nການສະມັກສະມາຊິກຂອງທ່ານໃຫ້ທຶນສຳລັບບັນດາການປຶກສາຟຣີຢ່າງນໍາສູງສິບຄັ້ງໃນເດືອນ. \n\nຖ້າທ່ານເຂົ້າອອກ, ຄົນເປັນລະບົບຈະໄດ້ຮັບຄວາມຊ່ວຍທີ່ຈິງ.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "ຮັບສະມາຊິກ", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "ຍົກເລີກຢັງ", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Вашата месечна поддръжка е успешно отменена", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Incorrect subscription data", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Sign up for monthly support to have it appear here.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "ບໍ່ມີການສະມັກສະມາດຍັງ", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "ວັນທີສະຖານທີ່ສະມັກສະມາຊິກ", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Expira", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID de suscripción", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Product ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "ຂໍອະໄພ, ບໍ່ສາມາດດຳເນີນການຊຳລະເງິນຂອງທ່ານ", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "ມີບັດສະພາບກັບການຈ່າຍເງິນ.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "ລອງໃໝ່", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "ກະຕຸ້ນການຊໍາລະເງິນ", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "ທ່ານຈະເລີ່ມການຊື້ສິນຄ້າໃນໜ້າທີ່ຊື້ສິນຄ້າປອນຄວາມປອດໄພຂອງ Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ week", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ ປີ", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "ຍອດນິຍົມສູງສຸດ", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "ປິດ", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "ສິ່ງທີ່ທ່ານໄດ້ຮັບກັບສະຖານະສູງສິນຄ້າ:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "ການປຶກສາບໍ່ມີແບນເຄື່ອງ", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "ຄຳຕອບທີ່ໄວກວ່າ", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "ການເຂົ້າເຖິມໃໝ່ສໍາລັບຄຸນສົມບັດ", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/week", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "ຍົກເລີກໃນເວລາໃດກໍ່ໄດ້. ບໍ່ມີຄວາມຜິດຊອບ.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "ລະດັບເວລາຈຳກັດ", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "ອະນຸຍາດໃຫ້ປ່ອນໃໝ່ທຸກອາທິດ. ຍົກເລີກໃດໆໃນການຕັ້ງຄ່າ. ດໍາເນີນຕໍ່, ທ່ານຍອມຮັບກັບ ເງິນຄ່າ ແລະ

ນະໂບຍານຄວາມສໍາລັບຂໍ້ມູນສ່ວນບຸກຄົນ

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 ຕິດຕາມກັບສະມາດສະມາດສະມາດສະມາດ", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 ການເສີມເສດທີ່ທໍາໃຫ້ການບໍລິການເຂົ້າເຖິງ", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "ກະລຸນາລົງທະບຽນຫຼືເຂົ້າໃຊ້ເພື່ອສົກສິນການຊື້.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ml.arb b/example/lib/src/l10n/pay/app_ml.arb new file mode 100644 index 0000000..c8078a7 --- /dev/null +++ b/example/lib/src/l10n/pay/app_ml.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ml", + "exampleButton": "ബട്ടൺ ഉദാഹരണം", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "അതെ, എല്ലാം നല്ലതാണ്!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "പ്രതിയോഗം രോഗം ഭേദമാക്കുന്നു!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "നിങ്ങളുടെ സംഭാവന മറ്റുള്ളവർക്കുള്ള സൗജന്യ ഉപദേശം ഫണ്ടുചെയ്യാൻ സഹായിക്കുന്നു.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "ശരിയായതായി തോന്നുന്നതിന്റെ അടിസ്ഥാനത്തിൽ പണം നൽകുക", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "അല്ലെങ്കിൽ ഡോക്ടറിനയെ സൗജന്യമായി ഉപയോഗിക്കണം, നൽകാൻ തിരഞ്ഞെടുക്കുന്ന മറ്റുള്ളവർക്കു നന്ദി.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "ഒരിക്കൽ", + "@oneTimeLabel": {}, + "monthlyLabel": "മാസിക", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "മാസിക സംഭാവനയുടെ തുക തിരഞ്ഞെടുക്കുക", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "നിങ്ങൾ ഒരു മാസിക പദ്ധതിയിൽ സബ്സ്ക്രൈബ് ചെയ്യാൻ പോകുന്നു.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "നിങ്ങൾ {amount}/മാസം എന്ന മാസിക പദ്ധതിക്ക് സബ്സ്ക്രൈബ് ചെയ്യുന്നു.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "കുറഞ്ഞത് 24 മണിക്കൂറുകൾ മുമ്പ് ഓട്ടോ-നവീകരണം ഓഫ് ചെയ്യാത്ത പക്ഷം, വാങ്ങൽ സ്ഥിരീകരണത്തിൽ നിങ്ങളുടെ അക്കൗണ്ടിൽ പണമടയ്ക്കും. സബ്സ്ക്രിപ്ഷൻ ഓരോ മാസവും സ്വയം പുതുക്കുന്നു. നിങ്ങൾക്ക് നിങ്ങളുടെ അക്കൗണ്ട് ക്രമീകരണങ്ങളിൽ എപ്പോഴും നിങ്ങളുടെ സബ്സ്ക്രിപ്ഷൻ കൈകാര്യം ചെയ്യാനും റദ്ദാക്കാനും കഴിയും. മുന്നോട്ട് പോകുന്നതിലൂടെ, നിങ്ങൾ ഞങ്ങളുടെ {termsOfService}യും {privacyPolicy}യും അംഗീകരിക്കുന്നു.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "ഒരിക്കൽ ദാനം നൽകാനുള്ള തുക തിരഞ്ഞെടുക്കുക", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "അധികം ആളുകൾ $7–$15 നൽകുന്നു", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "നാണയം തിരഞ്ഞെടുക്കുക", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "പണമടയ്ക്കുന്നു", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "{currency} {amount} എന്ന ഒരു തവണയുടെ പണമടയ്ക്കൽ പ്രക്രിയ", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "{amount} എന്ന മാസിക പണമടയ്ക്കൽ പ്രോസസ്സ് ചെയ്യുന്നു", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "നന്ദി!", + "@thankYouTitle": {}, + "thankYouSubtitle": "ഇപ്പോൾ കൂടുതൽ ആളുകൾ സൗജന്യ ഉപദേശം ലഭിക്കും — നിങ്ങളുടെ പിന്തുണ വാസ്തവത്തിൽ വിലമതിക്കാനാവാത്തതാണ്.", + "@thankYouSubtitle": {}, + "youContributedLabel": "നിങ്ങൾ സംഭാവന നൽകി:", + "@youContributedLabel": {}, + "perMonth": "/ മാസം", + "@perMonth": {}, + "returnToTheMainScreenButton": "പ്രധാന സ്ക്രീനിലേക്ക് മടങ്ങുക", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "സേവനത്തിന്റെ നിബന്ധനകൾ", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "ഗോപ്പനീയത നയം", + "@privacyPolicyLabel": {}, + "donateButton": "ദാനം ചെയ്യുക", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "സജീവം", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "റദ്ദാക്കപ്പെട്ടു", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "നിർത്തിയിരിക്കുന്നു", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "പ്രതീക്ഷിച്ച", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "സൃഷ്ടിച്ചു", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Timeout", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "അറിയപ്പെടുന്നില്ല", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "ഡോക്ടറിനയുടെ സഹയോജകൻ", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "പുനരാവൃത്തി", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "സബ്സ്ക്രിപ്ഷൻ റദ്ദാക്കുക", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "നിങ്ങൾ ഉറപ്പാണോ?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "നിങ്ങളുടെ മാസിക പിന്തുണ ഡോക്ടറിനയെ അവയ്ക്ക് ആശ്രയിക്കുന്ന, പക്ഷേ പണം നൽകാൻ കഴിയാത്ത ആളുകൾക്കായി സൗജന്യമായി നിലനിര്‍ത്തുന്നു. നിങ്ങളുടെ സബ്സ്ക്രിപ്ഷൻ ഓരോ മാസവും കുറഞ്ഞത് 10 സൗജന്യ കൺസൾട്ടേഷനുകൾക്ക് ഫണ്ടിംഗ് നൽകുന്നു. നിങ്ങൾ വിടുകയാണെങ്കിൽ, കുറച്ച് രോഗികൾക്ക് അവർക്ക് ആവശ്യമുള്ള സഹായം ലഭ്യമാകില്ല.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "സബ്സ്ക്രിപ്ഷൻ നിലനിർത്തുക", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "റദ്ദാക്കുക", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "നിങ്ങളുടെ മാസിക പിന്തുണ വിജയകരമായി റദ്ദാക്കപ്പെട്ടു", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "തെറ്റായ സബ്സ്ക്രിപ്ഷൻ ഡാറ്റ", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "മാസിക പിന്തുണയ്ക്കായി സൈൻ അപ്പ് ചെയ്യുക, ഇത് ഇവിടെ പ്രത്യക്ഷപ്പെടാൻ.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "എന്തെങ്കിലും സബ്സ്ക്രിപ്ഷനുകൾ ഇല്ല", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "സബ്സ്ക്രിപ്ഷൻ തീയതി", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "കാലാവധി അവസാനിക്കുന്നു", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "സബ്സ്ക്രിപ്ഷൻ ഐഡി", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Product ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "നിങ്ങളുടെ പണമടയ്ക്കൽ മുന്നോട്ട് കൊണ്ടുപോകാൻ കഴിയുന്നില്ല", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "പേയ്മെന്റിൽ എന്തോ തെറ്റായി. ദയവായി വീണ്ടും ശ്രമിക്കുക.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "മറുപടി നൽകുക", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "പണമടയ്ക്കൽ പ്രോസസ്സ് ചെയ്യുന്നു", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "നിങ്ങൾ സ്റ്റ്രൈപ്പിന്റെ സുരക്ഷിതമായ ചെക്ക്‌ഔട്ട് പേജിൽ നിങ്ങളുടെ വാങ്ങൽ പൂർത്തിയാക്കും.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ ആഴ്ച", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ വർഷം", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "ഏറ്റവും പ്രശസ്തം", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "അടയ്ക്കുക", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "പ്രീമിയം ഉപയോഗിച്ചാൽ നിങ്ങൾക്ക് ലഭിക്കുന്നതെന്ത്:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "വ്യാപനമില്ലാത്ത ഉപദേശങ്ങൾ", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "വേഗത്തിലുള്ള മറുപടികൾ", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "പുതിയ ഫീച്ചറുകൾക്ക് നേരത്തെ പ്രവേശനം", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/ആഴ്ച", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "എപ്പോഴും റദ്ദാക്കാം. പ്രതിബദ്ധത ഇല്ല.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "LIMITED TIME", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "ആട്ടോമാറ്റിക് ആയി ആഴ്ചയിൽ ഒരിക്കൽ പുതുക്കുന്നു. ക്രമീകരണങ്ങളിൽ എപ്പോഴും റദ്ദാക്കാം. തുടരുന്നതിലൂടെ, നിങ്ങൾ ഞങ്ങളുടെ നിബന്ധനകൾയും

സ്വകാര്യതാ നയം

യും അംഗീകരിക്കുന്നു.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 പ്രീമിയം തുടരുക", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 നിങ്ങളുടെ പിന്തുണ ആരോഗ്യപരിചരണം ലഭ്യമാക്കാൻ സഹായിക്കുന്നു", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "കൃപയോടെ സൈൻ അപ്പ് ചെയ്യുക അല്ലെങ്കിൽ ലോഗിൻ ചെയ്യുക വാങ്ങൽ പൂർത്തിയാക്കാൻ.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_mr.arb b/example/lib/src/l10n/pay/app_mr.arb new file mode 100644 index 0000000..1d9dba6 --- /dev/null +++ b/example/lib/src/l10n/pay/app_mr.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "mr", + "exampleButton": "बटण उदाहरण", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "होय, सर्व काही छान आहे!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "प्रत्येक योगदान बरे करते!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "तुमचे योगदान गरजू असलेल्या इतरांना मोफत सल्ला पुरवण्यासाठी निधी उभारण्यास मदत करते.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "जशी रक्कम योग्य वाटते ती भरा,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "किंवा Doctorina मोफत वापरत रहा, ज्यांनी देण्याची निवड केली त्यांच्यामुळे", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "एकदाच", + "@oneTimeLabel": {}, + "monthlyLabel": "मासिक", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "दरमहिन्याची देणगी रक्कम निवडा", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "आपण मासिक योजनेची सदस्यता घेणार आहात.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "आपण {amount}/महिना दराने मासिक योजनेची सदस्यता घेत आहात.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "खरेदीची पुष्टी झाल्यावर तुमच्या खात्यावर पैसे आकारले जातील. जर चालू कालावधीच्या शेवटी किमान 24 तास आधी ऑटो-नूतनीकरण बंद केले गेले नाही तर सदस्यता दरमहिन्याला आपोआप नूतनीकृत होते. तुम्ही तुमच्या खात्याच्या सेटिंग्जमध्ये कधीही सदस्यता व्यवस्थापित किंवा रद्द करू शकता. पुढे जाताना, तुम्ही आमच्या {termsOfService} आणि {privacyPolicy} शी सहमती दर्शवता", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "एकदाच देणगी रक्कम निवडा", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "बहुतेक लोक $7–$15 देतात", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "चलन निवडा", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "पेमेंट प्रक्रिया चालू", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "एकदाच पेमेंट {currency} {amount} ची प्रक्रिया चालू आहे", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "प्रति महिन्याचे {amount} पेमेंट प्रक्रियेत आहे", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "धन्यवाद!", + "@thankYouTitle": {}, + "thankYouSubtitle": "आता आणखी जास्त लोकांना मोफत सल्ला मिळेल — तुमचा पाठिंबा खरंच अमूल्य आहे.", + "@thankYouSubtitle": {}, + "youContributedLabel": "तुम्ही योगदान दिले:", + "@youContributedLabel": {}, + "perMonth": "/महिना", + "@perMonth": {}, + "returnToTheMainScreenButton": "मुख्य स्क्रीनवर परत जा", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "सेवा अटी", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "गोपनीयता धोरण", + "@privacyPolicyLabel": {}, + "donateButton": "देणगी द्या", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "सक्रिय", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "रद्द केले", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "थांबलेले", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "प्रलंबित", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "निर्मित", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "टाइमआउट", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "अज्ञात", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina योगदानकर्ता", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "नूतनीकरण करते", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "सदस्यता रद्द करा", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "तुम्हाला खात्री आहे का?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "तुमचा मासिक पाठिंबा त्या लोकांसाठी Doctorina मोफत ठेवतो जे त्यावर अवलंबून आहेत परंतु पैसे देता येत नाहीत. तुमचे सदस्यत्व प्रत्येक महिन्यात किमान 10 मोफत सल्लामसलतींचा निधी पुरवते. जर तुम्ही सदस्यता रद्द केली, तर कमी रुग्णांना त्यांना आवश्यक मदत मिळेल", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "सदस्यता ठेवा", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "तरीही रद्द करा", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "आपला मासिक समर्थन यशस्वीरित्या रद्द केला आहे.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "चुकीची सदस्यता माहिती", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "महिन्याच्या सहाय्यासाठी साइन अप करा जेणेकरून ते येथे दिसेल.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "अद्याप सदस्यता नाही", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "सदस्यता दिनांक", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "मुदत संपते", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "सदस्यता आयडी", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "उत्पादन आयडी", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "ठीक आहे", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "आम्ही तुमचे पेमेंट पुढे नेऊ शकत नाही", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "पेमेंटमध्ये काहीतरी चुकलं.\nकृपया पुन्हा प्रयत्न करा.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "पुन्हा प्रयत्न करा", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "भरणा प्रक्रियेत आहे", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "तुमची खरेदी Stripe च्या सुरक्षित चेकआउट पृष्ठावर पूर्ण होईल.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ आठवडा", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ वर्ष", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "सर्वाधिक लोकप्रिय", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "बंद करा", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "डॉक्टरिना प्रीमियम", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "प्रीमियमसह तुम्हाला काय मिळेल:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "अ‍ॅड-फ्री सल्ले", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "जलद प्रतिसाद", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "नवीन वैशिष्ट्यांसाठी लवकर प्रवेश", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/आठवडा", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "कधीही रद्द करा. कोणतेही बंधन नाही.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "मर्यादित वेळ", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "आत्म-नवीनीकरण साप्ताहिक आहे. सेटिंग्जमध्ये कधीही रद्द करा. पुढे जात असताना, तुम्ही आमच्या अटी आणि

गोपनीयता धोरण

सह सहमत आहात.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 प्रीमियमसह पुढे जा", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 तुमचा समर्थन आरोग्य सेवा उपलब्ध ठेवण्यात मदत करतो", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "खरेदी पूर्ण करण्यासाठी कृपया साइन अप करा किंवा लॉग इन करा", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ms.arb b/example/lib/src/l10n/pay/app_ms.arb new file mode 100644 index 0000000..65e6347 --- /dev/null +++ b/example/lib/src/l10n/pay/app_ms.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ms", + "exampleButton": "Contoh butang", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Ya, semuanya baik!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Setiap sumbangan menyembuhkan!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Sumbangan anda membantu membiayai nasihat percuma untuk orang lain yang memerlukan.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Bayar apa yang terasa betul,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "atau terus menggunakan Doctorina secara percuma, terima kasih kepada orang lain yang memilih untuk memberi.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Sekali", + "@oneTimeLabel": {}, + "monthlyLabel": "Bulanan", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Pilih jumlah sumbangan bulanan", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Anda akan melanggan pelan bulanan.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Anda melanggan pelan bulanan pada {amount}/bulan.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Pembayaran akan dikenakan pada akaun anda setelah pengesahan pembelian. Langganan secara automatik akan diperbaharui setiap bulan kecuali auto-renew dimatikan sekurang-kurangnya 24 jam sebelum akhir tempoh semasa. Anda boleh mengurus atau membatalkan langganan anda pada bila-bila masa dalam tetapan akaun anda. Dengan meneruskan, anda bersetuju dengan {termsOfService} dan {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Pilih jumlah sumbangan sekali sahaja", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Kebanyakan orang memberi $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Pilih mata wang", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Memproses pembayaran", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Memproses pembayaran sekali gus sebanyak {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Memproses pembayaran bulanan sebanyak {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Terima kasih!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Kini lebih ramai orang akan menerima nasihat percuma — sokongan anda sangat berharga.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Anda menyumbang:", + "@youContributedLabel": {}, + "perMonth": "/ bulan", + "@perMonth": {}, + "returnToTheMainScreenButton": "Kembali ke skrin utama", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Terma Perkhidmatan", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Dasar Privasi", + "@privacyPolicyLabel": {}, + "donateButton": "Derma", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktif", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Dibatalkan", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Dihentikan", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Tertunda", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Dicipta", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Timeout", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Tidak diketahui", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Penyumbang Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Memperbaharui", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Batalkan langganan", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Adakah anda pasti?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Sokongan bulanan anda memastikan Doctorina percuma untuk orang yang bergantung padanya tetapi tidak mampu membayar. Langganan anda membiayai sekurang-kurangnya 10 konsultasi percuma setiap bulan. Jika anda pergi, lebih sedikit pesakit akan mendapat bantuan yang mereka perlukan.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Simpan langganan", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Batalkan juga", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Sokongan Bulanan anda telah berjaya dibatalkan", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Data langganan tidak betul", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Daftar untuk sokongan bulanan agar ia muncul di sini.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Tiada langganan lagi", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Tarikh langganan", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Tamat", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID Langganan", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ID Produk", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Kami tidak dapat meneruskan pembayaran anda", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Sesuatu yang tidak kena dengan pembayaran.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Cuba lagi", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Memproses pembayaran", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Anda akan menyelesaikan pembelian anda di halaman pembayaran selamat Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ minggu", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ tahun", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Paling Popular", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Tutup", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Apa yang anda dapat dengan Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Perundingan tanpa iklan", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Jawapan yang lebih pantas", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Akses awal kepada ciri baru", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/minggu", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Batalkan bila-bila masa. Tiada komitmen.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "MASA TERHAD", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Diperbaharui secara automatik setiap minggu. Batalkan bila-bila masa dalam tetapan. Dengan meneruskan, anda bersetuju dengan Terma dan

Dasar Privasi

kami.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Teruskan dengan Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Sokongan anda membantu memastikan penjagaan dapat diakses", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Sila daftar atau log masuk untuk menyelesaikan pembelian.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_my.arb b/example/lib/src/l10n/pay/app_my.arb new file mode 100644 index 0000000..06050fa --- /dev/null +++ b/example/lib/src/l10n/pay/app_my.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "my", + "exampleButton": "Contoh butang", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Ya, semuanya baik!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Setiap sumbangan menyembuhkan!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Sumbangan anda membantu membiayai nasihat percuma untuk orang lain yang memerlukan.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Bayar apa yang terasa betul", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "atau terus menggunakan Doctorina secara percuma, terima kasih kepada mereka yang memilih untuk memberi.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Sekali", + "@oneTimeLabel": {}, + "monthlyLabel": "Bulanan", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Pilih jumlah sumbangan bulanan", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Anda akan melanggan pelan bulanan.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Anda melanggan pelan bulanan untuk {amount}/bulan.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Pembayaran akan dikenakan pada akun anda saat konfirmasi pembelian. Langganan secara otomatis diperbarui setiap bulan kecuali pembaruan otomatis dimatikan setidaknya 24 jam sebelum akhir periode saat ini. Anda dapat mengelola atau membatalkan langganan kapan saja di pengaturan akun anda. Dengan melanjutkan, anda setuju dengan {termsOfService} dan {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Pilih jumlah sumbangan sekali sahaja", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Kebanyakan orang memberi $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Pilih mata wang", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Memproses pembayaran", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Memproses pembayaran sekali sahaja sebanyak {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Memproses pembayaran bulanan sebanyak {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Terima kasih!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Kini lebih ramai orang akan menerima nasihat percuma — sokongan anda benar-benar tidak ternilai.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Anda menyumbang:", + "@youContributedLabel": {}, + "perMonth": "/ bulan", + "@perMonth": {}, + "returnToTheMainScreenButton": "Kembali ke skrin utama", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Terma Perkhidmatan", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Dasar Privasi", + "@privacyPolicyLabel": {}, + "donateButton": "Derma", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktif", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Dibatalkan", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Dihentikan", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Tertunda", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Dicipta", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Tamat", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Tidak diketahui", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Penyumbang Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Diperbaharui", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Batalkan langganan", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Adakah anda pasti?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Sokongan bulanan anda memastikan Doctorina percuma untuk orang yang bergantung padanya tetapi tidak mampu membayar. Langganan anda membiayai sekurang-kurangnya 10 konsultasi percuma setiap bulan. Jika anda pergi, lebih sedikit pesakit akan mendapat bantuan yang mereka perlukan.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Simpan langganan", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Batalkan juga", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Sokongan Bulanan anda telah berjaya dibatalkan", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Data langganan tidak betul", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Daftar untuk sokongan bulanan untuk menampilkannya di sini.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Tiada langganan lagi", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Tarikh langganan", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Tamat", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID Langganan", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ID Produk", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Kami tidak dapat memproses pembayaran anda", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Sesuatu yang tidak kena dengan pembayaran. Sila cuba lagi.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Cuba", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Memproses pembayaran", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Anda akan menyelesaikan pembelian anda di halaman pembayaran selamat Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ minggu", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ နှစ်", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Paling Popular", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Tutup", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Apa yang anda dapat dengan Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Perundingan tanpa iklan", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Balasan yang lebih cepat", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Akses awal kepada ciri-ciri baru", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/minggu", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Batal bila-bila masa. Tiada komitmen.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "MASA TERHAD", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Auto-renews setiap minggu. Batalkan bila-bila masa dalam tetapan. Dengan meneruskan, anda bersetuju dengan Terma dan

Dasar Privasi

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Teruskan dengan Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Sokongan anda membantu memastikan penjagaan dapat diakses", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "ကျေးဇူးပြု၍ ဝင်ရောက်ပါ သို့မဟုတ် စာရင်းသွင်းပါ။", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ne.arb b/example/lib/src/l10n/pay/app_ne.arb new file mode 100644 index 0000000..77f0aac --- /dev/null +++ b/example/lib/src/l10n/pay/app_ne.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ne", + "exampleButton": "बटन उदाहरण", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "हो, सबै ठीक छ!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "प्रत्येक योगदानले निको पार्छ!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "तपाईंको योगदानले अन्यलाई आवश्यक परामर्शको लागि कोष जुटाउन मद्दत गर्दछ", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "जुन कुरा सही लाग्छ, त्यै तिर्नुहोस्,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "वा डोक्टरिनालाई निःशुल्क प्रयोग गर्न जारी राख्नुहोस्, अरूले दिन रोजेकोमा धन्यवाद।", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "एक पटक", + "@oneTimeLabel": {}, + "monthlyLabel": "मासिक", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "महिनावारी दानको रकम छान्नुहोस्", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "तपाईं मासिक योजनामा सदस्यता लिन जाँदै हुनुहुन्छ।", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "तपाईं {amount}/महिना को लागि मासिक योजनामा सदस्यता लिइरहनु भएको छ।", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "खरिदको पुष्टि गर्दा तपाईंको खातामा भुक्तानी चार्ज गरिनेछ। सदस्यता स्वचालित रूपमा प्रत्येक महिना नवीकरण हुन्छ जबसम्म स्वचालित नवीकरण हालको अवधिको अन्त्य हुनु भन्दा कम्तिमा २४ घण्टा अघि बन्द गरिएको छैन। तपाईं आफ्नो खाता सेटिङमा कुनै पनि समयमा आफ्नो सदस्यता व्यवस्थापन गर्न वा रद्द गर्न सक्नुहुन्छ। अगाडि बढ्नाले, तपाईं हाम्रो {termsOfService} र {privacyPolicy} मा सहमत हुनुहुन्छ।", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "एक पटकको दानको रकम छान्नुहोस्", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "धेरै मानिसहरूले $7–$15 दिन्छन्", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "मुद्रा चयन गर्नुहोस्", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "भुक्तानी प्रक्रिया गर्दै", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "एकल भुक्तानी प्रक्रिया गर्दै {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "महिनाको भुक्तानी {amount} प्रक्रिया गर्दै", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "धन्यवाद!", + "@thankYouTitle": {}, + "thankYouSubtitle": "अब अझ धेरै मानिसहरूले निःशुल्क सल्लाह प्राप्त गर्नेछन् - तपाईंको समर्थन साँच्चै अमूल्य छ।", + "@thankYouSubtitle": {}, + "youContributedLabel": "तपाईंले योगदान दिनुभयो:", + "@youContributedLabel": {}, + "perMonth": "/ महिना", + "@perMonth": {}, + "returnToTheMainScreenButton": "मुख्य स्क्रिनमा फर्कनुहोस्", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "सेवाको शर्तहरू", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "गोपनीयता नीति", + "@privacyPolicyLabel": {}, + "donateButton": "दान गर्नुहोस्", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "सक्रिय", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "रद्द गरियो", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "रोकेको", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "विचाराधीन", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "सिर्जना गरियो", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "समय समाप्त", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "अज्ञात", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina योगदानकर्ता", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "नवीकरण", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "सदस्यता रद्द गर्नुहोस्", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "के तपाईँ निश्चित हुनुहुन्छ?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "तपाईंको मासिक समर्थनले डोक्टरिनालाई तिर्न नसक्ने व्यक्तिहरूका लागि निःशुल्क राख्न मद्दत गर्दछ। तपाईंको सदस्यता प्रत्येक महिना कम्तिमा १० निःशुल्क परामर्शको लागि कोष प्रदान गर्दछ। यदि तपाईं जानुहुन्छ भने, कम बिरामीहरूले आवश्यक सहयोग पाउनेछन्।", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "सदस्यता राख्नुहोस्", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "यद्यपि रद्द गर्नुहोस्", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "तपाईंको मासिक समर्थन सफलतापूर्वक रद्द गरिएको छ।", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "गलत सदस्यता डेटा", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "महिनावारी समर्थनको लागि साइन अप गर्नुहोस् ताकि यो यहाँ देखियोस्।", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "अझै कुनै सदस्यता छैन", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "सदस्यता मिति", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "समाप्त हुन्छ", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "सदस्यता ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "उत्पादन ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "ठीक छ", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "हामी तपाईंको भुक्तानी प्रक्रिया गर्न सक्दैनौं", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "भुक्तानीमा केहि समस्या भयो। कृपया पुनः प्रयास गर्नुहोस्।", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "पुनः प्रयास गर्नुहोस्", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "भुक्तानी प्रक्रिया गर्दै", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "तपाईं स्ट्राइपको सुरक्षित चेकआउट पृष्ठमा आफ्नो खरिद पूरा गर्नुहुनेछ।", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ हप्ता", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ वर्ष", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "सबैभन्दा लोकप्रिय", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "बन्द गर्नुहोस्", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "प्रीमियमसँग के पाउनुहुन्छ:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "विज्ञापन-मुक्त परामर्श", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "छिटो जवाफ", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "नयाँ सुविधाहरूमा प्रारम्भिक पहुँच", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/सप्ताह", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "कुनै पनि समयमा रद्द गर्नुहोस्। कुनै प्रतिबद्धता छैन।", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "सीमित समय", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "प्रति हप्ता स्वचालित रूपमा नवीकरण हुन्छ। सेटिङमा कुनै पनि समयमा रद्द गर्नुहोस्। जारी राख्दा, तपाईं हाम्रो शर्तहरू

गोपनीयता नीति

सँग सहमत हुनुहुन्छ।", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 प्रीमियमसँग जारी राख्नुहोस्", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 तपाईँको समर्थनले स्वास्थ्य सेवा पहुँचयोग्य राख्न मद्दत गर्दछ", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "कृपया सदस्यता लिनुहोस् वा लग इन गर्नुहोस् किनकि खरिद पूरा गर्न आवश्यक छ.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_nl.arb b/example/lib/src/l10n/pay/app_nl.arb new file mode 100644 index 0000000..99426f3 --- /dev/null +++ b/example/lib/src/l10n/pay/app_nl.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "nl", + "exampleButton": "Knopvoorbeeld", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Ja, het is allemaal goed!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Elke bijdrage geneest!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Uw bijdrage helpt om gratis advies voor anderen in nood te financieren.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Betaal wat goed voelt", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "of blijf Doctorina gratis gebruiken, dankzij anderen die ervoor hebben gekozen om te geven.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Eenmalig", + "@oneTimeLabel": {}, + "monthlyLabel": "Maandelijks", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Kies het maandelijkse donatiebedrag", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Je staat op het punt je in te schrijven voor een maandplan.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "U abonneert zich op een maandplan voor {amount}/maand.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Betaling wordt in rekening gebracht op uw account bij bevestiging van aankoop. Het abonnement wordt automatisch elke maand verlengd, tenzij de automatische verlenging ten minste 24 uur voor het einde van de huidige periode is uitgeschakeld. U kunt uw abonnement op elk moment beheren of annuleren in uw accountinstellingen. Door door te gaan, gaat u akkoord met onze {termsOfService} en {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Kies eenmalig donatiebedrag", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "De meeste mensen geven $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Selecteer valuta", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Betaling verwerken", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Verwerkt een eenmalige betaling van {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Verwerking van maandelijkse betaling van {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Dank je!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Nu zullen nog meer mensen gratis advies ontvangen — uw steun is echt onschatbaar.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Je hebt bijgedragen:", + "@youContributedLabel": {}, + "perMonth": "/ maand", + "@perMonth": {}, + "returnToTheMainScreenButton": "Terug naar het hoofdscherm", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Algemene Voorwaarden", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Privacybeleid", + "@privacyPolicyLabel": {}, + "donateButton": "Doneren", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Actief", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Geannuleerd", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Pauze", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "In afwachting", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Aangemaakt", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Timeout", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Onbekend", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina contributor", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Verlengt", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Abonnement annuleren", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Weet je het zeker?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Jouw maandelijkse ondersteuning houdt Doctorina gratis voor mensen die erop vertrouwen maar het zich niet kunnen veroorloven om te betalen. Jouw abonnement financiert minstens 10 gratis consulten per maand. Als je vertrekt, krijgen minder patiënten de hulp die ze nodig hebben.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Houd abonnement", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Toch annuleren", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Uw maandelijkse ondersteuning is succesvol geannuleerd", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Onjuiste abonnementsgegevens", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Meld je aan voor maandelijkse ondersteuning om het hier te laten verschijnen.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Nog geen abonnementen", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Abonnementsdatum", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Verloopt", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Abonnements-ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Product ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "We konden uw betaling niet verwerken", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Er is iets misgegaan met de betaling. Probeer het alstublieft opnieuw.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Opnieuw proberen", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Betaling verwerken", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "U voltooit uw aankoop op de veilige afrekenpagina van Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ week", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ jaar", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Meest Populair", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Sluiten", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Wat u krijgt met Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Advertentievrije consultaties", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Snellere antwoorden", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Vroeg toegang tot nieuwe functies", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/week", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Annuleer op elk moment. Geen verplichtingen.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "BEPERKTE TIJD", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Auto-renews wekelijks. Annuleer op elk moment in de instellingen. Door door te gaan, stemt u in met onze Voorwaarden en

Privacybeleid

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Doorgaan met Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Jouw steun helpt de zorg toegankelijk te houden", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Gelieve u aan te melden of in te loggen om de aankoop te voltooien.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_pa.arb b/example/lib/src/l10n/pay/app_pa.arb new file mode 100644 index 0000000..e44a29b --- /dev/null +++ b/example/lib/src/l10n/pay/app_pa.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "pa", + "exampleButton": "ਬਟਨ ਉਦਾਹਰਨ", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "ਹਾਂ, ਇਹ ਸਭ ਠੀਕ ਹੈ!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "ਹਰ ਯੋਗਦਾਨ ਠੀਕ ਕਰਦਾ ਹੈ!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "ਤੁਹਾਡੀ ਯੋਗਦਾਨ ਦੂਜਿਆਂ ਦੀ ਲੋੜ ਵਿੱਚ ਮੁਫ਼ਤ ਸਲਾਹ ਦੇਣ ਲਈ ਫੰਡ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "ਜੋ ਸਹੀ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ, ਉਸਦਾ ਭੁਗਤਾਨ ਕਰੋ", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "ਜਾਂ ਡਾਕਟਰਿਨਾ ਨੂੰ ਮੁਫਤ ਵਰਤਣਾ ਜਾਰੀ ਰੱਖੋ, ਉਹਨਾਂ ਦਾ ਧੰਨਵਾਦ ਜੋ ਦੇਣ ਦੀ ਚੋਣ ਕੀਤੀ.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "ਇੱਕ ਵਾਰੀ", + "@oneTimeLabel": {}, + "monthlyLabel": "ਮਾਸਿਕ", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "ਮਹੀਨਾਵਾਰ ਦਾਨ ਦੀ ਰਕਮ ਚੁਣੋ", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "ਤੁਸੀਂ ਇੱਕ ਮਹੀਨਾਵਾਰ ਯੋਜਨਾ ਲਈ ਸਬਸਕ੍ਰਾਈਬ ਕਰਨ ਵਾਲੇ ਹੋ.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "ਤੁਸੀਂ {amount}/ਮਹੀਨੇ ਲਈ ਇੱਕ ਮਹੀਨਾਵਾਰ ਯੋਜਨਾ ਲਈ ਸਬਸਕ੍ਰਾਈਬ ਕਰ ਰਹੇ ਹੋ.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "ਭੁਗਤਾਨ ਤੁਹਾਡੇ ਖਾਤੇ 'ਤੇ ਖਰੀਦ ਦੀ ਪੁਸ਼ਟੀ 'ਤੇ ਚਾਰਜ ਕੀਤਾ ਜਾਵੇਗਾ। ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਹਰ ਮਹੀਨੇ ਆਪਣੇ ਆਪ ਨਵੀਨੀਕਰਨ ਕਰਦਾ ਹੈ ਜੇਕਰ ਆਟੋ-ਨਵੀਨੀਕਰਨ ਮੌਜੂਦਾ ਸਮੇਂ ਦੇ ਅੰਤ ਤੋਂ ਘੱਟ ਤੋਂ ਘੱਟ 24 ਘੰਟੇ ਪਹਿਲਾਂ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਗਿਆ। ਤੁਸੀਂ ਆਪਣੇ ਖਾਤੇ ਦੀ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਕਿਸੇ ਵੀ ਸਮੇਂ ਆਪਣੀ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਦਾ ਪ੍ਰਬੰਧ ਜਾਂ ਰੱਦ ਕਰ ਸਕਦੇ ਹੋ। ਅੱਗੇ ਵਧਣ ਨਾਲ, ਤੁਸੀਂ ਸਾਡੇ {termsOfService} ਅਤੇ {privacyPolicy} ਨਾਲ ਸਹਿਮਤ ਹੋ ਜਾਂਦੇ ਹੋ.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "ਇੱਕ ਵਾਰੀ ਦੀ ਦਾਨ ਦੀ ਰਕਮ ਚੁਣੋ", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "ਜ਼ਿਆਦਾਤਰ ਲੋਕ $7–$15 ਦਿੰਦੇ ਹਨ", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "ਮੁਦਰਾ ਚੁਣੋ", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "ਭੁਗਤਾਨ ਪ੍ਰਕਿਰਿਆ", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "ਇੱਕ ਵਾਰੀ ਦੇ ਭੁਗਤਾਨ ਦੀ ਪ੍ਰਕਿਰਿਆ {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "ਮਹੀਨਾਵਾਰ ਭੁਗਤਾਨ {amount} ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰ ਰਹੇ ਹਾਂ", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "ਧੰਨਵਾਦ!", + "@thankYouTitle": {}, + "thankYouSubtitle": "ਹੁਣ ਹੋਰ ਲੋਕ ਮੁਫਤ ਸਲਾਹ ਪ੍ਰਾਪਤ ਕਰਨਗੇ — ਤੁਹਾਡਾ ਸਮਰਥਨ ਸੱਚਮੁੱਚ ਬੇਮਿਸਾਲ ਹੈ.", + "@thankYouSubtitle": {}, + "youContributedLabel": "ਤੁਸੀਂ ਯੋਗਦਾਨ ਦਿੱਤਾ:", + "@youContributedLabel": {}, + "perMonth": "/ ਮਹੀਨਾ", + "@perMonth": {}, + "returnToTheMainScreenButton": "ਮੁੱਖ ਸਕ੍ਰੀਨ 'ਤੇ ਵਾਪਸ ਜਾਓ", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "ਸੇਵਾ ਦੇ ਨਿਯਮ", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "ਗੋਪਨੀਯਤਾ ਨੀਤੀ", + "@privacyPolicyLabel": {}, + "donateButton": "ਦਾਨ ਕਰੋ", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "ਸਰਗਰਮ", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "ਰੱਦ", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "ਰੁਕਿਆ", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "ਲੰਬਿਤ", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "ਬਣਾਇਆ", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Timeout", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "ਅਣਜਾਣ", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina ਸਹਿਯੋਗੀ", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "ਨਵੀਨੀਕਰਨ", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਰੱਦ ਕਰੋ", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "ਕੀ ਤੁਸੀਂ ਯਕੀਨੀ ਹੋ?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "ਤੁਹਾਡੀ ਮਹੀਨਾਵਾਰੀ ਸਹਾਇਤਾ ਡਾਕਟਰਿਨਾ ਨੂੰ ਉਹਨਾਂ ਲੋਕਾਂ ਲਈ ਮੁਫਤ ਰੱਖਦੀ ਹੈ ਜੋ ਇਸ 'ਤੇ ਨਿਰਭਰ ਹਨ ਪਰ ਭੁਗਤਾਨ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਨਹੀਂ ਰੱਖਦੇ। ਤੁਹਾਡੀ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਹਰ ਮਹੀਨੇ ਘੱਟੋ-ਘੱਟ 10 ਮੁਫਤ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਨੂੰ ਫੰਡ ਕਰਦੀ ਹੈ। ਜੇ ਤੁਸੀਂ ਛੱਡ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਘੱਟ ਮਰੀਜ਼ਾਂ ਨੂੰ ਉਹ ਸਹਾਇਤਾ ਮਿਲੇਗੀ ਜਿਸ ਦੀ ਉਨ੍ਹਾਂ ਨੂੰ ਲੋੜ ਹੈ.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਰੱਖੋ", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "ਕੈਂਸਲ ਕਰੋ", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "ਤੁਹਾਡੀ ਮਹੀਨਾਵਾਰੀ ਸਹਾਇਤਾ ਸਫਲਤਾਪੂਰਵਕ ਰੱਦ ਕੀਤੀ ਗਈ ਹੈ", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "ਗਲਤ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਡੇਟਾ", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "ਮਹੀਨਾਵਾਰ ਸਹਾਇਤਾ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ ਤਾਂ ਜੋ ਇਹ ਇੱਥੇ ਦਿਖਾਈ ਦੇਵੇ.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "ਕੋਈ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਨਹੀਂ", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਦੀ ਤਾਰੀਖ", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "ਮਿਆਦ ਖਤਮ ਹੋ ਰਹੀ ਹੈ", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਆਈਡੀ", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Product ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "ਅਸੀਂ ਤੁਹਾਡਾ ਭੁਗਤਾਨ ਅੱਗੇ ਨਹੀਂ ਵਧਾ ਸਕੇ", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "ਭੁਗਤਾਨ ਵਿੱਚ ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "ਭੁਗਤਾਨ ਪ੍ਰਕਿਰਿਆ", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "ਤੁਸੀਂ ਸਟ੍ਰਾਈਪ ਦੇ ਸੁਰੱਖਿਅਤ ਚੈਕਆਉਟ ਪੇਜ 'ਤੇ ਆਪਣੀ ਖਰੀਦਾਰੀ ਪੂਰੀ ਕਰੋਗੇ।", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ ਹਫਤਾ", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ ਸਾਲ", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "ਸਭ ਤੋਂ ਪ੍ਰਸਿੱਧ", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "ਬੰਦ ਕਰੋ", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "ਤੁਹਾਨੂੰ ਪ੍ਰੀਮੀਅਮ ਨਾਲ ਕੀ ਮਿਲਦਾ ਹੈ:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "ਬਿਨਾ ਵਿਗਿਆਪਨ ਦੇ ਸਲਾਹ-ਮਸ਼ਵਰੇ", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "ਜ਼ਿਆਦਾ ਤੇਜ਼ ਜਵਾਬ", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "ਨਵੇਂ ਫੀਚਰਾਂ ਲਈ ਜਲਦੀ ਪਹੁੰਚ", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/ਹਫ਼ਤਾ", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "ਕਦੇ ਵੀ ਰੱਦ ਕਰੋ। ਕੋਈ ਵਚਨਬੱਧਤਾ ਨਹੀਂ।", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "LIMITED TIME", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "ਹਫ਼ਤੇ ਵਿੱਚ ਆਟੋ-ਨਵੀਨੀਕਰਨ ਹੁੰਦਾ ਹੈ। ਸੈਟਿੰਗਜ਼ ਵਿੱਚ ਕਿਸੇ ਵੀ ਸਮੇਂ ਰੱਦ ਕਰੋ। ਜਾਰੀ ਰੱਖਣ ਨਾਲ, ਤੁਸੀਂ ਸਾਡੇ ਨਿਯਮ ਅਤੇ

ਗੋਪਨੀਯਤਾ ਨੀਤੀ

ਨਾਲ ਸਹਿਮਤ ਹੋ।", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 ਪ੍ਰੀਮੀਅਮ ਨਾਲ ਜਾਰੀ ਰੱਖੋ", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 ਤੁਹਾਡਾ ਸਹਿਯੋਗ ਸਿਹਤ ਸੇਵਾਵਾਂ ਨੂੰ ਪਹੁੰਚਯੋਗ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "ਕਿਰਪਾ ਕਰਕੇ ਖਰੀਦ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਜਾਂ ਲੌਗ ਇਨ ਕਰੋ.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_pa_PK.arb b/example/lib/src/l10n/pay/app_pa_PK.arb new file mode 100644 index 0000000..499dfd8 --- /dev/null +++ b/example/lib/src/l10n/pay/app_pa_PK.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "pa_PK", + "exampleButton": "بٹن مثال", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "ہاں، سب ٹھیک ہے!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "ہر شراکت شفا بخشتا ہے!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "تہاڈی شراکت ضرورت مند افراد نوں مفت مشورہ فراہم کرنے وچ مددگار ہے.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "جو مناسب لگے، اوہی رقم ادا کرو,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "یا پھر مفت وچ Doctorina استعمال کردے رہو، اوہناں دا شکریہ جنہاں نے عطیہ دین دا فیصلہ کیتا.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "اک واری", + "@oneTimeLabel": {}, + "monthlyLabel": "ماہانہ", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "ماہانہ عطیہ کی رقم منتخب کریں", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "تُسیں اک ماہانہ پلان لئی سبسکرائب کرن جا رہے او", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "تُسیں {amount}/مہینہ لئی ماہانہ پلان تے سبسکرائب کر رہے او.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "تصدیق خریداری کے وقت آپ کے اکاؤنٹ سے رقم وصول کی جائے گی. سبسکرپشن خود بخود ہر مہینے تجدید ہو جاتی ہے جب تک کہ موجودہ مدت کے اختتام سے کم از کم 24 گھنٹے قبل خودکار تجدید بند نہ کی جائے. آپ کسی بھی وقت اپنے اکاؤنٹ کی ترتیبات میں اپنی سبسکرپشن کو منظم یا منسوخ کر سکتے ہیں. آگے بڑھ کر آپ ہمارے {termsOfService} اور {privacyPolicy} سے اتفاق کرتے ہیں", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "ایک وقتی عطیہ رقم منتخب کریں", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "اکثر لوگ $7–$15 دیتے ہیں", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "کرنسی منتخب کریں", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "ادائیگی جاری ہے", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "ایک وقتی ادائیگی {currency} {amount} کی پراسیسنگ ہو رہی ہے", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "ماہانہ ادائیگی {amount} کی پراسیسنگ ہو رہی ہے", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "تہاڈا شکریہ!", + "@thankYouTitle": {}, + "thankYouSubtitle": "ہن ہور لوگ مفت مشورہ حاصل کرنگے — تُہاڈی حمایت واقعی انمول اے", + "@thankYouSubtitle": {}, + "youContributedLabel": "تُسی حصہ ڈالا:", + "@youContributedLabel": {}, + "perMonth": "/ مہینہ", + "@perMonth": {}, + "returnToTheMainScreenButton": "مین اسکرین ول واپس جائیں", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "سروس دیاں شرائط", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "رازداری پالیسی", + "@privacyPolicyLabel": {}, + "donateButton": "دان کرو", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "فعال", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "منسوخ", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "معطل", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "زیر التواء", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "تخلیق کیا", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "ٹائم آؤٹ", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "نامعلوم", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina ਯੋਗਦਾਨਕਰਤਾ", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "تجدید", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "سبسکرپشن منسوخ کریں", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "تُسی پکے او؟", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "توانڈی ماہانہ مدد ڈاکٹرینا نوں انہاں لوکاں لئی مفت رکھدی اے جڑے اوہ تے منحصر نیں پر خرچ برداشت نئیں کر سکدے۔ توانڈی رکنیت ہر مہینے کم از کم ۱۰ مفت مشاورت فراہم کردی اے۔ جے تسی چھڈ دیو، تاں کٹ مریض اوہ مدد حاصل کر سکن گے جیہڑی اوہناں نوں درکار اے", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "ركنيت برقرار رکھو", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "ਫਿਰ ਵੀ ਰੱਦ ਕਰੋ", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "تہاڈی ماہانہ سپورٹ کامیابی نال منسوخ کیتی گئی اے", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "غلط سبسکرپشن ڈیٹا", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "ماہانہ سپورٹ کے لیے سائن اپ کریں تاکہ یہ یہاں ظاہر ہو", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "ہن تک کوئی سبسکرپشن نہیں", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "سبسکرپشن کی تاریخ", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "ختم", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "رکنیت شناخت", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "پروڈکٹ آئی ڈی", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "ٹھیک", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "اسی تہاڈی ادائیگی جاری نہیں کر سکے", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "ادائیگی میں کچھ غلط ہو گیا. براہ مہربانی دوبارہ کوشش کریں.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "دوبارہ کوشش کریں", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "ادائیگی عمل میں ہے", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "تُسی Stripe دے محفوظ چیک آؤٹ صفحے تے اپنی خریداری مکمل کرنگے.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ ہفتہ", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ سال", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "سب سے مقبول", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "بند کرو", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "ڈاکٹرینا پریمیم", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "پریمیم کے ساتھ آپ کو کیا ملتا ہے:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "اشتہارات سے پاک مشاورت", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "تیز جوابات", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "نئی خصوصیات تک جلد رسائی", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/ہفتہ", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "کسی بھی وقت منسوخ کریں۔ کوئی پابندی نہیں۔", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "محدود وقت", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "ہر ہفتے خودکار تجدید ہوتی ہے۔ سیٹنگز میں کبھی بھی منسوخ کریں۔ جاری رکھنے سے، آپ ہماری شرائط اور

رازداری کی پالیسی

سے اتفاق کرتے ہیں۔", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 پریمیم کے ساتھ جاری رکھیں", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 آپ کی حمایت صحت کی دیکھ بھال کو قابل رسائی رکھنے میں مدد کرتی ہے", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "ਕਿਰਪਾ ਕਰਕੇ ਖਰੀਦਾਰੀ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ ਜਾਂ ਲਾਗਇਨ ਕਰੋ.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_pl.arb b/example/lib/src/l10n/pay/app_pl.arb new file mode 100644 index 0000000..e064698 --- /dev/null +++ b/example/lib/src/l10n/pay/app_pl.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "pl", + "exampleButton": "Przykład przycisku", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Tak, wszystko w porządku!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Każdy wkład leczy!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Twoja wpłata pomaga finansować darmowe porady dla innych potrzebujących", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Płać, co uważasz za słuszne,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "lub korzystaj dalej z Doctorina za darmo, dzięki innym, którzy zdecydowali się pomóc.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Jednorazowy", + "@oneTimeLabel": {}, + "monthlyLabel": "Miesięcznie", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Wybierz kwotę miesięcznej darowizny", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Zaraz subskrybujesz plan miesięczny", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Subskrybujesz plan miesięczny za {amount}/miesiąc.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Opłata zostanie pobrana z Twojego konta po potwierdzeniu zakupu. Subskrypcja automatycznie odnawia się co miesiąc, chyba że automatyczne odnawianie zostanie wyłączone co najmniej 24 godziny przed końcem bieżącego okresu. Możesz zarządzać lub anulować swoją subskrypcję w dowolnym momencie w ustawieniach konta. Kontynuując, zgadzasz się na nasze {termsOfService} i {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Wybierz kwotę jednorazowej darowizny", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Większość ludzi daje 7–15 $", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Wybierz walutę", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Przetwarzanie płatności", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Przetwarzanie jednorazowej płatności w wysokości {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Przetwarzanie miesięcznej płatności w wysokości {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Dziękuję!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Teraz jeszcze więcej osób otrzyma darmowe porady — twoje wsparcie jest naprawdę nieocenione.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Wniosłeś: ", + "@youContributedLabel": {}, + "perMonth": "/ miesiąc", + "@perMonth": {}, + "returnToTheMainScreenButton": "Powrót do ekranu głównego", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Warunki korzystania z usługi", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Polityka prywatności", + "@privacyPolicyLabel": {}, + "donateButton": "Darowizna", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktywny", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Anulowane", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Wstrzymano", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Oczekujące", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Utworzono", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Przekroczono czas oczekiwania", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Nieznany", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Współpracownik Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Odnawia się", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Anuluj subskrypcję", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Czy jesteś pewny?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Twoje miesięczne wsparcie utrzymuje Doctorinę darmową dla osób, które z niej korzystają, ale nie mogą sobie pozwolić na opłatę. Twoja subskrypcja finansuje co najmniej 10 darmowych konsultacji każdego miesiąca. Jeśli odejdziesz, mniej pacjentów otrzyma pomoc, której potrzebują.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Zachowaj subskrypcję", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Anuluj mimo to", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Twoje miesięczne wsparcie zostało pomyślnie anulowane", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Nieprawidłowe dane subskrypcyjne", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Zarejestruj się na miesięczne wsparcie, aby pojawiło się tutaj", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Brak subskrypcji", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Data subskrypcji", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Wygasa", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Identyfikator subskrypcji", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ID produktu", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Nie mogliśmy zrealizować twojej płatności", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Coś poszło nie tak z płatnością. Spróbuj ponownie.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Spróbuj ponownie", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Przetwarzanie płatności", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Zakup zostanie zrealizowany na bezpiecznej stronie płatności Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ tydzień", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ rok", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Najpopularniejszy", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Zamknij", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Co zyskujesz z Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Konsultacje bez reklam", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Szybsze odpowiedzi", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Wczesny dostęp do nowych funkcji", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/tydzień", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Anuluj w dowolnym momencie. Bez zobowiązań.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "OGRANICZONY CZAS", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Automatycznie odnawia się co tydzień. Możesz anulować w dowolnym momencie w ustawieniach. Kontynuując, zgadzasz się z naszymi Warunkami i

Polityką prywatności

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Kontynuuj z Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Twoje wsparcie pomaga utrzymać dostęp do opieki", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Proszę zarejestrować się lub zalogować, aby dokończyć zakupy.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ps.arb b/example/lib/src/l10n/pay/app_ps.arb new file mode 100644 index 0000000..4386fa5 --- /dev/null +++ b/example/lib/src/l10n/pay/app_ps.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ps", + "exampleButton": "د تڼۍ مثال", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "هو، هر څه ښه دي!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "هر مرسته شفا ورکوي!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "ستاسو مرسته د نورو اړتیا لرونکو لپاره وړیا مشورې تمویلوي.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "هغه څه ورکړئ چې سم احساس کوي", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "یا د نورو له خوا د ورکړې له امله د ډاکټرینا کارول وړیا وساتئ.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "یو ځل", + "@oneTimeLabel": {}, + "monthlyLabel": "میاشتنی", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "د میاشتني مرسته مقدار وټاکئ", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "تاسو د میاشتني پلان لپاره ګډون کولو ته چمتو یاست.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "تاسو د {amount}/میاشت لپاره د میاشتني پلان لپاره ګډون کوئ.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "د پېرود تایید په وخت کې به ستاسو حساب ته پیسې چارج شي. ګډون هره میاشت په اوتومات ډول نوي کیږي، مګر که د اوسني دورې پای ته رسیدو ۲۴ ساعته مخکې د اوتومات نوي کولو بندول نه وي. تاسو کولی شئ هر وخت په خپل حساب کې د ګډون مدیریت یا لغوه کړئ. د مخکې تګ سره، تاسو زموږ {termsOfService} او {privacyPolicy} ته موافق یاست.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "یو ځل د مرستې اندازه وټاکئ", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "زیاتره خلک $7–$15 ورکوي", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "پیسه انتخاب کړئ", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "د پیسو پروسس کول", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "د یو ځل تادیه پروسس کول {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "د میاشتني تادیې پروسس کول {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "مننه!", + "@thankYouTitle": {}, + "thankYouSubtitle": "اوس ډیر خلک وړیا مشورې ترلاسه کوي — ستاسو ملاتړ واقعاً بې حده دی.", + "@thankYouSubtitle": {}, + "youContributedLabel": "تاسو مرسته وکړه:", + "@youContributedLabel": {}, + "perMonth": "/ میاشت", + "@perMonth": {}, + "returnToTheMainScreenButton": "بېرته اصلي سکرین ته لاړ شئ", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "د خدمتونو شرایط", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "د پټتیا پالیسي", + "@privacyPolicyLabel": {}, + "donateButton": "مرسته وکړئ", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "فعال", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "لغو شو", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "موقوف", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "په تمه", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "جوړ شو", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "وخت تېر شو", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "نامعلوم", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina همکار", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "نوېږي", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "د ګډون لغوه", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "تاسو باوري یاست؟", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "ستاسو میاشتنی ملاتړ د ډاکټرینا لپاره وړیا ساتي د هغو خلکو لپاره چې پرې تکیه کوي مګر د تادیې توان نلري.\n\nستاسو ګډون هره میاشت لږ تر لږه ۱۰ وړیا مشورې تمویلوي.\nکه تاسو لاړ شئ، لږ ناروغان به هغه مرسته ترلاسه کړي چې ورته اړتیا لري.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "د ګډون ساتل", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "په هر حال لغوه کړئ", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "ستاسو میاشتنی ملاتړ په بریالیتوب سره لغوه شو.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "د نشتون ناسم معلومات", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "د میاشتني ملاتړ لپاره لاسلیک وکړئ ترڅو دلته څرګند شي.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "ترتیبونه لا نه دي", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "د ګډون نیټه", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "پایان می‌یابد", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "د ګډون ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "د محصول ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "ښه", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "موږ ستاسو تادیه نه شو ترسره کولی", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "د پیسو سره څه غلطه شوه. مهرباني وکړئ بیا هڅه وکړئ.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "دوباره هڅه وکړئ", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "د پیسو پروسس کول", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "تاسو به د سټرایپ د خوندي چک آوټ پاڼې په مرسته خپل پیرود بشپړ کړئ.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ هفته", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ کال", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "ډیر مشهور", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "بندول", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "څه چې تاسو د Premium سره ترلاسه کوئ:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "مشورې بې اعلاناتو", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "چټک ځوابونه", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "د نوو ځانګړتیاوو لپاره مخکینی لاسرسی", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/هفته", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "هر وخت لغو کړئ. هیڅ ژمنه نشته.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "محدود وخت", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "هر هفته به طور خودکار تمدید می‌شود. هر زمان در تنظیمات لغو کنید. با ادامه، شما با شرایط و

سیاست حفظ حریم خصوصی

ما موافقت می‌کنید.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 د پریمیوم سره دوام ورکړئ", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 ملاتړ مو د روغتیا پاملرنې د لاسرسي ساتلو کې مرسته کوي", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "مهرباني وکړئ د پېرود بشپړولو لپاره نوم لیکنه وکړئ یا لاگ ان شئ.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_pt.arb b/example/lib/src/l10n/pay/app_pt.arb similarity index 53% rename from example/lib/src/arbs/pay/example_pt.arb rename to example/lib/src/l10n/pay/app_pt.arb index 5d8b017..a01e4cb 100644 --- a/example/lib/src/arbs/pay/example_pt.arb +++ b/example/lib/src/l10n/pay/app_pt.arb @@ -1,13 +1,5 @@ { "@@locale": "pt", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Pagamento", - "@title": { - "description": "Заголовок экрана" - }, "exampleButton": "Exemplo de botão", "@exampleButton": { "description": "Пример кнопки" @@ -16,15 +8,15 @@ "@donationYesItsAllGoodButton": { "description": "Кнопка доната после рекомендаций" }, - "everyContributionHealsTitle": "Toda contribuição cura!", + "everyContributionHealsTitle": "Cada contribuição cura!", "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "Sua contribuição ajuda a financiar aconselhamento gratuito para outras pessoas necessitadas.", + "ifThisHelpedYouConsiderSupportingSubtitle": "Sua contribuição ajuda a financiar conselhos gratuitos para quem precisa.", "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "Pague o que achar certo,", + "payWhatFeelsRightLabel": "Pague o que parecer certo,", "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "ou continue usando o Doctorina gratuitamente, graças a outros que escolheram doar.", + "orKeepUsingDoctorinaForFreeLabel": "ou continue usando o Doctorina de graça, graças àqueles que escolheram doar", "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "Única vez", + "oneTimeLabel": "Único", "@oneTimeLabel": {}, "monthlyLabel": "Mensal", "@monthlyLabel": {}, @@ -34,7 +26,7 @@ "@subscriptionNoAmount": { "description": "Сумма подписки еще не выбрана" }, - "subscriptionAmount": "Você está assinando um plano mensal de {amount}/mês.", + "subscriptionAmount": "Você está assinando um plano mensal por {amount}/mês", "@subscriptionAmount": { "description": "Subscription info text with amount", "placeholders": { @@ -45,7 +37,7 @@ } } }, - "subscriptionInfo": "O pagamento será cobrado em sua conta na confirmação da compra. A assinatura é renovada automaticamente todos os meses, a menos que a renovação automática seja desativada pelo menos 24 horas antes do final do período atual. Você pode gerenciar ou cancelar sua assinatura a qualquer momento nas configurações da sua conta. Ao prosseguir, você concorda com nossos {termsOfService} e {privacyPolicy}.", + "subscriptionInfo": "O pagamento será cobrado na sua conta na confirmação da compra. A assinatura é renovada automaticamente a cada mês, a menos que a renovação automática seja desativada pelo menos 24 horas antes do final do período atual. Você pode gerenciar ou cancelar sua assinatura a qualquer momento nas configurações da sua conta. Ao prosseguir, você concorda com nossos {termsOfService} e {privacyPolicy}.", "@subscriptionInfo": { "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", "placeholders": { @@ -63,9 +55,9 @@ }, "chooseOneTimeDonationAmountLabel": "Escolha o valor da doação única", "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "A maioria das pessoas doa de US$ 7 a US$ 15", + "mostPeopleGiveHint": "A maioria dá $7–$15", "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "Selecione a moeda", + "selectCurrencyTooltip": "Selecionar moeda", "@selectCurrencyTooltip": {}, "processingPaymentSemantics": "Processando pagamento", "@processingPaymentSemantics": {}, @@ -98,7 +90,7 @@ }, "thankYouTitle": "Obrigado!", "@thankYouTitle": {}, - "thankYouSubtitle": "Agora, ainda mais pessoas receberão aconselhamento gratuito — seu apoio é realmente inestimável.", + "thankYouSubtitle": "Agora, ainda mais pessoas receberão conselhos gratuitos — seu apoio é realmente inestimável.", "@thankYouSubtitle": {}, "youContributedLabel": "Você contribuiu:", "@youContributedLabel": {}, @@ -106,68 +98,130 @@ "@perMonth": {}, "returnToTheMainScreenButton": "Voltar para a tela principal", "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "Termos de Serviço", + "termsOfServiceLabel": "Termos de serviço", "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "política de Privacidade", + "privacyPolicyLabel": "Política de Privacidade", "@privacyPolicyLabel": {}, "donateButton": "Doar", "@donateButton": {}, - "manageSubscriptionTitle": "Gerenciar assinatura", - "@manageSubscriptionTitle": {}, "subscriptionStatusActiveLabel": "Ativo", "@subscriptionStatusActiveLabel": {}, "subscriptionStatusCanceledLabel": "Cancelado", "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "Pausado", + "subscriptionStatusPausedLabel": "Em pausa", "@subscriptionStatusPausedLabel": {}, "subscriptionStatusPendingLabel": "Pendente", "@subscriptionStatusPendingLabel": {}, "subscriptionStatusCreatedLabel": "Criado", "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "Tempo esgotado", + "subscriptionStatusTimeoutLabel": "Tempo de espera", "@subscriptionStatusTimeoutLabel": {}, "subscriptionStatusUnknownLabel": "Desconhecido", "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "Colaborador da Doctorina", + "subscriptionDoctorinaContributor": "Colaborador do Doctorina", "@subscriptionDoctorinaContributor": {}, "subscriptionRenews": "Renova", "@subscriptionRenews": {}, "subscriptionCancelButton": "Cancelar assinatura", "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "Tem certeza?", + "subscriptionAreYouSureDialogTitle": "Você tem certeza?", "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "Seu apoio mensal mantém o Doctorina gratuito para pessoas que dependem dele, mas não podem pagar.\n\nSua assinatura financia pelo menos 10 consultas gratuitas por mês.\nSe você sair, menos pacientes receberão a ajuda de que precisam.", + "subscriptionAreYouSureDialogText": "Seu apoio mensal mantém o Doctorina gratuito para as pessoas que dele dependem, mas não podem pagar.\n\nSua assinatura financia pelo menos 10 consultas gratuitas por mês.\nSe você sair, menos pacientes receberão a ajuda de que precisam", "@subscriptionAreYouSureDialogText": {}, "subscriptionAreYouSureDialogKeepButton": "Manter assinatura", "@subscriptionAreYouSureDialogKeepButton": {}, "subscriptionAreYouSureDialogCancelButton": "Cancelar mesmo assim", "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "Seu suporte mensal\nfoi cancelado com sucesso.", + "subscriptionYourMonthlySupportCanceledNotification": "Seu apoio mensal foi cancelado com sucesso.", "@subscriptionYourMonthlySupportCanceledNotification": {}, "subscriptionMalformed": "Dados de assinatura incorretos", "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "Cadastre-se para receber suporte mensal para que ele apareça aqui.", + "subscriptionSignUpForMonthlySupportButton": "Inscreva-se para o suporte mensal para que ele apareça aqui", "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "Nenhuma assinatura ainda", + "subscriptionNoSubscriptionsYet": "Ainda não há assinaturas", "@subscriptionNoSubscriptionsYet": {}, "subscriptionCreatedAtDateLabel": "Data de assinatura", "@subscriptionCreatedAtDateLabel": {}, "subscriptionExpiresAtDateLabel": "Expira", "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "ID da assinatura", + "subscriptionSubscriptionIdLabel": "ID de assinatura", "@subscriptionSubscriptionIdLabel": {}, "subscriptionProductIdLabel": "ID do produto", "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "OK", + "subscriptionDialogOkButton": "Ok", "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "Não foi possível prosseguir com o seu pagamento", + "errorProcessDonationTitle": "Não foi possível processar seu pagamento", "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "Ocorreu um erro com o pagamento.\nTente novamente.", + "errorProcessDonationSubtitle": "Algo deu errado com o pagamento.\nPor favor, tente novamente.", "@errorProcessDonationSubtitle": {}, "errorProcessDonationRetryButton": "Tentar novamente", "@errorProcessDonationRetryButton": {}, "processingDonationTitle": "Processando pagamento", "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "Você concluirá sua compra na página de checkout segura do Stripe.", - "@processingDonationStripeSubtitle": {} + "processingDonationStripeSubtitle": "Você concluirá sua compra na página de checkout seguro da Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ semana", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ ano", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Mais Popular", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Fechar", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "O que você recebe com o Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Consultas sem anúncios", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Respostas mais rápidas", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Acesso antecipado a novos recursos", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/semana", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Cancele a qualquer momento. Sem compromisso.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "LIMITADO NO TEMPO", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Renova automaticamente toda semana. Cancele a qualquer momento nas configurações. Ao continuar, você concorda com nossos Termos e

Política de Privacidade

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Continuar com Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Seu apoio ajuda a manter os cuidados acessíveis", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Por favor, inscreva-se ou faça login para concluir a compra.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } } \ No newline at end of file diff --git a/example/lib/src/arbs/pay/example_pt_BR.arb b/example/lib/src/l10n/pay/app_pt_BR.arb similarity index 53% rename from example/lib/src/arbs/pay/example_pt_BR.arb rename to example/lib/src/l10n/pay/app_pt_BR.arb index 95ff6ad..8ae5642 100644 --- a/example/lib/src/arbs/pay/example_pt_BR.arb +++ b/example/lib/src/l10n/pay/app_pt_BR.arb @@ -1,13 +1,5 @@ { "@@locale": "pt_BR", - "@@author": "example@gmail.com", - "@@last_modified": "2025-08-26T14:28:36.220548Z", - "@@comment": "Generated from Google Sheets", - "@@context": "From Google Sheets", - "title": "Pagamento", - "@title": { - "description": "Заголовок экрана" - }, "exampleButton": "Exemplo de botão", "@exampleButton": { "description": "Пример кнопки" @@ -16,15 +8,15 @@ "@donationYesItsAllGoodButton": { "description": "Кнопка доната после рекомендаций" }, - "everyContributionHealsTitle": "Toda contribuição cura!", + "everyContributionHealsTitle": "Cada contribuição cura!", "@everyContributionHealsTitle": {}, - "ifThisHelpedYouConsiderSupportingSubtitle": "Sua contribuição ajuda a financiar aconselhamento gratuito para outras pessoas necessitadas.", + "ifThisHelpedYouConsiderSupportingSubtitle": "Sua contribuição ajuda a financiar conselhos gratuitos para quem precisa.", "@ifThisHelpedYouConsiderSupportingSubtitle": {}, - "payWhatFeelsRightLabel": "Pague o que achar certo,", + "payWhatFeelsRightLabel": "Pague o que parecer certo,", "@payWhatFeelsRightLabel": {}, - "orKeepUsingDoctorinaForFreeLabel": "ou continue usando o Doctorina gratuitamente, graças a outros que escolheram doar.", + "orKeepUsingDoctorinaForFreeLabel": "ou continue usando o Doctorina de graça, graças àqueles que escolheram doar", "@orKeepUsingDoctorinaForFreeLabel": {}, - "oneTimeLabel": "Única vez", + "oneTimeLabel": "Único", "@oneTimeLabel": {}, "monthlyLabel": "Mensal", "@monthlyLabel": {}, @@ -34,7 +26,7 @@ "@subscriptionNoAmount": { "description": "Сумма подписки еще не выбрана" }, - "subscriptionAmount": "Você está assinando um plano mensal de {amount}/mês.", + "subscriptionAmount": "Você está assinando um plano mensal por {amount}/mês", "@subscriptionAmount": { "description": "Subscription info text with amount", "placeholders": { @@ -45,7 +37,7 @@ } } }, - "subscriptionInfo": "O pagamento será cobrado em sua conta na confirmação da compra. A assinatura é renovada automaticamente todos os meses, a menos que a renovação automática seja desativada pelo menos 24 horas antes do final do período atual. Você pode gerenciar ou cancelar sua assinatura a qualquer momento nas configurações da sua conta. Ao prosseguir, você concorda com nossos {termsOfService} e {privacyPolicy}.", + "subscriptionInfo": "O pagamento será cobrado na sua conta na confirmação da compra. A assinatura é renovada automaticamente a cada mês, a menos que a renovação automática seja desativada pelo menos 24 horas antes do final do período atual. Você pode gerenciar ou cancelar sua assinatura a qualquer momento nas configurações da sua conta. Ao prosseguir, você concorda com nossos {termsOfService} e {privacyPolicy}.", "@subscriptionInfo": { "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", "placeholders": { @@ -63,9 +55,9 @@ }, "chooseOneTimeDonationAmountLabel": "Escolha o valor da doação única", "@chooseOneTimeDonationAmountLabel": {}, - "mostPeopleGiveHint": "A maioria das pessoas doa de US$ 7 a US$ 15", + "mostPeopleGiveHint": "A maioria dá $7–$15", "@mostPeopleGiveHint": {}, - "selectCurrencyTooltip": "Selecione a moeda", + "selectCurrencyTooltip": "Selecionar moeda", "@selectCurrencyTooltip": {}, "processingPaymentSemantics": "Processando pagamento", "@processingPaymentSemantics": {}, @@ -98,7 +90,7 @@ }, "thankYouTitle": "Obrigado!", "@thankYouTitle": {}, - "thankYouSubtitle": "Agora, ainda mais pessoas receberão aconselhamento gratuito — seu apoio é realmente inestimável.", + "thankYouSubtitle": "Agora, ainda mais pessoas receberão conselhos gratuitos — seu apoio é realmente inestimável.", "@thankYouSubtitle": {}, "youContributedLabel": "Você contribuiu:", "@youContributedLabel": {}, @@ -106,68 +98,130 @@ "@perMonth": {}, "returnToTheMainScreenButton": "Voltar para a tela principal", "@returnToTheMainScreenButton": {}, - "termsOfServiceLabel": "Termos de Serviço", + "termsOfServiceLabel": "Termos de serviço", "@termsOfServiceLabel": {}, - "privacyPolicyLabel": "política de Privacidade", + "privacyPolicyLabel": "Política de Privacidade", "@privacyPolicyLabel": {}, "donateButton": "Doar", "@donateButton": {}, - "manageSubscriptionTitle": "Gerenciar assinatura", - "@manageSubscriptionTitle": {}, "subscriptionStatusActiveLabel": "Ativo", "@subscriptionStatusActiveLabel": {}, "subscriptionStatusCanceledLabel": "Cancelado", "@subscriptionStatusCanceledLabel": {}, - "subscriptionStatusPausedLabel": "Pausado", + "subscriptionStatusPausedLabel": "Em pausa", "@subscriptionStatusPausedLabel": {}, "subscriptionStatusPendingLabel": "Pendente", "@subscriptionStatusPendingLabel": {}, "subscriptionStatusCreatedLabel": "Criado", "@subscriptionStatusCreatedLabel": {}, - "subscriptionStatusTimeoutLabel": "Tempo esgotado", + "subscriptionStatusTimeoutLabel": "Tempo de espera", "@subscriptionStatusTimeoutLabel": {}, "subscriptionStatusUnknownLabel": "Desconhecido", "@subscriptionStatusUnknownLabel": {}, - "subscriptionDoctorinaContributor": "Colaborador da Doctorina", + "subscriptionDoctorinaContributor": "Colaborador do Doctorina", "@subscriptionDoctorinaContributor": {}, "subscriptionRenews": "Renova", "@subscriptionRenews": {}, "subscriptionCancelButton": "Cancelar assinatura", "@subscriptionCancelButton": {}, - "subscriptionAreYouSureDialogTitle": "Tem certeza?", + "subscriptionAreYouSureDialogTitle": "Você tem certeza?", "@subscriptionAreYouSureDialogTitle": {}, - "subscriptionAreYouSureDialogText": "Seu apoio mensal mantém o Doctorina gratuito para pessoas que dependem dele, mas não podem pagar.\n\nSua assinatura financia pelo menos 10 consultas gratuitas por mês.\nSe você sair, menos pacientes receberão a ajuda de que precisam.", + "subscriptionAreYouSureDialogText": "Seu apoio mensal mantém o Doctorina gratuito para as pessoas que dele dependem, mas não podem pagar.\n\nSua assinatura financia pelo menos 10 consultas gratuitas por mês.\nSe você sair, menos pacientes receberão a ajuda de que precisam", "@subscriptionAreYouSureDialogText": {}, "subscriptionAreYouSureDialogKeepButton": "Manter assinatura", "@subscriptionAreYouSureDialogKeepButton": {}, "subscriptionAreYouSureDialogCancelButton": "Cancelar mesmo assim", "@subscriptionAreYouSureDialogCancelButton": {}, - "subscriptionYourMonthlySupportCanceledNotification": "Seu suporte mensal\nfoi cancelado com sucesso.", + "subscriptionYourMonthlySupportCanceledNotification": "Seu apoio mensal foi cancelado com sucesso.", "@subscriptionYourMonthlySupportCanceledNotification": {}, "subscriptionMalformed": "Dados de assinatura incorretos", "@subscriptionMalformed": {}, - "subscriptionSignUpForMonthlySupportButton": "Cadastre-se para receber suporte mensal para que ele apareça aqui.", + "subscriptionSignUpForMonthlySupportButton": "Inscreva-se para o suporte mensal para que ele apareça aqui", "@subscriptionSignUpForMonthlySupportButton": {}, - "subscriptionNoSubscriptionsYet": "Nenhuma assinatura ainda", + "subscriptionNoSubscriptionsYet": "Ainda não há assinaturas", "@subscriptionNoSubscriptionsYet": {}, "subscriptionCreatedAtDateLabel": "Data de assinatura", "@subscriptionCreatedAtDateLabel": {}, "subscriptionExpiresAtDateLabel": "Expira", "@subscriptionExpiresAtDateLabel": {}, - "subscriptionSubscriptionIdLabel": "ID da assinatura", + "subscriptionSubscriptionIdLabel": "ID de assinatura", "@subscriptionSubscriptionIdLabel": {}, "subscriptionProductIdLabel": "ID do produto", "@subscriptionProductIdLabel": {}, - "subscriptionDialogOkButton": "OK", + "subscriptionDialogOkButton": "Ok", "@subscriptionDialogOkButton": {}, - "errorProcessDonationTitle": "Não foi possível prosseguir com o seu pagamento", + "errorProcessDonationTitle": "Não foi possível processar seu pagamento", "@errorProcessDonationTitle": {}, - "errorProcessDonationSubtitle": "Ocorreu um erro com o pagamento.\nTente novamente.", + "errorProcessDonationSubtitle": "Algo deu errado com o pagamento.\nPor favor, tente novamente.", "@errorProcessDonationSubtitle": {}, "errorProcessDonationRetryButton": "Tentar novamente", "@errorProcessDonationRetryButton": {}, "processingDonationTitle": "Processando pagamento", "@processingDonationTitle": {}, - "processingDonationStripeSubtitle": "Você concluirá sua compra na página de checkout segura do Stripe.", - "@processingDonationStripeSubtitle": {} + "processingDonationStripeSubtitle": "Você concluirá sua compra na página de checkout seguro da Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ semana", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ ano", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Mais Popular", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Fechar", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "O que você recebe com o Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Consultas sem anúncios", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Respostas mais rápidas", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Acesso antecipado a novos recursos", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/semana", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Cancele a qualquer momento. Sem compromisso.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "LIMITADO NO TEMPO", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Renova automaticamente toda semana. Cancele a qualquer momento nas configurações. Ao continuar, você concorda com nossos Termos e

Política de Privacidade

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Continuar com Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Seu apoio ajuda a manter os cuidados acessíveis", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Por favor, inscreva-se ou faça login para concluir a compra.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } } \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ro.arb b/example/lib/src/l10n/pay/app_ro.arb new file mode 100644 index 0000000..4e9ce10 --- /dev/null +++ b/example/lib/src/l10n/pay/app_ro.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ro", + "exampleButton": "Exemplu de buton", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Da, totul este bine!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Fiecare contribuție vindecă!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Contribuția dumneavoastră ajută la finanțarea sfaturilor gratuite pentru alții care au nevoie.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Plătește ce simți că este corect,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "sau continuați să folosiți Doctorina gratuit, mulțumită altora care au ales să ofere.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "O singură dată", + "@oneTimeLabel": {}, + "monthlyLabel": "Lunar", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Alegeți suma donației lunare", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Ești pe cale să te abonezi la un plan lunar.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Te abonezi la un plan lunar pentru {amount}/luna.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Plata va fi debitata din contul dumneavoastră la confirmarea achiziției. Abonamentul se reînnoiește automat în fiecare lună, cu excepția cazului în care reînnoirea automată este dezactivată cu cel puțin 24 de ore înainte de sfârșitul perioadei curente. Puteți gestiona sau anula abonamentul oricând în setările contului dumneavoastră. Continuând, sunteți de acord cu {termsOfService} și {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Alegeți suma donației unice", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Cei mai mulți oameni oferă $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Selectați moneda", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Se procesează plata", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Se procesează o plată unică de {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Se procesează plata lunară de {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Mulțumesc!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Acum, și mai mulți oameni vor primi sfaturi gratuite - sprijinul tău este cu adevărat neprețuit.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Ați contribuit:", + "@youContributedLabel": {}, + "perMonth": "/ lună", + "@perMonth": {}, + "returnToTheMainScreenButton": "Întoarceți-vă la ecranul principal", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Termeni și condiții", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Politica de confidențialitate", + "@privacyPolicyLabel": {}, + "donateButton": "Donează", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Activ", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Anulat", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Pausat", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "În așteptare", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Creat", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Timp epuizat", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Necunoscut", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Contribuitor Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Se reînnoiește", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Anulează abonamentul", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Ești sigur?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Sprijinul tău lunar menține Doctorina gratuit pentru persoanele care se bazează pe el, dar nu își permit să plătească. Abonamentul tău finanțează cel puțin 10 consultații gratuite în fiecare lună. Dacă pleci, mai puțini pacienți vor primi ajutorul de care au nevoie.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Păstrează abonamentul", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Anulează oricum", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Suportul tău lunar a fost anulat cu succes.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Date de abonament incorecte", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Înscrieți-vă pentru suport lunar pentru a-l avea aici.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Nu există abonamente încă", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Data abonamentului", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Expiră", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID de abonament", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ID produs", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Nu am putut procesa plata dumneavoastră", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Ceva a mers prost cu plata. Vă rugăm să încercați din nou.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Reîncercați", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Se procesează plata", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Veți finaliza achiziția pe pagina de plată securizată a Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ săptămână", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ an", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Cel mai popular", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Închide", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Ce obții cu Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Consultații fără reclame", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Răspunsuri mai rapide", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Acces timpuriu la noi funcții", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/săptămână", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Anulează oricând. Fără angajament.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "OFERTĂ LIMITATĂ", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Se reînnoiește automat săptămânal. Anulează oricând în setări. Continuând, ești de acord cu Termenii și

Politica de confidențialitate

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Continuare cu Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Sprijinul tău ajută la menținerea accesibilității îngrijirii", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Vă rugăm să vă înscrieți sau să vă conectați pentru a finaliza achiziția.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ru.arb b/example/lib/src/l10n/pay/app_ru.arb new file mode 100644 index 0000000..9a07f71 --- /dev/null +++ b/example/lib/src/l10n/pay/app_ru.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ru", + "exampleButton": "Пример кнопки", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Да, всё в порядке!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Каждый вклад лечит!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Ваш вклад помогает финансировать бесплатные консультации для тех, кто в них нуждается.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Платите, сколько считаете правильным,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "или продолжайте пользоваться Doctorina бесплатно, благодаря тем, кто решил пожертвовать", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Одноразовый", + "@oneTimeLabel": {}, + "monthlyLabel": "Ежемесячно", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Выберите сумму ежемесячного пожертвования", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Вы собираетесь подписаться на месячный план.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Вы подписываетесь на ежемесячный план за {amount}/месяц.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "С вашего счета будет списана оплата после подтверждения покупки. Подписка автоматически продлевается каждый месяц, если функция автопродления не отключена как минимум за 24 часа до окончания текущего периода. Вы можете управлять подпиской или отменить её в любое время в настройках аккаунта. Продолжая, вы соглашаетесь с нашими {termsOfService} и {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Выберите сумму разового пожертвования", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Большинство людей дают $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Выберите валюту", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Обработка оплаты", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Обработка единовременного платежа {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Обрабатывается ежемесячный платеж на сумму {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Спасибо!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Теперь еще больше людей получат бесплатные советы — ваша поддержка действительно неоценима", + "@thankYouSubtitle": {}, + "youContributedLabel": "Ваш вклад:", + "@youContributedLabel": {}, + "perMonth": "/ месяц", + "@perMonth": {}, + "returnToTheMainScreenButton": "Вернуться на главный экран", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Пользовательское соглашение", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Политика конфиденциальности", + "@privacyPolicyLabel": {}, + "donateButton": "Пожертвовать", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Активный", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Отменено", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Приостановлено", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "В ожидании", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Создано", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Тайм-аут", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Неизвестно", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina вкладчик", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Продлевается", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Отменить подписку", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Вы уверены?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Ваша ежемесячная поддержка позволяет Докторине оставаться бесплатной для людей, которые на неё рассчитывают, но не могут позволить себе платить. Ваша подписка финансирует не менее 10 бесплатных консультаций каждый месяц. Если вы уйдёте, меньше пациентов получат необходимую помощь.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Оставить подписку", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Все равно отменить", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Ваша ежемесячная поддержка\nбыла успешно отменена.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Неверные данные подписки", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Подпишитесь на ежемесячную поддержку, чтобы она отображалась здесь", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Подписок пока нет", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Дата подписки", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Истекает", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Идентификатор подписки", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Идентификатор продукта", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "ОК", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Мы не смогли обработать ваш платеж", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Что-то пошло не так с оплатой. Пожалуйста, попробуйте снова.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Повторить", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Обработка платежа", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Вы завершите покупку на защищённой странице оформления заказа Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ неделя", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ год", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Самый популярный", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Закрыть", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Премиум", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Что вы получаете с Премиум:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Консультации без рекламы", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Быстрые ответы", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Ранний доступ к новым функциям", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/неделя", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Отмените в любое время. Без обязательств.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "ОГРАНИЧЕННОЕ ВРЕМЯ", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Автообновление каждую неделю. Отменить в любое время в настройках. Продолжая, вы соглашаетесь с нашими Условиями и

Политикой конфиденциальности

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Продолжить с Премиум", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Ваша поддержка помогает сделать медицинскую помощь доступной", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Пожалуйста, зарегистрируйтесь или войдите, чтобы завершить покупку", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_si.arb b/example/lib/src/l10n/pay/app_si.arb new file mode 100644 index 0000000..5d8483c --- /dev/null +++ b/example/lib/src/l10n/pay/app_si.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "si", + "exampleButton": "බොත්තම උදාහරණය", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "ඔව්, සියල්ල හොඳයි!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "සෑම දායකත්වයක්ම සුවය ලබා දෙයි!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "ඔබගේ දායකත්වය අනවශ්‍යයින්ට නිදහස් උපදෙස් ලබා දීමට මූල්‍ය සහය වශයෙන් උපකාරී වේ.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "ඔබට හොඳින් හැඟෙන පරිදි ගෙවන්න,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "හෝ ඩොක්ටරිනාව නොමිලේ භාවිතා කරමින් සිටින්න, ලබා දීමට තෝරා ගත් අය thanks.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "එක් වරක්", + "@oneTimeLabel": {}, + "monthlyLabel": "මාසික", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "මාසික දායකත්ව මුදල තෝරන්න", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "ඔබ මාසික සැලැස්මකට සාමාජිකත්වය ලබා ගැනීමට යන්නෙහි.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "ඔබ {amount}/මාසිකය සඳහා මාසික සැලැස්මකට සම්බන්ධ වෙමින් සිටී.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "ගෙවීම් ඔබේ ගිණුමට මිලදී ගැනීමේ තහවුරු කිරීමේදී අය කරනු ලැබේ. සාමාජිකත්වය සෑම මාසයකම ස්වයංක්‍රීයව නැවත නවීකරණය වේ, වර්තමාන කාලය අවසන් වීමට අවම වශයෙන් පැය 24 කින් පෙර ස්වයංක්‍රීය නැවත නවීකරණය අක්‍රිය කර නොමැතිනම්. ඔබට ඔබේ ගිණුම් සැකසුම් තුළ ඕනෑම වේලාවක ඔබේ සාමාජිකත්වය කළමනාකරණය කිරීමට හෝ අවලංගු කිරීමට හැක. ඉදිරියට යන විට, ඔබ අපගේ {termsOfService} සහ {privacyPolicy} සමඟ එකඟ වෙයි.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "එක්වර දායකත්ව මුදල තෝරන්න", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "බොහෝ මිනිසුන් $7–$15 දෙනවා", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "මුදල් තෝරන්න", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "ගෙවීම් සැකසීම", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "එකවර ගෙවීමක් සකස් කරමින් {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "{amount} මාසික ගෙවීමක් සැකසීම", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "ස්තූතියි!", + "@thankYouTitle": {}, + "thankYouSubtitle": "දැන් තවත් බොහෝ දෙනෙකුට නොමිලේ උපදෙස් ලැබෙනු ඇත - ඔබගේ සහය වටිනාකමක් වේ.", + "@thankYouSubtitle": {}, + "youContributedLabel": "ඔබ දායක විය:", + "@youContributedLabel": {}, + "perMonth": "/ මාසය", + "@perMonth": {}, + "returnToTheMainScreenButton": "ප්‍රධාන තිරයට ආපසු යන්න", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "සේවා කොන්දේසි", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "රහස්‍යතා ප්‍රතිපත්තිය", + "@privacyPolicyLabel": {}, + "donateButton": "දෙනුම් කරන්න", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "සක්‍රීය", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "අවලංගු කරන ලදී", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "අත්හිටුවා ඇත", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "පැමිණිල්ලක්", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "නිර්මාණය කරන ලදී", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "කාලය අවසන්", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "අදහස් නැත", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina දායකයා", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "නවීකරණය", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "අභෝෂණය කරන්න", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "ඔබට විශ්වාසද?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "ඔබගේ මාසික සහයෝගය ඩොක්ටර්නාව එයට යටත් වන, නමුත් ගෙවීමට නොහැකි පුද්ගලයන් සඳහා නොමිලේ තබා ගන්නා බවයි. ඔබගේ සාමාජිකත්වය මාසිකව අවම වශයෙන් 10 නොමිලේ උපදේශන සඳහා අරමුදල් සපයයි. ඔබ පිටවන්නේ නම්, අඩු රෝගීන්ට අවශ්‍ය ආධාරය ලැබෙන්නේ නැත.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "අභිජනනය තබා ගන්න", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "අවශ්‍ය නම් අවලංගු කරන්න", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "ඔබගේ මාසික සහය සාර්ථකව අවලංගු කර ඇත.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "අසත්‍ය සභාපති දත්ත", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "මාසික සහය සඳහා ලියාපදිංචි වන්න එය මෙහි පෙනී යාමට.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "ඉතින් කිසිදු සභාපතිත්වයක් නැත", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "අභිජනන දිනය", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "අවසන් වේ", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "අභිජනන ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "නිෂ්පාදන හැඳුනුම්පත", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "හරි", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "අපි ඔබගේ ගෙවීම ක්‍රියාත්මක කර නොහැක", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "ගෙවීම් වලින් කුමක් හෝ වැරදි විය. කරුණාකර නැවත උත්සාහ කරන්න.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "නැවත උත්සාහ කරන්න", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "ගෙවීම් සැකසීම", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "ඔබට Stripe හි ආරක්ෂිත ගෙවීම් පිටුවේ ඔබේ මිලදී ගැනීම සම්පූර්ණ කරනු ඇත.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ සතිය", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ වසර", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Najpopularniji", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Zapri", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Kaj dobite s Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Rekli nevidljive konsultacije", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Hitra odgovora", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Hitra na novim funkcijama", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/teden", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Prekliči kadarkoli. Brez obveznosti.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "OMEJENO ČAS", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Automatski se obnavlja svake nedelje. Otkaži u bilo kojem trenutku u postavkama. Nastavljanjem se slažeš s našim Uslovima i

Politikom privatnosti

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Nastavi s Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Tava podpora pomaga ohranjati dostopno oskrbo", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "කරුණාකර මිලදී ගැනීම සම්පූර්ණ කිරීමට ලියාපදිංචි වන්න හෝ පිවිසෙන්න.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_sk.arb b/example/lib/src/l10n/pay/app_sk.arb new file mode 100644 index 0000000..460982a --- /dev/null +++ b/example/lib/src/l10n/pay/app_sk.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "sk", + "exampleButton": "Príklad tlačidla", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Áno, je to všetko v poriadku!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Každý príspevok lieči!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Vaša príspevok pomáha financovať bezplatné poradenstvo pre ostatných v núdzi", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Zaplaťte, čo sa vám zdá správne,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "alebo pokračujte v používaní Doctorina zadarmo, vďaka ostatným, ktorí sa rozhodli prispieť.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Jednorazový", + "@oneTimeLabel": {}, + "monthlyLabel": "Mesačne", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Vyberte mesačnú sumu daru", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Chystáte sa prihlásiť na mesačný plán.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Prihlasujete sa na mesačný plán za {amount}/mesiac.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Platba bude účtovaná na váš účet po potvrdení nákupu. Predplatné sa automaticky obnovuje každý mesiac, pokiaľ nie je automatické obnovenie vypnuté najmenej 24 hodín pred koncom aktuálneho obdobia. Svoje predplatné môžete spravovať alebo zrušiť kedykoľvek v nastaveniach účtu. Pokračovaním súhlasíte s našimi {termsOfService} a {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Vyberte sumu jednorazového daru", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Väčšina ľudí dáva 7–15 $", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Vyberte menu", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Spracovanie platby", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Spracovanie jednorazovej platby {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Spracovanie mesačnej platby vo výške {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Ďakujem!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Teraz ešte viac ľudí dostane bezplatné rady — vaša podpora je naozaj neoceniteľná.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Prispeli ste:", + "@youContributedLabel": {}, + "perMonth": "/ mesiac", + "@perMonth": {}, + "returnToTheMainScreenButton": "Návrat na hlavnú obrazovku", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Podmienky služby", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Zásady ochrany osobných údajov", + "@privacyPolicyLabel": {}, + "donateButton": "Darovať", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktívne", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Zrušené", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Pozastavené", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Čaká sa", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Vytvorené", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Časový limit", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Neznáme", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Prispievateľ Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Obnovuje sa", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Zrušiť predplatné", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Ste si istí?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Vaša mesačná podpora udržuje Doctorinu bezplatnou pre ľudí, ktorí sa na ňu spoliehajú, ale nemôžu si ju dovoliť zaplatiť. Vaša predplatné financuje aspoň 10 bezplatných konzultácií každý mesiac. Ak odídete, menej pacientov dostane pomoc, ktorú potrebujú.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Udržať predplatné", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Zrušiť aj tak", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Vaša mesačná podpora bola úspešne zrušená.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Nesprávne údaje o predplatnom", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Prihláste sa na mesačnú podporu, aby sa tu zobrazila.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Žiadne predplatné zatiaľ", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Dátum predplatného", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Expiruje", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID predplatného", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ID produktu", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Nemohli sme spracovať vašu platbu", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Niečo sa pokazilo s platbou. Skúste to prosím znova.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Skúsiť znova", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Spracovanie platby", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Nákup dokončíte na zabezpečenej stránke Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ týždeň", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ rok", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Najobľúbenejšie", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Zavrieť", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Čo získate s prémiou:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Konzultácie bez reklám", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Rýchlejšie odpovede", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Prednostný prístup k novým funkciám", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/týždeň", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Zrušte kedykoľvek. Žiadne záväzky.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "OBMEDZENÝ ČAS", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Automaticky sa obnovuje každý týždeň. Zrušiť kedykoľvek v nastaveniach. Pokračovaním súhlasíte s našimi Podmienkami a

Zásadami ochrany osobných údajov

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Pokračovať s prémiovým", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Vaša podpora pomáha udržiavať prístupnú starostlivosť", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Prosím, zaregistrujte sa alebo sa prihláste, aby ste dokončili nákup.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_sw.arb b/example/lib/src/l10n/pay/app_sw.arb new file mode 100644 index 0000000..f716e40 --- /dev/null +++ b/example/lib/src/l10n/pay/app_sw.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "sw", + "exampleButton": "Mfano wa kitufe", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Ndiyo, kila kitu ni sawa!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Kila mchango huponya!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Mchango wako husaidia kufadhili ushauri wa bure kwa wengine wanaohitaji.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Lipa kile unachohisi kinafaa,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "au endelea kutumia Doctorina bure, asante kwa wengine waliokuchagua kutoa.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Mara Moja", + "@oneTimeLabel": {}, + "monthlyLabel": "Kila mwezi", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Chagua kiasi cha michango ya kila mwezi", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Unaelekea kujisajili kwa mpango wa kila mwezi.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Unajiandikisha kwenye mpango wa kila mwezi kwa {amount}/mwezi", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Malipo yatachukuliwa kwenye akaunti yako wakati uthibitisho wa ununuzi. Usajili unasasisha kikamilifu kila mwezi isipokuwa auto-renew imezimwa angalau masaa 24 kabla ya kumalizika kwa kipindi cha sasa. Unaweza kusimamia au kufuta usajili wako wakati wowote katika mipangilio ya akaunti yako. Kwa kuendelea, unakubali {termsOfService} na {privacyPolicy} yetu.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Chagua kiasi cha mchango wa mara moja", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Watu wengi hutoa $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Chagua sarafu", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Inachakata malipo", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Inasindika malipo ya mara moja ya {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Inashughulikia malipo ya kila mwezi {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Asante!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Sasa watu wengi zaidi watapokea ushauri wa bure — msaada wako ni wa thamani sana.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Ulichangia:", + "@youContributedLabel": {}, + "perMonth": "kwa mwezi", + "@perMonth": {}, + "returnToTheMainScreenButton": "Rudi kwenye skrini kuu", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Masharti ya Huduma", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Sera ya Faragha", + "@privacyPolicyLabel": {}, + "donateButton": "Changia", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Hai", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Imeghairiwa", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Imesitishwa", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Inasubiri", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Imeundwa", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Wakati umekwisha", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Haijulikani", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Mchangiaji wa Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Inafanya upya", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Futa usajili", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Una uhakika?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Uchangiaji wako wa kila mwezi unafanya Doctorina iwe bure kwa watu wanaotegemea lakini hawawezi kulipa. Usajili wako unafadhili angalau 10 ushauri wa bure kila mwezi. Ikiwa utaondoka, wagonjwa wachache watapata msaada wanaohitaji.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Endelea na usajili", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Futa hata hivyo", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Msaada wako wa kila mwezi umesitishwa kwa mafanikio.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Taarifa za usajili si sahihi", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Jisajili kwa msaada wa kila mwezi ili ionekane hapa", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Bado hakuna usajili", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Tarehe ya usajili", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Inamalizika", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Kitambulisho cha Usajili", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Kitambulisho cha Bidhaa", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Sawa", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Hatukuweza kuendelea na malipo yako", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Kitu kilikwenda vibaya na malipo. Tafadhali jaribu tena.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Jaribu tena", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Inachakata malipo", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Utakamilisha ununuzi wako kwenye ukurasa wa malipo salama wa Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ wiki", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ mwaka", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Maarufu Zaidi", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Funga", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Kile unachopata na Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Mikutano bila matangazo", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Majibu ya haraka", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Upatikanaji wa mapema wa vipengele vipya", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/wiki", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Avboka när som helst. Ingen bindning.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "WAKATI WA KIKOMO", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Auto-renews kila wiki. Ghairi wakati wowote kwenye mipangilio. Kwa kuendelea, unakubali Masharti na

Sera ya Faragha

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Fortsätt med Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Msaada wako husaidia kuweka huduma kuwa na upatikanaji", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Tafadhali jiandikishe au ingia ili kukamilisha ununuzi.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ta.arb b/example/lib/src/l10n/pay/app_ta.arb new file mode 100644 index 0000000..bb9159d --- /dev/null +++ b/example/lib/src/l10n/pay/app_ta.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ta", + "exampleButton": "எடுத்துக்காட்டு பட்டன்", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "ஆம், எல்லாம் சரி!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "ஒவ்வொரு பங்களிப்பும் குணமாக்கும்!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "உங்கள் பங்களிப்பு, உதவி தேவைப்படும் மற்றவர்களுக்கு இலவச ஆலோசனைகளை நிதியுதவி செய்கிறது.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "உங்களுக்கு சரியாக தோன்றும் அளவு செலுத்துங்கள்,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "அல்லது இலவசமாக Doctorina-ஐ பயன்படுத்தி தொடரவும், தானாக கொடுக்கத் தேர்ந்தெடுத்தவர்களுக்கு நன்றி.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "ஒரே முறை", + "@oneTimeLabel": {}, + "monthlyLabel": "மாதாந்திர", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "மாதாந்திர நன்கொடைக் தொகையை தேர்ந்தெடுக்கவும்", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "நீங்கள் மாதாந்திர திட்டத்திற்கு சந்தா பெறப்போகிறீர்கள்.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "நீங்கள் {amount}/மாதம் என மாதாந்திர திட்டத்தில் சேர்கிறீர்கள்", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "கொள்முதல் உறுதிப்படுத்தலின் போது உங்கள் கணக்கில் கட்டணம் வசூலிக்கப்படும். சந்தா தானாக ஒவ்வொரு மாதமும் புதுப்பிக்கப்படுகிறது, 'auto-renew' குறைந்தது 24 மணி நேரம் முன்பு நிறுத்தப்படவில்லை என்றால். நீங்கள் எப்பொழுதும் உங்கள் கணக்கு அமைப்புகளில் சந்தாவைக் கையாளவோ அல்லது ரத்துசெய்யவோ முடியும். தொடர்வதன் மூலம், நீங்கள் எங்கள் {termsOfService} மற்றும் {privacyPolicy} உடன் ஒப்புக்கொள்கிறீர்கள்.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "ஒரே முறை நன்கொடை தொகையை தேர்வு செய்யவும்", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "பலர் $7–$15 கொடுப்பார்கள்", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "நாணயத்தைத் தேர்வு செய்க", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "கட்டணம் செயலாக்கப்படுகிறது", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "ஒரே முறை கட்டணம் {currency} {amount} செயலாக்கப்படுகிறது", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "மாதாந்திர {amount} கட்டணத்தை செயலாக்குகிறது", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "நன்றி!", + "@thankYouTitle": {}, + "thankYouSubtitle": "இப்போது மேலும் பலர் இலவச ஆலோசனையை பெறுவார்கள் — உங்கள் ஆதரவு உண்மையாக அমূল்யமாகும்.", + "@thankYouSubtitle": {}, + "youContributedLabel": "நீங்கள் பங்களித்தீர்கள்:", + "@youContributedLabel": {}, + "perMonth": "ஒரு மாதத்திற்கு", + "@perMonth": {}, + "returnToTheMainScreenButton": "முதன்மை திரைக்கு திரும்பு", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "சேவை விதிமுறைகள்", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "தனியுரிமைக் கொள்கை", + "@privacyPolicyLabel": {}, + "donateButton": "தானம் செய்", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "செயலில்", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "ரத்து செய்யப்பட்டது", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "இடைநிறுத்தப்பட்டது", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "நிலுவையில்", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "உருவாக்கப்பட்டது", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "நேரம் முடிந்தது", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "தெரியவில்லை", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "டாக்டரினா பங்களிப்பாளர்", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "புதுப்பிக்கும்", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "சந்தாவை இரத்து", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "நீங்கள் உறுதியாக இருக்கிறீர்களா?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "உங்கள் மாதாந்திர ஆதரவு, கட்டணம் செலுத்த முடியாத, அதில் நம்பிக்கை வைக்கும் நபர்களுக்காக Doctorina ஐ இலவசமாக வைத்திருக்கிறது. உங்கள் சந்தா ஒவ்வொரு மாதமும் குறைந்தபட்சம் 10 இலவச ஆலோசனைகளை நிதியளிக்கிறது. நீங்கள் விட்டு விட்டு போனால், குறைவான நோயாளிகள் தேவையான உதவியைப் பெறுவார்கள்.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "சந்தாவை வைத்துக் கொள்ளவும்", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "எனினும் ரத்து செய்", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "உங்கள் மாதாந்திர ஆதரவு வெற்றிகரமாக ரத்துசெய்யப்பட்டது.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "தவறான சந்தா தரவு", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "மாதாந்திர ஆதரவிற்காக பதிவு செய்யவும், அது இங்கு தோன்றும்", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "இன்னும் சந்தாக்கள் இல்லை", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "சந்தா தேதி", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "முடிவடையும்", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "சந்தா ஐடி", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "தயாரிப்பு ஐடி", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "சரி", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "உங்கள் கட்டணத்தை செயல்படுத்த முடியவில்லை", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "பணம் செலுத்துவதில் ஏதும் தவறானது. தயவுசெய்து மீண்டும் முயற்சிக்கவும்.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "மீண்டும் முயற்சி", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "கட்டணம் செயலாக்கப்படுகிறது", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "நீங்கள் Stripe’s பாதுகாப்பான செக்அவுட் பக்கத்தில் உங்கள் வாங்கலை முடிப்பீர்கள்.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ வாரம்", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ வருடம்", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "மிகவும் பிரபலமான", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "மூடு", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "பிரீமியத்தில் நீங்கள் பெறுவது:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "விளம்பரமில்லா ஆலோசனைகள்", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "விரைவான பதில்கள்", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "புதிய அம்சங்களுக்கு முன்கூட்டிய அணுகல்", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/வாரம்", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "எப்போது வேண்டுமானாலும் ரத்து செய்யவும். எந்த கட்டுப்பாடும் இல்லை.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "காலக்கெடு", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "தினசரி புதுப்பிக்கப்படுகிறது. அமைப்புகளில் எப்போது வேண்டுமானாலும் ரத்து செய்யவும். தொடர்வதன் மூலம், நீங்கள் எங்கள் விதிமுறைகள் மற்றும்

தனியுரிமை கொள்கை

க்கு ஒப்புக்கொள்கிறீர்கள்.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 பிரீமியத்துடன் தொடரவும்", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 உங்கள் ஆதரவு சிகிச்சையை அணுகக்கூடியதாக வைத்திருக்க உதவுகிறது", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "தயவுசெய்து பதிவு செய்யவும் அல்லது உள்நுழையவும் வாங்கலை முடிக்க.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_te.arb b/example/lib/src/l10n/pay/app_te.arb new file mode 100644 index 0000000..1eba008 --- /dev/null +++ b/example/lib/src/l10n/pay/app_te.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "te", + "exampleButton": "బటన్ ఉదాహరణ", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "అవును, అన్నీ బాగున్నాయి!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "ప్రతి తోడ్పాటు నయం చేస్తుంది!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "మీ సహకారం అవసరమయ్యే వారికి ఉచిత సలహా అందించడానికి నిధులను అందిస్తుంది.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "మీ భావనకు అనుగుణంగా చెల్లించండి,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "లేదా ఉచితంగా Doctorina ని వాడుతూ ఉండండి, ఇవ్వడానికి ఎంచుకున్న ఇతరుల కారణంగా", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "ఒకసారి", + "@oneTimeLabel": {}, + "monthlyLabel": "నెలసరి", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "నెలసరి దానం మొత్తం ఎంచుకోండి", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "మీరు నెలసరి ప్రణాళికకు సబ్\u0002dస్క్రైబ్ అవ్వబోతున్నారు.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "మీరు {amount}/నెలకు నెలవారీ ప్లాన్‌కు సభ్యత్వం పొందుతున్నారు.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "కొనుగోలు నిర్ధారణ సమయంలో మీ ఖాతాకు చెల్లింపు వసూలు చేయబడుతుంది. ప్రస్తుత కాలం ముగియడానికి కనీసం 24 గంటల ముందు ఆటో-రెన్యూవ్ ఆఫ్ చేయబడకపోతే, సబ్‌స్క్రిప్షన్ ప్రతి నెల ఆటోమేటిక్‌గా నవీకరించబడుతుంది. మీరు మీ ఖాతా సెట్టింగ్లలో ఏ సందర్భానైనా సబ్‌స్క్రిప్షన్‌ను నిర్వహించవచ్చు లేదా రద్దు చేయవచ్చు. కొనసాగించడం ద్వారా, మీరు మా {termsOfService} మరియు {privacyPolicy} కి ఆమోదం తెలిపుతున్నారు", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "ఒకసారి దానం మొత్తం ఎంచుకోండి", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "బహుళ మంది $7–$15 ఇస్తారు", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "కరెన్సీని ఎంచుకోండి", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "చెల్లింపు ప్రాసెస్ అవుతోంది", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "ఒక్కసారి చెల్లింపు {currency} {amount} ప్రాసెస్ జరుగుతోంది", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "నెలవారీ చెల్లింపు {amount}ను ప్రాసెస్ అవుతోంది", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "ధన్యవాదాలు!", + "@thankYouTitle": {}, + "thankYouSubtitle": "ఇప్పుడు మరింత మంది ఉచిత సలహా పొందగలుగుతారు — మీ మద్దతు నిజానికి అమూల్యమైనది.", + "@thankYouSubtitle": {}, + "youContributedLabel": "మీరు తోడ్పడినారు:", + "@youContributedLabel": {}, + "perMonth": "/నెల", + "@perMonth": {}, + "returnToTheMainScreenButton": "ముఖ్య తెరకు తిరిగి వెళ్లండి", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "సేవా నిబంధనలు", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "గోప్యతా విధానం", + "@privacyPolicyLabel": {}, + "donateButton": "దానం చేయండి", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "సక్రియ", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "రద్దైంది", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "ఆపివేయబడింది", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "పెండింగ్", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "సృష్టించబడింది", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "సమయం ముగిసింది", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "తెలియదు", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "డాక్టరినా కాంట్రిబ్యూటర్", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "నవీకరిస్తుంది", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "సబ్‌స్క్రిప్షన్ రద్దు", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "మీరు ఖచ్చితంగా ఉన్నారా?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "మీ నెలవారీ సహాయం, చెల్లించడానికి వీలు లేని, దాని మీద ఆధారపడే వారికి డాక్టరినా ని ఉచితంగా ఉంచుతుంది. మీ సభ్యత్వం ప్రతి నెల కనీసం 10 ఉచిత సలహాలను ఫాండ్ చేస్తుంది. మీరు వెళ్లిపోతే, తక్కువ రోగులకు అవసరమైన సహాయం అందదు", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "సబ్‌స్క్రిప్షన్ కొనసాగించు", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "ఏమైనా రद्दు చేయండి", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "మీ నెలవారీ మద్దతు విజయవంతంగా రద్దు చేయబడింది.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "చెల్లని సబ్‌స్క్రిప్షన్ డేటా", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "నెలసరి మద్దతు కోసం నమోదు అవ్వండి, తద్వారా ఇది ఇక్కడ కనిపిస్తుంది", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "ఇంకా ఎలాంటి సబ్‌స్క్రిప్షన్లు లేవు", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "సబ్‌స్క్రిప్షన్ తేదీ", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "ముగుస్తుంది", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "సబ్‌స్క్రిప్షన్ ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "ఉత్పత్తి గుర్తింపు", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "సరే", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "మేము మీ చెల్లింపును కొనసాగించలేము", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "చెల్లింపు సమయంలో ఏదో తప్పు జరిగింది. దయచేసి మళ్లీ ప్రయత్నించండి.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "మళ్లీ ప్రయత్నించండి", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "చెల్లింపు ప్రాసెస్ అవుతోంది", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "మీరు Stripe యొక్క సురక్షిత చెల్లింపు పేజీలో మీ కొనుగోలును పూర్తిచేస్తారు.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ వారానికి", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ సంవత్సరం", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "అత్యంత ప్రజాదరణ", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "మూసివేయి", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "డాక్టర్ ప్రీమియం", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "ప్రీమియం తో మీరు పొందే విషయాలు:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "విజ్ఞాపనలేని సలహాలు", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "తక్షణ సమాధానాలు", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "కొత్త ఫీచర్లకు ముందస్తు ప్రాప్తి", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/సప్తాహం", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "ఎప్పుడైనా రద్దు చేయండి. ఎలాంటి బంధనాలు లేవు.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "సమయ పరిమితి", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "ప్రతి వారం ఆటో-రిన్యూ అవుతుంది. సెట్టింగ్స్‌లో ఎప్పుడైనా రద్దు చేయండి. కొనసాగితే, మా నిబంధనలు మరియు

గోప్యతా విధానం

ని మీరు అంగీకరిస్తున్నారు.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 ప్రీమియమ్‌తో కొనసాగండి", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 మీ మద్దతు ఆరోగ్య సంరక్షణను అందుబాటులో ఉంచడంలో సహాయపడుతుంది", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "దయచేసి కొనుగోళ్లు పూర్తి చేయడానికి సైన్ అప్ చేయండి లేదా లాగ్ ఇన్ అవ్వండి.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_th.arb b/example/lib/src/l10n/pay/app_th.arb new file mode 100644 index 0000000..4a2435d --- /dev/null +++ b/example/lib/src/l10n/pay/app_th.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "th", + "exampleButton": "ปุ่มตัวอย่าง", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "ใช่, ทุกอย่างเรียบร้อย!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "ทุกการมีส่วนร่วมเยียวยา!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "การสนับสนุนของคุณช่วยจัดสรรทุนสำหรับคำแนะนำฟรีแก่ผู้ที่ต้องการความช่วยเหลือ.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "จ่ายตามที่คุณรู้สึกว่าเหมาะสม,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "หรือใช้ Doctorina ได้ฟรีต่อไป, ขอบคุณคนอื่นที่เลือกที่จะให้.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "ครั้งเดียว", + "@oneTimeLabel": {}, + "monthlyLabel": "รายเดือน", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "เลือกจำนวนเงินบริจาครายเดือน", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "คุณกำลังจะสมัครแผนรายเดือน.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "คุณกำลังสมัครแผนรายเดือนในราคา {amount}/เดือน", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "การชำระเงินจะถูกเรียกเก็บจากบัญชีของคุณเมื่อยืนยันการซื้อ การสมัครสมาชิกจะต่ออายุอัตโนมัติทุกเดือน เว้นแต่จะปิดการต่ออายุอัตโนมัติอย่างน้อย 24 ชั่วโมงก่อนสิ้นสุดรอบปัจจุบัน คุณสามารถจัดการหรือยกเลิกการสมัครสมาชิกของคุณได้ทุกเมื่อในตั้งค่าบัญชีของคุณ โดยการดำเนินการต่อ คุณยอมรับ {termsOfService} และ {privacyPolicy} ของเรา.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "เลือกจำนวนเงินบริจาคครั้งเดียว", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "คนส่วนใหญ่ให้ $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "เลือกสกุลเงิน", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "กำลังดำเนินการชำระเงิน", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "กำลังดำเนินการชำระเงินเพียงครั้งเดียว {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "กำลังดำเนินการชำระเงินรายเดือน {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "ขอบคุณ!", + "@thankYouTitle": {}, + "thankYouSubtitle": "ตอนนี้ผู้คนมากขึ้นจะได้รับคำแนะนำฟรี — การสนับสนุนของคุณมีค่ามหาศาล.", + "@thankYouSubtitle": {}, + "youContributedLabel": "คุณมีส่วนร่วม:", + "@youContributedLabel": {}, + "perMonth": "ต่อเดือน", + "@perMonth": {}, + "returnToTheMainScreenButton": "กลับไปยังหน้าหลัก", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "ข้อกำหนดการให้บริการ", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "นโยบายความเป็นส่วนตัว", + "@privacyPolicyLabel": {}, + "donateButton": "บริจาค", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "ใช้งานอยู่", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "ถูกยกเลิก", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "หยุดชั่วคราว", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "รอดำเนินการ", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "สร้างแล้ว", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "หมดเวลา", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "ไม่ทราบ", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "ผู้มีส่วนร่วม Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "ต่ออายุ", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "ยกเลิกการสมัคร", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "คุณแน่ใจหรือ?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "การสนับสนุนรายเดือนของคุณทำให้ Doctorina เป็นบริการฟรีสำหรับผู้ที่พึ่งพาแต่ไม่สามารถจ่ายได้. การสมัครสมาชิกของคุณสนับสนุนอย่างน้อย 10 ครั้งปรึกษาฟรีในแต่ละเดือน. หากคุณออกไป ผู้ป่วยจะได้รับความช่วยเหลือน้อยลง.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "คงการสมัครสมาชิก", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "ยกเลิกอยู่ดี", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "การสนับสนุนรายเดือนของคุณถูกยกเลิกเรียบร้อยแล้ว.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "ข้อมูลการสมัครไม่ถูกต้อง", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "ลงทะเบียนรับการสนับสนุนรายเดือนเพื่อให้ปรากฏที่นี่", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "ยังไม่มีการสมัครสมาชิก", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "วันที่สมัครสมาชิก", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "หมดอายุ", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "รหัสการสมัคร", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "รหัสผลิตภัณฑ์", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "ตกลง", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "ไม่สามารถดำเนินการชำระเงินของคุณ", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "มีบางอย่างผิดพลาดกับการชำระเงิน. กรุณาลองใหม่อีกครั้ง.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "ลองใหม่", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "กำลังดำเนินการชำระเงิน", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "คุณจะทำการซื้อของคุณให้เสร็จสิ้นบนหน้าชำระเงินที่ปลอดภัยของ Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ สัปดาห์", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ ปี", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "ยอดนิยมที่สุด", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "ปิด", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "สิ่งที่คุณจะได้รับจากพรีเมียม:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "การปรึกษาที่ไม่มีโฆษณา", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "การตอบกลับที่รวดเร็วขึ้น", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "การเข้าถึงฟีเจอร์ใหม่ก่อนใคร", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/สัปดาห์", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "ยกเลิกได้ตลอดเวลา ไม่มีข้อผูกพัน", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "ข้อเสนอจำกัดเวลา", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "ต่ออายุอัตโนมัติทุกสัปดาห์ ยกเลิกได้ทุกเมื่อในการตั้งค่า โดยการดำเนินการต่อ คุณยอมรับ ข้อกำหนด และ

นโยบายความเป็นส่วนตัว

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 ดำเนินการต่อด้วยพรีเมียม", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 การสนับสนุนของคุณช่วยให้การดูแลเข้าถึงได้", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "กรุณาลงทะเบียนหรือเข้าสู่ระบบเพื่อทำการซื้อให้เสร็จสิ้น", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_tl.arb b/example/lib/src/l10n/pay/app_tl.arb new file mode 100644 index 0000000..208a894 --- /dev/null +++ b/example/lib/src/l10n/pay/app_tl.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "tl", + "exampleButton": "Halimbawa ng pindutan", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Oo, ayos lang!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Bawat kontribusyon ay nagpapagaling!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Ang iyong kontribusyon ay tumutulong sa pagpondo ng libreng payo para sa iba na nangangailangan.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Magbayad ng nararamdaman mong tama", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "o patuloy na gamitin ang Doctorina nang libre, salamat sa iba na pumili na magbigay.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Isang Beses", + "@oneTimeLabel": {}, + "monthlyLabel": "Buwanang", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Pumili ng halaga ng buwanang donasyon", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Ikaw ay malapit nang mag-subscribe sa isang buwanang plano.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Nag-subscribe ka sa isang buwanang plano para sa {amount}/buwan.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Ang bayad ay sisingilin sa iyong account sa pagkumpirma ng pagbili. Ang subscription ay awtomatikong magre-renew bawat buwan maliban kung ang auto-renew ay pinatigil nang hindi bababa sa 24 na oras bago ang katapusan ng kasalukuyang panahon. Maaari mong pamahalaan o kanselahin ang iyong subscription anumang oras sa iyong mga setting ng account. Sa pagpapatuloy, sumasang-ayon ka sa aming {termsOfService} at {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Pumili ng halaga ng isang beses na donasyon", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Karamihan sa mga tao ay nagbibigay ng $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Pumili ng pera", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Nagpoproseso ng bayad", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Pinoproseso ang isang beses na pagbabayad ng {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Pinoproseso ang buwanang bayad na {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Salamat!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Ngayon, mas maraming tao ang makakatanggap ng libreng payo — ang iyong suporta ay talagang mahalaga.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Nag-ambag ka:", + "@youContributedLabel": {}, + "perMonth": "/ buwan", + "@perMonth": {}, + "returnToTheMainScreenButton": "Bumalik sa pangunahing screen", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Mga Tuntunin ng Serbisyo", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Patakaran sa Privacy", + "@privacyPolicyLabel": {}, + "donateButton": "Mag-donate", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktibo", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Nakansela", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Nakatigil", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Naka-pending", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Nalikha", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Timeout", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Hindi pa alam", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Katuwang ni Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Nag-renew", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Kanselahin ang subscription", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Sigurado ka ba?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Ang iyong buwanang suporta ay nagpapanatili sa Doctorina na libre para sa mga tao na umaasa dito ngunit hindi kayang magbayad. Ang iyong subscription ay nagpopondo ng hindi bababa sa 10 libreng konsultasyon bawat buwan. Kung aalis ka, mas kaunting pasyente ang makakatanggap ng tulong na kailangan nila.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Panatilihin ang subscription", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Kanselahin pa rin", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Ang iyong buwanang suporta ay matagumpay na nakansela", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Maling datos ng subscription", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Mag-sign up para sa buwanang suporta upang lumitaw ito dito.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Wala pang mga subscription", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Petsa ng subscription", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Mag-e-expire", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Subscription ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Product ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Ok", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Hindi namin maipagpatuloy ang iyong bayad", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "May nangyaring mali sa pagbabayad. Pakisubukan muli.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Subukan muli", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Pinoproseso ang bayad", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Kakailanganin mong tapusin ang iyong pagbili sa secure na pahina ng checkout ng Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ linggo", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ taon", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Pinaka Sikat", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Isara", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Ano ang makukuha mo sa Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Walang patalastas na konsultasyon", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Mas mabilis na mga sagot", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Maagang pag-access sa mga bagong tampok", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/linggo", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Kanselahin anumang oras. Walang obligasyon.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "LIMITED TIME", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Awtomatikong nag-renew tuwing linggo. Kanselahin anumang oras sa mga setting. Sa pagpapatuloy, sumasang-ayon ka sa aming Mga Tuntunin at

Patakaran sa Privacy

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Magpatuloy sa Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Ang iyong suporta ay tumutulong upang mapanatiling accessible ang pangangalaga", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Mangyaring mag-sign up o mag-log in upang makumpleto ang pagbili.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_tr.arb b/example/lib/src/l10n/pay/app_tr.arb new file mode 100644 index 0000000..609e3c1 --- /dev/null +++ b/example/lib/src/l10n/pay/app_tr.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "tr", + "exampleButton": "Buton örneği", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Evet, her şey yolunda!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Her katkı şifa verir!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Katkınız, ihtiyacı olanlara ücretsiz tavsiye sağlanmasına yardımcı olur.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Doğru hissettiğiniz tutarı ödeyin,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "veya Doctorina'yı ücretsiz kullanmaya devam edin, bağış yapmayı seçen diğerleri sayesinde", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Tek seferlik", + "@oneTimeLabel": {}, + "monthlyLabel": "Aylık", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Aylık bağış miktarını seç", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Aylık plana abone olmaya üzeresiniz.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Aylık plan için {amount}/ay ile abone oluyorsunuz.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Ödeme, satın alma onayında hesabınızdan tahsil edilecektir. Abonelik, otomatik yenileme en az 24 saat önce kapatılmadıkça her ay otomatik olarak yenilenir. Aboneliğinizi hesap ayarlarınızdan istediğiniz zaman yönetebilir veya iptal edebilirsiniz. Devam ederek, {termsOfService} ve {privacyPolicy} kabul etmiş olursunuz", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Tek seferlik bağış tutarını seçin", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Çoğu insan $7–$15 veriyor", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Para birimi seç", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Ödeme işleniyor", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Tek seferlik {currency} {amount} ödemesi işleniyor", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Aylık {amount} ödemesi işleniyor", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Teşekkürler!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Artık daha fazla insan ücretsiz danışmanlık alacak — desteğiniz gerçekten paha biçilmez.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Katkıda bulundunuz:", + "@youContributedLabel": {}, + "perMonth": "/ay", + "@perMonth": {}, + "returnToTheMainScreenButton": "Ana ekrana dön", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Hizmet Şartları", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Gizlilik Politikası", + "@privacyPolicyLabel": {}, + "donateButton": "Bağış Yap", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Aktif", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "İptal Edildi", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Askıya alındı", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Beklemede", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Oluşturuldu", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Zaman Aşımı", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Bilinmiyor", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina katkıcısı", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Yenilenir", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Aboneli iptal et", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Emin misin?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Aylık desteğiniz, ödemeye gücü olmayan ancak ona ihtiyaç duyan kişiler için Doctorina’nın ücretsiz kalmasını sağlar. Aboneliğiniz her ay en az 10 ücretsiz danışmanlık sağlar. Eğer ayrılırsanız, daha az hasta ihtiyaç duydukları yardımı alır", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Aboneliği sürdür", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Yine de iptal et", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Aylık desteğiniz başarıyla iptal edildi.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Yanlış abonelik verisi", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Aylık destek için kaydolun, böylece burada görünecek", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Henüz abonelik yok", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Abonelik tarihi", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Sona erer", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Abonelik Kimliği", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Ürün Kimliği", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Tamam", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Ödemenizi işleme koyamadık", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Ödemede bir sorun oldu. Lütfen tekrar deneyin.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Tekrar Dene", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Ödeme işleniyor", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Satın alımınızı Stripe'ın güvenli ödeme sayfasında tamamlayacaksınız.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ hafta", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ yıl", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "En Popüler", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Kapat", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Premium ile neler elde edersiniz:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Reklamsız danışmanlık", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Daha hızlı yanıtlar", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Yeni özelliklere erken erişim", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/hafta", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "İstediğiniz zaman iptal edin. Taahhüt yok.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "SINIRLI SÜRE", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Her hafta otomatik yenilenir. İstediğiniz zaman ayarlardan iptal edin. Devam ederek, Şartlarımızı ve

Gizlilik Politikasını

kabul etmiş olursunuz.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Premium ile Devam Et", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Desteğiniz, sağlık hizmetlerinin erişilebilir kalmasına yardımcı oluyor", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Satın alımı tamamlamak için lütfen kaydolun veya giriş yapın.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_uk.arb b/example/lib/src/l10n/pay/app_uk.arb new file mode 100644 index 0000000..3e08e20 --- /dev/null +++ b/example/lib/src/l10n/pay/app_uk.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "uk", + "exampleButton": "Приклад кнопки", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Так, все добре!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Кожен внесок лікує!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Ваш внесок допомагає фінансувати безкоштовні поради для інших, хто цього потребує.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Заплатіть, як вважаєте за потрібне,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "або продовжуйте користуватися Doctorina безкоштовно, завдяки іншим, хто вирішив пожертвувати", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Одноразовий", + "@oneTimeLabel": {}, + "monthlyLabel": "Щомісяця", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Оберіть суму щомісячного внеску", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Ви збираєтеся підписатися на місячний план.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Ви підписуєтеся на місячний план за {amount}/місяць.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Платіж буде стягнуто з вашого рахунку під час підтвердження покупки. Підписка автоматично поновлюється щомісяця, якщо автоматичне поновлення не вимкнено принаймні за 24 години до закінчення поточного періоду. Ви можете керувати або скасувати свою підписку в будь-який час у налаштуваннях вашого облікового запису. Продовжуючи, ви погоджуєтеся з нашими {termsOfService} та {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Виберіть суму одноразового пожертвування", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Більшість людей дають $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Виберіть валюту", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Обробка платежу", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Обробка одноразового платежу на {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Обробка щомісячного платежу {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Дякуємо!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Тепер ще більше людей отримуватимуть безкоштовні поради — ваша підтримка справді безцінна.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Ви внесли:", + "@youContributedLabel": {}, + "perMonth": "/ місяць", + "@perMonth": {}, + "returnToTheMainScreenButton": "Повернутися на головний екран", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Умови надання послуг", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Політика конфіденційності", + "@privacyPolicyLabel": {}, + "donateButton": "Пожертвувати", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Активний", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Скасовано", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Призупинено", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Очікує", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Створено", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Тайм-аут", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Невідомо", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "учасник Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Оновлюється", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Скасувати підписку", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Ви впевнені?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Ваш щомісячний внесок підтримує Doctorina безкоштовно для людей, які покладаються на нього, але не можуть дозволити собі платити. Ваша підписка фінансує принаймні 10 безкоштовних консультацій щомісяця. Якщо ви підете, менше пацієнтів отримають допомогу, в якій вони потребують.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Зберегти підписку", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Все одно скасувати", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Ваш щомісячний внесок було успішно скасовано", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Неправильні дані підписки", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Підпишіться на щомісячну підтримку, щоб вона з’явилася тут.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Поки немає підписок", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Дата підписки", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Закінчується", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "ID підписки", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Ідентифікатор продукту", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Гаразд", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Ми не змогли обробити ваш платіж", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Щось пішло не так з оплатою. Будь ласка, спробуйте ще раз.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Спробувати знову", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Обробка платежу", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Ви завершите покупку на захищеній сторінці оплати Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ тиждень", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ рік", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Найпопулярніший", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Закрити", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Що ви отримуєте з Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Консультації без реклами", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Швидші відповіді", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Ранній доступ до нових функцій", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/тиждень", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Скасуйте в будь-який час. Без зобов'язань.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "ОБМЕЖЕНИЙ ЧАС", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Автоматично поновлюється щотижня. Скасуйте в будь-який час у налаштуваннях. Продовжуючи, ви погоджуєтеся з нашими Умовами та

Політикою конфіденційності

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Продовжити з Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Ваша підтримка допомагає зберегти доступність медичної допомоги", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Будь ласка, зареєструйтесь або увійдіть, щоб завершити покупку.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_ur.arb b/example/lib/src/l10n/pay/app_ur.arb new file mode 100644 index 0000000..147b7c9 --- /dev/null +++ b/example/lib/src/l10n/pay/app_ur.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "ur", + "exampleButton": "بٹن کی مثال", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "ہاں، سب ٹھیک ہے!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "ہر شراکت شفا بخش ہے!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "آپ کی شراکت ضرورت مندوں کو مفت مشورہ فراہم کرنے میں مالی امداد کرتی ہے.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "جو صحیح محسوس ہو وہ ادا کریں,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "یا مفت میں Doctorina استعمال کرتے رہیں، ان لوگوں کا شکریہ جنہوں نے دینے کا انتخاب کیا", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "ایک بار", + "@oneTimeLabel": {}, + "monthlyLabel": "ماہانہ", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "ماہانہ عطیہ کی رقم منتخب کریں", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "آپ ایک ماہانہ منصوبے کی رکنیت لینے والے ہیں.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "آپ {amount}/مہینے کے لیے ماہانہ پلان کی رکنیت لے رہے ہیں", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "ادائیگی آپ کے اکاؤنٹ سے خریداری کی توثیق پر وصول کی جائے گی۔ سبسکرپشن ہر ماہ خود بخود تجدید ہو جاتی ہے جب تک کہ موجودہ مدت کے اختتام سے کم از کم 24 گھنٹے قبل خود کار تجدید بند نہ کر دی جائے۔ آپ کسی بھی وقت اپنے اکاؤنٹ کی ترتیبات میں اپنی سبسکرپشن کو منظم یا منسوخ کر سکتے ہیں۔ جاری رکھتے ہوئے، آپ ہماری {termsOfService} اور {privacyPolicy} سے متفق ہیں۔", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "یک باری عطیے کی رقم کا انتخاب کریں", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "زیادہ تر لوگ $7–$15 دیتے ہیں", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "کرنسی منتخب کریں", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "ادائیگی جاری ہے", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "ایک وقتی ادائیگی {currency} {amount} کی پروسیسنگ", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "ماہانہ ادائیگی {amount} کی پراسیسنگ", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "شکریہ!", + "@thankYouTitle": {}, + "thankYouSubtitle": "اب مزید افراد مفت مشورہ حاصل کریں گے — آپ کی حمایت واقعی انمول ہے", + "@thankYouSubtitle": {}, + "youContributedLabel": "آپ نے حصہ ڈالا:", + "@youContributedLabel": {}, + "perMonth": "/ ماہ", + "@perMonth": {}, + "returnToTheMainScreenButton": "مین اسکرین پر واپس جائیں", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "خدمات کی شرائط", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "رازداری کی پالیسی", + "@privacyPolicyLabel": {}, + "donateButton": "عطیہ دیں", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "فعال", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "منسوخ", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "معطل", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "زیر التواء", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "تخلیق کیا گیا", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "وقت ختم", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "نامعلوم", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "ڈاکٹرینا تعاون کنندہ", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "تجدید", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "رکنیت منسوخ کریں", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "کیا آپ کو یقین ہے؟", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "آپ کی ماہانہ مدد ڈاکٹرائنا کو ان لوگوں کے لیے مفت رکھتی ہے جو اس پر انحصار کرتے ہیں لیکن ادائیگی کرنے کی استطاعت نہیں رکھتے۔ آپ کی سبسکرپشن ہر ماہ کم از کم 10 مفت مشاورت کی فنڈنگ کرتی ہے۔ اگر آپ چھوڑ دیتے ہیں تو کم مریض وہ مدد حاصل کر سکیں گے جس کی انہیں ضرورت ہے۔", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "رکنیت برقرار رکھیں", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "بہر حال منسوخ کریں", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "آپ کی ماہانہ معاونت\nکامیابی سے منسوخ کر دی گئی ہے.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "غلط سبسکرپشن ڈیٹا", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "ماہانہ مدد کے لیے سائن اپ کریں تاکہ یہ یہاں ظاہر ہو.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "ابھی کوئی سبسکرپشن نہیں", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "سبسکرپشن کی تاریخ", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "ختم", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "سبسکرپشن شناخت", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "پروڈکٹ آئی ڈی", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "اوکے", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "ہم آپ کی ادائیگی کو آگے نہیں بڑھا سکے", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "ادائیگی میں کچھ غلط ہو گئی۔ براہ کرم دوبارہ کوشش کریں۔", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "دوبارہ کوشش کریں", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "ادائیگی کی کارروائی جاری ہے", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "آپ اپنی خریداری Stripe کے محفوظ چیک آؤٹ صفحے پر مکمل کریں گے.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ ہفتہ", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ سال", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "سب سے مقبول", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "بند کریں", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "آپ کو پریمیم کے ساتھ کیا ملتا ہے:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "اشتہارات سے پاک مشاورت", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "تیز جواب", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "نئی خصوصیات تک جلد رسائی", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/ہفتہ", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "کسی بھی وقت منسوخ کریں۔ کوئی پابندی نہیں۔", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "محدود وقت", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "ہر ہفتے خود بخود تجدید ہوتا ہے۔ سیٹنگز میں کبھی بھی منسوخ کریں۔ جاری رکھنے پر، آپ ہماری شرائط اور

رازداری کی پالیسی

سے اتفاق کرتے ہیں۔", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 پریمیم کے ساتھ جاری رکھیں", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 آپ کی حمایت صحت کی دیکھ بھال کو قابل رسائی رکھنے میں مدد کرتی ہے", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "براہ کرم خریداری مکمل کرنے کے لیے سائن اپ کریں یا لاگ ان کریں۔", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_uz.arb b/example/lib/src/l10n/pay/app_uz.arb new file mode 100644 index 0000000..25ad999 --- /dev/null +++ b/example/lib/src/l10n/pay/app_uz.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "uz", + "exampleButton": "Tugma misoli", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Ha, hammasi yaxshi!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Har bir hissa shifo beradi!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Sizning hissangiz yordamga muhtojlar uchun bepul maslahatlar moliyalashtirishga yordam beradi.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Sizga to'g'ri kelgan miqdorni to'lang,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "yoki boshqalar sovg'a qilishni tanlaganlari tufayli Doctorina-dan bepul foydalanishda davom eting", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Bir martalik", + "@oneTimeLabel": {}, + "monthlyLabel": "Oylik", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Oylik xayriya miqdorini tanlang", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Siz oylik reja uchun obuna bo‘lish arafidasiz.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Siz {amount}/oy narxi bilan oylik reja uchun obuna bo'lyapsiz", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Xarid tasdiqlanganda hisobingizdan to'lov olinadi. Obuna avtomatik ravishda har oy yangilanadi, agar avtomatik yangilanish joriy davr tugashidan kamida 24 soat oldin o'chirilmagan bo'lsa. Hisob sozlamalarida obunangizni istalgan vaqtda boshqarishingiz yoki bekor qilishingiz mumkin. Davom etish orqali siz bizning {termsOfService} va {privacyPolicy} ga rozilik bildirasiz.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Bir martalik xayriya miqdorini tanlang", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Aksariyat odamlar $7–$15 beradi", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Valyutani tanlang", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "To'lov qayta ishlanmoqda", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Bir martalik to'lov {currency} {amount} qayta ishlanmoqda", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Har oy {amount} to'lovi qayta ishlanmoqda", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Rahmat!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Endi yanada ko‘proq odamlar bepul maslahat oladi — qo‘llab-quvvatlashingiz haqiqatan ham bebaho.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Siz hissa qo‘shdingiz:", + "@youContributedLabel": {}, + "perMonth": "/ oy", + "@perMonth": {}, + "returnToTheMainScreenButton": "Asosiy ekranga qaytish", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Xizmat ko'rsatish shartlari", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Maxfiylik siyosati", + "@privacyPolicyLabel": {}, + "donateButton": "Xayriya qiling", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Faol", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Bekor qilindi", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "To‘xtatilgan", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Kutilmoqda", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Yaratildi", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Vaqt tugadi", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Noma'lum", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina hissa qo'shuvchisi", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Yangilanadi", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Obunani bekor qilish", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Ishonchingiz komilmi?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Har oy bergan yordamlaringiz, Doctorina xizmatidan to'lovga qodir bo'lmagan, unga tayanadigan odamlarga bepul bo‘lib qolishiga imkon beradi.\n\nA'zolik to'lovingiz har oy kamida 10 ta bepul konsultatsiyani moliyalashtiradi.\nAgar chiqib ketsangiz, kamroq bemor zarur yordam oladi", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Obunani saqlang", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Shunday bo‘lsa ham bekor qil", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Sizning oylik qo‘llab-quvvatlashingiz muvaffaqiyatli bekor qilindi.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Noto'g'ri obuna ma'lumotlari", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Oylik qo'llab-quvvatlashga obuna bo'ling, shunda u bu yerda paydo bo'ladi", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Hozircha obuna yo'q", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Obuna sanasi", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Muddati tugaydi", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Obuna ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Mahsulot ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Tasdiqlash", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "To'lovingizni amalga oshira olmadik", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Toʻlovda xatolik yuz berdi.\nIltimos, qayta urinib koʻring.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Qayta urinib ko'ring", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Toʻlov qayta ishlanmoqda", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Siz Stripe'ning xavfsiz to'lov sahifasida xaridingizni yakunlaysiz.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ hafta", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ yil", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Eng mashhur", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Yopish", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Premium bilan oladigan narsalaringiz:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Reklamasiz maslahatlar", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Tezroq javoblar", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Yangi funksiyalarga erta kirish", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/hafta", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Istalgan vaqtda bekor qiling. Hech qanday majburiyat yo'q.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "Maqsadli vaqt", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Har hafta avtomatik yangilanadi. Har qanday vaqtda sozlamalarda bekor qilishingiz mumkin. Davom etish orqali siz Shartlar va

Maxfiylik siyosati

bilan rozi bo'lasiz.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Premium bilan davom etish", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Sizning qo'llab-quvvatlashingiz tibbiy xizmatlarni mavjud qiladi", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Iltimos, xaridni yakunlash uchun ro'yxatdan o'ting yoki tizimga kiring.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_vi.arb b/example/lib/src/l10n/pay/app_vi.arb new file mode 100644 index 0000000..95200fc --- /dev/null +++ b/example/lib/src/l10n/pay/app_vi.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "vi", + "exampleButton": "Nút ví dụ", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Vâng, mọi thứ đều ổn!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Mỗi đóng góp đều chữa lành!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Sự đóng góp của bạn giúp tài trợ cho lời khuyên miễn phí cho những người cần giúp đỡ.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Trả số tiền mà bạn cảm thấy hợp lý,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "hoặc tiếp tục sử dụng Doctorina miễn phí, nhờ những người khác đã chọn đóng góp", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Một lần", + "@oneTimeLabel": {}, + "monthlyLabel": "Hàng tháng", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Chọn số tiền quyên góp hàng tháng", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Bạn sắp đăng ký gói hàng tháng.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Bạn đang đăng ký gói hàng tháng với {amount}/tháng.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Khi xác nhận mua hàng, khoản thanh toán sẽ được tính vào tài khoản của bạn. Đăng ký tự động gia hạn mỗi tháng trừ khi tính năng tự động gia hạn bị tắt ít nhất 24 giờ trước khi kết thúc kỳ hiện tại. Bạn có thể quản lý hoặc hủy đăng ký bất cứ lúc nào trong cài đặt tài khoản. Bằng cách tiếp tục, bạn đồng ý với {termsOfService} và {privacyPolicy}", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Chọn số tiền quyên góp một lần", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Hầu hết mọi người cho $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Chọn loại tiền tệ", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Đang xử lý thanh toán", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Đang xử lý thanh toán một lần {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Đang xử lý thanh toán hàng tháng với {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Cảm ơn bạn!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Bây giờ, càng nhiều người sẽ nhận được tư vấn miễn phí — sự hỗ trợ của bạn thật vô giá.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Bạn đã đóng góp:", + "@youContributedLabel": {}, + "perMonth": "/tháng", + "@perMonth": {}, + "returnToTheMainScreenButton": "Trở về màn hình chính", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Điều khoản dịch vụ", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Chính sách bảo mật", + "@privacyPolicyLabel": {}, + "donateButton": "Quyên góp", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Hoạt động", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Đã hủy", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Tạm dừng", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Chờ xử lý", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Đã tạo", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Hết thời gian", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Không xác định", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Người đóng góp Doctorina", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Gia hạn", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Hủy đăng ký", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Bạn có chắc không?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Hỗ trợ hàng tháng của bạn giúp Doctorina miễn phí cho những người dựa vào nó nhưng không đủ khả năng chi trả. Đăng ký của bạn tài trợ ít nhất 10 buổi tư vấn miễn phí mỗi tháng. Nếu bạn rời đi, sẽ có ít bệnh nhân nhận được sự giúp đỡ cần thiết", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Giữ đăng ký", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Dù sao cũng hủy", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Hỗ trợ hàng tháng của bạn đã được hủy thành công.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Dữ liệu đăng ký không chính xác", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Đăng ký nhận hỗ trợ hàng tháng để nó xuất hiện ở đây", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Chưa có đăng ký nào", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Ngày đăng ký", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Hết hạn", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "Mã đăng ký", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Mã sản phẩm", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Đồng ý", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Chúng tôi không thể xử lý thanh toán của bạn", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Đã xảy ra sự cố với thanh toán. Vui lòng thử lại.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Thử lại", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Đang xử lý thanh toán", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Bạn sẽ hoàn tất giao dịch mua hàng trên trang thanh toán bảo mật của Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ tuần", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ năm", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Phổ biến nhất", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Đóng", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Những gì bạn nhận được với Premium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Tư vấn không có quảng cáo", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Phản hồi nhanh hơn", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Truy cập sớm vào các tính năng mới", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/tuần", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Hủy bất cứ lúc nào. Không cam kết.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "THỜI GIAN CÓ HẠN", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Tự động gia hạn hàng tuần. Hủy bất cứ lúc nào trong cài đặt. Bằng cách tiếp tục, bạn đồng ý với Điều khoản

Chính sách Bảo mật

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Tiếp tục với Premium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Sự hỗ trợ của bạn giúp giữ cho dịch vụ chăm sóc dễ tiếp cận", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Vui lòng đăng ký hoặc đăng nhập để hoàn tất việc mua hàng", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_zh.arb b/example/lib/src/l10n/pay/app_zh.arb new file mode 100644 index 0000000..ff400c2 --- /dev/null +++ b/example/lib/src/l10n/pay/app_zh.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "zh", + "exampleButton": "按钮示例", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "是的,一切都好!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "每一份贡献都能治愈!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "您的捐助有助于资助为有需要的人提供的免费建议.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "支付你觉得合适的金额,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "或继续免费使用Doctorina,感谢选择捐赠的他人", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "一次性", + "@oneTimeLabel": {}, + "monthlyLabel": "每月", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "选择每月捐赠金额", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "您即将订阅月度计划.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "您正在订阅月计划,费用为 {amount}/月", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "购买确认后,费用将从您的账户中扣除。订阅会每月自动续订,除非在当前周期结束前至少24小时关闭自动续订。您可以随时在账户设置中管理或取消订阅。继续操作即表示您同意我们的 {termsOfService} 和 {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "选择一次性捐赠金额", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "大多数人给$7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "选择货币", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "正在处理付款", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "正在处理一次性支付 {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "正在处理{amount}的月付款", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "谢谢!", + "@thankYouTitle": {}, + "thankYouSubtitle": "现在会有更多人获得免费的建议——您的支持真是无价的.", + "@thankYouSubtitle": {}, + "youContributedLabel": "您贡献:", + "@youContributedLabel": {}, + "perMonth": "/ 月", + "@perMonth": {}, + "returnToTheMainScreenButton": "返回主屏幕", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "服务条款", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "隐私政策", + "@privacyPolicyLabel": {}, + "donateButton": "捐赠", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "激活", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "已取消", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "已暂停", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "待处理", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "已创建", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "超时", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "未知", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina贡献者", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "续订", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "取消订阅", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "你确定吗?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "您的每月支持使Doctorina对那些依赖它却负担不起费用的人保持免费。\n\n您的订阅每月至少资助10次免费咨询。\n如果您离开,获得所需帮助的患者会减少", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "保留订阅", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "仍然取消", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "您的每月支持已成功取消.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "错误的订阅数据", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "注册月度支持,让它显示在这里", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "还没有订阅", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "订阅日期", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "到期", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "订阅ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "产品ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "确定", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "我们无法处理您的付款", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "支付时出错。\n请再试一次.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "重试", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "正在处理付款", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "您将在Stripe的安全结账页面完成购买。", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ 周", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ 年", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "最受欢迎", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "关闭", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "您获得的高级版内容:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "无广告咨询", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "更快的回复", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "提前访问新功能", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/周", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "随时取消。没有承诺。", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "限时", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "每周自动续订。随时在设置中取消。继续即表示您同意我们的条款

隐私政策

。", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 继续使用高级版", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 你的支持帮助保持医疗服务的可及性", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "请注册或登录以完成购买。", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_zh_CN.arb b/example/lib/src/l10n/pay/app_zh_CN.arb new file mode 100644 index 0000000..b37e300 --- /dev/null +++ b/example/lib/src/l10n/pay/app_zh_CN.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "zh_CN", + "exampleButton": "按钮示例", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "是的,一切都好!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "每一份贡献都能治愈!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "您的捐助有助于资助为有需要的人提供的免费建议.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "支付你觉得合适的金额,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "或继续免费使用Doctorina,感谢选择捐赠的他人", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "一次性", + "@oneTimeLabel": {}, + "monthlyLabel": "每月", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "选择每月捐赠金额", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "您即将订阅月度计划.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "您正在订阅月计划,费用为 {amount}/月", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "购买确认后,费用将从您的账户中扣除。订阅会每月自动续订,除非在当前周期结束前至少24小时关闭自动续订。您可以随时在账户设置中管理或取消订阅。继续操作即表示您同意我们的 {termsOfService} 和 {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "选择一次性捐赠金额", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "大多数人给$7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "选择货币", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "正在处理付款", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "正在处理一次性支付 {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "正在处理{amount}的月付款", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "谢谢!", + "@thankYouTitle": {}, + "thankYouSubtitle": "现在会有更多人获得免费的建议——您的支持真是无价的.", + "@thankYouSubtitle": {}, + "youContributedLabel": "您贡献:", + "@youContributedLabel": {}, + "perMonth": "/ 月", + "@perMonth": {}, + "returnToTheMainScreenButton": "返回主屏幕", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "服务条款", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "隐私政策", + "@privacyPolicyLabel": {}, + "donateButton": "捐赠", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "激活", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "已取消", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "已暂停", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "待处理", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "已创建", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "超时", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "未知", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina贡献者", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "续订", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "取消订阅", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "你确定吗?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "您的每月支持使Doctorina对那些依赖它却负担不起费用的人保持免费。\n\n您的订阅每月至少资助10次免费咨询。\n如果您离开,获得所需帮助的患者会减少", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "保留订阅", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "仍然取消", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "您的每月支持已成功取消.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "错误的订阅数据", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "注册月度支持,让它显示在这里", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "还没有订阅", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "订阅日期", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "到期", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "订阅ID", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "产品ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "确定", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "我们无法处理您的付款", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "支付时出错。\n请再试一次.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "重试", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "正在处理付款", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "您将在Stripe的安全结账页面完成购买。", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ 周", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ 年", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "最受欢迎", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "关闭", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "您获得的高级版内容:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "无广告咨询", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "更快的回复", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "提前访问新功能", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/周", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "随时取消。没有承诺。", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "限时", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "每周自动续订。随时在设置中取消。继续即表示您同意我们的条款

隐私政策

。", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 继续使用高级版", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 你的支持帮助保持医疗服务的可及性", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "请注册或登录以完成购买。", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_zh_HK.arb b/example/lib/src/l10n/pay/app_zh_HK.arb new file mode 100644 index 0000000..b7f6ef0 --- /dev/null +++ b/example/lib/src/l10n/pay/app_zh_HK.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "zh_HK", + "exampleButton": "按鈕示例", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "係,一切都好!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "每一份貢獻都能治癒!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "你嘅捐助有助籌款提供免費建議畀有需要嘅人.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "隨心付費,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "或者繼續免費使用Doctorina,多虧其他人選擇捐助.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "一次性", + "@oneTimeLabel": {}, + "monthlyLabel": "每月", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "揀選每月捐款金額", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "你即將訂閱每月計劃.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "你而家訂閱每月計劃,費用 {amount}/月.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "確認購買時,付款將會從你嘅帳戶扣款。除非喺本期結束前至少24小時關閉自動續訂,否則訂閱會每個月自動續訂。你可隨時喺你嘅帳戶設定入面管理或取消訂閱。繼續操作即表示你同意我哋嘅 {termsOfService} 同 {privacyPolicy}", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "揀一次性捐款金額", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "大部分人俾 $7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "選擇貨幣", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "處理付款", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "處理一次性付款 {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "緊處理每月 {amount} 嘅付款", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "多謝!", + "@thankYouTitle": {}, + "thankYouSubtitle": "而家有更多人會獲得免費建議 — 你嘅支持真係無價", + "@thankYouSubtitle": {}, + "youContributedLabel": "你嘅貢獻:", + "@youContributedLabel": {}, + "perMonth": "/月", + "@perMonth": {}, + "returnToTheMainScreenButton": "返回主畫面", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "服務條款", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "私隱政策", + "@privacyPolicyLabel": {}, + "donateButton": "捐款", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "使用中", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "已取消", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "暫停", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "待處理", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "已創建", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "逾時", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "未知", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina 貢獻者", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "續訂", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "取消訂閱", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "你確定?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "你每月嘅支持令Doctorina可以免費俾有需要但負擔唔起費用嘅人用。你嘅訂閱每個月至少資助10次免費諮詢。如果你停止訂閱,會有較少病人可以得到佢哋所需嘅幫助", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "保留訂閱", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "仍然取消", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "你嘅每月支援已成功取消.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "訂閱資料錯誤", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "登記每月支援,即可喺呢度出現", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "未有訂閱", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "訂閱日期", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "到期", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "訂閱編號", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "產品編號", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "好", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "我哋未能處理你嘅付款", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "付款出咗問題。請再試一次。", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "重試", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "處理付款", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "你會喺Stripe嘅安全結賬頁完成購買.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ 星期", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ 年", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "最受歡迎", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "關閉", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "您在Premium中獲得的內容:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "無廣告諮詢", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "更快的回覆", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "提前獲得新功能", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/週", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "隨時取消。無需承諾。", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "限時", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "每週自動續訂。隨時在設置中取消。繼續即表示您同意我們的條款

隱私政策

。", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 繼續使用高級版", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 你的支持有助於保持醫療服務的可及性", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "請註冊或登入以完成購買。", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/pay/app_zu.arb b/example/lib/src/l10n/pay/app_zu.arb new file mode 100644 index 0000000..ec3e329 --- /dev/null +++ b/example/lib/src/l10n/pay/app_zu.arb @@ -0,0 +1,227 @@ +{ + "@@locale": "zu", + "exampleButton": "Isibonelo sebhathini", + "@exampleButton": { + "description": "Пример кнопки" + }, + "donationYesItsAllGoodButton": "Yebo, konke kulungile!", + "@donationYesItsAllGoodButton": { + "description": "Кнопка доната после рекомендаций" + }, + "everyContributionHealsTitle": "Yonke iminikelo iyaphilisa!", + "@everyContributionHealsTitle": {}, + "ifThisHelpedYouConsiderSupportingSubtitle": "Ukuphakela kwakho kusiza ukuxhasa izeluleko zamahhala kwabanye abadinga.", + "@ifThisHelpedYouConsiderSupportingSubtitle": {}, + "payWhatFeelsRightLabel": "Khuluma lokho okukhuluma,", + "@payWhatFeelsRightLabel": {}, + "orKeepUsingDoctorinaForFreeLabel": "noma uqhubeke usebenzisa uDoctorina mahhala, ngenxa kwabanye abakhethe ukuba banike.", + "@orKeepUsingDoctorinaForFreeLabel": {}, + "oneTimeLabel": "Okwesikhathi", + "@oneTimeLabel": {}, + "monthlyLabel": "Ngamaviki", + "@monthlyLabel": {}, + "chooseMonthlyDonationAmountLabel": "Khetha inani lesibonelelo sokuqala ngenyanga", + "@chooseMonthlyDonationAmountLabel": {}, + "subscriptionNoAmount": "Uzozokubhalisela kuhlelo lwamaviki.", + "@subscriptionNoAmount": { + "description": "Сумма подписки еще не выбрана" + }, + "subscriptionAmount": "Uthenga uhlelo lwamaviki oluhamba phambili lwe {amount}/inyanga.", + "@subscriptionAmount": { + "description": "Subscription info text with amount", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly subscription amount" + } + } + }, + "subscriptionInfo": "Imali izokwehliswa kwi-akhawunti yakho uma uqinisekiswa kokuthenga. Ukubhalisela ukuvuselelwa ngokuzenzakalelayo njalo ngenyanga ngaphandle kokuthi ukuvuselelwa okuzenzakalelayo kukhanseliwe okungenani amahora angama-24 ngaphambi kokuphela kwesikhathi samanje. Ungaphatha noma ukhansele ukubhalisela kwakho nganoma yisiphi isikhathi kuzilungiselelo ze-akhawunti yakho. Ngokuhamba phambili, uvuma {termsOfService} kanye {privacyPolicy}.", + "@subscriptionInfo": { + "description": "Subscription info text with amount, Terms of Service and Privacy Policy placeholders as tappable spans.", + "placeholders": { + "termsOfService": { + "type": "String", + "example": "", + "description": "Clickable span for Terms of Service" + }, + "privacyPolicy": { + "type": "String", + "example": "", + "description": "Clickable span for Privacy Policy" + } + } + }, + "chooseOneTimeDonationAmountLabel": "Khetha inani lesipho esisodwa", + "@chooseOneTimeDonationAmountLabel": {}, + "mostPeopleGiveHint": "Abantu abaningi banika u-$7–$15", + "@mostPeopleGiveHint": {}, + "selectCurrencyTooltip": "Khetha imali", + "@selectCurrencyTooltip": {}, + "processingPaymentSemantics": "Ukucubungula ukukhokha", + "@processingPaymentSemantics": {}, + "processingOneTimePaymentSemantics": "Processing one-time payment of {currency} {amount}", + "@processingOneTimePaymentSemantics": { + "description": "Shown when processing a one-time payment, with currency code and amount placeholders.", + "placeholders": { + "currency": { + "type": "String", + "example": "USD", + "description": "Currency code, e.g. USD, EUR, GBP" + }, + "amount": { + "type": "String", + "example": "49.99", + "description": "Payment amount formatted to two decimal places" + } + } + }, + "processingMonthlyPaymentSemantics": "Processing monthly payment of {amount}", + "@processingMonthlyPaymentSemantics": { + "description": "Shown when processing a monthly payment with amount placeholder.", + "placeholders": { + "amount": { + "type": "String", + "example": "9.99", + "description": "Monthly payment amount formatted to two decimal places" + } + } + }, + "thankYouTitle": "Ngiyabonga!", + "@thankYouTitle": {}, + "thankYouSubtitle": "Manje abantu bazothola izeluleko zamahhala — ukwesekwa kwakho kubalulekile.", + "@thankYouSubtitle": {}, + "youContributedLabel": "Uphumelele:", + "@youContributedLabel": {}, + "perMonth": "/ inyanga", + "@perMonth": {}, + "returnToTheMainScreenButton": "Buyela esikrinini esiyinhloko", + "@returnToTheMainScreenButton": {}, + "termsOfServiceLabel": "Imigomo Yesevisi", + "@termsOfServiceLabel": {}, + "privacyPolicyLabel": "Umthetho Wokuphepha Kwedatha", + "@privacyPolicyLabel": {}, + "donateButton": "Phakela", + "@donateButton": {}, + "subscriptionStatusActiveLabel": "Kusebenza", + "@subscriptionStatusActiveLabel": {}, + "subscriptionStatusCanceledLabel": "Khanjwa", + "@subscriptionStatusCanceledLabel": {}, + "subscriptionStatusPausedLabel": "Kumisiwe", + "@subscriptionStatusPausedLabel": {}, + "subscriptionStatusPendingLabel": "Kuphendulwa", + "@subscriptionStatusPendingLabel": {}, + "subscriptionStatusCreatedLabel": "Dale", + "@subscriptionStatusCreatedLabel": {}, + "subscriptionStatusTimeoutLabel": "Isikhathi sokuphelelwa", + "@subscriptionStatusTimeoutLabel": {}, + "subscriptionStatusUnknownLabel": "Ayazi", + "@subscriptionStatusUnknownLabel": {}, + "subscriptionDoctorinaContributor": "Doctorina umnikazi", + "@subscriptionDoctorinaContributor": {}, + "subscriptionRenews": "Iphinda", + "@subscriptionRenews": {}, + "subscriptionCancelButton": "Khansela ubhaliso", + "@subscriptionCancelButton": {}, + "subscriptionAreYouSureDialogTitle": "Uqinisekile?", + "@subscriptionAreYouSureDialogTitle": {}, + "subscriptionAreYouSureDialogText": "Ukuxhaswa kwakho kwenyanga kwenza uDoctorina atholakale mahhala kubantu abathembela kuwo kodwa abangakwazi ukukhokha.\n\nUhlelo lwakho luhlinzeka ngokuqinisekile ngama-consultation angama-10 mahhala nyangazonke.\nUma uhamba, abanye abaguli bazothola usizo oluncane.", + "@subscriptionAreYouSureDialogText": {}, + "subscriptionAreYouSureDialogKeepButton": "Gcina ubhaliso", + "@subscriptionAreYouSureDialogKeepButton": {}, + "subscriptionAreYouSureDialogCancelButton": "Khansela kanjalo", + "@subscriptionAreYouSureDialogCancelButton": {}, + "subscriptionYourMonthlySupportCanceledNotification": "Ukusekela kwenyanga yakho kuphumelele.", + "@subscriptionYourMonthlySupportCanceledNotification": {}, + "subscriptionMalformed": "Imininingwane yokubhalisela engalungile", + "@subscriptionMalformed": {}, + "subscriptionSignUpForMonthlySupportButton": "Bhalisela ukwesekwa kwenyanga ukuze kubonakale lapha.", + "@subscriptionSignUpForMonthlySupportButton": {}, + "subscriptionNoSubscriptionsYet": "Akukho okubhalisile okwamanje", + "@subscriptionNoSubscriptionsYet": {}, + "subscriptionCreatedAtDateLabel": "Usuku lokubhalisela", + "@subscriptionCreatedAtDateLabel": {}, + "subscriptionExpiresAtDateLabel": "Uphuma", + "@subscriptionExpiresAtDateLabel": {}, + "subscriptionSubscriptionIdLabel": "I-ID yokubhalisela", + "@subscriptionSubscriptionIdLabel": {}, + "subscriptionProductIdLabel": "Umkhiqizo ID", + "@subscriptionProductIdLabel": {}, + "subscriptionDialogOkButton": "Kulungile", + "@subscriptionDialogOkButton": {}, + "errorProcessDonationTitle": "Asikwazanga ukuqhubeka nekhokhelo lakho", + "@errorProcessDonationTitle": {}, + "errorProcessDonationSubtitle": "Kwenzi okuthile ngekhadi. Sicela uzame futhi.", + "@errorProcessDonationSubtitle": {}, + "errorProcessDonationRetryButton": "Phinda", + "@errorProcessDonationRetryButton": {}, + "processingDonationTitle": "Ukucubungula ukukhokha", + "@processingDonationTitle": {}, + "processingDonationStripeSubtitle": "Uzokhuluma ukuthenga kwakho ekhasini eliphephile le-Stripe.", + "@processingDonationStripeSubtitle": {}, + "perWeek": "/ isonto", + "@perWeek": { + "description": "Переодичность оплаты" + }, + "perYear": "/ unyaka", + "@perYear": { + "description": "Переодичность оплаты" + }, + "premiumMostPopularRibbon": "Okudumile kakhulu", + "@premiumMostPopularRibbon": { + "description": "Label for the most popular subscription option ribbon" + }, + "premiumCloseTooltip": "Vala", + "@premiumCloseTooltip": { + "description": "Tooltip text for close button on premium screen" + }, + "premiumTitle": "Doctorina Premium", + "@premiumTitle": { + "description": "Title of the premium subscription screen" + }, + "premiumWhatYouGetHeader": "Okuthola ngePremium:", + "@premiumWhatYouGetHeader": { + "description": "Section header describing premium features" + }, + "premiumFeatureAdFree": "Ukuxhumana ngaphandle kwezikhangiso", + "@premiumFeatureAdFree": { + "description": "Premium feature: ad-free consultations" + }, + "premiumFeatureFasterReplies": "Impendulo ezisheshayo", + "@premiumFeatureFasterReplies": { + "description": "Premium feature: faster response times" + }, + "premiumFeatureEarlyAccess": "Ukufinyelela kwangaphambili ezici ezintsha", + "@premiumFeatureEarlyAccess": { + "description": "Premium feature: early access to new features" + }, + "premiumPricePerWeek": "/iviki", + "@premiumPricePerWeek": { + "description": "Time period suffix for weekly subscription price. Shortcat for \"per week\"" + }, + "premiumCancelAnytime": "Ungakwazi ukuhoxisa nganoma yisiphi isikhathi. Akukho ukuzibophezela.", + "@premiumCancelAnytime": { + "description": "Text explaining cancellation policy" + }, + "premiumLimitedTimeBadge": "ISIKHATHI EHLANGANISEKILE", + "@premiumLimitedTimeBadge": { + "description": "Badge text for limited time offers" + }, + "premiumAutoRenewsConsent": "Iyaqhubeka njalo ngesonto. Ungayicisha nganoma yisiphi isikhathi kuzilungiselelo. Ngok继续, uyavuma Imigomo yethu kanye

Inqubomgomo Yezimfihlo

.", + "@premiumAutoRenewsConsent": { + "description": "Auto-renewal consent text with tagged links for Terms and Privacy Policy" + }, + "premiumContinueButton": "🎁 Qhubeka nePremium", + "@premiumContinueButton": { + "description": "Button text to continue with premium subscription" + }, + "premiumSupportMessage": "💚 Ukusekela kwakho kusiza ukugcina ukunakekelwa kutholakala", + "@premiumSupportMessage": { + "description": "Message about supporting accessible healthcare" + }, + "subscriptionLoginRequiredError": "Sicela ubhalise noma ungene ukuze uqedele ukuthenga.", + "@subscriptionLoginRequiredError": { + "description": "Сообщение об ошибке при попытке оформить подписку анонимным пользователем на вебе" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_af.arb b/example/lib/src/l10n/profiles/app_af.arb new file mode 100644 index 0000000..6b5534c --- /dev/null +++ b/example/lib/src/l10n/profiles/app_af.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "af", + "chatDrawerTitle": "Gesondheidsrekords", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NUWE", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Skep jou Gesondheidsrekord", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Aan die einde van jou konsultasie, voeg jou profiel by.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Voeg meer profiele by", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Begin 'n konsultasie vir iemand anders om hul profiel te skep", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Teken in om jou Gesondheidsrekord te skep", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Probeer weer", + "@errorRetryButton": {}, + "dashboardDeleteError": "Kon nie profiel verwyder nie", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Kon nie profielopsomming laai nie", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Blaai Volledige Rekord", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Deel", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Verwyder", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": " ouderdom", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} jaar} other{{value} jare}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Gewig", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Hoogte", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Allergieë", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Chronies", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Medikasie", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Toestelle", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Konsultasies", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Dokumente", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Verwyder Gesondheidsrekord?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Dit sal jou gesondheidsdata permanent verwyder en kan nie ongedaan gemaak word nie. Jy sal die konteks verloor wat ons gebruik om jou te lei.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Kanselleer", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Verwyder", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Verwydering van jou gesondheidsrekord...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Kon nie profiel verwyder nie", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Gesondheidsrekord verwyder", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Jy kan enige tyd 'n nuwe een skep deur met die assistent te gesels.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Terug na Klets", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Wysig", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Kon nie profieldata laai", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Veranderinge gestoor", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Jou inligting is suksesvol opgedateer.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Terug na profiel", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Kon nie profieldata opdateer nie", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Veranderings verwerp?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "U het 'n paar veranderinge aan u profiel gemaak. Stoor dit voordat u gaan, of verwerp dit.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Hou aan om te redigeer", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Verwerp", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Wysig", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Voeg rekord by", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Soek", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Geen resultate gevind", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Aflaai", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Deel", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Verwyder", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Geen dokumente gevind", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Verwyder hierdie dokument?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Hierdie lêer sal permanent verwyder word", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Kanselleer", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Verwyder", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Meer aksies", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Soek", + "@profilesSearch": {}, + "profilesEmptyList": "Geen profiele gevind", + "@profilesEmptyList": {}, + "profilesViewMore": "Bekyk meer", + "@profilesViewMore": {}, + "profilesMore": "Meer", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina onthou nou jou gesondheid", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Jou konsultasies bou en werk nou jou Gesondheidsrekord outomaties op.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Jou Gesondheidsrekord, jou reëls", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Beskou, wysig of voeg simptome, medikasie, geskiedenis of dokumente enige tyd by.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Versorging vir jou hele gesin", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Skep 'n Gesondheidsrekord vir jou geliefdes, jou kinders, ouers of maat.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Gereed om jou Gesondheidsrekord te stoor?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Na u konsultasie, tik op “Voeg profiel by” om dit te stoor.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Volgende", + "@profilesNextButton": {}, + "profilesStartButton": "Begin 'n konsultasie", + "@profilesStartButton": {}, + "profilesLaterButton": "Miskien later", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Sluit", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Gesondheidsrekord", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Gesondheidsrekord — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...meer", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...minder", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Voeg nuwe profiel by", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Skep 'n profiel om die besonderhede van hierdie konsultasie te stoor", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Jy kan dit te eniger tyd in jou Gesondheidsrekords besigtig", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "As jy meer vrae het oor dit of iets daaraan verwant, voel vry om voort te gesels met my. Ek is hier om te help", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Algemene inligting", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Naam", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Voornaam", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Familienaam", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Geslag", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Kies asseblief", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Man", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Vrou", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Ander", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Geboortedatum", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Ouderdom", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "bv. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Telefoonnommer", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-pos", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Ligging", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "bv. Stad, Land", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Liggaam & Dieet", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Lengte", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "bv. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Gewig", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "bv. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menstruele Siklus", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "bv. Gereeld, Ongereeld", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Dieetbeperkings", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Kies asseblief", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Laat weet wat jy eet en enige beperkings wat jy het", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Geen", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetaries", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Glutenvry", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Liggaamsmassa-indeks (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "bv. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Gesondheidsprofiel", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Kroniese Siektes", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "bv. Diabetes Tipe 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Lys al die chroniese siektes en sluit in wanneer hulle gediagnoseer is en enige komplikasies.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Eerdere siektes", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "bv. Gereelde verkoues", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Gee asseblief 'n lys van ernstige siektes wat jy in die verlede gehad het, selfs al het jy herstel.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Chirurgiese geskiedenis", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "bv. Appendektomie", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Verskaf asseblief 'n lys van alle operasies en sluit die jaar in en of daar enige komplikasies was.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Sporadies Gebruikte Medikasie", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "bv. Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Gee asseblief 'n lys van medikasie wat u van tyd tot tyd neem (byvoorbeeld: pynstillers, allergiemedikasie), insluitend die dosis en rede vir gebruik.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Gereelde Medikasie", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "bv. Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Gee asseblief 'n lys van alle medikasie wat jy gereeld neem, insluitend die naam, dosis, hoeveel keer per dag jy dit neem, en waarvoor dit is.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Allergieë", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "bv. Penisillien – veroorsaak uitslag", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Gee asseblief 'n lys van alle allergieë (medikasie, kos, omgewings), en beskryf watter reaksie jy het (byvoorbeeld: uitslag, swelling, asemhalingsprobleme).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Spesiale Toestande", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "bv. Swangerskap, Gestremdheid", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "As u enige belangrike mediese toestande het wat dokters altyd moet weet (byvoorbeeld: swangerskap, ingeplante toestelle, gestremdhede, antikoagulasieterapie), beskryf dit asseblief. As daar geen is nie, kan u dit leeg laat.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Familiegeskiedenis", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "bv. hartsiekte, kanker", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Beskryf asseblief belangrike siektes in jou gesin (byvoorbeeld: diabetes, hipertensie, hartsiektes, kanker, genetiese siektes) en spesifiseer watter familielid die toestand gehad het.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Sosiale & Leefstylfaktore", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "bv. Rook, Alkoholgebruik", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Beskryf asseblief lewenstylfaktore wat jou gesondheid kan beïnvloed, soos rook, alkohol, fisiese aktiwiteit, dieet, slaap en beroep.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Mediese Toestelle", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "bv. hartstimulator, hoortoestel, insulienpomp", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Gee asseblief 'n lys van enige mediese toestelle wat u gebruik of geïmplanteer het, soos pacemakers, insulienpompe, gehoorapparate, prostetika of ander assistiewe of moniteringstoestelle. Sluit relevante besonderhede in indien van toepassing.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Alleseter", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Vinnigkos", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescatarian", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Laktosevry", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Lae-natriumdieet", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Lae-suikerdieet", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Hartdieet", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Nierdieet", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Ander", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_am.arb b/example/lib/src/l10n/profiles/app_am.arb new file mode 100644 index 0000000..5a509ef --- /dev/null +++ b/example/lib/src/l10n/profiles/app_am.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "am", + "chatDrawerTitle": "የጤና መዝገቦች", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "አዲስ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "የጤና መዝገብዎን ይፍጠሩ", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "እባኮትን የእርዳታዎን መጨረሻ ላይ የእርስዎን መገኛ ያከብሩ።", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "ተጨማሪ ፕሮፋይሎች አክል", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "ለሌላ ሰው እንዲያወጣ የእርዳታ ሂደት ይጀምሩ.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "የጤና መዝግብ ለማድረግ ይመዝገቡ", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "እንደገና ይሞክሩ", + "@errorRetryButton": {}, + "dashboardDeleteError": "መገናኛ መረጃ ማጥፊያ አልተሳካም", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "የፕሮፋይል ማጠቃለያ ማስታወቂያ አልተገኘም", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "ሙሉ መዝገብ እይታ", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "አጋራ", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "አጥፍ", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "እድሜ", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} ዓመት} other{{value} ዓመታት}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "ክብደት", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} ኪ.ግ", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "ከፍታ", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} ሴ.ሜ", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "አለምም", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "ክሮኒክ", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "መድሃኒት", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "መሣሪያዎች", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "ኮንስልታሽን", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "ሰነዶች", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "የጤና መዝገብ ማጥፋት እባክዎት?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "ይህ የጤና ውሂብዎን በወይዘር ይሰርዝ እና አይታወቅም። እንደ እንደ መመሪያ የምንጠቀምበት አካል ይጠፋል።", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "እንደገና ይቆም", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "አጥፍ", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "የእንክብካቤ መዝገብዎን እንደሚሰርዝ...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "መግለጫ መረጃ ማጥፋት አልቻልኩም", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "የጤና መዝገብ ወይዘር ተሰርዟል", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "እባክዎ ከአስተያየት ጋር በመደወል አዲስ አንዱን መፍጠር ይችላሉ።", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "ወደ ውይይት ተመለስ", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "እንደ እንቅስቃሴ", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "መገናኛ ውስጥ የማይገኝ መረጃ መግኘት አልቻልኩም", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "ለውጦች ተያይዞ ተያይዞ ተያይዞ", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "መረጃዎት በተሳካ ሁኔታ ተዘጋጅቷል።", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "መገናኛ ወደ መገኛ ይመለሱ", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "መገናኛ ውሂብ መረጃ ማዘመን አልቻልኩም", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "ለውጦችን ይወድዱ?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "በመገለጫዎ ላይ አንዳንድ ለውጦችን አድርገዋል። ከመውጣትዎ በፊት ያስቀምጧቸው ወይም ይተዉአቸው።", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "`ማስተካከያውን ይቀጥሉ`", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "`ተወው`", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "አርትዕ", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "መዝግብ ያክል", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "ፈልግ", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "የተገኙ ውጤቶች የለም", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ዳውንሎድ", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "አጋራ", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "አጥፍ", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "ምንም ሰነዶች አልተገኙም", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "`ይህን ሰነድ ማጥፋት ይፈልጋሉ?`", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "`ይህ ፋይል ለዘላለም ይወገዳል።`", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "እንደገና ይቆም", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "አጥፍ", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "ተጨማሪ እርምጃዎች", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "ፈልግ", + "@profilesSearch": {}, + "profilesEmptyList": "ምንም መገለጫ አልተገኘም", + "@profilesEmptyList": {}, + "profilesViewMore": "ተጨማሪ ይመልከቱ", + "@profilesViewMore": {}, + "profilesMore": "ተጨማሪ", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "ዶክተሪና እንደ ጤናዎት ይወስዳል", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "የእርዳታዎችዎ አሁን የጤና መዝገብዎን በራስ ማዕከል ይገነባል እና ይዘው ይዘው ይዘው ይዘው.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "የእርግጥ መዝገብ፣ የእርስዎ ደንብ", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "ምርመራዎችን፣ መድሃኒቶችን፣ ታሪክን ወይም ሰነዶችን በየጊዜው ይመልከቱ፣ ይሻሽሉ ወይም ይጨምሩ።", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "እርዳታ ለአንድ ቤተሰብ ሁሉ", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "የወዳጆችዎ ጤና መዝገብ ይፍጠሩ፣ ለልጆችዎ፣ እናቶችዎ፣ ወይም ባልዎ።", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "የጤና መዝግብዎን ለመያዝ ዝግጁ ነው?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "ከኮንስልታሽንዎ በኋላ \"ፕሮፋይል አክስት\" ይጫኑ እንዲያውም ይቀመጡ።", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "ቀጣይ", + "@profilesNextButton": {}, + "profilesStartButton": "ኮንስልታሽን ይጀምሩ", + "@profilesStartButton": {}, + "profilesLaterButton": "አሁን አይደለም", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "ዝግጅት", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "የጤና መዝገብ", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "ጤና መዝገብ — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...በተጨማሪ", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...አነሱ", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "አዲስ ፕሮፋይል አክል", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "አንድ ፕሮፋይል ይፍጠሩ እንደዚህ የምንኖር ዝርዝር ይቀመጡ.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "በእርስዎ የጤና መዝገቦች ውስጥ እሱን በማንኛውም ጊዜ ማየት ይችላሉ", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "ይህ ወይም ከዚህ ጋር የተያያዘ ማንኛውም ጥያቄ ካለዎት, ከእኔ ጋር መቀጠል ነፃ ይችላሉ. እርዳታ ለማቅረብ እዚህ ነኝ", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "አጠቃላይ መረጃ", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "ስም", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "የመጀመሪያ ስም", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "ዮሐንስ", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "የቤተሰብ ስም", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "ፆታ", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "እባክዎ ይምረጡ", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "ወንድ", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "ሴት", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "ሌላ", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "የትውልድ ቀን", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "ዕድሜ", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "ለምሳሌ 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "ስልክ ቁጥር", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ኢሜል", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "ቦታ", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ለምሳሌ ከተማ, አገር", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "ሰውነት & አመጋገብ", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "ቁመት", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "ለምሳሌ 180 ሴሜ", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "ክብደት", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ለምሳሌ 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menstrual Cycle", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "ለምሳሌ መደበኛ, የተለዋዋጭ", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "የምግብ ገደቦች", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "እባክዎን ይምረጡ", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "እባክዎን የምታይ ምግብ እና የሚከበሩ ነገሮች እንዲያውቁን እንደምን እንደምን ይነግሩን", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "የምግብ ገደብ የለም", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "ቬጂታሪያን", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "ቪጋን", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "የግሉቲን ነፃ", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "የአካል ብዛት መጠን (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ለምሳሌ 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Առողջության պրոֆիլ", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "ቋሚ ሕመሞች", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "የዳይባትስ ዓይነት 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "እባክዎ ሁሉንም የወቅታዊ ሕመሞች ይዘጋጁ እና የተወሰኑትን ወቅታዊ ሕመሞች እና የተከሰቱትን ይጨምሩ።", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "ያለፉ ሕመሶች", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "እንደ አስቀድሞ የተከሰተ የተወሰነ የበሽታ ዝርዝር", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "እባክዎ በአስቀድሞ የነበሩትን ከባድ በሽታዎች ዝርዝር ያቀርቡ፣ ወይም እንኳን እንደተወው እንኳን.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "የቀርጸ-ቀትር ታሪክ", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "ለምሳሌ አፐንደክቶሚ", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "እባኮትን ሁሉንም ቀደም በተከታታይ የተደረጉ ምርመራዎችን ይዘው ዓመቱን እና የሚኖሩትን ችግኝ ይጨምሩ።", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "አንዳንድ ጊዜ የሚጠቀሙ መድሀኒቶች", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "እንደ ኢቡፕሮፍን", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "እባክዎ ከጊዜ ወደ ጊዜ የምንዛሬ የሚወስዱ መድሃኒቶችን ይዘጋጁ (ለምሳሌ፡ የህመም መድሃኒቶች፣ የአለም መድሃኒቶች)፣ የወሰነ መጠን እና የምንዛሬ ምክንያት ጨምር.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "የተደጋጋሚ መድሃኒቶች", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "እንደ ምሳሌ መትፎርሚን", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "እባክዎ በተደጋጋሚ የምንቀበል መድሃኒቶች ዝርዝር ይዘው ይጻፉ፣ የመድሃኒቱን ስም፣ ድምፅ፣ በየቀኑ ምን ጊዜ ይወስዳሉ እና ለምን ነው የሚያገለግል ይጻፉ።", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "አለርጂዎች", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "እንደ ፔኒሲሊን – በረሃብ ይከሰታል", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "እባኮትን ሁሉንም አለማይ የሚያስከትሉ እንደ መድሃኒቶች፣ ምግብ፣ እና አካባቢ ያለው አለማይ ዝርዝር ይዘው ይጻፉ፣ እና የምን እንደ ምልክት ይገልጹ (ለምሳሌ፡ ቀስተ ቀስተ ወይም እንደ መታወቂያ ችግኝ ወይም እንደ መታወቂያ ችግኝ ወይም እንደ መታወቂያ ችግኝ).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "ልዩ ሁኔታዎች", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "ለምሳሌ እርግዝና, እጥረት", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "ዶክተሮች ሁልጊዜ መረጃ ሊያገኙ የሚገባው ከሚኖርዎት አስፈላጊ የሕክምና ሁኔታዎች አንዳንድ ምሳሌዎች እንደ እንቅልፍ ወይም የተገነባ መሳሪያዎች፣ እንደ አንዳንድ የተወሰኑ የሕክምና ሂደቶች ይገኙ። ከሆነ ይቅርታ ይቀርባሉ።", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "የቤተሰብ ታሪክ", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ለምሳሌ፣ የልብ በሽታ፣ ካንሰር", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "እባኮትን በቤተሰብዎ ውስጥ ያሉ አስፈላጊ 病 ይገልጹ (ለምሳሌ: ዳይቦቲስ, የደም ግፊት, የልብ በሽታ, ካንሰር, የወርሃዊ በሽታዎች) እና ያንን የተለየ ቤተሰብ አባል ይገልጹ.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "ማህበራዊ እና የሕይወት ልማዶች", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "ለምሳሌ መጥላት, የአልኮል ጥቅም", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "እባኮትን ወደ ጤናዎ የሚያወዳድሩ የእንቅስቃሴ አካላት ይግለጹ፣ እንደ መሳሪያ መጠጣት፣ አልኮል፣ አካል እንቅስቃሴ፣ ዳይት፣ እንቅልፍ እና ሥራ.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "የሕክምና መሣሪያዎች", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "ለምሳሌ ፔስመከር, የጆሮ እርዳታ, የኢንስሊን ፓምፕ", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "እባኮትን የምንጭ መሳሪያዎች ወይም የተገነባ መሳሪያዎች ዝርዝር ያቀርቡ፣ እንደ ፓስሜከር፣ የኢንሱሊን ፓም፣ የስም ማስታወቂያዎች፣ ፕሮስቴቲክ ወይም ሌላ የሚያገለግል ወይም የሚከታተል መሳሪያዎች። ከሚገባ ዝርዝር ያካትቱ።", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "ሁሉንም የሚበላ", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ፈጣን ምግብ", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "ፔስካታሪያን", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "የላክቶዝ ነጻ", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "ዝቅተኛ ጨው ያለ የምግብ ስርዓት", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "ዝቅተኛ ስኳር ያለው የምግብ አመጋገብ", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "የልብ ምግብ", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "የኩስት ምግብ", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "ሌላ", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ar.arb b/example/lib/src/l10n/profiles/app_ar.arb new file mode 100644 index 0000000..227f1fe --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ar.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ar", + "chatDrawerTitle": "سجلات الصحة", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "جديد", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "أنشئ سجل صحتك", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "في نهاية استشارتك، أضف ملفك الشخصي", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "أضف المزيد من الملفات الشخصية", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "ابدأ استشارة لشخص آخر لإنشاء ملفه الشخصي", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "سجل لإنشاء سجل صحتك", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "إعادة المحاولة", + "@errorRetryButton": {}, + "dashboardDeleteError": "فشل حذف الملف الشخصي", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "فشل تحميل ملخص الملف الشخصي", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "عرض السجل الكامل", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "شارك", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "حذف", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "العمر", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} سنة} other{{value} سنوات}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "الوزن", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} كجم", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "الطول", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} سم", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "الحساسية", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "مزمن", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "الأدوية", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "الأجهزة", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "استشارات", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "المستندات", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "هل تريد حذف السجل الصحي؟", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "سيؤدي ذلك إلى إزالة بيانات صحتك بشكل دائم ولا يمكن التراجع عنه. ستفقد السياق الذي نستخدمه لإرشادك.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "إلغاء", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "حذف", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "جارٍ حذف سجل صحتك...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "فشل في حذف الملف الشخصي", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "تم حذف السجل الصحي", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "يمكنك إنشاء واحدة جديدة في أي وقت من خلال الدردشة مع المساعد.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "العودة إلى الدردشة", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "تعديل", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "فشل تحميل بيانات الملف الشخصي", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "تم حفظ التغييرات", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "تم تحديث معلوماتك بنجاح", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "العودة إلى الملف الشخصي", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "فشل في تحديث بيانات الملف الشخصي", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "هل تريدDiscard التغييرات؟", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "لقد قمت بإجراء بعض التغييرات على ملفك الشخصي. احفظها قبل أن تذهب، أو تخلص منها.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "استمر في التحرير", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "تجاهل", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "تعديل", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "أضف سجل", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "بحث", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "لم يتم العثور على نتائج", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "تحميل", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "شارك", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "حذف", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "لا توجد مستندات", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "هل تريد حذف هذا المستند؟", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "سيتم حذف هذا الملف بشكل دائم", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "إلغاء", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "حذف", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "إجراءات إضافية", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "بحث", + "@profilesSearch": {}, + "profilesEmptyList": "لم يتم العثور على ملفات شخصية", + "@profilesEmptyList": {}, + "profilesViewMore": "عرض المزيد", + "@profilesViewMore": {}, + "profilesMore": "المزيد", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "دوكتورينا الآن تتذكر صحتك", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "استشاراتك الآن تبني وتحدث سجل صحتك تلقائيًا.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "سجل صحتك، قواعدك", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "عرض أو تعديل أو إضافة الأعراض أو الأدوية أو التاريخ أو المستندات في أي وقت", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "اعتنِ بكل عائلتك", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "أنشئ سجل صحي لأحبائك، أطفالك، والديك، أو شريكك.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "هل أنت مستعد لحفظ سجل صحتك؟", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "بعد الاستشارة، اضغط على \"إضافة ملف\" لحفظه.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "التالي", + "@profilesNextButton": {}, + "profilesStartButton": "ابدأ استشارة", + "@profilesStartButton": {}, + "profilesLaterButton": "ربما لاحقًا", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "إغلاق", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "سجل الصحة", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "سجل الصحة — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...المزيد", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "أقل", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "إضافة ملف جديد", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "أنشئ ملفًا لحفظ تفاصيل هذه الاستشارة", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "يمكنك الاطلاع عليه في أي وقت في سجلاتك الصحية", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "إذا كان لديك المزيد من الأسئلة حول هذا أو أي شيء ذي صلة، فلا تتردد في الاستمرار في الحديث معي. أنا هنا للمساعدة", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "معلومات عامة", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "الاسم", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "جون دو", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "الاسم الأول", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "جون", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "اسم العائلة", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "الجنس", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "يرجى الاختيار", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "ذكر", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "أنثى", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "آخر", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "تاريخ الميلاد", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "العمر", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "مثلاً 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "رقم الهاتف", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "البريد الإلكتروني", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "الموقع", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "مثال: المدينة، الدولة", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "الجسم والنظام الغذائي", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "الطول", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "مثال: 180 سم", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "الوزن", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "مثلاً 75 كجم", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "الدورة الشهرية", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "مثلاً منتظمة، غير منتظمة", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "قيود غذائية", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "يرجى الاختيار", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "أخبرنا بما تأكله وأي قيود لديك", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "لا شيء", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "نباتي", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "نباتي صارم", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "خالٍ من الغلوتين", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "مؤشر كتلة الجسم (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "مثلاً 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "الملف الصحي", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "أمراض مزمنة", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "مثل السكري من النوع الثاني", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "يرجى سرد جميع الأمراض المزمنة وذكر متى تم تشخيصها وأي مضاعفات.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "الأمراض السابقة", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "مثل: نزلة برد شائعة متكررة", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "يرجى سرد الأمراض الخطيرة التي عانيت منها في الماضي، حتى لو كنت قد تعافيت.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "التاريخ الجراحي", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "مثال: استئصال الزائدة الدودية", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "يرجى سرد جميع العمليات الجراحية وذكر السنة وما إذا كانت هناك أي مضاعفات", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "الأدوية المستخدمة أحيانًا", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "مثل إيبوبروفين", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "يرجى إدراج الأدوية التي تتناولها من وقت لآخر (على سبيل المثال: مسكنات الألم، أدوية الحساسية)، بما في ذلك الجرعة وسبب الاستخدام.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "الأدوية المنتظمة", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "مثل ميتفورمين", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "يرجى سرد جميع الأدوية التي تتناولها بانتظام، بما في ذلك الاسم، الجرعة، عدد المرات التي تتناولها في اليوم، وما هي الحالة التي تستخدم من أجلها.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "الحساسية", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "مثل: البنسلين - يسبب طفح جلدي", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "يرجى سرد جميع الحساسية (الأدوية، الطعام، البيئة)، ووصف رد الفعل الذي لديك (على سبيل المثال: طفح جلدي، تورم، مشاكل في التنفس).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "الحالات الخاصة", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "مثلاً الحمل، الإعاقة", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "إذا كان لديك أي حالات طبية مهمة يجب أن يعرفها الأطباء دائمًا (على سبيل المثال: الحمل، الأجهزة المزروعة، الإعاقات، العلاج بمضادات التخثر)، يرجى وصفها. إذا لم يكن هناك، يمكنك ترك هذا الحقل فارغًا.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "التاريخ العائلي", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "مثلاً: أمراض القلب، السرطان", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "يرجى وصف الأمراض المهمة في عائلتك (على سبيل المثال: السكري، ارتفاع ضغط الدم، أمراض القلب، السرطان، الأمراض الوراثية) وتحديد أي فرد من العائلة كان لديه الحالة.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "العوامل الاجتماعية ونمط الحياة", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "مثال: التدخين، تناول الكحول", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "يرجى وصف عوامل نمط الحياة التي يمكن أن تؤثر على صحتك، مثل التدخين، الكحول، النشاط البدني، النظام الغذائي، النوم، والمهنة.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "الأجهزة الطبية", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "مثلاً منظم ضربات القلب، جهاز مساعدة السمع، مضخة الإنسولين", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "يرجى إدراج أي أجهزة طبية تستخدمها أو تم زرعها، مثل أجهزة تنظيم ضربات القلب، مضخات الأنسولين، أجهزة السمع، الأطراف الصناعية، أو أي أجهزة مساعدة أو مراقبة أخرى. أدرج التفاصيل ذات الصلة إذا كانت متاحة.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "آكل اللحوم والنباتات", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "الوجبات السريعة", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "بيسكاتاريان", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "خالي من اللاكتوز", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "نظام غذائي منخفض الصوديوم", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "نظام غذائي منخفض السكر", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "حمية قلبية", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "حمية كلوية", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "أخرى", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ar_EG.arb b/example/lib/src/l10n/profiles/app_ar_EG.arb new file mode 100644 index 0000000..46cbfc4 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ar_EG.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ar_EG", + "chatDrawerTitle": "سجلات الصحة", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "جديد", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "أنشئ سجل صحتك", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "في نهاية استشارتك، أضف ملفك الشخصي", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "أضف المزيد من الملفات الشخصية", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "ابدأ استشارة لشخص آخر لإنشاء ملفه الشخصي", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "سجل لإنشاء سجل صحتك", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "إعادة المحاولة", + "@errorRetryButton": {}, + "dashboardDeleteError": "فشل حذف الملف الشخصي", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "فشل تحميل ملخص الملف الشخصي", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "عرض السجل الكامل", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "شارك", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "حذف", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "العمر", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} سنة} other{{value} سنوات}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "الوزن", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} كجم", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "الطول", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} سم", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "الحساسية", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "مزمن", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "الأدوية", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "الأجهزة", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "استشارات", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "المستندات", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "هل تريد حذف السجل الصحي؟", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "سيؤدي ذلك إلى إزالة بيانات صحتك بشكل دائم ولا يمكن التراجع عنه. ستفقد السياق الذي نستخدمه لإرشادك.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "إلغاء", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "حذف", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "جارٍ حذف سجل صحتك...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "فشل في حذف الملف الشخصي", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "تم حذف السجل الصحي", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "يمكنك إنشاء واحدة جديدة في أي وقت من خلال الدردشة مع المساعد.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "العودة إلى الدردشة", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "تعديل", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "فشل تحميل بيانات الملف الشخصي", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "تم حفظ التغييرات", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "تم تحديث معلوماتك بنجاح", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "العودة إلى الملف الشخصي", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "فشل في تحديث بيانات الملف الشخصي", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "هل تريدDiscard التغييرات؟", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "لقد قمت بإجراء بعض التغييرات على ملفك الشخصي. احفظها قبل أن تذهب، أو تخلص منها.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "استمر في التحرير", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "تجاهل", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "تعديل", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "أضف سجل", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "بحث", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "لم يتم العثور على نتائج", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "تحميل", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "شارك", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "حذف", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "لا توجد مستندات", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "هل تريد حذف هذا المستند؟", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "سيتم حذف هذا الملف بشكل دائم", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "إلغاء", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "حذف", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "إجراءات إضافية", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "بحث", + "@profilesSearch": {}, + "profilesEmptyList": "لم يتم العثور على ملفات شخصية", + "@profilesEmptyList": {}, + "profilesViewMore": "عرض المزيد", + "@profilesViewMore": {}, + "profilesMore": "المزيد", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "دوكتورينا الآن تتذكر صحتك", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "استشاراتك الآن تبني وتحدث سجل صحتك تلقائيًا.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "سجل صحتك، قواعدك", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "عرض أو تعديل أو إضافة الأعراض أو الأدوية أو التاريخ أو المستندات في أي وقت", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "اعتنِ بكل عائلتك", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "أنشئ سجل صحي لأحبائك، أطفالك، والديك، أو شريكك.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "هل أنت مستعد لحفظ سجل صحتك؟", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "بعد الاستشارة، اضغط على \"إضافة ملف\" لحفظه.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "التالي", + "@profilesNextButton": {}, + "profilesStartButton": "ابدأ استشارة", + "@profilesStartButton": {}, + "profilesLaterButton": "ربما لاحقًا", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "إغلاق", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "سجل الصحة", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "سجل الصحة — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...المزيد", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "أقل", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "إضافة ملف جديد", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "أنشئ ملفًا لحفظ تفاصيل هذه الاستشارة", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "يمكنك الاطلاع عليه في أي وقت في سجلاتك الصحية", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "إذا كان لديك المزيد من الأسئلة حول هذا أو أي شيء ذي صلة، فلا تتردد في الاستمرار في الحديث معي. أنا هنا للمساعدة", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "معلومات عامة", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "الاسم", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "جون دو", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "الاسم الأول", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "جون", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "اسم العائلة", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "الجنس", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "يرجى الاختيار", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "ذكر", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "أنثى", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "آخر", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "تاريخ الميلاد", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "العمر", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "مثلاً 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "رقم الهاتف", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "البريد الإلكتروني", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "الموقع", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "مثال: المدينة، الدولة", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "الجسم والنظام الغذائي", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "الطول", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "مثال: 180 سم", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "الوزن", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "مثلاً 75 كجم", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "الدورة الشهرية", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "مثلاً منتظمة، غير منتظمة", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "قيود غذائية", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "يرجى الاختيار", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "أخبرنا بما تأكله وأي قيود لديك", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "لا شيء", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "نباتي", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "نباتي صارم", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "خالٍ من الغلوتين", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "مؤشر كتلة الجسم (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "مثلاً 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "الملف الصحي", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "أمراض مزمنة", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "مثل السكري من النوع الثاني", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "يرجى سرد جميع الأمراض المزمنة وذكر متى تم تشخيصها وأي مضاعفات.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "الأمراض السابقة", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "مثل: نزلة برد شائعة متكررة", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "يرجى سرد الأمراض الخطيرة التي عانيت منها في الماضي، حتى لو كنت قد تعافيت.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "التاريخ الجراحي", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "مثال: استئصال الزائدة الدودية", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "يرجى سرد جميع العمليات الجراحية وذكر السنة وما إذا كانت هناك أي مضاعفات", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "الأدوية المستخدمة أحيانًا", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "مثل إيبوبروفين", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "يرجى إدراج الأدوية التي تتناولها من وقت لآخر (على سبيل المثال: مسكنات الألم، أدوية الحساسية)، بما في ذلك الجرعة وسبب الاستخدام.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "الأدوية المنتظمة", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "مثل ميتفورمين", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "يرجى سرد جميع الأدوية التي تتناولها بانتظام، بما في ذلك الاسم، الجرعة، عدد المرات التي تتناولها في اليوم، وما هي الحالة التي تستخدم من أجلها.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "الحساسية", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "مثل: البنسلين - يسبب طفح جلدي", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "يرجى سرد جميع الحساسية (الأدوية، الطعام، البيئة)، ووصف رد الفعل الذي لديك (على سبيل المثال: طفح جلدي، تورم، مشاكل في التنفس).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "الحالات الخاصة", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "مثلاً الحمل، الإعاقة", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "إذا كان لديك أي حالات طبية مهمة يجب أن يعرفها الأطباء دائمًا (على سبيل المثال: الحمل، الأجهزة المزروعة، الإعاقات، العلاج بمضادات التخثر)، يرجى وصفها. إذا لم يكن هناك، يمكنك ترك هذا الحقل فارغًا.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "التاريخ العائلي", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "مثلاً: أمراض القلب، السرطان", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "يرجى وصف الأمراض المهمة في عائلتك (على سبيل المثال: السكري، ارتفاع ضغط الدم، أمراض القلب، السرطان، الأمراض الوراثية) وتحديد أي فرد من العائلة كان لديه الحالة.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "العوامل الاجتماعية ونمط الحياة", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "مثال: التدخين، تناول الكحول", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "يرجى وصف عوامل نمط الحياة التي يمكن أن تؤثر على صحتك، مثل التدخين، الكحول، النشاط البدني، النظام الغذائي، النوم، والمهنة.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "الأجهزة الطبية", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "مثلاً منظم ضربات القلب، جهاز مساعدة السمع، مضخة الإنسولين", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "يرجى إدراج أي أجهزة طبية تستخدمها أو تم زرعها، مثل أجهزة تنظيم ضربات القلب، مضخات الأنسولين، أجهزة السمع، الأطراف الصناعية، أو أي أجهزة مساعدة أو مراقبة أخرى. أدرج التفاصيل ذات الصلة إذا كانت متاحة.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "آكل اللحوم والنباتات", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "الوجبات السريعة", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "بيسكاتاريان", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "خالي من اللاكتوز", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "نظام غذائي منخفض الصوديوم", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "نظام غذائي منخفض السكر", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "حمية قلبية", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "حمية كلوية", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "أخرى", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_az.arb b/example/lib/src/l10n/profiles/app_az.arb new file mode 100644 index 0000000..7052d68 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_az.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "az", + "chatDrawerTitle": "Sağlıq qeydləri", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "YENİ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Sağlıq Qeydinizi Yaradın", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Müsahibənizin sonunda profilinizi əlavə edin.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Daha çox profil əlavə et", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Başqa biri üçün profilini yaratmaq üçün konsultasiyaya başlayın.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Sağlıq Qeydinizi yaratmaq üçün qeydiyyatdan keçin", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Təkrar cəhd et", + "@errorRetryButton": {}, + "dashboardDeleteError": "Profili silmək mümkün olmadı", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Profil xülasəsini yükləmək mümkün olmadı", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Tam qeydiyyatı görün", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Paylaş", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Sil", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Yaş", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} il} other{{value} il}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Çəki", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Hündürlük", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} sm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Alergiyalar", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Xroniki", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Dərmanlar", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Cihazlar", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Müsahibələr", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Sənədlər", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Tibb qeydini silmək? ", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Bu, sağlamlıq məlumatlarınızı daimi olaraq siləcək və geri qaytarmaq mümkün olmayacaq. Sizi yönləndirmək üçün istifadə etdiyimiz konteksti itirəcəksiniz.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "İmtina et", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Sil", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Sizin sağlamlıq qeydinizi silmək...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Profil silinmədi", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Sağlamlıq qeydi silindi", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Asistentlə söhbət edərək istənilən vaxt yeni birini yarada bilərsiniz.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Çat'a qayıt", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Redaktə", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Profil məlumatları yüklənmədi", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Dəyişikliklər saxlanıldı", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Məlumatlarınız müvəffəqiyyətlə yeniləndi.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Profilə qayıt", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Profil məlumatlarını yeniləmək mümkün olmadı", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Dəyişiklikləri ləğv edəsiniz? ", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Profilinizdə bəzi dəyişikliklər etmisiniz. Getməzdən əvvəl onları yadda saxlayın, ya da ləğv edin.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Düzəliş etməyə davam et", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Atmaq", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Redaktə et", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Qeyd əlavə et", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Axtar", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Heç bir nəticə tapılmadı", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Yüklə", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Paylaş", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Sil", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Heç bir sənəd tapılmadı", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Bu sənədi silmək istəyirsiniz?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Bu fayl daimi olaraq silinəcək", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "İmtina et", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Sil", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Digər əməliyyatlar", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Axtar", + "@profilesSearch": {}, + "profilesEmptyList": "Heç bir profil tapılmadı", + "@profilesEmptyList": {}, + "profilesViewMore": "Daha çox bax", + "@profilesViewMore": {}, + "profilesMore": "Daha", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina artıq sağlamlığınızı xatırlayır", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Müsahibələriniz indi Sizin Sağlamlıq Qeydinizi avtomatik olaraq yaradır və yeniləyir.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Sizin Sağlıq Qeydin, sizin qaydalarınız", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Simptomları, dərmanları, tarixi və ya sənədləri istənilən vaxt görün, redaktə edin və ya əlavə edin.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Bütün ailəniz üçün qayğı", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Sevdikləriniz, uşaqlarınız, valideynləriniz və ya tərəfdaşınız üçün Sağlamlıq Qeydi yaradın.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Sağlamlıq Qeydini saxlamağa hazırsınız? ", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Müsahibənizdən sonra \"Profil əlavə et\" düyməsini basın.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Növbəti", + "@profilesNextButton": {}, + "profilesStartButton": "Müsahibəyə başlayın", + "@profilesStartButton": {}, + "profilesLaterButton": "Bəlkə sonra", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Bağla", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Tibbî qeyd", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Tibb qeyd — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...daha çox", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...daha az", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Yeni profil əlavə et", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Bu konsultasiyanın detalları üçün profil yaradın.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Sağlamlıq qeydlərinizdə onu istənilən vaxt qiymətləndirə bilərsiniz", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Əgər bu barədə və ya əlaqəli hər hansı başqa sualınız varsa, mənimlə danışmağa davam etməkdən çəkinməyin. Mən kömək üçün buradayam", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Ümumi məlumat", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Ad", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Ad Soyad", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Ad", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Soyad", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Cinsiyyət", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Zəhmət olmasa seçin", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Kişi", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Qadın", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Digər", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Doğum tarixi", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Yaş", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "məsələn 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Telefon nömrəsi", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-poçt", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Yer", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "məsələn Şəhər, Ölkə", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Bədən & Qidalanma", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Boy", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "məsələn 180 sm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Çəki", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "məsələn 75 kq", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menstruasiya Dövrü", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "məsələn: Müntəzəm, Nizamsız", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Qida məhdudiyyətləri", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Zəhmət olmasa seçin", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Nə yediyinizi və hər hansı məhdudiyyətlərinizi bizə bildirin", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Heç biri", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetarian", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Veqan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Glutensiz", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Bədən Kütləsi İndeksi (BKİ)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "məsələn 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Sağlamlıq Profili", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Xroniki Xəstəliklər", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "məsələn, Tip 2 diabet", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Zəhmət olmasa, bütün xroniki xəstəlikləri siyahıya alın və onların nə vaxt diaqnoz edildiyini və hər hansı bir komplikasiyanı daxil edin.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Keçmiş Xəstəliklər", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "məsələn, tez-tez baş verən soyuqdəymə", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Zəhmət olmasa, keçmişdə yaşadığınız ciddi xəstəlikləri qeyd edin, bərpa olsanız belə.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Cərrahi tarixçə", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "məsələn Apendektomiya", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Zəhmət olmasa, bütün cərrahiyyələri siyahıya alın və ilini və hər hansı bir komplikasiyanın olub-olmadığını daxil edin.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Bəzən istifadə olunan dərmanlar", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "İbuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Zaman-zaman qəbul etdiyiniz dərmanları (məsələn: ağrı kəsicilər, allergiya dərmanları) siyahıya alın, dozasını və istifadənin səbəbini daxil edin.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Müntəzəm Dərmanlar", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "məsələn: Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Zəhmət olmasa, müntəzəm qəbul etdiyiniz bütün dərmanları, adını, dozasını, gündə neçə dəfə qəbul etdiyinizi və hansı xəstəlik üçün olduğunu qeyd edin.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Allergiyalar", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "məsələn: Penisilin - döküntü yaradır", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Zəhmət olmasa, bütün allergiyaları (dərmanlar, qida, ətraf mühit) qeyd edin və hansı reaksiya verdiyinizi təsvir edin (məsələn: səpmə, şişmə, nəfəs alma problemləri).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Xüsusi Vəziyyətlər", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "məsələn Hamiləlik, Əlillik", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Həkimlərin həmişə bilməli olduğu hər hansı vacib tibbi vəziyyətiniz varsa (məsələn: hamiləlik, implantasiya olunmuş cihazlar, əlillik, antikoaqulyant terapiya), xahiş edirik, onları təsvir edin. Heç biri yoxdursa, bunu boş qoya bilərsiniz.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Ailə tarixçəsi", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "məsələn, Ürək xəstəliyi, Xərçəng", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Zəhmət olmasa, ailənizdəki vacib xəstəlikləri təsvir edin (məsələn: şəkərli diabet, hipertoniya, ürək xəstəliyi, xərçəng, irsi xəstəliklər) və hansı ailə üzvünün bu xəstəlikdən əziyyət çəkdiyini qeyd edin.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Sosial & Həyat Tərzi Amilləri", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "məsələn Siqaret çəkmə, Alkoqol istehlakı", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Sağlığınıza təsir edə biləcək həyat tərzi amillərini, məsələn, siqaret çəkmə, spirt, fiziki fəaliyyət, pəhriz, yuxu və peşə kimi təsvir edin.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Tibbi Cihazlar", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "məs. Ürək stimulyatoru, Eşitmə cihazı, İnsulin nasosu", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "İstifadə etdiyiniz və ya implantasiya olunmuş hər hansı tibbi cihazları, məsələn, ürək stimulyatorları, insulin pompaları, eşitmə cihazları, protezlər və ya digər köməkçi və ya monitorinq cihazlarını qeyd edin. Əgər uyğun gəlirsə, müvafiq detalları daxil edin.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Hər şeyi yeyən", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Fast Food", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescatarian", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Laktozsuz", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Az duzlu pəhriz", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Az şəkərli pəhriz", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Ürək pəhrizi", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Böyrək pəhrizi", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Digər", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_be.arb b/example/lib/src/l10n/profiles/app_be.arb new file mode 100644 index 0000000..b42bd17 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_be.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "be", + "chatDrawerTitle": "Медыцынскія запісы", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "НОВЫ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Стварыце сваю медыцынскую картку", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "У канцы вашай кансультацыі дадайце свой профіль", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Дадаць больш профіляў", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Пачніце кансультацыю для кагосьці іншага, каб стварыць іх профіль", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Зарэгіструйцеся, каб стварыць сваю медыцынскую картку", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Паўтарыць", + "@errorRetryButton": {}, + "dashboardDeleteError": "Не ўдалося выдаліць профіль", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Не ўдалося загрузіць рэзюмэ профілю", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Праглядзець поўную запіс", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Падзяліцца", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Выдаліць", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Узрост", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} год} other{{value} гады}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Вага", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} кг", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Рост", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} см", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Аллергіі", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Хранічны", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Медыкаменты", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Прылады", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Кансультацыі", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Дакументы", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Выдаліць медыцынскую запіс?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Гэта назаўжды выдаліць вашы дадзеныя аб здароўі і не можа быць адменена. Вы страціце кантэкст, які мы выкарыстоўваем для вашага кіраўніцтва.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Скасаванне", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Выдаліць", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Выдаленне вашай медыцынскай запісы...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Не ўдалося выдаліць профіль", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Запіс аб здароўі выдалены", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Вы можаце стварыць новы ў любы час, размаўляючы з памочнікам.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Вярнуцца ў чат", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Рэдагаванне", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Не ўдалося загрузіць дадзеныя профілю", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Змены захаваны", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Ваша інфармацыя была паспяхова абноўлена.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Вярнуцца да профілю", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Не ўдалося абнавіць дадзеныя профілю", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Адмяніць змены?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Вы ўнеслі змены ў свой профіль. Захавайце іх перад тым, як сыходзіць, або адкіньце.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Працягнуць рэдагаванне", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Скасаваць", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Рэдагаваць", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Дадаць запіс", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Пошук", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Рэзультатаў не знойдзена", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Спампаваць", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Падзяліцца", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Выдаліць", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Документы не знойдзены", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Выдаліць гэты дакумент?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Гэты файл будзе назаўжды выдалены", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Скасаванне", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Выдаліць", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Іншыя дзеянні", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Пошук", + "@profilesSearch": {}, + "profilesEmptyList": "Профілі не знойдзены", + "@profilesEmptyList": {}, + "profilesViewMore": "Паказаць яшчэ", + "@profilesViewMore": {}, + "profilesMore": "Яшчэ", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Доктарына цяпер памятае пра ваша здароўе", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Вашы кансультацыі цяпер аўтаматычна фармуюць і абнаўляюць вашу медыцынскую картку.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Ваша медыцынская картка, вашыя правілы", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Глядзіце, рэдагуйце або дадавайце сімптомы, лекі, гісторыю або дакументы ў любы час", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Даглядайце за ўсёй вашай сям'ёй", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Стварыце медыцынскую картку для сваіх блізкіх, дзяцей, бацькоў або партнёра.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Гатовы захаваць вашу медыцынскую картку?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Пасля кансультацыі націсніце «Дадаць профіль», каб захаваць яго.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Далей", + "@profilesNextButton": {}, + "profilesStartButton": "Пачаць кансультацыю", + "@profilesStartButton": {}, + "profilesLaterButton": "Магчыма пазней", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Закрыць", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Медыцынская карта", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Медыцынская карта — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...большей", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...менш", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Дадаць профіль", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Стварыце профіль, каб захаваць дадзеныя гэтай кансультацыі.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Вы можаце атрымаць доступ да яго ў любы час у Медыцынскіх запісах", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Калі ў вас ёсць яшчэ пытанні пра гэта ці пра ўсё, што з гэтым звязана, не саромейцеся працягваць размаўляць са мной. Я тут, каб дапамагчы", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Агульная інфармацыя", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Імя", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Імя", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Іван", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Прозвішча", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Пол", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Калі ласка, абярыце", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Мужчына", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Жанчына", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Іншае", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Дата нараджэння", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "ГГГГ-ММ-ДД", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Узрост", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "напрыклад, 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Нумар тэлефона", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Электронная пошта", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Месцазнаходжанне", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "напрыклад Горад, Краіна", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Цела & Харчаванне", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Рост", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "напрыклад 180 см", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Вага", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "напрыклад, 75 кг", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Менструальны цыкл", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "напрыклад Рэгулярны, Нерэгулярны", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Дыетычныя абмежаванні", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Калі ласка, абярыце", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Скажыце нам, што вы ясьце і якія ў вас ёсць абмежаванні", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Няма", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Вегетарыянец", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Веган", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Без Глютэна", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Індэкс масы цела (ІМТ)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "напрыклад 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Профіль здароўя", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Хранічныя захворванні", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "напр. цукровы дыябет 2 тыпу", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Калі ласка, пералічыце ўсе хранічныя захворванні і ўкажыце, калі яны былі дыягнаставаны, а таксама любыя ўскладненні", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Перанесеныя захворванні", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "напр. частыя прастуды", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Калі ласка, пералічыце сур'ёзныя захворванні, якія ў вас былі ў мінулым, нават калі вы выздаравелі", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Хірургічны анамнез", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "e.g. Appendectomy", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Калі ласка, пералічыце ўсе аперацыі і ўкажыце год, а таксама ці былі якія-небудзь ускладненні", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Лекі, якія ўжываюцца зрэдку", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "напр. Ібупрофен", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Калі ласка, пералічыце лекі, якія вы прымаеце час ад часу (напрыклад: абязбольвальныя, лекі ад алергіі), уключаючы дозу і прычыну выкарыстання", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Пастаянныя лекі", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "напр. Метформін", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Калі ласка, пералічыце ўсе лекі, якія вы прымаеце рэгулярна, уключаючы назву, дозу, колькі разоў на дзень вы іх прымаеце і для якога стану яны прызначаны.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Алергіі", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "напр. пеніцылін – выклікае сып", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Калі ласка, пералічыце ўсе алергіі (лекі, прадукты, навакольнае асяроддзе) і апішыце, якая рэакцыя ў вас узнікае (напрыклад: сып, ацёк, праблемы з дыханнем).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Асаблівыя станы здароўя", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "напрыклад, цяжарнасць, інваліднасць", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Калі ў вас ёсць якія-небудзь важныя медыцынскія ўмовы, пра якія лекары заўсёды павінны ведаць (напрыклад: цяжарнасць, імплантаваныя прылады, інваліднасць, тэрапія антыкаагулянтамі), калі ласка, апішыце іх. Калі няма, вы можаце пакінуць гэта поле пустым.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Сямейны анамнез", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "напрыклад: хвароба сэрца, рак", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Калі ласка, апішыце важныя хваробы ў вашай сям'і (напрыклад: цукровы дыябет, гіпертанія, хваробы сэрца, рак, генетычныя захворванні) і ўкажыце, у якога члена сям'і была гэтая хвароба.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Сацыяльныя фактары і фактары ладу жыцця", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "напрыклад, курэнне, ужыванне алкаголю", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Калі ласка, апішыце фактары ладу жыцця, якія могуць уплываць на ваша здароўе, такія як курэнне, алкаголь, фізічная актыўнасць, дыета, сон і прафесія.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Медыцынскія прылады", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "напрыклад: Кардыястымулятар, Слухавы апарат, Інсулінавая помпа", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Калі ласка, пералічыце любыя медыцынскія прылады, якія вы выкарыстоўваеце або якія ў вас імплантаваны, такія як кардыястымулятары, інсулінавые помпы, слыхавыя апараты, пратэзы або іншыя дапаможныя або маніторынгавыя прылады. Уключыце адпаведныя дэталі, калі гэта прымяняецца.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Усёядны", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Фастфуд", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Пескатарыянец", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Без лактозы", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Дыета з нізкім утрыманнем натрыю", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Дыета з нізкім утрыманнем цукру", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Кардыялогічная дыета", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Нырачны рацыён", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Іншае", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_bg.arb b/example/lib/src/l10n/profiles/app_bg.arb new file mode 100644 index 0000000..ae5aa73 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_bg.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "bg", + "chatDrawerTitle": "Медицински записи", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "НОВ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Създайте своя здравен запис", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "В края на консултацията добавете профила си.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Добави още профили", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Започнете консултация за някой друг, за да създадете профила му.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Регистрирайте се, за да създадете здравния си запис", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Опитай отново", + "@errorRetryButton": {}, + "dashboardDeleteError": "Неуспешно изтриване на профила", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Неуспешно зареждане на резюме на профила", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Преглед на пълния запис", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Сподели", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Изтрий", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Възраст", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} година} other{{value} години}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Тегло", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Височина", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Алергии", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Хроничен", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Лекарства", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Устройства", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Консултации", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Документи", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Изтриване на здравен запис?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Това ще премахне трайно вашите здравни данни и не може да бъде отменено. Ще загубите контекста, който използваме, за да ви водим.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Отмяна", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Изтрий", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Изтривам вашия здравен запис...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Неуспешно изтриване на профил", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Здравният запис е изтрит", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Можете да създадете нов по всяко време, като разговаряте с асистента.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Върнете се в чата", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Редактиране", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Неуспешно зареждане на данни за профила", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Промените са запазени", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Вашата информация беше успешно актуализирана.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Върнете се в профила", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Неуспешно обновяване на данните за профила", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Отказване на промените?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Направихте някои промени в профила си. Запазете ги, преди да си тръгнете, или ги отхвърлете.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Продължете да редактирате", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Изтрий", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Редактиране", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Добави запис", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Търсене", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Не са намерени резултати", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Изтегли", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Сподели", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Изтрий", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Не са намерени документи", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Да изтрием ли този документ?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Този файл ще бъде трайно премахнат", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Отмяна", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Изтрий", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Още действия", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Търсене", + "@profilesSearch": {}, + "profilesEmptyList": "Не са намерени профили", + "@profilesEmptyList": {}, + "profilesViewMore": "Виж още", + "@profilesViewMore": {}, + "profilesMore": "Още", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina вече помни вашето здраве", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Вашите консултации сега автоматично изграждат и актуализират вашата Здравна карта.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Вашата здравна карта, вашите правила", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Прегледайте, редактирайте или добавяйте симптоми, лекарства, история или документи по всяко време.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Грижа за цялото семейство", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Създайте здравен запис за вашите близки, деца, родители или партньор.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Готови ли сте да запазите здравния си запис?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "След консултацията натиснете „Добави профил“, за да го запазите.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Напред", + "@profilesNextButton": {}, + "profilesStartButton": "Започнете консултация", + "@profilesStartButton": {}, + "profilesLaterButton": "Може би по-късно", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Затвори", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Медицинска карта", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Медицинска карта — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...повече", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...по-малко", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Добави нов профил", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Създайте профил, за да запазите детайлите на тази консултация", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Можете да го прегледате по всяко време в здравните си записи", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Ако имате още въпроси за това или за нещо свързано, не се колебайте да продължите да говорите с мен. Аз съм тук, за да помогна", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Обща информация", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Име", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Иван Иванов", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Име", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Иван", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Фамилия", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Пол", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Моля, изберете", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Мъж", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Жена", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Друго", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Дата на раждане", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "ГГГГ-ММ-ДД", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Възраст", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "напр. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Телефонен номер", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Имейл", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Местоположение", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "напр. Град, Държава", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Тяло & Хранене", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Височина", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "напр. 180 см", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Тегло", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "напр. 75 кг", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Менструален цикъл", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "напр. Редовен, Нередовен", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Диетични ограничения", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Моля, изберете", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Кажете ни какво ядете и какви ограничения имате", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Няма ограничения", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Вегетарианска диета", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Веган", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Без глутен", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Индекс на телесна маса (ИТМ)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "напр. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Здравен профил", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Хронични заболявания", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "напр. Диабет тип 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Моля, посочете всички хронични заболявания и включете кога са били диагностицирани и всякакви усложнения.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Предишни заболявания", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "напр. Чести настинки", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Моля, посочете сериозни заболявания, които сте имали в миналото, дори и да сте се възстановили.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Хирургична анамнеза", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "напр. апендектомия", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Моля, изброите всички операции и включете годината и дали е имало усложнения.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Понякога използвани лекарства", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "напр. Ибупрофен", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Моля, посочете медикаменти, които приемате от време на време (например: болкоуспокояващи, медикаменти за алергия), включително дозата и причината за употреба.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Редовни лекарства", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "напр. Метформин", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Моля, посочете всички лекарства, които приемате редовно, включително името, дозата, колко пъти на ден ги приемате и за какво състояние са.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Алергии", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "напр. Пеницилин – причинява обрив", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Моля, посочете всички алергии (медикаменти, храни, околна среда) и опишете каква реакция имате (например: обрив, подуване, проблеми с дишането).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Специални състояния", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "напр. Бременност, Инвалидност", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Ако имате важни медицински състояния, за които лекарите винаги трябва да знаят (например: бременност, имплантирани устройства, увреждания, антикоагулантна терапия), моля, опишете ги. Ако нямате, можете да оставите това поле празно.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Семейна анамнеза", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "напр. сърдечни заболявания, рак", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Моля, опишете важни заболявания в семейството си (например: диабет, хипертония, сърдечни заболявания, рак, генетични заболявания) и посочете кой член на семейството е имал състоянието.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Социални и фактори, свързани с начина на живот", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "напр. Пушене, Консумация на алкохол", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Моля, опишете факторите на начина на живот, които могат да повлияят на вашето здраве, като пушене, алкохол, физическа активност, диета, сън и професия.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Медицински устройства", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "напр. Пейсмейкър, Слухов апарат, Инсулинова помпа", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Моля, посочете всички медицински устройства, които използвате или имате имплантирани, като пейсмейкъри, инсулинови помпи, слухови апарати, протези или други помощни или мониторингови устройства. Включете съответните детайли, ако е приложимо.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Всеяден", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Бърза храна", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Пескатарианец", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Без лактоза", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Диета с ниско съдържание на сол", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Диета с ниско съдържание на захар", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Сърдечна диета", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Бъбречна диета", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Друго", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_bn.arb b/example/lib/src/l10n/profiles/app_bn.arb new file mode 100644 index 0000000..6639631 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_bn.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "bn", + "chatDrawerTitle": "স্বাস্থ্য রেকর্ড", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "নতুন", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "আপনার স্বাস্থ্য রেকর্ড তৈরি করুন", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "আপনার পরামর্শের শেষে, আপনার প্রোফাইল যোগ করুন।", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "আরও প্রোফাইল যোগ করুন", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "অন্যের জন্য পরামর্শ শুরু করুন যাতে তাদের প্রোফাইল তৈরি করা যায়।", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "আপনার স্বাস্থ্য রেকর্ড তৈরি করতে সাইন আপ করুন", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "পুনরায় চেষ্টা করুন", + "@errorRetryButton": {}, + "dashboardDeleteError": "প্রোফাইল মুছতে ব্যর্থ", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "প্রোফাইল সারাংশ লোড করতে ব্যর্থ", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "সম্পূর্ণ রেকর্ড দেখুন", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "শেয়ার", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "মুছুন", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "বয়স", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} বছর} other{{value} বছর}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "ওজন", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "উচ্চতা", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} সেমি", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "অ্যালার্জি", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "ক্রনিক", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "ঔষধ", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "ডিভাইস", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "পরামর্শ", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "নথি", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "স্বাস্থ্য রেকর্ড মুছে ফেলবেন?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "এটি আপনার স্বাস্থ্য তথ্য স্থায়ীভাবে মুছে ফেলবে এবং এটি পূর্বাবস্থায় ফিরিয়ে আনা যাবে না। আপনি আমাদের আপনাকে নির্দেশনা দিতে ব্যবহৃত প্রেক্ষাপট হারাবেন।", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "বাতিল", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "মুছে ফেলুন", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "আপনার স্বাস্থ্য রেকর্ড মুছে ফেলা হচ্ছে...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "প্রোফাইল মুছতে ব্যর্থ", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "স্বাস্থ্য রেকর্ড মুছে ফেলা হয়েছে", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "আপনি যেকোনো সময় সহকারীর সাথে চ্যাট করে একটি নতুন তৈরি করতে পারেন।", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "চ্যাটে ফিরে যান", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "সম্পাদনা", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "প্রোফাইল ডেটা লোড করতে ব্যর্থ", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "পরিবর্তনগুলি সংরক্ষিত হয়েছে", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "আপনার তথ্য সফলভাবে আপডেট করা হয়েছে।", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "প্রোফাইলে ফিরে যান", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "প্রোফাইল ডেটা আপডেট করতে ব্যর্থ", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "পরিবর্তনগুলি বাতিল করবেন?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "আপনি আপনার প্রোফাইলে কিছু পরিবর্তন করেছেন। যাওয়ার আগে সেগুলি সংরক্ষণ করুন, অথবা বাতিল করুন।", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "সম্পাদনা চালিয়ে যান", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "বাতিল করুন", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "সম্পাদনা", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "রেকর্ড যোগ করুন", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "অনুসন্ধান", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "কোন ফলাফল পাওয়া যায়নি", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ডাউনলোড", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "শেয়ার", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "মুছুন", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "কোনো নথি পাওয়া যায়নি", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "এই নথিটি মুছে ফেলতে চান?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "এই ফাইলটি স্থায়ীভাবে মুছে ফেলা হবে", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "বাতিল", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "মুছে ফেলুন", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "আরও অ্যাকশন", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "অনুসন্ধান", + "@profilesSearch": {}, + "profilesEmptyList": "কোনো প্রোফাইল পাওয়া যায়নি", + "@profilesEmptyList": {}, + "profilesViewMore": "আরও দেখুন", + "@profilesViewMore": {}, + "profilesMore": "আরও", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "ডক্টরিনা এখন আপনার স্বাস্থ্য মনে রাখে", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "আপনার পরামর্শগুলি এখন স্বয়ংক্রিয়ভাবে আপনার স্বাস্থ্য রেকর্ড তৈরি এবং আপডেট করে।", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "আপনার স্বাস্থ্য রেকর্ড, আপনার নিয়ম", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "কোনও সময়ে লক্ষণ, ওষুধ, ইতিহাস বা নথি দেখুন, সম্পাদনা করুন বা যোগ করুন।", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "আপনার পুরো পরিবারের যত্ন নিন", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "আপনার প্রিয়জন, আপনার সন্তান, বাবা-মা বা সঙ্গীর জন্য একটি স্বাস্থ্য রেকর্ড তৈরি করুন।", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "আপনার স্বাস্থ্য রেকর্ড সংরক্ষণের জন্য প্রস্তুত?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "আপনার পরামর্শের পরে, এটি সংরক্ষণ করতে \"প্রোফাইল যোগ করুন\" ট্যাপ করুন।", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "পরবর্তী", + "@profilesNextButton": {}, + "profilesStartButton": "একটি পরামর্শ শুরু করুন", + "@profilesStartButton": {}, + "profilesLaterButton": "পরে হয়তো", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "বন্ধ করুন", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "স্বাস্থ্য রেকর্ড", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "স্বাস্থ্য রেকর্ড — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...আরও", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...কম", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "নতুন প্রোফাইল যোগ করুন", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "এই পরামর্শের বিস্তারিত তথ্য সংরক্ষণ করতে একটি প্রোফাইল তৈরি করুন।", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "আপনি এটি যে কোনো সময় আপনার Health Records-এ অ্যাক্সেস করতে পারবেন", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "যদি এ সম্পর্কে বা এ সংক্রান্ত যেকোনো বিষয়ে আপনার আরও প্রশ্ন থাকে, বিনা দ্বিধায় আমার সঙ্গে কথা বলতে থাকুন। আমি সাহায্য করার জন্য এখানে আছি", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "সাধারণ তথ্য", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "নাম", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "প্রথম নাম", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "জন", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "নামের শেষাংশ", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "লিঙ্গ", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "অনুগ্রহ করে নির্বাচন করুন", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "পুরুষ", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "নারী", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "অন্যান্য", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "জন্ম তারিখ", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "বয়স", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "যেমন 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "ফোন নম্বর", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ইমেল", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "অবস্থান", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "যেমন শহর, দেশ", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "শরীর & খাদ্য", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "উচ্চতা", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "যেমন 180 সেমি", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "ওজন", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "উদাহরণ: 75 কেজি", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "মাসিক চক্র", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "যেমন: নিয়মিত, অনিয়মিত", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "খাদ্যগত সীমাবদ্ধতা", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "অনুগ্রহ করে নির্বাচন করুন", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "আপনি কী খান এবং আপনার কোনো সীমাবদ্ধতা আছে কি তা আমাদের জানান", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "কোনোটাই নেই", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "শাকাহারী", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "ভেগান", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "গ্লুটেন মুক্ত", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "শরীরের ভর সূচক (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "যেমন 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "স্বাস্থ্য প্রোফাইল", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "দীর্ঘস্থায়ী রোগ", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "যেমন: টাইপ ২ ডায়াবেটিস", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "দয়া করে সমস্ত দীর্ঘস্থায়ী রোগের তালিকা করুন এবং কখন সেগুলি নির্ণয় করা হয়েছিল এবং কোনও জটিলতা অন্তর্ভুক্ত করুন।", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "পূর্ববর্তী অসুস্থতা", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "যেমন: ঘন ঘন সাধারণ সর্দি", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "আপনি যে গুরুতর রোগগুলি অতীতে ভুগেছেন সেগুলি তালিকাভুক্ত করুন, এমনকি আপনি সুস্থ হয়ে উঠলেও।", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "অস্ত্রোপচারের ইতিহাস", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "যেমন অ্যাপেনডেকটমি", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "সমস্ত সার্জারি তালিকাভুক্ত করুন এবং বছর এবং কোনও জটিলতা ছিল কিনা তা অন্তর্ভুক্ত করুন।", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "কখনও কখনও ব্যবহৃত ওষুধ", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "যেমন: আইবুপ্রোফেন", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "আপনি কখনও কখনও যে ওষুধগুলি নেন (যেমন: ব্যথানাশক, অ্যালার্জির ওষুধ) সেগুলি, ডোজ এবং ব্যবহারের কারণ সহ তালিকাভুক্ত করুন", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "নিয়মিত ওষুধ", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "যেমন: মেটফর্মিন", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "আপনি নিয়মিত যে সমস্ত ওষুধ গ্রহণ করেন, তার নাম, ডোজ, দিনে কতবার গ্রহণ করেন এবং এটি কোন অবস্থার জন্য তা তালিকাভুক্ত করুন", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "অ্যালার্জি", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "যেমন: পেনিসিলিন – র্যাশ সৃষ্টি করে", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "সমস্ত অ্যালার্জি (ওষুধ, খাবার, পরিবেশ) তালিকাভুক্ত করুন এবং আপনি কী ধরনের প্রতিক্রিয়া দেখান তা বর্ণনা করুন (যেমন: র্যাশ, ফোলা, শ্বাসকষ্ট)।", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "বিশেষ অবস্থা", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "যেমন গর্ভাবস্থা, প্রতিবন্ধতা", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "যদি আপনার কোনো গুরুত্বপূর্ণ চিকিৎসা অবস্থান থাকে যা ডাক্তারদের সর্বদা জানা উচিত (যেমন: গর্ভাবস্থা, প্রতিস্থাপিত ডিভাইস, অক্ষমতা, অ্যান্টিকোঅ্যাগুলেশন থেরাপি), দয়া করে সেগুলি বর্ণনা করুন। যদি না থাকে, আপনি এটি খালি রাখতে পারেন।", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "পারিবারিক ইতিহাস", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "উদাহরণ: হৃদরোগ, ক্যান্সার", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "আপনার পরিবারের গুরুত্বপূর্ণ রোগগুলি বর্ণনা করুন (যেমন: ডায়াবেটিস, উচ্চ রক্তচাপ, হৃদরোগ, ক্যান্সার, জেনেটিক রোগ) এবং নির্দিষ্ট করুন কোন পরিবারের সদস্যের এই অবস্থাটি ছিল।", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "সামাজিক & জীবনধারা উপাদানসমূহ", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "যেমন: ধূমপান, মদ্যপান", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "আপনার স্বাস্থ্যের উপর প্রভাব ফেলতে পারে এমন জীবনযাত্রার উপাদানগুলি বর্ণনা করুন, যেমন ধূমপান, মদ্যপান, শারীরিক কার্যকলাপ, খাদ্য, ঘুম এবং পেশা।", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "চিকিৎসা যন্ত্রপাতি", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "যেমন পেসমেকার, শ্রবণ সহায়ক, ইনসুলিন পাম্প", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "আপনি যে কোনও চিকিৎসা ডিভাইস ব্যবহার করেন বা প্রতিস্থাপন করেছেন, যেমন পেসমেকার, ইনসুলিন পাম্প, শ্রবণযন্ত্র, প্রতিস্থাপন বা অন্যান্য সহায়ক বা পর্যবেক্ষণ ডিভাইসের তালিকা করুন। প্রযোজ্য হলে প্রাসঙ্গিক বিবরণ অন্তর্ভুক্ত করুন।", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "সর্বাহারী", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ফাস্ট ফুড", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "পেস্কাটেরিয়ান", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "ল্যাকটোজ-মুক্ত", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "কম সোডিয়াম আহার", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "কম চিনি ডায়েট", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "হৃদরোগের খাদ্য", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "কিডনি ডায়েট", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "অন্যান্য", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ca.arb b/example/lib/src/l10n/profiles/app_ca.arb new file mode 100644 index 0000000..e690a84 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ca.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ca", + "chatDrawerTitle": "Registres de salut", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NOU", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Crea el teu Registre de Salut", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Al final de la teva consulta, afegeix el teu perfil.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Afegir més perfils", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Inicia una consulta per a algú altre per crear el seu perfil", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Inscriu-te per crear el teu Registre de Salut", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Torna a provar", + "@errorRetryButton": {}, + "dashboardDeleteError": "No s'ha pogut eliminar el perfil", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "No s'ha pogut carregar el resum del perfil", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Veure registre complet", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Compartir", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Esborrar", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Edat", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} any} other{{value} anys}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Pes", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Alçada", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Al·lèrgies", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Crònic", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Medicament", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Dispositius", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Consultes", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Documents", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Esborrar registre de salut?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Això eliminarà permanentment les teves dades de salut i no es podrà desfer. Perdràs el context que fem servir per guiar-te.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Cancel·la", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Esborrar", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Eliminant el teu registre de salut...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "No s'ha pogut eliminar el perfil", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Registre de salut eliminat", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Pots crear-ne un de nou en qualsevol moment xerrant amb l'assistent.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Torna al xat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Editant", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "No s'ha pogut carregar les dades del perfil", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Canvis desats", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "La teva informació s'ha actualitzat correctament.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Torna al perfil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "No s'ha pogut actualitzar les dades del perfil", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Descartar canvis?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Heu fet alguns canvis al vostre perfil. Deseu-los abans de marxar, o deseu-los.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Segueix editant", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Descartar", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Editar", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Afegir registre", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Cerca", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "No s'han trobat resultats", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Descarregar", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Compartir", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Esborrar", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "No s'han trobat documents", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Esborrar aquest document?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Aquest fitxer serà eliminat de manera permanent", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Cancel·la", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Esborrar", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Més accions", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Cerca", + "@profilesSearch": {}, + "profilesEmptyList": "No s'han trobat perfils", + "@profilesEmptyList": {}, + "profilesViewMore": "Veure'n més", + "@profilesViewMore": {}, + "profilesMore": "Més", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina ara recorda la teva salut", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Les teves consultes ara construeixen i actualitzen automàticament el teu Registre de Salut.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "El teu registre de salut, les teves regles", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Veure, editar o afegir símptomes, medicaments, historial o documents en qualsevol moment.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Cura per a tota la teva família", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Crea un registre de salut per als teus éssers estimats, els teus fills, pares o parella.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Preparat per desar el teu historial mèdic?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Després de la teva consulta, toca \"Afegir perfil\" per desar-ho.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Següent", + "@profilesNextButton": {}, + "profilesStartButton": "Iniciar una consulta", + "@profilesStartButton": {}, + "profilesLaterButton": "Potser més tard", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Tanca", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Fitxa de salut", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Registre de salut — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...més", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...menys", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Afegir nou perfil", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Crea un perfil per desar els detalls d'aquesta consulta", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Pots consultar-ho en qualsevol moment als teus registres de salut", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Si tens més preguntes sobre això o qualsevol cosa relacionada, no dubtis a seguir parlant amb mi. Estic aquí per ajudar-te", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Informació general", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Nom", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Nom", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Joan", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Cognom", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Sexe", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Seleccioneu", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Home", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Dona", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Altre", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Data de naixement", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Edat", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "p. ex. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Número de telèfon", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Correu electrònic", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Ubicació", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "p. ex. Ciutat, País", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Cos & Dieta", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Alçada", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "p. ex. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Pes", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "p. ex. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Cicle Menstrual", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "p. ex. Regular, Irregular", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Restriccions Alimentàries", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Si us plau seleccioneu", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Feu-nos saber què mengeu i quines restriccions teniu", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Cap", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetarià", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegà", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Sense gluten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Índex de massa corporal (IMC)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "p. ex. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Perfil de salut", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Malalties cròniques", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "p. ex. Diabetis Tipus 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Si us plau, enumereu totes les malalties cròniques i incloeu quan van ser diagnosticades i qualsevol complicació.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Malalties anteriors", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "per exemple, refredats comuns freqüents", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Si us plau, enumera les malalties greus que has tingut en el passat, fins i tot si t'has recuperat", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Historial Quirúrgic", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "p. ex. apendicectomia", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Si us plau, enumera totes les cirurgies i inclou l'any i si hi va haver complicacions.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Medicaments d'ús ocasional", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "per exemple, Ibuprofè", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Si us plau, enumereu els medicaments que preneu de tant en tant (per exemple: analgèsics, medicaments per a al·lèrgies), incloent la dosi i el motiu d'ús.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Medicació habitual", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "per exemple, Metformina", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Si us plau, enumera tots els medicaments que prens regularment, incloent el nom, la dosi, quantes vegades al dia ho prens i per a quina condició és.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Al·lèrgies", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "per exemple, penicil·la – causa erupció", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Si us plau, enumera totes les al·lèrgies (medicaments, aliments, ambientals) i descriu quina reacció tens (per exemple: erupció, inflor, problemes respiratoris).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Condicions especials", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "p. ex. Embaràs, Discapacitat", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Si teniu alguna condició mèdica important que els metges haurien de conèixer sempre (per exemple: embaràs, dispositius implantats, discapacitats, teràpia anticoagulant), si us plau, descriviu-les. Si no en teniu, podeu deixar-ho en blanc.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Antecedents Familiars", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "p. ex. Malaltia Cardíaca, Càncer", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Si us plau, descriviu les malalties importants de la vostra família (per exemple: diabetis, hipertensió, malaltia cardíaca, càncer, malalties genètiques) i especifiqueu quin membre de la família tenia la condició.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Factors socials & d'estil de vida", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "p. ex. Fumar, Consum d'alcohol", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Si us plau, descriviu els factors de l'estil de vida que poden afectar la vostra salut, com ara el tabaquisme, l'alcohol, l'activitat física, la dieta, el son i la professió.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Dispositius mèdics", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "p. ex. marcapassos, audiòfon, bomba d'insulina", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Si us plau, enumera qualsevol dispositiu mèdic que utilitzis o que tinguis implantat, com ara marcapassos, bombes d'insulina, audiòfons, pròtesis o altres dispositius d'assistència o de monitoratge. Inclou detalls rellevants si escau.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Omnívor", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Menjar ràpid", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetarià", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Sense lactosa", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Dieta baixa en sodi", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Dieta baixa en sucre", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Dieta cardíaca", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Dieta renal", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Altres", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_cs.arb b/example/lib/src/l10n/profiles/app_cs.arb new file mode 100644 index 0000000..6941218 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_cs.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "cs", + "chatDrawerTitle": "Zdravotní záznamy", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NOVÉ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Vytvořte si zdravotní záznam", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Na konci konzultace přidejte svůj profil.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Přidat další profily", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Začněte konzultaci pro někoho jiného, aby vytvořil svůj profil.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Zaregistrujte se a vytvořte si svůj zdravotní záznam", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Zkusit znovu", + "@errorRetryButton": {}, + "dashboardDeleteError": "Nepodařilo se smazat profil", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Nepodařilo se načíst shrnutí profilu", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Zobrazit úplný záznam", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Sdílet", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Smazat", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Věk", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} rok} other{{value} roky}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Hmotnost", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Výška", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Alergie", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Chronické", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Léky", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Zařízení", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Konzultace", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Dokumenty", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Smazat zdravotní záznam?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Toto trvale odstraní vaše zdravotní údaje a nelze to vrátit zpět. Ztratíte kontext, který používáme k tomu, abychom vás vedli.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Zrušit", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Smazat", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Odstraňuji váš zdravotní záznam...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Nepodařilo se smazat profil", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Zdravotní záznam byl smazán", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Nový můžete vytvořit kdykoli tím, že si popovídáte s asistentem.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Vrátit se do chatu", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Úprava", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Nepodařilo se načíst profilová data", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Změny uloženy", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Vaše informace byly úspěšně aktualizovány.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Vrátit se na profil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Nepodařilo se aktualizovat profilová data", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Zrušit změny?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Provedli jste změny ve svém profilu. Uložte je, než odejdete, nebo je zrušte.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Pokračovat v úpravách", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Zahodit", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Upravit", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Přidat záznam", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Hledat", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Nenašly se žádné výsledky", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Stáhnout", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Sdílet", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Smazat", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Žádné dokumenty nenalezeny", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Chcete tento dokument smazat?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Tento soubor bude trvale odstraněn", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Zrušit", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Smazat", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Další akce", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Hledat", + "@profilesSearch": {}, + "profilesEmptyList": "Nebyly nalezeny žádné profily", + "@profilesEmptyList": {}, + "profilesViewMore": "Zobrazit více", + "@profilesViewMore": {}, + "profilesMore": "Více", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina si nyní pamatuje vaše zdraví", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Vaše konzultace nyní automaticky vytvářejí a aktualizují váš Zdravotní záznam.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Vaše zdravotní záznamy, vaše pravidla", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Zobrazit, upravit nebo přidat příznaky, léky, historii nebo dokumenty kdykoli.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Péče o celou rodinu", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Vytvořte zdravotní záznam pro své blízké, děti, rodiče nebo partnera.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Připraveni uložit svůj zdravotní záznam?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Po konzultaci klepněte na „Přidat profil“, abyste ho uložili.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Další", + "@profilesNextButton": {}, + "profilesStartButton": "Zahájit konzultaci", + "@profilesStartButton": {}, + "profilesLaterButton": "Možná později", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Zavřít", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Zdravotní záznam", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Zdravotní záznam — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...více", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...méně", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Přidat nový profil", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Vytvořte profil pro uložení podrobností této konzultace.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Můžete to kdykoli posoudit v Health Records", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Pokud máte další otázky ohledně toho nebo čehokoli s tím souvisejícího, neváhejte se mnou dál mluvit. Jsem tu, abych vám pomohl", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Obecné informace", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Jméno", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Jan Novák", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Křestní jméno", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Jan", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Příjmení", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Pohlaví", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Vyberte prosím", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Muž", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Žena", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Jiné", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Datum narození", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Věk", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "např. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Telefonní číslo", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-mail", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Místo", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "např. Město, Země", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Tělo & Strava", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Výška", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "např. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Hmotnost", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "např. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menstruační cyklus", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "např. Pravidelný, Nepravidelný", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Stravovací omezení", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Vyberte prosím", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Dejte nám vědět, co jíte a jaká máte omezení", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Žádné", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetarián", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Veganská", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Bez lepku", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Index tělesné hmotnosti (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "např. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Zdravotní profil", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Chronická onemocnění", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "např. Diabetes typu 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Uveďte všechny chronické nemoci a zahrňte, kdy byly diagnostikovány a jakékoliv komplikace.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Dřívější onemocnění", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "např. Časté nachlazení", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Uveďte prosím závažné nemoci, které jste měli v minulosti, i když jste se uzdravili.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Chirurgická anamnéza", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "např. apendektomie", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Uveďte prosím všechny operace a zahrňte rok a zda došlo k nějakým komplikacím.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Příležitostně užívané léky", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "např. Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Uveďte prosím léky, které užíváte občas (například: léky proti bolesti, léky na alergie), včetně dávkování a důvodu užívání.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Pravidelné léky", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "např. Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Uveďte prosím všechny léky, které pravidelně užíváte, včetně názvu, dávky, kolikrát denně je užíváte a na jaký stav jsou určeny.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Alergie", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "např. Penicilin – způsobuje vyrážku", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Uveďte prosím všechny alergie (léky, potraviny, prostředí) a popište, jakou reakci máte (například: vyrážka, otok, problémy s dýcháním).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Speciální stavy", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "např. těhotenství, postižení", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Pokud máte nějaké důležité zdravotní stavy, které by lékaři měli vždy znát (například: těhotenství, implantované zařízení, postižení, antikoagulační terapie), prosím, popište je. Pokud žádné nemáte, můžete to nechat prázdné.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Rodinná anamnéza", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "např. srdeční onemocnění, rakovina", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Prosím, popište důležité nemoci ve vaší rodině (například: cukrovka, vysoký krevní tlak, srdeční choroby, rakovina, genetické choroby) a uveďte, který člen rodiny měl tuto nemoc.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Sociální a životní faktory", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "např. kouření, konzumace alkoholu", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Prosím, popište faktory životního stylu, které mohou ovlivnit vaše zdraví, jako je kouření, alkohol, fyzická aktivita, strava, spánek a povolání.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Zdravotnické prostředky", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "např. kardiostimulátor, sluchadlo, inzulínová pumpa", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Uveďte prosím jakákoliv lékařská zařízení, která používáte nebo máte implantována, jako jsou kardiostimulátory, inzulinové pumpy, sluchadla, protézy nebo jiná asistenční či monitorovací zařízení. Zahrňte relevantní detaily, pokud je to možné.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Všežravý", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Rychlé občerstvení", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetarián", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Bez laktózy", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Dieta s nízkým obsahem sodíku", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Dieta s nízkým obsahem cukru", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Srdeční dieta", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Ledvinná dieta", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Jiné", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_da.arb b/example/lib/src/l10n/profiles/app_da.arb new file mode 100644 index 0000000..8693c48 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_da.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "da", + "chatDrawerTitle": "Sundhedsoptegnelser", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NY", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Opret din Sundhedsoptegnelse", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Tilføj din profil ved slutningen af din konsultation.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Tilføj flere profiler", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Start en konsultation for en anden for at oprette deres profil", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Tilmeld dig for at oprette din Sundhedsoptegnelse", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Prøv igen", + "@errorRetryButton": {}, + "dashboardDeleteError": "Kunne ikke slette profil", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Kunne ikke indlæse profiloversigt", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Se fuld optegnelse", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Del", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Slet", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Alder", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} år} other{{value} år}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Vægt", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Højde", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Allergier", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Kronisk", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Medicin", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Enheder", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Konsultationer", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Dokumenter", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Slet sundhedsoptegnelse?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Dette vil permanent fjerne dine sundhedsdata og kan ikke fortrydes. Du vil miste den kontekst, vi bruger til at vejlede dig.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Annuller", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Slet", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Sletter din sundhedsoptegnelse...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Kunne ikke slette profil", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Sundhedsoptegnelse slettet", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Du kan oprette en ny når som helst ved at chatte med assistenten.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Returner til chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Redigering", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Kunne ikke indlæse profildata", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Ændringer gemt", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Dine oplysninger er blevet opdateret med succes.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Returner til profil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Kunne ikke opdatere profildata", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Forkaste ændringer?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Du har foretaget nogle ændringer i din profil. Gem dem, før du går, eller kassér dem.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Fortsæt med at redigere", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Forkast", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Rediger", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Tilføj post", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Søg", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Ingen resultater fundet", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Download", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Del", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Slet", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Ingen dokumenter fundet", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Slette dette dokument?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Denne fil vil blive permanent fjernet", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Annuller", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Slet", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Flere handlinger", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Søg", + "@profilesSearch": {}, + "profilesEmptyList": "Ingen profiler fundet", + "@profilesEmptyList": {}, + "profilesViewMore": "Se mere", + "@profilesViewMore": {}, + "profilesMore": "Mere", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina husker nu dit helbred", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Dine konsultationer opbygger og opdaterer nu automatisk din Sundhedsoptegnelse.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Din sundhedsoptegnelse, dine regler", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Se, rediger eller tilføj symptomer, medicin, historie eller dokumenter når som helst.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Pas på hele din familie", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Opret en sundhedsoptegnelse for dine kære, dine børn, forældre eller partner.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Klar til at gemme din sundhedsjournal?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Efter din konsultation, tryk på \"Tilføj profil\" for at gemme det.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Næste", + "@profilesNextButton": {}, + "profilesStartButton": "Start en konsultation", + "@profilesStartButton": {}, + "profilesLaterButton": "Måske senere", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Luk", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Sundhedsoptegnelse", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Sundhedsoptegnelse — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...mere", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...mindre", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Tilføj ny profil", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Opret en profil for at gemme detaljerne om denne konsultation", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Du kan vurdere det når som helst i dine sundhedsoplysninger", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Hvis du har flere spørgsmål om dette eller noget relateret, er du velkommen til at blive ved med at tale med mig. Jeg er her for at hjælpe", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Generelle Oplysninger", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Navn", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Fornavn", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Efternavn", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Jensen", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Køn", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Vælg venligst", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Mand", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Kvinde", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Andet", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Fødselsdato", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Alder", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "f.eks. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Telefonnummer", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-mail", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Placering", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "f.eks. By, Land", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Krop & Kost", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Højde", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "f.eks. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Vægt", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "f.eks. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menstruationscyklus", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "f.eks. Regelmæssig, Uregelmæssig", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Kostbegrænsninger", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Vælg", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Lad os vide, hvad du spiser, og hvilke begrænsninger du har", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Ingen", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetar", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Veganer", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Glutenfri", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Kropsmasseindeks (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "f.eks. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Sundhedsprofil", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Kroniske sygdomme", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "f.eks. Type 2 Diabetes", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Angiv venligst alle kroniske sygdomme og inkluder, hvornår de blev diagnosticeret, og eventuelle komplikationer.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Tidligere sygdomme", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "f.eks. hyppig forkølelse", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Angiv venligst alvorlige sygdomme, du har haft tidligere, selvom du er blevet rask", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Tidligere operationer", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "f.eks. Appendektomi", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Angiv venligst alle operationer og inkluder året samt om der var nogen komplikationer.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Lejlighedsvis brugt medicin", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "f.eks. Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Angiv venligst de medicin, du tager fra tid til anden (for eksempel: smertestillende, allergimedicin), inklusive dosis og årsag til brug.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Regelmæssige Lægemidler", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "f.eks. Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Angiv venligst alle de medicin, du tager regelmæssigt, herunder navn, dosis, hvor mange gange om dagen du tager det, og hvilken tilstand det er til.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Allergier", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "f.eks. penicillin – forårsager udslæt", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Angiv venligst alle allergier (medicin, mad, miljø) og beskriv, hvilken reaktion du har (for eksempel: udslæt, hævelse, vejrtrækningsproblemer).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Særlige Tilstande", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "f.eks. Graviditet, Handicap", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Hvis du har nogen vigtige medicinske tilstande, som læger altid bør vide om (for eksempel: graviditet, implanterede enheder, handicap, antikoagulationsbehandling), bedes du beskrive dem. Hvis ikke, kan du lade dette stå tomt.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Familiehistorie", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "f.eks. hjertesygdom, kræft", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Beskriv venligst vigtige sygdomme i din familie (for eksempel: diabetes, hypertension, hjertesygdom, kræft, genetiske sygdomme) og angiv, hvilket familiemedlem der havde tilstanden.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Sociale & Livsstilsfaktorer", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "f.eks. rygning, alkoholforbrug", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Beskriv venligst livsstilsfaktorer, der kan påvirke dit helbred, såsom rygning, alkohol, fysisk aktivitet, kost, søvn og beskæftigelse.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Medicinsk udstyr", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "f.eks. Pacemaker, Høreapparat, Insulinpumpe", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Angiv venligst eventuelle medicinske enheder, du bruger eller har implanteret, såsom pacemakere, insulinpumper, høreapparater, proteser eller andre hjælpemidler eller overvågningsenheder. Inkluder relevante detaljer, hvis det er relevant.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Altædende", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Fastfood", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetar", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Laktosefri", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Saltfattig kost", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Sukkerfattig diæt", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Hjertevenlig kost", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Nyrediæt", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Andet", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_de.arb b/example/lib/src/l10n/profiles/app_de.arb new file mode 100644 index 0000000..0c5ce03 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_de.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "de", + "chatDrawerTitle": "Gesundheitsakten", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NEU", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Erstellen Sie Ihre Gesundheitsakte", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Fügen Sie am Ende Ihrer Beratung Ihr Profil hinzu.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Weitere Profile hinzufügen", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Starten Sie eine Beratung für jemand anderen, um dessen Profil zu erstellen.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Melden Sie sich an, um Ihre Gesundheitsakte zu erstellen", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Erneut versuchen", + "@errorRetryButton": {}, + "dashboardDeleteError": "Profil konnte nicht gelöscht werden", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Fehler beim Laden der Profilübersicht", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Vollständigen Datensatz anzeigen", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Teilen", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Löschen", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Alter", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} Jahr} other{{value} Jahre}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Gewicht", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Höhe", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Allergien", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Chronisch", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Medikament", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Geräte", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Konsultationen", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Dokumente", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Gesundheitsakte löschen?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Dies wird Ihre Gesundheitsdaten dauerhaft entfernen und kann nicht rückgängig gemacht werden. Sie verlieren den Kontext, den wir verwenden, um Sie zu leiten.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Abbrechen", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Löschen", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Löschen Ihres Gesundheitsdatensatzes...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Profil konnte nicht gelöscht werden", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Gesundheitsakte gelöscht", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Sie können jederzeit einen neuen erstellen, indem Sie mit dem Assistenten chatten.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Zurück zum Chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Bearbeiten", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Profildaten konnten nicht geladen werden", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Änderungen gespeichert", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Ihre Informationen wurden erfolgreich aktualisiert.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Zurück zum Profil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Fehler beim Aktualisieren der Profildaten", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Änderungen verwerfen?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Sie haben einige Änderungen an Ihrem Profil vorgenommen. Speichern Sie sie, bevor Sie gehen, oder verwerfen Sie sie.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Weiter bearbeiten", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Verwerfen", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Bearbeiten", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Aufzeichnung hinzufügen", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Suche", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Keine Ergebnisse gefunden", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Herunterladen", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Teilen", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Löschen", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Keine Dokumente gefunden", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Dieses Dokument löschen?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Diese Datei wird dauerhaft entfernt", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Abbrechen", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Löschen", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Weitere Aktionen", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Suche", + "@profilesSearch": {}, + "profilesEmptyList": "Keine Profile gefunden", + "@profilesEmptyList": {}, + "profilesViewMore": "Mehr anzeigen", + "@profilesViewMore": {}, + "profilesMore": "Mehr", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina erinnert sich jetzt an Ihre Gesundheit", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Ihre Konsultationen erstellen und aktualisieren jetzt automatisch Ihre Gesundheitsakte.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Ihr Gesundheitsbericht, Ihre Regeln", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Symptome, Medikamente, Vorgeschichte oder Dokumente jederzeit anzeigen, bearbeiten oder hinzufügen.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Kümmern Sie sich um Ihre ganze Familie", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Erstellen Sie eine Gesundheitsakte für Ihre Angehörigen, Ihre Kinder, Eltern oder Partner.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Bereit, Ihre Gesundheitsakte zu speichern?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Tippen Sie nach Ihrer Beratung auf „Profil hinzufügen“, um es zu speichern.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Weiter", + "@profilesNextButton": {}, + "profilesStartButton": "Eine Beratung starten", + "@profilesStartButton": {}, + "profilesLaterButton": "Vielleicht später", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Schließen", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Gesundheitsakte", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Gesundheitsakte — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...mehr", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...weniger", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Neues Profil hinzufügen", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Erstellen Sie ein Profil, um die Details dieser Konsultation zu speichern.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Sie können es jederzeit in Ihren Gesundheitsakten einsehen", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Wenn Sie weitere Fragen dazu oder zu etwas anderem haben, können Sie gerne weiter mit mir sprechen. Ich bin hier, um zu helfen", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Allgemeine Informationen", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Name", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Vorname", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Nachname", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Geschlecht", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Bitte auswählen", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Männlich", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Weiblich", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Andere", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Geburtsdatum", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "JJJJ-MM-TT", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Alter", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "z.B. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Telefonnummer", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-Mail", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "beispiel@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Standort", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "z.B. Stadt, Land", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Körper & Ernährung", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Höhe", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "z.B. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Gewicht", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "z.B. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menstruationszyklus", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "z.B. Regelmäßig, Unregelmäßig", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Diätetische Einschränkungen", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Bitte auswählen", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Lassen Sie uns wissen, was Sie essen und welche Einschränkungen Sie haben", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Keine", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetarisch", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Glutenfrei", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Body-Mass-Index (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "z.B. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Gesundheitsprofil", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Chronische Krankheiten", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "z.B. Diabetes Typ 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Bitte listen Sie alle chronischen Krankheiten auf und geben Sie an, wann sie diagnostiziert wurden und ob es Komplikationen gab.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Frühere Erkrankungen", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "z.B. Häufige Erkältungen", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Bitte listen Sie ernsthafte Krankheiten auf, die Sie in der Vergangenheit hatten, auch wenn Sie sich erholt haben.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Chirurgische Vorgeschichte", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "z.B. Appendektomie", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Bitte listen Sie alle Operationen auf und geben Sie das Jahr sowie eventuelle Komplikationen an.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Gelegentlich verwendete Medikamente", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "z.B. Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Bitte listen Sie Medikamente auf, die Sie von Zeit zu Zeit einnehmen (zum Beispiel: Schmerzmittel, Allergiemedikamente), einschließlich der Dosis und des Verwendungszwecks.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Regelmäßige Medikamente", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "z.B. Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Bitte listen Sie alle Medikamente auf, die Sie regelmäßig einnehmen, einschließlich des Namens, der Dosis, wie oft Sie es täglich einnehmen und wofür es bestimmt ist.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Allergien", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "z.B. Penicillin – verursacht Ausschlag", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Bitte listen Sie alle Allergien (Medikamente, Lebensmittel, Umwelt) auf und beschreiben Sie, welche Reaktion Sie haben (zum Beispiel: Ausschlag, Schwellung, Atemprobleme).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Besondere Bedingungen", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "z.B. Schwangerschaft, Behinderung", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Wenn Sie wichtige medizinische Bedingungen haben, die Ärzte immer wissen sollten (zum Beispiel: Schwangerschaft, implantierte Geräte, Behinderungen, Antikoagulationstherapie), beschreiben Sie diese bitte. Wenn keine vorhanden sind, können Sie dies leer lassen.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Familiengeschichte", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "z.B. Herzkrankheit, Krebs", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Bitte beschreiben Sie wichtige Krankheiten in Ihrer Familie (zum Beispiel: Diabetes, Bluthochdruck, Herzkrankheiten, Krebs, genetische Erkrankungen) und geben Sie an, welches Familienmitglied die Erkrankung hatte.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Soziale und Lebensstilfaktoren", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "z. B. Rauchen, Alkoholkonsum", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Bitte beschreiben Sie Lebensstilfaktoren, die Ihre Gesundheit beeinflussen können, wie Rauchen, Alkohol, körperliche Aktivität, Ernährung, Schlaf und Beruf.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Medizinische Geräte", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "z.B. Herzschrittmacher, Hörgerät, Insulinpumpe", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Bitte listen Sie alle medizinischen Geräte auf, die Sie verwenden oder implantiert haben, wie z.B. Herzschrittmacher, Insulinpumpen, Hörgeräte, Prothesen oder andere Hilfs- oder Überwachungsgeräte. Fügen Sie relevante Details hinzu, falls zutreffend.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Omnivor", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Fast Food", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetarier", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Laktosefrei", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Natriumarme Ernährung", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Zuckerarme Ernährung", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Kardiale Diät", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Nierendiät", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Andere", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_el.arb b/example/lib/src/l10n/profiles/app_el.arb new file mode 100644 index 0000000..09cf031 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_el.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "el", + "chatDrawerTitle": "Ιατρικά Αρχεία", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "ΝΕΟ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Δημιουργήστε το Ιατρικό σας Αρχείο", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Στο τέλος της συμβουλής σας, προσθέστε το προφίλ σας.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Προσθέστε περισσότερα προφίλ", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Ξεκινήστε μια συμβουλή για κάποιον άλλο για να δημιουργήσει το προφίλ του.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Εγγραφείτε για να δημιουργήσετε το Ιατρικό σας Αρχείο", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Δοκιμάστε ξανά", + "@errorRetryButton": {}, + "dashboardDeleteError": "Αποτυχία διαγραφής προφίλ", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Αποτυχία φόρτωσης περιλήψεως προφίλ", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Δείτε το Πλήρες Ρεκόρ", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Μοιραστείτε", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Διαγραφή", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Ηλικία", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} χρόνος} other{{value} χρόνια}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Βάρος", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} κιλά", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Ύψος", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} εκ. ", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Αλλεργίες", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Χρόνια", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Φάρμακο", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Συσκευές", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Συμβουλές", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Έγγραφα", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Διαγραφή Ιατρικού Ρεκόρ;", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Αυτό θα αφαιρέσει μόνιμα τα δεδομένα υγείας σας και δεν μπορεί να αναιρεθεί. Θα χάσετε το πλαίσιο που χρησιμοποιούμε για να σας καθοδηγήσουμε.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Ακύρωση", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Διαγραφή", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Διαγραφή του ιατρικού σας αρχείου...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Αποτυχία διαγραφής προφίλ", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Η ιατρική εγγραφή διαγράφηκε", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Μπορείτε να δημιουργήσετε ένα νέο οποιαδήποτε στιγμή συνομιλώντας με τον βοηθό.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Επιστροφή στη συνομιλία", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Επεξεργασία", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Αποτυχία φόρτωσης δεδομένων προφίλ", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Οι αλλαγές αποθηκεύτηκαν", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Οι πληροφορίες σας έχουν ενημερωθεί με επιτυχία.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Επιστροφή στο προφίλ", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Αποτυχία ενημέρωσης δεδομένων προφίλ", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Θέλετε να απορρίψετε τις αλλαγές;", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Έχετε κάνει κάποιες αλλαγές στο προφίλ σας. Αποθηκεύστε τις πριν φύγετε ή απορρίψτε τις.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Συνέχισε την επεξεργασία", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Απόρριψη", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Επεξεργασία", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Προσθήκη καταγραφής", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Αναζήτηση", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Δεν βρέθηκαν αποτελέσματα", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Λήψη", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Μοιραστείτε", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Διαγραφή", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Δεν βρέθηκαν έγγραφα", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Διαγράψτε αυτό το έγγραφο;", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Αυτό το αρχείο θα αφαιρεθεί μόνιμα", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Ακύρωση", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Διαγραφή", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Περισσότερες ενέργειες", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Αναζήτηση", + "@profilesSearch": {}, + "profilesEmptyList": "Δεν βρέθηκαν προφίλ", + "@profilesEmptyList": {}, + "profilesViewMore": "Δείτε περισσότερα", + "@profilesViewMore": {}, + "profilesMore": "Περισσότερα", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Η Doctorina τώρα θυμάται την υγεία σας", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Οι συμβουλές σας τώρα δημιουργούν και ενημερώνουν αυτόματα το Ιατρικό σας Φάκελο.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Το Ιατρικό σας Αρχείο, οι κανόνες σας", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Δείτε, επεξεργαστείτε ή προσθέστε συμπτώματα, φάρμακα, ιστορικό ή έγγραφα οποιαδήποτε στιγμή.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Φροντίστε για ολόκληρη την οικογένειά σας", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Δημιουργήστε ένα Ιατρικό Φάκελο για τους αγαπημένους σας, τα παιδιά σας, τους γονείς σας ή τον σύντροφό σας.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Έτοιμοι να αποθηκεύσετε το Ιατρικό σας Αρχείο;", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Μετά τη συμβουλή σας, πατήστε «Προσθήκη προφίλ» για να το αποθηκεύσετε.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Επόμενο", + "@profilesNextButton": {}, + "profilesStartButton": "Ξεκινήστε μια συμβουλή", + "@profilesStartButton": {}, + "profilesLaterButton": "Ίσως αργότερα", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Κλείσιμο", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Ιατρικό Ιστορικό", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Ιατρικό αρχείο — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...περισσότερα", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...λιγότερο", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Προσθήκη νέου προφίλ", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Δημιουργήστε ένα προφίλ για να αποθηκεύσετε τις λεπτομέρειες αυτής της συμβουλής.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Μπορείτε να το αξιολογήσετε οποιαδήποτε στιγμή στα Αρχεία Υγείας σας", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Αν έχετε περισσότερες ερωτήσεις για αυτό ή οτιδήποτε σχετικό, μην διστάσετε να συνεχίσετε να μιλάτε μαζί μου. Είμαι εδώ για να βοηθήσω", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Γενικές πληροφορίες", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Όνομα", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Όνομα", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Γιάννης", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Επώνυμο", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Φύλο", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Επιλέξτε", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Άνδρας", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Γυναίκα", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Άλλο", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Ημερομηνία γέννησης", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Ηλικία", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "π.χ. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Αριθμός τηλεφώνου", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Ηλεκτρονικό ταχυδρομείο", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Τοποθεσία", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "π.χ. Πόλη, Χώρα", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Σώμα & Διατροφή", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Ύψος", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "π.χ. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Βάρος", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "π.χ. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Κύκλος περιόδου", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "π.χ. Τακτική, Ακανόνιστη", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Διατροφικοί Περιορισμοί", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Παρακαλώ επιλέξτε", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Ενημερώστε μας τι τρώτε και τυχόν περιορισμούς που έχετε", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Κανένα", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Χορτοφάγος", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Βίγκαν", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Χωρίς γλουτένη", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Δείκτης Μάζας Σώματος (ΔΜΣ)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "π.χ. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Προφίλ Υγείας", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Χρόνιες Παθήσεις", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "π.χ. Διαβήτης Τύπου 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Παρακαλώ καταγράψτε όλες τις χρόνιες ασθένειες και συμπεριλάβετε πότε διαγνώστηκαν και τυχόν επιπλοκές.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Προηγούμενα νοσήματα", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "π.χ. Συχνό κοινό κρυολόγημα", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Παρακαλώ καταγράψτε σοβαρές ασθένειες που είχατε στο παρελθόν, ακόμη και αν αναρρώσατε.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Χειρουργικό ιστορικό", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "π.χ. Σκωληκοειδεκτομή", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Παρακαλώ καταγράψτε όλες τις χειρουργικές επεμβάσεις και συμπεριλάβετε το έτος και αν υπήρξαν επιπλοκές.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Φάρμακα που χρησιμοποιούνται περιστασιακά", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "π.χ. Ιβουπροφαίνη", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Παρακαλώ καταγράψτε τα φάρμακα που παίρνετε από καιρό σε καιρό (για παράδειγμα: παυσίπονα, φάρμακα αλλεργίας), συμπεριλαμβανομένης της δόσης και του λόγου χρήσης.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Τακτικά φάρμακα", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "π.χ. Μετφορμίνη", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Παρακαλώ καταγράψτε όλα τα φάρμακα που παίρνετε τακτικά, συμπεριλαμβανομένου του ονόματος, της δόσης, πόσες φορές την ημέρα το παίρνετε και για ποια κατάσταση είναι.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Αλλεργίες", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "π.χ. Πενικιλίνη – προκαλεί εξάνθημα", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Παρακαλώ καταγράψτε όλες τις αλλεργίες (φάρμακα, τρόφιμα, περιβάλλον) και περιγράψτε ποια αντίδραση έχετε (για παράδειγμα: εξάνθημα, πρήξιμο, προβλήματα αναπνοής).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Ειδικές παθήσεις", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "π.χ. Εγκυμοσύνη, Αναπηρία", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Εάν έχετε οποιεσδήποτε σημαντικές ιατρικές καταστάσεις που οι γιατροί θα πρέπει πάντα να γνωρίζουν (για παράδειγμα: εγκυμοσύνη, εμφυτευμένες συσκευές, αναπηρίες, θεραπεία αντιπηκτικών), παρακαλώ περιγράψτε τις. Αν δεν έχετε, μπορείτε να το αφήσετε κενό.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Οικογενειακό Ιστορικό", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "π.χ. Καρδιακή νόσος, Καρκίνος", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Παρακαλώ περιγράψτε σημαντικές ασθένειες στην οικογένειά σας (για παράδειγμα: διαβήτης, υπέρταση, καρδιοπάθεια, καρκίνος, γενετικές ασθένειες) και προσδιορίστε ποιο μέλος της οικογένειας είχε την κατάσταση.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Κοινωνικοί παράγοντες και παράγοντες τρόπου ζωής", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "π.χ. Κάπνισμα, Κατανάλωση αλκοόλ", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Παρακαλώ περιγράψτε παράγοντες τρόπου ζωής που μπορούν να επηρεάσουν την υγεία σας, όπως το κάπνισμα, το αλκοόλ, τη σωματική δραστηριότητα, τη διατροφή, τον ύπνο και το επάγγελμα.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Ιατρικές Συσκευές", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "π.χ. Βηματοδότης, Ακουστικό βαρηκοΐας, Αντλία ινσουλίνης", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Παρακαλώ αναφέρετε οποιαδήποτε ιατρική συσκευή χρησιμοποιείτε ή έχετε εμφυτευμένη, όπως βηματοδότες, αντλίες ινσουλίνης, ακουστικά, προσθετικά ή άλλες βοηθητικές ή παρακολουθητικές συσκευές. Συμπεριλάβετε σχετικές λεπτομέρειες αν υπάρχουν.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Παμφάγος", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Γρήγορο Φαγητό", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Ψαρο-χορτοφάγος", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Χωρίς λακτόζη", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Δίαιτα με χαμηλή πρόσληψη νατρίου", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Δίαιτα χαμηλής περιεκτικότητας σε ζάχαρη", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Δίαιτα για την καρδιά", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Νεφρική δίαιτα", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Άλλο", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_en.arb b/example/lib/src/l10n/profiles/app_en.arb new file mode 100644 index 0000000..f6d6009 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_en.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "en", + "chatDrawerTitle": "Health Records", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NEW", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Create your Health Record", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "At the end of your consultation, add your profile.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Add more profiles", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Start a consultation for someone else to create their profile.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Sign up to create your Health Record", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Retry", + "@errorRetryButton": {}, + "dashboardDeleteError": "Failed to delete profile", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Failed to load profile summary", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "View Full Record", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Share", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Delete", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Age", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} year} other{{value} years}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Weight", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Height", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Allergies", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Chronic", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Medication", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Devices", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Consultations", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Documents", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Delete Health Record?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "This will permanently remove your health data and can’t be undone. You’ll lose the context we use to guide you.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Cancel", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Delete", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Deleting your health record...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Failed to delete profile", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Health record deleted", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "You can create a new one anytime by chatting with the assistant.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Return to Chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Editing", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Failed to load profile data", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Changes saved", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Your information has been successfully updated.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Return to profile", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Failed to update profile data", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Discard changes?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "You made some changes to your profile.
Save them before you go, or discard them.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Keep editing", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Discard", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Edit", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Add record", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Search", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "No results found", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Download", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Share", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Delete", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "No documents found", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Delete this document?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "This file will be permanently removed", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Cancel", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Delete", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "More actions", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Search", + "@profilesSearch": {}, + "profilesEmptyList": "No profiles found", + "@profilesEmptyList": {}, + "profilesViewMore": "View more", + "@profilesViewMore": {}, + "profilesMore": "More", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina now remembers your health", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Your consultations now build and update your Health Record automatically.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Your Health Record, your rules", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "View, edit, or add symptoms, medications, history, or documents anytime.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Care for your whole family", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Create a Health Record for your loved ones, your kids, parents, or partner.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Ready to save your Health Record?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "After your consultation, tap “Add profile” to save it.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Next", + "@profilesNextButton": {}, + "profilesStartButton": "Start a consultation", + "@profilesStartButton": {}, + "profilesLaterButton": "Maybe later", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Close", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Health Record", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Health Record — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...more", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...less", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Add new profile", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Create a profile to save the details of this consultation.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "You can assess it anytime in your Health Records", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "If you have more questions about this or anything related, feel free to keep talking with me. I'm here to help", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "General Information", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Name", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "First name", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Last name", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Sex", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Please select", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Male", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Female", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Other", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Date of Birth", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Age", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "e.g. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Phone number", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Email", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Location", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "e.g. City, Country", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Body & Diet", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Height", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "e.g. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Weight", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "e.g. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menstrual Cycle", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "e.g. Regular, Irregular", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Dietary Restrictions", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Please select", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Let us know what you eat and any restrictions you have", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "None", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetarian", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Gluten Free", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Body Mass Index (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "e.g. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Health Profile", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Chronic Illnesses", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "e.g. Diabetes Type 2 ", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Please list all chronic diseases and include when they were diagnosed and any complications.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Past Illnesses", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "e.g. Frequent common cold", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Please list serious illnesses you had in the past, even if you recovered.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Surgical History", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "e.g. Appendectomy", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Please list all surgeries and include the year and whether there were any complications.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Occasionally used Medications", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "e.g. Ibuprofen ", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Please list medications you take from time to time (for example: painkillers, allergy medications), including the dose and reason for use.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Regular Medications", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "e.g. Metformin ", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Please list all medications you take regularly, including the name, dose, how many times per day you take it, and what condition it is for.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Allergies", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "e.g. Penicillin – causes rash", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Please list all allergies (medications, food, environmental), and describe what reaction you have (for example: rash, swelling, breathing problems).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Special Conditions", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "e.g. Pregnancy, Disability", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "If you have any important medical conditions that doctors should always know about (for example: pregnancy, implanted devices, disabilities, anticoagulation therapy), please describe them. If none, you can leave this blank.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Family History", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "e.g. Heart Disease, Cancer", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Please describe important diseases in your family (for example: diabetes, hypertension, heart disease, cancer, genetic diseases) and specify which family member had the condition.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Social & Lifestyle Factors", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "e.g. Smoking, Alcohol consumption", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Please describe lifestyle factors that can affect your health, such as smoking, alcohol, physical activity, diet, sleep, and occupation.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Medical Devices", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "e.g. Pacemaker, Hearing aid, Insulin pump", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Please list any medical devices you use or have implanted, such as pacemakers, insulin pumps, hearing aids, prosthetics, or other assistive or monitoring devices. Include relevant details if applicable.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Omnivorous", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Fast Food", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescatarian", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Lactose-Free", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Low-sodium diet", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Low-sugar diet", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Cardiac diet", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Renal diet", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Other", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_es.arb b/example/lib/src/l10n/profiles/app_es.arb new file mode 100644 index 0000000..aa44c99 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_es.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "es", + "chatDrawerTitle": "Registros de salud", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NUEVO", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Crea tu Registro de Salud", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Al final de su consulta, agregue su perfil", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Agregar más perfiles", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Inicia una consulta para que otra persona cree su perfil", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Regístrate para crear tu Historial Médico", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Reintentar", + "@errorRetryButton": {}, + "dashboardDeleteError": "No se pudo eliminar el perfil", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Error al cargar el resumen del perfil", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Ver registro completo", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Compartir", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Eliminar", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Edad", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} año} other{{value} años}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Peso", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Altura", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Alergias", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Crónico", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Medicamentos", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Dispositivos", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Consultas", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Documentos", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "¿Eliminar el registro de salud?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Esto eliminará permanentemente tus datos de salud y no se puede deshacer. Perderás el contexto que usamos para guiarte.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Cancelar", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Eliminar", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Eliminando su registro de salud...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "No se pudo eliminar el perfil", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Registro de salud eliminado", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Puedes crear uno nuevo en cualquier momento chateando con el asistente.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Volver al chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Editando", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "No se pudo cargar los datos del perfil", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Cambios guardados", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Su información ha sido actualizada con éxito.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Volver al perfil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Error al actualizar los datos del perfil", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "¿Descartar cambios?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Hiciste algunos cambios en tu perfil. Guárdalos antes de irte o descártalos.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Seguir editando", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Descartar", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Editar", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Agregar registro", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Buscar", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "No se encontraron resultados", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Descargar", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Compartir", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Eliminar", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "No se encontraron documentos", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "¿Eliminar este documento?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Este archivo será eliminado permanentemente", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Cancelar", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Eliminar", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Más acciones", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Buscar", + "@profilesSearch": {}, + "profilesEmptyList": "No se encontraron perfiles", + "@profilesEmptyList": {}, + "profilesViewMore": "Ver más", + "@profilesViewMore": {}, + "profilesMore": "Más", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina ahora recuerda tu salud", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Tus consultas ahora construyen y actualizan tu Historial Médico automáticamente.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Tu historial médico, tus reglas", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Ve, edita o añade síntomas, medicamentos, historial o documentos en cualquier momento", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Cuida de toda tu familia", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Crea un registro de salud para tus seres queridos, tus hijos, padres o pareja.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "¿Listo para guardar tu historial médico?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Después de su consulta, toque “Agregar perfil” para guardarlo.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Siguiente", + "@profilesNextButton": {}, + "profilesStartButton": "Iniciar una consulta", + "@profilesStartButton": {}, + "profilesLaterButton": "Quizás más tarde", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Cerrar", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Historial médico", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Historial médico — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...más", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...menos", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Agregar nuevo perfil", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Crear un perfil para guardar los detalles de esta consulta.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Puede consultarlo en cualquier momento en Health Records", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Si tienes más preguntas sobre esto o cualquier cosa relacionada, no dudes en seguir hablando conmigo. Estoy aquí para ayudarte", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Información General", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Nombre", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Juan Pérez", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Nombre", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Juan", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Apellido", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Sexo", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Por favor, seleccione", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Masculino", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Femenino", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Otro", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Fecha de nacimiento", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "AAAA-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Edad", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "p. ej. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Número de teléfono", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Correo electrónico", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Ubicación", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "p. ej. Ciudad, País", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Cuerpo & Dieta", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Altura", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "p. ej. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Peso", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "p. ej. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Ciclo menstrual", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "p. ej. Regular, Irregular", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Restricciones alimentarias", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Seleccione", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Háganos saber qué come y cualquier restricción que tenga", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Ninguna", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetariano", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegano", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Sin gluten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Índice de masa corporal (IMC)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "p. ej. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Perfil de salud", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Enfermedades crónicas", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "por ejemplo, diabetes tipo 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Por favor, enumere todas las enfermedades crónicas e incluya cuándo fueron diagnosticadas y cualquier complicación.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Enfermedades previas", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "por ejemplo, resfriados frecuentes", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Por favor, enumere las enfermedades graves que tuvo en el pasado, incluso si se recuperó", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Antecedentes quirúrgicos", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "p. ej. Apendicectomía", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Por favor, enumere todas las cirugías e incluya el año y si hubo alguna complicación", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Medicamentos de Uso Ocasional", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "por ejemplo, Ibuprofeno", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Por favor, enumere los medicamentos que toma de vez en cuando (por ejemplo: analgésicos, medicamentos para alergias), incluyendo la dosis y la razón de uso", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Medicamentos habituales", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "p. ej., Metformina", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Por favor, enumere todos los medicamentos que toma regularmente, incluyendo el nombre, la dosis, cuántas veces al día los toma y para qué condición son.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Alergias", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "por ejemplo, penicilina – causa erupción", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Por favor, enumere todas las alergias (medicamentos, alimentos, ambientales) y describa qué reacción tiene (por ejemplo: erupción, hinchazón, problemas para respirar).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Condiciones Especiales", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "p. ej. Embarazo, discapacidad", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Si tiene alguna condición médica importante que los médicos siempre deben conocer (por ejemplo: embarazo, dispositivos implantados, discapacidades, terapia anticoagulante), por favor descríbala. Si no, puede dejar esto en blanco.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Antecedentes familiares", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "p. ej. enfermedad cardíaca, cáncer", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Por favor, describa las enfermedades importantes en su familia (por ejemplo: diabetes, hipertensión, enfermedades del corazón, cáncer, enfermedades genéticas) y especifique qué miembro de la familia tuvo la condición.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Factores Sociales y de Estilo de Vida", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "p. ej. Fumar, Consumo de alcohol", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Por favor, describa los factores de estilo de vida que pueden afectar su salud, como fumar, alcohol, actividad física, dieta, sueño y ocupación.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Dispositivos médicos", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "p. ej. marcapasos, audífono, bomba de insulina", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Por favor, enumere cualquier dispositivo médico que use o tenga implantado, como marcapasos, bombas de insulina, audífonos, prótesis u otros dispositivos de asistencia o monitoreo. Incluya detalles relevantes si corresponde.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Omnívoro", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Comida Rápida", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetariano", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Sin lactosa", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Dieta baja en sodio", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Dieta baja en azúcar", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Dieta cardíaca", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Dieta renal", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Otro", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_fa.arb b/example/lib/src/l10n/profiles/app_fa.arb new file mode 100644 index 0000000..09f2c3e --- /dev/null +++ b/example/lib/src/l10n/profiles/app_fa.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "fa", + "chatDrawerTitle": "سوابق پزشکی", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "جدید", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "سابقه سلامت خود را ایجاد کنید", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "در پایان مشاوره خود، پروفایل خود را اضافه کنید.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "اضافه کردن پروفایل‌های بیشتر", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "برای شخص دیگری مشاوره‌ای آغاز کنید تا پروفایل او را ایجاد کنید.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "برای ایجاد پرونده سلامت خود ثبت نام کنید", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "مجدد تلاش کنید", + "@errorRetryButton": {}, + "dashboardDeleteError": "حذف پروفایل ناموفق بود", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "بارگذاری خلاصه پروفایل ناموفق بود", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "مشاهده رکورد کامل", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "به اشتراک گذاری", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "حذف", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "سن", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} سال} other{{value} سال}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "وزن", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} کیلوگرم", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "قد", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} سانتی‌متر", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "آلرژی‌ها", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "مزمن", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "دارو", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "دستگاه‌ها", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "مشاوره‌ها", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "اسناد", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "حذف پرونده سلامت؟", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "این اطلاعات سلامتی شما را به طور دائمی حذف می‌کند و قابل بازگشت نیست. شما زمینه‌ای را که ما برای راهنمایی شما استفاده می‌کنیم، از دست خواهید داد.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "لغو", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "حذف", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "در حال حذف پرونده سلامت شما...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "حذف پروفایل ناموفق بود", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "سابقه سلامت حذف شد", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "شما می‌توانید هر زمان که بخواهید با چت کردن با دستیار یک مورد جدید ایجاد کنید", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "بازگشت به چت", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "ویرایش", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "بارگذاری داده‌های پروفایل ناموفق بود", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "تغییرات ذخیره شد", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "اطلاعات شما با موفقیت به‌روزرسانی شد.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "بازگشت به پروفایل", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "به‌روزرسانی داده‌های پروفایل ناموفق بود", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "آیا تغییرات را حذف کنید؟", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "شما تغییراتی در پروفایل خود ایجاد کرده‌اید. آنها را قبل از رفتن ذخیره کنید یا کنار بگذارید.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "ادامه ویرایش", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "حذف", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "ویرایش", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "اضافه کردن رکورد", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "جستجو", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "نتیجه‌ای یافت نشد", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "دانلود", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "به اشتراک گذاری", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "حذف", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "هیچ سندی پیدا نشد", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "آیا این سند را حذف کنید؟", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "این فایل به طور دائمی حذف خواهد شد", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "لغو", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "حذف", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "اقدامات بیشتر", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "جستجو", + "@profilesSearch": {}, + "profilesEmptyList": "هیچ پروفایلی یافت نشد", + "@profilesEmptyList": {}, + "profilesViewMore": "مشاهده بیشتر", + "@profilesViewMore": {}, + "profilesMore": "بیشتر", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "داکترینا حالا سلامتی شما را به خاطر می‌سپارد", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "مشاوره‌های شما اکنون به‌طور خودکار پرونده سلامت شما را ایجاد و به‌روزرسانی می‌کند.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "سابقه سلامت شما، قوانین شما", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "هر زمان که بخواهید، می‌توانید علائم، داروها، تاریخچه یا مدارک را مشاهده، ویرایش یا اضافه کنید.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "به خانواده‌تان رسیدگی کنید", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "یک پرونده سلامت برای عزیزانتان، فرزندان، والدین یا شریک خود ایجاد کنید.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "آیا آماده‌اید تا سابقه سلامت خود را ذخیره کنید؟", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "پس از مشاوره، روی \"افزودن پروفایل\" ضربه بزنید تا آن را ذخیره کنید.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "بعدی", + "@profilesNextButton": {}, + "profilesStartButton": "مشاوره را شروع کنید", + "@profilesStartButton": {}, + "profilesLaterButton": "شاید بعداً", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "بستن", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "سابقه پزشکی", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "سابقه پزشکی — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...بیشتر", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "کمتر", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "افزودن پروفایل جدید", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "یک پروفایل ایجاد کنید تا جزئیات این مشاوره را ذخیره کنید.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "می‌توانید هر زمان آن را در سوابق سلامت خود ارزیابی کنید", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "اگر دربارهٔ این یا هر موضوع مرتبط دیگری سوال بیشتری دارید، می‌توانید گفت‌وگو را با من ادامه دهید. من اینجا هستم تا کمک کنم", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "اطلاعات عمومی", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "نام", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "نام", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "نام خانوادگی", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "جنسیت", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "لطفاً انتخاب کنید", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "مرد", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "زن", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "سایر", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "تاریخ تولد", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "سن", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "مثلاً ۳۰", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "شماره تلفن", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ایمیل", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "موقعیت", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "مثلاً شهر، کشور", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "بدن و رژیم غذایی", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "قد", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "مثلاً 180 سانتی‌متر", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "وزن", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "مثلاً 75 کیلوگرم", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "چرخه قاعدگی", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "مثلاً منظم، نامنظم", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "محدودیت‌های غذایی", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "لطفاً انتخاب کنید", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "به ما بگویید چه می‌خورید و هر گونه محدودیتی که دارید", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "هیچ‌کدام", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "گیاه‌خوار", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "وگان", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "بدون گلوتن", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "شاخص توده بدنی (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "مثلاً 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "پروفایل سلامت", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "بیماری‌های مزمن", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "به عنوان مثال، دیابت نوع ۲", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "لطفاً تمام بیماری‌های مزمن را فهرست کنید و زمان تشخیص و هرگونه عارضه را شامل کنید.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "سابقه بیماری‌ها", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "به عنوان مثال: سرماخوردگی مکرر", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "لطفاً بیماری‌های جدی که در گذشته داشتید را فهرست کنید، حتی اگر بهبود یافته‌اید.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "سوابق جراحی", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "مثلاً آپاندکتومی", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "لطفاً تمام جراحی‌ها را فهرست کنید و سال و اینکه آیا عوارضی وجود داشته است را شامل کنید.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "داروهای مصرف گاه‌به‌گاه", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "به عنوان مثال، ایبوپروفن", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "لطفاً داروهایی را که گاه به گاه مصرف می‌کنید (برای مثال: مسکن‌ها، داروهای آلرژی) به همراه دوز و دلیل مصرف ذکر کنید", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "داروهای منظم", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "به عنوان مثال، متفورمین", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "لطفاً تمام داروهایی را که به طور منظم مصرف می‌کنید، شامل نام، دوز، تعداد دفعات در روز و اینکه برای چه بیماری است، لیست کنید.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "حساسیت‌ها", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "مثلاً پنی‌سیلین – باعث راش می‌شود", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "لطفاً تمام آلرژی‌ها (داروها، غذا، محیطی) را فهرست کنید و توصیف کنید که چه واکنشی دارید (برای مثال: راش، ورم، مشکلات تنفسی).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "شرایط ویژه", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "مثلاً بارداری، ناتوانی", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "اگر شرایط پزشکی مهمی دارید که پزشکان باید همیشه از آن مطلع باشند (برای مثال: بارداری، دستگاه‌های کاشته شده، ناتوانی‌ها، درمان ضد انعقاد)، لطفاً آن‌ها را توصیف کنید. اگر هیچ‌کدام نیست، می‌توانید این قسمت را خالی بگذارید.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "سابقه خانوادگی", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "مثلاً بیماری قلبی، سرطان", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "لطفاً بیماری‌های مهم خانواده‌تان را توصیف کنید (برای مثال: دیابت، فشار خون، بیماری قلبی، سرطان، بیماری‌های ژنتیکی) و مشخص کنید کدام عضو خانواده این بیماری را داشته است.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "عوامل اجتماعی و سبک زندگی", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "مثلاً سیگار کشیدن، مصرف الکل", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "لطفاً عوامل سبک زندگی که می‌توانند بر سلامت شما تأثیر بگذارند، مانند سیگار کشیدن، الکل، فعالیت بدنی، رژیم غذایی، خواب و شغل را توصیف کنید.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "دستگاه‌های پزشکی", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "مثلاً ضربان‌ساز، سمعک، پمپ انسولین", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "لطفاً هر دستگاه پزشکی که استفاده می‌کنید یا در بدن شما کاشته شده است، مانند پیس‌میکرها، پمپ‌های انسولین، سمعک‌ها، پروتزها یا سایر دستگاه‌های کمکی یا نظارتی را فهرست کنید. در صورت لزوم جزئیات مربوطه را شامل کنید.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "همه‌چیزخوار", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "فست فود", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "پسکاتاریان", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "بدون لاکتوز", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "رژیم کم‌نمک", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "رژیم کم‌قند", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "رژیم قلبی", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "رژیم کلیوی", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "سایر", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_fr.arb b/example/lib/src/l10n/profiles/app_fr.arb new file mode 100644 index 0000000..35ece65 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_fr.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "fr", + "chatDrawerTitle": "Dossiers de santé", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NOUVEAU", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Créez votre dossier de santé", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "À la fin de votre consultation, ajoutez votre profil.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Ajouter plus de profils", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Commencez une consultation pour quelqu'un d'autre afin de créer son profil.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Inscrivez-vous pour créer votre dossier de santé", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Réessayer", + "@errorRetryButton": {}, + "dashboardDeleteError": "Échec de la suppression du profil", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Échec du chargement du résumé du profil", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Voir le dossier complet", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Partager", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Supprimer", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Âge", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} an} other{{value} ans}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Poids", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Taille", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Allergies", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Chronique", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Médicament", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Appareils", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Consultations", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Documents", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Supprimer le dossier de santé ?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Cela supprimera définitivement vos données de santé et ne peut pas être annulé. Vous perdrez le contexte que nous utilisons pour vous guider.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Annuler", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Supprimer", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Suppression de votre dossier de santé...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Échec de la suppression du profil", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Dossier de santé supprimé", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Vous pouvez en créer un nouveau à tout moment en discutant avec l'assistant.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Retour au chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Édition", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Échec du chargement des données du profil", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Modifications enregistrées", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Vos informations ont été mises à jour avec succès.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Retour au profil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Échec de la mise à jour des données du profil", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Voulez-vous annuler les modifications ?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Vous avez apporté des modifications à votre profil. Enregistrez-les avant de partir ou abandonnez-les.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Continuer à éditer", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Jeter", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Modifier", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Ajouter un enregistrement", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Rechercher", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Aucun résultat trouvé", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Télécharger", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Partager", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Supprimer", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Aucun document trouvé", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Supprimer ce document ?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Ce fichier sera définitivement supprimé", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Annuler", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Supprimer", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Autres actions", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Rechercher", + "@profilesSearch": {}, + "profilesEmptyList": "Aucun profil trouvé", + "@profilesEmptyList": {}, + "profilesViewMore": "Voir plus", + "@profilesViewMore": {}, + "profilesMore": "Plus", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina se souvient maintenant de votre santé", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Vos consultations construisent et mettent à jour automatiquement votre Dossier de Santé.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Votre dossier de santé, vos règles", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Consultez, modifiez ou ajoutez des symptômes, des médicaments, des antécédents ou des documents à tout moment.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Prenez soin de toute votre famille", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Créez un dossier de santé pour vos proches, vos enfants, vos parents ou votre partenaire.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Prêt à enregistrer votre dossier de santé ?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Après votre consultation, appuyez sur « Ajouter un profil » pour l'enregistrer.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Suivant", + "@profilesNextButton": {}, + "profilesStartButton": "Commencer une consultation", + "@profilesStartButton": {}, + "profilesLaterButton": "Peut-être plus tard", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Fermer", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Dossier de santé", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Dossier de santé — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...plus", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...moins", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Ajouter un nouveau profil", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Créez un profil pour enregistrer les détails de cette consultation.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Vous pouvez l'évaluer à tout moment dans vos dossiers de santé", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Si vous avez d'autres questions à ce sujet ou sur des sujets connexes, n'hésitez pas à continuer à me parler. Je suis là pour vous aider", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Informations générales", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Nom", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Jean Dupont", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Prénom", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Nom de famille", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Dupont", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Sexe", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Sélectionnez", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Homme", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Femme", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Autre", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Date de naissance", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "AAAA-MM-JJ", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Âge", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "p. ex. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Numéro de téléphone", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-mail", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Localisation", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ex. Ville, Pays", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Corps et alimentation", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Taille", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "p. ex. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Poids", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "p. ex. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Cycle menstruel", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "p. ex. Régulier, Irrégulier", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Restrictions alimentaires", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Veuillez sélectionner", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Faites-nous savoir ce que vous mangez et les restrictions que vous avez", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Aucune", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Végétarien", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Végétalien", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Sans gluten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Indice de masse corporelle (IMC)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "p. ex. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Profil de santé", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Maladies chroniques", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ex. Diabète de type 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Veuillez lister toutes les maladies chroniques et inclure la date de leur diagnostic ainsi que les complications éventuelles.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Antécédents médicaux", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ex. Rhume fréquent", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Veuillez indiquer les maladies graves que vous avez eues dans le passé, même si vous vous êtes rétabli.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Antécédents chirurgicaux", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "e.g. Appendectomy", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Veuillez lister toutes les interventions chirurgicales et inclure l'année ainsi que s'il y a eu des complications.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Médicaments utilisés occasionnellement", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "par exemple, Ibuprofène", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Veuillez indiquer les médicaments que vous prenez de temps en temps (par exemple : analgésiques, médicaments contre les allergies), y compris la dose et la raison de leur utilisation.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Médicaments réguliers", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "par exemple, Metformine", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Veuillez indiquer tous les médicaments que vous prenez régulièrement, y compris le nom, la dose, combien de fois par jour vous le prenez et pour quelle condition.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Allergies", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ex. Pénicilline – provoque une éruption", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Veuillez lister toutes les allergies (médicaments, aliments, environnement) et décrire quelle réaction vous avez (par exemple : éruption cutanée, gonflement, problèmes respiratoires).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Conditions particulières", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "p. ex. Grossesse, Handicap", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Si vous avez des conditions médicales importantes que les médecins doivent toujours connaître (par exemple : grossesse, dispositifs implantés, handicaps, thérapie anticoagulante), veuillez les décrire. Si aucune, vous pouvez laisser ce champ vide.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Antécédents familiaux", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "p. ex. maladie cardiaque, cancer", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Veuillez décrire les maladies importantes dans votre famille (par exemple : diabète, hypertension, maladies cardiaques, cancer, maladies génétiques) et spécifiez quel membre de la famille avait la condition.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Facteurs sociaux et liés au mode de vie", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "p. ex. tabagisme, consommation d'alcool", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Veuillez décrire les facteurs de mode de vie qui peuvent affecter votre santé, tels que le tabagisme, l'alcool, l'activité physique, l'alimentation, le sommeil et la profession.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Dispositifs médicaux", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "p. ex. stimulateur cardiaque, appareil auditif, pompe à insuline", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Veuillez lister tout dispositif médical que vous utilisez ou avez implanté, tel que des stimulateurs cardiaques, des pompes à insuline, des appareils auditifs, des prothèses ou d'autres dispositifs d'assistance ou de surveillance. Incluez les détails pertinents si applicable.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Omnivore", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Restauration Rapide", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescétarien", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Sans lactose", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Régime pauvre en sodium", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Régime pauvre en sucre", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Régime cardiaque", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Régime rénal", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Autre", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_gu.arb b/example/lib/src/l10n/profiles/app_gu.arb new file mode 100644 index 0000000..9334a57 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_gu.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "gu", + "chatDrawerTitle": "આરોગ્ય રેકોર્ડ", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "નવું", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "તમારો આરોગ્ય રેકોર્ડ બનાવો", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "તમારી પરામર્શની અંતે, તમારો પ્રોફાઇલ ઉમેરો.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "વધુ પ્રોફાઇલ્સ ઉમેરો", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "કોઈ બીજા માટે તેમના પ્રોફાઇલ બનાવવા માટે પરામર્શ શરૂ કરો.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "તમારો આરોગ્ય રેકોર્ડ બનાવવા માટે સાઇન અપ કરો", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "પુનઃ પ્રયત્ન કરો", + "@errorRetryButton": {}, + "dashboardDeleteError": "પ્રોફાઇલ કાઢી નાખવામાં નિષ્ફળ", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "પ્રોફાઇલ સારાંશ લોડ કરવામાં નિષ્ફળ", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "પૂર્ણ રેકોર્ડ જુઓ", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "શેર કરો", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "મિટાવો", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "ઉમર", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} વર્ષ} other{{value} વર્ષ}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "વજન", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} કિગ્રા", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "ઊંચાઈ", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} સેમી", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "ઍલર્જી", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "ક્રોનિક", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "દવા", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "ડિવાઇસ", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "સલાહ", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "દસ્તાવેજો", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "આરોગ્ય રેકોર્ડ કાઢી નાખવો?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "આ તમારા આરોગ્યના ડેટાને શાશ્વત રીતે દૂર કરશે અને તેને પાછું લાવવું શક્ય નથી. તમે અમને માર્ગદર્શન આપવા માટે ઉપયોગમાં લેવાતા સંદર્ભને ગુમાવી દેશો.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "રદ કરો", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "મિટાવો", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "તમારો આરોગ્ય રેકોર્ડ કાઢી રહ્યા છીએ...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "પ્રોફાઇલ કાઢી નાખવામાં નિષ્ફળ", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "આરોગ્ય રેકોર્ડ કાઢી નાખવામાં આવ્યો", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "તમે સહાયક સાથે વાત કરીને ક્યારે પણ નવું બનાવી શકો છો", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "ચેટ પર પાછા જાઓ", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "સંપાદન", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "પ્રોફાઇલ ડેટા લોડ કરવામાં નિષ્ફળ", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "બદલાવો સાચવવામાં આવ્યા", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "તમારી માહિતી સફળતાપૂર્વક અપડેટ કરવામાં આવી છે", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "પ્રોફાઇલ પર પાછા જાઓ", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "પ્રોફાઇલ ડેટા અપડેટ કરવામાં નિષ્ફળ", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "બદલાવને રદ કરવું?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "તમે તમારા પ્રોફાઇલમાં કેટલાક ફેરફાર કર્યા છે. જાઓ તે પહેલાં તેમને સાચવો, અથવા તેમને નકારી દો.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "સંપાદન ચાલુ રાખો", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "કાઢી નાખો", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "સંપાદિત કરો", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "બંધી ઉમેરો", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "શોધો", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "કોઈ પરિણામો મળ્યા નથી", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ડાઉનલોડ", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "શેર કરો", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "મિટાવો", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "કોઈ દસ્તાવેજો મળ્યા નથી", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "આ દસ્તાવેજ કાઢી નાખવો છે?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "આ ફાઇલ શાશ્વત રીતે દૂર કરવામાં આવશે", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "રદ કરો", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "મિટાવો", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "વધુ ક્રિયાઓ", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "શોધો", + "@profilesSearch": {}, + "profilesEmptyList": "કોઈ પ્રોફાઇલ મળ્યા નથી", + "@profilesEmptyList": {}, + "profilesViewMore": "વધુ જુઓ", + "@profilesViewMore": {}, + "profilesMore": "વધુ", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina હવે તમારા આરોગ્યને યાદ રાખે છે", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "તમારી પરામર્શો હવે આપોઆપ તમારા આરોગ્ય રેકોર્ડને બનાવે છે અને અપડેટ કરે છે.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "તમારો આરોગ્ય રેકોર્ડ, તમારા નિયમો", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "કોઈપણ સમયે લક્ષણો, દવાઓ, ઇતિહાસ અથવા દસ્તાવેજો જુઓ, સંપાદિત કરો અથવા ઉમેરો.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "તમારા સમગ્ર પરિવારની સંભાળ લો", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "તમારા પ્રિયજનો, તમારા બાળકો, માતા-પિતા અથવા ભાગીદારો માટે આરોગ્ય રેકોર્ડ બનાવો", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "તમારો આરોગ્ય રેકોર્ડ સાચવવા માટે તૈયાર છો?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "તમારી પરામર્શ પછી, \"પ્રોફાઇલ ઉમેરો\" પર ટૅપ કરો તેને સાચવવા માટે.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "આગળ", + "@profilesNextButton": {}, + "profilesStartButton": "સલાહ શરૂ કરો", + "@profilesStartButton": {}, + "profilesLaterButton": "શાયદ પછી", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "બંધ કરો", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "આરોગ્ય રેકોર્ડ", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "હેલ્થ રેકોર્ડ — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...વધુ", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...કમ", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "નવો પ્રોફાઇલ ઉમેરો", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "આ પરામર્શના વિગતો સાચવવા માટે એક પ્રોફાઇલ બનાવો.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "તમે તેને કોઈપણ સમયે તમારા Health Recordsમાં મૂલ્યાંકન કરી શકો છો", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "જો આ વિશે અથવા તેની સાથે સંબંધિત કોઈપણ બાબત અંગે તમને વધુ પ્રશ્નો હોય, તો નિઃસંકોચ મારી સાથે વાત ચાલુ રાખો. હું મદદ માટે અહીં છું", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "સામાન્ય માહિતી", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "નામ", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "જોન ડો", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "પ્રથમ નામ", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "જોન", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "ઉપનામ", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "લિંગ", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "કૃપયા પસંદ કરો", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "પુરુષ", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "મહિલા", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "અન્ય", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "જન્મ તારીખ", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "ઉમર", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "ઉદાહરણ: 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "ફોન નંબર", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ઇમેલ", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "સ્થાન", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ઉદાહરણ: શહેર, દેશ", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "શરીર & આહાર", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "ઊંચાઈ", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "ઉદાહરણ: 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "વજન", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "જેમ કે 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "માસિક ચક્ર", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "જેમ કે નિયમિત, અનિયમિત", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "આહાર પ્રતિબંધો", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "કૃપા કરીને પસંદ કરો", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "તમે શું ખાવો છો અને તમારી પાસે કોઈ પ્રતિબંધ છે તે અમને જણાવો", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "કોઈ નહીં", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "શાકાહારી", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "વીગન", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "ગ્લુટેન મુક્ત", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "બોડી માસ ઇન્ડેક્સ (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ઉદા. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "આરોગ્ય પ્રોફાઇલ", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "દીર્ઘકાલીન રોગો", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ઉદાહરણ તરીકે, ડાયાબિટીસ પ્રકાર 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "કૃપા કરીને તમામ ક્રોનિક બીમારીઓની યાદી બનાવો અને તે ક્યારે નિદાન કરવામાં આવી હતી અને કોઈ જટિલતાઓનો સમાવેશ કરો.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "ભૂતકાળની બીમારીઓ", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ઉદાહરણ તરીકે, વારંવાર સામાન્ય જુકામ", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "કૃપા કરીને તમે ભૂતકાળમાં ભોગવેલા ગંભીર રોગોની યાદી આપો, ભલે તમે સાજા થઈ ગયા હોવ.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "શસ્ત્રક્રિયા ઇતિહાસ", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "ઉદાહરણ તરીકે Appendectomy", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "કૃપા કરીને તમામ સર્જરીઓની યાદી બનાવો અને વર્ષ અને કોઈ જટિલતાઓ હતી કે નહીં તે સમાવિષ્ટ કરો", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "કદીક વાપરવામાં આવતી દવાઓ", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "ઉદાહરણ તરીકે, આઇબ્યુપ્રોફેન", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "કૃપા કરીને તે દવાઓની યાદી આપો જે તમે ક્યારેક લેતા હો (ઉદાહરણ તરીકે: દુખાવા માટેની દવાઓ, એલર્જી દવાઓ), ડોઝ અને ઉપયોગનો કારણ સહિત.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "નિયમિત દવાઓ", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "ઉદાહરણ તરીકે મેટફોર્મિન", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "કૃપા કરીને તમે નિયમિત રીતે લેતા તમામ દવાઓની યાદી બનાવો, જેમાં નામ, ડોઝ, તમે દરરોજ કેટલાય વખત લેતા છો અને તે કઈ સ્થિતિ માટે છે.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "અલર્જીઓ", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ઉદાહરણ તરીકે પેનિસિલિન – ચામડી પર ખંજવાળ થાય છે", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "કૃપા કરીને તમામ એલર્જી (દવા, ખોરાક, પર્યાવરણ) યાદીબદ્ધ કરો અને તમે કઈ પ્રતિક્રિયા દર્શાવો છો તે વર્ણવો (ઉદાહરણ તરીકે: રેશમ, ફૂલવું, શ્વાસની સમસ્યાઓ)", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "વિશેષ સ્થિતિઓ", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "ઉદાહરણ તરીકે ગર્ભાવસ્થા, વિકલાંગતા", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "જો તમારી પાસે કોઈ મહત્વપૂર્ણ તબીબી સ્થિતિઓ છે જે ડોક્ટરોને હંમેશા જાણવી જોઈએ (ઉદાહરણ તરીકે: ગર્ભાવસ્થા, ઇમ્પ્લાન્ટેડ ઉપકરણો, અક્ષમતા, એન્ટિકોઅગ્યુલેશન થેરાપી), તો કૃપા કરીને તેમને વર્ણવશો. જો કોઈ ન હોય, તો તમે આ ખાલી રાખી શકો છો.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "પારિવારિક ઇતિહાસ", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "જેમ કે હૃદય રોગ, કેન્સર", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "કૃપા કરીને તમારા પરિવારમાં મહત્વપૂર્ણ રોગોનું વર્ણન કરો (ઉદાહરણ તરીકે: ડાયાબિટીસ, હાયપરટેન્શન, હૃદયરોગ, કેન્સર, જિનસંબંધિત રોગો) અને જણાવો કે કયા પરિવારના સભ્યને આ સ્થિતિ હતી.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "સામાજિક અને જીવનશૈલીના કારકો", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "જેમ કે ધૂમ્રપાન, દારૂનું સેવન", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "કૃપા કરીને જીવનશૈલીના તત્વોનું વર્ણન કરો જે તમારા આરોગ્યને અસર કરી શકે છે, જેમ કે ધૂમ્રપાન, આલ્કોહોલ, શારીરિક પ્રવૃત્તિ, આહાર, ઊંઘ અને વ્યવસાય.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "ચિકિત્સા ઉપકરણો", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "ઉદાહરણ તરીકે પેસમેકર, શ્રવણ સહાયક, ઇન્સ્યુલિન પંપ", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "કૃપા કરીને કોઈપણ મેડિકલ ડિવાઇસની યાદી આપો જે તમે ઉપયોગ કરો છો અથવા ઇમ્પ્લાન્ટ કરેલ છે, જેમ કે પેસમેકર્સ, ઇન્સુલિન પંપ, સાંભળવા માટેની મદદ, પ્રોસ્ટેટિક્સ, અથવા અન્ય સહાયક અથવા મોનિટરિંગ ડિવાઇસ. લાગુ પડે ત્યારે સંબંધિત વિગતો શામેલ કરો.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "સર્વભક્ષી", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ફાસ્ટ ફૂડ", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "પેસ્કેટેરિયન", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "લેક્ટોઝ મુક્ત", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "ઓછી લવણવાળો આહાર", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "ઓછી ખાંડવાળું આહાર", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "હૃદય માટેનો આહાર", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "વૃક્ક માટેનું આહાર", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "અન્ય", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_he.arb b/example/lib/src/l10n/profiles/app_he.arb new file mode 100644 index 0000000..16e6f8a --- /dev/null +++ b/example/lib/src/l10n/profiles/app_he.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "he", + "chatDrawerTitle": "רשומות בריאות", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "חדש", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "צור את רישום הבריאות שלך", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "בסוף הייעוץ שלך, הוסף את הפרופיל שלך.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "הוסף פרופילים נוספים", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "התחל ייעוץ עבור מישהו אחר כדי ליצור את הפרופיל שלו.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "הירשם כדי ליצור את תיק הבריאות שלך", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "נסה שוב", + "@errorRetryButton": {}, + "dashboardDeleteError": "כישלון במחיקת פרופיל", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "טעינת סיכום הפרופיל נכשלה", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "צפה ברשומה מלאה", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "שתף", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "מחק", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "גיל", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} שנה} other{{value} שנים}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "משקל", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} קילוגרם", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "גובה", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} ס\"מ", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "אלרגיות", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "כרוני", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "תרופה", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "מכשירים", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "התייעצויות", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "מסמכים", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "למחוק את רישום הבריאות?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "זה יסיר לצמיתות את נתוני הבריאות שלך ולא ניתן לשחזר. תאבד את ההקשר שבו אנו משתמשים כדי להנחות אותך.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "ביטול", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "מחק", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "מוחק את רישום הבריאות שלך...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "נכשל במחקת פרופיל", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "הרשומה הרפואית נמחקה", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "אתה יכול ליצור חדש בכל עת על ידי שיחה עם העוזר", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "חזרה לצ'אט", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "עריכה", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "טעינת נתוני פרופיל נכשלה", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "שינויים נשמרו", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "המידע שלך עודכן בהצלחה.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "חזרה לפרופיל", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "נכשל בעדכון נתוני פרופיל", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "למחוק שינויים?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "ביצעת כמה שינויים בפרופיל שלך. שמור אותם לפני שתצא, או מחק אותם.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "שמור עריכה", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "מחק", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "עריכה", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "הוסף רשומה", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "חיפוש", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "לא נמצאו תוצאות", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "הורדה", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "שתף", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "מחק", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "לא נמצאו מסמכים", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "למחוק את המסמך הזה?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "הקובץ הזה יימחק לצמיתות", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "ביטול", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "מחק", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "פעולות נוספות", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "חיפוש", + "@profilesSearch": {}, + "profilesEmptyList": "לא נמצאו פרופילים", + "@profilesEmptyList": {}, + "profilesViewMore": "הצג עוד", + "@profilesViewMore": {}, + "profilesMore": "עוד", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "דוקטורינה עכשיו זוכרת את הבריאות שלך", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "הייעוצים שלך עכשיו בונים ומעדכנים אוטומטית את תיק הבריאות שלך.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "הרשומה הרפואית שלך, הכללים שלך", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "צפה, ערוך או הוסף תסמינים, תרופות, היסטוריה או מסמכים בכל עת.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "דאגו לכל המשפחה שלכם", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "צור רישום בריאות עבור אהוביך, ילדיך, הורים או בן/בת הזוג שלך.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "מוכן לשמור את רישום הבריאות שלך?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "לאחר הייעוץ, הקש על \"הוסף פרופיל\" כדי לשמור אותו.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "הבא", + "@profilesNextButton": {}, + "profilesStartButton": "התחל ייעוץ", + "@profilesStartButton": {}, + "profilesLaterButton": "אולי מאוחר יותר", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "סגור", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "רשומת בריאות", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "רשומת בריאות — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...עוד", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "פחות", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "הוסף פרופיל חדש", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "צור פרופיל כדי לשמור את פרטי הייעוץ הזה.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "ניתן להעריך זאת בכל עת ברשומות הבריאות שלך", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "אם יש לך שאלות נוספות בנושא זה או בכל נושא קשור, ניתן להמשיך לשוחח איתי. אני כאן כדי לעזור.", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "מידע כללי", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "שם", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "ג'ון דו", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "שם פרטי", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "ג'ון", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "שם משפחה", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "מין", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "אנא בחר/י", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "גבר", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "נקבה", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "אחר/אחרת", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "תאריך לידה", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "גיל", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "לדוגמה 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "מספר טלפון", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "דוא״ל", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "מיקום", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "למשל עיר, מדינה", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "גוף ותזונה", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "גובה", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "למשל 180 ס\"מ", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "משקל", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "למשל 75 ק\"ג", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "מחזור חודשי", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "למשל: סדיר, לא סדיר", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "הגבלות תזונה", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "בחרו", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "יידע אותנו מה אתה אוכל וכל מגבלה שיש לך", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "ללא הגבלות תזונתיות", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "צמחוני", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "טבעוני", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "ללא גלוטן", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "מדד מסת הגוף (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "למשל 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "פרופיל בריאותי", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "מחלות כרוניות", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "למשל, סוכרת סוג 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "אנא רשום את כל המחלות הכרוניות וכולל מתי אובחנו וכל סיבוכים.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "מחלות בעבר", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "למשל: הצטננות תכופה", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "אנא רשום מחלות חמורות שהיו לך בעבר, גם אם הבראת.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "היסטוריית ניתוחים", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "למשל כריתת התוספתן", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "אנא רשום את כל הניתוחים וכלול את השנה ואם היו סיבוכים.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "תרופות לשימוש מזדמן", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "למשל, איבופרופן", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "אנא רשום את התרופות שאתה לוקח מדי פעם (למשל: משככי כאבים, תרופות נגד אלרגיה), כולל המינון וסיבת השימוש", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "תרופות קבועות", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "למשל, מטפורמין", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "אנא רשום את כל התרופות שאתה לוקח באופן קבוע, כולל השם, המינון, כמה פעמים ביום אתה לוקח את זה, ואיזו מחלה זה מיועד.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "אלרגיות", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "למשל, פנצילין – גורם לפריחה", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "אנא רשום את כל האלרגיות (תרופות, מזון, סביבתיות) ותאר איזו תגובה יש לך (למשל: פריחה, נפיחות, בעיות נשימה).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "מצבים מיוחדים", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "למשל הריון, נכות", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "אם יש לך מצבים רפואיים חשובים שעל הרופאים לדעת עליהם תמיד (למשל: הריון, מכשירים מושתלים, נכות, טיפול נוגד קרישה), אנא תאר אותם. אם אין, תוכל להשאיר זאת ריק.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "היסטוריה רפואית משפחתית", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "למשל מחלות לב, סרטן", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "אנא תאר מחלות חשובות במשפחה שלך (למשל: סוכרת, יתר לחץ דם, מחלות לב, סרטן, מחלות גנטיות) וציין איזה בן משפחה היה לו את המצב.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "גורמים חברתיים והרגלי חיים", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "למשל עישון, צריכת אלכוהול", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "אנא תאר גורמי אורח חיים שיכולים להשפיע על בריאותך, כגון עישון, אלכוהול, פעילות גופנית, תזונה, שינה ומקצוע.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "מכשירים רפואיים", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "למשל קוצב לב, מכשיר שמיעה, משאבת אינסולין", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "אנא רשום כל מכשיר רפואי שאתה משתמש בו או שהושתל בגופך, כגון קוצבי לב, משאבות אינסולין, מכשירי שמיעה, פרוטזות או מכשירים אחרים לסיוע או ניטור. כלול פרטים רלוונטיים אם יש צורך.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "אוכלי כל", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "מזון מהיר", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "צמחוני שאוכל דגים", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "ללא לקטוז", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "דיאטה דלת נתרן", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "דיאטה דלת סוכר", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "דיאטה לבבית", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "תזונה כלייתית", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "אחר", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_hi.arb b/example/lib/src/l10n/profiles/app_hi.arb new file mode 100644 index 0000000..69e2686 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_hi.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "hi", + "chatDrawerTitle": "स्वास्थ्य रिकॉर्ड", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "नया", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "अपना स्वास्थ्य रिकॉर्ड बनाएं", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "अपनी परामर्श के अंत में, अपना प्रोफ़ाइल जोड़ें।", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "अधिक प्रोफाइल जोड़ें", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "किसी और के लिए प्रोफ़ाइल बनाने के लिए परामर्श शुरू करें।", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "अपनी स्वास्थ्य रिकॉर्ड बनाने के लिए साइन अप करें", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "पुनः प्रयास करें", + "@errorRetryButton": {}, + "dashboardDeleteError": "प्रोफ़ाइल हटाने में विफल", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "प्रोफ़ाइल सारांश लोड करने में विफल", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "पूर्ण रिकॉर्ड देखें", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "शेयर करें", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "हटाएँ", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "उम्र", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} वर्ष} other{{value} वर्ष}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "वजन", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "ऊँचाई", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "एलर्जी", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "क्रोनिक", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "दवा", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "डिवाइस", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "परामर्श", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "दस्तावेज़", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "स्वास्थ्य रिकॉर्ड हटाएँ?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "यह आपके स्वास्थ्य डेटा को स्थायी रूप से हटा देगा और इसे पूर्ववत नहीं किया जा सकता। आप उस संदर्भ को खो देंगे जिसका हम आपको मार्गदर्शन करने के लिए उपयोग करते हैं।", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "रद्द करें", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "हटाएँ", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "आपका स्वास्थ्य रिकॉर्ड हटाया जा रहा है...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "प्रोफ़ाइल हटाने में विफल", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "स्वास्थ्य रिकॉर्ड हटाया गया", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "आप कभी भी सहायक से बात करके एक नया बना सकते हैं।", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "चैट पर लौटें", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "संपादन", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "प्रोफ़ाइल डेटा लोड करने में विफल", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "परिवर्तन सहेजे गए", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "आपकी जानकारी सफलतापूर्वक अपडेट कर दी गई है।", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "प्रोफ़ाइल पर लौटें", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "प्रोफ़ाइल डेटा को अपडेट करने में विफल", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "परिवर्तनों को त्यागें?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "आपने अपने प्रोफ़ाइल में कुछ बदलाव किए हैं। उन्हें सहेजें या उन्हें छोड़ दें।", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "संपादन जारी रखें", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "खारिज करें", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "संपादित करें", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "रिकॉर्ड जोड़ें", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "खोजें", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "कोई परिणाम नहीं मिला", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "डाउनलोड", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "शेयर करें", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "हटाएँ", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "कोई दस्तावेज़ नहीं मिला", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "क्या इस दस्तावेज़ को हटाना है?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "यह फ़ाइल स्थायी रूप से हटा दी जाएगी", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "रद्द करें", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "हटाएँ", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "और कार्रवाइयाँ", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "खोजें", + "@profilesSearch": {}, + "profilesEmptyList": "कोई प्रोफ़ाइल नहीं मिली", + "@profilesEmptyList": {}, + "profilesViewMore": "और देखें", + "@profilesViewMore": {}, + "profilesMore": "और", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina अब आपकी सेहत को याद रखता है", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "आपकी परामर्श अब स्वचालित रूप से आपके स्वास्थ्य रिकॉर्ड का निर्माण और अद्यतन करते हैं।", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "आपका स्वास्थ्य रिकॉर्ड, आपके नियम", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "किसी भी समय लक्षण, दवाएं, इतिहास या दस्तावेज़ देखें, संपादित करें या जोड़ें।", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "अपने पूरे परिवार की देखभाल करें", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "अपने प्रियजनों, अपने बच्चों, माता-पिता या साथी के लिए एक स्वास्थ्य रिकॉर्ड बनाएं।", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "क्या आप अपनी स्वास्थ्य रिकॉर्ड को सहेजने के लिए तैयार हैं?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "अपनी सलाह के बाद, इसे सहेजने के लिए \"प्रोफ़ाइल जोड़ें\" पर टैप करें।", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "अगला", + "@profilesNextButton": {}, + "profilesStartButton": "परामर्श शुरू करें", + "@profilesStartButton": {}, + "profilesLaterButton": "शायद बाद में", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "बंद करें", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "स्वास्थ्य रिकॉर्ड", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "स्वास्थ्य रिकॉर्ड — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...और", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...कम", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "नया प्रोफ़ाइल जोड़ें", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "इस परामर्श के विवरण को सहेजने के लिए एक प्रोफ़ाइल बनाएं।", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "आप इसे कभी भी अपने Health Records में देख सकते हैं", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "यदि इस बारे में या इससे संबंधित किसी भी विषय पर आपके और भी प्रश्न हैं, तो बेझिझक मुझसे बातचीत जारी रखें। मैं मदद के लिए यहाँ हूँ", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "सामान्य जानकारी", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "नाम", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "पहला नाम", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "जॉन", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "उपनाम", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "लिंग", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "कृपया चुनें", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "पुरुष", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "महिला", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "अन्य", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "जन्मतिथि", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "उम्र", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "उदा. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "फ़ोन नंबर", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ईमेल", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "स्थान", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "उदा. शहर, देश", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "शरीर और आहार", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "ऊंचाई", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "उदा. 180 सेमी", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "वज़न", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "उदा. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "मासिक धर्म चक्र", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "उदा. नियमित, अनियमित", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "आहार प्रतिबंध", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "कृपया चुनें", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "हमें बताएं कि आप क्या खाते हैं और आपके पास कौन सी पाबंदियाँ हैं", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "कोई नहीं", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "शाकाहारी", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "वीगन", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "ग्लूटेन मुक्त", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "शरीर द्रव्यमान सूचकांक (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "उदा. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "स्वास्थ्य प्रोफ़ाइल", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "दीर्घकालिक बीमारियाँ", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "जैसे कि मधुमेह प्रकार 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "कृपया सभी पुरानी बीमारियों की सूची बनाएं और बताएं कि उन्हें कब निदान किया गया और कोई जटिलताएँ हैं या नहीं।", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "पिछली बीमारियाँ", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "जैसे कि बार-बार सामान्य सर्दी", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "कृपया गंभीर बीमारियों की सूची बनाएं जो आपने अतीत में अनुभव की हैं, भले ही आप ठीक हो गए हों।", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "शल्य चिकित्सा का इतिहास", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "उदा. Appendectomy", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "कृपया सभी सर्जरी की सूची बनाएं और वर्ष और यदि कोई जटिलताएँ थीं तो उन्हें शामिल करें।", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "कभी-कभार ली जाने वाली दवाएँ", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "जैसे कि इबुप्रोफेन", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "कृपया उन दवाओं की सूची बनाएं जो आप कभी-कभी लेते हैं (उदाहरण: दर्द निवारक, एलर्जी की दवाएं), जिसमें खुराक और उपयोग का कारण शामिल है।", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "नियमित दवाएं", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "जैसे कि मेटफॉर्मिन", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "कृपया सभी दवाओं की सूची बनाएं जो आप नियमित रूप से लेते हैं, जिसमें नाम, खुराक, आप इसे दिन में कितनी बार लेते हैं, और यह किस स्थिति के लिए है।", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "एलर्जी", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "जैसे कि पेनिसिलिन - दाने का कारण बनता है", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "कृपया सभी एलर्जी (दवाएं, खाद्य, पर्यावरण) सूचीबद्ध करें, और बताएं कि आपकी क्या प्रतिक्रिया है (उदाहरण के लिए: दाने, सूजन, सांस लेने में समस्या)।", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "विशेष स्थितियाँ", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "उदा. गर्भावस्था, विकलांगता", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "यदि आपके पास कोई महत्वपूर्ण चिकित्सा स्थितियाँ हैं जिनके बारे में डॉक्टरों को हमेशा पता होना चाहिए (उदाहरण के लिए: गर्भावस्था, प्रत्यारोपित उपकरण, विकलांगता, एंटीकोआगुलेंट चिकित्सा), तो कृपया उनका वर्णन करें। यदि कोई नहीं है, तो आप इसे खाली छोड़ सकते हैं।", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "पारिवारिक इतिहास", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "उदा. हृदय रोग, कैंसर", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "कृपया अपने परिवार में महत्वपूर्ण बीमारियों का वर्णन करें (उदाहरण: मधुमेह, उच्च रक्तचाप, हृदय रोग, कैंसर, आनुवंशिक बीमारियाँ) और यह बताएं कि किस परिवार के सदस्य को यह स्थिति थी।", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "सामाजिक और जीवनशैली कारक", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "उदा. धूम्रपान, शराब का सेवन", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "कृपया जीवनशैली के कारकों का वर्णन करें जो आपकी सेहत को प्रभावित कर सकते हैं, जैसे धूम्रपान, शराब, शारीरिक गतिविधि, आहार, नींद और पेशा।", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "चिकित्सा उपकरण", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "उदा. पेसमेकर, हियरिंग एड, इंसुलिन पंप", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "कृपया किसी भी चिकित्सा उपकरणों की सूची बनाएं जो आप उपयोग करते हैं या जिनका प्रत्यारोपण किया गया है, जैसे कि पेसमेकर, इंसुलिन पंप, श्रवण यंत्र, कृत्रिम अंग, या अन्य सहायक या निगरानी उपकरण। यदि लागू हो तो संबंधित विवरण शामिल करें।", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "सर्वाहारी", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "फास्ट फूड", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "पेस्केटेरियन", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "लैक्टोज़ मुक्त", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "कम सोडियम आहार", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "कम चीनी वाला आहार", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "हृदय आहार", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "गुर्दे के लिए आहार", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "अन्य", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_hu.arb b/example/lib/src/l10n/profiles/app_hu.arb new file mode 100644 index 0000000..a5a18e1 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_hu.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "hu", + "chatDrawerTitle": "Egészségügyi nyilvántartások", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "ÚJ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Hozza létre egészségügyi nyilvántartását", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "A konzultáció végén adja hozzá a profilját.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "További profilok hozzáadása", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Kezdj el egy konzultációt valaki más számára, hogy létrehozhassa a profilját.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Jelentkezzen be az egészségügyi nyilvántartás létrehozásához", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Újrapróbálkozás", + "@errorRetryButton": {}, + "dashboardDeleteError": "A profil törlése nem sikerült", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "A profil összefoglalójának betöltése nem sikerült", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Teljes rekord megtekintése", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Megosztás", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Törlés", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Kor", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} év} other{{value} év}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Súly", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Magasság", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Allergiák", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Krónikus", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Gyógyszer", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Eszközök", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Konzultációk", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Dokumentumok", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Egészségügyi nyilvántartás törlése?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Ez véglegesen eltávolítja az egészségügyi adatait, és nem vonható vissza. El fogja veszíteni a kontextust, amelyet a vezetéshez használunk.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Mégse", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Törlés", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Az egészségügyi nyilvántartás törlése...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "A profil törlése nem sikerült", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Egészségügyi nyilvántartás törölve", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Bármikor létrehozhat egy újat, ha beszélget a segéddel.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Vissza a csevegéshez", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Szerkesztés", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "A profiladatok betöltése nem sikerült", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Változások mentve", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Az Ön adatai sikeresen frissítve lettek.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Vissza a profilhoz", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "A profiladatok frissítése nem sikerült", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Változások elvetése?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Változtatásokat hajtott végre a profilján. Mentse el őket, mielőtt elmegy, vagy dobja el őket.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Szerkesztés folytatása", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Elvetés", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Szerkesztés", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Felvétel hozzáadása", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Keresés", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Nincsenek találatok", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Letöltés", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Megosztás", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Törlés", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Nincsenek dokumentumok", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Törölni szeretné ezt a dokumentumot?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Ez a fájl véglegesen eltávolításra kerül", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Mégse", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Törlés", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "További műveletek", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Keresés", + "@profilesSearch": {}, + "profilesEmptyList": "Nem találhatók profilok", + "@profilesEmptyList": {}, + "profilesViewMore": "Továbbiak megtekintése", + "@profilesViewMore": {}, + "profilesMore": "Több", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "A Doctorina most már emlékszik az egészségére", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "A konzultációi most automatikusan építik és frissítik az Egészségügyi Nyilvántartását.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Az Ön egészségügyi nyilvántartása, az Ön szabályai", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Bármikor megtekintheti, szerkesztheti vagy hozzáadhatja a tüneteket, gyógyszereket, a kórtörténetet vagy a dokumentumokat.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Gondoskodjon az egész családjáról", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Hozzon létre egészségügyi nyilvántartást szerettei, gyerekei, szülei vagy partnere számára.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Készen áll a Health Record mentésére?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "A konzultáció után érintse meg az „Profil hozzáadása” gombot a mentéshez.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Következő", + "@profilesNextButton": {}, + "profilesStartButton": "Konzultáció indítása", + "@profilesStartButton": {}, + "profilesLaterButton": "Később", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Bezárás", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Egészségügyi nyilvántartás", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Egészségügyi nyilvántartás — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...több", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...kevesebb", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Új profil hozzáadása", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Hozzon létre egy profilt a konzultáció részleteinek mentéséhez.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Ezt bármikor értékelheti az Egészségügyi feljegyzéseiben", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Ha további kérdése van ezzel vagy bármivel kapcsolatban, nyugodtan folytassa a beszélgetést velem. Itt vagyok, hogy segítsek", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Általános információk", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Név", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "János Kovács", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Keresztnév", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "János", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Vezetéknév", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Kovács", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Nem", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Válasszon", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Férfi", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Nő", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Egyéb", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Születési dátum", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Életkor", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "pl. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Telefonszám", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-mail", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "példa@példa.hu", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Hely", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "pl. Város, Ország", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Test & Étrend", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Magasság", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "pl. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Testsúly", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "pl. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menstruációs ciklus", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "pl. Rendszeres, Rendszertelen", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Étrend-korlátozások", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Kérjük, válasszon", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Tudassa velünk, mit eszik, és van-e bármilyen korlátozása", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Nincs", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetáriánus", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegán", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Gluténmentes", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Testtömegindex (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "pl. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Egészségprofil", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Krónikus betegségek", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "pl. 2-es típusú cukorbetegség", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Kérjük, sorolja fel az összes krónikus betegséget, és tüntesse fel, mikor diagnosztizálták őket, valamint bármilyen szövődményt.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Korábbi betegségek", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "pl. Gyakori megfázás", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Kérjük, sorolja fel a múltban előfordult súlyos betegségeket, még akkor is, ha felépült.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Műtéti előzmények", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "pl. vakbélműtét", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Kérjük, sorolja fel az összes műtétet, és adja meg az évet, valamint azt, hogy voltak-e szövődmények.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Időszakosan Használt Gyógyszerek", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "pl. Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Kérjük, sorolja fel azokat a gyógyszereket, amelyeket időnként szed (például: fájdalomcsillapítók, allergiás gyógyszerek), beleértve az adagot és a használat okát.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Rendszeres gyógyszerek", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "pl. Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Kérjük, sorolja fel az összes gyógyszert, amelyet rendszeresen szed, beleértve a nevét, az adagot, hogy hányszor naponta szedi, és hogy milyen állapot kezelésére használja.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Allergiák", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "pl. Penicillin – kiütést okoz", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Kérjük, sorolja fel az összes allergiáját (gyógyszerek, ételek, környezeti), és írja le, milyen reakciót tapasztal (például: kiütés, duzzanat, légzési problémák).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Különleges állapotok", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "pl. terhesség, fogyatékosság", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Ha vannak fontos orvosi állapotai, amelyeket az orvosoknak mindig tudniuk kell (például: terhesség, beültetett eszközök, fogyatékosságok, antikoaguláns terápia), kérjük, írja le őket. Ha nincs, ezt üresen hagyhatja.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Családi anamnézis", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "pl. szívbetegség, rák", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Kérjük, írja le a családjában előforduló fontos betegségeket (például: cukorbetegség, magas vérnyomás, szívbetegség, rák, genetikai betegségek), és adja meg, hogy melyik családtag szenvedett az adott állapotban.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Szociális & Életmódbeli Tényezők", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "pl. dohányzás, alkoholfogyasztás", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Kérjük, írja le azokat az életmódbeli tényezőket, amelyek hatással lehetnek az egészségére, például a dohányzást, alkoholfogyasztást, fizikai aktivitást, étrendet, alvást és foglalkozást.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Orvostechnikai eszközök", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "pl. Pacemaker, Hallókészülék, Inzulinpumpa", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Kérjük, sorolja fel azokat az orvosi eszközöket, amelyeket használ vagy beültettek Önnek, például pacemakerek, inzulinpumpák, hallókészülékek, protézisek vagy egyéb segédeszközök vagy monitorozó eszközök. Ha releváns részletek vannak, kérjük, azokat is tüntesse fel.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Mindenevő", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Gyorséttermi ételek", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetáriánus", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Laktózmentes", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Alacsony nátriumtartalmú étrend", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Alacsony cukortartalmú étrend", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Szívbarát étrend", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Vese diéta", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Egyéb", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_id.arb b/example/lib/src/l10n/profiles/app_id.arb new file mode 100644 index 0000000..81ca87f --- /dev/null +++ b/example/lib/src/l10n/profiles/app_id.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "id", + "chatDrawerTitle": "Rekam Medis", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "BARU", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Buat Rekam Kesehatan Anda", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Di akhir konsultasi Anda, tambahkan profil Anda.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Tambah lebih banyak profil", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Mulai konsultasi untuk orang lain untuk membuat profil mereka.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Daftar untuk membuat Rekam Kesehatan Anda", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Coba lagi", + "@errorRetryButton": {}, + "dashboardDeleteError": "Gagal menghapus profil", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Gagal memuat ringkasan profil", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Lihat Rekam Penuh", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Bagikan", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Hapus", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Usia", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} tahun} other{{value} tahun}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Berat", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Tinggi", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Alergi", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Kronis", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Obat", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Perangkat", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Konsultasi", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Dokumen", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Hapus Rekam Kesehatan?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Ini akan menghapus data kesehatan Anda secara permanen dan tidak dapat dibatalkan. Anda akan kehilangan konteks yang kami gunakan untuk membimbing Anda.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Batal", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Hapus", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Menghapus catatan kesehatan Anda...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Gagal menghapus profil", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Rekam medis dihapus", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Anda dapat membuat yang baru kapan saja dengan mengobrol dengan asisten.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Kembali ke Obrolan", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Mengedit", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Gagal memuat data profil", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Perubahan disimpan", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Informasi Anda telah berhasil diperbarui.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Kembali ke profil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Gagal memperbarui data profil", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Buang perubahan?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Anda telah membuat beberapa perubahan pada profil Anda. Simpan sebelum Anda pergi, atau buang.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Teruskan pengeditan", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Buang", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Edit", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Tambahkan catatan", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Cari", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Tidak ada hasil ditemukan", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Unduh", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Bagikan", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Hapus", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Tidak ada dokumen ditemukan", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Hapus dokumen ini?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "File ini akan dihapus secara permanen", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Batal", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Hapus", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Tindakan lainnya", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Cari", + "@profilesSearch": {}, + "profilesEmptyList": "Tidak ada profil ditemukan", + "@profilesEmptyList": {}, + "profilesViewMore": "Lihat selengkapnya", + "@profilesViewMore": {}, + "profilesMore": "Lebih", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina sekarang mengingat kesehatan Anda", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Konsultasi Anda sekarang membangun dan memperbarui Rekam Kesehatan Anda secara otomatis.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Rekam Kesehatan Anda, aturan Anda", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Lihat, edit, atau tambahkan gejala, obat, riwayat, atau dokumen kapan saja.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Rawat seluruh keluarga Anda", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Buat Rekam Kesehatan untuk orang-orang terkasih Anda, anak-anak, orang tua, atau pasangan.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Siap untuk menyimpan Rekam Kesehatan Anda?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Setelah konsultasi Anda, ketuk \"Tambahkan profil\" untuk menyimpannya.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Selanjutnya", + "@profilesNextButton": {}, + "profilesStartButton": "Mulai konsultasi", + "@profilesStartButton": {}, + "profilesLaterButton": "Mungkin nanti", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Tutup", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Rekam Kesehatan", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Rekam Kesehatan — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...lebih", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...kurang", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Tambah profil baru", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Buat profil untuk menyimpan rincian konsultasi ini.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Anda dapat menilai hal ini kapan saja di Rekam Kesehatan Anda", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Jika Anda memiliki pertanyaan lebih lanjut tentang ini atau apa pun yang terkait, silakan terus berbicara dengan saya. Saya di sini untuk membantu", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Informasi Umum", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Nama", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Nama depan", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Nama keluarga", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Jenis kelamin", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Silakan pilih", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Laki-laki", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Perempuan", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Lainnya", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Tanggal Lahir", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Usia", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "cth. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Nomor telepon", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Surel", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Lokasi", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "mis. Kota, Negara", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Tubuh & Diet", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Tinggi badan", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "mis. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Berat", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "mis. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Siklus Menstruasi", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "mis. Teratur, Tidak teratur", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Pembatasan makanan", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Silakan pilih", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Beri tahu kami apa yang Anda makan dan batasan yang Anda miliki", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Tidak ada", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetarian", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Bebas Gluten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Indeks Massa Tubuh (IMT)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "mis. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Profil Kesehatan", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Penyakit Kronis", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "misalnya Diabetes Tipe 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Silakan sebutkan semua penyakit kronis dan sertakan kapan mereka didiagnosis serta komplikasi yang ada.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Riwayat Penyakit", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "misalnya, flu biasa yang sering", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Silakan sebutkan penyakit serius yang Anda alami di masa lalu, meskipun Anda sudah sembuh.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Riwayat Operasi", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "mis. Apendektomi", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Silakan sebutkan semua operasi dan sertakan tahun serta apakah ada komplikasi.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Obat yang digunakan sesekali", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "misalnya Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Silakan sebutkan obat yang Anda konsumsi dari waktu ke waktu (misalnya: obat pereda nyeri, obat alergi), termasuk dosis dan alasan penggunaannya.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Obat Rutin", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "misalnya Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Silakan sebutkan semua obat yang Anda konsumsi secara teratur, termasuk nama, dosis, berapa kali sehari Anda mengonsumsinya, dan untuk kondisi apa.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Alergi", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "misalnya, Penisilin – menyebabkan ruam", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Silakan sebutkan semua alergi (obat, makanan, lingkungan), dan jelaskan reaksi yang Anda alami (misalnya: ruam, pembengkakan, masalah pernapasan).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Kondisi Khusus", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "mis. Kehamilan, Disabilitas", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Jika Anda memiliki kondisi medis penting yang harus selalu diketahui dokter (misalnya: kehamilan, perangkat yang ditanam, disabilitas, terapi antikoagulasi), silakan jelaskan. Jika tidak ada, Anda dapat membiarkannya kosong.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Riwayat Kesehatan Keluarga", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "mis. Penyakit Jantung, Kanker", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Silakan jelaskan penyakit penting dalam keluarga Anda (misalnya: diabetes, hipertensi, penyakit jantung, kanker, penyakit genetik) dan sebutkan anggota keluarga mana yang mengalami kondisi tersebut.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Faktor Sosial & Gaya Hidup", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "mis. merokok, konsumsi alkohol", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Silakan jelaskan faktor gaya hidup yang dapat memengaruhi kesehatan Anda, seperti merokok, alkohol, aktivitas fisik, diet, tidur, dan pekerjaan.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Alat Kesehatan", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "mis. Alat pacu jantung, Alat bantu dengar, Pompa insulin", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Silakan sebutkan perangkat medis yang Anda gunakan atau yang telah ditanam, seperti alat pacu jantung, pompa insulin, alat bantu dengar, prostetik, atau perangkat bantu atau pemantauan lainnya. Sertakan detail yang relevan jika ada.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Omnivora", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Makanan cepat saji", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Vegetarian yang makan ikan", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Bebas laktosa", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Diet rendah natrium", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Diet rendah gula", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Diet Jantung", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Diet ginjal", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Lainnya", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_it.arb b/example/lib/src/l10n/profiles/app_it.arb new file mode 100644 index 0000000..092cf42 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_it.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "it", + "chatDrawerTitle": "Cartelle cliniche", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NUOVO", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Crea il tuo Record Sanitario", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Alla fine della tua consulenza, aggiungi il tuo profilo.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Aggiungi più profili", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Inizia una consulenza per qualcun altro per creare il suo profilo.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Iscriviti per creare il tuo Fascicolo Sanitario", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Riprova", + "@errorRetryButton": {}, + "dashboardDeleteError": "Impossibile eliminare il profilo", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Impossibile caricare il riepilogo del profilo", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Visualizza record completo", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Condividi", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Elimina", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Età", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} anno} other{{value} anni}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Peso", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Altezza", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Allergie", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Cronico", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Medicamento", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Dispositivi", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Consultazioni", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Documenti", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Eliminare il record sanitario?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Questo rimuoverà permanentemente i tuoi dati sanitari e non potrà essere annullato. Perderai il contesto che utilizziamo per guidarti.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Annulla", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Elimina", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Eliminazione del tuo record sanitario...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Impossibile eliminare il profilo", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Record sanitario eliminato", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Puoi crearne uno nuovo in qualsiasi momento chattando con l'assistente.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Torna alla chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Modifica", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Impossibile caricare i dati del profilo", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Modifiche salvate", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Le tue informazioni sono state aggiornate con successo.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Torna al profilo", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Impossibile aggiornare i dati del profilo", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Scartare le modifiche?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Hai apportato alcune modifiche al tuo profilo. Salvale prima di andare, o scartale.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Continua a modificare", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Scarta", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Modifica", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Aggiungi registrazione", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Cerca", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Nessun risultato trovato", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Scarica", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Condividi", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Elimina", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Nessun documento trovato", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Eliminare questo documento?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Questo file verrà rimosso permanentemente", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Annulla", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Elimina", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Altre azioni", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Cerca", + "@profilesSearch": {}, + "profilesEmptyList": "Nessun profilo trovato", + "@profilesEmptyList": {}, + "profilesViewMore": "Visualizza altro", + "@profilesViewMore": {}, + "profilesMore": "Di più", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina ora ricorda la tua salute", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Le tue consultazioni ora costruiscono e aggiornano automaticamente il tuo Fascicolo Sanitario.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Il tuo record sanitario, le tue regole", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Visualizza, modifica o aggiungi sintomi, farmaci, storia o documenti in qualsiasi momento.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Prenditi cura di tutta la tua famiglia", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Crea una Cartella Sanitaria per i tuoi cari, i tuoi figli, genitori o partner.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Pronto a salvare il tuo Record Sanitario?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Dopo la tua consulenza, tocca \"Aggiungi profilo\" per salvarlo.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Avanti", + "@profilesNextButton": {}, + "profilesStartButton": "Inizia una consulenza", + "@profilesStartButton": {}, + "profilesLaterButton": "Forse più tardi", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Chiudi", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Cartella Clinica", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Cartella sanitaria — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...di più", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...meno", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Aggiungi nuovo profilo", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Crea un profilo per salvare i dettagli di questa consultazione.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Puoi consultarlo in qualsiasi momento nei tuoi Documenti sanitari", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Se hai altre domande su questo o su qualsiasi argomento correlato, sentiti libero di continuare a parlare con me. Sono qui per aiutarti", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Informazioni generali", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Nome", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Mario Rossi", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Nome", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Giovanni", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Cognome", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Rossi", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Sesso", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Seleziona", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Maschio", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Donna", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Altro", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Data di nascita", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "AAAA-MM-GG", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Età", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "es. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Numero di telefono", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Email", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "esempio@esempio.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Località", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "es. Città, Paese", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Corpo & Alimentazione", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Altezza", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "es. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Peso", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "es. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Ciclo mestruale", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "es. Regolare, Irregolare", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Restrizioni Alimentari", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Seleziona", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Facci sapere cosa mangi e quali restrizioni hai", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Nessuna", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetariano", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegano", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Senza glutine", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Indice di Massa Corporea (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "es. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Profilo Sanitario", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Malattie croniche", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "es. Diabete di tipo 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Si prega di elencare tutte le malattie croniche e includere quando sono state diagnosticate e eventuali complicazioni.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Malattie pregresse", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ad es. Raffreddore comune frequente", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Si prega di elencare le malattie gravi che ha avuto in passato, anche se si è ripreso.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Storia chirurgica", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "es. Appendicectomia", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Si prega di elencare tutte le operazioni e includere l'anno e se ci sono state complicazioni.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Farmaci assunti occasionalmente", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "ad es. Ibuprofene", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Si prega di elencare i farmaci che si assumono di tanto in tanto (ad esempio: antidolorifici, farmaci per le allergie), inclusa la dose e il motivo dell'uso.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Farmaci abituali", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "ad es. Metformina", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Si prega di elencare tutti i farmaci che si assumono regolarmente, compresi il nome, la dose, quante volte al giorno si assume e per quale condizione.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Allergie", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "es. Penicillina – causa eruzione cutanea", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Si prega di elencare tutte le allergie (farmaci, cibo, ambientali) e descrivere quale reazione si ha (ad esempio: eruzione cutanea, gonfiore, problemi respiratori).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Condizioni particolari", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "es. gravidanza, disabilità", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Se hai condizioni mediche importanti di cui i medici dovrebbero sempre essere a conoscenza (ad esempio: gravidanza, dispositivi impiantati, disabilità, terapia anticoagulante), descrivile per favore. Se non ce ne sono, puoi lasciare questo campo vuoto.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Anamnesi familiare", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "es. malattie cardiache, cancro", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Si prega di descrivere le malattie importanti nella propria famiglia (ad esempio: diabete, ipertensione, malattie cardiache, cancro, malattie genetiche) e specificare quale familiare ha avuto la condizione.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Fattori sociali e stile di vita", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "es. fumo, consumo di alcol", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Si prega di descrivere i fattori dello stile di vita che possono influenzare la propria salute, come fumo, alcol, attività fisica, dieta, sonno e occupazione.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Dispositivi Medici", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "es. Pacemaker, Apparecchio acustico, Pompa per insulina", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Si prega di elencare eventuali dispositivi medici che si utilizzano o che sono stati impiantati, come pacemaker, pompe per insulina, apparecchi acustici, protesi o altri dispositivi di assistenza o monitoraggio. Includere dettagli pertinenti se applicabile.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Onnivoro", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Fast Food", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetariano", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Senza lattosio", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Dieta povera di sodio", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Dieta a basso contenuto di zucchero", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Dieta cardiaca", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Dieta renale", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Altro", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ja.arb b/example/lib/src/l10n/profiles/app_ja.arb new file mode 100644 index 0000000..09c54a3 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ja.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ja", + "chatDrawerTitle": "健康記録", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "新しい", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "健康記録を作成する", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "相談の最後に、プロフィールを追加してください。", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "プロフィールを追加", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "他の人のために相談を始めて、彼らのプロフィールを作成します。", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "健康記録を作成するためにサインアップしてください", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "再試行", + "@errorRetryButton": {}, + "dashboardDeleteError": "プロフィールの削除に失敗しました", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "プロフィールの概要の読み込みに失敗しました", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "フルレコードを見る", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "共有する", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "削除", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "年齢", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} 年} other{{value} 年}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "体重", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "身長", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "アレルギー", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "慢性", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "薬", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "デバイス", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "相談", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "ドキュメント", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "健康記録を削除しますか?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "これにより、あなたの健康データが永久に削除され、元に戻すことはできません。あなたが私たちのガイドに使用するコンテキストを失います。", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "キャンセル", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "削除", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "健康記録を削除しています...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "プロフィールの削除に失敗しました", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "健康記録が削除されました", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "アシスタントとチャットすることで、いつでも新しいものを作成できます。", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "チャットに戻る", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "編集中", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "プロフィールデータの読み込みに失敗しました", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "変更が保存されました", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "あなたの情報は正常に更新されました。", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "プロフィールに戻る", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "プロフィールデータの更新に失敗しました", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "変更を破棄しますか?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "プロフィールにいくつかの変更を加えました。行く前に保存するか、破棄してください。", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "編集を続ける", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "破棄", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "編集", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "レコードを追加", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "検索", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "結果が見つかりませんでした", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ダウンロード", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "共有する", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "削除", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "ドキュメントが見つかりませんでした", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "この文書を削除しますか?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "このファイルは永久に削除されます", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "キャンセル", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "削除", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "その他の操作", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "検索", + "@profilesSearch": {}, + "profilesEmptyList": "プロフィールが見つかりません", + "@profilesEmptyList": {}, + "profilesViewMore": "もっと見る", + "@profilesViewMore": {}, + "profilesMore": "もっと", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "ドクターリナはあなたの健康を覚えています", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "あなたの相談は、健康記録を自動的に構築し更新します。", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "あなたの健康記録、あなたのルール", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "いつでも症状、薬、履歴、または文書を表示、編集、または追加できます。", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "家族全体のケアをする", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "愛する人、子供、親、またはパートナーのために健康記録を作成します。", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "健康記録を保存する準備はできていますか?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "相談後、「プロフィールを追加」をタップして保存します。", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "次へ", + "@profilesNextButton": {}, + "profilesStartButton": "相談を始める", + "@profilesStartButton": {}, + "profilesLaterButton": "後で", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "閉じる", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "健康記録", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "健康記録 — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...もっと", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...少", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "新しいプロフィールを追加", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "この相談の詳細を保存するためにプロフィールを作成します", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "健康記録でいつでも確認できます", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "この件や関連することでさらに質問があれば、遠慮なく引き続き話しかけてください。お手伝いします", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "基本情報", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "名前", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "山田 太郎", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "名", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "姓", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "山田", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "性別", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "選択してください", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "男性", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "女性", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "その他", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "生年月日", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "年齢", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "例:30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "電話番号", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "メールアドレス", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "居住地", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "例:市、国", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "体と食事", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "身長", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "例:180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "体重", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "例:75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "月経周期", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "例:規則的、不規則", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "食事制限", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "選択してください", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "あなたが食べるものと、持っている制限について教えてください", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "なし", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "ベジタリアン", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "ビーガン", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "グルテンフリー", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "体格指数(BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "例: 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "健康プロフィール", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "慢性疾患", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "例えば2型糖尿病", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "すべての慢性疾患をリストし、診断された時期と合併症を含めてください。", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "既往症", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "例えば、頻繁な風邪", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "過去にかかった重い病気をリストしてください、たとえ回復したとしても。", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "手術歴", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "例:虫垂切除術", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "すべての手術をリストし、年と合併症があったかどうかを含めてください。", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "時々使用する薬", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "例えば、イブプロフェン", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "時々服用する薬(例:鎮痛剤、アレルギー薬)を、用量と使用理由を含めてリストしてください。", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "常用薬", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "例:メトホルミン", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "定期的に服用しているすべての薬について、名前、用量、1日に何回服用するか、そしてその薬がどの病状のためであるかを記載してください。", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "アレルギー", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "例:ペニシリン – 発疹を引き起こす", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "すべてのアレルギー(薬、食べ物、環境)をリストし、どのような反応があるかを説明してください(例:発疹、腫れ、呼吸の問題)。", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "特記事項", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "例:妊娠、障害", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "医師が常に知っておくべき重要な医療条件がある場合(例:妊娠、埋め込みデバイス、障害、抗凝固療法)、それについて説明してください。ない場合は、空白のままにしておいても構いません。", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "家族歴", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "例:心臓病、がん", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "ご家族における重要な病気について説明してください(例:糖尿病、高血圧、心臓病、癌、遺伝性疾患)そして、どの家族のメンバーがその病気にかかったかを指定してください。", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "社会的・生活習慣要因", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "例:喫煙、飲酒", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "喫煙、アルコール、身体活動、食事、睡眠、職業など、健康に影響を与えるライフスタイル要因について説明してください。", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "医療機器", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "例:ペースメーカー、補聴器、インスリンポンプ", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "ペースメーカー、インスリンポンプ、補聴器、義肢、またはその他の支援または監視デバイスなど、使用しているまたは埋め込まれている医療機器をリストしてください。該当する場合は、関連する詳細を含めてください。", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "雑食", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ファストフード", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "ペスカタリアン", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "乳糖フリー", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "減塩食", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "低糖質の食事", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "心臓病食", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "腎臓の食事", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "その他", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_kk.arb b/example/lib/src/l10n/profiles/app_kk.arb new file mode 100644 index 0000000..e791b6f --- /dev/null +++ b/example/lib/src/l10n/profiles/app_kk.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "kk", + "chatDrawerTitle": "Денсаулық жазбалары", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "ЖАҢА", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Денсаулық жазбаңызды жасаңыз", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Консультацияңыздың соңында профиліңізді қосыңыз.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Көбірек профиль қосу", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Басқа біреудің профилін жасау үшін консультация бастаңыз.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Денсаулық жазбаңызды жасау үшін тіркеліңіз", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Қайтадан әрекет етіңіз", + "@errorRetryButton": {}, + "dashboardDeleteError": "Профильді жою мүмкін болмады", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Профильдің қысқаша мазмұнын жүктеу сәтсіз аяқталды", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Толық жазбаны қарау", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Бөлісу", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Жою", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Жас", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} жыл} other{{value} жыл}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Салмақ", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} кг", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Биіктік", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} см", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Аллергиялар", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Созылмалы", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Дәрі-дәрмек", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Құрылғылар", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Консультациялар", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Құжаттар", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Денсаулық жазбасын жою ма?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Бұл сіздің денсаулық деректеріңізді тұрақты түрде жояды және қайтарылмайды. Біз сізді бағыттау үшін қолданатын контексті жоғалтасыз.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Бас тарту", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Жою", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Сіздің денсаулық жазбаңызды жою...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Профильді жою мүмкін болмады", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Денсаулық жазбасы жойылды", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Сіз көмекшіден сөйлесіп, кез келген уақытта жаңа жазба жасай аласыз.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Чатқа оралу", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Редактирование", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Профиль деректерін жүктеу сәтсіз аяқталды", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Өзгерістер сақталды", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Сіздің ақпараттарыңыз сәтті жаңартылды.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Профильге оралу", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Профиль деректерін жаңарту сәтсіз аяқталды", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Өзгерістерді жою ма?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Сіз профиліңізде кейбір өзгерістер жасадыңыз. Кетпес бұрын оларды сақтаңыз немесе жойыңыз.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Редакциялауды жалғастыру", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Жою", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Өңдеу", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Жазба қосу", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Іздеу", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Нәтижелер табылмады", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Жүктеу", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Бөлісу", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Жою", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Құжаттар табылмады", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Бұл құжатты жою керек пе?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Бұл файл тұрақты түрде жойылады", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Бас тарту", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Жою", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Қосымша әрекеттер", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Іздеу", + "@profilesSearch": {}, + "profilesEmptyList": "Профильдер табылмады", + "@profilesEmptyList": {}, + "profilesViewMore": "Көбірек көру", + "@profilesViewMore": {}, + "profilesMore": "Көбірек", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina енді сіздің денсаулығыңызды есте сақтайды", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Сіздің консультацияларыңыз автоматты түрде Денсаулық жазбаңызды құрастырады және жаңартады.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Сіздің денсаулық жазбаңыз, сіздің ережелеріңіз", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Симптомдарды, дәрілерді, тарихты немесе құжаттарды кез келген уақытта қараңыз, өңдеңіз немесе қосыңыз.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Отбасыңыздың барлық мүшелеріне қамқорлық жасаңыз", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Сүйікті адамдар, балаларыңыз, ата-анаңыз немесе серіктесіңіз үшін Денсаулық жазбасын жасаңыз.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Денсаулығыңызды сақтау үшін дайынсыз ба?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Консультациядан кейін \"Профиль қосу\" батырмасын басыңыз.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Келесі", + "@profilesNextButton": {}, + "profilesStartButton": "Консультация бастау", + "@profilesStartButton": {}, + "profilesLaterButton": "Кейінірек", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Жабу", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Денсаулық картасы", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Денсаулық картасы — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...көп", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...аз", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Жаңа профиль қосу", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Бұл консультацияның мәліметтерін сақтау үшін профиль жасаңыз.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Сіз оны Денсаулық жазбаларыңызда кез келген уақытта бағалай аласыз", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Егер сізде осы немесе оған қатысты қосымша сұрақтар болса, менімен сөйлесуді жалғастырудан тартынбаңыз. Мен көмектесуге дайынмын", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Жалпы ақпарат", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Аты", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Аты", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Тегі", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Жыныс", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Таңдаңыз", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Ер", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Әйел", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Басқа", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Туған күні", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Жасы", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "мысалы, 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Телефон нөмірі", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Электрондық пошта", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Орналасқан жер", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "мысалы: Қала, Ел", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Дене және тамақтану", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Бой", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "мысалы 180 см", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Салмақ", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "мысалы, 75 кг", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Менструалдық цикл", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "мысалы. Тұрақты, Ретсіз", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Диеталық шектеулер", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Таңдаңыз", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Сіз не жейтініңізді және қандай шектеулеріңіз бар екенін бізге хабарлаңыз", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Жоқ", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Вегетариандық", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Веган", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Глютенсіз", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Дене массасының индексі (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "мысалы 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Денсаулық профилі", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Созылмалы аурулар", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "мысалы, 2 типті қант диабеті", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Барлық созылмалы ауруларды тізіп, олардың қашан диагноз қойылғанын және кез келген асқынуларын қосыңыз.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Өткен аурулар", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "мысалы, жиі суық тию", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Өтініш, өткен кезеңде болған ауыр ауруларды тізіп шығыңыз, тіпті егер сіз жазылып кетсеңіз де.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Операция тарихы", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "мысалы: аппендэктомия", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Барлық операцияларды тізіп, жылын және қандай да бір асқынулар болғанын көрсетіңіз.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Ара-тұра қолданылатын дәрі-дәрмектер", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "мысалы, Ибупрофен", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Уақытша қабылдайтын дәрілеріңізді (мысалы: ауырсынуды басатын дәрілер, аллергияға қарсы дәрілер) дозасымен және қолдану себебімен бірге жазыңыз.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Тұрақты қабылданатын дәрілер", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "мысалы, Метформин", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Тұрақты қабылдайтын барлық дәрілерді, оның атауын, дозасын, күніне қанша рет қабылдайтыныңызды және қандай жағдай үшін екенін жазыңыз.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Аллергиялар", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "мысалы, Пенициллин – бөртпе тудырады", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Барлық аллергияларды (дәрілер, тағам, қоршаған орта) тізіп, қандай реакция болғанын сипаттаңыз (мысалы: бөртпе, ісіну, тыныс алу проблемалары).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Арнайы жағдайлар", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "мысалы: Жүктілік, Мүгедектік", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Егер дәрігерлер әрқашан білуі тиіс маңызды медициналық жағдайларыңыз болса (мысалы: жүктілік, имплантталған құрылғылар, мүгедектік, антикоагулянттық терапия), оларды сипаттаңыз. Егер жоқ болса, оны бос қалдыра аласыз.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Отбасылық анамнез", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "мысалы: жүрек ауруы, қатерлі ісік", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Отбасыңыздағы маңызды ауруларды сипаттаңыз (мысалы: қант диабеті, гипертония, жүрек ауруы, рак, генетикалық аурулар) және қай отбасы мүшесінің осы аурумен ауырғанын көрсетіңіз.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Әлеуметтік & Өмір салты факторлары", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "Мысалы: темекі шегу, алкоголь тұтыну", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Денсаулығыңызға әсер ететін өмір салты факторларын сипаттаңыз, мысалы, темекі шегу, алкоголь, физикалық белсенділік, диета, ұйқы және мамандық.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Медициналық құрылғылар", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "мысалы: пейсмейкер, есту аппараты, инсулин сорғысы", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Сіз пайдаланатын немесе имплантацияланған медициналық құрылғыларды, мысалы, жүрек ритмінің реттегіштері, инсулин помпалары, есту аппараттары, протездер немесе басқа да көмекші немесе мониторингтік құрылғыларды тізіп беріңіз. Қажет болса, тиісті мәліметтерді қосыңыз.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Өсімдік пен жануар өнімдерін тұтынатын", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Фастфуд", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Пескатариан", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Лактозасыз", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Тұзды азайтылған диета", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Төмен қантты диета", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Жүрекке арналған диета", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Бүйрекке арналған диета", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Басқа", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_km.arb b/example/lib/src/l10n/profiles/app_km.arb new file mode 100644 index 0000000..7cf7523 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_km.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "km", + "chatDrawerTitle": "កំណត់ត្រាសុខភាព", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "ថ្មី", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "បង្កើតកំណត់ត្រាសុខភាពរបស់អ្នក", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "នៅចុងបញ្ចប់នៃការពិគ្រោះយោបល់របស់អ្នក បន្ថែមប្រវត្តិរូបរបស់អ្នក។", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "បន្ថែមប្រវត្តិទាំងអស់", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "ចាប់ផ្តើមការពិភាក្សាសម្រាប់អ្នកផ្សេងទៀតដើម្បីបង្កើតប្រវត្តិរូបរបស់ពួកគេ។", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "ចុះឈ្មោះដើម្បីបង្កើតកំណត់ត្រាសុខភាពរបស់អ្នក", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Retry", + "@errorRetryButton": {}, + "dashboardDeleteError": "មិនអាចលុបប្រវត្តិបាន", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "មិនអាចផ្ទុកសង្ខេបប្រវត្តិបាន", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "មើលកំណត់ត្រាពេញ", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "ចែករំលែក", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "លុប", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "អាយុ", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} ឆ្នាំ} other{{value} ឆ្នាំ}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "ទម្ងន់", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} គីឡូក្រាម", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "កម្ពស់", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} សង់ទីមែត្រ", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "អាល្លឺជី", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "រោគសញ្ញាឈឺចាប់", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "ថ្នាំ", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "ឧបករណ៍", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "ការពិគ្រោះ", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "ឯកសារ", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "លុបកំណត់ត្រាសុខភាព?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "នេះនឹងលុបទិន្នន័យសុខភាពរបស់អ្នកយ៉ាងថេរ ហើយមិនអាចត្រឡប់មកវិញបានទេ។ អ្នកនឹងបាត់បង់បរិបទដែលយើងប្រើដើម្បីណែនាំអ្នក។", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "បោះបង់", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "លុប", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "កំពុងលុបកំណត់ត្រាសុខភាពរបស់អ្នក...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "មិនអាចលុបប្រវត្តិបាន", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "កំណត់ត្រាសុខភាពត្រូវបានលុប", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "អ្នកអាចបង្កើតថ្មីមួយនៅពេលណាមួយដោយការជជែកជាមួយជំនួយករ។", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "ត្រឡប់ទៅកាន់ការសន្ទនា", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "កែសម្រួល", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "មិនអាចផ្ទុកទិន្នន័យប្រវត្តិបាន", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "ការផ្លាស់ប្តូរបានរក្សាទុក", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "ព័ត៌មានរបស់អ្នកត្រូវបានអាប់ដេតដោយជោគជ័យ។", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "ត្រឡប់ទៅប្រវត្តិ", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "បរាជ័យក្នុងការអាប់ដេតទិន្នន័យប្រវត្តិ", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "លុបការផ្លាស់ប្តូរ?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "អ្នកបានធ្វើការផ្លាស់ប្តូរមួយចំនួននៅក្នុងប្រវត្តិរូបរបស់អ្នក។ សូមរក្សាទុកមុនពេលអ្នកចេញ ឬលុបចោលវា។", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "រក្សាទុកការកែប្រែ", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "លុបចោល", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "កែសម្រួល", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "បន្ថែមកំណត់ត្រា", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "ស្វែងរក", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "មិនមានលទ្ធផល", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ទាញយក", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "ចែករំលែក", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "លុប", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "មិនមានឯកសារទេ", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "លុបឯកសារនេះមែនទេ?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "ឯកសារនេះនឹងត្រូវលុបចោលយ៉ាងស្ថាពរ", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "បោះបង់", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "លុប", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "សកម្មភាពបន្ថែម", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "ស្វែងរក", + "@profilesSearch": {}, + "profilesEmptyList": "មិនមានប្រវត្តិរូបត្រូវបានរកឃើញ", + "@profilesEmptyList": {}, + "profilesViewMore": "មើលបន្ថែម", + "@profilesViewMore": {}, + "profilesMore": "បន្ថែម", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina ឥឡូវនេះចាំអារម្មណ៍សុខភាពរបស់អ្នក", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "ការពិគ្រោះយោបល់របស់អ្នកឥឡូវនេះកសាងនិងធ្វើឱ្យកំណត់ត្រាសុខភាពរបស់អ្នកអាប់ដេតដោយស្វ័យប្រវត្តិ។", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "កំណត់ត្រាសុខភាពរបស់អ្នក គឺជាច្បាប់របស់អ្នក", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "មើល កែប្រែ ឬ បន្ថែមរោគសញ្ញា ឱសថ ប្រវត្តិ ឬ ឯកសារ នៅពេលណាក៏បាន។", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "ថែទាំគ្រួសារទាំងមូលរបស់អ្នក", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "បង្កើតកំណត់ត្រាសុខភាពសម្រាប់អ្នកដែលអ្នកស្រឡាញ់ កូនៗរបស់អ្នក, ឪពុកម្តាយរបស់អ្នក, ឬគូស្នេហ៍របស់អ្នក។", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "តើអ្នក Prepared ដើម្បីរក្សាទុកកំណត់ត្រាសុខភាពរបស់អ្នកទេ?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "បន្ទាប់ពីការពិគ្រោះយោបល់របស់អ្នក សូមចុច \"បន្ថែមប្រវត្តិ\" ដើម្បីរក្សាទុកវា។", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "បន្ទាប់", + "@profilesNextButton": {}, + "profilesStartButton": "ចាប់ផ្តើមការពិភាក្សា", + "@profilesStartButton": {}, + "profilesLaterButton": "ប្រហែលជាពេលក្រោយ", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "បិទ", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "កំណត់ត្រាសុខភាព", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "កំណត់ត្រាសុខភាព — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...បន្ថែម", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...តិច", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "បន្ថែមប្រវត្តិថ្មី", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "ការបង្កើតប្រវត្តិដើម្បីរក្សាទុកព័ត៌មាននៃការពិគ្រោះយោបល់នេះ។", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "អ្នកអាចចូលប្រើវានៅពេលណាក៏បានក្នុងកំណត់ត្រាសុខភាពរបស់អ្នក", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "បើអ្នកមានសំណួរបន្ថែមអំពីរឿងនេះ ឬអ្វីដែលទាក់ទង សូមបន្តនិយាយជាមួយខ្ញុំ។ ខ្ញុំនៅទីនេះដើម្បីជួយ", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "ព័ត៌មានទូទៅ", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "ឈ្មោះ", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "នាមដំបូង", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "នាមត្រកូល", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "ភេទ", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "សូមជ្រើស", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "ប្រុស", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "ស្រី", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "ផ្សេងទៀត", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "ថ្ងៃកំណើត", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "អាយុ", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "ឧទាហរណ៍ 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "លេខទូរស័ព្ទ", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "អ៊ីមែល", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "ទីតាំង", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ឧ. ក្រុង, ប្រទេស", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "រាងកាយ និងអាហារ", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "កម្ពស់", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "ឧទាហរណ៍ 180 សង់ទីម៉ែត្រ", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "ទម្ងន់", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ឧទាហរណ៍ 75 គីឡូក្រាម", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menstrual Cycle", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "ឧទាហរណ៍ ទៀងទាត់, មិនទៀងទាត់", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "ការរឹតត្បិតអាហារ", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "សូមជ្រើស", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "ប្រាប់យើងអំពីអាហារដែលអ្នកបរិភោគ និងកំណត់ខ្លះៗដែលអ្នកមាន", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "គ្មាន", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "មិនញ៉ាំសាច់", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "វេហ្គាន", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "គ្មានក្លូតិន", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "សន្ទស្សន៍ម៉ាសរាងកាយ (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ឧទាហរណ៍ 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "ប្រវត្តិសុខភាព", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Chronic Illnesses", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ឧ. ជំងឺទឹកនោមផ្អែមប្រភេទទី ២", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "សូមបញ្ជាក់រោគសញ្ញាដែលមានរ៉ែជារយៈពេលវែងទាំងអស់ និងរួមបញ្ចូលពេលវេលាដែលបានវាយតម្លៃ និងបញ្ហាណាមួយ។", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "ជំងឺកាលពីមុន", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ឧទាហរណ៍៖ ជំងឺត្រចៀកធម្មតាដែលកើតឡើងជាញឹកញាប់", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "សូមបញ្ជាក់ពីជំងឺធ្ងន់ធ្ងរដែលអ្នកមាននៅអតីតកាល ទោះបីអ្នកបានសុខសប្បាយក៏ដោយ។", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "ប្រវត្តិការវះកាត់", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "ឧទាហរណ៍ Appendectomy", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "សូមបញ្ជាក់ពីការវះកាត់ទាំងអស់ និងរួមបញ្ចូលឆ្នាំ និងថាតើមានបញ្ហាអ្វីកើតឡើងទេ។", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "ថ្នាំដែលប្រើបានពេលខ្លះ", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "អ៊ីបូភ្រូហ្វែន", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "សូមបញ្ជាក់អំពីថ្នាំដែលអ្នកប្រើប្រាស់ពីពេលទៅពេល (ឧទាហរណ៍៖ ថ្នាំបន្ថយការឈឺចាប់, ថ្នាំអាល្លឺជី), រួមទាំងមាត្រានិងមូលហេតុសម្រាប់ការប្រើប្រាស់។", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "ថ្នាំទៀងទាត់", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "ឧទាហរណ៍៖ Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "សូមបញ្ជាក់អំពីថ្នាំទាំងអស់ដែលអ្នកប្រើប្រាស់ជាប្រចាំ រួមទាំងឈ្មោះ, បរិមាណ, ចំនួនដងក្នុងមួយថ្ងៃដែលអ្នកប្រើប្រាស់ និងជំងឺដែលវាសម្រាប់។", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "អាឡែជី", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ឧទាហរណ៍៖ ប៉េន៊ីស៊ីលីន - បង្កើតរោគសញ្ញា", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "សូមបញ្ជាក់អាល់ឡឺជីទាំងអស់ (ថ្នាំ, អាហារ, បរិស្ថាន) ហើយពិពណ៌នាអំពីអ្វីដែលអ្នកមានប្រតិកម្ម (ឧទាហរណ៍៖ ការស្រាល, ការលើស, បញ្ហាអាកាសចរណ៍)។", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "បញ្ហាសុខភាពពិសេស", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "ឧទាហរណ៍ ការមានផ្ទៃពោះ, ពិការភាព", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "ប្រសិនបើអ្នកមានស្ថានភាពវេជ្ជសាស្ត្រសំខាន់ៗណាមួយដែលវេជ្ជបណ្ឌិតគួរតែដឹងជានិច្ច (ឧទាហរណ៍៖ ការធ្វើឱ្យមានផ្ទៃពោះ, ឧបករណ៍ដាក់ចូល, អសមត្ថភាព, ការព្យាបាលអង់ទីកូអ៊ូឡង់), សូមពិពណ៌នាពួកវា។ ប្រសិនបើមិនមាន អ្នកអាចទុកវាឲ្យទទេ។", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "ប្រវត្តិគ្រួសារ", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ឧ. ជំងឺបេះដូង, មហារីក", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "សូមពិពណ៌នាអំពីជំងឺសំខាន់ៗនៅក្នុងគ្រួសាររបស់អ្នក (ឧទាហរណ៍៖ ជំងឺទឹកនោមផ្អែម, ជំងឺឈាមខ្ពស់, ជំងឺបេះដូង, ជំងឺមហារីក, ជំងឺមេរោគ) ហើយបញ្ជាក់ថា សមាជិកគ្រួសារណាដែលមានស្ថានភាពនេះ។", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "កត្តាសង្គម និងរបៀបរស់នៅ", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "ឧទាហរណ៍ ការជក់បារី, ការបរិភោគស្រា", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "សូមពិពណ៌នាអំពីកត្តាជីវិតដែលអាចប៉ះពាល់ដល់សុខភាពរបស់អ្នក ដូចជា ការស៊ីស្រាប, ម្ហូបអាហារ, សកម្មភាពរាងកាយ, អាហារ, ការគេង និងមុខរបរ។", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "ឧបករណ៍វេជ្ជសាស្ត្រ", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "ឧទាហរណ៍ Pacemaker, Hearing aid, Insulin pump", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "សូមបញ្ជាក់អំពីឧបករណ៍វេជ្ជសាស្ត្រណាមួយដែលអ្នកប្រើប្រាស់ឬមានដាក់បញ្ចូល ដូចជា ឧបករណ៍បង្កើនចិត្ត, ឧបករណ៍បូមអ៊ីនស៊ូលីន, ឧបករណ៍ស្តាប់, ឧបករណ៍ជំនួយ ឬឧបករណ៍តាមដានផ្សេងទៀត។ សូមបញ្ចូលព័ត៌មានដែលពាក់ព័ន្ធ ប្រសិនបើមាន។", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "ស៊ីទាំងសត្វនិងរុក្ខជាតិ", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "អាហារឆាប់ស៊ី", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "អាហារដែលមានត្រី", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "គ្មានឡាក់តូស", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "អាហារដែលមានជាតិសូឌ្យូមទាប", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "អាហារមានស្ករតិច", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "អាហារសម្រាប់បេះដូង", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "អាហារបរិច្ឆេទរ៉េណាល់", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "ផ្សេងទៀត", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_kn.arb b/example/lib/src/l10n/profiles/app_kn.arb new file mode 100644 index 0000000..b6da773 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_kn.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "kn", + "chatDrawerTitle": "ಆರೋಗ್ಯ ದಾಖಲೆಗಳು", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "ಹೊಸದು", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆ ರಚಿಸಿ", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "ನಿಮ್ಮ ಸಲಹೆಯ ಕೊನೆಯಲ್ಲಿ, ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಸೇರಿಸಿ.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "ಹೆಚ್ಚು ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಸೇರಿಸಿ", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "ಇತರರಿಗಾಗಿ ಅವರ ಪ್ರೊಫೈಲ್ ರಚಿಸಲು ಸಮಾಲೋಚನೆ ಪ್ರಾರಂಭಿಸಿ.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆ ರಚಿಸಲು ಸೈನ್ ಅಪ್ ಮಾಡಿ", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "ಮರು ಪ್ರಯತ್ನಿಸಿ", + "@errorRetryButton": {}, + "dashboardDeleteError": "ಪ್ರೊಫೈಲ್ ಅಳಿಸಲು ವಿಫಲವಾಗಿದೆ", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "ಪ್ರೊಫೈಲ್ ಸಾರಾಂಶವನ್ನು ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "ಪೂರ್ಣ ದಾಖಲೆ ನೋಡಿ", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "ಹಂಚಿಕೊಳ್ಳಿ", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "ಅಳಿಸಿ", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "ವಯಸ್ಸು", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} ವರ್ಷ} other{{value} ವರ್ಷ}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "ತೂಕ", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} ಕಿ.ಗ್ರಾ.", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "ಎತ್ತರ", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} ಸೆಂ.ಮೀ", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "ಆಲರ್ಜಿಗಳು", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "ಕ್ರೋನಿಕ್", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "ಮದ್ದು", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "ಉಪಕರಣಗಳು", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "ಸಲಹೆಗಳು", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "ದಾಖಲೆಗಳು", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "ಆರೋಗ್ಯ ದಾಖಲೆ ಅಳಿಸಲು?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "ಇದು ನಿಮ್ಮ ಆರೋಗ್ಯದ ಮಾಹಿತಿಯನ್ನು ಶಾಶ್ವತವಾಗಿ ತೆಗೆದು ಹಾಕುತ್ತದೆ ಮತ್ತು ಇದನ್ನು ಹಿಂದಿರುಗಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನೀವು ನಿಮ್ಮನ್ನು ಮಾರ್ಗದರ್ಶನ ಮಾಡಲು ಬಳಸುವ ಸಂದರ್ಭವನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "ರದ್ದು ಮಾಡಿ", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "ಅಳಿಸಿ", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆ ಅಳಿಸುತ್ತಿದೆ...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "ಪ್ರೊಫೈಲ್ ಅಳಿಸಲು ವಿಫಲವಾಗಿದೆ", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "ಆರೋಗ್ಯ ದಾಖಲೆ ಅಳಿಸಲಾಗಿದೆ", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "ನೀವು ಸಹಾಯಕರೊಂದಿಗೆ ಮಾತನಾಡಿ ಯಾವಾಗ ಬೇಕಾದರೂ ಹೊಸದನ್ನು ರಚಿಸಬಹುದು", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "ಚಾಟ್ ಗೆ ಹಿಂತಿರುಗಿ", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "ಸಂಪಾದನೆ", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "ಪ್ರೊಫೈಲ್ ಡೇಟಾ ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಲಾಗಿದೆ", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "ಪ್ರೊಫೈಲ್ ಗೆ ಹಿಂತಿರುಗಿ", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "ಪ್ರೊಫೈಲ್ ಡೇಟಾವನ್ನು ನವೀಕರಿಸಲು ವಿಫಲವಾಗಿದೆ", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "ಬದಲಾವಣೆಗಳನ್ನು ತಿರಸ್ಕರಿಸಬೇಕೆ?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "ನೀವು ನಿಮ್ಮ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿ ಕೆಲವು ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದ್ದೀರಿ. ನೀವು ಹೋಗುವ ಮೊದಲು ಅವುಗಳನ್ನು ಉಳಿಸಿ ಅಥವಾ ತ್ಯಜಿಸಿ.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "ಸಂಪಾದನೆ ಮುಂದುವರಿಯಿರಿ", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "ಅಳಿಸು", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "ತಿದ್ದು", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "ರಿಕಾರ್ಡ್ ಸೇರಿಸಿ", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "ಹುಡುಕಿ", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "ಯಾವುದೇ ಫಲಿತಾಂಶಗಳು ದೊರಕಲಿಲ್ಲ", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ಡೌನ್‌ಲೋಡ್", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "ಹಂಚಿಕೊಳ್ಳಿ", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "ಅಳಿಸಿ", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "ದಸ್ತಾವೇಜುಗಳು ದೊರಕಲಿಲ್ಲ", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "ಈ ದಾಖಲೆ ಅಳಿಸಲು ಬಯಸುತ್ತೀರಾ?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "ಈ ಫೈಲ್ ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "ರದ್ದು ಮಾಡಿ", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "ಅಳಿಸಿ", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "ಇನ್ನಷ್ಟು ಕ್ರಿಯೆಗಳು", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "ಹುಡುಕಿ", + "@profilesSearch": {}, + "profilesEmptyList": "ಯಾವುದೇ ಪ್ರೊಫೈಲ್‌ಗಳು ಕಂಡುಬಂದಿಲ್ಲ", + "@profilesEmptyList": {}, + "profilesViewMore": "ಇನ್ನಷ್ಟು ನೋಡಿ", + "@profilesViewMore": {}, + "profilesMore": "ಹೆಚ್ಚು", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina ಈಗ ನಿಮ್ಮ ಆರೋಗ್ಯವನ್ನು ನೆನೆಸುತ್ತದೆ", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "ನಿಮ್ಮ ಸಮಾಲೋಚನೆಗಳು ಈಗ ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಿರ್ಮಿಸುತ್ತವೆ ಮತ್ತು ನವೀಕರಿಸುತ್ತವೆ.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆ, ನಿಮ್ಮ ನಿಯಮಗಳು", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "ಯಾವಾಗ ಬೇಕಾದರೂ ಲಕ್ಷಣಗಳು, ಔಷಧಿಗಳು, ಇತಿಹಾಸ ಅಥವಾ ದಾಖಲೆಗಳನ್ನು ನೋಡಿ, ಸಂಪಾದಿಸಿ ಅಥವಾ ಸೇರಿಸಿ.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "ನಿಮ್ಮ ಸಂಪೂರ್ಣ ಕುಟುಂಬದ ಆರೈಕೆ ಮಾಡಿ", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "ನಿಮ್ಮ ಪ್ರಿಯ ವ್ಯಕ್ತಿಗಳು, ನಿಮ್ಮ ಮಕ್ಕಳಿಗೆ, ಪೋಷಕರಿಗೆ ಅಥವಾ ಸಂಗಾತಿಗೆ ಆರೋಗ್ಯ ದಾಖಲೆ ರಚಿಸಿ", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆ ಉಳಿಸಲು ಸಿದ್ಧವೇ?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "ನಿಮ್ಮ ಸಲಹೆಯ ನಂತರ, ಅದನ್ನು ಉಳಿಸಲು \"ಪ್ರೊಫೈಲ್ ಸೇರಿಸಿ\" ಮೇಲೆ ಟ್ಯಾಪ್ ಮಾಡಿ.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "ಮುಂದೆ", + "@profilesNextButton": {}, + "profilesStartButton": "ಸಲಹೆ ಆರಂಭಿಸಿ", + "@profilesStartButton": {}, + "profilesLaterButton": "ಬೇರೆ ಸಮಯದಲ್ಲಿ", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "ಮುಚ್ಚು", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "ಆರೋಗ್ಯ ದಾಖಲೆ", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "ಆರೋಗ್ಯ ದಾಖಲೆ — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...ಹೆಚ್ಚು", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...ಕಡಿಮೆ", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "ಹೊಸ ಪ್ರೊಫೈಲ್ ಸೇರಿಸಿ", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "ಈ ಸಮಾಲೋಚನೆಯ ವಿವರಗಳನ್ನು ಉಳಿಸಲು ಪ್ರೊಫೈಲ್ ರಚಿಸಿ.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "ನೀವು ಅದನ್ನು ಯಾವಾಗ ಬೇಕಾದರೂ ನಿಮ್ಮ ಆರೋಗ್ಯ ದಾಖಲೆಗಳಲ್ಲಿ ನೋಡಬಹುದು", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "ಈ ವಿಷಯದ ಬಗ್ಗೆ ಅಥವಾ ಇದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಯಾವುದೇ ವಿಷಯಗಳ ಬಗ್ಗೆ ನಿಮಗೆ ಇನ್ನಷ್ಟು ಪ್ರಶ್ನೆಗಳಿದ್ದರೆ, ಮುಕ್ತವಾಗಿ ನನ್ನೊಂದಿಗೆ ಮಾತುಕತೆ ಮುಂದುವರೆಸಿ. ನಾನು ಸಹಾಯ ಮಾಡಲು ಇಲ್ಲಿದ್ದೇನೆ", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "ಸಾಮಾನ್ಯ ಮಾಹಿತಿ", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "ಹೆಸರು", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "ಮೊದಲ ಹೆಸರು", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "ಉಪನಾಮ", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "ಲಿಂಗ", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "ದಯವಿಟ್ಟು ಆಯ್ಕೆ ಮಾಡಿ", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "ಪುರುಷ", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "ಹೆಣ್ಣು", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "ಇತರೆ", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "ಜನ್ಮದಿನಾಂಕ", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "ವಯಸ್ಸು", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "ಉದಾ. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "ದೂರವಾಣಿ ಸಂಖ್ಯೆ", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ಇಮೇಲ್", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "ಸ್ಥಳ", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ಉದಾ. ನಗರ, ದೇಶ", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "ದೇಹ ಮತ್ತು ಆಹಾರ", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "ಎತ್ತರ", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "ಉದಾ. 180 ಸೆಂ.ಮೀ", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "ತೂಕ", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ಉದಾ. 75 ಕೆಜಿ", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "ಮಾಸಿಕ ಚಕ್ರ", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "ಉದಾ. ನಿಯಮಿತ, ಅನಿಯಮಿತ", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "ಆಹಾರ ನಿರ್ಬಂಧಗಳು", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "ದಯವಿಟ್ಟು ಆಯ್ಕೆ ಮಾಡಿ", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "ನೀವು ಏನು ತಿನ್ನುತ್ತೀರಿ ಮತ್ತು ನಿಮ್ಮ ಬಳಿ ಯಾವುದೇ ನಿರ್ಬಂಧಗಳಿದ್ದರೆ ನಮಗೆ ತಿಳಿಸಿ", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "ಯಾವುದೂ ಇಲ್ಲ", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "ಶಾಕಾಹಾರಿ", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "ವೀಗನ್", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "ಗ್ಲುಟೆನ್ ರಹಿತ", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "ದೇಹದ ತೂಕ ಸೂಚ್ಯಂಕ (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ಉದಾ. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "ಆರೋಗ್ಯ ಪ್ರೊಫೈಲ್", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "ದೀರ್ಘಕಾಲಿಕ ರೋಗಗಳು", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ಉದಾಹರಣೆಗೆ, ಡಯಾಬಿಟಿಸ್ ಪ್ರಕಾರ 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "ದಯವಿಟ್ಟು ಎಲ್ಲಾ ಕ್ರೋನಿಕ್ ಕಾಯಿಲೆಗಳ ಪಟ್ಟಿಯನ್ನು ನೀಡಿರಿ ಮತ್ತು ಅವುಗಳನ್ನು ಯಾವಾಗ ನಿರ್ಧಾರ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಯಾವುದೇ ಸಂಕಷ್ಟಗಳನ್ನು ಒಳಗೊಂಡಿರಬೇಕು.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "ಹಿಂದಿನ ರೋಗಗಳು", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ಉದಾಹರಣೆಗೆ, ಸಾಮಾನ್ಯ ಶೀತವು ಹೆಚ್ಚು", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "ದಯವಿಟ್ಟು ನೀವು ಹಿಂದಿನ ಕಾಲದಲ್ಲಿ ಹೊಂದಿದ್ದ ಗಂಭೀರ ಕಾಯಿಲೆಗಳ ಪಟ್ಟಿಯನ್ನು ನೀಡಿರಿ, ನೀವು ಗುಣಮುಖರಾಗಿದ್ದರೂ ಸಹ.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "ಶಸ್ತ್ರಚಿಕಿತ್ಸಾ ಇತಿಹಾಸ", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "ಉದಾ. ಅಪೆಂಡೆಕ್ಟಮಿ", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "ದಯವಿಟ್ಟು ಎಲ್ಲಾ ಶಸ್ತ್ರಚಿಕಿತ್ಸೆಗಳ ಪಟ್ಟಿಯನ್ನು ನೀಡಿರಿ ಮತ್ತು ವರ್ಷ ಮತ್ತು ಯಾವುದೇ ಸಂಕಷ್ಟಗಳಿದ್ದರೆ ಸೇರಿಸಿ", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "ಕೆಲವೊಮ್ಮೆ ಬಳಸುವ ಔಷಧಿಗಳು", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "ಉದಾಹರಣೆಗೆ, ಐಬುಪ್ರೊಫೆನ್", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "ದಯವಿಟ್ಟು ನೀವು ಕೆಲವೊಮ್ಮೆ ತೆಗೆದುಕೊಳ್ಳುವ ಔಷಧಿಗಳನ್ನು (ಉದಾಹರಣೆಗೆ: ನೋವುನಿವಾರಕ, ಅಲರ್ಜಿಯ ಔಷಧಿಗಳು) ಪಟ್ಟಿ ಮಾಡಿ, ಡೋಸ್ ಮತ್ತು ಬಳಸುವ ಕಾರಣವನ್ನು ಒಳಗೊಂಡಂತೆ.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "ನಿಯಮಿತ ಔಷಧಿಗಳು", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "ಉದಾಹರಣೆಗೆ ಮೆಟ್ಫಾರ್ಮಿನ್", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "ದಯವಿಟ್ಟು ನೀವು ನಿಯಮಿತವಾಗಿ ತೆಗೆದುಕೊಳ್ಳುವ ಎಲ್ಲಾ ಔಷಧಿಗಳನ್ನು, ಹೆಸರು, ಡೋಸ್, ನೀವು ದಿನಕ್ಕೆ ಎಷ್ಟು ಬಾರಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತೀರಿ ಮತ್ತು ಅದು ಯಾವ ಸ್ಥಿತಿಗೆ ಬಳಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಪಟ್ಟಿ ಮಾಡಿ.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "ಅಲರ್ಜಿಗಳು", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ಉದಾಹರಣೆಗೆ ಪೆನಿಸಿಲಿನ್ – ಚರ್ಮದ ಮೇಲೆ ಪುಟಕಗಳು ಉಂಟುಮಾಡುತ್ತದೆ", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "ದಯವಿಟ್ಟು ಎಲ್ಲಾ ಅಲರ್ಜಿಗಳನ್ನು (ಔಷಧಿಗಳು, ಆಹಾರ, ಪರಿಸರ) ಪಟ್ಟಿ ಮಾಡಿ ಮತ್ತು ನೀವು ಹೊಂದಿರುವ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ವಿವರಿಸಿ (ಉದಾಹರಣೆಗೆ: ಚರ್ಮದ ಉರಿಯು, ಉಬ್ಬರ, ಉಸಿರಾಟದ ಸಮಸ್ಯೆಗಳು).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "ವಿಶೇಷ ಪರಿಸ್ಥಿತಿಗಳು", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "ಉದಾ. ಗರ್ಭಾವಸ್ಥೆ, ಅಂಗವಿಕಲತೆ", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "ನೀವು ವೈದ್ಯರು ಯಾವಾಗಲೂ ತಿಳಿಯಬೇಕಾದ ಯಾವುದೇ ಪ್ರಮುಖ ವೈದ್ಯಕೀಯ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಹೊಂದಿದ್ದರೆ (ಉದಾಹರಣೆಗೆ: ಗರ್ಭಾವಸ್ಥೆ, ಇಂಪ್ಲಾಂಟೆಡ್ ಸಾಧನಗಳು, ಅಂಗವಿಕಲತೆ, ಆಂಟಿಕೋಆಗ್ಯುಲೇಶನ್ ಥೆರಪಿ), ದಯವಿಟ್ಟು ಅವುಗಳನ್ನು ವಿವರಿಸಿ. ಇಲ್ಲದಿದ್ದರೆ, ನೀವು ಇದನ್ನು ಖಾಲಿ ಬಿಡಬಹುದು.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "ಕುಟುಂಬದ ವೈದ್ಯಕೀಯ ಇತಿಹಾಸ", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ಉದಾ. ಹೃದಯರೋಗ, ಕ್ಯಾನ್ಸರ್", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "ದಯವಿಟ್ಟು ನಿಮ್ಮ ಕುಟುಂಬದಲ್ಲಿ ಪ್ರಮುಖ ರೋಗಗಳನ್ನು ವಿವರಿಸಿ (ಉದಾಹರಣೆಗೆ: ಶರೀರದ ಸಕ್ಕರೆ, ಉನ್ನತ ರಕ್ತದ ಒತ್ತಡ, ಹೃದಯರೋಗ, ಕ್ಯಾನ್ಸರ್, ಜನನಜಾತ ರೋಗಗಳು) ಮತ್ತು ಯಾವ ಕುಟುಂಬದ ಸದಸ್ಯನಿಗೆ ಈ ಸ್ಥಿತಿ ಇದೆ ಎಂದು ವಿವರಿಸಿ.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "ಸಾಮಾಜಿಕ ಮತ್ತು ಜೀವನಶೈಲಿ ಅಂಶಗಳು", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "e.g. ಧೂಮಪಾನ, ಮದ್ಯ ಸೇವನೆ", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "ದಯವಿಟ್ಟು ನಿಮ್ಮ ಆರೋಗ್ಯವನ್ನು ಪ್ರಭಾವಿತ ಮಾಡುವ ಜೀವನಶೈಲಿ ಅಂಶಗಳನ್ನು ವಿವರಿಸಿ, ಉದಾಹರಣೆಗೆ ಧೂಮಪಾನ, ಮದ್ಯಪಾನ, ಶಾರೀರಿಕ ಚಟುವಟಿಕೆ, ಆಹಾರ, ನಿದ್ರೆ ಮತ್ತು ಉದ್ಯೋಗ.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "ವೈದ್ಯಕೀಯ ಸಾಧನಗಳು", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "e.g. ಪೇಸ್‌ಮೇಕರ್, ಶ್ರವಣ ಸಹಾಯಕ, ಇನ್ಸುಲಿನ್ ಪಂಪ್", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "ದಯವಿಟ್ಟು ನೀವು ಬಳಸುವ ಅಥವಾ ಇಂಪ್ಲಾಂಟ್ ಮಾಡಿದ ಯಾವುದೇ ವೈದ್ಯಕೀಯ ಸಾಧನಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ, ಉದಾಹರಣೆಗೆ ಪೇಸ್‌ಮೇಕರ್‌ಗಳು, ಇನ್ಸುಲಿನ್ ಪಂಪ್‌ಗಳು, ಕೇಳುವ ಸಾಧನಗಳು, ಪ್ರೋಸ್ಥೆಟಿಕ್‌ಗಳು ಅಥವಾ ಇತರ ಸಹಾಯಕ ಅಥವಾ ಮೋನಿಟರಿಂಗ್ ಸಾಧನಗಳು. ಅನ್ವಯಿಸಿದರೆ ಸಂಬಂಧಿತ ವಿವರಗಳನ್ನು ಸೇರಿಸಿ.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "ಸರ್ವಾಹಾರಿ", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ಫಾಸ್ಟ್ ಫುಡ್", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "ಮತ್ಸ್ಯಾಹಾರಿ", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "ಲ್ಯಾಕ್ಟೋಸ್ ರಹಿತ", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "ಕಡಿಮೆ ಉಪ್ಪಿನ ಆಹಾರ", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "ಕಡಿಮೆ ಸಕ್ಕರೆ ಆಹಾರ", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "ಹೃದಯ ಆಹಾರ", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "ಕಿಡ್ನಿ ಆಹಾರ", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "ಇತರೆ", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ko.arb b/example/lib/src/l10n/profiles/app_ko.arb new file mode 100644 index 0000000..477362c --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ko.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ko", + "chatDrawerTitle": "건강 기록", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "새로운", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "건강 기록 만들기", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "상담이 끝난 후 프로필을 추가하세요.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "프로필 추가", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "다른 사람을 위해 상담을 시작하여 프로필을 생성하세요.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "건강 기록을 만들기 위해 가입하세요", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "다시 시도", + "@errorRetryButton": {}, + "dashboardDeleteError": "프로필 삭제에 실패했습니다", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "프로필 요약을 불러오는 데 실패했습니다", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "전체 기록 보기", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "공유", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "삭제", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "나이", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value}세} other{{value}세}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "체중", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "신장", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "알레르기", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "만성", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "약물", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "장치", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "상담", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "문서", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "건강 기록을 삭제하시겠습니까?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "이 작업은 귀하의 건강 데이터를 영구적으로 삭제하며 되돌릴 수 없습니다. 귀하를 안내하는 데 사용하는 맥락을 잃게 됩니다.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "취소", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "삭제", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "건강 기록을 삭제하는 중...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "프로필을 삭제하지 못했습니다", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "건강 기록이 삭제되었습니다", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "언제든지 도우미와 채팅하여 새로 만들 수 있습니다.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "채팅으로 돌아가기", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "편집 중", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "프로필 데이터를 불러오는 데 실패했습니다", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "변경 사항이 저장되었습니다", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "귀하의 정보가 성공적으로 업데이트되었습니다.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "프로필로 돌아가기", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "프로필 데이터를 업데이트하지 못했습니다", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "변경 사항을 버리시겠습니까?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "프로필에 변경 사항을 적용했습니다. 가기 전에 저장하거나 폐기하세요.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "편집 계속하기", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "버리기", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "편집", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "기록 추가", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "검색", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "결과가 없습니다", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "다운로드", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "공유", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "삭제", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "문서가 없습니다", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "이 문서를 삭제하시겠습니까?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "이 파일은 영구적으로 삭제됩니다", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "취소", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "삭제", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "추가 작업", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "검색", + "@profilesSearch": {}, + "profilesEmptyList": "프로필을 찾을 수 없습니다", + "@profilesEmptyList": {}, + "profilesViewMore": "더 보기", + "@profilesViewMore": {}, + "profilesMore": "더보기", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "닥터리나가 이제 당신의 건강을 기억합니다", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "이제 귀하의 상담이 자동으로 건강 기록을 작성하고 업데이트합니다.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "당신의 건강 기록, 당신의 규칙", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "증상, 약물, 병력 또는 문서를 언제든지 보고, 수정하거나 추가하세요.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "가족 전체를 위한 돌봄", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "사랑하는 사람들, 자녀, 부모 또는 파트너를 위한 건강 기록을 만드세요.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "건강 기록을 저장할 준비가 되셨나요?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "상담 후 '프로필 추가'를 눌러 저장하세요.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "다음", + "@profilesNextButton": {}, + "profilesStartButton": "상담 시작", + "@profilesStartButton": {}, + "profilesLaterButton": "나중에 할게요", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "닫기", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "건강 기록", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "건강 기록 — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...더 보기", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...덜", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "새 프로필 추가", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "이 상담의 세부 정보를 저장할 프로필을 만드세요", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "언제든지 Health Records에서 확인할 수 있습니다", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "이 문제나 관련된 다른 질문이 있으면 언제든 저와 계속 이야기해 주세요. 도와드리기 위해 여기 있어요", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "일반 정보", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "이름", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "홍길동", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "이름", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "철수", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "성", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "김", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "성별", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "선택하세요", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "남성", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "여성", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "기타", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "생년월일", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "나이", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "예: 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "전화번호", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "이메일", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "위치", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "예: 도시, 국가", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "신체 및 식단", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "키", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "예: 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "체중", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "예: 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "월경 주기", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "예: 규칙적, 불규칙적", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "식이 제한", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "선택하세요", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "당신이 먹는 것과 어떤 제한이 있는지 알려주세요", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "없음", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "채식주의자", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "비건", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "글루텐 프리", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "체질량지수(BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "예: 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "건강 프로필", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "만성 질환", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "예: 제2형 당뇨병", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "모든 만성 질환을 나열하고 진단된 시기와 합병증을 포함해 주세요.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "과거 병력", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "예: 잦은 감기", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "과거에 앓았던 심각한 질병을 나열해 주세요, 회복했더라도.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "수술력", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "예: 충수절제술", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "모든 수술을 나열하고 연도와 합병증 여부를 포함해 주세요.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "가끔 복용하는 약", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "예: 이부프로펜", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "가끔 복용하는 약물(예: 진통제, 알레르기 약물)을 복용량과 사용 이유와 함께 기재해 주세요", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "정기 복용 약물", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "예: 메트포르민", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "정기적으로 복용하는 모든 약물의 이름, 용량, 하루 몇 번 복용하는지, 어떤 질환을 위한 것인지 기재해 주세요", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "알레르기", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "예: 페니실린 – 발진 유발", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "모든 알레르기(약물, 음식, 환경)를 나열하고 어떤 반응이 있었는지 설명해 주세요(예: 발진, 부기, 호흡 문제).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "특이사항", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "예: 임신, 장애", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "의사가 항상 알아야 할 중요한 의학적 상태가 있다면(예: 임신, 이식된 장치, 장애, 항응고 요법) 설명해 주십시오. 없다면 비워 두셔도 됩니다.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "가족력", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "예: 심장 질환, 암", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "가족의 중요한 질병을 설명해 주세요 (예: 당뇨병, 고혈압, 심장병, 암, 유전병) 그리고 어떤 가족 구성원이 그 질병을 앓았는지 명시해 주세요.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "사회 및 생활습관 요인", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "예: 흡연, 음주", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "흡연, 음주, 신체 활동, 식단, 수면 및 직업과 같이 건강에 영향을 줄 수 있는 생활 습관 요소를 설명해 주세요.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "의료기기", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "예: 심박동조율기, 보청기, 인슐린 펌프", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "사용 중이거나 이식된 의료 기기를 나열해 주세요. 예: 심박조율기, 인슐린 펌프, 보청기, 의수족 또는 기타 보조 기기나 모니터링 기기. 관련 세부정보가 있으면 포함해 주세요.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "잡식성", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "패스트푸드", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "페스카테리언", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "무유당", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "저나트륨 식단", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "저당 식단", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "심장 질환 식단", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "신장 식단", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "기타", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_lo.arb b/example/lib/src/l10n/profiles/app_lo.arb new file mode 100644 index 0000000..e241b0e --- /dev/null +++ b/example/lib/src/l10n/profiles/app_lo.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "lo", + "chatDrawerTitle": "ບັນທຶກສຸຂະພາບ", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "ໃໝ່", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "ສ້າງບັນທຶກສຸຂະພາບຂອງທ່ານ", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "ທ່ານເພີ່ມແບບປະຈຸບັນຂອງທ່ານໃນສິ່ງທີ່ປ່ອນສິນຄ້າ.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "ເພີ່ມບັນທຶກເພີ່ມ", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "ເລີ່ມຕົ້ນການປຶກສາສໍາລັບຄົນອື່ນເພື່ອສ້າງແບບປະຈຸບັນຂອງເຂົ້າ.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "ລົງບັດເພື່ອສ້າງບັດສຸຂະພາບຂອງເອງ", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "ລອງໃໝ່", + "@errorRetryButton": {}, + "dashboardDeleteError": "ບໍ່ສາມາດລົບໂປຣໄຟລ໌", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "ບໍ່ສາມາດເອົາສະລະບົບຂອງບັນຊີມາໃສ່", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "ເບິ່ງບັນທຶກສົກສິດສົດ", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "ແບ່ງປັນ", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "ລົບ", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "ອາຍຸ", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} ປີ} other{{value} ປີ}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "ນໍ້າ໫ະລັດ", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "ສູງ", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "ອາລະຈິ", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "ອາການບໍ່ປົກກະຕິ", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "ຢາ", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "ອຸປະກອນ", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "ການປຶກສາ", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "ເອກະສານ", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "ລົບບັນທຶກສຸຂະພາບບໍ?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "ນີ້ຈະລົບຂໍໍ່ສຸດທ້າຍຂອງທ່ານແລະບໍ່ສາມາດກັບຄືນໄດ້. ທ່ານຈະສາມາດສູນເສຍບັນດາທີ່ເຮົາໃຊ້ເພື່ອນຳທ່ານ.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "ຍົກເລີກ", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "ລົບ", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "ກຳລັງລົບບັນທຶກສຸຂະພາບຂອງທ່ານ...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "ບໍ່ສາມາດລົບໂປຣໄຟລ໌", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "ບັນທຶກສຸຂະພາບໄດ້ຖອນອອກ", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "ທ່ານສາมາດສ້າງໃໝ່ໃນເວລາໃດກໍໄດ້ໂດຍການສົນທະນາກັບຜູ້ຊ່ອຍ.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "ກັບໄປສູ່ບັນທຶກ", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "ແກ້ໄຂ", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "ບໍ່ສາມາດເອົາຂໍໍ່າບັດຂອງປະເພດບັນທຶກ", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "ການປ່ອນບັດບັດສຳເລັດ", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "ຂໍໍາລະບຽບຂອງທ່ານໄດ້ຖືກອັບເດດແລ້ວ.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "ກັບໄປທີ່ໂປຣໄຟລ", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "ບໍ່ສາມາດອັບເດດຂໍໍ່ຂອງຂໍໍ່ບັນທຶກ", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "ລົບການແກ້ໄຂບໍ?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "`ທ່ານໄດ້ແກ້ໄຂໂປຣໄຟລ໌ຂອງທ່ານບາງຢ່າງແລ້ວ. ບັນທຶກມັນກ່ອນອອກ ຫຼື ຍົກເລີກມັນ.`", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "`ແກ້ໄຂຕໍ່`", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "`ຍົກເລີກ`", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "ແກ້ໄຂ", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "ເພີ່ມບັນທຶກ", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "ຄົ້ນຫາ", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "ບໍ່ມີຜົນລັບສູດ", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ດາວ໌ໂຫລດ", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "ແບ່ງປັນ", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "ລົບ", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "ບໍ່ມີເອກະສານທີ່ພົບໃນລາຍການ", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "`ລົບເອກະສານນີ້ບໍ?`", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "`ໄຟລ໌ນີ້ຈະຖືກລົບຢ່າງຖາວອນ`", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "ຍົກເລີກ", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "ລົບ", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "ການດໍາເນີນການເພີ່ມເຕີມ", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "ຄົ້ນຫາ", + "@profilesSearch": {}, + "profilesEmptyList": "ບໍ່ພົບໂປຣໄຟລ໌", + "@profilesEmptyList": {}, + "profilesViewMore": "ເບິ່ງເພີ່ມເຕີມ", + "@profilesViewMore": {}, + "profilesMore": "ຕິດເພີ່ມ", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina ຈະຈື່ບັນທຶກສຸຂະພາບຂອງທ່ານ", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "ການປຶກສາຂອງທ່ານດຽວນີ້ສ່ອມແປງແລະອັບເດດບັນທຶກສຸຂະພາບຂອງທ່ານໃຫ້ເອົາໃຈ.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "ບັນທຶກສຸຂະພາບຂອງທ່ານ, ກົດແນວທາງຂອງທ່ານ", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "ເບິ່ງ, ແກ້ໄຂ, ຫຼືເພີ່ມອາການ, ຢາ, ປະຫວັດ, ຫຼືເອກະສານໃດໆ.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "ການດູແລສໍາລັບຄອບຄົວທັງໝົດ", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "ສ້າງບັນທຶກສຸຂະພາບສຳລັບຄົນທີ່ທ່ານຮັກ, ລູກ, ພໍ່ແມ່ ຫຼື ຄູ່ນອນຂອງທ່ານ.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "ພ້ອມທີ່ຈະບັນທຶກບັນທຶກສຸຂະພາບຂອງທ່ານແລ້ວບໍ?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "ຫຼັງຈາກການປຶກສາຫາລືຂອງທ່ານແລ້ວ, ໃຫ້ແຕະ “ເພີ່ມໂປຣໄຟລ໌” ເພື່ອບັນທຶກມັນ.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "ຕໍ່ໄປ", + "@profilesNextButton": {}, + "profilesStartButton": "ເລີ່ມປຶກສາຫາລື", + "@profilesStartButton": {}, + "profilesLaterButton": "ບາງທີຕໍ່ມາ", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "ປິດ", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "ບັດທະບຽນສຸຂະພາບ", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "ບັດທະບຽນສຸຂະພາບ — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...ຕື່ມເຕີມ", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...ນ້ອຍກວ່າ", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "ເພີ່ມໂປຣໄຟລໃໝ່", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "ສ້າງໂປຣໄຟລ໌ເພື່ອບັນທຶກລາຍລະອຽດຂອງການປຶກສານີ້", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "ທ່ານສາມາດປະເມີນມັນໄດ້ເມື່ອໃດໆໃນບັນທຶກສຸຂະພາບຂອງທ່ານ", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "ຖ້າທ່ານມີຄໍາຖາມເພີ່ມເຕີມ ກ່ຽວກັບເນື້ອຫານີ້ ຫຼື ກ່ຽວຂ້ອງ, ສາມາດສົນທະນາກັບຂ້ອຍໄດ້. ຂ້ອຍຢູ່ນີ້ເພື່ອຊ່ວຍ", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "ຂໍ້ມູນທົ່ວໄປ", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "ຊື່", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "ຊື່", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "ຈອນ", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "ນາມສະກຸນ", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "ເພດ", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "ກະລຸນາເລືອກ", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "ຊາຍ", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "ຍິງ", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "ອື່ນ", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "ວັນເກີດ", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "ອາຍຸ", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "ເຊັ່ນ 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "ເບີໂທ", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ອີເມວ", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "ສະຖານທີ່", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ຕົວຢ່າງ ເມືອງ, ປະເທດ", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "ຮ່າງກາຍ & ອາຫານ", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "ຄວາມສູງ", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "ຕົວຢ່າງ 180 ຊມ", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "ນໍ້າໜັກ", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ຕົວຢ່າງ 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menstrual Cycle", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "ເຊັ່ນ ປົກກະຕິ, ບໍ່ປົກກະຕິ", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "ข้อจำกัดด้านอาหาร", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "ກະລຸນາເລືອກ", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "ໃຫ້ເຮົາຮູ້ວ່າເຈົ້າກິນອາຫານແນວໃດແລະມີການຈຳກັດໃດແລ້ວ", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "ບໍ່ມີ", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "ມັງສະວິຣັດ", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "ວີແກນ", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Gluten Free", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Body Mass Index (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ເຊັ່ນ 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "ໂປຣໄຟລ໌ສຸຂະພາບ", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "ພະຍາດຖາວອນ", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ຕົວຢ່າງ. ເບົາລິດສະບັດປະເພດ 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "ກະລຸນາລະບຸທຸກແບບຂອງເຂດສຸຂະພາບແລະລວມເວລາທີ່ຖືກວິນິຈັດແລະຄວາມສົກສິດ.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "ປະຫວັດການປ່ວຍ", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ຕົວຢ່າງ ປະຈໍາ ຄວາມເປັນບໍ່ສະດວກ", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "ກະລຸນາແລະລະບຸລາຍການແພດສິດສະລິດທີ່ເຄີຍມີໃນອາດສະຖານທີ່, ແມ່ນວ່າທ່ານຈະກັບຄືນຫຼືບໍ່.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "ປະຫວັດການຜ່າຕັດ", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "เช่น ผ่าตัดไส้ติ่ง", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "ກະລຸນາແລະລະບຸການປ່ອນສິນຄ້າທັງໝົດ ແລະລວມປີ ແລະວ່າມີບັນຫາໃດບໍ່.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "ຢາທີ່ໃຊ້ບາງຄັ້ງ", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "ຕົວຢາທີ່ໃຊ້ບໍ່ປະຈໍາ", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "ກະລຸນາແລະລະບຸຍາດທີ່ທ່ານຮັບປະສົບຈາກເວລາໜຶ່ງ (ຕົວຢ່າງ: ຢາບວດບັດ, ຢາປ່ອນອາການລະດັບ), ລວມທັງຂະບວນແລະເຫດຜົນໃນການໃຊ້.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "ຢາປົກກະຕິ", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "ຕົວຢາຕ່າງໆ ເຊັ່ນ Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "ກະລຸນາແລະລະບຸຍາກອນທັງໝົດທີ່ທ່ານຮັບປະສົບປະຈຸບັນ, ລວມທັງຊື່, ຂະບວນການ, ແລະຈຳນວນທີ່ທ່ານຮັບປະສົບຕໍ່ມື້, ແລະສໍາລັບສະຖານະທີ່ມີຢູ່.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "ອາການແພ່", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ຕົວຢ່າງ: Penicillin – ເກີດລະດັບ", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "ກະລຸນາແລະລະບຸທຸກອາການແພດ (ຢາ, ອາຫານ, ສິ່ງເລືອກສິ່ງປ່ອນ), ແລະອະທິບາຍວ່າທ່ານມີອາການໃດ (ຕົວຢ່າງ: ລະດັບສູງ, ບວກຂຶ້ນ, ບັນທຸກບັນທຸກ).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "ເງື່ອນໄຂພິເສດ", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "ເຊັ່ນ ການຕັ້ງຄົນ, ພິການ", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "ຖ້າທ່ານມີສະຖານະສຸຂະພາບສຳຄັນໃດໜຶ່ງທີ່ແພດຄວນຮູ້ເພື່ອສະແດງບັດທະຍາຍ (ຕົວຢ່າງ: ການຕິດຕັ້ງ, ອຸປະກອນທີ່ປ່ອນໃສ່, ຄວາມບົກບັດ, ແທບປະສົບຄວາມລົດລະດັບ), ຂໍໃຫ້ອະທິບາຍພວກເຂົ້າ. ຖ້າບໍ່ມີ, ທ່ານສາມາດປ່າຍເປົ່ານີ້.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "ປະຫວັດຄອບຄົວ", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ເຊັ່ນ ໂລກຫົວໃຈ, ມະເຫດ", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "ກະລຸນາອະທິບາຍເຖິງແບບປ່ອນສຳຄັນໃນຄອບຄົວຂອງທ່ານ (ສໍາລັບຕົວຢ່າງ: ບໍ່ລະດັບນໍ້າຕາ, ຄວາມດັນສູງ, ເປັນເລື່ອງໃຈ, ເປັນເລື່ອງມະເລີດ, ເປັນເລື່ອງສົດສິດສະດິດ) ແລະລະບຸກຄົນສະຖານທີ່ໄດ້ມີສະຖານທີ່.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "ປັດໄຈທາງສັງຄົມ ແລະ ວິທີຊີວິດ", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "ເຊັ່ນ ສູບຢາ, ດື່ມເຫຼືອ", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "ກະລຸນາອະທິບາຍປັດຈຸບັນທີ່ສາມາດສົມພັນກັບສຸຂະພາບຂອງທ່ານ, ເຊັ່ນ ການສູບບິນ, ສິນຄ້າທີ່ມີເຫດຜົນ, ກິລາ, ອາຫານ, ການນອນ, ແລະ ອາຊີບ.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "ອຸປະກອນທາງການແພດ", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "ຕົວຢ່າງ ເຄື່ອງກະຕຸ້ນຫົວໃຈ, ເຄື່ອງຊ່ວຍຟັງ, ປັມອິນຊູລິນ", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "ກະລຸນາແລະລະບຸອຸປະກອນທາງແພດທີ່ທ່ານໃຊ້ຫຼືມີຢູ່ໃນຮ່າງກາຍ, ເຊັ່ນ ບັດດິດ, ປັກສະມາກ, ອຸປະກອນສຽງ, ສິນຄ້າປະເພດສະເພາະ, ຫຼືອຸປະກອນອື່ນໆສໍາລັບການຊ່ວຍເອງ ຫຼືການຕິດຕາມ.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "กินทุกอย่าง", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ອາຫານໄວ", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescatarian", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "គ្មានឡាក់តូស", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "អាហារអំបិលទាប", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "อาหารน้ำตาลต่ำ", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "ອາຫານສຳລັບຫົວໃຈ", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "ອາหารສໍາລັບເສັງສະດວກ", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "ອື່ນ", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ml.arb b/example/lib/src/l10n/profiles/app_ml.arb new file mode 100644 index 0000000..e395dbe --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ml.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ml", + "chatDrawerTitle": "ആരോഗ്യ രേഖകൾ", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "പുതിയത്", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "നിങ്ങളുടെ ആരോഗ്യ രേഖ സൃഷ്ടിക്കുക", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "നിങ്ങളുടെ ഉപദേശത്തിന്റെ അവസാനം, നിങ്ങളുടെ പ്രൊഫൈൽ ചേർക്കുക.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "കൂടുതൽ പ്രൊഫൈലുകൾ ചേർക്കുക", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "മറ്റൊരാളിന് അവരുടെ പ്രൊഫൈൽ സൃഷ്ടിക്കാൻ ഒരു ഉപദേശനം ആരംഭിക്കുക.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "സൈൻ അപ്പ് ചെയ്ത് നിങ്ങളുടെ ആരോഗ്യ രേഖ സൃഷ്ടിക്കുക", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "മറുപടി നൽകുക", + "@errorRetryButton": {}, + "dashboardDeleteError": "പ്രൊഫൈൽ ഇല്ലാതാക്കാൻ പരാജയപ്പെട്ടു", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "പ്രൊഫൈൽ സംഗ്രഹം ലോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "മുഴുവൻ രേഖ കാണുക", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "പങ്കിടുക", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "മാറ്റി", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "പ്രായം", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} വർഷം} other{{value} വർഷങ്ങൾ}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "ഭാരം", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "ഉയരം", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "അലർജികൾ", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "ക്രോണിക്", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "മരുന്ന്", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "ഉപകരണങ്ങൾ", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "കൺസൾട്ടേഷനുകൾ", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "ഡോക്യുമെന്റുകൾ", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "ആരോഗ്യ രേഖ നീക്കം ചെയ്യണോ?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "ഇത് നിങ്ങളുടെ ആരോഗ്യ ഡാറ്റ സ്ഥിരമായി നീക്കം ചെയ്യും, ഇത് തിരികെ വരില്ല. നിങ്ങള്‍ക്ക് ഞങ്ങള്‍ നിങ്ങളെ മാര്‍ഗനിര്‍ദ്ദേശിക്കാന്‍ ഉപയോഗിക്കുന്ന സന്ധി നഷ്ടപ്പെടും.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "റദ്ദാക്കുക", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "മാറ്റി", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "നിങ്ങളുടെ ആരോഗ്യ രേഖ നീക്കം ചെയ്യുന്നു...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "പ്രൊഫൈൽ ഇല്ലാതാക്കാൻ പരാജയപ്പെട്ടു", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "ആരോഗ്യ രേഖ നീക്കം ചെയ്തു", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "നിങ്ങൾ സഹായിയുമായി സംസാരിച്ച് എപ്പോഴും പുതിയത് സൃഷ്ടിക്കാം.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "ചാറ്റിലേക്ക് മടങ്ങുക", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "എഡിറ്റിംഗ്", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "പ്രൊഫൈൽ ഡാറ്റ ലോഡ് ചെയ്യാൻ പരാജയപ്പെട്ടു", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "മാറ്റങ്ങൾ സംരക്ഷിതമായിരിക്കുന്നു", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "നിങ്ങളുടെ വിവരങ്ങൾ വിജയകരമായി അപ്ഡേറ്റ് ചെയ്തു.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "പ്രൊഫൈലിലേക്ക് മടങ്ങുക", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "പ്രൊഫൈൽ ഡാറ്റ അപ്ഡേറ്റ് ചെയ്യാൻ പരാജയപ്പെട്ടു", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "മാറ്റങ്ങൾ ഒഴിവാക്കണോ?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "നിങ്ങളുടെ പ്രൊഫൈലിൽ ചില മാറ്റങ്ങൾ നിങ്ങൾ നടത്തിയിട്ടുണ്ട്. നിങ്ങൾ പോകുന്നതിന് മുമ്പ് അവ സംരക്ഷിക്കുക, അല്ലെങ്കിൽ അവ തള്ളിക്കളയുക.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "എഡിറ്റിംഗ് തുടരുക", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "വിലക്കുക", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "തിരുത്തുക", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "രേഖ ചേർക്കുക", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "ശോധന", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "ഫലങ്ങൾ കണ്ടെത്തിയില്ല", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ഡൗൺലോഡ്", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "പങ്കിടുക", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "മാറ്റി", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "ദസ്താവേസ് കണ്ടെത്തിയില്ല", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "ഈ രേഖ നീക്കം ചെയ്യണമെന്ന് ആഗ്രഹിക്കുന്നുണ്ടോ?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "ഈ ഫയൽ സ്ഥിരമായി നീക്കം ചെയ്യപ്പെടും", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "റദ്ദാക്കുക", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "മാറ്റി", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "കൂടുതൽ പ്രവർത്തനങ്ങൾ", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "ശോധന", + "@profilesSearch": {}, + "profilesEmptyList": "പ്രൊഫൈലുകളൊന്നും കണ്ടെത്തിയില്ല", + "@profilesEmptyList": {}, + "profilesViewMore": "കൂടുതൽ കാണുക", + "@profilesViewMore": {}, + "profilesMore": "കൂടുതൽ", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "ഡോക്ടറിന ഇപ്പോൾ നിങ്ങളുടെ ആരോഗ്യത്തെ ഓർമ്മിക്കുന്നു", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "നിങ്ങളുടെ കൺസൾട്ടേഷനുകൾ ഇപ്പോൾ നിങ്ങളുടെ ആരോഗ്യ രേഖ സ്വയം നിർമ്മിക്കുകയും അപ്ഡേറ്റ് ചെയ്യുകയും ചെയ്യുന്നു.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "നിന്റെ ആരോഗ്യ രേഖ, നിന്റെ നിയമങ്ങൾ", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "സമ്മർദ്ദങ്ങൾ, മരുന്നുകൾ, ചരിത്രം, അല്ലെങ്കിൽ രേഖകൾ എപ്പോഴും കാണുക, തിരുത്തുക, അല്ലെങ്കിൽ ചേർക്കുക.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "നിങ്ങളുടെ മുഴുവൻ കുടുംബത്തെ പരിചരിക്കുക", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "നിങ്ങളുടെ പ്രിയപ്പെട്ടവരുടെ, കുട്ടികളുടെ, മാതാപിതാക്കളുടെ അല്ലെങ്കിൽ പങ്കാളിയുടെ ആരോഗ്യ രേഖ സൃഷ്ടിക്കുക.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "നിങ്ങളുടെ ആരോഗ്യ രേഖ സംരക്ഷിക്കാൻ തയ്യാറാണോ?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "നിങ്ങളുടെ ഉപദേശത്തിന് ശേഷം, അത് സംരക്ഷിക്കാൻ “Add profile” എന്നതിൽ ടാപ്പ് ചെയ്യുക.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "അടുത്തത്", + "@profilesNextButton": {}, + "profilesStartButton": "കൺസൾട്ടേഷൻ ആരംഭിക്കുക", + "@profilesStartButton": {}, + "profilesLaterButton": "ശायद പിന്നീട്", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "അടയ്ക്കുക", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "ആരോഗ്യ രേഖ", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "ആരോഗ്യ രേഖ — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...കൂടുതൽ", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...കുറഞ്ഞത്", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "പുതിയ പ്രൊഫൈൽ ചേർക്കുക", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "ഈ ഉപദേശത്തിന്റെ വിശദാംശങ്ങൾ സംരക്ഷിക്കാൻ ഒരു പ്രൊഫൈൽ സൃഷ്ടിക്കുക.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਵੇਲੇ ਆਪਣੇ ਹੈਲਥ ਰਿਕਾਰਡ ਵਿੱਚ ਇਸ ਦਾ ਮੁਲਾਂਕਣ ਕਰ ਸਕਦੇ ਹੋ", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਇਸ ਬਾਰੇ ਜਾਂ ਇਸ ਨਾਲ ਸੰਬੰਧਤ ਹੋਰ ਸਵਾਲ ਹਨ, ਤਾਂ ਬੇਝਿਝਕ ਮੈਨੂੰ ਗੱਲ ਜਾਰੀ ਰੱਖੋ. ਮੈਂ ਮਦਦ ਲਈ ਇੱਥੇ ਹਾਂ", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "ਸਧਾਰਨ ਜਾਣਕਾਰੀ", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "ਨਾਮ", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "ਪਹਿਲਾ ਨਾਮ", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "ਜੌਨ", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "ਆਖਰੀ ਨਾਮ", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "ਲਿੰਗ", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "ਮਰਦ", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "ਮਹਿਲਾ", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "ਹੋਰ", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "ਜਨਮ ਤਾਰੀਖ", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "ਉਮਰ", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "ਜਿਵੇਂ 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "ਫੋਨ ਨੰਬਰ", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ਈਮੇਲ", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "ਟਿਕਾਣਾ", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ਉਦਾਹਰਨ: ਸ਼ਹਿਰ, ਦੇਸ਼", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "ਸਰੀਰ & ਆਹਾਰ", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "ਉਚਾਈ", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "e.g. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "ਵਜ਼ਨ", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ਜਿਵੇਂ 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "ਮਾਸਿਕ ਚੱਕਰ", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "ਉਦਾਹਰਣ: ਨਿਯਮਤ, ਅਨਿਯਮਤ", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "ਆਹਾਰਿਕ ਪਾਬੰਦੀਆਂ", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "നിങ്ങൾ എന്ത് ഭക്ഷണം കഴിക്കുന്നു എന്നതും നിങ്ങൾക്ക് ഉള്ള നിയന്ത്രണങ്ങളും ഞങ്ങളെ അറിയിക്കൂ", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "ਕੋਈ ਨਹੀਂ", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "ਸ਼ਾਕਾਹਾਰੀ", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "ਵੀਗਨ", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "ਗਲੂਟਨ ਮੁਕਤ", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "ਬਾਡੀ ਮਾਸ ਇੰਡੈਕਸ (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ਉਦਾਹਰਨ: 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "ਸਿਹਤ ਪ੍ਰੋਫਾਈਲ", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "ਦੀਰਘਕਾਲੀਨ ਬਿਮਾਰੀਆਂ", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ഉദാഹരണത്തിന്, ഡയബറ്റിസ് ടൈപ്പ് 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "ദയവായി എല്ലാ ദീർഘകാല രോഗങ്ങൾ പട്ടികയിലാക്കുക, അവ എപ്പോൾ കണ്ടെത്തിയതും ഏതെങ്കിലും ജടിലതകൾ ഉൾപ്പെടുത്തുക.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "ਪਿਛਲੀਆਂ ਬਿਮਾਰੀਆਂ", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ഉദാഹരണത്തിന്. സ്ഥിരമായ സാധാരണ കഫം", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "ദയവായി നിങ്ങൾക്ക് ഉണ്ടായിരുന്ന ഗൗരവമായ രോഗങ്ങൾ പട്ടികയാക്കുക, നിങ്ങൾക്ക് സുഖമായിട്ടുണ്ടെങ്കിലും.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "ਸਰਜਰੀ ਇਤਿਹਾਸ", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "ਜਿਵੇਂ ਕਿ ਐਪੈਂਡੈਕਟੋਮੀ", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "ദയവായി എല്ലാ ശസ്ത്രക്രിയകളും പട്ടികയിലാക്കുക, വർഷവും ഏതെങ്കിലും സങ്കീർണ്ണതകൾ ഉണ്ടെങ്കിൽ അത് ഉൾപ്പെടുത്തുക.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "ਕਦੇ-ਕਦੇ ਵਰਤੀ ਜਾਣ ਵਾਲੀਆਂ ਦਵਾਈਆਂ", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "ഉദാഹരണത്തിന്, ഇബുപ്രോഫെൻ", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "ദയവായി നിങ്ങൾ ഇടയ്ക്കിടെ ഉപയോഗിക്കുന്ന മരുന്നുകൾ (ഉദാഹരണത്തിന്: വേദനാശമനങ്ങൾ, അലർജി മരുന്നുകൾ) ലിസ്റ്റ് ചെയ്യുക, ഡോസ് ഉൾപ്പെടെ ഉപയോഗത്തിന്റെ കാരണം.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "ਨਿਯਮਤ ਦਵਾਈਆਂ", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "ഉദാഹരണത്തിന് Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "ദയവായി നിങ്ങൾ സ്ഥിരമായി ഉപയോഗിക്കുന്ന എല്ലാ മരുന്നുകളും, അവയുടെ പേര്, ഡോസ്, നിങ്ങൾ ദിവസത്തിൽ എത്ര തവണ അത് എടുക്കുന്നു, എങ്ങനെ ഉപയോഗിക്കണമെന്ന് രേഖപ്പെടുത്തുക.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "ਅਲਰਜੀਆਂ", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ഉദാഹരണത്തിന്, പെനിസിലിൻ - ചർമ്മരോഗം ഉണ്ടാക്കുന്നു", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "ദയവായി എല്ലാ അലർജികൾ (മരുന്നുകൾ, ഭക്ഷണം, പരിസ്ഥിതി) പട്ടികയാക്കുക, നിങ്ങൾക്ക് ഉണ്ടാകുന്ന പ്രതികരണം വിവരിക്കുക (ഉദാഹരണത്തിന്: ചർമ്മരോഗം, വലിപ്പം, ശ്വാസം എടുക്കുന്നതിൽ പ്രശ്നങ്ങൾ).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "ਖਾਸ ਹਾਲਤਾਂ", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "ਉਦਾਹਰਨ ਵਜੋਂ ਗਰਭਾਵਸਥਾ, ਅਪੰਗਤਾ", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "നിങ്ങൾക്ക് ഡോക്ടർമാർക്ക് എപ്പോഴും അറിയേണ്ടതായ ഏതെങ്കിലും പ്രധാന മെഡിക്കൽ അവസ്ഥകൾ ഉണ്ടെങ്കിൽ (ഉദാഹരണത്തിന്: ഗർഭിണി, ഇമ്പ്ലാന്റ് ചെയ്ത ഉപകരണങ്ങൾ, അശക്തത, ആന്റികോആഗുലേഷൻ ചികിത്സ), ദയവായി അവയെ വിവരണം ചെയ്യുക. ഇല്ലെങ്കിൽ, നിങ്ങൾ ഇത് ശൂന്യമായി വിട്ടേക്കാം.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "ਪਰਿਵਾਰਕ ਇਤਿਹਾਸ", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ਉਦਾਹਰਨ: ਦਿਲ ਦੀ ਬਿਮਾਰੀ, ਕੈਂਸਰ", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "ദയവായി നിങ്ങളുടെ കുടുംബത്തിലെ പ്രധാന രോഗങ്ങളെ വിവരിക്കുക (ഉദാഹരണത്തിന്: ഡയബറ്റിസ്, ഹൈപ്പർടെൻഷൻ, ഹൃദയരോഗം, കാൻസർ, ജനിതക രോഗങ്ങൾ) കൂടാതെ ആ രോഗം ഉണ്ടായ കുടുംബാംഗത്തെ വ്യക്തമാക്കുക.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "ਸਮਾਜਿਕ & ਜੀਵਨਸ਼ੈਲੀ ਕਾਰਕ", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "ਜਿਵੇਂ ਕਿ ਧੂਮਰਪਾਨ, ਸ਼ਰਾਬ ਦੀ ਖਪਤ", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "ദയവായി നിങ്ങളുടെ ആരോഗ്യത്തെ ബാധിക്കാവുന്ന ജീവിതശൈലി ഘടകങ്ങൾ വിവരിക്കുക, ഉദാഹരണത്തിന്, പുകവലി, മദ്യപാനം, ശാരീരിക പ്രവർത്തനം, ഭക്ഷണം, ഉറക്കം, ജോലി.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "ਚਿਕਿਤਸਾ ਉਪਕਰਣ", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "ਉਦਾਹਰਨ ਵਜੋਂ ਪੇਸਮੇਕਰ, ਸੁਣਨ ਸਹਾਇਕ, ਇੰਸੁਲਿਨ ਪੰਪ", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "നിങ്ങൾ ഉപയോഗിക്കുന്നതോ അല്ലെങ്കിൽ ഇമ്പ്ലാന്റ് ചെയ്തതോ ആയ ഏതെങ്കിലും മെഡിക്കൽ ഉപകരണങ്ങൾ, പേസ്‌മേക്കർ, ഇൻസുലിൻ പമ്പുകൾ, കേൾവിക്കേട്, പ്രൊസ്റ്റെറ്റിക്‌സ്, അല്ലെങ്കിൽ മറ്റ് സഹായകമായ അല്ലെങ്കിൽ നിരീക്ഷണ ഉപകരണങ്ങൾ എന്നിവയെ കുറിച്ച് ദയവായി പട്ടികയിടുക. ബാധകമായാൽ ബന്ധപ്പെട്ട വിശദാംശങ്ങൾ ഉൾപ്പെടുത്തുക.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "ਸਭ ਕੁਝ ਖਾਣ ਵਾਲਾ", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ਫਾਸਟ ਫੂਡ", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "ਪੇਸਕੈਟੇਰੀਅਨ", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "ਲੈਕਟੋਜ਼-ਮੁਕਤ", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "ਘੱਟ ਨਮਕ ਵਾਲਾ ਆਹਾਰ", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "ਘੱਟ-ਚੀਨੀ ਆਹਾਰ", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "ਹਿਰਦੇ ਲਈ ਆਹਾਰ", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "ਗੁਰਦੇ ਲਈ ਖੁਰਾਕ", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "ਹੋਰ", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_mr.arb b/example/lib/src/l10n/profiles/app_mr.arb new file mode 100644 index 0000000..3412777 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_mr.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "mr", + "chatDrawerTitle": "आरोग्य नोंदी", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "नवीन", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "तुमचा आरोग्य रेकॉर्ड तयार करा", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "तुमच्या सल्ल्यानंतर, तुमचा प्रोफाइल जोडा", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "अधिक प्रोफाइल जोडा", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "कोणीतरी दुसऱ्यासाठी त्यांचा प्रोफाइल तयार करण्यासाठी सल्ला सुरू करा", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "तुमचा आरोग्य रेकॉर्ड तयार करण्यासाठी साइन अप करा", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "पुन्हा प्रयत्न करा", + "@errorRetryButton": {}, + "dashboardDeleteError": "प्रोफाइल हटवण्यात अयशस्वी", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "प्रोफाइल सारांश लोड करण्यात अयशस्वी", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "पूर्ण रेकॉर्ड पहा", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "सामायिक करा", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "हटवा", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "वय", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} वर्ष} other{{value} वर्षे}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "वजन", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} किग्रॅ", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "उंचाई", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} सेंटीमीटर", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "अलर्जी", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "दीर्घकालीन", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "औषधे", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "उपकरण", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "सल्ला", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "कागदपत्रे", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "आरोग्य रेकॉर्ड हटवायचा का?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "हे तुमच्या आरोग्य डेटा कायमचा हटवेल आणि ते पूर्ववत केले जाऊ शकत नाही. तुम्हाला आम्ही तुम्हाला मार्गदर्शन करण्यासाठी वापरतो त्या संदर्भाची हानी होईल.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "रद्द करा", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "हटवा", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "तुमचा आरोग्य रेकॉर्ड हटविला जात आहे...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "प्रोफाइल हटवण्यात अयशस्वी", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "आरोग्य नोंदणी हटवली", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "तुम्ही सहायकाशी चॅट करून कधीही नवीन एक तयार करू शकता.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "चॅटवर परत जा", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "संपादन", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "प्रोफाइल डेटा लोड करण्यात अयशस्वी", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "बदल जतन केले", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "तुमची माहिती यशस्वीरित्या अद्यतनित करण्यात आली आहे", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "प्रोफाइलवर परत जा", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "प्रोफाइल डेटा अद्यतन करण्यात अयशस्वी", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "बदलांना काढून टाकायचे का?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "तुम्ही तुमच्या प्रोफाइलमध्ये काही बदल केले आहेत. तुम्ही जाण्यापूर्वी त्यांना जतन करा, किंवा त्यांना काढून टाका.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "संपादन सुरू ठेवा", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "काढा", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "संपादित करा", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "रेकॉर्ड जोडा", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "शोधा", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "कोणतीही परिणामे सापडली नाहीत", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "डाउनलोड", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "सामायिक करा", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "हटवा", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "कोणतेही दस्तऐवज सापडले नाहीत", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "या दस्तऐवजाला हटवायचे का?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "हा फाइल कायमचा हटवला जाईल", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "रद्द करा", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "हटवा", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "आणखी कृती", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "शोधा", + "@profilesSearch": {}, + "profilesEmptyList": "कोणतेही प्रोफाइल आढळले नाहीत", + "@profilesEmptyList": {}, + "profilesViewMore": "आणखी पहा", + "@profilesViewMore": {}, + "profilesMore": "अधिक", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "डॉक्टरिना आता तुमच्या आरोग्याची आठवण ठेवते", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "तुमच्या सल्लामसलती आता तुमचा आरोग्य रेकॉर्ड स्वयंचलितपणे तयार आणि अद्यतनित करतात.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "तुमचा आरोग्य रेकॉर्ड, तुमचे नियम", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "कधीही लक्षणे, औषधे, इतिहास किंवा दस्तऐवज पहा, संपादित करा किंवा जोडा", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "तुमच्या संपूर्ण कुटुंबाची काळजी घ्या", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "तुमच्या प्रियजनांसाठी, तुमच्या मुलांसाठी, पालकांसाठी किंवा भागीदारासाठी आरोग्य रेकॉर्ड तयार करा.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "तुमचा आरोग्य रेकॉर्ड जतन करण्यास तयार आहात का?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "तुमच्या सल्ल्यानंतर, ते जतन करण्यासाठी \"प्रोफाइल जोडा\" वर टॅप करा.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "आगामी", + "@profilesNextButton": {}, + "profilesStartButton": "सल्ला सुरू करा", + "@profilesStartButton": {}, + "profilesLaterButton": "कदाचित नंतर", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "बंद करा", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "आरोग्य नोंद", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "आरोग्य नोंद — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...अधिक", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "कमी", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "नवीन प्रोफाइल जोडा", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "या सल्ल्याचे तपशील जतन करण्यासाठी एक प्रोफाइल तयार करा.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "आपण ते कधीही आपल्या आरोग्य नोंदींमध्ये पाहू शकता", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "याबद्दल किंवा त्यासंबंधित काही प्रश्न असतील, तर मोकळेपणाने माझ्याशी बोलत राहा. मी मदत करण्यासाठी येथे आहे", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "सामान्य माहिती", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "नाव", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "पहिला नाव", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "जॉन", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "आडनाव", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "लिंग", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "कृपया निवडा", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "पुरुष", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "महिला", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "इतर", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "जन्मतारीख", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "वय", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "उदा. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "फोन नंबर", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ईमेल", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "स्थान", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "उदा. शहर, देश", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "शरीर आणि आहार", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "उंची", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "उदा. 180 सेमी", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "वजन", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "उदा. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "महिनावारीचा चक्र", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "उदा. नियमित, अनियमित", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "आहार निर्बंध", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "कृपया निवडा", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "तुम्ही काय खातात आणि तुमच्याकडे कोणतेही निर्बंध आहेत का ते आम्हाला सांगा", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "काहीही नाही", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "शाकाहारी", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "व्हेगन", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "ग्लूटेनमुक्त", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "शरीर द्रव्यमान निर्देशांक (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "उदा. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "आरोग्य प्रोफाइल", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "दीर्घकालीन आजार", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "उदाहरणार्थ, मधुमेह प्रकार 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "कृपया सर्व दीर्घकालीन आजारांची यादी करा आणि ते कधी निदान झाले आणि कोणत्याही गुंतागुंतांचा समावेश करा.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "पूर्वीचे आजार", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "उदाहरण: वारंवार सामान्य सर्दी", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "कृपया तुम्हाला भूतकाळात झालेल्या गंभीर आजारांची यादी करा, अगदी तुम्ही बरे झालात तरी.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "शस्त्रक्रियांचा इतिहास", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "उदा. अपेंडेक्टॉमी", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "कृपया सर्व शस्त्रक्रिया सूचीबद्ध करा आणि वर्ष आणि कोणत्याही गुंतागुंतांचा समावेश करा.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "कधीकधी वापरली जाणारी औषधे", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "उदाहरणार्थ, आयबुप्रोफेन", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "कृपया तुम्ही वेळोवेळी घेतलेल्या औषधांची यादी करा (उदाहरणार्थ: वेदनाशामक, एलर्जी औषधे), त्यात डोस आणि वापराचा कारण समाविष्ट करा.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "नियमित औषधे", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "उदाहरणार्थ मेटफॉर्मिन", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "कृपया तुम्ही नियमितपणे घेत असलेल्या सर्व औषधांची यादी करा, त्यात नाव, डोस, तुम्ही दिवसातून किती वेळा ते घेतात आणि ते कोणत्या स्थितीसाठी आहे.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "अलर्जी", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "उदाहरण: पेनिसिलिन - चकत्या येतात", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "कृपया सर्व अॅलर्जी (औषधे, अन्न, पर्यावरण) सूचीबद्ध करा आणि तुम्हाला काय प्रतिक्रिया होते हे वर्णन करा (उदाहरणार्थ: पुरळ, सूज, श्वास घेण्यास समस्या).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "विशेष परिस्थिती", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "उदा. गर्भावस्था, दिव्यांगता", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "तुमच्याकडे कोणत्याही महत्त्वाच्या वैद्यकीय परिस्थिती असल्यास ज्या डॉक्टरांना नेहमी माहित असणे आवश्यक आहे (उदाहरणार्थ: गर्भधारण, इम्प्लांट केलेले उपकरण, अपंगत्व, अँटीकोआग्युलेशन थेरपी), कृपया त्यांचे वर्णन करा. जर काही नसेल, तर तुम्ही हे रिकामे ठेवू शकता.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "कौटुंबिक इतिहास", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "उदा. हृदयविकार, कर्करोग", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "कृपया आपल्या कुटुंबातील महत्त्वाच्या रोगांचे वर्णन करा (उदाहरणार्थ: मधुमेह, उच्च रक्तदाब, हृदय रोग, कर्करोग, आनुवंशिक रोग) आणि कोणत्या कुटुंबाच्या सदस्याला ही स्थिती होती ते निर्दिष्ट करा.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "सामाजिक व जीवनशैली घटक", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "उदा. धूम्रपान, मद्यपान", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "कृपया आपल्या आरोग्यावर प्रभाव टाकणाऱ्या जीवनशैलीच्या घटकांचे वर्णन करा, जसे की धूम्रपान, मद्यपान, शारीरिक क्रियाकलाप, आहार, झोप, आणि व्यवसाय.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "वैद्यकीय उपकरणे", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "उदा. पेसमेकर, श्रवणयंत्र, इन्सुलिन पंप", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "कृपया तुम्ही वापरत असलेल्या किंवा इम्प्लांट केलेल्या कोणत्याही वैद्यकीय उपकरणांची यादी करा, जसे की पेसमेकर, इन्सुलिन पंप, ऐकण्याचे यंत्र, कृत्रिम अंग, किंवा इतर सहाय्यक किंवा निरीक्षण उपकरणे. लागू असल्यास संबंधित तपशील समाविष्ट करा.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "सर्वाहारी", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "फास्ट फूड", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "पेस्काटेरियन", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "लॅक्टोज-मुक्त", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "कमी सोडियम आहार", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "कमी साखरेचा आहार", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "हृदय आहार", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "मूत्रपिंड आहार", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "इतर", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ms.arb b/example/lib/src/l10n/profiles/app_ms.arb new file mode 100644 index 0000000..299ed4b --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ms.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ms", + "chatDrawerTitle": "Rekod Kesihatan", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "BARU", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Buat Rekod Kesihatan Anda", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Pada akhir konsultasi anda, tambahkan profil anda.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Tambah lebih banyak profil", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Mulakan konsultasi untuk orang lain bagi membuat profil mereka.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Daftar untuk membuat Rekod Kesihatan anda", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Cuba lagi", + "@errorRetryButton": {}, + "dashboardDeleteError": "Gagal untuk memadam profil", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Gagal memuat ringkasan profil", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Lihat Rekod Penuh", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Kongsi", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Padam", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Umur", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} tahun} other{{value} tahun}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Berat", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Tinggi", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Alergi", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Kronik", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Ubat", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Peranti", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Konsultasi", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Dokumen", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Padam Rekod Kesihatan?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Ini akan menghapus data kesihatan anda secara kekal dan tidak boleh dipulihkan. Anda akan kehilangan konteks yang kami gunakan untuk membimbing anda.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Batal", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Padam", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Menghapus rekod kesihatan anda...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Gagal untuk memadam profil", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Rekod kesihatan dipadam", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Anda boleh membuat yang baru bila-bila masa dengan berbual dengan pembantu.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Kembali ke Sembang", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Penyuntingan", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Gagal memuat data profil", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Perubahan disimpan", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Maklumat anda telah berjaya dikemas kini.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Kembali ke profil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Gagal mengemas kini data profil", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Buang perubahan?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Anda telah membuat beberapa perubahan pada profil anda. Simpan sebelum anda pergi, atau buang.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Teruskan penyuntingan", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Buang", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Edit", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Tambah rekod", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Cari", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Tiada hasil ditemui", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Muat Turun", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Kongsi", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Padam", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Tiada dokumen ditemui", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Padam dokumen ini?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Fail ini akan dipadamkan secara kekal", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Batal", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Padam", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Tindakan lain", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Cari", + "@profilesSearch": {}, + "profilesEmptyList": "Tiada profil ditemui", + "@profilesEmptyList": {}, + "profilesViewMore": "Lihat lagi", + "@profilesViewMore": {}, + "profilesMore": "Lebih", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina kini mengingati kesihatan anda", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Konsultasi anda kini membina dan mengemas kini Rekod Kesihatan anda secara automatik.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Rekod Kesihatan Anda, peraturan anda", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Lihat, edit, atau tambah simptom, ubat, sejarah, atau dokumen pada bila-bila masa.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Jaga untuk seluruh keluarga anda", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Buat Rekod Kesihatan untuk orang tersayang anda, anak-anak, ibu bapa, atau pasangan anda.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Sedia untuk menyimpan Rekod Kesihatan anda?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Selepas konsultasi anda, ketik “Tambah profil” untuk menyimpannya.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Seterusnya", + "@profilesNextButton": {}, + "profilesStartButton": "Mulakan konsultasi", + "@profilesStartButton": {}, + "profilesLaterButton": "Mungkin kemudian", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Tutup", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Rekod Kesihatan", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Rekod Kesihatan — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...lagi", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...kurang", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Tambah profil baru", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Buat profil untuk menyimpan butiran konsultasi ini.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Anda boleh menilainya bila-bila masa dalam Health Records anda", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Jika anda mempunyai lebih banyak soalan tentang ini atau apa-apa yang berkaitan, jangan ragu untuk terus bercakap dengan saya. Saya di sini untuk membantu", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Maklumat Am", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Nama", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Nama pertama", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Nama keluarga", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Jantina", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Sila pilih", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Lelaki", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Perempuan", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Lain-lain", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Tarikh Lahir", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Umur", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "contohnya 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Nombor telefon", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-mel", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Lokasi", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "cth. Bandar, Negara", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Badan & Diet", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Tinggi", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "cth. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Berat", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "cth. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Kitaran Haid", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "cth. Teratur, Tidak teratur", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Sekatan Pemakanan", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Sila pilih", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Beritahu kami apa yang anda makan dan sebarang sekatan yang anda ada", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Tiada", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetarian", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Bebas Gluten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Indeks Jisim Badan (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "cth. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Profil Kesihatan", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Penyakit Kronik", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "Contoh: Diabetes Jenis 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Sila senaraikan semua penyakit kronik dan sertakan bila ia didiagnosis serta sebarang komplikasi.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Penyakit Sebelumnya", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "contohnya, Selsema biasa yang kerap", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Sila senaraikan penyakit serius yang anda alami pada masa lalu, walaupun anda telah sembuh.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Sejarah Pembedahan", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "cth. Apendektomi", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Sila senaraikan semua pembedahan dan sertakan tahun serta sama ada terdapat sebarang komplikasi", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Ubat Yang Digunakan Sekali-sekala", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "contoh: Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Sila senaraikan ubat yang anda ambil dari semasa ke semasa (contohnya: ubat penahan sakit, ubat alergi), termasuk dos dan sebab penggunaannya.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Ubat-ubatan Teratur", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "contoh: Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Sila senaraikan semua ubat yang anda ambil secara berkala, termasuk nama, dos, berapa kali sehari anda mengambilnya, dan untuk keadaan apa.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Alahan", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "contoh: Penisilin – menyebabkan ruam", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Sila senaraikan semua alahan (ubat-ubatan, makanan, persekitaran), dan terangkan reaksi yang anda alami (contohnya: ruam, bengkak, masalah pernafasan).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Keadaan Khas", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "cth. Kehamilan, Kurang upaya", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Jika anda mempunyai sebarang keadaan perubatan penting yang perlu diketahui oleh doktor (contohnya: kehamilan, peranti yang ditanam, kecacatan, terapi antikoagulasi), sila huraikan. Jika tiada, anda boleh biarkan ini kosong.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Sejarah Perubatan Keluarga", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "cth. Penyakit Jantung, Kanser", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Sila nyatakan penyakit penting dalam keluarga anda (contohnya: diabetes, hipertensi, penyakit jantung, kanser, penyakit genetik) dan nyatakan ahli keluarga yang menghidap keadaan tersebut.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Faktor Sosial & Gaya Hidup", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "cth. Merokok, Pengambilan Alkohol", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Sila nyatakan faktor gaya hidup yang boleh mempengaruhi kesihatan anda, seperti merokok, alkohol, aktiviti fizikal, diet, tidur, dan pekerjaan.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Alat Perubatan", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "Contoh: alat pacu jantung, alat bantuan pendengaran, pam insulin", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Sila senaraikan sebarang peranti perubatan yang anda gunakan atau telah ditanam, seperti alat pacu jantung, pam insulin, alat pendengar, prostetik, atau peranti bantuan atau pemantauan lain. Sertakan butiran yang relevan jika ada.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Omnivor", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Makanan Segera", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Vegetarian yang makan ikan", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Tanpa Laktosa", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Diet rendah garam", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Diet rendah gula", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Diet jantung", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Diet buah pinggang", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Lain-lain", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_my.arb b/example/lib/src/l10n/profiles/app_my.arb new file mode 100644 index 0000000..bd46746 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_my.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "my", + "chatDrawerTitle": "ကျန်းမာရေးမှတ်တမ်းများ", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "အသစ်", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "သင့်ကျန်းမာရေးမှတ်တမ်းကိုဖန်တီးပါ", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "သင်၏ အကြံပြုချက်အဆုံးတွင် သင့်ပရိုဖိုင်ကို ထည့်ပါ။", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "ပိုမိုပရိုဖိုင်းများထည့်ပါ", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "တစ်ဦးတည်းအတွက် အကြံပြုချက်စတင်ပါ။", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "အထွေထွေ အသုံးပြုသူအတွက် ကျန်းမာရေးမှတ်တမ်း ဖန်တီးရန် စာရင်းသွင်းပါ", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Cuba", + "@errorRetryButton": {}, + "dashboardDeleteError": "ပရိုဖိုင်းကို ဖျက်ရန် မအောင်မြင်ပါ", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "ပရိုဖိုင်းအကျဉ်းချုပ်ကို အောင်မြင်စွာ မထုတ်လုပ်နိုင်ပါ", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "ပြည့်စုံသောမှတ်တမ်းကိုကြည့်ပါ", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "မျှဝေပါ", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "ဖျက်ရန်", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "အသက်", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} နှစ်} other{{value} နှစ်များ}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "အလေးချိန်", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} ကီလိုဂရမ်", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "အမြင့်", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} စင်တီမီတာ", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "အာလျားဂျီ", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "ခရိုနစ်", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "ဆေးဝါး", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "ကိရိယာများ", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "အကြံပြုချက်များ", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "စာရွက်စာတမ်းများ", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "ကျန်းမာရေးမှတ်တမ်းကို ဖျက်မလား?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "ဤသည်သည် သင့်ကျန်းမာရေးဒေတာကို အမြဲတမ်း ဖျက်သိမ်းမည်ဖြစ်ပြီး ပြန်လည်ပြုပြင်၍မရပါ။ သင့်ကို ဦးညွှန်းရန် အသုံးပြုသည့် အကြောင်းအရာကို လျှော့နည်းမည်။", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "မလုပ်တော့ပါ", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "ဖျက်မည်", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "သင့်ကျန်းမာရေးမှတ်တမ်းကို ဖျက်နေပါသည်...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "ပရိုဖိုင်းကို ဖျက်ရန် မအောင်မြင်ပါ", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "မှတ်တမ်းကျန်းမာရေးဖျက်ပြီး", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "သင်သည် အကူအညီနှင့် စကားပြောခြင်းဖြင့် မည်သည့်အချိန်တွင်မဆို အသစ်တစ်ခု ဖန်တီးနိုင်သည်။", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "ပြန်သွားရန်", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "ပြင်ဆင်နေသည်", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "မူပိုင်ခွင့်ဒေတာကို အောင်မြင်စွာ မထုတ်ယူနိုင်ပါ", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "ပြင်ဆင်မှုများကို သိမ်းဆည်းပြီး", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "သင်၏အချက်အလက်များကိုအောင်မြင်စွာအပ်ဒိတ်လုပ်ပြီးပါပြီ။", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Profile သို့ ပြန်သွားပါ", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "ပရိုဖိုင်းဒေတာကို အပ်ဒိတ်လုပ်ရန် မအောင်မြင်ပါ", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "ပြင်ဆင်မှုများကို ဖျက်မလား?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "သင်၏ပရိုဖိုင်းတွင်ပြောင်းလဲမှုများပြုလုပ်ခဲ့သည်။ သင်ထွက်ခွာမီ၌၎င်းတို့ကိုသိမ်းဆည်းပါ၊ သို့မဟုတ်ဖျက်ပစ်ပါ။", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "တည်းဖြတ်နေပါ", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "ဖျက်ပစ်ပါ", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "တည်းဖြတ်ရန်", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "မှတ်တမ်းထည့်ပါ", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "ရှာဖွေပါ", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "မည်သည့်ရလဒ်များကိုမတွေ့ပါ", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ဒေါင်းလုပ်", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "မျှဝေပါ", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "ဖျက်ရန်", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "မည်သည့်စာရွက်စာတမ်းများကို မတွေ့ပါ", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "ဒီစာရွက်ကို ဖျက်မလား?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "ဖိုင်ကို အမြဲတမ်း ဖျက်ပစ်မည်", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "မလုပ်တော့ပါ", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "ဖျက်မည်", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "နောက်ထပ်လုပ်ဆောင်ချက်များ", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "ရှာဖွေပါ", + "@profilesSearch": {}, + "profilesEmptyList": "ပရိုဖိုင်မတွေ့ပါ", + "@profilesEmptyList": {}, + "profilesViewMore": "ပိုမိုကြည့်ရှုရန်", + "@profilesViewMore": {}, + "profilesMore": "ပိုမို", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina သင်၏ ကျန်းမာရေးကို အမှတ်တရ ထားရှိပါပြီ", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "သင်၏ အကြံပြုချက်များသည် သင့် ကျန်းမာရေး မှတ်တမ်းကို အလိုအလျောက် တည်ဆောက်ပြီး အပ်ဒိတ် လုပ်ပါသည်။", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "သင်၏ ကျန်းမာရေးမှတ်တမ်း၊ သင်၏ စည်းမျဉ်းများ", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "လက္ခဏာများ၊ ဆေးဝါးများ၊ သမိုင်း၊ သို့မဟုတ် စာရွက်စာတမ်းများကို အချိန်မရွေး ကြည့်၊ ပြင်ဆင်၊ သို့မဟုတ် ထည့်ပါ။", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "မိသားစုအားလုံးအတွက်ဂရုစိုက်ပါ", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "သင်၏ချစ်သူများ၊ သားသမီးများ၊ မိဘများ သို့မဟုတ် မိတ်ဆွေများအတွက် ကျန်းမာရေးမှတ်တမ်းတစ်ခု ဖန်တီးပါ။", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "သင်၏ ကျန်းမာရေးမှတ်တမ်းကို သိမ်းဆည်းရန် ပြင်ဆင်နေပါသလား?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "သင်၏ အကြံပြုချက်ပြီးဆုံးသည့်အခါ \"ပရိုဖိုင်းထည့်ပါ\" ကိုနှိပ်ပါ။", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "နောက်", + "@profilesNextButton": {}, + "profilesStartButton": "စကားဝိုင်းစတင်ပါ", + "@profilesStartButton": {}, + "profilesLaterButton": "နောက်မှ", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Tutup", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "ကျန်းမာရေးမှတ်တမ်း", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "ကျန်းမာရေးမှတ်တမ်း — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...ပို၍", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "နည်းနည်း", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "ပရိုဖိုင်းအသစ်ထည့်ပါ", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "ဤအကြံဉာဏ်၏အသေးစိတ်များကိုသိမ်းဆည်းရန်ပရိုဖိုင်းတစ်ခုဖန်တီးပါ။", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਵੇਲੇ ਆਪਣੇ ਹੈਲਥ ਰਿਕਾਰਡ ਵਿੱਚ ਇਸ ਦਾ ਮੁਲਾਂਕਣ ਕਰ ਸਕਦੇ ਹੋ", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਇਸ ਬਾਰੇ ਜਾਂ ਇਸ ਨਾਲ ਸੰਬੰਧਤ ਹੋਰ ਸਵਾਲ ਹਨ, ਤਾਂ ਬੇਝਿਝਕ ਮੈਨੂੰ ਗੱਲ ਜਾਰੀ ਰੱਖੋ. ਮੈਂ ਮਦਦ ਲਈ ਇੱਥੇ ਹਾਂ", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "ਸਧਾਰਨ ਜਾਣਕਾਰੀ", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "ਨਾਮ", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "ਪਹਿਲਾ ਨਾਮ", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "ਜੌਨ", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "ਆਖਰੀ ਨਾਮ", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "ਲਿੰਗ", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "ਮਰਦ", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "ਮਹਿਲਾ", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "ਹੋਰ", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "ਜਨਮ ਤਾਰੀਖ", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "ਉਮਰ", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "ਜਿਵੇਂ 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "ਫੋਨ ਨੰਬਰ", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ਈਮੇਲ", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "ਟਿਕਾਣਾ", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ਉਦਾਹਰਨ: ਸ਼ਹਿਰ, ਦੇਸ਼", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "ਸਰੀਰ & ਆਹਾਰ", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "ਉਚਾਈ", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "e.g. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "ਵਜ਼ਨ", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ਜਿਵੇਂ 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "ਮਾਸਿਕ ਚੱਕਰ", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "ਉਦਾਹਰਣ: ਨਿਯਮਤ, ਅਨਿਯਮਤ", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "ਆਹਾਰਿਕ ਪਾਬੰਦੀਆਂ", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "ကျွန်ုပ်တို့ကို သင်စားသုံးသောအစားအစာနှင့် သင်၏ ကန့်သတ်ချက်များကို အသိပေးပါ", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "ਕੋਈ ਨਹੀਂ", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "ਸ਼ਾਕਾਹਾਰੀ", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "ਵੀਗਨ", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "ਗਲੂਟਨ ਮੁਕਤ", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "ਬਾਡੀ ਮਾਸ ਇੰਡੈਕਸ (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ਉਦਾਹਰਨ: 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "ਸਿਹਤ ਪ੍ਰੋਫਾਈਲ", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "ਦੀਰਘਕਾਲੀਨ ਬਿਮਾਰੀਆਂ", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ဦးရည်ချိုချို", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "ကျေးဇူးပြု၍ အထူးသဖြင့် ရောဂါများအားလုံးကို စာရင်းပြုစုပါ၊ ရောဂါကို ဘယ်အချိန်မှာ ရှာဖွေတွေ့ရှိခဲ့ပြီး၊ အခက်အခဲများကိုပါ ထည့်ပါ။", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "ਪਿਛਲੀਆਂ ਬਿਮਾਰੀਆਂ", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ဥပမာ။ အကြိမ်ကြိမ်ဖြစ်သော အထွေထွေ အအေး", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "ကျေးဇူးပြု၍ သင်၏ အတိတ်က ရင်ဆိုင်ခဲ့သော အရေးကြီးသော ရောဂါများကို စာရင်းပြုစုပါ၊ သင် ပြန်လည်ကောင်းမွန်ခဲ့ပါကလည်း။", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "ਸਰਜਰੀ ਇਤਿਹਾਸ", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "ਜਿਵੇਂ ਕਿ ਐਪੈਂਡੈਕਟੋਮੀ", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "ကျေးဇူးပြု၍ ခွဲစိတ်မှုများအားလုံးကို စာရင်းပြုစုပါ၊ နှစ်နှင့် အခက်အခဲများရှိခဲ့မလားဆိုတာပါ ထည့်ပါ။", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "ਕਦੇ-ਕਦੇ ਵਰਤੀ ਜਾਣ ਵਾਲੀਆਂ ਦਵਾਈਆਂ", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "ဥပမာ။ Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "ကျေးဇူးပြု၍ သင်သည် အချိန်အခါအားလျော်စွာ သောက်သုံးသော ဆေးဝါးများကို (ဥပမာ - နာကျင်မှုဆေး၊ အာရုံစူးစိုက်မှုဆေး) အရေအတွက်နှင့် သုံးစွဲမှုအကြောင်းအရာပါ အတူ ဖော်ပြပါ။", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "ਨਿਯਮਤ ਦਵਾਈਆਂ", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "ဥပမာ။ Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "ကျေးဇူးပြု၍ သင်သည် ပုံမှန်အားဖြင့် သောက်သုံးသော ဆေးဝါးများအားလုံးကို အမည်၊ အရေအတွက်၊ တစ်နေ့တွင် ဘယ်နှစ်ကြိမ် သောက်သုံးသည်နှင့် ဘာရောဂါအတွက် သုံးသည်ကို စာရင်းပြုစုပါ။", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "ਅਲਰਜੀਆਂ", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ဥပမာ။ ပီနီစီလင် - အရေပြားရောင်ရမ်းမှုဖြစ်စေသည်", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "ကျေးဇူးပြု၍ အားလုံးသော အာရုံစူးစိုက်မှုများ (ဆေးဝါး၊ အစားအစာ၊ ပတ်ဝန်းကျင်) ကို စာရင်းပြုစုပါ၊ သင်၏ တုံ့ပြန်မှုကို ဖေါ်ပြပါ (ဥပမာ - အရေပြားရောင်ခြင်း၊ အထူထူခြင်း၊ အသက်ရှုရခက်ခြင်း)။", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "ਖਾਸ ਹਾਲਤਾਂ", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "ਉਦਾਹਰਨ ਵਜੋਂ ਗਰਭਾਵਸਥਾ, ਅਪੰਗਤਾ", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "သင်သည် ဆရာဝန်များသည် အမြဲသိရမည့် အရေးကြီးသော ဆေးဘက်ဆိုင်ရာ အခြေအနေများ (ဥပမာ - မေတ္တာ၊ ထည့်သွင်းထားသော ကိရိယာများ၊ အထင်အမြင်များ၊ သွေးခွဲခြင်းကုသမှု) ရှိပါက ဖော်ပြပါ။ မရှိပါက ဤကို အလွတ်ထားနိုင်သည်။", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "ਪਰਿਵਾਰਕ ਇਤਿਹਾਸ", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ਉਦਾਹਰਨ: ਦਿਲ ਦੀ ਬਿਮਾਰੀ, ਕੈਂਸਰ", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "ကျေးဇူးပြု၍ မိသားစုတွင် အရေးကြီးသော ရောဂါများကို ဖော်ပြပါ (ဥပမာ - ဆီးချို၊ သွေးဖိအား၊ နှလုံးရောဂါ၊ ကင်ဆာ၊ ဂျင်နက်ရောဂါများ) နှင့် အဆိုပါ ရောဂါကို ရင်ဆိုင်ခဲ့သော မိသားစုဝင်ကို သတ်မှတ်ပါ။", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "ਸਮਾਜਿਕ & ਜੀਵਨਸ਼ੈਲੀ ਕਾਰਕ", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "ਜਿਵੇਂ ਕਿ ਧੂਮਰਪਾਨ, ਸ਼ਰਾਬ ਦੀ ਖਪਤ", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "ကျန်းမာရေးကိုထိခိုက်စေနိုင်သော အသက်မွေးဝမ်းကျောင်းအချက်အလက်များကို ဖေါ်ပြပါ၊ ဥပမာ - ဆေးလိပ်သောက်ခြင်း၊ အရက်သောက်ခြင်း၊ ရုပ်ပိုင်းဆိုင်ရာလှုပ်ရှားမှု၊ အစားအသောက်၊ အိပ်စက်မှုနှင့် အလုပ်အကိုင်။", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "ਚਿਕਿਤਸਾ ਉਪਕਰਣ", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "ਉਦਾਹਰਨ ਵਜੋਂ ਪੇਸਮੇਕਰ, ਸੁਣਨ ਸਹਾਇਕ, ਇੰਸੁਲਿਨ ਪੰਪ", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "ကျေးဇူးပြု၍ သင်အသုံးပြုနေသော သို့မဟုတ် ထည့်သွင်းထားသော ဆေးဘက်ဆိုင်ရာ ကိရိယာများကို စာရင်းပြုစုပါ၊ ဥပမာအားဖြင့် ပေးဆောင်စက်များ၊ အင်ဆူလင် ပံ့ပိုးစက်များ၊ နားထောင်စက်များ၊ အစားထိုးကိရိယာများ သို့မဟုတ် အခြားကူညီမှု သို့မဟုတ် စောင့်ကြည့်မှု ကိရိယာများ။ သက်ဆိုင်ရာ အသေးစိတ်များကို ထည့်ပါ။", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "ਸਭ ਕੁਝ ਖਾਣ ਵਾਲਾ", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ਫਾਸਟ ਫੂਡ", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "ਪੇਸਕੈਟੇਰੀਅਨ", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "ਲੈਕਟੋਜ਼-ਮੁਕਤ", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "ਘੱਟ ਨਮਕ ਵਾਲਾ ਆਹਾਰ", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "ਘੱਟ-ਚੀਨੀ ਆਹਾਰ", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "ਹਿਰਦੇ ਲਈ ਆਹਾਰ", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "ਗੁਰਦੇ ਲਈ ਖੁਰਾਕ", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "ਹੋਰ", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ne.arb b/example/lib/src/l10n/profiles/app_ne.arb new file mode 100644 index 0000000..83f68f5 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ne.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ne", + "chatDrawerTitle": "स्वास्थ्य रेकर्ड", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "नयाँ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "आफ्नो स्वास्थ्य रेकर्ड बनाउनुहोस्", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "तपाईंको परामर्शको अन्त्यमा, आफ्नो प्रोफाइल थप्नुहोस्।", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "थप प्रोफाइलहरू थप्नुहोस्", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "अरूको प्रोफाइल बनाउनको लागि परामर्श सुरु गर्नुहोस्।", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "स्वास्थ्य रेकर्ड बनाउन साइन अप गर्नुहोस्", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "पुनः प्रयास गर्नुहोस्", + "@errorRetryButton": {}, + "dashboardDeleteError": "प्रोफाइल मेट्न असफल", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "प्रोफाइल संक्षेप लोड गर्न असफल", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "पूर्ण रेकर्ड हेर्नुहोस्", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "साझा गर्नुहोस्", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "हटाउनुहोस्", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "उमेर", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} वर्ष} other{{value} वर्ष}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "वजन", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} किग्रा", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "उचाई", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} से.मी.", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "एलर्जी", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "क्रोनिक", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "औषधि", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "उपकरणहरू", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "परामर्श", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "कागजात", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "स्वास्थ्य रेकर्ड मेट्ने? ", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "यसले तपाईंको स्वास्थ्य डेटा स्थायी रूपमा हटाउनेछ र यसलाई फिर्ता गर्न सकिँदैन। तपाईंले हामीले तपाईंलाई मार्गदर्शन गर्न प्रयोग गर्ने सन्दर्भ गुमाउनु हुनेछ।", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "रद्द गर्नुहोस्", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "हटाउनुहोस्", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "तपाईंको स्वास्थ्य रेकर्ड मेटाइँदैछ...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "प्रोफाइल मेट्न असफल", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "स्वास्थ्य रेकर्ड मेटियो", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "तपाईं सहायकसँग कुरा गरेर कुनै पनि समयमा नयाँ बनाउन सक्नुहुन्छ।", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "च्याटमा फर्कनुहोस्", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "सम्पादन", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "प्रोफाइल डेटा लोड गर्न असफल", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "परिवर्तनहरू सुरक्षित गरियो", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "तपाईंको जानकारी सफलतापूर्वक अपडेट गरिएको छ।", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "प्रोफाइलमा फर्कनुहोस्", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "प्रोफाइल डेटा अपडेट गर्न असफल", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "परिवर्तनहरू मेटाउने? ", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "तपाईंले आफ्नो प्रोफाइलमा केही परिवर्तन गर्नुभएको छ। जानु अघि तिनीहरूलाई बचत गर्नुहोस्, वा तिनीहरूलाई फाल्नुहोस्।", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "सम्पादन जारी राख्नुहोस्", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "फाल्नुहोस्", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "सम्पादन", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "रेकर्ड थप्नुहोस्", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "खोज्नुहोस्", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "कुनै परिणाम फेला परेन", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "डाउनलोड", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "साझा गर्नुहोस्", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "हटाउनुहोस्", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "कुनै पनि कागजात फेला परेन", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "यो कागजात मेट्ने हो?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "यो फाइल स्थायी रूपमा हटाइनेछ", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "रद्द गर्नुहोस्", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "हटाउनुहोस्", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "थप कार्यहरू", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "खोज्नुहोस्", + "@profilesSearch": {}, + "profilesEmptyList": "कुनै प्रोफाइल फेला परेन", + "@profilesEmptyList": {}, + "profilesViewMore": "थप हेर्नुहोस्", + "@profilesViewMore": {}, + "profilesMore": "थप", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina अब तपाईंको स्वास्थ्य सम्झन्छ", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "तपाईंको परामर्शले अब तपाईंको स्वास्थ्य रेकर्डलाई स्वचालित रूपमा निर्माण र अद्यावधिक गर्दछ।", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "तपाईंको स्वास्थ्य रेकर्ड, तपाईंका नियम", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "कुनै पनि समयमा लक्षण, औषधि, इतिहास, वा कागजातहरू हेर्नुहोस्, सम्पादन गर्नुहोस्, वा थप्नुहोस्।", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "तपाईंको सम्पूर्ण परिवारको हेरचाह गर्नुहोस्", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "तपाईंका प्रियजनहरूको लागि स्वास्थ्य रेकर्ड बनाउनुहोस्, तपाईंका बच्चाहरू, आमाबाबु, वा साथी।", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "तपाईंको स्वास्थ्य रेकर्ड बचत गर्न तयार हुनुहुन्छ?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "तपाईंको परामर्शपछि, यसलाई बचत गर्न “प्रोफाइल थप्नुहोस्” मा थिच्नुहोस्।", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "अगाडि", + "@profilesNextButton": {}, + "profilesStartButton": "परामर्श सुरु गर्नुहोस्", + "@profilesStartButton": {}, + "profilesLaterButton": "शायद पछि", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "बन्द गर्नुहोस्", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "स्वास्थ्य रेकर्ड", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "स्वास्थ्य रेकर्ड — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...थप", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...कम", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "नयाँ प्रोफाइल थप्नुहोस्", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "यस परामर्शको विवरणहरू बचत गर्न प्रोफाइल सिर्जना गर्नुहोस्।", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "तपाईं यसलाई आफ्नो स्वास्थ्य अभिलेखमा कुनै पनि समयमा जाँच गर्न सक्नुहुन्छ", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "यदि तपाईंलाई यसको बारेमा वा यससँग सम्बन्धित अरू प्रश्नहरू छन् भने, निःसंकोच मसँग कुरा जारी राख्न सक्नुहुन्छ। म मद्दत गर्न यहाँ छु", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "सामान्य जानकारी", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "नाम", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "जॉन डो", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "पहिलो नाम", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "जॉन", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "थर", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "लिङ्ग", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "कृपया चयन गर्नुहोस्", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "पुरुष", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "महिला", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "अन्य", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "जन्म मिति", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "उमेर", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "जस्तै 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "फोन नम्बर", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "इमेल", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "स्थान", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "उदा. शहर, देश", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "शरीर र आहार", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "ऊँचाइ", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "उदा. 180 सेमी", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "वजन", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "उदा. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "मासिक धर्म चक्र", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "उदाहरण: नियमित, अनियमित", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "आहार प्रतिबन्धहरू", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "कृपया छान्नुहोस्", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "तपाईं के खाने हुनुहुन्छ र तपाईंसँग भएका कुनै पनि प्रतिबन्धहरू हामीलाई बताउनुहोस्", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "कुनै छैन", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "शाकाहारी", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "वीगन", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "ग्लुटेन मुक्त", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "शरीर द्रव्यमान सूचकांक (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "उदा. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "स्वास्थ्य प्रोफाइल", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "दीर्घकालीन रोगहरू", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "जस्तै: मधुमेह प्रकार 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "कृपया सबै पुराना रोगहरूको सूची बनाउनुहोस् र कहिले निदान गरिएको र कुनै जटिलताहरू समावेश गर्नुहोस्।", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "पहिलाका रोगहरू", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "जस्तै, बारम्बारको साधारण ज्वरो", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "कृपया तपाईंले अतीतमा भोगेका गम्भीर रोगहरूको सूची दिनुहोस्, यद्यपि तपाईं निको हुनुभएको छ।", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "शल्यक्रिया इतिहास", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "उदा. Appendectomy", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "कृपया सबै शल्यक्रियाहरूको सूची बनाउनुहोस् र वर्ष र कुनै जटिलताहरू थिए कि छैनन् भन्ने कुरा समावेश गर्नुहोस्", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "कहिलेकाहीँ प्रयोग गरिने औषधिहरू", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "जस्तै: Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "कृपया तपाईंले कहिलेकाहीं लिने औषधिहरूको सूची दिनुहोस् (उदाहरणका लागि: पीडा निवारक, एलर्जी औषधिहरू), डोज र प्रयोगको कारण सहित।", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "नियमित औषधिहरू", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "जस्तै: Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "कृपया तपाईंले नियमित रूपमा लिने सबै औषधिहरूको नाम, मात्रा, दिनमा कति पटक लिन्छन्, र यो कुन अवस्थाको लागि हो भनेर सूचीबद्ध गर्नुहोस्।", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "एलर्जीहरू", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "जस्तै: पेनिसिलिन – चामल ल्याउँछ", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "कृपया सबै एलर्जीहरू (औषधिहरू, खाना, वातावरण) सूचीबद्ध गर्नुहोस्, र तपाईंले कस्तो प्रतिक्रिया देखाउनुहुन्छ भनेर वर्णन गर्नुहोस् (उदाहरणका लागि: चर्मरोग, सुजन, श्वासप्रश्वासको समस्या)।", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "विशेष अवस्थाहरू", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "उदा. गर्भावस्था, अपाङ्गता", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "यदि तपाईंसँग कुनै महत्त्वपूर्ण चिकित्सा अवस्थाहरू छन् जुन डाक्टरहरूले सधैं थाहा पाउनु पर्छ (उदाहरणका लागि: गर्भावस्था, इम्प्लान्ट गरिएका उपकरणहरू, अपाङ्गता, एन्टिकोआगुलन थेरापी), कृपया तिनीहरूलाई वर्णन गर्नुहोस्। यदि छैन भने, तपाईं यसलाई खालि छोड्न सक्नुहुन्छ।", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "पारिवारिक इतिहास", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "उदा. मुटु रोग, क्यान्सर", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "कृपया आफ्नो परिवारमा महत्त्वपूर्ण रोगहरूको वर्णन गर्नुहोस् (उदाहरणका लागि: मधुमेह, उच्च रक्तचाप, हृदय रोग, क्यान्सर, आनुवंशिक रोगहरू) र कुन परिवारका सदस्यले यो अवस्था पाएको छ भनेर निर्दिष्ट गर्नुहोस्।", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "सामाजिक र जीवनशैलीका कारकहरू", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "उदा. धूम्रपान, मद्यपान", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "कृपया जीवनशैलीका तत्त्वहरू वर्णन गर्नुहोस् जसले तपाईंको स्वास्थ्यमा असर पार्न सक्छ, जस्तै धूम्रपान, मदिरा, शारीरिक गतिविधि, आहार, निद्रा, र पेशा।", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "चिकित्सा उपकरणहरू", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "उदा. पेसमेकर, सुनाइ सहायक, इन्सुलिन पम्प", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "कृपया कुनै पनि चिकित्सा उपकरणहरूको सूची दिनुहोस् जुन तपाईंले प्रयोग गर्नुहुन्छ वा इम्प्लान्ट गरिएको छ, जस्तै पेसमेकर, इन्सुलिन पम्प, सुन्ने उपकरण, कृत्रिम अंग, वा अन्य सहायक वा अनुगमन उपकरणहरू। लागू हुने भएमा सम्बन्धित विवरणहरू समावेश गर्नुहोस्।", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "सर्वाहारी", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "फास्ट फूड", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "मत्स्याहारी", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "लैक्टोज-मुक्त", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "कम सोडियम आहार", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "कम-चिनी आहार", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "हृदय सम्बन्धी आहार", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "गुर्दाको आहार", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "अन्य", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_nl.arb b/example/lib/src/l10n/profiles/app_nl.arb new file mode 100644 index 0000000..35f69ec --- /dev/null +++ b/example/lib/src/l10n/profiles/app_nl.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "nl", + "chatDrawerTitle": "Gezondheidsdossiers", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NIEUW", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Maak uw Gezondheidsdossier aan", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Voeg aan het einde van uw consult uw profiel toe.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Voeg meer profielen toe", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Begin een consult voor iemand anders om hun profiel aan te maken.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Meld je aan om je Gezondheidsdossier te maken", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Opnieuw proberen", + "@errorRetryButton": {}, + "dashboardDeleteError": "Profiel kon niet worden verwijderd", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Profieloverzicht kon niet worden geladen", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Bekijk volledig record", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Delen", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Verwijderen", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Leeftijd", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} jaar} other{{value} jaren}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Gewicht", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Hoogte", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Allergieën", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Chronisch", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Medicatie", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Apparaten", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Consultaties", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Documenten", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Gezondheidsrecord verwijderen?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Dit verwijdert permanent uw gezondheidsgegevens en kan niet ongedaan gemaakt worden. U verliest de context die we gebruiken om u te begeleiden.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Annuleren", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Verwijderen", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Uw gezondheidsrecord wordt verwijderd...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Profiel kon niet worden verwijderd", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Gezondheidsrecord verwijderd", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Je kunt op elk moment een nieuwe maken door met de assistent te chatten.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Terug naar chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Bewerken", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Profielgegevens konden niet worden geladen", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Wijzigingen opgeslagen", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Uw informatie is succesvol bijgewerkt.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Terug naar profiel", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Het is niet gelukt om profielgegevens bij te werken", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Wijzigingen verwijderen?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Je hebt enkele wijzigingen in je profiel aangebracht. Sla ze op voordat je vertrekt, of gooi ze weg.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Blijf bewerken", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Verwijderen", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Bewerken", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Record toevoegen", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Zoeken", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Geen resultaten gevonden", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Downloaden", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Delen", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Verwijderen", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Geen documenten gevonden", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Dit document verwijderen?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Dit bestand wordt permanent verwijderd", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Annuleren", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Verwijderen", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Meer acties", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Zoeken", + "@profilesSearch": {}, + "profilesEmptyList": "Geen profielen gevonden", + "@profilesEmptyList": {}, + "profilesViewMore": "Meer bekijken", + "@profilesViewMore": {}, + "profilesMore": "Meer", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina onthoudt nu uw gezondheid", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Uw consulten bouwen nu automatisch uw Gezondheidsdossier op en werken het bij.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Uw gezondheidsrecord, uw regels", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Bekijk, bewerk of voeg symptomen, medicijnen, geschiedenis of documenten op elk moment toe.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Zorg voor uw hele gezin", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Maak een gezondheidsdossier voor uw dierbaren, uw kinderen, ouders of partner.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Klaar om uw Gezondheidsdossier op te slaan?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Na uw consultatie tikt u op 'Profiel toevoegen' om het op te slaan.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Volgende", + "@profilesNextButton": {}, + "profilesStartButton": "Start een consultatie", + "@profilesStartButton": {}, + "profilesLaterButton": "Misschien later", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Sluiten", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Gezondheidsrecord", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Gezondheidsrecord — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...meer", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "minder", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Voeg nieuw profiel toe", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Maak een profiel aan om de details van dit consult op te slaan.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "U kunt het op elk moment in uw Health Records bekijken", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Als je nog meer vragen hebt over dit of iets dat hiermee te maken heeft, praat gerust verder met me. Ik ben hier om te helpen", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Algemene Informatie", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Naam", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Jan Jansen", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Voornaam", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Achternaam", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Geslacht", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Maak een keuze", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Man", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Vrouw", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Anders", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Geboortedatum", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Leeftijd", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "bijv. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Telefoonnummer", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-mail", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Locatie", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "bijv. Stad, Land", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Lichaam & Voeding", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Lengte", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "bijv. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Gewicht", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "bijv. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menstruatiecyclus", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "bijv. Regelmatig, Onregelmatig", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Dieetbeperkingen", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Selecteer", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Laat ons weten wat u eet en welke beperkingen u heeft", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Geen", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetarisch", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Glutenvrij", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Bodymassindex (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "bijv. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Gezondheidsprofiel", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Chronische aandoeningen", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "Diabetes type 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Vermeld alstublieft alle chronische ziekten en geef aan wanneer ze zijn gediagnosticeerd en eventuele complicaties.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Eerdere ziekten", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "bijv. Frequent verkoudheid", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Vermeld alstublieft ernstige ziekten die u in het verleden heeft gehad, ook als u hersteld bent.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Chirurgische voorgeschiedenis", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "bijv. appendectomie", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Vermeld al uw operaties en geef het jaar en eventuele complicaties aan.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Af en toe gebruikte medicatie", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "bijv. Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Vermeld alstublieft medicijnen die u af en toe gebruikt (bijvoorbeeld: pijnstillers, allergiemedicijnen), inclusief de dosis en de reden voor gebruik.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Vaste medicatie", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "bijv. Metformine", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Vermeld alstublieft alle medicijnen die u regelmatig gebruikt, inclusief de naam, dosering, hoe vaak per dag u het neemt en waarvoor het bedoeld is.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Allergieën", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "bijv. Penicilline – veroorzaakt uitslag", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Vermeld al uw allergieën (medicijnen, voedsel, omgevingsfactoren) en beschrijf welke reactie u heeft (bijvoorbeeld: uitslag, zwelling, ademhalingsproblemen).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Bijzondere aandoeningen", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "bijv. Zwangerschap, Handicap", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Als u belangrijke medische aandoeningen heeft waarvan artsen altijd op de hoogte moeten zijn (bijvoorbeeld: zwangerschap, geïmplanteerde apparaten, handicaps, anticoagulantietherapie), beschrijf deze dan. Als er geen zijn, kunt u dit leeg laten.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Familiegeschiedenis", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "bijv. hartaandoeningen, kanker", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Beschrijf alstublieft belangrijke ziekten in uw familie (bijvoorbeeld: diabetes, hypertensie, hartziekten, kanker, genetische ziekten) en geef aan welk familielid de aandoening had.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Sociale & Leefstijlfactoren", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "bijv. roken, alcoholgebruik", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Beschrijf alstublieft levensstijlfactoren die uw gezondheid kunnen beïnvloeden, zoals roken, alcohol, fysieke activiteit, dieet, slaap en beroep.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Medische apparaten", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "bijv. Pacemaker, Gehoorapparaat, Insulinepomp", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Vermeld alstublieft eventuele medische apparaten die u gebruikt of die zijn geïmplanteerd, zoals pacemakers, insulinepompen, hoortoestellen, protheses of andere ondersteunende of bewakingsapparaten. Voeg relevante details toe indien van toepassing.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Alleseter", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Fastfood", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescotariër", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Lactosevrij", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Zoutarm dieet", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Suikarm dieet", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Hartdieet", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Nierdieet", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Overig", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_pa.arb b/example/lib/src/l10n/profiles/app_pa.arb new file mode 100644 index 0000000..d29d343 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_pa.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "pa", + "chatDrawerTitle": "ਸਿਹਤ ਰਿਕਾਰਡ", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "ਨਵਾਂ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "ਆਪਣਾ ਸਿਹਤ ਰਿਕਾਰਡ ਬਣਾਓ", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "ਤੁਹਾਡੇ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਦੇ ਅੰਤ 'ਤੇ, ਆਪਣਾ ਪ੍ਰੋਫਾਈਲ ਸ਼ਾਮਲ ਕਰੋ.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "ਹੋਰ ਪ੍ਰੋਫਾਈਲ ਸ਼ਾਮਲ ਕਰੋ", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "ਕਿਸੇ ਹੋਰ ਲਈ ਆਪਣਾ ਪ੍ਰੋਫਾਈਲ ਬਣਾਉਣ ਲਈ ਸਲਾਹ-ਮਸ਼ਵਰਾ ਸ਼ੁਰੂ ਕਰੋ।", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "ਸਾਈਨ ਅਪ ਕਰੋ ਤਾਂ ਜੋ ਤੁਸੀਂ ਆਪਣਾ ਸਿਹਤ ਰਿਕਾਰਡ ਬਣਾਉ ਸਕੋ", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ", + "@errorRetryButton": {}, + "dashboardDeleteError": "ਪ੍ਰੋਫਾਈਲ ਮਿਟਾਉਣ ਵਿੱਚ ਅਸਫਲ", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "ਪ੍ਰੋਫਾਈਲ ਸਾਰਾਂਸ਼ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "ਪੂਰਾ ਰਿਕਾਰਡ ਵੇਖੋ", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "ਸਾਂਝਾ ਕਰੋ", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "ਹਟਾਓ", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "ਉਮਰ", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} ਸਾਲ} other{{value} ਸਾਲ}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "ਵਜ਼ਨ", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "ਉਚਾਈ", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "ਐਲਰਜੀ", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "ਕ੍ਰੋਨਿਕ", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "ਦਵਾਈ", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "ਡਿਵਾਈਸ", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "ਸਲਾਹ-ਮਸ਼ਵਰਾ", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "ਦਸਤਾਵੇਜ਼", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "ਸਿਹਤ ਰਿਕਾਰਡ ਮਿਟਾਉਣਾ ਹੈ?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "ਇਹ ਤੁਹਾਡੇ ਸਿਹਤ ਦੇ ਡੇਟਾ ਨੂੰ ਸਦਾ ਲਈ ਹਟਾ ਦੇਵੇਗਾ ਅਤੇ ਇਸਨੂੰ ਵਾਪਸ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਤੁਸੀਂ ਉਸ ਸੰਦਰਭ ਨੂੰ ਗੁਆ ਦੇਵੋਗੇ ਜੋ ਅਸੀਂ ਤੁਹਾਨੂੰ ਮਾਰਗਦਰਸ਼ਨ ਦੇਣ ਲਈ ਵਰਤਦੇ ਹਾਂ.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "ਰੱਦ ਕਰੋ", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "ਹਟਾਓ", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "ਤੁਹਾਡਾ ਸਿਹਤ ਰਿਕਾਰਡ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "ਪ੍ਰੋਫਾਈਲ ਮਿਟਾਉਣ ਵਿੱਚ ਅਸਫਲ", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "ਸਿਹਤ ਦਾ ਰਿਕਾਰਡ ਹਟਾਇਆ ਗਿਆ", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "ਤੁਸੀਂ ਸਹਾਇਕ ਨਾਲ ਗੱਲ ਕਰਕੇ ਕਿਸੇ ਵੀ ਸਮੇਂ ਨਵਾਂ ਬਣਾ ਸਕਦੇ ਹੋ.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "ਚੈਟ 'ਤੇ ਵਾਪਸ ਜਾਓ", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "ਸੰਪਾਦਨ", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "ਪ੍ਰੋਫਾਈਲ ਡੇਟਾ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "ਬਦਲਾਅ ਸੇਵ ਕੀਤੇ ਗਏ", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "ਤੁ情報 ਸਫਲਤਾਪੂਰਵਕ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ।", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "ਪ੍ਰੋਫਾਈਲ 'ਤੇ ਵਾਪਸ ਜਾਓ", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "ਪ੍ਰੋਫਾਈਲ ਡੇਟਾ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਵਿੱਚ ਅਸਫਲ", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "ਬਦਲਾਵਾਂ ਨੂੰ ਖਾਰਜ ਕਰਨਾ ਹੈ?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "ਤੁਸੀਂ ਆਪਣੇ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਕੁਝ ਬਦਲਾਅ ਕੀਤੇ ਹਨ। ਜਾ ਰਹੇ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਉਨ੍ਹਾਂ ਨੂੰ ਸੇਵ ਕਰੋ, ਜਾਂ ਉਨ੍ਹਾਂ ਨੂੰ ਖਾਰਜ ਕਰੋ।", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "ਸੰਪਾਦਨ ਜਾਰੀ ਰੱਖੋ", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "ਵਿਰੋਧ", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "ਸੰਪਾਦਿਤ ਕਰੋ", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "ਰਿਕਾਰਡ ਸ਼ਾਮਲ ਕਰੋ", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "ਖੋਜੋ", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "ਕੋਈ ਨਤੀਜੇ ਨਹੀਂ ਮਿਲੇ", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ਡਾਊਨਲੋਡ", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "ਸਾਂਝਾ ਕਰੋ", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "ਹਟਾਓ", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "ਕੋਈ ਦਸਤਾਵੇਜ਼ ਨਹੀਂ ਮਿਲਿਆ", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "ਕੀ ਤੁਸੀਂ ਇਸ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "ਇਹ ਫਾਈਲ ਸਦਾ ਲਈ ਹਟਾਈ ਜਾਵੇਗੀ", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "ਰੱਦ ਕਰੋ", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "ਹਟਾਓ", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "ਹੋਰ ਕਾਰਵਾਈਆਂ", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "ਖੋਜੋ", + "@profilesSearch": {}, + "profilesEmptyList": "ਕੋਈ ਪ੍ਰੋਫ਼ਾਈਲ ਨਹੀਂ ਮਿਲੀ", + "@profilesEmptyList": {}, + "profilesViewMore": "ਹੋਰ ਵੇਖੋ", + "@profilesViewMore": {}, + "profilesMore": "ਹੋਰ", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "ਡਾਕਟਰਿਨਾ ਹੁਣ ਤੁਹਾਡੀ ਸਿਹਤ ਯਾਦ ਰੱਖਦੀ ਹੈ", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "ਤੁਹਾਡੇ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਹੁਣ ਤੁਹਾਡਾ ਸਿਹਤ ਰਿਕਾਰਡ ਆਟੋਮੈਟਿਕ ਤੌਰ 'ਤੇ ਬਣਾਉਂਦੇ ਅਤੇ ਅੱਪਡੇਟ ਕਰਦੇ ਹਨ।", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "ਤੁਹਾਡਾ ਸਿਹਤ ਰਿਕਾਰਡ, ਤੁਹਾਡੇ ਨਿਯਮ", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "ਕਦੇ ਵੀ ਲੱਛਣ, ਦਵਾਈਆਂ, ਇਤਿਹਾਸ ਜਾਂ ਦਸਤਾਵੇਜ਼ ਵੇਖੋ, ਸੋਧੋ ਜਾਂ ਸ਼ਾਮਲ ਕਰੋ।", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "ਆਪਣੇ ਪੂਰੇ ਪਰਿਵਾਰ ਦੀ ਦੇਖਭਾਲ ਕਰੋ", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "ਆਪਣੇ ਪਿਆਰੇ, ਬੱਚਿਆਂ, ਮਾਪਿਆਂ ਜਾਂ ਸਾਥੀ ਲਈ ਸਿਹਤ ਰਿਕਾਰਡ ਬਣਾਓ।", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਸਿਹਤ ਰਿਕਾਰਡ ਸੇਵ ਕਰਨ ਲਈ ਤਿਆਰ ਹੋ?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "ਤੁਹਾਡੇ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਤੋਂ ਬਾਅਦ, ਇਸਨੂੰ ਸੇਵ ਕਰਨ ਲਈ “Add profile” 'ਤੇ ਟੈਪ ਕਰੋ.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "ਅਗਲਾ", + "@profilesNextButton": {}, + "profilesStartButton": "ਸਲਾਹ-ਮਸ਼ਵਰਾ ਸ਼ੁਰੂ ਕਰੋ", + "@profilesStartButton": {}, + "profilesLaterButton": "ਸ਼ਾਇਦ ਬਾਅਦ ਵਿੱਚ", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "ਬੰਦ ਕਰੋ", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "ਸਿਹਤ ਰਿਕਾਰਡ", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "ਸਿਹਤ ਰਿਕਾਰਡ — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...ਹੋਰ", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...ਘੱਟ", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "ਨਵਾਂ ਪ੍ਰੋਫਾਈਲ ਸ਼ਾਮਲ ਕਰੋ", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "ਇਸ ਸਲਾਹ-ਮਸ਼ਵਰੇ ਦੇ ਵੇਰਵਿਆਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਇੱਕ ਪ੍ਰੋਫਾਈਲ ਬਣਾਓ.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਵੇਲੇ ਆਪਣੇ ਹੈਲਥ ਰਿਕਾਰਡ ਵਿੱਚ ਇਸ ਦਾ ਮੁਲਾਂਕਣ ਕਰ ਸਕਦੇ ਹੋ", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਇਸ ਬਾਰੇ ਜਾਂ ਇਸ ਨਾਲ ਸੰਬੰਧਤ ਹੋਰ ਸਵਾਲ ਹਨ, ਤਾਂ ਬੇਝਿਝਕ ਮੈਨੂੰ ਗੱਲ ਜਾਰੀ ਰੱਖੋ. ਮੈਂ ਮਦਦ ਲਈ ਇੱਥੇ ਹਾਂ", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "ਸਧਾਰਨ ਜਾਣਕਾਰੀ", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "ਨਾਮ", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "ਪਹਿਲਾ ਨਾਮ", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "ਜੌਨ", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "ਆਖਰੀ ਨਾਮ", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "ਲਿੰਗ", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "ਮਰਦ", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "ਮਹਿਲਾ", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "ਹੋਰ", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "ਜਨਮ ਤਾਰੀਖ", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "ਉਮਰ", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "ਜਿਵੇਂ 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "ਫੋਨ ਨੰਬਰ", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ਈਮੇਲ", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "ਟਿਕਾਣਾ", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ਉਦਾਹਰਨ: ਸ਼ਹਿਰ, ਦੇਸ਼", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "ਸਰੀਰ & ਆਹਾਰ", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "ਉਚਾਈ", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "e.g. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "ਵਜ਼ਨ", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ਜਿਵੇਂ 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "ਮਾਸਿਕ ਚੱਕਰ", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "ਉਦਾਹਰਣ: ਨਿਯਮਤ, ਅਨਿਯਮਤ", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "ਆਹਾਰਿਕ ਪਾਬੰਦੀਆਂ", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "ਸਾਨੂੰ ਦੱਸੋ ਕਿ ਤੁਸੀਂ ਕੀ ਖਾਂਦੇ ਹੋ ਅਤੇ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਪਾਬੰਦੀ ਹੈ", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "ਕੋਈ ਨਹੀਂ", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "ਸ਼ਾਕਾਹਾਰੀ", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "ਵੀਗਨ", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "ਗਲੂਟਨ ਮੁਕਤ", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "ਬਾਡੀ ਮਾਸ ਇੰਡੈਕਸ (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ਉਦਾਹਰਨ: 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "ਸਿਹਤ ਪ੍ਰੋਫਾਈਲ", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "ਦੀਰਘਕਾਲੀਨ ਬਿਮਾਰੀਆਂ", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ਜਿਵੇਂ ਕਿ ਡਾਇਬੀਟੀਜ਼ ਟਾਈਪ 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "ਕਿਰਪਾ ਕਰਕੇ ਸਾਰੀਆਂ ਦਿਰਘਕਾਲੀ ਬਿਮਾਰੀਆਂ ਦੀ ਸੂਚੀ ਬਣਾਓ ਅਤੇ ਇਹ ਵੀ ਸ਼ਾਮਲ ਕਰੋ ਕਿ ਇਹਨਾਂ ਦੀ ਪਛਾਣ ਕਦੋਂ ਹੋਈ ਸੀ ਅਤੇ ਕੋਈ ਜਟਿਲਤਾਵਾਂ।", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "ਪਿਛਲੀਆਂ ਬਿਮਾਰੀਆਂ", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ਜਿਵੇਂ ਕਿ ਬਾਰੰਬਾਰ ਆਮ ਜ਼ੁਕਾਮ", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "ਕਿਰਪਾ ਕਰਕੇ ਉਹ ਗੰਭੀਰ ਬਿਮਾਰੀਆਂ ਲਿਖੋ ਜੋ ਤੁਸੀਂ ਪਿਛਲੇ ਸਮੇਂ ਵਿੱਚ ਸਹੀ ਕੀਤੀਆਂ ਹਨ, ਭਾਵੇਂ ਤੁਸੀਂ ਠੀਕ ਹੋ ਗਏ ਹੋ.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "ਸਰਜਰੀ ਇਤਿਹਾਸ", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "ਜਿਵੇਂ ਕਿ ਐਪੈਂਡੈਕਟੋਮੀ", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "ਕਿਰਪਾ ਕਰਕੇ ਸਾਰੀਆਂ ਸਰਜਰੀਆਂ ਦੀ ਸੂਚੀ ਬਣਾਓ ਅਤੇ ਸਾਲ ਅਤੇ ਜੇ ਕੋਈ ਜਟਿਲਤਾਵਾਂ ਸਨ, ਉਹ ਵੀ ਸ਼ਾਮਲ ਕਰੋ।", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "ਕਦੇ-ਕਦੇ ਵਰਤੀ ਜਾਣ ਵਾਲੀਆਂ ਦਵਾਈਆਂ", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "ਜਿਵੇਂ ਕਿ ਇਬੂਪ੍ਰੋਫੇਨ", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "ਕਿਰਪਾ ਕਰਕੇ ਉਹ ਦਵਾਈਆਂ ਲਿਖੋ ਜੋ ਤੁਸੀਂ ਕਦੇ ਕਦੇ ਲੈਂਦੇ ਹੋ (ਉਦਾਹਰਨ ਲਈ: ਦਰਦ ਨਿਵਾਰਕ, ਐਲਰਜੀ ਦੀਆਂ ਦਵਾਈਆਂ), ਜਿਸ ਵਿੱਚ ਖੁਰਾਕ ਅਤੇ ਵਰਤੋਂ ਦਾ ਕਾਰਨ ਸ਼ਾਮਲ ਹੈ.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "ਨਿਯਮਤ ਦਵਾਈਆਂ", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "ਜਿਵੇਂ ਕਿ Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "ਕਿਰਪਾ ਕਰਕੇ ਉਹ ਸਾਰੇ ਦਵਾਈਆਂ ਲਿਖੋ ਜੋ ਤੁਸੀਂ ਨਿਯਮਤ ਤੌਰ 'ਤੇ ਲੈਂਦੇ ਹੋ, ਜਿਸ ਵਿੱਚ ਨਾਮ, ਖੁਰਾਕ, ਤੁਸੀਂ ਇਹ ਕਿੰਨੀ ਵਾਰੀ ਦਿਨ ਵਿੱਚ ਲੈਂਦੇ ਹੋ, ਅਤੇ ਇਹ ਕਿਸ ਬਿਮਾਰੀ ਲਈ ਹੈ।", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "ਅਲਰਜੀਆਂ", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ਜਿਵੇਂ ਕਿ ਪੈਨਿਸਿਲਿਨ - ਰੈਸ਼ ਪੈਦਾ ਕਰਦਾ ਹੈ", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "ਕਿਰਪਾ ਕਰਕੇ ਸਾਰੀਆਂ ਐਲਰਜੀਆਂ (ਦਵਾਈਆਂ, ਖੁਰਾਕ, ਵਾਤਾਵਰਣ) ਦੀ ਸੂਚੀ ਬਣਾਓ, ਅਤੇ ਤੁਸੀਂ ਕਿਹੜੀ ਪ੍ਰਤੀਕਿਰਿਆ ਦਿਖਾਉਂਦੇ ਹੋ (ਉਦਾਹਰਨ ਲਈ: ਰੈਸ਼, ਸੁਜਨ, ਸਾਹ ਲੈਣ ਵਿੱਚ ਸਮੱਸਿਆ).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "ਖਾਸ ਹਾਲਤਾਂ", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "ਉਦਾਹਰਨ ਵਜੋਂ ਗਰਭਾਵਸਥਾ, ਅਪੰਗਤਾ", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "ਜੇ ਤੁਹਾਨੂੰ ਕੋਈ ਮਹੱਤਵਪੂਰਨ ਮੈਡੀਕਲ ਸ਼ਰਤਾਂ ਹਨ ਜਿਨ੍ਹਾਂ ਬਾਰੇ ਡਾਕਟਰਾਂ ਨੂੰ ਹਮੇਸ਼ਾਂ ਜਾਣਨਾ ਚਾਹੀਦਾ ਹੈ (ਉਦਾਹਰਨ ਵਜੋਂ: ਗਰਭਵਤੀ, ਲਗੇ ਹੋਏ ਉਪਕਰਨ, ਅਸਮਰਥਤਾ, ਐਂਟੀਕੋਐਗੂਲੇਸ਼ਨ ਥੈਰੇਪੀ), ਕਿਰਪਾ ਕਰਕੇ ਉਨ੍ਹਾਂ ਦਾ ਵਰਣਨ ਕਰੋ। ਜੇ ਕੋਈ ਨਹੀਂ, ਤਾਂ ਤੁਸੀਂ ਇਸਨੂੰ ਖਾਲੀ ਛੱਡ ਸਕਦੇ ਹੋ.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "ਪਰਿਵਾਰਕ ਇਤਿਹਾਸ", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ਉਦਾਹਰਨ: ਦਿਲ ਦੀ ਬਿਮਾਰੀ, ਕੈਂਸਰ", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਪਰਿਵਾਰ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਬਿਮਾਰੀਆਂ ਦਾ ਵਰਣਨ ਕਰੋ (ਉਦਾਹਰਨ ਲਈ: ਸ਼ੂਗਰ, ਹਾਈਪਰਟੈਂਸ਼ਨ, ਦਿਲ ਦੀ ਬਿਮਾਰੀ, ਕੈਂਸਰ, ਜਨੈਟਿਕ ਬਿਮਾਰੀਆਂ) ਅਤੇ ਇਹ ਦਰਸਾਓ ਕਿ ਕਿਹੜਾ ਪਰਿਵਾਰਕ ਮੈਂਬਰ ਇਸ ਬਿਮਾਰੀ ਨਾਲ ਪੀੜਤ ਸੀ.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "ਸਮਾਜਿਕ & ਜੀਵਨਸ਼ੈਲੀ ਕਾਰਕ", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "ਜਿਵੇਂ ਕਿ ਧੂਮਰਪਾਨ, ਸ਼ਰਾਬ ਦੀ ਖਪਤ", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "ਕਿਰਪਾ ਕਰਕੇ ਜੀਵਨ ਸ਼ੈਲੀ ਦੇ ਕਾਰਕਾਂ ਦਾ ਵਰਣਨ ਕਰੋ ਜੋ ਤੁਹਾਡੇ ਸਿਹਤ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਧੂੜ, ਸ਼ਰਾਬ, ਸ਼ਾਰੀਰੀਕ ਗਤੀਵਿਧੀ, ਖੁਰਾਕ, ਨੀਂਦ ਅਤੇ ਪੇਸ਼ਾ.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "ਚਿਕਿਤਸਾ ਉਪਕਰਣ", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "ਉਦਾਹਰਨ ਵਜੋਂ ਪੇਸਮੇਕਰ, ਸੁਣਨ ਸਹਾਇਕ, ਇੰਸੁਲਿਨ ਪੰਪ", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "ਕਿਰਪਾ ਕਰਕੇ ਕੋਈ ਵੀ ਮੈਡੀਕਲ ਡਿਵਾਈਸਾਂ ਦੀ ਸੂਚੀ ਦਿਓ ਜੋ ਤੁਸੀਂ ਵਰਤਦੇ ਹੋ ਜਾਂ ਜੋ ਤੁਹਾਡੇ ਵਿੱਚ ਲਗੇ ਹੋਏ ਹਨ, ਜਿਵੇਂ ਕਿ ਪੇਸਮੇਕਰ, ਇਨਸੁਲਿਨ ਪੰਪ, ਸੁਣਨ ਵਾਲੇ ਯੰਤਰ, ਪ੍ਰੋਥੇਟਿਕ, ਜਾਂ ਹੋਰ ਸਹਾਇਕ ਜਾਂ ਨਿਗਰਾਨੀ ਡਿਵਾਈਸ। ਜੇ ਲਾਗੂ ਹੋਵੇ ਤਾਂ ਸੰਬੰਧਿਤ ਵੇਰਵੇ ਸ਼ਾਮਲ ਕਰੋ।", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "ਸਭ ਕੁਝ ਖਾਣ ਵਾਲਾ", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ਫਾਸਟ ਫੂਡ", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "ਪੇਸਕੈਟੇਰੀਅਨ", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "ਲੈਕਟੋਜ਼-ਮੁਕਤ", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "ਘੱਟ ਨਮਕ ਵਾਲਾ ਆਹਾਰ", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "ਘੱਟ-ਚੀਨੀ ਆਹਾਰ", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "ਹਿਰਦੇ ਲਈ ਆਹਾਰ", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "ਗੁਰਦੇ ਲਈ ਖੁਰਾਕ", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "ਹੋਰ", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_pa_PK.arb b/example/lib/src/l10n/profiles/app_pa_PK.arb new file mode 100644 index 0000000..7d3d4df --- /dev/null +++ b/example/lib/src/l10n/profiles/app_pa_PK.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "pa_PK", + "chatDrawerTitle": "صحت کے ریکارڈ", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "نیا", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "اپنا صحت ریکارڈ بنائیں", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "اپنی مشاورت کے آخر میں، اپنا پروفائل شامل کریں۔", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "زیادہ پروفائلز شامل کریں", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "کسی اور کے لیے ان کا پروفائل بنانے کے لیے مشاورت شروع کریں۔", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "اپنا صحت ریکارڈ بنانے کے لیے سائن اپ کریں", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "دوبارہ کوشش کریں", + "@errorRetryButton": {}, + "dashboardDeleteError": "پروفائل حذف کرنے میں ناکامی", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "پروفائل کا خلاصہ لوڈ کرنے میں ناکامی", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "مکمل ریکارڈ دیکھیں", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "شیئر", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "مٹا دیں", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "عمر", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} ਸਾਲ} other{{value} ਸਾਲ}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "وزن", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} کلوگرام", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "اونچائی", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} ਸੈ.ਮੀ.", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "الرجی", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "مزمن", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "ادویات", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "آلات", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "مشاورتیں", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "دستاویزات", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "صحت کا ریکارڈ حذف کرنا ہے؟", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "یہ آپ کے صحت کے ڈیٹا کو مستقل طور پر ہٹا دے گا اور اسے واپس نہیں لایا جا سکتا۔ آپ اس سیاق و سباق کو کھو دیں گے جسے ہم آپ کی رہنمائی کے لیے استعمال کرتے ہیں۔", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "کینسل", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "ਹਟਾਓ", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "آپ کا صحت ریکارڈ حذف کیا جا رہا ہے...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "پروفائل حذف کرنے میں ناکامی", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "صحت کا ریکارڈ حذف کر دیا گیا", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "تُسی اسسٹنٹ نال گپ شپ کرکے کدے وی نواں بنا سکدے او.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "گفتگو میں واپس جائیں", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "ترمیم", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "پروفائل کا ڈیٹا لوڈ کرنے میں ناکامی", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "تبدیلیاں محفوظ کر لی گئیں", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "تُہاڈی معلومات کامیابی نال اپ ڈیٹ کیتی گئی اے.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "پروفائل پر واپس جائیں", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "پروفائل کے ڈیٹا کو اپ ڈیٹ کرنے میں ناکامی", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "تبدیلیاں ختم کریں؟", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "تُسی اپنے پروفائل وچ کچھ تبدیلیاں کیتیاں نیں۔ جاون توں پہلاں انہاں نوں محفوظ کرو یا چھوڑ دو۔", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "ترمیم جاری رکھیں", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "ختم کرو", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "ترمیم کریں", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "ریکارڈ شامل کریں", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "تلاش", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "کوئی نتیجہ نہیں ملا", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ڈاؤن لوڈ", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "شیئر", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "مٹا دیں", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "کوئی دستاویزات نہیں ملیں", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "ਕੀ ਤੁਸੀਂ ਇਸ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "یہ فائل مستقل طور پر ہٹا دی جائے گی", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "کینسل", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "ਹਟਾਓ", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "مزید کارروائیاں", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "تلاش", + "@profilesSearch": {}, + "profilesEmptyList": "کوئی پروفائل نہیں ملا", + "@profilesEmptyList": {}, + "profilesViewMore": "مزید دیکھیں", + "@profilesViewMore": {}, + "profilesMore": "زیادہ", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "ڈاکٹرینا اب آپ کی صحت کو یاد رکھتا ہے", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "تُہاڈی مشاورت ہن توہاڈی صحت ریکارڈ نوں خودکار طور تے بنا رہی تے اپڈیٹ کر رہی اے.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "آپ کا صحت ریکارڈ، آپ کے اصول", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "کسی بھی وقت علامات، ادویات، تاریخ یا دستاویزات دیکھیں، ترمیم کریں یا شامل کریں۔", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "اپنے پورے خاندان کی دیکھ بھال کریں", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "اپنے پیاروں، اپنے بچوں، والدین یا ساتھی کے لیے صحت کا ریکارڈ بنائیں۔", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "اپنا صحت ریکارڈ محفوظ کرنے کے لیے تیار ہیں؟", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "اپنی مشاورت کے بعد، اسے محفوظ کرنے کے لیے \"پروفائل شامل کریں\" پر ٹیپ کریں.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "اگلا", + "@profilesNextButton": {}, + "profilesStartButton": "مشاورت شروع کریں", + "@profilesStartButton": {}, + "profilesLaterButton": "شاید بعد میں", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "بند کرو", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "صحت کا ریکارڈ", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "صحت کا ریکارڈ — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...زیادہ", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...کم", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "نیا پروفائل شامل کریں", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "اس مشاورت کی تفصیلات محفوظ کرنے کے لیے ایک پروفائل بنائیں۔", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "تسیں اس دا جائزہ کسی ویلے اپنے ہیلتھ ریکارڈز وچ لے سکتے ہو", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "جے تہانوں ایس بارے یا ایس نال متعلق ہور سوال ہون، تے تُسیں بے جھجھک میرے نال گل جاری رکھ سکدے او. میں مدد لئی حاضر آں", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "عمومی معلومات", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "نام", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "پہلا نام", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "خاندانی نام", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "جنس", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "براہِ مہربانی منتخب کریں", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "مرد", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "عورت", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "ہور", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "تاریخ پیدائش", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "عمر", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "مثلاً 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "فون نمبر", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ای میل", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "مقام", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "مثلاً شہر، ملک", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "جسم & خوراک", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "قد", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "مثلاً 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "وزن", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "مثلاً 75 کلوگرام", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "ماہواری دا چکر", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "مثلاً باقاعدہ، غیر باقاعدہ", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "غذائی پابندیاں", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "براہ کرم منتخب کریں", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "تُسی ساڈے نوں دسو کہ تُسی کیہ کھاندے او تے کوئی پابندیاں نے", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "کوئی نہیں", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "سبزی خور", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "ویگن", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "گلوٹن سے پاک", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "جسمانی ماس انڈیکس (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "مثلاً 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "صحت دا پروفائل", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "مزمن بیماریاں", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "جیسے کہ ذیابیطس ٹائپ 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "براہ کرم تمام دائمی بیماریوں کی فہرست بنائیں اور یہ بھی شامل کریں کہ یہ کب تشخیص ہوئی تھیں اور کوئی پیچیدگیاں ہیں۔", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "گذشتہ بیماریاں", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "جیسے کہ، بار بار عام زکام", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "مہربانی کرکے ماضی میں آپ کو ہونے والی سنگین بیماریوں کی فہرست بنائیں، چاہے آپ صحت یاب ہو گئے ہوں.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "سابقہ سرجریاں", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "مثلاً اپینڈیکٹومی", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "براہ کرم تمام سرجریوں کی فہرست بنائیں اور سال اور آیا کوئی پیچیدگیاں تھیں شامل کریں.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "کبھی کبھار استعمال ہونے والی ادویات", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "جیسے: آئیبوپروفین", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "براہ کرم ان ادویات کی فہرست بنائیں جو آپ کبھی کبھار لیتے ہیں (مثلاً: درد کش ادویات، الرجی کی ادویات)، بشمول خوراک اور استعمال کا سبب.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "باقاعدہ ادویات", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "جیسے: میٹفارمین", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "براہ کرم ان تمام ادویات کی فہرست بنائیں جو آپ باقاعدگی سے لیتے ہیں، بشمول نام، خوراک، آپ اسے دن میں کتنی بار لیتے ہیں، اور یہ کس حالت کے لیے ہے.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "حساسیتاں", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "جیسے: پینسلین - خارش پیدا کرتا ہے", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "مہربانی کرکے تمام الرجیوں کی فہرست بنائیں (ادویات، کھانا، ماحولیاتی) اور بیان کریں کہ آپ کو کیا ردعمل ہوتا ہے (مثال کے طور پر: خارش، سوجن، سانس لینے میں مشکلات).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "خاص حالتیں", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "مثلاً حمل، معذوری", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "اگر آپ کے پاس کوئی اہم طبی حالات ہیں جن کے بارے میں ڈاکٹروں کو ہمیشہ جاننا چاہیے (جیسے: حمل، لگائے گئے آلات، معذوریاں، اینٹی کوگولیشن تھراپی)، تو براہ کرم ان کی وضاحت کریں۔ اگر نہیں، تو آپ اسے خالی چھوڑ سکتے ہیں۔", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "خاندانی تاریخ", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "مثلاً دل کی بیماری، کینسر", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "اپنے خاندان میں اہم بیماریوں کی وضاحت کریں (مثلاً: ذیابیطس، ہائی بلڈ پریشر، دل کی بیماری، کینسر، جینیاتی بیماریاں) اور یہ بتائیں کہ کون سے خاندان کے رکن کو یہ بیماری تھی.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "سماجی اور طرزِ زندگی کے عوامل", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "مثلاً سگریٹ نوشی، شراب نوشی", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "براہ کرم طرز زندگی کے عوامل کی وضاحت کریں جو آپ کی صحت پر اثر انداز ہو سکتے ہیں، جیسے کہ تمباکو نوشی، الکحل، جسمانی سرگرمی، غذا، نیند، اور پیشہ.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "طبی آلات", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "مثلاً پیس میکر، سماعت کا آلہ، انسولین پمپ", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "کسی بھی طبی آلات کی فہرست بنائیں جو آپ استعمال کرتے ہیں یا آپ کے جسم میں لگے ہوئے ہیں، جیسے کہ پیس میکر، انسولین پمپ، سماعت کے آلات، پروتھیسس، یا دیگر معاون یا نگرانی کے آلات۔ اگر مناسب ہو تو متعلقہ تفصیلات شامل کریں۔", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "ہمہ خور", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "فاسٹ فوڈ", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "ماہی خور", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "لیکٹوز سے پاک", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "کم سوڈیم والی غذا", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "کم شکر والی خوراک", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "دل کے لیے غذا", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "گردوں کی غذا", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "ہور", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_pl.arb b/example/lib/src/l10n/profiles/app_pl.arb new file mode 100644 index 0000000..8f80614 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_pl.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "pl", + "chatDrawerTitle": "Rekordy zdrowia", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NOWY", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Utwórz swój rekord zdrowia", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Na końcu konsultacji dodaj swój profil.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Dodaj więcej profili", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Rozpocznij konsultację dla kogoś innego, aby stworzył swój profil.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Zarejestruj się, aby stworzyć swoją Kartę Zdrowia", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Spróbuj ponownie", + "@errorRetryButton": {}, + "dashboardDeleteError": "Nie udało się usunąć profilu", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Nie udało się załadować podsumowania profilu", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Zobacz pełny rekord", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Udostępnij", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Usuń", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Wiek", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} rok} other{{value} lata}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Waga", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Wzrost", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Alergie", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Przewlekłe", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Leki", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Urządzenia", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Konsultacje", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Dokumenty", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Usunąć rekord zdrowia?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "To trwale usunie twoje dane zdrowotne i nie można tego cofnąć. Stracisz kontekst, który wykorzystujemy do udzielania ci wskazówek.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Anuluj", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Usuń", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Usuwam twój rekord zdrowia...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Nie udało się usunąć profilu", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Rekord zdrowia usunięty", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Możesz stworzyć nowy w każdej chwili, rozmawiając z asystentem.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Powrót do czatu", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Edycja", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Nie udało się załadować danych profilu", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Zmiany zapisane", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Twoje informacje zostały pomyślnie zaktualizowane.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Powrót do profilu", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Nie udało się zaktualizować danych profilu", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Anulować zmiany?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Dokonałeś pewnych zmian w swoim profilu. Zapisz je przed wyjściem lub je odrzuć.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Kontynuuj edytowanie", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Odrzuć", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Edytuj", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Dodaj rekord", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Szukaj", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Nie znaleziono wyników", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Pobierz", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Udostępnij", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Usuń", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Nie znaleziono dokumentów", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Usunąć ten dokument?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Ten plik zostanie trwale usunięty", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Anuluj", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Usuń", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Więcej działań", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Szukaj", + "@profilesSearch": {}, + "profilesEmptyList": "Nie znaleziono profili", + "@profilesEmptyList": {}, + "profilesViewMore": "Zobacz więcej", + "@profilesViewMore": {}, + "profilesMore": "Więcej", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina teraz pamięta o twoim zdrowiu", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Twoje konsultacje teraz automatycznie budują i aktualizują Twoją Kartę Zdrowia.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Twoja karta zdrowia, twoje zasady", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Wyświetlaj, edytuj lub dodawaj objawy, leki, historię lub dokumenty w dowolnym momencie.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Opieka nad całą rodziną", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Utwórz kartę zdrowia dla swoich bliskich, dzieci, rodziców lub partnera.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Gotowy, aby zapisać swoją Kartę Zdrowia?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Po konsultacji dotknij „Dodaj profil”, aby go zapisać", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Dalej", + "@profilesNextButton": {}, + "profilesStartButton": "Rozpocznij konsultację", + "@profilesStartButton": {}, + "profilesLaterButton": "Może później", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Zamknij", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Dokumentacja zdrowotna", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Rekord zdrowia — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...więcej", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...mniej", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Dodaj nowy profil", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Utwórz profil, aby zapisać szczegóły tej konsultacji", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Możesz to sprawdzić w swojej dokumentacji medycznej w dowolnym momencie", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Jeśli masz więcej pytań dotyczących tego lub czegokolwiek z tym związanego, śmiało kontynuuj rozmowę ze mną. Jestem tu, aby pomóc", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Informacje ogólne", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Imię", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Jan Kowalski", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Imię", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Jan", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Nazwisko", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Kowalski", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Płeć", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Wybierz", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Mężczyzna", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Kobieta", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Inna", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Data urodzenia", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Wiek", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "np. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Numer telefonu", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-mail", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Lokalizacja", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "np. Miasto, Kraj", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Ciało & Dieta", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Wzrost", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "np. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Waga", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "np. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Cykl menstruacyjny", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "np. Regularny, Nieregularny", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Ograniczenia Dietetyczne", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Wybierz", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Daj nam znać, co jesz i jakie masz ograniczenia", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Brak", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Wegetariańska", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Wegański", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Bezglutenowy", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Wskaźnik masy ciała (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "np. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Profil zdrowia", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Choroby przewlekłe", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "np. Cukrzyca typu 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Proszę wymienić wszystkie przewlekłe choroby oraz podać, kiedy zostały zdiagnozowane i wszelkie powikłania.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Przebyte choroby", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "np. Częste przeziębienia", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Proszę wymienić poważne choroby, które miałeś w przeszłości, nawet jeśli wyzdrowiałeś.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Historia operacji", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "np. Appendektomia", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Proszę wymienić wszystkie operacje, podając rok oraz informację, czy wystąpiły jakiekolwiek powikłania", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Leki stosowane okazjonalnie", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "np. Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Proszę wymienić leki, które przyjmujesz od czasu do czasu (na przykład: leki przeciwbólowe, leki na alergię), w tym dawkę i powód stosowania.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Stałe leki", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "np. Metformina", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Proszę wymienić wszystkie leki, które przyjmujesz regularnie, w tym nazwę, dawkę, ile razy dziennie je przyjmujesz oraz na jakie schorzenie są przeznaczone.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Alergie", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "np. Penicylina – powoduje wysypkę", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Proszę wymienić wszystkie alergie (leki, jedzenie, czynniki środowiskowe) i opisać, jakie reakcje występują (na przykład: wysypka, obrzęk, problemy z oddychaniem)", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Szczególne schorzenia", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "np. Ciąża, Niepełnosprawność", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Jeśli masz jakiekolwiek ważne schorzenia medyczne, o których lekarze powinni zawsze wiedzieć (na przykład: ciąża, wszczepione urządzenia, niepełnosprawności, terapia przeciwzakrzepowa), opisz je. Jeśli nie, możesz to pole pozostawić puste.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Historia rodzinna", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "np. choroba serca, rak", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Proszę opisać ważne choroby w swojej rodzinie (na przykład: cukrzyca, nadciśnienie, choroby serca, nowotwory, choroby genetyczne) i określić, który członek rodziny miał tę chorobę.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Czynniki społeczne i związane ze stylem życia", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "np. Palenie, Spożywanie alkoholu", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Proszę opisać czynniki stylu życia, które mogą wpływać na zdrowie, takie jak palenie, alkohol, aktywność fizyczna, dieta, sen i zawód", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Urządzenia Medyczne", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "np. Rozrusznik serca, Aparat słuchowy, Pompa insulinowa", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Proszę wymienić wszelkie urządzenia medyczne, które używasz lub masz wszczepione, takie jak rozruszniki serca, pompy insulinowe, aparaty słuchowe, protezy lub inne urządzenia wspomagające lub monitorujące. Dołącz odpowiednie szczegóły, jeśli to możliwe.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Wszystkożerny", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Fast Food", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetarianin", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Bez laktozy", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Dieta niskosodowa", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Dieta niskocukrowa", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Dieta sercowa", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Dieta nerkowa", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Inne", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ps.arb b/example/lib/src/l10n/profiles/app_ps.arb new file mode 100644 index 0000000..92f4b60 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ps.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ps", + "chatDrawerTitle": "د روغتیا ریکارډونه", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "نوې", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "خپل روغتیایی ریکارډ جوړ کړئ", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "د خپلې مشورې په پای کې، خپل پروفایل اضافه کړئ.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "نور پروفایلونه اضافه کړئ", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "د بل چا لپاره مشوره پیل کړئ ترڅو خپل پروفایل جوړ کړي.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "د خپل روغتیایی ریکارډ د جوړولو لپاره ثبت نام وکړئ", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "دوباره هڅه وکړئ", + "@errorRetryButton": {}, + "dashboardDeleteError": "د پروفایل حذف کول ناکام شول", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "د پروفایل لنډیز بار کولو کې ناکامي", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "د بشپړ ریکارډ لیدل", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "شریک کړئ", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "لرې کول", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "عمر", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} کال} other{{value} کاله}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "وزن", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} کیلوگرام", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "لوړوالی", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} سانتي متر", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "الرجی", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "مزمن", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "درمل", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "د آلو", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "مشورې", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "اسناد", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "د روغتیا ریکارډ حذف کړئ؟", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "دا به ستاسو د روغتیا معلومات په تل لپاره له منځه یوسي او نه شي بیرته راوستلی. تاسو به هغه سیاق له لاسه ورکړئ چې موږ یې د لارښوونې لپاره کاروو.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "لغو", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "لرې کول", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "ستاسو د روغتیا ریکارډ حذف کول...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "د پروفایل حذف کولو کې ناکامي", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "د روغتیا ریکارډ حذف شو", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "تاسې هر وخت کولی شئ چې د مرستې سره خبرې کولو له لارې نوې جوړه کړئ.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "بېرته چټ ته لاړ شئ", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "سمون", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "د پروفایل معلومات بارول ناکام شول", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "بدلونونه خوندي شول", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "ستاسو معلومات په بریالیتوب سره تازه شوي دي.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "پروفایل ته ستانه شئ", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "د پروفایل معلومات تازه کول ناکام شول", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "بدلونونه له منځه یوسي؟", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "تاسو په خپل پروفایل کې ځینې بدلونونه کړي دي. مخکې له دې چې لاړ شئ، دوی وساتئ، یا یې له منځه یوسئ.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "ادامه ورکړئ", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "له منځه وړل", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "سمون", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "ریکارډ اضافه کړئ", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "لټون", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "هیڅ نتیجه نه ده موندل شوې", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ډاونلوډ", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "شریک کړئ", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "لرې کول", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "هیڅ اسناد نه دي موندل شوي", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "دا سند حذف کړئ؟", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "دا فایل به تلپاتې توګه لیرې شي", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "لغو", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "لرې کول", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "نور اقدامات", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "لټون", + "@profilesSearch": {}, + "profilesEmptyList": "هېڅ پروفایل ونه موندل شو", + "@profilesEmptyList": {}, + "profilesViewMore": "نور وګورئ", + "@profilesViewMore": {}, + "profilesMore": "نور", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina اوس ستاسو روغتیا یادوي", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "ستاسو مشورې اوس ستاسو د روغتیا ریکارډ په اوتومات ډول جوړوي او تازه کوي.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "ستاسو د روغتیا ریکارډ، ستاسو قواعد", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "د نښو، درملو، تاریخ، یا اسنادو هر وخت لیدل، سمول یا اضافه کول.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "د خپلې ټولې کورنۍ خیال وساتئ", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "د خپلو عزیزانو، خپلو ماشومانو، والدینو یا ملګري لپاره د روغتیا ریکارډ جوړ کړئ.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "آیا تاسو د خپل روغتیایی ریکارډ د خوندي کولو لپاره چمتو یاست؟", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "د مشورې وروسته، \"پروفایل اضافه کړئ\" باندې ټک وکړئ ترڅو دا وساتئ.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "راتلونکی", + "@profilesNextButton": {}, + "profilesStartButton": "مشوره پیل کړئ", + "@profilesStartButton": {}, + "profilesLaterButton": "شاید وروسته", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "بندول", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "د روغتیا ریکارډ", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "د روغتیا ریکارډ — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...نور", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...کمه", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "نوې پروفایل اضافه کړئ", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "یو پروفایل جوړ کړئ ترڅو د دې مشورې تفصیلات وساتئ.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "تاسو کولی شئ دا هر وخت په خپلو روغتیايي ریکارډونو کې ارزونه وکړئ", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "که تاسو د دې یا د دې پورې اړوند هر څه په اړه نورې پوښتنې لرئ، کولی شئ زما سره خبرې ته دوام ورکړئ. زه دلته د مرستې لپاره یم", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "عمومي معلومات", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "نوم", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "لومړی نوم", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "جان", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "تخلص", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "جنس", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "مهرباني وکړئ وټاکئ", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "نارینه", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "ښځه", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "نور", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "د زېږېدو نېټه", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "عمر", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "مثلاً 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "د تلیفون شمېره", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "بریښنالیک", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "ځای", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "مثلاً ښار، هېواد", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "بدن او تغذیه", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "قد", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "لکه 180 سم", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "وزن", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "لکه 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "د حیض دوره", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "مثلاً منظم، غیر منظم", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "د خوړو محدودیتونه", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "مهرباني وکړئ انتخاب کړئ", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "موږ ته ووایاست چې تاسو څه خورئ او کوم محدودیتونه لرئ", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "هیڅ", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "سبزي خوړونکی", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "ویګن", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "د ګلوټین څخه پاک", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "د بدن د کتلې شاخص (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "مثلاً 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "د روغتیا پروفایل", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "مزمنې ناروغۍ", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "لکه: د شکر ناروغي ډول ۲", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "مهرباني وکړئ ټول مزمن ناروغۍ وليکئ او د تشخيص وخت او هر ډول پيچلتياوې شامل کړئ.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "پخوانۍ ناروغۍ", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "لکه: د عام زکام تکرار", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "مهرباني وکړئ جدي ناروغۍ چې تاسو په تېر کې لرئ، حتی که تاسو روغ شوي یاست، لیست کړئ.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "د جراحي سابقه", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "د بېلګې په توګه اپنډېکټومي", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "مهرباني وکړئ ټول جراحي عملیات لیست کړئ او کال او که کومې پیچلتیاوې وې، شامل کړئ.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "کله نا کله کارېدونکي درمل", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "لکه Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "مهرباني وکړئ هغه درمل چې تاسو کله نا کله کاروئ (لکه: درد کمونکي، د الرژي درمل) لیست کړئ، د دوز او د کارونې دلیل سره.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "دوامداره درمل", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "لکه: Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "مهرباني وکړئ ټول درمل چې تاسو په منظم ډول کاروئ، د نوم، دوز، په ورځ کې څو ځله یې کاروئ، او د کوم حالت لپاره دی، لیست کړئ.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "حساسیتونه", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "لکه: پینسلین - خارش رامنځته کوي", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "مهرباني وکړئ ټول حساسیتونه (درمل، خواړه، چاپیریال) لیست کړئ، او تشریح کړئ چې تاسو څه ډول غبرګون لرئ (لکه: د پوستکي خارش، پړسوب، د تنفس ستونزې).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "ځانګړي حالتونه", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "مثلاً حاملګي، معذوري", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "که تاسو کومې مهمې طبي حالتونه لرئ چې ډاکټران باید تل پرې پوه شي (لکه: حمل، د ایمپلانټ شوي وسایل، معذوریتونه، د انټيکوګولیشن درملنه)، مهرباني وکړئ تشریح یې کړئ. که هیڅ نه وي، تاسو کولی شئ دا خالي پریږدئ.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "د کورنۍ تاریخ", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "لکه د زړه ناروغي، سرطان", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "مهرباني وکړئ په خپل کورنۍ کې مهمې ناروغۍ تشریح کړئ (لکه: شکر، لوړ فشار، د زړه ناروغي، سرطان، جینیاتي ناروغۍ) او مشخص کړئ چې کوم کورنی غړی دغه حالت درلود.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "ټولنیز او د ژوند طرز عوامل", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "لکه سګرټ څکول، الکول څښل", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "مهرباني وکړئ د ژوند طرز عوامل بیان کړئ چې ستاسو روغتیا باندې اغیزه کولی شي، لکه سګرټ څکول، الکول، فزیکي فعالیت، رژیم، خوب، او مسلک.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "طبي وسایل", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "مثلاً پیسمیکر، د اورېدو مرسته کوونکې آله، د انسولین پمپ", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "مهرباني وکړئ هر ډول طبي وسایل چې تاسو کاروئ یا درلودل یې، لکه د زړه د پيسو، انسولین پمپونه، د اوریدو وسایل، پروستیتیکونه، یا نور مرستندویه یا څارونکي وسایل، لیست کړئ. که اړوند تفصیلات وي، شامل کړئ.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "هرڅه خوړونکی", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "فاسټ فوډ", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "پیسکاتاریان", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "د لاکتوز څخه پاک", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "د لږ مالګې رژیم", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "د کمې بوري رژیم", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "د زړه رژیم", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "د ګردو رژیم", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "نور", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_pt.arb b/example/lib/src/l10n/profiles/app_pt.arb new file mode 100644 index 0000000..fce0e07 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_pt.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "pt", + "chatDrawerTitle": "Registros de Saúde", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NOVO", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Crie seu Registro de Saúde", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Ao final da sua consulta, adicione seu perfil.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Adicionar mais perfis", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Inicie uma consulta para outra pessoa criar seu perfil.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Cadastre-se para criar seu Registro de Saúde", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Tentar novamente", + "@errorRetryButton": {}, + "dashboardDeleteError": "Falha ao deletar o perfil", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Falha ao carregar o resumo do perfil", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Ver Registro Completo", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Compartilhar", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Excluir", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Idade", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} ano} other{{value} anos}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Peso", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Altura", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Alergias", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Crônico", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Medicação", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Dispositivos", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Consultas", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Documentos", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Excluir o registro de saúde?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Isso removerá permanentemente seus dados de saúde e não poderá ser desfeito. Você perderá o contexto que usamos para orientá-lo.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Cancelar", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Excluir", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Excluindo seu registro de saúde...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Falha ao excluir o perfil", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Registro de saúde excluído", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Você pode criar um novo a qualquer momento conversando com o assistente.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Voltar para o chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Edição", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Falha ao carregar os dados do perfil", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Alterações salvas", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Suas informações foram atualizadas com sucesso.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Voltar ao perfil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Falha ao atualizar os dados do perfil", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Descartar alterações?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Você fez algumas alterações no seu perfil. Salve-as antes de sair ou descarte-as.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Continuar editando", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Descartar", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Editar", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Adicionar registro", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Pesquisar", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Nenhum resultado encontrado", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Baixar", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Compartilhar", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Excluir", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Nenhum documento encontrado", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Excluir este documento?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Este arquivo será removido permanentemente", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Cancelar", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Excluir", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Mais ações", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Pesquisar", + "@profilesSearch": {}, + "profilesEmptyList": "Nenhum perfil encontrado", + "@profilesEmptyList": {}, + "profilesViewMore": "Ver mais", + "@profilesViewMore": {}, + "profilesMore": "Mais", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina agora lembra da sua saúde", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Suas consultas agora constroem e atualizam automaticamente seu Registro de Saúde.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Seu Registro de Saúde, suas regras", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Veja, edite ou adicione sintomas, medicamentos, histórico ou documentos a qualquer momento.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Cuide de toda a sua família", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Crie um Registro de Saúde para seus entes queridos, seus filhos, pais ou parceiro.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Pronto para salvar seu Registro de Saúde?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Após sua consulta, toque em “Adicionar perfil” para salvá-lo.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Próximo", + "@profilesNextButton": {}, + "profilesStartButton": "Iniciar uma consulta", + "@profilesStartButton": {}, + "profilesLaterButton": "Talvez mais tarde", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Fechar", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Registro de saúde", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Registro de saúde — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...mais", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...menos", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Adicionar novo perfil", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Crie um perfil para salvar os detalhes desta consulta", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Você pode consultar isso a qualquer momento em seus Registros de Saúde", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Se você tiver mais perguntas sobre isto ou qualquer assunto relacionado, sinta-se à vontade para continuar conversando comigo. Estou aqui para ajudar", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Informações Gerais", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Nome", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "João da Silva", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Nome", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "João", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Sobrenome", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Silva", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Sexo", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Selecione", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Masculino", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Feminino", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Outro", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Data de Nascimento", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Idade", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "p.ex. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Número de telefone", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-mail", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Localização", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ex. Cidade, País", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Corpo & Dieta", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Altura", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "p.ex. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Peso", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ex. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Ciclo Menstrual", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "ex. Regular, Irregular", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Restrições Alimentares", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Selecione", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Deixe-nos saber o que você come e quaisquer restrições que você tenha", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Nenhuma", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetariano", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegano", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Sem glúten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Índice de Massa Corporal (IMC)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ex. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Perfil de Saúde", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Doenças Crônicas", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ex. Diabetes Tipo 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Por favor, liste todas as doenças crônicas e inclua quando foram diagnosticadas e quaisquer complicações.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Doenças Anteriores", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ex. Resfriado comum frequente", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Por favor, liste as doenças graves que você teve no passado, mesmo que tenha se recuperado.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Histórico Cirúrgico", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "ex. Apendicectomia", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Por favor, liste todas as cirurgias e inclua o ano e se houve complicações.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Medicamentos usados ocasionalmente", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "por exemplo, Ibuprofeno", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Por favor, liste os medicamentos que você toma de vez em quando (por exemplo: analgésicos, medicamentos para alergia), incluindo a dose e a razão para o uso.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Medicamentos de Uso Regular", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "por exemplo, Metformina", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Por favor, liste todos os medicamentos que você toma regularmente, incluindo o nome, a dose, quantas vezes por dia você toma e para qual condição.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Alergias", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ex. Penicilina – causa erupção", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Por favor, liste todas as alergias (medicamentos, alimentos, ambientais) e descreva qual reação você tem (por exemplo: erupção cutânea, inchaço, problemas respiratórios).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Condições Especiais", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "p.ex. Gravidez, Deficiência", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Se você tiver condições médicas importantes que os médicos devem sempre saber (por exemplo: gravidez, dispositivos implantados, deficiências, terapia anticoagulante), descreva-as. Se não houver, você pode deixar em branco.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Histórico familiar", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ex.: doença cardíaca, câncer", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Por favor, descreva doenças importantes em sua família (por exemplo: diabetes, hipertensão, doenças cardíacas, câncer, doenças genéticas) e especifique qual membro da família teve a condição.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Fatores Sociais e de Estilo de Vida", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "ex.: Tabagismo, consumo de álcool", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Por favor, descreva os fatores de estilo de vida que podem afetar sua saúde, como fumar, álcool, atividade física, dieta, sono e ocupação.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Dispositivos Médicos", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "p.ex. Marca-passo, Aparelho auditivo, Bomba de insulina", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Por favor, liste quaisquer dispositivos médicos que você usa ou tem implantados, como marcapassos, bombas de insulina, aparelhos auditivos, próteses ou outros dispositivos de assistência ou monitoramento. Inclua detalhes relevantes, se aplicável.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Onívoro", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Comida Rápida", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetariano", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Sem lactose", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Dieta com baixo teor de sódio", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Dieta com pouco açúcar", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Dieta cardíaca", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Dieta renal", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Outro", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_pt_BR.arb b/example/lib/src/l10n/profiles/app_pt_BR.arb new file mode 100644 index 0000000..9b915d6 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_pt_BR.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "pt_BR", + "chatDrawerTitle": "Registros de Saúde", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NOVO", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Crie seu Registro de Saúde", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Ao final da sua consulta, adicione seu perfil.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Adicionar mais perfis", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Inicie uma consulta para outra pessoa criar seu perfil.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Cadastre-se para criar seu Registro de Saúde", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Tentar novamente", + "@errorRetryButton": {}, + "dashboardDeleteError": "Falha ao deletar o perfil", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Falha ao carregar o resumo do perfil", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Ver Registro Completo", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Compartilhar", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Excluir", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Idade", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} ano} other{{value} anos}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Peso", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Altura", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Alergias", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Crônico", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Medicação", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Dispositivos", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Consultas", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Documentos", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Excluir o registro de saúde?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Isso removerá permanentemente seus dados de saúde e não poderá ser desfeito. Você perderá o contexto que usamos para orientá-lo.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Cancelar", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Excluir", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Excluindo seu registro de saúde...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Falha ao excluir o perfil", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Registro de saúde excluído", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Você pode criar um novo a qualquer momento conversando com o assistente.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Voltar para o chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Edição", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Falha ao carregar os dados do perfil", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Alterações salvas", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Suas informações foram atualizadas com sucesso.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Voltar ao perfil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Falha ao atualizar os dados do perfil", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Descartar alterações?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Você fez algumas alterações no seu perfil. Salve-as antes de sair ou descarte-as.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Continuar editando", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Descartar", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Editar", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Adicionar registro", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Pesquisar", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Nenhum resultado encontrado", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Baixar", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Compartilhar", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Excluir", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Nenhum documento encontrado", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Excluir este documento?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Este arquivo será removido permanentemente", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Cancelar", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Excluir", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Mais ações", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Pesquisar", + "@profilesSearch": {}, + "profilesEmptyList": "Nenhum perfil encontrado", + "@profilesEmptyList": {}, + "profilesViewMore": "Ver mais", + "@profilesViewMore": {}, + "profilesMore": "Mais", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina agora lembra da sua saúde", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Suas consultas agora constroem e atualizam automaticamente seu Registro de Saúde.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Seu Registro de Saúde, suas regras", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Veja, edite ou adicione sintomas, medicamentos, histórico ou documentos a qualquer momento.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Cuide de toda a sua família", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Crie um Registro de Saúde para seus entes queridos, seus filhos, pais ou parceiro.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Pronto para salvar seu Registro de Saúde?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Após sua consulta, toque em “Adicionar perfil” para salvá-lo.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Próximo", + "@profilesNextButton": {}, + "profilesStartButton": "Iniciar uma consulta", + "@profilesStartButton": {}, + "profilesLaterButton": "Talvez mais tarde", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Fechar", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Registro de saúde", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Registro de saúde — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...mais", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...menos", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Adicionar novo perfil", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Crie um perfil para salvar os detalhes desta consulta", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Você pode consultar isso a qualquer momento em seus Registros de Saúde", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Se você tiver mais perguntas sobre isto ou qualquer assunto relacionado, sinta-se à vontade para continuar conversando comigo. Estou aqui para ajudar", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Informações Gerais", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Nome", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "João da Silva", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Nome", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "João", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Sobrenome", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Silva", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Sexo", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Selecione", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Masculino", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Feminino", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Outro", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Data de Nascimento", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Idade", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "p.ex. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Número de telefone", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-mail", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Localização", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ex. Cidade, País", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Corpo & Dieta", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Altura", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "p.ex. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Peso", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ex. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Ciclo Menstrual", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "ex. Regular, Irregular", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Restrições Alimentares", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Selecione", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Deixe-nos saber o que você come e quaisquer restrições que você tenha", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Nenhuma", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetariano", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegano", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Sem glúten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Índice de Massa Corporal (IMC)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ex. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Perfil de Saúde", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Doenças Crônicas", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ex. Diabetes Tipo 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Por favor, liste todas as doenças crônicas e inclua quando foram diagnosticadas e quaisquer complicações.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Doenças Anteriores", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ex. Resfriado comum frequente", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Por favor, liste as doenças graves que você teve no passado, mesmo que tenha se recuperado.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Histórico Cirúrgico", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "ex. Apendicectomia", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Por favor, liste todas as cirurgias e inclua o ano e se houve complicações.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Medicamentos usados ocasionalmente", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "por exemplo, Ibuprofeno", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Por favor, liste os medicamentos que você toma de vez em quando (por exemplo: analgésicos, medicamentos para alergia), incluindo a dose e a razão para o uso.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Medicamentos de Uso Regular", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "por exemplo, Metformina", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Por favor, liste todos os medicamentos que você toma regularmente, incluindo o nome, a dose, quantas vezes por dia você toma e para qual condição.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Alergias", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ex. Penicilina – causa erupção", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Por favor, liste todas as alergias (medicamentos, alimentos, ambientais) e descreva qual reação você tem (por exemplo: erupção cutânea, inchaço, problemas respiratórios).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Condições Especiais", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "p.ex. Gravidez, Deficiência", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Se você tiver condições médicas importantes que os médicos devem sempre saber (por exemplo: gravidez, dispositivos implantados, deficiências, terapia anticoagulante), descreva-as. Se não houver, você pode deixar em branco.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Histórico familiar", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ex.: doença cardíaca, câncer", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Por favor, descreva doenças importantes em sua família (por exemplo: diabetes, hipertensão, doenças cardíacas, câncer, doenças genéticas) e especifique qual membro da família teve a condição.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Fatores Sociais e de Estilo de Vida", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "ex.: Tabagismo, consumo de álcool", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Por favor, descreva os fatores de estilo de vida que podem afetar sua saúde, como fumar, álcool, atividade física, dieta, sono e ocupação.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Dispositivos Médicos", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "p.ex. Marca-passo, Aparelho auditivo, Bomba de insulina", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Por favor, liste quaisquer dispositivos médicos que você usa ou tem implantados, como marcapassos, bombas de insulina, aparelhos auditivos, próteses ou outros dispositivos de assistência ou monitoramento. Inclua detalhes relevantes, se aplicável.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Onívoro", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Comida Rápida", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetariano", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Sem lactose", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Dieta com baixo teor de sódio", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Dieta com pouco açúcar", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Dieta cardíaca", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Dieta renal", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Outro", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ro.arb b/example/lib/src/l10n/profiles/app_ro.arb new file mode 100644 index 0000000..3bfa365 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ro.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ro", + "chatDrawerTitle": "Dosare medicale", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NOU", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Creează-ți Dosarul Medical", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "La sfârșitul consultației, adăugați profilul dvs.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Adaugă mai multe profile", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Începe o consultație pentru altcineva pentru a crea profilul lor.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Înscrie-te pentru a-ți crea Dosarul Medical", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Reîncercați", + "@errorRetryButton": {}, + "dashboardDeleteError": "Ștergerea profilului a eșuat", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Eșec la încărcarea rezumatului profilului", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Vezi înregistrarea completă", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Împărtășește", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Șterge", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Vârstă", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} an} other{{value} ani}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Greutate", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Înălțime", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Alergii", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Cronice", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Medicamente", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Dispozitive", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Consultări", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Documente", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Ștergeți dosarul medical?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Aceasta va elimina permanent datele dumneavoastră de sănătate și nu poate fi anulată. Veți pierde contextul pe care îl folosim pentru a vă ghida.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Anulează", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Șterge", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Ștergerea dosarului tău medical...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Nu s-a putut șterge profilul", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Fișa medicală a fost ștearsă", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Puteți crea unul nou oricând discutând cu asistentul.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Întoarce-te la chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Editare", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Nu s-a putut încărca datele profilului", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Modificările au fost salvate", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Informațiile dumneavoastră au fost actualizate cu succes.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Întoarceți-vă la profil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Actualizarea datelor profilului a eșuat", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Renunțați la modificări?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Ați făcut câteva modificări la profilul dumneavoastră. Salvați-le înainte de a pleca sau renunțați la ele.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Continuă editarea", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Aruncă", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Editează", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Adaugă înregistrare", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Caută", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Nu s-au găsit rezultate", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Descarcă", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Împărtășește", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Șterge", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Nu au fost găsite documente", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Șterge acest document?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Acest fișier va fi eliminat permanent", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Anulează", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Șterge", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Mai multe acțiuni", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Caută", + "@profilesSearch": {}, + "profilesEmptyList": "Nu au fost găsite profiluri", + "@profilesEmptyList": {}, + "profilesViewMore": "Vezi mai mult", + "@profilesViewMore": {}, + "profilesMore": "Mai multe", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina îți amintește acum de sănătatea ta", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Consultațiile dumneavoastră acum construiesc și actualizează automat Dosarul de Sănătate.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Dosarul tău de sănătate, regulile tale", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Vizualizați, editați sau adăugați simptome, medicamente, istoric sau documente oricând.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Îngrijire pentru întreaga familie", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Creează un Dosar Medical pentru cei dragi, copiii tăi, părinți sau partener.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Ești gata să îți salvezi Dosarul Medical?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "După consultație, apasă „Adaugă profil” pentru a-l salva.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Următorul", + "@profilesNextButton": {}, + "profilesStartButton": "Începe o consultație", + "@profilesStartButton": {}, + "profilesLaterButton": "Poate mai târziu", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Închide", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Fișa medicală", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Fișa medicală — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...mai mult", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...mai puțin", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Adaugă profil nou", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Creează un profil pentru a salva detaliile acestei consultații.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Îl puteți evalua oricând în Health Records", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Dacă ai mai multe întrebări despre asta sau despre orice legat de acest subiect, simte-te liber să continui să vorbești cu mine. Sunt aici să te ajut", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Informații generale", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Nume", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Ion Popescu", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Prenume", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Nume de familie", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Popescu", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Sex", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Vă rugăm să selectați", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Masculin", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Femeie", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Altul", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Data nașterii", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Vârstă", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "ex. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Număr de telefon", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-mail", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Locație", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ex. Oraș, Țară", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Corp & Dietă", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Înălțime", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "ex. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Greutate", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ex. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Ciclu Menstrual", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "de ex. Regulat, Neregulat", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Restricții alimentare", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Vă rugăm să selectați", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Spune-ne ce mănânci și orice restricții ai", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Niciuna", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetarian", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Fără gluten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Indicele de masă corporală (IMC)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "de ex. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Profil de sănătate", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Afecțiuni cronice", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "de exemplu, diabet zaharat de tip 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Vă rugăm să listați toate bolile cronice și să includeți când au fost diagnosticate și orice complicații.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Afecțiuni anterioare", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "de exemplu, Răceală comună frecventă", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Vă rugăm să listați bolile grave pe care le-ați avut în trecut, chiar dacă v-ați recuperat.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Antecedente chirurgicale", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "ex. Apendicectomie", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Vă rugăm să listați toate intervențiile chirurgicale și să includeți anul și dacă au existat complicații.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Medicamente Utilizate Ocazional", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "de exemplu: Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Vă rugăm să listați medicamentele pe care le luați din când în când (de exemplu: analgezice, medicamente pentru alergii), inclusiv doza și motivul utilizării.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Medicație regulată", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "de exemplu: Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Vă rugăm să listați toate medicamentele pe care le luați regulat, inclusiv numele, doza, de câte ori pe zi le luați și pentru ce afecțiune sunt.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Alergii", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "de exemplu: Penicilină – cauzează erupție", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Vă rugăm să listați toate alergiile (medicamente, alimente, mediu) și să descrieți ce reacție aveți (de exemplu: erupție cutanată, umflare, probleme respiratorii).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Condiții Speciale", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "de ex. Sarcină, Dizabilitate", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Dacă aveți condiții medicale importante de care medicii ar trebui să știe întotdeauna (de exemplu: sarcină, dispozitive implantate, dizabilități, terapie anticoagulantă), vă rugăm să le descrieți. Dacă nu, puteți lăsa acest câmp gol.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Antecedente familiale", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ex. boli cardiace, cancer", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Vă rugăm să descrieți bolile importante din familia dumneavoastră (de exemplu: diabet, hipertensiune, boli de inimă, cancer, boli genetice) și să specificați ce membru al familiei a avut această afecțiune.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Factori sociali și de stil de viață", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "de ex. Fumat, Consum de alcool", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Vă rugăm să descrieți factorii de stil de viață care pot afecta sănătatea dumneavoastră, cum ar fi fumatul, alcoolul, activitatea fizică, dieta, somnul și ocupația.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Dispozitive medicale", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "de ex. pacemaker, aparat auditiv, pompă de insulină", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Vă rugăm să listați orice dispozitive medicale pe care le utilizați sau le aveți implantate, cum ar fi stimulatoare cardiace, pompe de insulină, aparate auditive, proteze sau alte dispozitive de asistență sau monitorizare. Includeți detalii relevante, dacă este cazul.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Omnivor", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Fast Food", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetar", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Fără lactoză", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Dietă cu conținut scăzut de sodiu", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Dietă săracă în zahăr", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Dietă cardiacă", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Dietă renală", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Altul", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ru.arb b/example/lib/src/l10n/profiles/app_ru.arb new file mode 100644 index 0000000..98ae9ea --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ru.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ru", + "chatDrawerTitle": "Медицинские записи", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "НОВЫЙ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Создайте свою медицинскую карту", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "В конце вашей консультации добавьте свой профиль", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Добавить больше профилей", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Начните консультацию для кого-то другого, чтобы создать их профиль", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Зарегистрируйтесь, чтобы создать свою медицинскую карту", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Повторить", + "@errorRetryButton": {}, + "dashboardDeleteError": "Не удалось удалить профиль", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Не удалось загрузить сводку профиля", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Просмотреть полную запись", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Поделиться", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Удалить", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Возраст", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} год} other{{value} года}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Вес", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} кг", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Рост", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} см", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Аллергии", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Хронический", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Медикаменты", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Устройства", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Консультации", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Документы", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Удалить медицинскую запись?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Это навсегда удалит ваши данные о здоровье и не может быть отменено. Вы потеряете контекст, который мы используем для вашего руководства.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Отмена", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Удалить", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Удаление вашей медицинской записи...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Не удалось удалить профиль", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Запись о здоровье удалена", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Вы можете создать новый в любое время, общаясь с помощником.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Вернуться в чат", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Редактирование", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Не удалось загрузить данные профиля", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Изменения сохранены", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Ваша информация была успешно обновлена.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Вернуться к профилю", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Не удалось обновить данные профиля", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Отменить изменения?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Вы внесли изменения в свой профиль. Сохраните их перед тем, как уйти, или отмените.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Продолжить редактирование", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Отменить", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Редактировать", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Добавить запись", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Поиск", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Результатов не найдено", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Скачать", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Поделиться", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Удалить", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Документы не найдены", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Удалить этот документ?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Этот файл будет удален навсегда", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Отмена", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Удалить", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Другие действия", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Поиск", + "@profilesSearch": {}, + "profilesEmptyList": "Профили не найдены", + "@profilesEmptyList": {}, + "profilesViewMore": "Показать ещё", + "@profilesViewMore": {}, + "profilesMore": " Ещё", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Докторина теперь помнит о вашем здоровье", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Ваши консультации теперь автоматически формируют и обновляют вашу медицинскую карту.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Ваша медицинская карта, ваши правила", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Просматривайте, редактируйте или добавляйте симптомы, лекарства, историю или документы в любое время", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Заботьтесь о всей вашей семье", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Создайте медицинскую карту для своих близких, детей, родителей или партнера.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Готовы сохранить вашу медицинскую карту?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "После консультации нажмите «Добавить профиль», чтобы сохранить его.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Далее", + "@profilesNextButton": {}, + "profilesStartButton": "Начать консультацию", + "@profilesStartButton": {}, + "profilesLaterButton": "Может быть позже", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Закрыть", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Медицинская карта", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Медицинская карта — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...больше", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...меньше", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Добавить профиль", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Создайте профиль, чтобы сохранить данные этой консультации.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Вы можете в любое время оценить это в своих медицинских записях", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Если у вас есть ещё вопросы по этому или по смежным темам, не стесняйтесь продолжать общение со мной. Я здесь, чтобы помочь", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Общая информация", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Имя", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Иван Иванов", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Имя", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Иван", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Фамилия", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Иванов", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Пол", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Выберите", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Мужской", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Женский", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Другое", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Дата рождения", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "ГГГГ-ММ-ДД", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Возраст", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "например, 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Номер телефона", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Электронная почта", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Местоположение", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "напр. Город, Страна", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Тело и питание", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Рост", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "например, 180 см", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Вес", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "напр. 75 кг", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Менструальный цикл", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "например регулярный", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Ограничения в питании", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Пожалуйста, выберите", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Сообщите нам, что вы едите и какие у вас есть ограничения", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Нет", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Вегетарианец", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Веган", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Без глютена", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Индекс массы тела (ИМТ)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "напр. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Профиль здоровья", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Хронические заболевания", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "например диабет 2 типа", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Пожалуйста, укажите все хронические заболевания, а также дату их диагностики и любые осложнения", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Перенесённые заболевания", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "например частые простуды", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Пожалуйста, укажите серьезные заболевания, которые у вас были в прошлом, даже если вы выздоровели", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Хирургический анамнез", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "например аппендэктомия", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Пожалуйста, перечислите все операции и укажите год, а также были ли какие-либо осложнения", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Редко используемые лекарства", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "например Ибупрофен", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Пожалуйста, укажите лекарства, которые вы принимаете время от времени (например: обезболивающие, аллергические препараты), включая дозу и причину использования", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Регулярные препараты", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "например Метформин", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Пожалуйста, укажите все лекарства, которые вы принимаете регулярно, включая название, дозу, сколько раз в день вы их принимаете и для какого состояния они предназначены.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Аллергии", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "например Пенициллин", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Пожалуйста, укажите все аллергии (лекарства, продукты, окружающая среда) и опишите, какая реакция у вас возникает (например: сыпь, отек, проблемы с дыханием).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Особые состояния здоровья", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "например беременность", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Если у вас есть какие-либо важные медицинские состояния, о которых врачи всегда должны знать (например: беременность, имплантированные устройства, инвалидность, терапия антикоагулянтами), пожалуйста, опишите их. Если нет, вы можете оставить это поле пустым.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Семейный анамнез", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "например болезнь сердца", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Пожалуйста, опишите важные заболевания в вашей семье (например: диабет, гипертония, сердечно-сосудистые заболевания, рак, генетические заболевания) и укажите, у какого члена семьи была эта болезнь.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Социальные и связанные с образом жизни факторы", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "например курение", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Пожалуйста, опишите факторы образа жизни, которые могут повлиять на ваше здоровье, такие как курение, алкоголь, физическая активность, диета, сон и профессия.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Медицинские устройства", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "например кардиостимулятор", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Пожалуйста, укажите любые медицинские устройства, которые вы используете или которые у вас имплантированы, такие как кардиостимуляторы, инсулиновые помпы, слуховые аппараты, протезы или другие вспомогательные или мониторинговые устройства. Укажите соответствующие детали, если это применимо.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Всеядный", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Фастфуд", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Пескетарианец", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Без лактозы", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Низкосолевая диета", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Низкосахарная диета", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Кардиологическая диета", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Почечная диета", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Другое", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_si.arb b/example/lib/src/l10n/profiles/app_si.arb new file mode 100644 index 0000000..9b452f9 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_si.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "si", + "chatDrawerTitle": "සෞඛ්‍ය වාර්තා", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "නව", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "ඔබේ සෞඛ්‍ය වාර්තාව සාදන්න", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "ඔබේ උපදේශනය අවසන් වූ විට, ඔබේ පැතිකඩ එකතු කරන්න.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "තවත් පැතිකඩ එකතු කරන්න", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "අනෙක් අයෙකුට ඔවුන්ගේ පැතිකඩක් සාදන්න උපදේශනයක් ආරම්භ කරන්න.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "ඔබේ සෞඛ්‍ය වාර්තාව නිර්මාණය කිරීමට ලියාපදිංචි වන්න", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "නැවත උත්සාහ කරන්න", + "@errorRetryButton": {}, + "dashboardDeleteError": "පැතිකඩ මකන්න අසාර්ථකයි", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "පැතිකඩ සාරාංශය ලැබීමට අසමත් විය", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "සම්පූර්ණ වාර්තාව බලන්න", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "බෙදා ගන්න", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "මකන්න", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "වයස", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} වසර} other{{value} වසරන්}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "බර", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "ඉස", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "ඇලර්ජි", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "ක්‍රොනික්", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "මැදිරිය", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "උපාංග", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "සම්මුඛ සාකච්ඡා", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "เอกสาร", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "සෞඛ්‍ය වාර්තාව මකන්නද?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "මෙය ඔබගේ සෞඛ්‍ය දත්ත ස්ථිරවම ඉවත් කරනු ඇත සහ නැවත කිරීමට නොහැක. ඔබට අපි ඔබට මාර්ගෝපදේශය ලබා දීමට භාවිතා කරන පසුබැසීම අහිමි වේ.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "අවලංගු කරන්න", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "මකන්න", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "ඔබගේ සෞඛ්‍ය වාර්තාව මකමින්...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "පැතිකඩ මකන්න බැරි විය", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "සෞඛ්‍ය වාර්තාව මකන ලදී", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "ඔබට සහකාරයා සමඟ කතා කිරීමෙන් ඕනෑම වේලාවක නවයක් සාදන්න පුළුවන්.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "චැට්ටට ආපසු යන්න", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "සංස්කරණය", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "පැතිකඩ දත්ත ආරම්භ කිරීමට නොහැකි විය", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "වෙනස්කම් සුරකින්නා ලදී", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "ඔබගේ තොරතුරු සාර්ථකව යාවත්කාලීන කර ඇත.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "පැතිකඩට ආපසු යන්න", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "පැතිකඩ දත්ත යාවත්කාලීන කිරීමට අසමත් විය", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "වෙනස්කම් අහෝසි කරන්නද?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "ඔබේ පැතිකඩට කිහිපයක් වෙනස්කම් කළා. ඔබ යන්නට පෙර ඒවා සුරකින්න, නැතහොත් අහෝසි කරන්න.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "සංස්කරණය කරමින් තබන්න", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "අහෝසි කරන්න", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "සංස්කරණය", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "සටහන එකතු කරන්න", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "සොයන්න", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "ප්‍රතිඵල කිසිවක් නොමැත", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "බාගත කරන්න", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "බෙදා ගන්න", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "මකන්න", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "ලේඛන කිසිවක් හමු වුනේ නැහැ", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "මෙම ලේඛනය මකන්නද?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "මෙම ගොනුව ස්ථිරවම ඉවත් කෙරේ", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "අවලංගු කරන්න", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "මකන්න", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "තවත් ක්‍රියා", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "සොයන්න", + "@profilesSearch": {}, + "profilesEmptyList": "පැතිකඩ කිසිවක් හමු නොවීය", + "@profilesEmptyList": {}, + "profilesViewMore": "තවත් බලන්න", + "@profilesViewMore": {}, + "profilesMore": "තවත්", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "ඩොක්ටර්නා ඔබේ සෞඛ්‍යය මතක තබා ගනී", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "ඔබගේ උපදේශන දැන් ඔබේ සෞඛ්‍ය වාර්තාව ස්වයංක්‍රීයව නිර්මාණය සහ යාවත්කාලීන කරයි.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "ඔබගේ සෞඛ්‍ය වාර්තාව, ඔබගේ නීති", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "සම්පූර්ණ ලක්ෂණ, ඖෂධ, ඉතිහාසය හෝ ලේඛන ඕනෑම වේලාවක බලන්න, සංස්කරණය කරන්න හෝ එක් කරන්න.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "ඔබේ පවුලේ සම්පූර්ණය සඳහා සත්කාරය", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "ඔබේ ආදරණීයයන්, ඔබේ දරුවන්, දෙමාපියන් හෝ සහකරු සඳහා සෞඛ්‍ය වාර්තාවක් සාදන්න.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "ඔබේ සෞඛ්‍ය වාර්තාව සුරක්ෂිත කර ගැනීමට සූදානම්ද?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "ඔබේ උපදේශනයෙන් පසු, එය සුරකින්න \"ප්‍රොෆයිල් එකක් එක් කරන්න\" යන්න ඔබන්න.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "ඊළඟ", + "@profilesNextButton": {}, + "profilesStartButton": "සංවාදයක් ආරම්භ කරන්න", + "@profilesStartButton": {}, + "profilesLaterButton": "පසුව විය හැක", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "අවසන් කරන්න", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "සෞඛ්‍ය වාර්තාව", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "සෞඛ්‍ය වාර්තාව — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...වැඩිදුර", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...අඩු", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "නව පැතිකඩක් එක් කරන්න", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "මෙම උපදේශනයේ විස්තර සුරකින්න පරීක්ෂණයක් සාදන්න.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "ඔබට ඕනෑම වේලාවක ඔබගේ සෞඛ්‍ය වාර්තා තුළ එය ඇගයිය හැක", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "මෙම ගැන හෝ ඒ සම්බන්ධ ඕනෑම දෙයක් පිළිබඳ ඔබට තවත් ප්‍රශ්න තිබේ නම්, නිදහසේ මට සමඟ කතා කරගෙන යන්න. මම උදව් කිරීමට මෙහි සිටිමි", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "සාමාන්‍ය තොරතුරු", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "නම", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "ජෝන් ඩෝ", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "මුල් නම", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "ජෝන්", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "අවසන් නම", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "ලිංගය", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "කරුණාකර තෝරන්න", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "පුරුෂ", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "කාන්තා", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "වෙනත්", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "උපන් දිනය", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "වයස", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "උදාහරණයක්: 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "දුරකථන අංකය", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ඊමේල්", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "ස්ථානය", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "උදා: නගරය, රට", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "ශරීරය & ආහාරය", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "උස", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "උදා: 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "බර", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "උදාහරණයක්: 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "මාසික චක්‍රය", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "උදා: සාමාන්‍ය, අසාමාන්‍ය", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "ආහාර සීමා", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "කරුණාකර තෝරන්න", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "ඔබ කුමක් කාමැතිද සහ ඔබට ඇති සීමා පිළිබඳ අපට දන්වන්න", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "කිසිවක් නැත", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "ශාකහාරී", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "වීගන්", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "ග්ලූටන් රහිත", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "ශරීර බර දර්ශකය (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "උදාහරණය: 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "සෞඛ්‍ය පැතිකඩ", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "දිගුකාලීන රෝග", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "උදාහරණයක් ලෙස, දියවැඩියාව වර්ගය 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "කරුණාකර සියලුම දීර්ඝකාලීන රෝග ලැයිස්තුගත කරන්න සහ එම රෝග ආසාදනය වූ කාලය සහ ඕනෑම අපහසුතා ඇතුළත් කරන්න.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "පෙර රෝග", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "උදාහරණයක් ලෙස. නිතරම සාමාන්‍ය සීතල", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "කරුණාකර ඔබට තිබූ දැඩි රෝග ලැයිස්තුගත කරන්න, ඔබ සුවය ලබා ගත්වත්.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "ශල්‍ය ඉතිහාසය", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "උදාහරණයක් ලෙස ඇපෙන්ඩික්ස් ඉවත් කිරීම", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "කරුණාකර සියලුම ශල්‍යකර්ම ලැයිස්තුගත කරන්න සහ වසර සහ කිසිදු අපහසුතා තිබේද යන්න ඇතුළත් කරන්න.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "කලකට කලකට භාවිතා කරන ඖෂධ", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "ඉබුප්‍රොෆෙන්", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "කරුණාකර ඔබ භාවිතා කරන ඖෂධ ලැයිස්තුගත කරන්න, සමහර විට (උදාහරණයක් ලෙස: වේදනා නිවාරණ, ආලර්ජි ඖෂධ), ඖෂධයේ මාත්‍රාව සහ භාවිතය සඳහා හේතුව ඇතුළුව.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "නිතර ගන්නා ඖෂධ", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "උදාහරණයක් ලෙස: මැට්ෆෝර්මින්", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "කරුණාකර ඔබ නිතර ගන්නා ඖෂධ සියල්ල ලිස්තුගත කරන්න, නම, ඖෂධ ප්‍රමාණය, දිනයට කී වතාවක් ගන්නා බව සහ එය කුමන රෝගයක් සඳහාද යන්න ඇතුළත් කරන්න.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "ඇලර්ජි", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "උදාහරණයක්: පෙනිසිලින් - රැස්සක් ඇති කරයි", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "කරුණාකර සියලුම ආසාදන (මැදිකම්, ආහාර, පාරිසරික) ලිස්තුගත කරන්න, සහ ඔබට ඇති ප්‍රතික්‍රියාව විස්තර කරන්න (උදාහරණයක් ලෙස: රැස්, පූර්ණත්වය, ශාසන ගැටළු).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "විශේෂ තත්ත්වයන්", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "උදාහරණ: ගැබවීම, විකලතාව", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "ඔබට වෛද්‍යවරුන්ට සෑම විටම දැනුවත් විය යුතු වැදගත් වෛද්‍ය තත්ව කිහිපයක් තිබේ නම් (උදාහරණයක් ලෙස: ගැබිණි බව, ආසන්න උපාංග, අසමත්තා, ඇන්ටිකෝගුලේෂන් ප්‍රතිකාර), කරුණාකර ඒවා විස්තර කරන්න. කිසිවක් නැතිනම්, ඔබට මෙය හිස් තබා ගත හැක.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "පවුල් ඉතිහාසය", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "උදාහරණයක් ලෙස හෘද රෝග, කැන්සර්", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "කරුණාකර ඔබේ පවුලේ වැදගත් රෝග විස්තර කරන්න (උදාහරණයක් ලෙස: සීනි රෝගය, රුධිර පීඩනය, හෘද රෝගය, කාන්සර්, ජානික රෝග) සහ කුමන පවුලේ සාමාජිකයෙකුට මෙම රෝගය තිබුණේද යන්න සඳහන් කරන්න.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "සමාජ හා ජීවන ශෛලී සාධක", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "උදාහරණ ලෙස දුම්පානය, මත්පැන් පරිභෝජනය", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "ඔබගේ සෞඛ්‍යය බලපාන ජීවන රටාවන්, දුම්පානය, මත්පැන්, ශාරීරික ක්‍රියාකාරකම්, ආහාර, නිදා ගැනීම සහ වෘත්තිය වැනි කරුණු විස්තර කරන්න.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "වෛද්‍ය උපකරණ", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "උදාහරණයක් ලෙස Pacemaker, Hearing aid, Insulin pump", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "ඔබ භාවිතා කරන හෝ ආසන්නව ඇති වෛද්‍ය උපකරණ, පේස්මේකර්, ඉන්සුලින් පම්ප්, ඇස සවන් උපකරණ, ප්‍රොස්තිතික් හෝ අනෙකුත් සහයෝගී හෝ නිරීක්ෂණ උපකරණ වැනි දේ ලිස්තුගත කරන්න. අදාළ විස්තර ඇතුළත් කරන්න.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "සියලු ආහාර භක්ෂක", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ෆාස්ට් ෆුඩ්", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "පෙස්කටේරියන්", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "ලැක්ටෝස් රහිත", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "අඩු සෝඩියම් ආහාර", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "අඩු සීනි ආහාර", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "හෘද ආහාර", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "වෘක්ක ආහාර", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "වෙනත්", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_sk.arb b/example/lib/src/l10n/profiles/app_sk.arb new file mode 100644 index 0000000..c24f2ae --- /dev/null +++ b/example/lib/src/l10n/profiles/app_sk.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "sk", + "chatDrawerTitle": "Zdravotné záznamy", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "NOVÉ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Vytvorte si zdravotný záznam", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Na konci konzultácie pridajte svoj profil.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Pridať viac profilov", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Začnite konzultáciu pre niekoho iného, aby si vytvoril svoj profil.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Zaregistrujte sa a vytvorte si svoj Zdravotný záznam", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Skúsiť znova", + "@errorRetryButton": {}, + "dashboardDeleteError": "Nepodarilo sa zmazať profil", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Nepodarilo sa načítať súhrn profilu", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Zobraziť celý záznam", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Zdieľať", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Zmazať", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Vek", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} rok} other{{value} rokov}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Hmotnosť", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Výška", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Alergie", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Chronické", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Lieky", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Zariadenia", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Konzultácie", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Dokumenty", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Zmazať zdravotný záznam?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Toto trvalo odstráni vaše zdravotné údaje a nemožno to vrátiť späť. Stratíte kontext, ktorý používame na to, aby sme vás usmerňovali.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Zrušiť", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Zmazať", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Odstraňujem váš zdravotný záznam...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Nepodarilo sa odstrániť profil", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Zdravotný záznam bol odstránený", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Nový môžete vytvoriť kedykoľvek tak, že sa porozprávate s asistentom.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Návrat do chatu", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Úprava", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Nepodarilo sa načítať profilové údaje", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Zmeny uložené", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Vaše informácie boli úspešne aktualizované.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Návrat na profil", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Nepodarilo sa aktualizovať údaje profilu", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Zahodiť zmeny?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Urobili ste niektoré zmeny vo svojom profile. Uložte ich pred odchodom alebo ich zahoďte.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Pokračovať v úprave", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Zahodiť", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Upraviť", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Pridať záznam", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Hľadať", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Nenašli sa žiadne výsledky", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Stiahnuť", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Zdieľať", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Zmazať", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Nenašli sa žiadne dokumenty", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Zmazať tento dokument?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Tento súbor bude trvalo odstránený", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Zrušiť", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Zmazať", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Ďalšie akcie", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Hľadať", + "@profilesSearch": {}, + "profilesEmptyList": "Nenašli sa žiadne profily", + "@profilesEmptyList": {}, + "profilesViewMore": "Zobraziť viac", + "@profilesViewMore": {}, + "profilesMore": "Viac", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina si teraz pamätá vaše zdravie", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Vaše konzultácie teraz automaticky vytvárajú a aktualizujú váš Zdravotný záznam.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Vaša zdravotná dokumentácia, vaše pravidlá", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Zobrazte, upravte alebo pridajte symptómy, lieky, históriu alebo dokumenty kedykoľvek.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Starostlivosť o celú rodinu", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Vytvorte zdravotný záznam pre svojich blízkych, deti, rodičov alebo partnera.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Pripravení uložiť svoj zdravotný záznam?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Po vašej konzultácii ťuknite na „Pridať profil“, aby ste ho uložili.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Ďalší", + "@profilesNextButton": {}, + "profilesStartButton": "Začať konzultáciu", + "@profilesStartButton": {}, + "profilesLaterButton": "Možno neskôr", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Zavrieť", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Zdravotná dokumentácia", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Zdravotný záznam — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...viac", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...menej", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Pridať nový profil", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Vytvorte profil na uloženie podrobností o tejto konzultácii", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Môžete to kedykoľvek posúdiť vo vašich Health Records", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Ak máte ďalšie otázky o tomto alebo o čomkoľvek súvisiacom, kľudne sa so mnou ďalej porozprávajte. Som tu, aby som pomohol", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Všeobecné Informácie", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Meno", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Ján Novák", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Krstné meno", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Ján", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Priezvisko", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Novák", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Pohlavie", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Vyberte", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Muž", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Žena", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Iné", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Dátum narodenia", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Vek", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "napr. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Telefónne číslo", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-mail", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Miesto", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "napr. Mesto, Krajina", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Telo & Strava", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Výška", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "napr. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Hmotnosť", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "napr. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Menštruačný cyklus", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "napr. Pravidelný, Nepravidelný", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Stravovacie obmedzenia", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Vyberte", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Dajte nám vedieť, čo jete a aké obmedzenia máte", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Žiadne", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetarián", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegán", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Bez lepku", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Index telesnej hmotnosti (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "napr. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Zdravotný profil", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Chronické ochorenia", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "napr. Diabetes typu 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Uveďte všetky chronické ochorenia a zahrňte, kedy boli diagnostikované a akékoľvek komplikácie.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Predchádzajúce ochorenia", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "napr. časté prechladnutie", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Prosím, uveďte vážne ochorenia, ktoré ste mali v minulosti, aj keď ste sa uzdravili", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Chirurgická anamnéza", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "napr. Apendektómia", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Prosím, uveďte všetky operácie a zahrňte rok a či došlo k nejakým komplikáciám.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Príležitostne užívané lieky", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "napr. Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Prosím, uveďte lieky, ktoré užívate občas (napríklad: lieky proti bolesti, alergické lieky), vrátane dávky a dôvodu použitia.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Pravidelné lieky", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "napr. Metformín", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Prosím, uveďte všetky lieky, ktoré pravidelne užívate, vrátane názvu, dávky, koľkokrát denne ich užívate a na akú chorobu sú.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Alergie", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "napr. penicilín – spôsobuje vyrážku", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Prosím, uveďte všetky alergie (lieky, jedlo, prostredie) a popíšte, akú reakciu máte (napríklad: vyrážka, opuch, problémy s dýchaním).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Špeciálne Zdravotné Stavy", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "napr. Tehotenstvo, Postihnutie", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Ak máte akékoľvek dôležité zdravotné ťažkosti, o ktorých by mali lekári vždy vedieť (napríklad: tehotenstvo, implantované zariadenia, postihnutia, antikoagulačná terapia), prosím, popíšte ich. Ak nemáte žiadne, môžete to nechať prázdne.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Rodinná anamnéza", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "napr. srdcové choroby, rakovina", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Prosím, popíšte dôležité choroby vo vašej rodine (napríklad: cukrovka, hypertenzia, srdcové choroby, rakovina, genetické choroby) a uveďte, ktorý rodinný príslušník mal daný stav.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Sociálne & Faktory Životného Štýlu", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "napr. fajčenie, konzumácia alkoholu", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Prosím, popíšte faktory životného štýlu, ktoré môžu ovplyvniť vaše zdravie, ako sú fajčenie, alkohol, fyzická aktivita, strava, spánok a zamestnanie.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Zdravotnícke pomôcky", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "napr. kardiostimulátor, sluchadlo, inzulínová pumpa", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Prosím, uveďte akékoľvek lekárske zariadenia, ktoré používate alebo máte implantované, ako sú kardiostimulátory, inzulínové pumpy, sluchadlá, protézy alebo iné asistenčné alebo monitorovacie zariadenia. Zahrňte relevantné podrobnosti, ak je to možné.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Všežravý", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Rýchle občerstvenie", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescetarián", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Bez laktózy", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Nízkosodíková diéta", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Diéta s nízkym obsahom cukru", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Diéta pri srdcovom ochorení", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Renálna diéta", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Iné", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_sw.arb b/example/lib/src/l10n/profiles/app_sw.arb new file mode 100644 index 0000000..92c775c --- /dev/null +++ b/example/lib/src/l10n/profiles/app_sw.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "sw", + "chatDrawerTitle": "Rekodi za Afya", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "MPYA", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Unda afya yako", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Mwisho wa ushauri wako, ongeza wasifu wako.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Ongeza zaidi ya wasifu", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Anza ushauri kwa mtu mwingine ili kuunda wasifu wao.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Jisajili ili uunde Rekodi Yako ya Afya", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Jaribu tena", + "@errorRetryButton": {}, + "dashboardDeleteError": "Imeshindikana kufuta wasifu", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Imeshindikana kupakia muhtasari wa wasifu", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Tazama Rekodi Kamili", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Shiriki", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Futa", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Umri", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} mwaka} other{{value} miaka}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Uzito", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Kimo", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Allergies", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Kisukari", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Dawa", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Vifaa", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Mikutano", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Nyaraka", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Futa Rekodi ya Afya?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Hii itafuta kabisa data zako za afya na haiwezi kurekebishwa. Utapoteza muktadha tunaoutumia kukuelekeza.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Ghairi", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Futa", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Inafuta rekodi yako ya afya...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Imeshindikana kufuta profaili", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Rekodi ya afya imefutwa", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Unaweza kuunda mpya wakati wowote kwa kuzungumza na msaidizi.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Rudi kwenye Mazungumzo", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Kuhariri", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Imeshindikana kupakia data ya wasifu", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Mabadiliko yamehifadhiwa", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Taarifa zako zimefanikiwa kusasishwa.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Rudi kwenye wasifu", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Imeshindikana kusasisha data za wasifu", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Tupa mabadiliko?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Umefanya mabadiliko kadhaa kwenye wasifu wako. Hifadhi kabla hujaondoka, au futa.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Endelea kuhariri", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Tupa", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Hariri", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Ongeza rekodi", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Tafuta", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Hakuna matokeo yaliyopatikana", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Pakua", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Shiriki", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Futa", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Hakuna hati zilizopatikana", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Futa hati hii?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Hii faili itatolewa kabisa", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Ghairi", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Futa", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Vitendo zaidi", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Tafuta", + "@profilesSearch": {}, + "profilesEmptyList": "Hakuna wasifu uliopatikana", + "@profilesEmptyList": {}, + "profilesViewMore": "Tazama zaidi", + "@profilesViewMore": {}, + "profilesMore": "Zaidi", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina sasa anakumbuka afya yako", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Mawasiliano yako sasa yanajenga na kusasisha Rekodi yako ya Afya kiotomatiki.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Rekodi yako ya Afya, sheria zako", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Tazama, hariri, au ongeza dalili, dawa, historia, au nyaraka wakati wowote.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Huduma kwa familia yako nzima", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Unda rekodi ya afya kwa wapendwa wako, watoto wako, wazazi, au mwenzi.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Tayari kuhifadhi Rekodi yako ya Afya?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Baada ya ushauri wako, bonyeza \"Ongeza wasifu\" kuuhifadhi.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Ingia", + "@profilesNextButton": {}, + "profilesStartButton": "Anza ushauri", + "@profilesStartButton": {}, + "profilesLaterButton": "Pengine baadaye", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Funga", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Rekodi ya Afya", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Rekodi ya Afya — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...zaidi", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...kidogo", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Ongeza wasifu mpya", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Unda profile ili kuhifadhi maelezo ya ushauri huu.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Unaweza kuitathmini wakati wowote katika Rekodi zako za Afya", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Ikiwa una maswali zaidi kuhusu hili au chochote kinachohusiana, jisikie huru kuendelea kuzungumza nami. Niko hapa kusaidia", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Taarifa za Jumla", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Jina", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Jina la kwanza", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Jina la ukoo", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Jinsia", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Tafadhali chagua", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Mwanamume", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Mwanamke", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Nyingine", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Tarehe ya Kuzaliwa", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Umri", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "kwa mfano 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Nambari ya simu", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Barua pepe", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Eneo", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "kwa mfano Mji, Nchi", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Mwili & Lishe", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Urefu", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "kwa mfano 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Uzito", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "kwa mfano 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Mzunguko wa hedhi", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "e.g. Kawaida, Isiyotabirika", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Vikwazo vya Lishe", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Tafadhali chagua", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Tuambie unachokula na vizuizi vyovyote ulivyo navyo", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Hakuna", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Mlaji wa mimea", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Bila Gluten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Kipimo cha Masi ya Mwili (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "kwa mfano 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Wasifu wa Afya", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Magonjwa sugu", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "mfano. Kisukari Aina ya 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Tafadhali orodhesha magonjwa yote sugu na jumuisha wakati yalipogundulika na matatizo yoyote.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Magonjwa ya zamani", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "mfano. Mafua ya kawaida mara kwa mara", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Tafadhali orodhesha magonjwa makubwa uliyokuwa nayo zamani, hata kama umepona.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Historia ya Upasuaji", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "kwa mfano Appendectomy", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Tafadhali orodhesha upasuaji wote na ujumuisha mwaka na ikiwa kulikuwa na matatizo yoyote.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Dawa Zinazotumika Mara Chache", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "mfano. Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Tafadhali orodhesha dawa unazotumia mara kwa mara (kwa mfano: dawa za maumivu, dawa za mzio), ikiwa ni pamoja na kipimo na sababu ya matumizi.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Dawa za mara kwa mara", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "mfano. Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Tafadhali orodhesha dawa zote unazotumia mara kwa mara, ikiwa ni pamoja na jina, kipimo, mara ngapi kwa siku unachukua, na hali gani inahusiana nayo.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Alergiji", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "mfano. Penicillin – husababisha upele", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Tafadhali orodhesha mzio wote (dawa, chakula, mazingira), na eleza ni aina gani ya majibu unayo (kwa mfano: upele, uvimbe, matatizo ya kupumua).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Hali Maalum", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "Kwa mfano Ujauzito, Ulemavu", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Ikiwa una hali muhimu za kiafya ambazo madaktari wanapaswa kujua daima (kwa mfano: ujauzito, vifaa vilivyowekwa, ulemavu, tiba ya anticoagulation), tafadhali eleza. Ikiwa hakuna, unaweza kuacha hili kuwa tupu.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Historia ya familia", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "kwa mfano magonjwa ya moyo, saratani", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Tafadhali eleza magonjwa muhimu katika familia yako (kwa mfano: kisukari, shinikizo la damu, magonjwa ya moyo, saratani, magonjwa ya kurithi) na ueleze ni mwanafamilia gani alikuwa na hali hiyo.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Mambo ya Kijamii & Mtindo wa Maisha", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "kwa mfano Uvutaji wa sigara, Matumizi ya pombe", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Tafadhali eleza mambo ya mtindo wa maisha yanayoweza kuathiri afya yako, kama vile uvutaji sigara, pombe, shughuli za mwili, lishe, usingizi, na kazi.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Vifaa vya Matibabu", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "kwa mfano: pacemaker, kifaa cha kusikia, pampu ya insulini", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Tafadhali orodhesha vifaa vyovyote vya matibabu unavyotumia au ulivyonayo, kama vile pacemaker, pampu za insulini, vifaa vya kusikia, prosthetics, au vifaa vingine vya kusaidia au kufuatilia. Jumuisha maelezo muhimu ikiwa yanahitajika.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Anakula vyote", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Chakula cha haraka", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Mfuasi wa mlo wa samaki", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Bila Laktozi", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Lishe ya sodiamu ya chini", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Lishe yenye sukari kidogo", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Lishe ya moyo", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Lishe ya figo", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Nyingine", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ta.arb b/example/lib/src/l10n/profiles/app_ta.arb new file mode 100644 index 0000000..2db031a --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ta.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ta", + "chatDrawerTitle": "ஆரோக்கிய பதிவுகள்", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "புதியது", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "உங்கள் உடல் பதிவை உருவாக்கவும்", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "உங்கள் ஆலோசனையின் முடிவில், உங்கள் சுயவிவரத்தைச் சேர்க்கவும்.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "மேலும் சுயவிவரங்களைச் சேர்க்கவும்", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "மற்றொருவருக்கான சிகிச்சையை தொடங்கவும், அவர்களின் சுயவிவரத்தை உருவாக்கவும்.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "உங்கள் சுகாதார பதிவை உருவாக்க பதிவு செய்யவும்", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "மீண்டும் முயற்சி", + "@errorRetryButton": {}, + "dashboardDeleteError": "சுயவிவரத்தை நீக்க முடியவில்லை", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "சுயவிவர சுருக்கத்தை ஏற்ற முடியவில்லை", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "முழு பதிவைப் பார்வையிடவும்", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "பகிர்", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "அழி", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "வயது", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} ஆண்டு} other{{value} ஆண்டுகள்}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "எடை", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "உயரம்", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} செ.மீ", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "அலர்ஜிகள்", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "நெடிய", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "மருந்து", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "கருவிகள்", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "கூட்டங்கள்", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "ஆவணங்கள்", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "ஆரோக்கிய பதிவை நீக்கவா?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "இது உங்கள் ஆரோக்கிய தரவுகளை நிரந்தரமாக நீக்கும் மற்றும் மீட்டுக்கொள்ள முடியாது. நீங்கள் நாங்கள் உங்களை வழிநடத்த பயன்படுத்தும் சூழ்நிலையை இழக்கிறீர்கள்.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "ரத்து செய்", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "அழி", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "உங்கள் ஆரோக்கிய பதிவை நீக்குகிறது...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "சுயவிவரத்தை நீக்க முடியவில்லை", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "ஆரோக்கிய பதிவுகள் நீக்கப்பட்டது", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "நீங்கள் உதவியாளர் உடன் உரையாடுவதன் மூலம் எப்போது வேண்டுமானாலும் புதியதை உருவாக்கலாம்.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "சந்திப்புக்கு திரும்பவும்", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "திருத்துதல்", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "சுயவிவர தரவுகளை ஏற்ற முடியவில்லை", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "மாற்றங்கள் சேமிக்கப்பட்டன", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "உங்கள் தகவல்கள் வெற்றிகரமாக புதுப்பிக்கப்பட்டது.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "சுயவிவரத்திற்கு திரும்பவும்", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "சுயவிவர தரவுகளை புதுப்பிக்க முடியவில்லை", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "மாற்றங்களை நீக்க வேண்டுமா?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "நீங்கள் உங்கள் சுயவிவரத்தில் சில மாற்றங்களை செய்துள்ளீர்கள். நீங்கள் செல்லும் முன் அவற்றை சேமிக்கவும், அல்லது நீக்கவும்.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "திருத்தத்தை தொடரவும்", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "நீக்கு", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "திருத்து", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "பதிவு சேர்க்கவும்", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "தேடல்", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "எந்த முடிவும் கிடைக்கவில்லை", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "பதிவிறக்கம்", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "பகிர்", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "அழி", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "ஆவணங்கள் கிடைக்கவில்லை", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "இந்த ஆவணத்தை நீக்க வேண்டுமா?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "இந்த கோப்பு நிரந்தரமாக நீக்கப்படும்", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "ரத்து செய்", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "அழி", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "மேலும் செயல்கள்", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "தேடல்", + "@profilesSearch": {}, + "profilesEmptyList": "சுயவிவரங்கள் எதுவும் கிடைக்கவில்லை", + "@profilesEmptyList": {}, + "profilesViewMore": "மேலும் பார்க்க", + "@profilesViewMore": {}, + "profilesMore": "மேலும்", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina இப்போது உங்கள் ஆரோக்கியத்தை நினைவில் வைத்திருக்கிறது", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "உங்கள் ஆலோசனைகள் இப்போது உங்கள் ஆரோக்கிய பதிவை தானாகவே உருவாக்கி புதுப்பிக்கின்றன.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "உங்கள் சுகாதார பதிவுகள், உங்கள் விதிகள்", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "எப்போது வேண்டுமானாலும் அறிகுறிகள், மருந்துகள், வரலாறு அல்லது ஆவணங்களை காண்க, திருத்தவும் அல்லது சேர்க்கவும்.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "உங்கள் முழு குடும்பத்திற்கான பராமரிப்பு", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "உங்கள் அன்பானவர்களுக்கான சுகாதார பதிவை உருவாக்கவும், உங்கள் குழந்தைகள், பெற்றோர் அல்லது துணை.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "உங்கள் சுகாதார பதிவை சேமிக்க தயாரா?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "உங்கள் ஆலோசனையின் பிறகு, அதை சேமிக்க \"சேர் சுயவிவரம்\" என்பதைக் கிளிக் செய்யவும்.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "அடுத்தது", + "@profilesNextButton": {}, + "profilesStartButton": "ஆரம்பிக்கவும்", + "@profilesStartButton": {}, + "profilesLaterButton": "பிறகு இருக்கலாம்", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "மூடு", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "ஆரோக்கியப் பதிவுகள்", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "ஆரோக்கியப் பதிவேடு — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...மேலும்", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...குறைவு", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "புதிய சுயவிவரம் சேர்க்கவும்", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "இந்த ஆலோசனையின் விவரங்களை சேமிக்க ஒரு சுயவிவரம் உருவாக்கவும்.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "நீங்கள் அதை உங்கள் ஆரோக்கிய பதிவுகளில் எப்போதும் மதிப்பாய்வு செய்யலாம்", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "இதோடு அல்லது இதன் தொடர்புடைய ஏதேனும் விஷயங்கள் குறித்து உங்களுக்கு மேலும் கேள்விகள் இருந்தால், என்னுடன் பேசத் தொடர தயங்காதீர்கள். நான் உதவ இங்கே இருக்கிறேன்", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "பொதுத் தகவல்கள்", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "பெயர்", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "முதல் பெயர்", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "ஜான்", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "குடும்பப் பெயர்", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "பாலினம்", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "தயவுசெய்து தேர்ந்தெடுக்கவும்", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "ஆண்", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "பெண்", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "பிற", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "பிறந்த தேதி", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "வயது", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "உதாரணமாக 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "தொலைபேசி எண்", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "மின்னஞ்சல்", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "இடம்", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "உதா. நகரம், நாடு", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "உடல் மற்றும் உணவுமுறை", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "உயரம்", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "எ.கா. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "எடை", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "உதாரணமாக 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "மாதவிடாய் சுழற்சி", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "உதாரணமாக: ஒழுங்கான, ஒழுங்கற்ற", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "உணவு கட்டுப்பாடுகள்", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "தயவுசெய்து தேர்வு செய்யவும்", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "நீங்கள் என்ன சாப்பிடுகிறீர்கள் மற்றும் உங்களிடம் உள்ள எந்த கட்டுப்பாடுகளும் எங்களுக்கு தெரிவிக்கவும்", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "எதுவும் இல்லை", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "சைவம்", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "வீகன்", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "குளூட்டன் இல்லாத", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "உடல் எடை குறியீடு (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "உதா. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "சுகாதார சுயவிவரம்", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "நீடித்த நோய்கள்", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "எடுத்துக்காட்டு. நீரிழிவு வகை 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "தயவுசெய்து அனைத்து நீண்டகால நோய்களை பட்டியலிடவும், அவை எப்போது கண்டறியப்பட்டன மற்றும் எந்த சிக்கல்களையும் சேர்க்கவும்.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "முந்தைய நோய்கள்", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "எடுத்துக்காட்டாக. அடிக்கடி பொதுவான காய்ச்சல்", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "தயவுசெய்து நீங்கள் கடந்த காலத்தில் இருந்த கடுமையான நோய்களை பட்டியலிடுங்கள், நீங்கள் குணமாகினாலும்.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "அறுவை சிகிச்சை வரலாறு", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "உதா. அப்பெண்டெக்டமி", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "தயவுசெய்து அனைத்து அறுவை சிகிச்சைகளை பட்டியலிடவும், ஆண்டையும், எந்த சிக்கல்களும் இருந்ததா என்பதையும் சேர்க்கவும்.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "சில நேரங்களில் பயன்படுத்தப்படும் மருந்துகள்", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "எடுத்துக்காட்டு. இபுபுரோஃபேன்", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "தயவுசெய்து நீங்கள் சில நேரங்களில் எடுத்துக்கொள்ளும் மருந்துகளை (உதாரணமாக: வலி நிவர்த்தி மருந்துகள், அலர்ஜி மருந்துகள்) பட்டியலிடவும், அதில் அளவும் மற்றும் பயன்படுத்தும் காரணமும் சேர்க்கவும்.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "நிலையான மருந்துகள்", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "எடுத்துக்கொள்ளும் மருந்துகள், உதாரணம்: மெட்ஃபார்மின்", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "தயவுசெய்து நீங்கள் அடிக்கடி எடுத்துக்கொள்கிற அனைத்து மருந்துகளையும், பெயர், அளவு, தினத்திற்கு எத்தனை முறை எடுத்துக்கொள்கிறீர்கள் மற்றும் அது எந்த நிலைக்கு உகந்தது என்பதை பட்டியலிடவும்.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "அலர்ஜிகள்", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "எடுத்துக்காட்டு. பெனிசிலின் – தோலில் உலர்ச்சி", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "எல்லா அலர்ஜிகளை (மருந்துகள், உணவு, சுற்றுச்சூழல்) பட்டியலிடவும், நீங்கள் எவ்வாறு எதிர்வினை அளிக்கிறீர்கள் என்பதை விவரிக்கவும் (உதாரணமாக: தோல் உலர்வு, வீக்கம், மூச்சு பிரச்சினைகள்).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "சிறப்பு நிலைகள்", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "e.g. கர்ப்பம், மாற்றுத்திறன்மை", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "உங்களுக்கு மருத்துவர்களுக்கு எப்போதும் தெரிந்திருக்க வேண்டிய முக்கிய மருத்துவ நிலைகள் இருந்தால் (உதாரணமாக: கர்ப்பம், உடலில் உள்ள சாதனங்கள், மாற்றுத்திறன்கள், இரத்தத்தை உறிஞ்சும் சிகிச்சை), தயவுசெய்து அவற்றைப் பதிவு செய்யவும். இல்லையெனில், இதை காலியாக வைக்கலாம்.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "குடும்ப வரலாறு", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "உதா. இதய நோய், புற்றுநோய்", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "உங்கள் குடும்பத்தில் முக்கியமான நோய்களை விவரிக்கவும் (உதாரணமாக: நீரிழிவு, உயர் இரத்த அழுத்தம், இதய நோய், புற்றுநோய், மரபணு நோய்கள்) மற்றும் அந்த நிலை கொண்ட குடும்ப உறுப்பினரை குறிப்பிடவும்.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "சமூக & வாழ்க்கை முறை காரணிகள்", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "உதா. புகைபிடித்தல், மது அருந்துதல்", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "உங்கள் ஆரோக்கியத்தை பாதிக்கக்கூடிய வாழ்க்கை முறைகளை விவரிக்கவும், உதாரணமாக புகையிலை, மது, உடற்பயிற்சி, உணவு, தூக்கம் மற்றும் தொழில்.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "மருத்துவ சாதனங்கள்", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "உதாரணம்: பேஸ்மேக்கர், கேடுதல் உதவிக்கருவி, இன்சுலின் பம்ப்", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "நீங்கள் பயன்படுத்தும் அல்லது உடலில் உள்ள மருத்துவ சாதனங்களை, உதாரணமாக, பேஸ்மேக்கர்கள், இன்சுலின் பம்ப்கள், கேளிக்கை சாதனங்கள், செயற்கை உறுப்புகள் அல்லது பிற உதவியாளர்கள் அல்லது கண்காணிப்பு சாதனங்களை பட்டியலிடவும். தேவையான விவரங்களை சேர்க்கவும்.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "மாமிசமும் தாவர உணவுகளையும் உட்கொள்ளும்", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "விரைவு உணவு", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "மீன் சாப்பிடுவோர்", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "லக்டோஸ் இல்லாத", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "சோடியம் குறைந்த உணவு", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "சர்க்கரை குறைந்த உணவுமுறை", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "இதயத்திற்கான உணவு", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "சிறுநீரக உணவுமுறை", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "மற்றவை", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_te.arb b/example/lib/src/l10n/profiles/app_te.arb new file mode 100644 index 0000000..11cfcf1 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_te.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "te", + "chatDrawerTitle": "ఆరోగ్య రికార్డులు", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "కొత్త", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "మీ ఆరోగ్య రికార్డు సృష్టించండి", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "మీ సంప్రదింపుల ముగింపులో, మీ ప్రొఫైల్‌ను చేర్చండి.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "మరిన్ని ప్రొఫైల్స్ జోడించండి", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "ఇంకా ఎవరికైనా వారి ప్రొఫైల్ సృష్టించడానికి సంప్రదింపులు ప్రారంభించండి.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "మీ ఆరోగ్య రికార్డు సృష్టించడానికి సైన్ అప్ చేయండి", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "మళ్లీ ప్రయత్నించండి", + "@errorRetryButton": {}, + "dashboardDeleteError": "ప్రొఫైల్ తొలగించడంలో విఫలమైంది", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "ప్రొఫైల్ సమ్మరీని లోడ్ చేయడంలో విఫలమైంది", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "పూర్తి రికార్డు చూడండి", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "షేర్", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "తొలగించు", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "వయస్సు", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} సంవత్సరం} other{{value} సంవత్సరాలు}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "బరువు", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} కిలోగ్రాములు", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "ఎత్తు", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} సం.మీ.", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "అలర్జీలు", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "దీర్ఘకాలిక", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "మందులు", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "ఉపకరణాలు", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "సలహాలు", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "పత్రాలు", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "ఆరోగ్య రికార్డు తొలగించాలా?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "ఇది మీ ఆరోగ్య డేటాను శాశ్వతంగా తొలగిస్తుంది మరియు తిరిగి పొందలేరు. మేము మీకు మార్గనిర్దేశం చేయడానికి ఉపయోగించే సందర్భాన్ని కోల్పోతారు.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "రద్దు", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "తొలగించు", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "మీ ఆరోగ్య రికార్డును తొలగిస్తున్నాము...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "ప్రొఫైల్ తొలగించడంలో విఫలమైంది", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "ఆరోగ్య రికార్డు తొలగించబడింది", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "మీరు సహాయకుడితో చాటింగ్ చేసి ఎప్పుడైనా కొత్తది సృష్టించవచ్చు.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "చాట్‌కు తిరిగి వెళ్ళండి", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "సవరించడం", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "ప్రొఫైల్ డేటా లోడ్ చేయడంలో విఫలమైంది", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "మార్పులు సేవ్ చేయబడ్డాయి", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "మీ సమాచారం విజయవంతంగా నవీకరించబడింది.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "ప్రొఫైల్కు తిరిగి వెళ్ళండి", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "ప్రొఫైల్ డేటాను నవీకరించడంలో విఫలమైంది", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "మార్పులను వదులుతారా?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "మీ ప్రొఫైల్‌లో కొన్ని మార్పులు చేశారు. మీరు వెళ్లే ముందు వాటిని సేవ్ చేయండి లేదా వదిలేయండి.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "సవరించడాన్ని కొనసాగించండి", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "తిరస్కరించు", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "సవరించు", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "రికార్డు జోడించు", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "శోధన", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "ఫలితాలు లేవు", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "డౌన్‌లోడ్", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "షేర్", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "తొలగించు", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "ఏ డాక్యుమెంట్లు లభించలేదు", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "ఈ పత్రాన్ని తొలగించాలా?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "ఈ ఫైల్ శాశ్వతంగా తొలగించబడుతుంది", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "రద్దు", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "తొలగించు", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "మరిన్ని చర్యలు", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "శోధన", + "@profilesSearch": {}, + "profilesEmptyList": "ప్రొఫైల్‌లు ఏవీ కనబడలేదు", + "@profilesEmptyList": {}, + "profilesViewMore": "మరిన్ని చూడండి", + "@profilesViewMore": {}, + "profilesMore": "మరింత", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "డాక్టర్‌నా మీ ఆరోగ్యాన్ని గుర్తుంచుకుంటుంది", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "మీ సంప్రదింపులు ఇప్పుడు మీ ఆరోగ్య రికార్డును ఆటోమేటిక్‌గా నిర్మించు మరియు నవీకరించు.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "మీ ఆరోగ్య రికార్డు, మీ నియమాలు", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "సమయానుకూలంగా లక్షణాలు, మందులు, చరిత్ర లేదా పత్రాలను చూడండి, సవరించండి లేదా జోడించండి.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "మీ మొత్తం కుటుంబానికి సంరక్షణ", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "మీ ప్రియమైన వారికోసం, మీ పిల్లలు, తల్లిదండ్రులు లేదా భాగస్వామి కోసం ఆరోగ్య రికార్డు సృష్టించండి.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "మీ ఆరోగ్య రికార్డును సేవ్ చేయడానికి సిద్ధమా?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "మీ సంప్రదింపుల తర్వాత, దాన్ని సేవ్ చేయడానికి \"ప్రొఫైల్ జోడించు\" పై ట్యాప్ చేయండి.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "తదుపరి", + "@profilesNextButton": {}, + "profilesStartButton": "సలహా ప్రారంభించండి", + "@profilesStartButton": {}, + "profilesLaterButton": "తర్వాత కావచ్చు", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "మూసు", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "ఆరోగ్య రికార్డు", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "ఆరోగ్య రికార్డు — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...మరింత", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...తక్కువ", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "కొత్త ప్రొఫైల్ జోడించండి", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "ఈ సలహా యొక్క వివరాలను సేవ్ చేయడానికి ఒక ప్రొఫైల్ సృష్టించండి.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "మీ ఆరోగ్య రికార్డుల్లో దీన్ని మీరు ఎప్పుడైనా మూల్యాంకనం చేయవచ్చు", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "ఈ విషయం లేదా దీనితో సంబంధం ఉన్న ఏదైనా గురించి మీకు ఇంకా ప్రశ్నలు ఉంటే, సంకోచించకుండా నాతో మాట్లాడుతూనే ఉండండి. నేను సహాయం చేయడానికి ఇక్కడ ఉన్నాను", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "సాధారణ సమాచారం", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "పేరు", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "జాన్ డో", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "మొదటి పేరు", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "జాన్", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "చివరి పేరు", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "లింగం", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "దయచేసి ఎంచుకోండి", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "పురుషుడు", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "స్త్రీ", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "ఇతర", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "పుట్టిన తేదీ", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "వయస్సు", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "ఉదా. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "ఫోన్ నంబర్", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ఈమెయిల్", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "స్థానం", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "ఉదా. నగరం, దేశం", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "శరీరం & ఆహారం", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "ఎత్తు", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "ఉదా. 180 సెం.మీ", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "బరువు", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ఉదాహరణకు 75 కిలోలు", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "మాసిక చక్రం", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "ఉదాహరణకు నియమిత, అనియమిత", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "ఆహార పరిమితులు", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "దయచేసి ఎంచుకోండి", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "మీరు ఏమి తింటారో మరియు మీకు ఉన్న పరిమితులు మాకు తెలియజేయండి", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "ఏమీ లేదు", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "శాకాహారి", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "వీగన్", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "గ్లూటెన్ రహితం", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "బాడీ మాస్ ఇండెక్స్ (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ఉదాహరణకు 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "ఆరోగ్య ప్రొఫైల్", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "దీర్ఘకాలిక రోగాలు", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ఉదాహరణకు, డయాబెటిస్ టైప్ 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "దయచేసి అన్ని దీర్ఘకాలిక వ్యాధులను జాబితా చేయండి మరియు అవి ఎప్పుడు నిర్ధారించబడ్డాయో మరియు ఏదైనా సంక్లిష్టతలను చేర్చండి.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "గత వ్యాధులు", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ఉదాహరణకు, తరచుగా సాధారణ జలుబు", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "మీరు గతంలో అనుభవించిన తీవ్రమైన వ్యాధులను జాబితా చేయండి, మీరు కోలుకున్నా కూడా.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "శస్త్రచికిత్సల చరిత్ర", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "ఉదా. అపెండెక్టమీ", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "దయచేసి అన్ని శస్త్రచికిత్సలను జాబితా చేయండి మరియు సంవత్సరాన్ని మరియు ఏవైనా సంక్లిష్టతలు ఉన్నాయా అని చేర్చండి.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "అప్పుడప్పుడు ఉపయోగించే మందులు", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "ఉదాహరణకు: ఐబుప్రోఫెన్", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "మీరు కొన్నిసార్లు తీసుకునే మందులను (ఉదాహరణకు: నొప్పి మందులు, అలర్జీ మందులు) జాబితా చేయండి, డోసు మరియు ఉపయోగం కారణం సహితంగా.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "నియమిత ఔషధాలు", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "ఉదాహరణకు: మెట్ఫార్మిన్", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "మీరు రెగ్యులర్‌గా తీసుకునే అన్ని మందుల పేర్లు, డోసు, రోజుకు ఎంతసార్లు తీసుకుంటారో మరియు అది ఏ పరిస్థితికి సంబంధించినదో జాబితా చేయండి.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "అలర్జీలు", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ఉదాహరణ: పెనిసిలిన్ - చర్మరాషి కలిగిస్తుంది", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "మీ అన్ని అలర్జీలను (మందులు, ఆహారం, పర్యావరణం) జాబితా చేయండి, మరియు మీరు ఏ రకమైన ప్రతిస్పందనను కలిగి ఉన్నారో వివరించండి (ఉదాహరణకు: చర్మరోగం, వాపు, శ్వాస సమస్యలు).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "ప్రత్యేక పరిస్థితులు", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "ఉదా. గర్భధారణ, దివ్యాంగత", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "మీకు ఎలాంటి ముఖ్యమైన వైద్య పరిస్థితులు ఉన్నాయా, డాక్టర్లు ఎప్పుడూ తెలుసుకోవాలి (ఉదాహరణకు: గర్భధారణ, అమర్చిన పరికరాలు, అంగవైకల్యాలు, యాంటికొగులేషన్ థెరపీ), దయచేసి వాటిని వివరించండి. లేకపోతే, మీరు దీన్ని ఖాళీగా ఉంచవచ్చు.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "కుటుంబ చరిత్ర", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ఉదా. హృదయ వ్యాధి, క్యాన్సర్", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "మీ కుటుంబంలో ముఖ్యమైన వ్యాధులను వివరించండి (ఉదాహరణకు: మధుమేహం, రక్తపోటు, హృదయ వ్యాధి, కేన్సర్, జన్యు వ్యాధులు) మరియు ఆ పరిస్థితిని కలిగిన కుటుంబ సభ్యుడిని స్పష్టంగా చెప్పండి.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "సామాజిక & జీవనశైలి అంశాలు", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "ఉదాహరణకు పొగాకు, మద్యపానం", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "మీ ఆరోగ్యాన్ని ప్రభావితం చేసే జీవనశైలి అంశాలను వివరించండి, ఉదాహరణకు పొగాకు, మద్యం, శారీరక కార్యకలాపం, ఆహారం, నిద్ర మరియు వృత్తి.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "వైద్య పరికరాలు", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "e.g. పేస్‌మేకర్, శ్రవణ సహాయక పరికరం, ఇన్సులిన్ పంప్", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "మీరు ఉపయోగిస్తున్న లేదా ఇంప్లాంట్ చేసిన ఏదైనా వైద్య పరికరాలను జాబితా చేయండి, ఉదాహరణకు పేస్‌మేకర్లు, ఇన్సులిన్ పంపులు, వినికిడి సహాయ పరికరాలు, ప్రోస్టెటిక్స్ లేదా ఇతర సహాయక లేదా పర్యవేక్షణ పరికరాలు. వర్తించే వివరాలను చేర్చండి.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "సర్వాహారి", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ఫాస్ట్ ఫుడ్", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "చేపలు తినే శాకాహారి", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "లాక్టోజ్-రహితం", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "తక్కువ సోడియం ఆహారం", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "తక్కువ చక్కర ఆహారం", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "హృదయానికి అనుకూల ఆహారం", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "మూత్రపిండాల ఆహారం", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "ఇతర", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_th.arb b/example/lib/src/l10n/profiles/app_th.arb new file mode 100644 index 0000000..70927dd --- /dev/null +++ b/example/lib/src/l10n/profiles/app_th.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "th", + "chatDrawerTitle": "บันทึกสุขภาพ", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "ใหม่", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "สร้างบันทึกสุขภาพของคุณ", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "เมื่อสิ้นสุดการปรึกษาของคุณ ให้เพิ่มโปรไฟล์ของคุณ", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "เพิ่มโปรไฟล์เพิ่มเติม", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "เริ่มการปรึกษาสำหรับคนอื่นเพื่อสร้างโปรไฟล์ของพวกเขา", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "ลงทะเบียนเพื่อสร้างบันทึกสุขภาพของคุณ", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "ลองใหม่", + "@errorRetryButton": {}, + "dashboardDeleteError": "ไม่สามารถลบโปรไฟล์ได้", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "ไม่สามารถโหลดข้อมูลสรุปโปรไฟล์ได้", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "ดูบันทึกทั้งหมด", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "แชร์", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "ลบ", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "อายุ", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} ปี} other{{value} ปี}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "น้ำหนัก", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} กก", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "ความสูง", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} ซม", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "ภูมิแพ้", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "เรื้อรัง", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "ยา", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "อุปกรณ์", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "การปรึกษา", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "เอกสาร", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "ลบข้อมูลสุขภาพ?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "นี่จะลบข้อมูลสุขภาพของคุณอย่างถาวรและไม่สามารถย้อนกลับได้ คุณจะสูญเสียบริบทที่เราใช้ในการแนะนำคุณ", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "ยกเลิก", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "ลบ", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "กำลังลบข้อมูลสุขภาพของคุณ...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "ไม่สามารถลบโปรไฟล์ได้", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "ลบข้อมูลสุขภาพแล้ว", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "คุณสามารถสร้างใหม่ได้ทุกเมื่อโดยการสนทนากับผู้ช่วย", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "กลับไปที่แชท", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "การแก้ไข", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "ไม่สามารถโหลดข้อมูลโปรไฟล์ได้", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "บันทึกการเปลี่ยนแปลงเรียบร้อย", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "ข้อมูลของคุณได้รับการอัปเดตเรียบร้อยแล้ว", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "กลับไปที่โปรไฟล์", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "ไม่สามารถอัปเดตข้อมูลโปรไฟล์ได้", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "ยกเลิกการเปลี่ยนแปลงหรือไม่?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "คุณได้ทำการเปลี่ยนแปลงบางอย่างในโปรไฟล์ของคุณ บันทึกการเปลี่ยนแปลงก่อนที่คุณจะออกจากระบบ หรือยกเลิกการเปลี่ยนแปลง", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "แก้ไขต่อ", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "ทิ้ง", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "แก้ไข", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "เพิ่มบันทึก", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "ค้นหา", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "ไม่พบผลลัพธ์", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ดาวน์โหลด", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "แชร์", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "ลบ", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "ไม่พบเอกสาร", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "ลบเอกสารนี้ใช่ไหม?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "ไฟล์นี้จะถูกลบอย่างถาวร", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "ยกเลิก", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "ลบ", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "การดำเนินการเพิ่มเติม", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "ค้นหา", + "@profilesSearch": {}, + "profilesEmptyList": "ไม่พบโปรไฟล์", + "@profilesEmptyList": {}, + "profilesViewMore": "ดูเพิ่มเติม", + "@profilesViewMore": {}, + "profilesMore": "เพิ่มเติม", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina จำสุขภาพของคุณได้แล้ว", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "การปรึกษาของคุณจะสร้างและอัปเดตบันทึกสุขภาพของคุณโดยอัตโนมัติ", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "บันทึกสุขภาพของคุณ กฎของคุณ", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "ดู แก้ไข หรือเพิ่มอาการ ยา ประวัติ หรือเอกสารได้ทุกเมื่อ", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "ดูแลครอบครัวของคุณทั้งหมด", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "สร้างบันทึกสุขภาพสำหรับคนที่คุณรัก ลูกๆ ของคุณ พ่อแม่ หรือคู่ของคุณ", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "พร้อมที่จะบันทึกประวัติสุขภาพของคุณหรือยัง?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "หลังจากการปรึกษาของคุณ ให้แตะ \"เพิ่มโปรไฟล์\" เพื่อบันทึกมัน", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "ถัดไป", + "@profilesNextButton": {}, + "profilesStartButton": "เริ่มการปรึกษา", + "@profilesStartButton": {}, + "profilesLaterButton": "อาจจะทีหลัง", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "ปิด", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "บันทึกสุขภาพ", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "บันทึกสุขภาพ — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...เพิ่มเติม", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...น้อยลง", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "เพิ่มโปรไฟล์ใหม่", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "สร้างโปรไฟล์เพื่อบันทึกรายละเอียดของการปรึกษานี้", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "คุณสามารถเข้าถึงได้ตลอดเวลาในบันทึกสุขภาพของคุณ", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "หากคุณมีคำถามเพิ่มเติมเกี่ยวกับเรื่องนี้หรือเรื่องที่เกี่ยวข้อง อย่าลังเลที่จะพูดคุยกับฉันต่อ. ฉันพร้อมช่วยเหลือ", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "ข้อมูลทั่วไป", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "ชื่อ", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "ชื่อ", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "นามสกุล", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "เพศ", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "กรุณาเลือก", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "ชาย", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "หญิง", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "อื่นๆ", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "วันเกิด", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "อายุ", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "เช่น 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "หมายเลขโทรศัพท์", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "อีเมล", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "ที่อยู่", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "เช่น เมือง, ประเทศ", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "ร่างกาย & อาหาร", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "ความสูง", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "เช่น 180 ซม", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "น้ำหนัก", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "เช่น 75 กก", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "รอบเดือน", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "เช่น สม่ำเสมอ, ไม่สม่ำเสมอ", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "ข้อจำกัดด้านอาหาร", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "โปรดเลือก", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "บอกเราหน่อยว่าคุณกินอะไรและมีข้อจำกัดอะไรบ้าง", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "ไม่มี", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "มังสวิรัติ", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "วีแกน", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "ปราศจากกลูเตน", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "ดัชนีมวลกาย (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "เช่น 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "ข้อมูลสุขภาพ", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "โรคเรื้อรัง", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "เช่น เบาหวานชนิดที่ 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "โปรดระบุโรคเรื้อรังทั้งหมดและรวมถึงเมื่อใดที่ได้รับการวินิจฉัยและภาวะแทรกซ้อนใด ๆ", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "ประวัติการเจ็บป่วย", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "เช่น ไข้หวัดใหญ่บ่อย", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "โปรดระบุโรคร้ายแรงที่คุณเคยเป็นในอดีต แม้ว่าคุณจะหายแล้วก็ตาม", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "ประวัติการผ่าตัด", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "เช่น ผ่าตัดไส้ติ่ง", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "กรุณาระบุการผ่าตัดทั้งหมดและรวมถึงปีและว่ามีภาวะแทรกซ้อนหรือไม่", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "ยาที่ใช้เป็นครั้งคราว", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "เช่น ไอบูโพรเฟน", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "กรุณาระบุยาที่คุณทานเป็นครั้งคราว (เช่น: ยาแก้ปวด, ยาแก้แพ้) รวมถึงขนาดและเหตุผลในการใช้", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "ยาที่ใช้เป็นประจำ", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "เช่น เมตฟอร์มิน", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "โปรดระบุชื่อยาที่คุณทานเป็นประจำ รวมถึงชื่อ ขนาดยา จำนวนครั้งต่อวันที่คุณทาน และอาการที่ใช้รักษา", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "การแพ้", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "เช่น เพนิซิลลิน – ทำให้เกิดผื่น", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "กรุณาระบุอาการแพ้ทั้งหมด (ยา, อาหาร, สิ่งแวดล้อม) และอธิบายปฏิกิริยาที่คุณมี (เช่น: ผื่น, บวม, ปัญหาการหายใจ)", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "ภาวะพิเศษ", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "เช่น การตั้งครรภ์, ความพิการ", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "หากคุณมีเงื่อนไขทางการแพทย์ที่สำคัญที่แพทย์ควรรู้เสมอ (เช่น: การตั้งครรภ์, อุปกรณ์ที่ฝัง, ความพิการ, การบำบัดด้วยยาต้านการแข็งตัวของเลือด) กรุณาอธิบายเงื่อนไขเหล่านั้น หากไม่มี คุณสามารถปล่อยว่างไว้ได้.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "ประวัติครอบครัว", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "เช่น โรคหัวใจ, มะเร็ง", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "โปรดอธิบายโรคที่สำคัญในครอบครัวของคุณ (เช่น เบาหวาน ความดันโลหิตสูง โรคหัวใจ มะเร็ง โรคทางพันธุกรรม) และระบุว่าญาติคนไหนที่มีอาการนี้", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "ปัจจัยทางสังคม & วิถีชีวิต", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "เช่น การสูบบุหรี่, การดื่มแอลกอฮอล์", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "โปรดอธิบายปัจจัยด้านวิถีชีวิตที่สามารถส่งผลต่อสุขภาพของคุณ เช่น การสูบบุหรี่ แอลกอฮอล์ กิจกรรมทางกาย อาหาร การนอนหลับ และอาชีพ", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "อุปกรณ์การแพทย์", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "เช่น เครื่องกระตุ้นหัวใจ, เครื่องช่วยฟัง, ปั๊มอินซูลิน", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "โปรดระบุอุปกรณ์ทางการแพทย์ที่คุณใช้หรือมีการฝัง เช่น เครื่องกระตุ้นหัวใจ ปั๊มอินซูลิน เครื่องช่วยฟัง ขาเทียม หรืออุปกรณ์ช่วยเหลือหรือเฝ้าติดตามอื่น ๆ รวมถึงรายละเอียดที่เกี่ยวข้องหากมี", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "กินทุกอย่าง", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "ฟาสต์ฟู้ด", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "กินปลาแต่ไม่กินเนื้อสัตว์", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "ปราศจากแลคโตส", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "อาหารโซเดียมต่ำ", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "อาหารลดน้ำตาล", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "อาหารสำหรับโรคหัวใจ", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "อาหารสำหรับโรคไต", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "อื่นๆ", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_tl.arb b/example/lib/src/l10n/profiles/app_tl.arb new file mode 100644 index 0000000..2549b8a --- /dev/null +++ b/example/lib/src/l10n/profiles/app_tl.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "tl", + "chatDrawerTitle": "Mga Rekord ng Kalusugan", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "BAGO", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Gumawa ng Iyong Health Record", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Sa dulo ng iyong konsultasyon, idagdag ang iyong profile.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Magdagdag ng higit pang mga profile", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Magsimula ng konsultasyon para sa ibang tao upang lumikha ng kanilang profile.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Mag-sign up upang lumikha ng iyong Health Record", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Subukan muli", + "@errorRetryButton": {}, + "dashboardDeleteError": "Nabigong tanggalin ang profile", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Nabigong i-load ang buod ng profile", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Tingnan ang Buong Rekord", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Ibahagi", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Tanggalin", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Edad", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} taon} other{{value} taon}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Timbang", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Taas", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Allergies", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Kroniko", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Gamot", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Mga Device", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Mga Konsultasyon", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Mga Dokumento", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Tanggalin ang Health Record?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Ito ay permanenteng aalisin ang iyong data sa kalusugan at hindi na maibabalik. Mawawala ang konteksto na ginagamit namin upang gabayan ka.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Kanselahin", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Tanggalin", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Binubura ang iyong rekord sa kalusugan...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Nabigong tanggalin ang profile", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Nabura ang rekord ng kalusugan", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Maaari kang lumikha ng bago anumang oras sa pamamagitan ng pakikipag-chat sa assistant.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Bumalik sa Chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Pag-edit", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Nabigong i-load ang profile data", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Naka-save ang mga pagbabago", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Ang iyong impormasyon ay matagumpay na na-update.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Bumalik sa profile", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Nabigong i-update ang data ng profile", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Itapon ang mga pagbabago?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Gumawa ka ng ilang pagbabago sa iyong profile. I-save ang mga ito bago ka umalis, o itapon ang mga ito.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Ipatuloy ang pag-edit", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Itapon", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "I-edit", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Magdagdag ng tala", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Maghanap", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Walang nahanap na resulta", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "I-download", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Ibahagi", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Tanggalin", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Walang natagpuang dokumento", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Tanggalin ang dokumentong ito?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Ang file na ito ay permanenteng aalisin", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Kanselahin", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Tanggalin", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Higit pang aksyon", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Maghanap", + "@profilesSearch": {}, + "profilesEmptyList": "Walang nahanap na profile", + "@profilesEmptyList": {}, + "profilesViewMore": "Tingnan pa", + "@profilesViewMore": {}, + "profilesMore": "Higit pa", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Naalala na ni Doctorina ang iyong kalusugan", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Ang iyong mga konsultasyon ay awtomatikong bumubuo at nag-a-update ng iyong Health Record.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Ang Iyong Rekord sa Kalusugan, ang Iyong Mga Alituntunin", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Tingnan, i-edit, o magdagdag ng mga sintomas, gamot, kasaysayan, o dokumento anumang oras.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Alagaan ang buong pamilya mo", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Gumawa ng Health Record para sa iyong mga mahal sa buhay, mga anak, magulang, o kapareha.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Handa na bang i-save ang iyong Health Record?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Pagkatapos ng iyong konsultasyon, i-tap ang “Add profile” upang i-save ito.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Susunod", + "@profilesNextButton": {}, + "profilesStartButton": "Magsimula ng konsultasyon", + "@profilesStartButton": {}, + "profilesLaterButton": "Baka mamaya", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Isara", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Tala ng Kalusugan", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Tala ng Kalusugan — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...karagdagan", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...mas kaunti", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Magdagdag ng bagong profile", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Lumikha ng isang profile upang i-save ang mga detalye ng konsultasyong ito.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Maaari mo itong suriin anumang oras sa iyong mga tala ng kalusugan", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Kung mayroon ka pang mga tanong tungkol dito o sa anumang kaugnay na bagay, huwag mag-atubiling patuloy na makipag-usap sa akin. Nandito ako para tumulong", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Pangkalahatang Impormasyon", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Pangalan", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Juan Dela Cruz", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Unang pangalan", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Apelyido", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Kasarian", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Pumili", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Lalaki", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Babae", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Iba", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Petsa ng Kapanganakan", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Edad", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "hal. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Numero ng telepono", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Email", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Lokasyon", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "hal. Lungsod, Bansa", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Katawan at Diyeta", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Taas", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "hal. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Timbang", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "hal. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Siklo ng Regla", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "hal. Regular, Di-regular", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Mga Paghihigpit sa Pagkain", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Paki-pili", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Ipaalam sa amin kung ano ang kinakain mo at anumang mga limitasyon na mayroon ka", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Wala", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vegetarian", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Walang Gluten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Indeks ng Masa ng Katawan (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "hal. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Profile ng Kalusugan", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Mga Talamak na Sakit", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "hal. Diabetes Type 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Mangyaring ilista ang lahat ng mga chronic na sakit at isama kung kailan sila na-diagnose at anumang komplikasyon.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Mga Nakaraang Sakit", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "hal. Madalas na sipon", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Mangyaring ilista ang mga seryosong sakit na naranasan mo sa nakaraan, kahit na ikaw ay gumaling na.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Kasaysayan ng Operasyon", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "hal. Apendektomiya", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Pakisama ang lahat ng operasyon at isama ang taon at kung may mga komplikasyon.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Paminsan-minsang ginagamit na mga gamot", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "hal. Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Mangyaring ilista ang mga gamot na iniinom mo paminsan-minsan (halimbawa: mga pampawala ng sakit, mga gamot sa allergy), kasama ang dosis at dahilan ng paggamit.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Mga Regular na Gamot", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "hal. Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Mangyaring ilista ang lahat ng gamot na regular mong iniinom, kasama ang pangalan, dosis, kung ilang beses sa isang araw mo ito iniinom, at kung para saan ang kondisyon.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Mga alergiya", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "hal. Penicillin – nagdudulot ng pantal", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Mangyaring ilista ang lahat ng allergy (mga gamot, pagkain, kapaligiran), at ilarawan kung anong reaksyon ang mayroon ka (halimbawa: pantal, pamamaga, problema sa paghinga).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Mga Espesyal na Kondisyon", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "Halimbawa: Pagbubuntis, Kapansanan", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Kung mayroon kang anumang mahahalagang kondisyon sa kalusugan na dapat laging malaman ng mga doktor (halimbawa: pagbubuntis, mga implant na aparato, kapansanan, therapy sa anticoagulation), mangyaring ilarawan ang mga ito. Kung wala, maaari mo itong iwanang blangko.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Kasaysayan ng Pamilya", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "hal. Sakit sa Puso, Kanser", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Mangyaring ilarawan ang mga mahahalagang sakit sa iyong pamilya (halimbawa: diabetes, hypertension, sakit sa puso, kanser, mga sakit na namamana) at tukuyin kung aling miyembro ng pamilya ang nagkaroon ng kondisyon.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Mga Salik na Panlipunan & Pamumuhay", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "hal. Paninigarilyo, Pag-inom ng alak", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Mangyaring ilarawan ang mga salik sa pamumuhay na maaaring makaapekto sa iyong kalusugan, tulad ng paninigarilyo, alak, pisikal na aktibidad, diyeta, tulog, at trabaho.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Mga Kagamitang Medikal", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "hal. Pacemaker, Hearing aid, Insulin pump", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Mangyaring ilista ang anumang mga medikal na aparato na ginagamit mo o naipinatong, tulad ng mga pacemaker, insulin pump, hearing aid, prosthetics, o iba pang mga tulong o monitoring device. Isama ang mga kaugnay na detalye kung naaangkop.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Kumakain ng karne at halaman", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Fast Food", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Pescatarian", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Walang Laktosa", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Diyeta na mababa sa sodyum", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Mababang asukal na diyeta", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Diyetang pang-puso", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Diyeta sa bato", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Iba", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_tr.arb b/example/lib/src/l10n/profiles/app_tr.arb new file mode 100644 index 0000000..74ae1be --- /dev/null +++ b/example/lib/src/l10n/profiles/app_tr.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "tr", + "chatDrawerTitle": "Sağlık Kayıtları", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "YENİ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Sağlık Kaydınızı Oluşturun", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Danışmanlığınızın sonunda profilinizi ekleyin.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Daha fazla profil ekle", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Başka biri için profil oluşturmak üzere bir danışma başlatın.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Sağlık Kaydınızı oluşturmak için kaydolun", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Tekrar Dene", + "@errorRetryButton": {}, + "dashboardDeleteError": "Profil silinemedi", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Profil özeti yüklenemedi", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Tam Kaydı Görüntüle", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Paylaş", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Sil", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Yaş", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} yıl} other{{value} yıl}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Ağırlık", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Boy", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Alerjiler", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Kronik", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "İlaç", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Cihazlar", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Danışmanlıklar", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Belgeler", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Sağlık Kaydını Silmek İstiyor musunuz?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Bu, sağlık verilerinizi kalıcı olarak kaldıracak ve geri alınamaz. Size rehberlik etmek için kullandığımız bağlamı kaybedeceksiniz.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "İptal", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Sil", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Sağlık kaydınızı siliyoruz...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Profil silinemedi", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Sağlık kaydı silindi", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Asistanla sohbet ederek istediğiniz zaman yenisini oluşturabilirsiniz.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Sohbete Dön", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Düzenleme", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Profil verisi yüklenemedi", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Değişiklikler kaydedildi", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Bilgileriniz başarıyla güncellendi.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Profile'e dön", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Profil verilerini güncellemeye başarısız oldu", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Değişiklikleri iptal et?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Profilinizde bazı değişiklikler yaptınız. Gitmeden önce bunları kaydedin veya iptal edin.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Düzenlemeye devam et", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "İptal et", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Düzenle", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Kayıt ekle", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Ara", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Sonuç bulunamadı", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "İndir", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Paylaş", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Sil", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Hiç belge bulunamadı", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Bu belgeyi silmek istiyor musunuz?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Bu dosya kalıcı olarak silinecek", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "İptal", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Sil", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Diğer işlemler", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Ara", + "@profilesSearch": {}, + "profilesEmptyList": "Profil bulunamadı", + "@profilesEmptyList": {}, + "profilesViewMore": "Daha fazla görüntüle", + "@profilesViewMore": {}, + "profilesMore": "Daha Fazla", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina artık sağlığınızı hatırlıyor", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Danışmanlıklarınız artık Sağlık Kaydınızı otomatik olarak oluşturup güncelliyor.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Sağlık Kaydınız, sizin kurallarınız", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Semptomları, ilaçları, geçmişi veya belgeleri istediğiniz zaman görüntüleyin, düzenleyin veya ekleyin.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Tüm aileniz için bakım", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Sevdikleriniz, çocuklarınız, ebeveynleriniz veya partneriniz için bir Sağlık Kaydı oluşturun.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Sağlık Kaydınızı kaydetmeye hazır mısınız?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Danışmanlığınızdan sonra, kaydetmek için \"Profil ekle\"ye dokunun.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "İleri", + "@profilesNextButton": {}, + "profilesStartButton": "Bir danışma başlat", + "@profilesStartButton": {}, + "profilesLaterButton": "Belki daha sonra", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Kapat", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Sağlık Kaydı", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Sağlık Kaydı — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...daha fazla", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...daha az", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Yeni profil ekle", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Bu danışmanın detaylarını kaydetmek için bir profil oluşturun.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Health Records'ınızda onu istediğiniz zaman görüntüleyebilirsiniz", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Bu veya bununla ilgili başka sorularınız olursa, benimle konuşmaya devam etmekten çekinmeyin. Yardım etmek için buradayım", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Genel Bilgiler", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Ad", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Ad", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Ahmet", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Soyadı", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Cinsiyet", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Lütfen seçiniz", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Erkek", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Kadın", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Diğer", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Doğum Tarihi", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Yaş", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "örn. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Telefon numarası", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "E-posta", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "ornek@ornek.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Konum", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "örn. Şehir, Ülke", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Vücut & Beslenme", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Boy", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "örn. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Kilo", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "örn. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Adet Döngüsü", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "örn. Düzenli, Düzensiz", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Diyet Kısıtlamaları", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Lütfen seçiniz", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Ne yediğinizi ve sahip olduğunuz kısıtlamaları bize bildirin", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Yok", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vejetaryen", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Glutensiz", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Vücut Kitle İndeksi (VKİ)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "örn. 24,5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Sağlık Profili", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Kronik Hastalıklar", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "örneğin, Tip 2 Diyabet", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Lütfen tüm kronik hastalıkları listeleyin ve ne zaman teşhis edildiğini ve herhangi bir komplikasyonu ekleyin.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Geçmiş Hastalıklar", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "örneğin, sık sık soğuk algınlığı", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Lütfen geçmişte geçirdiğiniz ciddi hastalıkları listeleyin, iyileşseniz bile.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Ameliyat Geçmişi", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "örn. Apendektomi", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Lütfen tüm ameliyatları listeleyin ve yılı ile birlikte herhangi bir komplikasyon olup olmadığını belirtin.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Ara sıra kullanılan ilaçlar", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "örneğin: İbuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Lütfen zaman zaman aldığınız ilaçları (örneğin: ağrı kesiciler, alerji ilaçları) doz ve kullanım nedeni ile birlikte listeleyin.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Düzenli İlaçlar", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "örneğin: Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Lütfen düzenli olarak aldığınız tüm ilaçları, adını, dozunu, günde kaç kez aldığınızı ve hangi durum için olduğunu listeleyin.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Alerjiler", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "örn. Penisilin - döküntü yapar", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Lütfen tüm alerjilerinizi (ilaçlar, yiyecekler, çevresel) listeleyin ve hangi reaksiyonu gösterdiğinizi açıklayın (örneğin: döküntü, şişlik, nefes alma sorunları).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Özel Durumlar", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "örn. Gebelik, Engellilik", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Doktorların her zaman bilmesi gereken önemli tıbbi durumlarınız varsa (örneğin: hamilelik, implante cihazlar, engellilik, antikoagülasyon tedavisi), lütfen bunları tanımlayın. Yoksa, bunu boş bırakabilirsiniz.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Aile Öyküsü", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "örn. Kalp hastalığı, kanser", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Ailenizdeki önemli hastalıkları tanımlayın (örneğin: diyabet, hipertansiyon, kalp hastalığı, kanser, genetik hastalıklar) ve hangi aile üyesinin bu durumu yaşadığını belirtin.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Sosyal & Yaşam Tarzı Faktörleri", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "örn. Sigara içme, Alkol tüketimi", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Sağlığınızı etkileyebilecek yaşam tarzı faktörlerini, örneğin sigara içme, alkol, fiziksel aktivite, diyet, uyku ve meslek gibi, lütfen tanımlayın.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Tıbbi Cihazlar", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "örn. Kalp Pili, İşitme Cihazı, İnsülin Pompası", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Kullandığınız veya implante edilmiş herhangi bir tıbbi cihazı listeleyin, örneğin pacemaker'lar, insülin pompaları, işitme cihazları, protezler veya diğer yardımcı veya izleme cihazları. Uygun detayları ekleyin.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Omnivor", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Fast Food", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Balık yiyen vejetaryen", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Laktozsuz", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Düşük sodyumlu diyet", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Az şekerli diyet", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Kalp diyeti", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Böbrek diyeti", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Diğer", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_uk.arb b/example/lib/src/l10n/profiles/app_uk.arb new file mode 100644 index 0000000..4e8b3db --- /dev/null +++ b/example/lib/src/l10n/profiles/app_uk.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "uk", + "chatDrawerTitle": "Медичні записи", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "НОВИЙ", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Створіть свою медичну картку", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "В кінці вашої консультації додайте свій профіль.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Додати більше профілів", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Почніть консультацію для когось іншого, щоб створити їхній профіль.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Зареєструйтеся, щоб створити свою медичну картку", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Спробувати знову", + "@errorRetryButton": {}, + "dashboardDeleteError": "Не вдалося видалити профіль", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Не вдалося завантажити підсумок профілю", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Переглянути повний запис", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Поділитися", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Видалити", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Вік", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} рік} other{{value} років}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Вага", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} кг", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Висота", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} см", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Алергії", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Хронічний", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Ліки", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Пристрої", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Консультації", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Документи", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Видалити медичну картку?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Це назавжди видалить ваші дані про здоров'я і не може бути скасовано. Ви втратите контекст, який ми використовуємо для вашого керівництва.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Скасувати", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Видалити", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Видалення вашої медичної картки...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Не вдалося видалити профіль", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Запис про здоров'я видалено", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Ви можете створити новий у будь-який час, спілкуючись з асистентом.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Повернутися до чату", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Редагування", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Не вдалося завантажити дані профілю", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Зміни збережено", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Ваша інформація була успішно оновлена.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Повернутися до профілю", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Не вдалося оновити дані профілю", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Скасувати зміни?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Ви внесли деякі зміни до свого профілю. Збережіть їх перед виходом або скиньте.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Продовжити редагування", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Скасувати", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Редагувати", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Додати запис", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Пошук", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Результатів не знайдено", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Завантажити", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Поділитися", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Видалити", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Документи не знайдено", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Видалити цей документ?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Цей файл буде видалено назавжди", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Скасувати", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Видалити", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Інші дії", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Пошук", + "@profilesSearch": {}, + "profilesEmptyList": "Профілів не знайдено", + "@profilesEmptyList": {}, + "profilesViewMore": "Показати більше", + "@profilesViewMore": {}, + "profilesMore": "Більше", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina тепер пам'ятає ваше здоров'я", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Ваші консультації тепер автоматично формують і оновлюють вашу медичну картку.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Ваш медичний запис, ваші правила", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Переглядайте, редагуйте або додавайте симптоми, ліки, історію чи документи в будь-який час.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Доглядайте за всією родиною", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Створіть медичну картку для своїх близьких, дітей, батьків або партнера.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Готові зберегти вашу медичну картку?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Після консультації натисніть «Додати профіль», щоб зберегти його.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Далі", + "@profilesNextButton": {}, + "profilesStartButton": "Почати консультацію", + "@profilesStartButton": {}, + "profilesLaterButton": "Можливо, пізніше", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Закрити", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Медична картка", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Медична картка — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...більше", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "менше", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Додати новий профіль", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Створіть профіль, щоб зберегти деталі цієї консультації.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Ви можете переглянути це у своїх медичних записах будь-коли", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Якщо у вас є додаткові запитання щодо цього або будь-яких пов’язаних тем, не соромтеся продовжувати спілкуватися зі мною. Я тут, щоб допомогти", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Загальна інформація", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Ім'я", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Ім'я", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Іван", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Прізвище", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Стать", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Оберіть", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Чоловік", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Жінка", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Інше", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Дата народження", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "РРРР-ММ-ДД", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Вік", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "наприклад 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Номер телефону", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Електронна пошта", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Місцезнаходження", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "напр. Місто, Країна", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Тіло & Харчування", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Зріст", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "наприклад 180 см", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Вага", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "наприклад, 75 кг", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Менструальний цикл", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "e.g. Регулярний, Нерегулярний", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Дієтичні обмеження", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Будь ласка, виберіть", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Дайте нам знати, що ви їсте та які у вас є обмеження", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Немає", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Вегетаріанська", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Веган", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Без глютену", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Індекс маси тіла (ІМТ)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "наприклад 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Профіль здоров'я", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Хронічні захворювання", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "Цукровий діабет 2 типу", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Будь ласка, перелікуйте всі хронічні захворювання та вкажіть, коли вони були діагностовані, а також будь-які ускладнення.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Попередні захворювання", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "наприклад, часті простудні захворювання", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Будь ласка, перераховуйте серйозні захворювання, які у вас були в минулому, навіть якщо ви одужали.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Хірургічний анамнез", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "наприклад апендектомія", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Будь ласка, перерахуйте всі операції та вкажіть рік і чи були ускладнення.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Зрідка вживані ліки", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "наприклад, Ібупрофен", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Будь ласка, вкажіть ліки, які ви приймаєте час від часу (наприклад: знеболювальні, ліки від алергії), включаючи дозу та причину використання.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Регулярні ліки", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "наприклад, Метформін", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Будь ласка, вкажіть усі ліки, які ви приймаєте регулярно, включаючи назву, дозу, скільки разів на день ви їх приймаєте та для якого стану вони призначені.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Алергії", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "наприклад, пеніцилін – викликає висип", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Будь ласка, перерахуйте всі алергії (ліки, їжа, навколишнє середовище) та опишіть, яку реакцію ви маєте (наприклад: висип, набряк, проблеми з диханням).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Особливі стани", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "наприклад: вагітність, інвалідність", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Якщо у вас є важливі медичні стани, про які лікарі завжди повинні знати (наприклад: вагітність, імплантовані пристрої, інвалідність, терапія антикоагулянтами), будь ласка, опишіть їх. Якщо немає, ви можете залишити це поле порожнім.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Сімейний анамнез", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "наприклад: серцеві захворювання, рак", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Будь ласка, опишіть важливі захворювання у вашій родині (наприклад: діабет, гіпертонія, серцеві захворювання, рак, генетичні захворювання) та вкажіть, який член родини мав це захворювання.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Соціальні та фактори способу життя", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "напр. Куріння, Вживання алкоголю", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Будь ласка, опишіть фактори способу життя, які можуть вплинути на ваше здоров'я, такі як куріння, алкоголь, фізична активність, дієта, сон та професія.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Медичні пристрої", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "Наприклад: кардіостимулятор, слуховий апарат, інсулінова помпа", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Будь ласка, вкажіть будь-які медичні пристрої, які ви використовуєте або які у вас імплантовані, такі як кардіостимулятори, інсулінові помпи, слухові апарати, протези або інші допоміжні чи моніторингові пристрої. Включіть відповідні деталі, якщо це можливо.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Всеїдний", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Фастфуд", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Пескатаріанець", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Без лактози", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Дієта з низьким вмістом солі", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Дієта з низьким вмістом цукру", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Серцева дієта", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Ниркова дієта", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Інше", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_ur.arb b/example/lib/src/l10n/profiles/app_ur.arb new file mode 100644 index 0000000..3f36d5d --- /dev/null +++ b/example/lib/src/l10n/profiles/app_ur.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "ur", + "chatDrawerTitle": "صحت کے ریکارڈ", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "نیا", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "اپنی صحت کا ریکارڈ بنائیں", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "اپنی مشاورت کے آخر میں، اپنا پروفائل شامل کریں۔", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "زیادہ پروفائلز شامل کریں", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "کسی اور کے لیے مشاورت شروع کریں تاکہ وہ اپنا پروفائل بنا سکے۔", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "اپنا صحت ریکارڈ بنانے کے لیے سائن اپ کریں", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "دوبارہ کوشش کریں", + "@errorRetryButton": {}, + "dashboardDeleteError": "پروفائل حذف کرنے میں ناکامی", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "پروفائل کا خلاصہ لوڈ کرنے میں ناکامی", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "مکمل ریکارڈ دیکھیں", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "شیئر کریں", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "حذف کریں", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "عمر", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} سال} other{{value} سال}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "وزن", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "قد", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} سینٹی میٹر", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "الرجی", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "مزمن", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "ادویات", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "آلات", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "مشاورت", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "دستاویزات", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "صحت کا ریکارڈ حذف کریں؟", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "یہ آپ کے صحت کے ڈیٹا کو مستقل طور پر ہٹا دے گا اور اسے واپس نہیں لایا جا سکتا۔ آپ اس سیاق و سباق کو کھو دیں گے جسے ہم آپ کی رہنمائی کے لیے استعمال کرتے ہیں۔", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "کینسل", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "حذف کریں", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "آپ کا صحت کا ریکارڈ حذف کیا جا رہا ہے...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "پروفائل کو حذف کرنے میں ناکامی", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "صحت کا ریکارڈ حذف کر دیا گیا", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "آپ کسی بھی وقت اسسٹنٹ سے بات کرکے نیا بنا سکتے ہیں۔", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "چیٹ پر واپس جائیں", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "ترمیم", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "پروفائل کا ڈیٹا لوڈ کرنے میں ناکامی", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "تبدیلیاں محفوظ کر لی گئیں", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "آپ کی معلومات کامیابی کے ساتھ اپ ڈیٹ کر دی گئی ہیں۔", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "پروفائل پر واپس جائیں", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "پروفائل کے ڈیٹا کو اپ ڈیٹ کرنے میں ناکامی", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "تبدیلیاں ختم کریں؟", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "آپ نے اپنے پروفائل میں کچھ تبدیلیاں کی ہیں۔ انہیں محفوظ کریں یا انہیں چھوڑ دیں۔", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "ترمیم جاری رکھیں", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "خارج کریں", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "ترمیم", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "ریکارڈ شامل کریں", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "تلاش کریں", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "کوئی نتائج نہیں ملے", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "ڈاؤن لوڈ کریں", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "شیئر کریں", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "حذف کریں", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "کوئی دستاویزات نہیں ملیں", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "کیا آپ اس دستاویز کو حذف کرنا چاہتے ہیں؟", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "یہ فائل مستقل طور پر ہٹا دی جائے گی", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "کینسل", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "حذف کریں", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "مزید اقدامات", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "تلاش کریں", + "@profilesSearch": {}, + "profilesEmptyList": "کوئی پروفائل نہیں ملا", + "@profilesEmptyList": {}, + "profilesViewMore": "مزید دیکھیں", + "@profilesViewMore": {}, + "profilesMore": "مزید", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "ڈاکٹرینا اب آپ کی صحت کو یاد رکھتا ہے", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "آپ کی مشاورت اب آپ کے صحت کے ریکارڈ کو خود بخود تیار اور اپ ڈیٹ کرتی ہے۔", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "آپ کا صحت کا ریکارڈ، آپ کے اصول", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "کبھی بھی علامات، ادویات، تاریخ، یا دستاویزات دیکھیں، ترمیم کریں، یا شامل کریں۔", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "اپنی پوری خاندان کا خیال رکھیں", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "اپنے پیاروں، بچوں، والدین، یا ساتھی کے لیے صحت کا ریکارڈ بنائیں۔", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "کیا آپ اپنے صحت کے ریکارڈ کو محفوظ کرنے کے لیے تیار ہیں؟", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "اپنی مشاورت کے بعد، \"پروفائل شامل کریں\" پر ٹیپ کریں تاکہ اسے محفوظ کیا جا سکے۔", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "اگلا", + "@profilesNextButton": {}, + "profilesStartButton": "مشاورت شروع کریں", + "@profilesStartButton": {}, + "profilesLaterButton": "شاید بعد میں", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "بند کریں", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "صحت کا ریکارڈ", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "صحت کا ریکارڈ — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...زیادہ", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...کم", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "نیا پروفائل شامل کریں", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "اس مشاورت کی تفصیلات محفوظ کرنے کے لیے ایک پروفائل بنائیں", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "آپ اسے کسی بھی وقت اپنے Health Records میں جانچ سکتے ہیں", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "اگر آپ کو اس یا اس سے متعلق کسی بھی بات کے بارے میں مزید سوالات ہوں تو بلا جھجھک مجھ سے بات جاری رکھیں. میں مدد کے لیے یہاں ہوں", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "عمومی معلومات", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "نام", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "جان ڈو", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "پہلا نام", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "جان", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "آخری نام", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "جنس", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "براہ کرم منتخب کریں", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "مرد", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "عورت", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "دیگر", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "تاریخ پیدائش", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "عمر", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "مثلاً 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "فون نمبر", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "ای میل", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "مقام", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "مثلاً شہر، ملک", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "جسم اور غذا", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "قد", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "مثلاً 180 سم", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "وزن", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "مثلاً 75 کلوگرام", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "ماہواری کا چکر", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "مثلاً باقاعدہ، بے قاعدہ", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "غذائی پابندیاں", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "براہ کرم منتخب کریں", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "ہمیں بتائیں کہ آپ کیا کھاتے ہیں اور آپ کی کوئی پابندیاں ہیں", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "کوئی نہیں", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "سبزی خور", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "ویگن", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "گلوٹن سے پاک", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "جسمانی ماس انڈیکس (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "مثلاً 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "صحت کا پروفائل", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "مزمن بیماریاں", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "جیسے کہ ذیابیطس ٹائپ 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "براہ کرم تمام دائمی بیماریوں کی فہرست بنائیں اور شامل کریں کہ یہ کب تشخیص ہوئی تھیں اور کوئی پیچیدگیاں۔", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "گزشتہ بیماریاں", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "جیسے، بار بار نزلہ زکام", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "براہ کرم ماضی میں آپ کو ہونے والی سنگین بیماریوں کی فہرست بنائیں، چاہے آپ صحت یاب ہو گئے ہوں۔", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "سرجری کی تاریخ", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "مثلاً اپینڈیکٹومی", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "براہ کرم تمام سرجریوں کی فہرست بنائیں اور سال اور آیا کوئی پیچیدگیاں تھیں شامل کریں۔", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "کبھی کبھار استعمال ہونے والی ادویات", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "جیسے Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "براہ کرم ان ادویات کی فہرست بنائیں جو آپ کبھی کبھار لیتے ہیں (مثلاً: درد کش ادویات، الرجی کی ادویات)، بشمول خوراک اور استعمال کی وجہ۔", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "باقاعدہ ادویات", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "جیسے میٹفارمین", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "براہ کرم تمام ادویات کی فہرست بنائیں جو آپ باقاعدگی سے لیتے ہیں، بشمول نام، خوراک، آپ اسے دن میں کتنی بار لیتے ہیں، اور یہ کس حالت کے لیے ہے۔", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "حساسیتیں", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "جیسے کہ، پینسلین – خارش پیدا کرتا ہے", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "براہ کرم تمام الرجیوں کی فہرست بنائیں (ادویات، خوراک، ماحولیاتی) اور بیان کریں کہ آپ کو کیا ردعمل ہوتا ہے (مثلاً: خارش، سوجن، سانس لینے میں مشکلات)۔", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "خصوصی حالات", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "مثلاً حمل، معذوری", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "اگر آپ کے پاس کوئی اہم طبی حالتیں ہیں جن کے بارے میں ڈاکٹروں کو ہمیشہ جاننا چاہیے (مثلاً: حمل، لگائے گئے آلات، معذوریاں، اینٹی کوگولیشن تھراپی)، تو براہ کرم ان کی وضاحت کریں۔ اگر کوئی نہیں ہے تو آپ اسے خالی چھوڑ سکتے ہیں۔", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "خاندانی طبی تاریخ", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "مثلاً دل کی بیماری، کینسر", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "براہ کرم اپنے خاندان میں اہم بیماریوں کی وضاحت کریں (مثلاً: ذیابیطس، ہائی بلڈ پریشر، دل کی بیماری، کینسر، جینیاتی بیماریاں) اور یہ بتائیں کہ کون سے خاندان کے رکن کو یہ بیماری ہوئی تھی۔", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "سماجی اور طرزِ زندگی کے عوامل", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "مثلاً سگریٹ نوشی، شراب نوشی", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "براہ کرم طرز زندگی کے عوامل کی وضاحت کریں جو آپ کی صحت پر اثر انداز ہو سکتے ہیں، جیسے کہ تمباکو نوشی، الکحل، جسمانی سرگرمی، غذا، نیند، اور پیشہ.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "طبی آلات", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "مثلاً پیس میکر، سماعت کا آلہ، انسولین پمپ", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "براہ کرم کوئی بھی طبی آلات درج کریں جو آپ استعمال کرتے ہیں یا جنہیں آپ نے پیوند کیا ہے، جیسے کہ پیس میکر، انسولین پمپ، سماعت کے آلات، مصنوعی اعضاء، یا دیگر معاون یا نگرانی کے آلات۔ اگر قابل اطلاق ہو تو متعلقہ تفصیلات شامل کریں۔", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "ہمہ خوار", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "فاسٹ فوڈ", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "مچھلی خور", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "لیکٹوز سے پاک", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "کم نمک والی غذا", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "کم شکر والی غذا", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "دل کی خوراک", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "گردوں کی غذا", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "دیگر", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_uz.arb b/example/lib/src/l10n/profiles/app_uz.arb new file mode 100644 index 0000000..31d9807 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_uz.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "uz", + "chatDrawerTitle": "Sog'liqni saqlash yozuvlari", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "YANGI", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Sizning Sog'liq Yozuvingizni Yaratish", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Maslahat oxirida profilingizni qo'shing.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Batafsil profillar qo'shish", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Boshqa kishi uchun maslahat boshlang, uning profilini yaratish uchun.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Sog'liq yozuvingizni yaratish uchun ro'yxatdan o'ting", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Qayta urinib ko'ring", + "@errorRetryButton": {}, + "dashboardDeleteError": "Profilni o'chirishda xato", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Profil qisqacha ma'lumotini yuklashda xato", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "To'liq yozuvni ko'rish", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Ulashish", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "O'chirish", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Yosh", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} yil} other{{value} yil}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Og'irlik", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Balandlik", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} sm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Allergiyalar", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Surunkali", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Dori", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Qurilmalar", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Maslahatlar", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Hujjatlar", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Sog'liq yozuvini o'chirish?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Bu sizning sog'liq ma'lumotlaringizni doimiy ravishda o'chiradi va qaytarib bo'lmaydi. Siz biz sizni yo'naltirish uchun ishlatadigan kontekstni yo'qotasiz.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Bekor qilish", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "O'chirish", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Sizning sog'liq yozuvingiz o'chirilmoqda...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Profilni o'chirishda xato", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Sog'liq yozuvi o'chirildi", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Siz har qanday vaqtda yordamchiga yozish orqali yangi birini yaratishingiz mumkin", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Suhbatga qaytish", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Tahrirlash", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Profil ma'lumotlarini yuklashda xato", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "O'zgarishlar saqlandi", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Ma'lumotlaringiz muvaffaqiyatli yangilandi.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Profilga qaytish", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Profil ma'lumotlarini yangilashda xato", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "O'zgarishlarni bekor qilasizmi?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Siz profilingizda ba'zi o'zgarishlar qildingiz. Ularni ketishdan oldin saqlang yoki bekor qiling.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Tahrirni davom ettirish", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "O'chirish", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Tahrirlash", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Yozuv qo'shish", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Qidirish", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Natija topilmadi", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Yuklab olish", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Ulashish", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "O'chirish", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Hech qanday hujjat topilmadi", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Ushbu hujjatni o'chirishni xohlaysizmi?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Ushbu fayl doimiy ravishda o'chiriladi", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Bekor qilish", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "O'chirish", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Boshqa amallar", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Qidirish", + "@profilesSearch": {}, + "profilesEmptyList": "Hech qanday profil topilmadi", + "@profilesEmptyList": {}, + "profilesViewMore": "Ko‘proq ko‘rish", + "@profilesViewMore": {}, + "profilesMore": "Ko'proq", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina endi sizning salomatligingizni eslaydi", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Konsultatsiyalaringiz endi avtomatik ravishda Sog'liq yozuvingizni yaratadi va yangilaydi.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Sizning Sog'liq Yozuvingiz, sizning qoidalaringiz", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Har qanday vaqtda simptomlar, dori-darmonlar, tarix yoki hujjatlarni ko'rish, tahrirlash yoki qo'shishingiz mumkin.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Butun oilangizga g'amxo'rlik qiling", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Sevganlaringiz, bolalaringiz, ota-onalaringiz yoki hamkoringiz uchun Sog'liq yozuvini yarating.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Sizning Sog'liqni Saqlash Hisobotingizni saqlashga tayyormisiz?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Maslahatingizdan so'ng, uni saqlash uchun \"Profil qo'shish\" tugmasini bosing.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Keyingi", + "@profilesNextButton": {}, + "profilesStartButton": "Maslahatni boshlash", + "@profilesStartButton": {}, + "profilesLaterButton": "Keyinroq", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Yopish", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Tibbiy qayd", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Tibbiy ma'lumot — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...ko'proq", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "kamroq", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Yangi profil qo'shish", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Ushbu maslahatning tafsilotlarini saqlash uchun profil yarating.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Sog'liqni saqlash yozuvlaringizda uni istalgan vaqtda baholashingiz mumkin", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Agar buning yoki unga bog'liq boshqa savollaringiz bo'lsa, bemalol men bilan suhbatni davom ettiring. Men yordam berish uchun shu yerdaman", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Umumiy ma'lumot", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Ism", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Ism", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "Ali", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Familiya", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Jins", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Iltimos tanlang", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Erkak", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Ayol", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Boshqa", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Tug'ilgan sana", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Yosh", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "masalan 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Telefon raqami", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Elektron pochta", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Joylashuv", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "masalan Shahar, Mamlakat", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Tana & Oziqlanish", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Balandlik", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "masalan 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Og'irlik", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "masalan 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Hayz Davri", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "masalan Muntazam, tartibsiz", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Ovqatlanish cheklovlari", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Iltimos tanlang", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Bizga nima iste'mol qilayotganingizni va har qanday cheklovlaringizni ayting", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Yo'q", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Vejetaryan", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Glutensiz", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Tana Massasi Indeksi (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "masalan 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Sog'liq profili", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Surunkali kasalliklar", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "masalan, 2-tur diabet", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Iltimos, barcha surunkali kasalliklarni sanab bering va ularning qachon aniqlanganini va har qanday asoratlarni qo'shing.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "O'tgan kasalliklar", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "masalan: tez-tez oddiy gripp", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Iltimos, o'tmishda bo'lgan jiddiy kasalliklaringizni sanab bering, hatto agar tuzalgan bo'lsangiz ham.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Jarrohlik tarixi", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "masalan Appendektomiya", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Iltimos, barcha jarrohlik amaliyotlarini sanasi va har qanday asoratlar bo'lganligini ko'rsatib ro'yxatlang.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Ba'zan ishlatiladigan dorilar", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "masalan, Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Iltimos, vaqt-vaqti bilan qabul qiladigan dori-darmonlaringizni (masalan: og'riq qoldiruvchi, allergiya dori-darmonlari) dozasi va foydalanish sababi bilan birga sanab o'ting", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Doimiy dori-darmonlar", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "masalan, Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Iltimos, muntazam ravishda qabul qiladigan barcha dori-darmonlaringizni, shu jumladan nomi, dozi, kuniga necha marta qabul qilishingiz va qaysi kasallik uchun ekanligini ro'yxatga oling.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Allergiyalar", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "masalan, Penitsillin – toshma keltiradi", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Iltimos, barcha allergiyalaringizni (dori-darmonlar, ovqat, atrof-muhit) sanab bering va qanday reaktsiya ko'rsatganingizni tasvirlang (masalan: toshma, shish, nafas olish muammolari).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Maxsus holatlar", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "masalan Homiladorlik, Nogironlik", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Agar shifokorlar doimo bilishi kerak bo'lgan muhim tibbiy holatlaringiz bo'lsa (masalan: homiladorlik, implantatsiya qilingan qurilmalar, nogironliklar, antikoagulyatsiya terapiyasi), iltimos, ularni tasvirlang. Agar yo'q bo'lsa, bu joyni bo'sh qoldirishingiz mumkin.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Oilaviy anamnez", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "masalan: yurak kasalligi, saraton", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Iltimos, oilangizdagi muhim kasalliklarni tasvirlang (masalan: diabet, gipertoniya, yurak kasalliklari, saraton, genetik kasalliklar) va qaysi oila a'zosida bu holat borligini ko'rsating.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Ijtimoiy va hayot tarzi omillari", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "masalan Chekish, Spirtli ichimliklar iste'moli", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Iltimos, sog'lig'ingizga ta'sir qilishi mumkin bo'lgan turmush tarzi omillarini, masalan, chekish, spirtli ichimliklar, jismoniy faoliyat, ovqatlanish, uyqu va kasbni tasvirlab bering.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Tibbiy qurilmalar", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "Masalan: Yurak stimulyatori, Eshitish moslamasi, Insulin nasosi", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Iltimos, foydalanayotgan yoki implantatsiya qilingan tibbiy qurilmalarni, masalan, yurak stimulyatorlari, insulin pompalar, eshitish apparatlari, protezlar yoki boshqa yordamchi yoki monitoring qurilmalarini sanab bering. Agar kerak bo'lsa, tegishli tafsilotlarni qo'shing.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Hamma narsani yeyuvchi", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Tez ovqat", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Baliqxor", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Laktozsiz", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Kam tuzli parhez", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Kam shakarli dieta", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Yurak Parhezi", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Buyrak parhezi", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Boshqa", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_vi.arb b/example/lib/src/l10n/profiles/app_vi.arb new file mode 100644 index 0000000..e8385be --- /dev/null +++ b/example/lib/src/l10n/profiles/app_vi.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "vi", + "chatDrawerTitle": "Hồ sơ sức khỏe", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "MỚI", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Tạo Hồ Sơ Sức Khỏe Của Bạn", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Cuối buổi tư vấn, hãy thêm hồ sơ của bạn", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Thêm nhiều hồ sơ hơn", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Bắt đầu tư vấn cho người khác để tạo hồ sơ của họ", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Đăng ký để tạo Hồ sơ sức khỏe của bạn", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Thử lại", + "@errorRetryButton": {}, + "dashboardDeleteError": "Xóa hồ sơ không thành công", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Không thể tải tóm tắt hồ sơ", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Xem hồ sơ đầy đủ", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Chia sẻ", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Xóa", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Tuổi", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} năm} other{{value} năm}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Cân nặng", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Chiều cao", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "-", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Dị ứng", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Mãn tính", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Thuốc", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Thiết bị", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Tư vấn", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Tài liệu", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Xóa hồ sơ sức khỏe?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Điều này sẽ xóa vĩnh viễn dữ liệu sức khỏe của bạn và không thể hoàn tác. Bạn sẽ mất bối cảnh mà chúng tôi sử dụng để hướng dẫn bạn.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Hủy", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Xóa", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Đang xóa hồ sơ sức khỏe của bạn...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Xóa hồ sơ không thành công", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Đã xóa hồ sơ sức khỏe", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Bạn có thể tạo một cái mới bất cứ lúc nào bằng cách trò chuyện với trợ lý.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Quay lại trò chuyện", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Chỉnh sửa", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Không thể tải dữ liệu hồ sơ", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Thay đổi đã được lưu", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Thông tin của bạn đã được cập nhật thành công", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Quay lại hồ sơ", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Không thể cập nhật dữ liệu hồ sơ", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Bỏ qua thay đổi?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Bạn đã thực hiện một số thay đổi cho hồ sơ của mình. Hãy lưu chúng trước khi rời đi, hoặc bỏ qua chúng.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Tiếp tục chỉnh sửa", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Bỏ qua", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Chỉnh sửa", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Thêm hồ sơ", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Tìm kiếm", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Không tìm thấy kết quả", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Tải xuống", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Chia sẻ", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Xóa", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Không tìm thấy tài liệu", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Xóa tài liệu này?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Tệp này sẽ bị xóa vĩnh viễn", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Hủy", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Xóa", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Thao tác khác", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Tìm kiếm", + "@profilesSearch": {}, + "profilesEmptyList": "Không tìm thấy hồ sơ nào", + "@profilesEmptyList": {}, + "profilesViewMore": "Xem thêm", + "@profilesViewMore": {}, + "profilesMore": "Thêm", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina giờ đây nhớ sức khỏe của bạn", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Các cuộc tư vấn của bạn giờ đây tự động xây dựng và cập nhật Hồ sơ sức khỏe của bạn.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Hồ sơ sức khỏe của bạn, quy tắc của bạn", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Xem, chỉnh sửa hoặc thêm triệu chứng, thuốc, lịch sử hoặc tài liệu bất cứ lúc nào", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Chăm sóc cho cả gia đình bạn", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Tạo hồ sơ sức khỏe cho những người thân yêu của bạn, con cái, cha mẹ hoặc bạn đời.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Sẵn sàng lưu Hồ sơ sức khỏe của bạn?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Sau khi tư vấn, chạm vào “Thêm hồ sơ” để lưu lại.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Tiếp theo", + "@profilesNextButton": {}, + "profilesStartButton": "Bắt đầu tư vấn", + "@profilesStartButton": {}, + "profilesLaterButton": "Có thể sau", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Đóng", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Hồ sơ sức khỏe", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Hồ sơ sức khỏe — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...thêm", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "ít hơn", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Thêm hồ sơ mới", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Tạo một hồ sơ để lưu chi tiết của cuộc tư vấn này.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Bạn có thể xem nó bất cứ lúc nào trong Hồ sơ sức khỏe của bạn", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Nếu bạn có thêm câu hỏi về điều này hoặc bất kỳ điều gì liên quan, cứ tiếp tục trò chuyện với tôi. Tôi ở đây để giúp bạn", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Thông tin chung", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Tên", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "Nguyễn Văn A", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Tên", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Họ", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Nguyễn", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Giới tính", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Vui lòng chọn", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Nam", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Nữ", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Khác", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Ngày sinh", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Tuổi", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "ví dụ 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Số điện thoại", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Email", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Vị trí", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "Ví dụ: Thành phố, Quốc gia", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Cơ thể & Chế độ ăn", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Chiều cao", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "ví dụ 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Cân nặng", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "ví dụ: 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Chu kỳ kinh nguyệt", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "ví dụ: Đều, Không đều", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Hạn chế về chế độ ăn", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Vui lòng chọn", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Hãy cho chúng tôi biết bạn ăn gì và bất kỳ hạn chế nào bạn có", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Không có", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Ăn chay", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Thuần chay", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Không chứa gluten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Chỉ số khối cơ thể (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "ví dụ 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Hồ sơ sức khỏe", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Bệnh mãn tính", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "ví dụ: Tiểu đường loại 2", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Vui lòng liệt kê tất cả các bệnh mãn tính và bao gồm thời gian chẩn đoán cũng như bất kỳ biến chứng nào.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Tiền sử bệnh", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "ví dụ: Cảm lạnh thông thường thường xuyên", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Vui lòng liệt kê các bệnh nghiêm trọng bạn đã mắc phải trong quá khứ, ngay cả khi bạn đã hồi phục.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Tiền sử phẫu thuật", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "vd. Cắt ruột thừa", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Vui lòng liệt kê tất cả các ca phẫu thuật và bao gồm năm và liệu có bất kỳ biến chứng nào không.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Thuốc dùng thỉnh thoảng", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "ví dụ: Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Vui lòng liệt kê các loại thuốc bạn dùng từ thời gian này sang thời gian khác (ví dụ: thuốc giảm đau, thuốc dị ứng), bao gồm liều lượng và lý do sử dụng.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Thuốc thường dùng", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "ví dụ: Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Vui lòng liệt kê tất cả các loại thuốc bạn dùng thường xuyên, bao gồm tên, liều lượng, số lần mỗi ngày bạn dùng và tình trạng mà nó dành cho.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Dị ứng", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "ví dụ: Penicillin – gây phát ban", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Vui lòng liệt kê tất cả các dị ứng (thuốc, thực phẩm, môi trường) và mô tả phản ứng của bạn (ví dụ: phát ban, sưng, vấn đề về hô hấp).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Tình trạng đặc biệt", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "ví dụ: Mang thai, Khuyết tật", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Nếu bạn có bất kỳ tình trạng y tế quan trọng nào mà bác sĩ nên luôn biết (ví dụ: mang thai, thiết bị cấy ghép, khuyết tật, liệu pháp chống đông máu), vui lòng mô tả chúng. Nếu không có, bạn có thể để trống mục này.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Tiền sử gia đình", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "ví dụ: bệnh tim, ung thư", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Vui lòng mô tả các bệnh quan trọng trong gia đình bạn (ví dụ: tiểu đường, huyết áp cao, bệnh tim, ung thư, bệnh di truyền) và chỉ rõ thành viên nào trong gia đình đã mắc bệnh.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Yếu tố xã hội và lối sống", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "Ví dụ: Hút thuốc, uống rượu", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Vui lòng mô tả các yếu tố lối sống có thể ảnh hưởng đến sức khỏe của bạn, chẳng hạn như hút thuốc, rượu, hoạt động thể chất, chế độ ăn uống, giấc ngủ và nghề nghiệp.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Thiết bị y tế", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "ví dụ: Máy tạo nhịp tim, Máy trợ thính, Bơm insulin", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Vui lòng liệt kê bất kỳ thiết bị y tế nào bạn sử dụng hoặc đã được cấy ghép, chẳng hạn như máy tạo nhịp tim, bơm insulin, máy trợ thính, chân tay giả hoặc các thiết bị hỗ trợ hoặc giám sát khác. Bao gồm các chi tiết liên quan nếu có.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Ăn tạp", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Thức ăn nhanh", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Ăn chay có cá", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Không Chứa Lactose", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Chế độ ăn ít muối", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Chế độ ăn ít đường", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Chế độ ăn tim mạch", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Chế độ ăn thận", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Khác", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_zh.arb b/example/lib/src/l10n/profiles/app_zh.arb new file mode 100644 index 0000000..c7bc759 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_zh.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "zh", + "chatDrawerTitle": "健康记录", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "新", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "创建您的健康记录", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "在咨询结束时,添加您的个人资料。", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "添加更多个人资料", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "为其他人开始咨询以创建他们的个人资料。", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "注册以创建您的健康记录", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "重试", + "@errorRetryButton": {}, + "dashboardDeleteError": "删除个人资料失败", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "加载个人资料摘要失败", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "查看完整记录", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "分享", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "删除", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "年龄", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value}岁} other{{value}岁}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "体重", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "身高", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "过敏", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "慢性", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "药物", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "设备", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "咨询", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "文件", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "删除健康记录吗?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "这将永久删除您的健康数据,无法恢复。您将失去我们用来指导您的上下文。", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "取消", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "删除", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "正在删除您的健康记录...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "删除个人资料失败", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "健康记录已删除", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "您可以随时通过与助手聊天创建一个新的.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "返回聊天", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "编辑", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "无法加载个人资料数据", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "更改已保存", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "您的信息已成功更新。", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "返回个人资料", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "更新个人资料数据失败", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "放弃更改吗?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "您对个人资料进行了更改。在离开之前保存更改,或放弃它们。", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "继续编辑", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "丢弃", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "编辑", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "添加记录", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "搜索", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "未找到结果", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "下载", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "分享", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "删除", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "未找到文档", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "删除此文档吗?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "此文件将被永久删除", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "取消", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "删除", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "更多操作", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "搜索", + "@profilesSearch": {}, + "profilesEmptyList": "未找到个人资料", + "@profilesEmptyList": {}, + "profilesViewMore": "查看更多", + "@profilesViewMore": {}, + "profilesMore": "更多", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina 现在记住了您的健康", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "您的咨询现在会自动构建和更新您的健康记录。", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "您的健康记录,您的规则", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "随时查看、编辑或添加症状、药物、历史或文件。", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "照顾好您的整个家庭", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "为您的亲人、孩子、父母或伴侣创建健康记录。", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "准备好保存您的健康记录吗?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "咨询后,点击“添加个人资料”以保存它。", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "下一步", + "@profilesNextButton": {}, + "profilesStartButton": "开始咨询", + "@profilesStartButton": {}, + "profilesLaterButton": "也许稍后", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "关闭", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "健康记录", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "健康记录 — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...更多", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...更少", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "添加新档案", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "创建一个档案以保存此次咨询的详细信息", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "您可以随时在您的健康记录中评估它", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "如果您对此或相关任何问题还有更多疑问,欢迎继续与我交谈。我在这里为您提供帮助", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "基本信息", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "姓名", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "张三", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "名字", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "约翰", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "姓", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "张", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "性别", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "请选择", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "男性", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "女性", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "其他", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "出生日期", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "年龄", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "例如 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "电话号码", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "电子邮箱", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "位置", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "例如:城市,国家", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "身体与饮食", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "身高", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "例如 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "体重", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "例如 75 公斤", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "月经周期", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "例如:规律、不规律", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "饮食限制", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "请选择", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "告诉我们您吃什么以及您有哪些限制", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "无饮食限制", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "素食", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "纯素", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "无麸质", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "身体质量指数 (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "例如 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "健康档案", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "慢性疾病", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "例如:2型糖尿病", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "请列出所有慢性疾病,并包括诊断时间和任何并发症。", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "既往病史", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "例如:频繁感冒", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "请列出您过去患过的严重疾病,即使您已经康复。", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "手术史", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "例如:阑尾切除术", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "请列出所有手术,并包括年份以及是否有任何并发症。", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "偶尔使用的药物", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "例如,布洛芬", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "请列出您偶尔服用的药物(例如:止痛药、过敏药物),包括剂量和使用原因。", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "常规用药", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "例如,二甲双胍", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "请列出您定期服用的所有药物,包括名称、剂量、每天服用的次数以及用于治疗的疾病。", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "过敏", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "例如:青霉素 – 引起皮疹", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "请列出所有过敏源(药物、食物、环境),并描述您有什么反应(例如:皮疹、肿胀、呼吸问题)。", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "特殊情况", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "例如:怀孕、残疾", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "如果您有任何重要的医疗状况,医生应该始终知道(例如:怀孕、植入设备、残疾、抗凝治疗),请描述它们。如果没有,您可以留空。", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "家族史", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "例如:心脏病、癌症", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "请描述您家族中重要的疾病(例如:糖尿病、高血压、心脏病、癌症、遗传疾病),并说明哪个家庭成员患有该疾病。", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "社会与生活方式因素", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "例如吸烟、饮酒", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "请描述可能影响您健康的生活方式因素,例如吸烟、饮酒、身体活动、饮食、睡眠和职业。", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "医疗设备", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "例如:起搏器、助听器、胰岛素泵", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "请列出您使用或植入的任何医疗设备,例如心脏起搏器、胰岛素泵、助听器、假肢或其他辅助或监测设备。如适用,请包括相关细节。", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "杂食", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "快餐", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "海鲜素食者", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "无乳糖", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "低钠饮食", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "低糖饮食", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "心脏病饮食", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "肾脏饮食", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "其他", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_zh_CN.arb b/example/lib/src/l10n/profiles/app_zh_CN.arb new file mode 100644 index 0000000..3c65bab --- /dev/null +++ b/example/lib/src/l10n/profiles/app_zh_CN.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "zh_CN", + "chatDrawerTitle": "健康记录", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "新", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "创建您的健康记录", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "在咨询结束时,添加您的个人资料。", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "添加更多个人资料", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "为其他人开始咨询以创建他们的个人资料。", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "注册以创建您的健康记录", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "重试", + "@errorRetryButton": {}, + "dashboardDeleteError": "删除个人资料失败", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "加载个人资料摘要失败", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "查看完整记录", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "分享", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "删除", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "年龄", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value}岁} other{{value}岁}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "体重", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "身高", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "过敏", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "慢性", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "药物", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "设备", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "咨询", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "文件", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "删除健康记录吗?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "这将永久删除您的健康数据,无法恢复。您将失去我们用来指导您的上下文。", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "取消", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "删除", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "正在删除您的健康记录...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "删除个人资料失败", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "健康记录已删除", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "您可以随时通过与助手聊天创建一个新的.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "返回聊天", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "编辑", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "无法加载个人资料数据", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "更改已保存", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "您的信息已成功更新。", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "返回个人资料", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "更新个人资料数据失败", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "放弃更改吗?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "您对个人资料进行了更改。在离开之前保存更改,或放弃它们。", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "继续编辑", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "丢弃", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "编辑", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "添加记录", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "搜索", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "未找到结果", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "下载", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "分享", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "删除", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "未找到文档", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "删除此文档吗?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "此文件将被永久删除", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "取消", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "删除", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "更多操作", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "搜索", + "@profilesSearch": {}, + "profilesEmptyList": "未找到个人资料", + "@profilesEmptyList": {}, + "profilesViewMore": "查看更多", + "@profilesViewMore": {}, + "profilesMore": "更多", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina 现在记住了您的健康", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "您的咨询现在会自动构建和更新您的健康记录。", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "您的健康记录,您的规则", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "随时查看、编辑或添加症状、药物、历史或文件。", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "照顾好您的整个家庭", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "为您的亲人、孩子、父母或伴侣创建健康记录。", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "准备好保存您的健康记录吗?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "咨询后,点击“添加个人资料”以保存它。", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "下一步", + "@profilesNextButton": {}, + "profilesStartButton": "开始咨询", + "@profilesStartButton": {}, + "profilesLaterButton": "也许稍后", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "关闭", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "健康记录", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "健康记录 — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...更多", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...更少", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "添加新档案", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "创建一个档案以保存此次咨询的详细信息", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "您可以随时在您的健康记录中评估它", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "如果您对此或相关任何问题还有更多疑问,欢迎继续与我交谈。我在这里为您提供帮助", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "基本信息", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "姓名", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "张三", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "名字", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "约翰", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "姓", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "张", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "性别", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "请选择", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "男性", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "女性", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "其他", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "出生日期", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "年龄", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "例如 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "电话号码", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "电子邮箱", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "位置", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "例如:城市,国家", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "身体与饮食", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "身高", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "例如 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "体重", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "例如 75 公斤", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "月经周期", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "例如:规律、不规律", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "饮食限制", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "请选择", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "告诉我们您吃什么以及您有哪些限制", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "无饮食限制", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "素食", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "纯素", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "无麸质", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "身体质量指数 (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "例如 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "健康档案", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "慢性疾病", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "例如:2型糖尿病", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "请列出所有慢性疾病,并包括诊断时间和任何并发症。", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "既往病史", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "例如:频繁感冒", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "请列出您过去患过的严重疾病,即使您已经康复。", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "手术史", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "例如:阑尾切除术", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "请列出所有手术,并包括年份以及是否有任何并发症。", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "偶尔使用的药物", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "例如,布洛芬", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "请列出您偶尔服用的药物(例如:止痛药、过敏药物),包括剂量和使用原因。", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "常规用药", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "例如,二甲双胍", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "请列出您定期服用的所有药物,包括名称、剂量、每天服用的次数以及用于治疗的疾病。", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "过敏", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "例如:青霉素 – 引起皮疹", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "请列出所有过敏源(药物、食物、环境),并描述您有什么反应(例如:皮疹、肿胀、呼吸问题)。", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "特殊情况", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "例如:怀孕、残疾", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "如果您有任何重要的医疗状况,医生应该始终知道(例如:怀孕、植入设备、残疾、抗凝治疗),请描述它们。如果没有,您可以留空。", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "家族史", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "例如:心脏病、癌症", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "请描述您家族中重要的疾病(例如:糖尿病、高血压、心脏病、癌症、遗传疾病),并说明哪个家庭成员患有该疾病。", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "社会与生活方式因素", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "例如吸烟、饮酒", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "请描述可能影响您健康的生活方式因素,例如吸烟、饮酒、身体活动、饮食、睡眠和职业。", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "医疗设备", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "例如:起搏器、助听器、胰岛素泵", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "请列出您使用或植入的任何医疗设备,例如心脏起搏器、胰岛素泵、助听器、假肢或其他辅助或监测设备。如适用,请包括相关细节。", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "杂食", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "快餐", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "海鲜素食者", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "无乳糖", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "低钠饮食", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "低糖饮食", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "心脏病饮食", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "肾脏饮食", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "其他", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_zh_HK.arb b/example/lib/src/l10n/profiles/app_zh_HK.arb new file mode 100644 index 0000000..12e9de3 --- /dev/null +++ b/example/lib/src/l10n/profiles/app_zh_HK.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "zh_HK", + "chatDrawerTitle": "健康記錄", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "新", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "建立您的健康記錄", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "在諮詢結束時,添加您的個人資料。", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "添加更多個人資料", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "為其他人開始諮詢以創建他們的個人資料。", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "註冊以創建您的健康記錄", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "重試", + "@errorRetryButton": {}, + "dashboardDeleteError": "刪除個人資料失敗", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "無法加載個人資料摘要", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "查看完整記錄", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "分享", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "刪除", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "年齡", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} 年} other{{value} 年}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "體重", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "高度", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} 厘米", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "過敏", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "慢性", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "藥物", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "設備", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "諮詢", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "文件", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "刪除健康記錄?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "這將永久刪除您的健康數據,無法恢復。您將失去我們用來指導您的背景。", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "取消", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "刪除", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "正在刪除您的健康記錄...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "刪除個人資料失敗", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "健康記錄已刪除", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "您可以隨時通過與助手聊天來創建新的。", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "返回聊天", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "編輯", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "無法加載個人資料數據", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "變更已儲存", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "您的信息已成功更新。", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "返回個人資料", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "無法更新個人資料", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "放棄更改嗎?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "您對您的個人資料做了一些更改。在離開之前請保存它們,或放棄它們。", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "繼續編輯", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "捨棄", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "編輯", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "添加記錄", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "搜尋", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "未找到結果", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "下載", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "分享", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "刪除", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "未找到文件", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "要刪除這份文件嗎?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "此文件將被永久刪除", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "取消", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "刪除", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "更多操作", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "搜尋", + "@profilesSearch": {}, + "profilesEmptyList": "找不到個人檔案", + "@profilesEmptyList": {}, + "profilesViewMore": "查看更多", + "@profilesViewMore": {}, + "profilesMore": "更多", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "Doctorina 現在記得你的健康", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "您的諮詢現在會自動建立和更新您的健康紀錄。", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "你的健康紀錄,你的規則", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "隨時查看、編輯或添加症狀、藥物、病史或文件。", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "照顧您全家", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "為您的摯愛、孩子、父母或伴侶創建健康記錄。", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "準備好保存您的健康記錄了嗎?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "在諮詢後,點擊「新增檔案」以保存。", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "下一步", + "@profilesNextButton": {}, + "profilesStartButton": "開始諮詢", + "@profilesStartButton": {}, + "profilesLaterButton": "稍後再說", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "關閉", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "健康記錄", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "健康記錄 — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...更多", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...少", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "新增個人檔案", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "創建一個檔案以保存此諮詢的詳細信息。", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "您可隨時在健康記錄中查看", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "如果你對這件事或任何相關問題有更多疑問,歡迎隨時繼續與我對話。我在這裡幫助你", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "一般資料", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "姓名", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "名字", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "約翰", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "姓氏", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "性別", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "請選擇", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "男", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "女性", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "其他", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "出生日期", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "年齡", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "例如 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "電話號碼", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "電郵", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "地點", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "例如 城市,國家", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "身體與飲食", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "身高", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "例如 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "體重", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "例如 75 公斤", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "月經週期", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "例如 規律、不規律", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "飲食限制", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "請選擇", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "告訴我們您吃什麼以及您有任何限制", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "無", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "素食", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "純素", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "無麩質", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "身體質量指數 (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "例如 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "健康檔案", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "慢性疾病", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "例如. 二型糖尿病", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "請列出所有慢性疾病,並包括診斷時間及任何併發症。", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "既往疾病", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "例如:經常感冒", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "請列出您過去曾經患過的重大疾病,即使您已經康復。", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "手術史", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "例如 闌尾切除術", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "請列出所有手術,並包括年份及是否有任何併發症。", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "偶爾使用的藥物", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "例如:布洛芬", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "請列出您偶爾服用的藥物(例如:止痛藥、過敏藥物),包括劑量和使用原因。", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "常用藥物", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "例如:二甲雙胍", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "請列出您定期服用的所有藥物,包括名稱、劑量、每天服用的次數以及用於什麼病症。", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "過敏", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "例如:青黴素 – 會引起皮疹", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "請列出所有過敏源(藥物、食物、環境),並描述您有什麼反應(例如:皮疹、腫脹、呼吸問題)。", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "特殊情況", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "例如:懷孕、殘疾", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "如果您有任何重要的醫療狀況,醫生應該始終知道(例如:懷孕、植入裝置、殘疾、抗凝治療),請描述它們。如果沒有,您可以留空。", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "家族病史", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "例如心臟病、癌症", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "請描述您家族中的重要疾病(例如:糖尿病、高血壓、心臟病、癌症、遺傳疾病),並指明哪位家庭成員曾患有該病。", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "社交及生活方式因素", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "例如:吸煙、飲酒", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "請描述可能影響您健康的生活方式因素,例如吸煙、飲酒、身體活動、飲食、睡眠和職業。", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "醫療器材", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "例如:心臟起搏器、助聽器、胰島素泵", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "請列出您使用或植入的任何醫療設備,例如心臟起搏器、胰島素泵、助聽器、義肢或其他輔助或監測設備。如適用,請包括相關細節。", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "雜食", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "快餐", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "魚素食者", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "無乳糖", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "低鈉飲食", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "低糖飲食", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "心臟病飲食", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "腎臟飲食", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "其他", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/profiles/app_zu.arb b/example/lib/src/l10n/profiles/app_zu.arb new file mode 100644 index 0000000..cf863ce --- /dev/null +++ b/example/lib/src/l10n/profiles/app_zu.arb @@ -0,0 +1,425 @@ +{ + "@@locale": "zu", + "chatDrawerTitle": "Irekhodi Zempilo", + "@chatDrawerTitle": { + "description": "Title for side menu section" + }, + "chatDrawerBadgeNew": "OKUSHAYAYO", + "@chatDrawerBadgeNew": { + "description": "Badge that indicates new profile" + }, + "bannerTitle": "Dala irekhodi yakho yezempilo", + "@bannerTitle": { + "description": "Title for banner on side menu" + }, + "bannerSubtitle": "Ekupheleni kokubonisana kwakho, engeza iphrofayela yakho.", + "@bannerSubtitle": { + "description": "Description for banner on side menu" + }, + "bannerMoreProfilesTitle": "Engeza emaphrofini", + "@bannerMoreProfilesTitle": { + "description": "Title for banner on side menu for add more prfiles" + }, + "bannerMoreProfilesSubtitle": "Qala ukuxhumana nomunye umuntu ukuze akhe iphrofayela yakhe.", + "@bannerMoreProfilesSubtitle": { + "description": "Description for banner on side menu for add more profiles" + }, + "bannerSignUp": "Bhalisela ukuze udale irekhodi yakho yezempilo", + "@bannerSignUp": { + "description": "Title for banner on side menu for anonymous user" + }, + "errorRetryButton": "Phinda", + "@errorRetryButton": {}, + "dashboardDeleteError": "Ukwenza kube nephutha ukususa iphrofayela", + "@dashboardDeleteError": { + "description": "Error snackbar shown when profile deletion fails" + }, + "dashboardSummaryLoadError": "Ukuphuma kwephrofayela akuphumelelanga", + "@dashboardSummaryLoadError": { + "description": "Error snackbar shown when profile summary loading fails" + }, + "dashboardMenuViewFullRecord": "Buka iRekhodi Ephelele", + "@dashboardMenuViewFullRecord": { + "description": "More menu item label to open full profile record" + }, + "dashboardMenuShare": "Yabelana", + "@dashboardMenuShare": { + "description": "More menu item label to share profile" + }, + "dashboardMenuDelete": "Susa", + "@dashboardMenuDelete": { + "description": "More menu item label to delete profile" + }, + "dashboardMetricAgeLabel": "Iminyaka", + "@dashboardMetricAgeLabel": { + "description": "Health metric label for age" + }, + "dashboardMetricAgeNumLabel": "{value, plural, one{{value} unyaka} other{{value} iminyaka}}", + "@dashboardMetricAgeNumLabel": { + "description": "Health metric label for age as number", + "placeholders": { + "value": { + "type": "num", + "example": "25 years" + } + } + }, + "dashboardMetricWeightLabel": "Isisindo", + "@dashboardMetricWeightLabel": { + "description": "Health metric label for weight" + }, + "dashboardMetricWeightNumLabel": "{value} kg", + "@dashboardMetricWeightNumLabel": { + "description": "Health metric label for weight as number", + "placeholders": { + "value": { + "type": "num", + "example": "54 kg" + } + } + }, + "dashboardMetricHeightLabel": "Ukuphakama", + "@dashboardMetricHeightLabel": { + "description": "Health metric label for height" + }, + "dashboardMetricHeightNumLabel": "{value} cm", + "@dashboardMetricHeightNumLabel": { + "description": "Health metric label for height as number", + "placeholders": { + "value": { + "type": "num", + "example": "180 cm" + } + } + }, + "dashboardMetricNotAvailable": "N/A", + "@dashboardMetricNotAvailable": { + "description": "Fallback text when metric data is missing" + }, + "dashboardInfoAllergiesTitle": "Izifo", + "@dashboardInfoAllergiesTitle": { + "description": "Medical info row title for allergies" + }, + "dashboardInfoChronicTitle": "Okhula", + "@dashboardInfoChronicTitle": { + "description": "Medical info row title for chronic conditions" + }, + "dashboardInfoMedicationTitle": "Imithi", + "@dashboardInfoMedicationTitle": { + "description": "Medical info row title for medication" + }, + "dashboardInfoDevicesTitle": "Izinsiza", + "@dashboardInfoDevicesTitle": { + "description": "Medical info row title for devices" + }, + "dashboardNavigationConsultations": "Izinkulumo", + "@dashboardNavigationConsultations": { + "description": "Navigation card label for consultations" + }, + "dashboardNavigationDocuments": "Amadokhumenti", + "@dashboardNavigationDocuments": { + "description": "Navigation card label for documents" + }, + "dashboardDeleteRecordTitle": "Susa irekhodi yezempilo?", + "@dashboardDeleteRecordTitle": {}, + "dashboardDeleteRecordSubtitle": "Lokhu kuzokhipha idatha yakho yezempilo ngokuqhubekayo futhi akukwazi ukubuyiselwa. Uzolahlekelwa umongo esiwusebenzisa ukukuhola.", + "@dashboardDeleteRecordSubtitle": {}, + "dashboardDeleteRecordCancel": "Khansela", + "@dashboardDeleteRecordCancel": {}, + "dashboardDeleteRecordConfirm": "Susa", + "@dashboardDeleteRecordConfirm": {}, + "dashboardDeleteRecordLoading": "Ukususa irekhodi yakho yezempilo...", + "@dashboardDeleteRecordLoading": {}, + "dashboardDeleteRecordError": "Ukwenza kube nephutha ukususa iphrofayela", + "@dashboardDeleteRecordError": {}, + "dashboardDeleteRecordSuccessTitle": "Irekhodi yezempilo isuswe", + "@dashboardDeleteRecordSuccessTitle": {}, + "dashboardDeleteRecordSuccessSubtitle": "Ungakwazi ukudala entsha nganoma yisiphi isikhathi ngokukhuluma nomsizi.", + "@dashboardDeleteRecordSuccessSubtitle": {}, + "dashboardDeleteRecordSuccessButton": "Buyela ku-Chat", + "@dashboardDeleteRecordSuccessButton": {}, + "dataEditingScreenTitle": "Ukuhlela", + "@dataEditingScreenTitle": { + "description": "Title for screen with health records in edit mode" + }, + "dataFailedToLoadError": "Uphrofayili bokhwejwe", + "@dataFailedToLoadError": { + "description": "Error message on failed load data" + }, + "dataRecordSavedTitle": "Izinguquko zigciniwe", + "@dataRecordSavedTitle": {}, + "dataRecordSavedSubtitle": "Ulwazi lwakho luphumelele ukuvuselelwa.", + "@dataRecordSavedSubtitle": {}, + "dataRecordSavedButton": "Buyela kuprofayela", + "@dataRecordSavedButton": {}, + "dataRecordUpdateError": "Ukwenza kube nephutha ukuvuselela idatha yephrofayela", + "@dataRecordUpdateError": {}, + "dataRecordDiscardTitle": "Uphumelele izinguquko?", + "@dataRecordDiscardTitle": {}, + "dataRecordDiscardSubtitle": "Uwenze ezinye izinguquko kuphrofayela lwakho. Gcina ngaphambi kokuhamba, noma uphume.", + "@dataRecordDiscardSubtitle": {}, + "dataRecordDiscardCancel": "Qhubeka uhlela", + "@dataRecordDiscardCancel": {}, + "dataRecordDiscardConfirm": "Phuma", + "@dataRecordDiscardConfirm": {}, + "dataRecordEditTooltip": "Hlela", + "@dataRecordEditTooltip": {}, + "dataRecordAddTag": "Engeza irekhodi", + "@dataRecordAddTag": { + "description": "Tooltip for add record button" + }, + "consultationsSearch": "Sesha", + "@consultationsSearch": { + "description": "Search field on consultations screen" + }, + "consultationsSearchEmpty": "Ayikho imiphumela", + "@consultationsSearchEmpty": { + "description": "Nothing was found" + }, + "documentsMenuDownload": "Landa", + "@documentsMenuDownload": { + "description": "More menu item label to download document" + }, + "documentsMenuShare": "Yabelana", + "@documentsMenuShare": { + "description": "More menu item label to share document" + }, + "documentsMenuDelete": "Susa", + "@documentsMenuDelete": { + "description": "More menu item label to delete document" + }, + "documentsEmptyList": "Ayikho imibhalo etholakale", + "@documentsEmptyList": { + "description": "Placeholder for empty documents list" + }, + "documentsDeleteTitle": "Ufunani ukususa lo mbhalo?", + "@documentsDeleteTitle": {}, + "documentsDeleteSubtitle": "Le-fayela lezozokhuluma kuzokhishwa ngokuphelele", + "@documentsDeleteSubtitle": {}, + "documentsDeleteCancel": "Khansela", + "@documentsDeleteCancel": {}, + "documentsDeleteButton": "Susa", + "@documentsDeleteButton": {}, + "documentsMoreActionsTooltip": "Ezinye izenzo", + "@documentsMoreActionsTooltip": {}, + "profilesSearch": "Sesha", + "@profilesSearch": {}, + "profilesEmptyList": "Awekho amaphrofayela atholakele", + "@profilesEmptyList": {}, + "profilesViewMore": "Buka okwengeziwe", + "@profilesViewMore": {}, + "profilesMore": "Okwengeza", + "@profilesMore": {}, + "profilesAnnouncementTitle1": "IDoctorina manje remembers impilo yakho", + "@profilesAnnouncementTitle1": {}, + "profilesAnnouncementSubtitle1": "Izinkulumo zakho manje zakha futhi zihlaziya iRekhodi leMpilo yakho ngokuzenzakalelayo.", + "@profilesAnnouncementSubtitle1": {}, + "profilesAnnouncementTitle2": "Irekhodi yakho yokwelashwa, imithetho yakho", + "@profilesAnnouncementTitle2": {}, + "profilesAnnouncementSubtitle2": "Bheka, hlela, noma ungeze izimpawu, imishanguzo, umlando, noma imibhalo nganoma yisiphi isikhathi.", + "@profilesAnnouncementSubtitle2": {}, + "profilesAnnouncementTitle3": "Care for your whole family", + "@profilesAnnouncementTitle3": {}, + "profilesAnnouncementSubtitle3": "Dala irekhodi yeMpilo yabathandiwe, izingane zakho, abazali, noma umlingani wakho.", + "@profilesAnnouncementSubtitle3": {}, + "profilesAnnouncementTitle4": "Usebenzisa ukugcina iHealth Record yakho?", + "@profilesAnnouncementTitle4": {}, + "profilesAnnouncementSubtitle4": "Ngemuva kokubonisana, cindezela “Engeza iphrofayela” ukuze uyigcine.", + "@profilesAnnouncementSubtitle4": {}, + "profilesNextButton": "Okulandelayo", + "@profilesNextButton": {}, + "profilesStartButton": "Qala ukuxhumana", + "@profilesStartButton": {}, + "profilesLaterButton": "Maybe later", + "@profilesLaterButton": {}, + "profileSuccessCloseButton": "Vala", + "@profileSuccessCloseButton": { + "description": "Кнопка «Закрыть» на диалогах успеха (сохранение / удаление профиля)" + }, + "pdfHeaderTitle": "Irekhodi Yezempilo", + "@pdfHeaderTitle": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента (без имени)" + }, + "pdfHeaderTitleWithName": "Irekhodi Yezempilo — {name}", + "@pdfHeaderTitleWithName": { + "description": "Заголовок шапки PDF-файла с медицинской картой пациента, включая имя пациента", + "placeholders": { + "name": { + "type": "String", + "example": "John Doe" + } + } + }, + "expandableFieldMore": "...okuningi", + "@expandableFieldMore": { + "description": "text button for show more text" + }, + "expandableFieldLess": "...okuncane", + "@expandableFieldLess": { + "description": "text button for show less text" + }, + "profiles_button_addnew": "Engeza iphrofayili entsha", + "@profiles_button_addnew": {}, + "profiles_label_addnew": "Dala iphrofayili ukuze ugcine imininingwane yalolu xhumano.", + "@profiles_label_addnew": {}, + "profiles_label_health_records_hint": "Ungakuhlola noma kunini ku-Health Records yakho", + "@profiles_label_health_records_hint": {}, + "profiles_label_keep_talking_hint": "Uma unemibuzo eyengeziwe ngale nto noma nganoma yini ehlobene nayo, uzizwe ukhululekile ukuqhubeka ukhuluma nami. Ngilapha ukuze ngikusize", + "@profiles_label_keep_talking_hint": {}, + "profile_section_basic_title": "Ulwazi Jikelele", + "@profile_section_basic_title": {}, + "profile_section_basic_name_label": "Igama", + "@profile_section_basic_name_label": {}, + "profile_section_basic_name_placeholder": "John Doe", + "@profile_section_basic_name_placeholder": {}, + "profile_section_basic_first_name_label": "Igama lokuqala", + "@profile_section_basic_first_name_label": {}, + "profile_section_basic_first_name_placeholder": "John", + "@profile_section_basic_first_name_placeholder": {}, + "profile_section_basic_last_name_label": "Isibongo", + "@profile_section_basic_last_name_label": {}, + "profile_section_basic_last_name_placeholder": "Doe", + "@profile_section_basic_last_name_placeholder": {}, + "profile_section_basic_sex_label": "Ubulili", + "@profile_section_basic_sex_label": {}, + "profile_section_basic_sex_placeholder": "Sicela ukhethe", + "@profile_section_basic_sex_placeholder": {}, + "profile_section_basic_sex_options_male": "Owesilisa", + "@profile_section_basic_sex_options_male": {}, + "profile_section_basic_sex_options_female": "Owesifazane", + "@profile_section_basic_sex_options_female": {}, + "profile_section_basic_sex_options_other": "Okunye", + "@profile_section_basic_sex_options_other": {}, + "profile_section_basic_date_of_birth_label": "Usuku lokuzalwa", + "@profile_section_basic_date_of_birth_label": {}, + "profile_section_basic_date_of_birth_placeholder": "YYYY-MM-DD", + "@profile_section_basic_date_of_birth_placeholder": {}, + "profile_section_basic_age_str_label": "Ubudala", + "@profile_section_basic_age_str_label": {}, + "profile_section_basic_age_str_placeholder": "e.g. 30", + "@profile_section_basic_age_str_placeholder": {}, + "profile_section_basic_phonenumber_label": "Inombolo yocingo", + "@profile_section_basic_phonenumber_label": {}, + "profile_section_basic_phonenumber_placeholder": "+xxx xxx xxx xxx", + "@profile_section_basic_phonenumber_placeholder": {}, + "profile_section_basic_email_label": "Imeyili", + "@profile_section_basic_email_label": {}, + "profile_section_basic_email_placeholder": "example@example.com", + "@profile_section_basic_email_placeholder": {}, + "profile_section_basic_location_label": "Indawo", + "@profile_section_basic_location_label": {}, + "profile_section_basic_location_placeholder": "isb. Idolobha, Izwe", + "@profile_section_basic_location_placeholder": {}, + "profile_section_body_diet_title": "Umzimba & Ukudla", + "@profile_section_body_diet_title": {}, + "profile_section_body_diet_height_str_label": "Ubude", + "@profile_section_body_diet_height_str_label": {}, + "profile_section_body_diet_height_str_placeholder": "e.g. 180 cm", + "@profile_section_body_diet_height_str_placeholder": {}, + "profile_section_body_diet_weight_str_label": "Isisindo", + "@profile_section_body_diet_weight_str_label": {}, + "profile_section_body_diet_weight_str_placeholder": "e.g. 75 kg", + "@profile_section_body_diet_weight_str_placeholder": {}, + "profile_section_body_diet_menstrual_cycle_label": "Umjikelezo Wokuya Esikhathini", + "@profile_section_body_diet_menstrual_cycle_label": {}, + "profile_section_body_diet_menstrual_cycle_placeholder": "e.g. Okuvamile, Okungavamile", + "@profile_section_body_diet_menstrual_cycle_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_label": "Imikhawulo Yokudla", + "@profile_section_body_diet_dietary_restrictions_label": {}, + "profile_section_body_diet_dietary_restrictions_placeholder": "Sicela ukhethe", + "@profile_section_body_diet_dietary_restrictions_placeholder": {}, + "profile_section_body_diet_dietary_restrictions_hint": "Sazise ukuthi udla ini kanye nezithiyo onazo", + "@profile_section_body_diet_dietary_restrictions_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_none": "Akukho", + "@profile_section_body_diet_dietary_restrictions_options_none": {}, + "profile_section_body_diet_dietary_restrictions_options_vegetarian": "Odla imifino", + "@profile_section_body_diet_dietary_restrictions_options_vegetarian": {}, + "profile_section_body_diet_dietary_restrictions_options_vegan": "Vegan", + "@profile_section_body_diet_dietary_restrictions_options_vegan": {}, + "profile_section_body_diet_dietary_restrictions_options_gluten_free": "Ayikho gluten", + "@profile_section_body_diet_dietary_restrictions_options_gluten_free": {}, + "profile_section_body_diet_bmi_label": "Inkomba Yesisindo Somzimba (BMI)", + "@profile_section_body_diet_bmi_label": {}, + "profile_section_body_diet_bmi_placeholder": "isb. 24.5", + "@profile_section_body_diet_bmi_placeholder": {}, + "profile_section_health_profile_title": "Iphrofayili Yezempilo", + "@profile_section_health_profile_title": {}, + "profile_section_health_profile_chronic_illnesses_label": "Izifo ezihlala isikhathi eside", + "@profile_section_health_profile_chronic_illnesses_label": {}, + "profile_section_health_profile_chronic_illnesses_placeholder": "isb. Uhlobo 2 lweDiabetes", + "@profile_section_health_profile_chronic_illnesses_placeholder": {}, + "profile_section_health_profile_chronic_illnesses_hint": "Sicela uhluze zonke izifo ezinzima futhi ufake isikhathi sokuthi zatholakala nini kanye nanoma yiziphi izinkinga.", + "@profile_section_health_profile_chronic_illnesses_hint": {}, + "profile_section_health_profile_past_illnesses_label": "Izifo Zangaphambilini", + "@profile_section_health_profile_past_illnesses_label": {}, + "profile_section_health_profile_past_illnesses_placeholder": "isb. Ukhuhlwa okujwayelekile", + "@profile_section_health_profile_past_illnesses_placeholder": {}, + "profile_section_health_profile_past_illnesses_hint": "Sicela uhluze izifo ezinzima obekade unazo esikhathini esedlulelayo, noma usuphile.", + "@profile_section_health_profile_past_illnesses_hint": {}, + "profile_section_health_profile_surgical_history_label": "Umlando Wokuhlinzwa", + "@profile_section_health_profile_surgical_history_label": {}, + "profile_section_health_profile_surgical_history_placeholder": "e.g. Appendectomy", + "@profile_section_health_profile_surgical_history_placeholder": {}, + "profile_section_health_profile_surgical_history_hint": "Sicela uhluze zonke izinqubo zokuhlinzwa futhi ufake unyaka kanye nokuthi kube khona izinkinga.", + "@profile_section_health_profile_surgical_history_hint": {}, + "profile_section_health_profile_occasional_medications_label": "Imithi Esetshenziswa Ngezikhathi Ezithile", + "@profile_section_health_profile_occasional_medications_label": {}, + "profile_section_health_profile_occasional_medications_placeholder": "isb. Ibuprofen", + "@profile_section_health_profile_occasional_medications_placeholder": {}, + "profile_section_health_profile_occasional_medications_hint": "Sicela uhluze imishanguzo oyithathayo ngezikhathi ezithile (isibonelo: imishanguzo yokwehlisa ubuhlungu, imishanguzo yokwelapha izifo zokuhlunguza), kuhlanganise nomthamo kanye nesizathu sokusetshenziswa.", + "@profile_section_health_profile_occasional_medications_hint": {}, + "profile_section_health_profile_regular_medications_label": "Imithi Ejwayelekile", + "@profile_section_health_profile_regular_medications_label": {}, + "profile_section_health_profile_regular_medications_placeholder": "isb. Metformin", + "@profile_section_health_profile_regular_medications_placeholder": {}, + "profile_section_health_profile_regular_medications_hint": "Sicela uhluze zonke izidakamizwa ozithathayo njalo, kuhlanganise negama, umthamo, ukuthi uthatha kangaki ngosuku, nokuthi iyini isimo esiyinhloko.", + "@profile_section_health_profile_regular_medications_hint": {}, + "profile_section_health_profile_allergies_label": "Ukuzwela", + "@profile_section_health_profile_allergies_label": {}, + "profile_section_health_profile_allergies_placeholder": "isb. Penicillin – kubangela umkhuhlane", + "@profile_section_health_profile_allergies_placeholder": {}, + "profile_section_health_profile_allergies_hint": "Sicela uhluze zonke izifo zokuhlasela (imithi, ukudla, imvelo), futhi uchaze ukuthi yisiphi isenzo osithola (isibonelo: umkhuhlane, ukuvuvukala, izinkinga zokuphefumula).", + "@profile_section_health_profile_allergies_hint": {}, + "profile_section_health_profile_special_conditions_label": "Izimo Ezikhethekile", + "@profile_section_health_profile_special_conditions_label": {}, + "profile_section_health_profile_special_conditions_placeholder": "ngokwesibonelo Ukukhulelwa, Ukukhubazeka", + "@profile_section_health_profile_special_conditions_placeholder": {}, + "profile_section_health_profile_special_conditions_hint": "Uma unazo izimo ezibalulekile zempilo okufanele zaziwe ngodokotela (isibonelo: ukukhulelwa, amadivayisi afakwe, ukungasebenzi kahle, ukwelashwa kwe-anticoagulation), sicela uchaze lezi zimo. Uma ungenazo, ungashiya lokhu kungcolile.", + "@profile_section_health_profile_special_conditions_hint": {}, + "profile_section_health_profile_family_history_label": "Umlando womndeni", + "@profile_section_health_profile_family_history_label": {}, + "profile_section_health_profile_family_history_placeholder": "e.g. Isifo senhliziyo, Umdlavuza", + "@profile_section_health_profile_family_history_placeholder": {}, + "profile_section_health_profile_family_history_hint": "Sicela uchaze ngempilo ebalulekile emndenini wakho (isibonelo: ushukela, ukucindezeleka, isifo senhliziyo, umdlavuza, izifo ezithathelwana) futhi uchaze ukuthi ubani emndenini onale msebenzi.", + "@profile_section_health_profile_family_history_hint": {}, + "profile_section_health_profile_social_lifestyle_factors_label": "Izici Zenhlalo Nezindlela Zokuphila", + "@profile_section_health_profile_social_lifestyle_factors_label": {}, + "profile_section_health_profile_social_lifestyle_factors_placeholder": "isb. Ukubhema, Ukusetshenziswa Kotshwala", + "@profile_section_health_profile_social_lifestyle_factors_placeholder": {}, + "profile_section_health_profile_social_lifestyle_factors_hint": "Sicela uchaze ngezici zokuphila ezingathinta impilo yakho, ezifana nokubhema, utshwala, imisebenzi yomzimba, ukudla, ukulala, kanye nomsebenzi.", + "@profile_section_health_profile_social_lifestyle_factors_hint": {}, + "profile_section_health_profile_devices_label": "Amadivayisi Wezokwelapha", + "@profile_section_health_profile_devices_label": {}, + "profile_section_health_profile_devices_placeholder": "e.g. Pacemaker, Ithuluzi lokuzwa, Iphampu ye-insulini", + "@profile_section_health_profile_devices_placeholder": {}, + "profile_section_health_profile_devices_hint": "Sicela uhluze noma yiziphi izinsiza zezokwelapha ozisebenzisayo noma ozifakile, njengezikhwama zokuphila, amapompo e-insulin, izinsiza zokuzwa, ama-prosthetics, noma ezinye izinsiza zokweseka noma zokubheka. Faka imininingwane efanele uma ikhona.", + "@profile_section_health_profile_devices_hint": {}, + "profile_section_body_diet_dietary_restrictions_options_omnivorous": "Udla zombili", + "@profile_section_body_diet_dietary_restrictions_options_omnivorous": {}, + "profile_section_body_diet_dietary_restrictions_options_fast_food": "Ukudla Okusheshayo", + "@profile_section_body_diet_dietary_restrictions_options_fast_food": {}, + "profile_section_body_diet_dietary_restrictions_options_pescatarian": "Udla inhlanzi", + "@profile_section_body_diet_dietary_restrictions_options_pescatarian": {}, + "profile_section_body_diet_dietary_restrictions_options_lactose_free": "Ingenalo i-lactose", + "@profile_section_body_diet_dietary_restrictions_options_lactose_free": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sodium": "Idayethi enesodium ephansi", + "@profile_section_body_diet_dietary_restrictions_options_low_sodium": {}, + "profile_section_body_diet_dietary_restrictions_options_low_sugar": "Ukudla okunoshukela ophansi", + "@profile_section_body_diet_dietary_restrictions_options_low_sugar": {}, + "profile_section_body_diet_dietary_restrictions_options_cardiac": "Ukudla kwenhliziyo", + "@profile_section_body_diet_dietary_restrictions_options_cardiac": {}, + "profile_section_body_diet_dietary_restrictions_options_renal": "Uhlelo lokudla lwezitho zomzimba", + "@profile_section_body_diet_dietary_restrictions_options_renal": {}, + "profile_section_body_diet_dietary_restrictions_options_other": "Okunye", + "@profile_section_body_diet_dietary_restrictions_options_other": {} +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_af.arb b/example/lib/src/l10n/settings/app_af.arb new file mode 100644 index 0000000..9490fc2 --- /dev/null +++ b/example/lib/src/l10n/settings/app_af.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "af", + "sectionClearAllChatsTitle": "Verwyder Alle Klets", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Dit sal jou geselskapgeskiedenis permanent verwyder.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Verwyder Alle Klets", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Verwyder Alle Klets", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Verwyder rekening", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Om jou rekening te verwyder is 'n permanente aksie en kan nie ongedaan gemaak word.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Verwyder", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Verwyder rekening", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Teken uit", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Jy sal van jou rekening afgeteken word", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Teken uit", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Stuur foutverslag", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Stuur boodskap met [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Stuur 'n boodskap met [⏎ Enter] en 'n nuwe lyn met [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Stuur met [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Privaatheidsbeleid", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Taal", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Kies jou voorkeurstaal vir die app-koppelvlak", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Donker modus", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Skakel donker modus aan vir 'n gemaklike kykervaring in lae lig", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Logs", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Beskou en bestuur toepassingslogboek vir foutopsporing", + "@sectionLogsSubtitle": {}, + "doneButton": "Gedaan", + "@doneButton": {}, + "bugReportDialogTitle": "Foutverslag", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Beskryf asseblief die fout wat jy teëgekom het", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Heg lêers", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Kon nie lêers kies nie", + "@filePickerError": {}, + "emptyBugReportError": "Voer eers 'n foutverslag in", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Kon nie foutverslag stuur nie", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Bestuur intekening", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Bestuur jou intekeninginstellings", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptiese Terugvoer", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Skakel haptiese terugvoer (vibrasie) aan of af op ondersteunde toestelle", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Skakel kennisgewings aan", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Bly op hoogte wanneer Doctorina iets belangriks in jou gesprekke, verslae of simptome vind.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Rekening", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "App", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Oor", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Kennisgewings", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video-tutorials", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefoon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "E-pos", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Naam", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Gelaat {count} lêers weens duplikate met bestaande lêers", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Tipe", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Beskrywing", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Aanhangsels", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Fout", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Crash", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI-probleem", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Ander", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Die verwydering van jou rekening sal jou data permanent uit Doctorina verwyder.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Voordat jy verwyder", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Jy het 'n aktiewe intekening deur die {store}. Die verwydering van jou rekening sal dit nie kanselleer nie.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Kanselleer intekening in die {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Gaan voort", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Ons is jammer om jou te sien gaan. Is jy seker jy wil jou rekening verwyder? Sodra jy bevestig, sal jou data weg wees.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Ek gebruik die aansoek nie meer nie", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Het iets beter gevind", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Tegniese probleme", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Probleme met gebruiksgemak", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Ontbrekende funksies", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Privaatheidskwessies", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Ek wou net my data skoonmaak", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Ander", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Deel jou terugvoer", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Jou rekening word verwyder...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Verwyder", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Herstel", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Jou rekening is verwyder.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Kon nie rekening verwyder nie. Probeer asseblief weer.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Geen e-posprogram is op hierdie toestel beskikbaar nie. Kontak asseblief support@doctorina.com handmatig.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_am.arb b/example/lib/src/l10n/settings/app_am.arb new file mode 100644 index 0000000..ece1686 --- /dev/null +++ b/example/lib/src/l10n/settings/app_am.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "am", + "sectionClearAllChatsTitle": "ሁሉንም ውይይቶች አጽዳ", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "ይህ የእርስዎን የውይይት ታሪክ በደረጃ ይሰርዝ.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "ሁሉንም ውይይቶች አጽዳ", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Clear All Chats", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "አካውንት ይሰርዝ", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "አካውንትዎን ማጥፋት የቀድሞ እንደሆነ እና አይታወቅም ይሆናል።", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "ማስወግድ", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "አካውንት ይሰርዝ", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "ውጣ", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "እርስዎ ከአካውንትዎ ይወጣሉ።", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "ውጣ", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "ሪፖርት ባግ ላክ", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "መልእክት ላክ በ[⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "መልእክት ላክ በ[⏎ Enter] እና አዲስ መስመር በ[Shift] + [⏎ Enter] ይሁን", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "ከ[⏎ Enter] ጋር ላክ", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "የግለሰቦች የግል ዕይታ", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "ቋንቋ", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "እባኮትን የእትም ቋንቋዎን ይምረጡ", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "ጨለማ ሞዴ", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Enable dark mode for a comfortable viewing experience in low light", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "መዝገቦች", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "View and manage application logs for debugging", + "@sectionLogsSubtitle": {}, + "doneButton": "ጨርስ", + "@doneButton": {}, + "bugReportDialogTitle": "የተሳሳተ ዝርዝር", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "እባክዎ የተገኘውን ባገር ይገልጹ", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "ፋይሎችን ያክሉ", + "@attachFilesButtonTooltip": {}, + "filePickerError": "ፋይሎችን ማሰባሰብ አልቻልኩም", + "@filePickerError": {}, + "emptyBugReportError": "እባክህ በመጀመሪያ የባገር ሪፖርት አስገባ", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "እቅፍ ማለት የለም የተሳሳተ ሪፖርት ላክ አልቻልኩም", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "እቅፍ አስተዳደር", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "የእርስዎ ተመዝገብ ቅንብሮችን ያስተካክሉ", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "ሐፕቲክ ፍቅር", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "ማስተካከል ወይም ማቋረጥ የሚቻል የሆነ የማስታወቂያ እንቅስቃሴ (እንቅስቃሴ) በድጋፍ መሳሪያዎች ላይ", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "እባክዎ የማስታወቂያ ማስታወቂያዎችን አንቀሳቅስ", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "የዶክተርና በውስጥ ያገኙ አስፈላጊ ነገሮች ላይ ይዘው ይታወቁ፣ የሪፖርቶች ወይም የምልክቶች ይዘው ይታወቁ።", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "አካውንት", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "መተግበሪያ", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "ስለ", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "እንቅስቃሴዎች", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "ቪዲዮ ትምህርቶች", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "ስልክ", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ኢሜይል", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "ስም", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina በ{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "የተያያዘ ፋይሎች ጋር የተያያዘ ድጋፍ ምክንያት ስለዚህ {count} ፋይሎች ተወውተዋል", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "አይነት", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "መግለጫ", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "አባል ይዘት", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "ባግ", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "እንቅስቃሴ", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "የዩአይ ችግኝ ጉዳይ", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "አማራጭ", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "አካውንትዎን ማስወግድ የሚያደርግ የውሂብዎን መረጃ ከDoctorina ይወገዳል።", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "ከማስወግድ በፊት", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "እቅፍ ያለዎት በ{store} ውስጥ ነው። የእርስዎን አካውንት ማጥፋት እንደዚህ አይደለም።", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "ወይዘር በ{store} ውስጥ ይቅርታ ይውሰዱ", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "ቀጥል", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "ስንሄድ እናዝናለን። መለያዎን መሰረዝ እንደሚፈልጉ እርግጠኛ ነዎት? አንዴ ካረጋገጡ በኋላ፣ ውሂብዎ ይጠፋል።", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "እኔ እንደ አፕ አልጠቀምም", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "የተሻለ ነገር አግኝቻለሁ", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "ቴክኒካዊ ችግኝቶች", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "የእቃ እንቅስቃሴ ችግኝ", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "የተገኘ ባለመኖር ባለመኖር", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "የግል መረጃ ጥያቄዎች", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "እኔ የማስወግድ ዓይነት የማስወግድ ዓይነት ይህ ነው።", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "አማራጭ", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "እባክዎ እንደ እቅፍ ይጋሩ", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "አካውንትዎን እንደሚሰርዝ...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "እንደሚሰርዝ", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "እንደገና ይውሰዱ", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "እቅፍዎ ተወውቷል።", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "አካውንት ማጥፊያ አልተሳካም። እባኮትን ይሞክሩ ድጋፍ ይሁን።", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "ይህ መሳሪያ ላይ አንድ ኢሜይል መተግበሪያ የለም። እባክዎን support@doctorina.com በእግር ይደውሉ።", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ar.arb b/example/lib/src/l10n/settings/app_ar.arb new file mode 100644 index 0000000..6fa44fd --- /dev/null +++ b/example/lib/src/l10n/settings/app_ar.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ar", + "sectionClearAllChatsTitle": "مسح جميع الدردشات", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "سيؤدي هذا إلى حذف سجل الدردشة الخاص بك نهائيًا.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "مسح كل الدردشات", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "مسح جميع الدردشات", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "حذف الحساب", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "حذف حسابك عملية دائمة ولا يمكن التراجع عنها.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "حذف", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "حذف الحساب", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "تسجيل الخروج", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "سيتم تسجيل خروجك من حسابك.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "تسجيل الخروج", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "إرسال تقرير خطأ", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "أرسل الرسالة باستخدام [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "أرسل رسالة باستخدام [⏎ Enter] وسطر جديد باستخدام [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "أرسل مع [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "سياسة الخصوصية", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "اللغة", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "اختر اللغة المفضلة لديك لواجهة التطبيق", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "الوضع الداكن", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "تفعيل الوضع الداكن لتجربة مشاهدة مريحة في الإضاءة الخافتة", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "السجلات", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "عرض وإدارة سجلات التطبيق لتصحيح الأخطاء", + "@sectionLogsSubtitle": {}, + "doneButton": "تم", + "@doneButton": {}, + "bugReportDialogTitle": "تقرير الخطأ", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "يرجى وصف الخلل الذي واجهته", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "إرفاق الملفات", + "@attachFilesButtonTooltip": {}, + "filePickerError": "فشل في اختيار الملفات", + "@filePickerError": {}, + "emptyBugReportError": "الرجاء إدخال تقرير خطأ أولاً", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "فشل إرسال تقرير الخطأ", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "إدارة الاشتراك", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "إدارة إعدادات الاشتراك الخاصة بك", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "التغذية الراجعة اللمسية", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "تفعيل أو تعطيل الارتجاع اللمسي (الاهتزاز) على الأجهزة المدعومة", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "تشغيل الإشعارات", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "ابقَ على اطلاع عندما تجد Doctorina شيئًا مهمًا في محادثاتك أو تقاريرك أو أعراضك", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "الحساب", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "التطبيق", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "حول", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "الإشعارات", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "دروس فيديو", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "الهاتف", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "البريد الإلكتروني", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "الاسم", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "تم تخطي {count} ملفات بسبب تكرارها مع ملفات موجودة", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "نوع", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "الوصف", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "المرفقات", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "خطأ", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "تعطل", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "مشكلة في واجهة المستخدم", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "أخرى", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "حذف حسابك سيؤدي إلى إزالة بياناتك بشكل دائم من Doctorina", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "قبل أن تحذف", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "لديك اشتراك نشط من خلال {store}. حذف حسابك لن يلغي ذلك.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "إلغاء الاشتراك في {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "استمر", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "نحن آسفون لرؤيتك تذهب. هل أنت متأكد أنك تريد حذف حسابك؟ بمجرد تأكيدك، ستختفي بياناتك.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "لم أعد أستخدم التطبيق", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "وجدت شيئًا أفضل", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "مشاكل تقنية", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "مشاكل في سهولة الاستخدام", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "ميزات مفقودة", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "مخاوف الخصوصية", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "كنت أريد فقط مسح بياناتي", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "أخرى", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "شارك ملاحظاتك", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "جارٍ حذف حسابك...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "جارِ الحذف", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "تراجع", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "تم حذف حسابك.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "فشل حذف الحساب. يرجى المحاولة مرة أخرى.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "لا يوجد تطبيق بريد متاح على هذا الجهاز. يرجى الاتصال بـ support@doctorina.com يدويًا.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ar_EG.arb b/example/lib/src/l10n/settings/app_ar_EG.arb new file mode 100644 index 0000000..931119e --- /dev/null +++ b/example/lib/src/l10n/settings/app_ar_EG.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ar_EG", + "sectionClearAllChatsTitle": "مسح جميع الدردشات", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "سيؤدي هذا إلى حذف سجل الدردشة الخاص بك نهائيًا.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "مسح كل الدردشات", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "مسح جميع الدردشات", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "حذف الحساب", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "حذف حسابك عملية دائمة ولا يمكن التراجع عنها.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "حذف", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "حذف الحساب", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "تسجيل الخروج", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "سيتم تسجيل خروجك من حسابك.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "تسجيل الخروج", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "إرسال تقرير خطأ", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "أرسل الرسالة باستخدام [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "أرسل رسالة باستخدام [⏎ Enter] وسطر جديد باستخدام [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "أرسل مع [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "سياسة الخصوصية", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "اللغة", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "اختر اللغة المفضلة لديك لواجهة التطبيق", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "الوضع الداكن", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "تفعيل الوضع الداكن لتجربة مشاهدة مريحة في الإضاءة الخافتة", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "السجلات", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "عرض وإدارة سجلات التطبيق لتصحيح الأخطاء", + "@sectionLogsSubtitle": {}, + "doneButton": "تم", + "@doneButton": {}, + "bugReportDialogTitle": "تقرير الخطأ", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "يرجى وصف الخلل الذي واجهته", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "إرفاق الملفات", + "@attachFilesButtonTooltip": {}, + "filePickerError": "فشل في اختيار الملفات", + "@filePickerError": {}, + "emptyBugReportError": "الرجاء إدخال تقرير خطأ أولاً", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "فشل إرسال تقرير الخطأ", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "إدارة الاشتراك", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "إدارة إعدادات الاشتراك الخاصة بك", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "التغذية الراجعة اللمسية", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "تفعيل أو تعطيل الارتجاع اللمسي (الاهتزاز) على الأجهزة المدعومة", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "تشغيل الإشعارات", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "ابقَ على اطلاع عندما تجد Doctorina شيئًا مهمًا في محادثاتك أو تقاريرك أو أعراضك", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "الحساب", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "التطبيق", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "حول", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "الإشعارات", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "دروس فيديو", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "الهاتف", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "البريد الإلكتروني", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "الاسم", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "تم تخطي {count} ملفات بسبب تكرارها مع ملفات موجودة", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "نوع", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "الوصف", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "المرفقات", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "خطأ", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "تعطل", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "مشكلة في واجهة المستخدم", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "أخرى", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "حذف حسابك سيؤدي إلى إزالة بياناتك بشكل دائم من Doctorina", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "قبل أن تحذف", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "لديك اشتراك نشط من خلال {store}. حذف حسابك لن يلغي ذلك.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "إلغاء الاشتراك في {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "استمر", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "نحن آسفون لرؤيتك تذهب. هل أنت متأكد أنك تريد حذف حسابك؟ بمجرد تأكيدك، ستختفي بياناتك.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "لم أعد أستخدم التطبيق", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "وجدت شيئًا أفضل", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "مشاكل تقنية", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "مشاكل في سهولة الاستخدام", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "ميزات مفقودة", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "مخاوف الخصوصية", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "كنت أريد فقط مسح بياناتي", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "أخرى", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "شارك ملاحظاتك", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "جارٍ حذف حسابك...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "جارِ الحذف", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "تراجع", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "تم حذف حسابك.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "فشل حذف الحساب. يرجى المحاولة مرة أخرى.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "لا يوجد تطبيق بريد متاح على هذا الجهاز. يرجى الاتصال بـ support@doctorina.com يدويًا.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_az.arb b/example/lib/src/l10n/settings/app_az.arb new file mode 100644 index 0000000..9d445ba --- /dev/null +++ b/example/lib/src/l10n/settings/app_az.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "az", + "sectionClearAllChatsTitle": "Bütün Çatları Təmizlə", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Bu, söhbət tarixçənizi daimi olaraq siləcək.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Bütün söhbətləri sil", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Bütün söhbətləri sil", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Hesabı Sil", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Hesabınızı silmək daimi bir hərəkətdir və geri alına bilməz.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Sil", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Hesabı Sil", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Çıxış", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Hesabınızdan çıxacaqsınız.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Çıxış", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Xətanı Göndər", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Mesaj göndərmək üçün [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Mesaj göndərmək üçün [⏎ Enter] və yeni sətir üçün [Shift] + [⏎ Enter] istifadə edin", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Göndər [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Məxfilik Siyasəti", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Dil", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Tətbiq interfeysi üçün üstünlük verdiyiniz dili seçin", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Qaranlıq rejim", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Aşağı işıqda rahat baxış üçün qaranlıq rejimi aktivləşdirin", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Günlüklər", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Təhlil üçün tətbiq qeydlərini görün və idarə edin", + "@sectionLogsSubtitle": {}, + "doneButton": "Tamam", + "@doneButton": {}, + "bugReportDialogTitle": "Böyük Hesabat", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Karşılaşdığınız xətanı təsvir edin", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Faylları əlavə et", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Faylları seçmək mümkün olmadı", + "@filePickerError": {}, + "emptyBugReportError": "Zəhmət olmasa, əvvəlcə bir səhv bildirişi daxil edin", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Xəta hesabatını göndərmək mümkün olmadı", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Abunəni idarə et", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Abunə parametrlərinizi idarə edin", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptik Geri Bildirim", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Dəstəklənən cihazlarda haptik geribildirimi (vibrasiya) aktivləşdirin və ya deaktivləşdirin", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Bildirişləri açın", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Doctorina söhbətlərinizdə, hesabatlarınızda və ya simptomlarınızda vacib bir şey tapdıqda xəbərdar olun.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Hesab", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Tətbiq", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Haqqında", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Bildirişlər", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video dərslər", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Ad", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "{count} fayl mövcud fayllarla təkrarlana bildiyi üçün atlandı", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Növ", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Təsvir", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Prəqədlər", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Çöküş", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "İstifadəçi interfeysi problemi", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Digər", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Hesabınızı silmək, Doctorina-dan məlumatlarınızı daimi olaraq siləcək.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Silmeden əvvəl", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Sizin {store} vasitəsilə aktiv abunəliyiniz var. Hesabınızı silmək onu ləğv etməyəcək.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store} -da abunəliyi ləğv et", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Davam et", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Sizi getdiyinizi görməkdən məyus olduq. Hesabınızı silmək istədiyinizə əminsinizmi? Təsdiqlədikdən sonra məlumatlarınız silinəcək.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Artıq tətbiqdən istifadə etmirəm", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Daha yaxşı bir şey tapdım", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Texniki problemlər", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "İstifadə rahatlığı problemləri", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Əskik funksiyalar", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Məxfilik narahatlıqları", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Sadəcə məlumatlarımı silmək istədim", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Digər", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Fikrinizi paylaşın", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Hesabınız silinir...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Silinir", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Geri al", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Hesabınız silindi.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Hesabı silmək mümkün olmadı. Zəhmət olmasa, yenidən cəhd edin.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Bu cihazda heç bir e-poçt tətbiqi mövcud deyil. Zəhmət olmasa, support@doctorina.com ilə əl ilə əlaqə saxlayın.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_be.arb b/example/lib/src/l10n/settings/app_be.arb new file mode 100644 index 0000000..6449df6 --- /dev/null +++ b/example/lib/src/l10n/settings/app_be.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "be", + "sectionClearAllChatsTitle": "Ачысціць усе чаты", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Гэта назусім выдаліць вашу гісторыю чатаў.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Ачысціць усе чаты", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Ачысціць усе чаты", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Выдаліць акаўнт", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Выдаленне вашага акаўнта з'яўляецца пастаянным дзеяннем і не можа быць адменена.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Выдаліць", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Выдаліць уліковы запіс", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Выйсці", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Вы выйдзеце са свайго ўліковага запісу.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Выйсці", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Адправіць справаздачу пра памылку", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Адправіць паведамленне з [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Адпраўце паведамленне з [⏎ Enter] і новы радок з [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Адправіць з [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Канфідэнцыяльнасць", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Мова", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Выберыце пажаданую мову інтэрфейсу прыкладання", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Цёмны рэжым", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Уключыце цёмны рэжым для камфортнага прагляду пры нізкім асвятленні", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Журналы", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Прагляд і кіраванне журналамі прыкладання для адладкі", + "@sectionLogsSubtitle": {}, + "doneButton": "Гатова", + "@doneButton": {}, + "bugReportDialogTitle": "Дэталi памылкi", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Калі ласка, апішыце памылку, з якой вы сутыкнуліся", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Прымацаваць файлы", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Не атрымалася выбраць файлы", + "@filePickerError": {}, + "emptyBugReportError": "Калі ласка, спачатку ўвядзіце справаздачу аб памылцы", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Не ўдалося адправіць справаздачу пра памылку", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Кіраванне падпіскай", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Кіруйце наладамі падпіскі", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Вібрацыя", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Уключыце або адключыце тактыльную зваротную сувязь (вібрацыю) на падтрымоўваных прыладах", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Уключыць апавяшчэнні", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Заставайцеся ў курсе, калі Doctorina знаходзіць нешта важнае ў вашых чатах, справаздачах або сімптомах", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Акаўнт", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Дадатак", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Пра праграму", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Апавяшчэнні", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Відэаўрокі", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Тэлефон", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Пошта", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Імя", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Пропушчана {count} файлаў з-за дублікатаў з існуючымі файламі", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Тып", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Апісанне", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Укладанні", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Памылка", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Збой", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Праблема з інтэрфейсам", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Іншае", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Выдаленне вашага акаўнта назаўсёды выдаліць вашы дадзеныя з Doctorina", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Перад выдаленнем", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "У вас ёсць актыўная падпіска праз {store}. Выдаленне вашага акаўнта не адменіць яе.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Адмяніць падпіску ў {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Працягнуць", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Нам шкада вас губляць. Вы ўпэўненыя, што хочаце выдаліць свой уліковы запіс? Пасля пацверджання вашы дадзеныя будуць выдалены.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Я больш не карыстаюся прыкладаннем", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Знайшлося нешта лепшае", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Тэхнічныя праблемы", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Праблемы з зручнасцю выкарыстання", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Не хапае функцый", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Турбота пра прыватнасць", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Я проста хачу выдаліць свае дадзеныя", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Іншае", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Падзяліцеся сваім меркаваннем", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Выдаленне вашага акаўнта...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Выдаленне", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Скасаваць", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Ваш уліковы запіс быў выдалены.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Не ўдалося выдаліць акаўнт. Калі ласка, паспрабуйце яшчэ раз.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Няма даступнага паштовага кліента. Калі ласка, звяжыцеся з support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_bg.arb b/example/lib/src/l10n/settings/app_bg.arb new file mode 100644 index 0000000..43372d1 --- /dev/null +++ b/example/lib/src/l10n/settings/app_bg.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "bg", + "sectionClearAllChatsTitle": "Изчисти всички разговори", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Това ще изтрие трайно историята на вашите разговори.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Изчисти всички разговори", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Изчисти всички чатове", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Изтриване на акаунт", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Изтриването на акаунта ви е постоянно действие и не може да бъде отменено.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Изтрий", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Изтриване на акаунт", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Изход", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Ще бъдете излезли от акаунта си.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Изход", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Изпрати доклад за грешка", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Изпрати съобщение с [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Изпратете съобщение с [⏎ Enter] и нов ред с [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Изпрати с [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Политика за поверителност", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Език", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Изберете предпочитания от вас език за интерфейса на приложението", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Тъмен режим", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Активирайте тъмен режим за удобно гледане при слаба светлина", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Логове", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Прегледайте и управлявайте приложенските журнали за отстраняване на грешки", + "@sectionLogsSubtitle": {}, + "doneButton": "Готово", + "@doneButton": {}, + "bugReportDialogTitle": "Доклад за грешка", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Моля, опишете грешката, която срещнахте", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Прикрепете файлове", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Неуспешен избор на файлове", + "@filePickerError": {}, + "emptyBugReportError": "Моля, първо въведете доклад за грешка", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Неуспешно изпращане на отчет за грешка", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Управление на абонамента", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Управлявайте настройките на абонамента си", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Вибрация", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Активирайте или деактивирайте хаптична обратна връзка (вибрация) на съвместимите устройства", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Включете известията", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Останете информирани, когато Doctorina намери нещо важно в вашите чатове, доклади или симптоми.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Акаунт", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Приложение", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "За приложението", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Уведомления", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Видеоуроци", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Телефон", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Имейл", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Име", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Пропуснати са {count} файла поради дублиране с вече съществуващи файлове", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Тип", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Описание", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Прикачени файлове", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Бъг", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Срив", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Проблем с потребителския интерфейс", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Друго", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Изтриването на акаунта ви ще премахне трайно данните ви от Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Преди да изтриете", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Имате активна абонаментна услуга през {store}. Изтриването на акаунта ви няма да я анулира.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Отмяна на абонамента в {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Продължи", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Съжаляваме, че си тръгвате. Сигурни ли сте, че искате да изтриете акаунта си? След като потвърдите, данните ви ще бъдат загубени.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Не използвам приложението вече", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Намерих нещо по-добро", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Технически проблеми", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Проблеми с удобството на използване", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Липсващи функции", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Проблеми с конфиденциалността", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Просто исках да изчистя данните си", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Друго", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Споделете вашето мнение", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Изтривам акаунта ви...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Изтриване", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Отмяна", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Вашият акаунт беше изтрит.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Неуспешно изтриване на акаунта. Моля, опитайте отново.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "На това устройство няма налично приложение за имейл. Моля, свържете се ръчно на support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_bn.arb b/example/lib/src/l10n/settings/app_bn.arb new file mode 100644 index 0000000..198b986 --- /dev/null +++ b/example/lib/src/l10n/settings/app_bn.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "bn", + "sectionClearAllChatsTitle": "সব চ্যাট পরিস্কার করুন", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "এটি আপনার চ্যাট ইতিহাস স্থায়ীভাবে মুছে ফেলবে.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "সব চ্যাট মুছে ফেলুন", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "সব চ্যাট মুছে দিন", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "অ্যাকাউন্ট মুছুন", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "আপনার অ্যাকাউন্ট মুছে ফেলা একটি স্থায়ী ক্রিয়া এবং এটি ফিরিয়ে আনা যায় না।", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "মুছে ফেলুন", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "অ্যাকাউন্ট মুছে ফেলুন", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "সাইন আউট", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "আপনার অ্যাকাউন্ট থেকে লগআউট করা হবে.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "সাইন আউট", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "বাগ রিপোর্ট পাঠান", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "মেসেজ পাঠান [⏎ এন্টার] দিয়ে", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "বার্তা পাঠান [⏎ Enter] দিয়ে এবং নতুন লাইন তৈরি করুন [Shift] + [⏎ Enter] দিয়ে", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "পাঠান [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "গোপনীয়তা নীতি", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "ভাষা", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "অ্যাপ ইন্টারফেসের জন্য আপনার পছন্দের ভাষা নির্বাচন করুন", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "ডার্ক মোড", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "কম আলোতে আরামদায়ক দেখার অভিজ্ঞতার জন্য ডার্ক মোড সক্রিয় করুন", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "লগ", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "ডিবাগিংয়ের জন্য অ্যাপ্লিকেশন লগ দেখুন এবং পরিচালনা করুন", + "@sectionLogsSubtitle": {}, + "doneButton": "সম্পন্ন", + "@doneButton": {}, + "bugReportDialogTitle": "বাগ রিপোর্ট", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "অনুগ্রহ করে আপনি যে বাগটি অভিজ্ঞতা করেছেন তা বর্ণনা করুন", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "ফাইল সংযুক্ত করুন", + "@attachFilesButtonTooltip": {}, + "filePickerError": "ফাইল নির্বাচন করতে ব্যর্থ", + "@filePickerError": {}, + "emptyBugReportError": "প্রথমে একটি বাগ রিপোর্ট দিন", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "বাগ রিপোর্ট পাঠাতে ব্যর্থ", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "সাবস্ক্রিপশন পরিচালনা করুন", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "আপনার সাবস্ক্রিপশন সেটিংস পরিচালনা করুন", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "হ্যাপটিক প্রতিক্রিয়া", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "সমর্থিত ডিভাইসগুলিতে হ্যাপ্টিক ফিডব্যাক (কম্পন) সক্রিয় বা নিষ্ক্রিয় করুন", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "নোটিফিকেশন চালু করুন", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Doctorina আপনার চ্যাট, রিপোর্ট বা উপসর্গে কিছু গুরুত্বপূর্ণ খুঁজে পেলে আপডেট থাকুন", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "অ্যাকাউন্ট", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "অ্যাপ", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "সম্পর্কে", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "নোটিফিকেশন", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "ভিডিও টিউটোরিয়াল", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "ফোন", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ইমেইল", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "নাম", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "{count}টি ফাইল বিদ্যমান ফাইলের সাথে ডুপ্লিকেট হওয়ার কারণে বাদ দেওয়া হয়েছে", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "প্রকার", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "বর্ণনা", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "সংযুক্তি", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "বাগ", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "ক্র্যাশ", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI সমস্যা", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "অন্যান্য", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "আপনার অ্যাকাউন্ট মুছে ফেলা হলে Doctorina থেকে আপনার ডেটা স্থায়ীভাবে মুছে যাবে।", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "আপনি মুছার আগে", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "আপনার একটি সক্রিয় সাবস্ক্রিপশন {store} এর মাধ্যমে রয়েছে। আপনার অ্যাকাউন্ট মুছে ফেলা হলে এটি বাতিল হবে না।", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store} এ সাবস্ক্রিপশন বাতিল করুন", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "অগ্রসর হন", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "আমরা আপনাকে যেতে দেখে দুঃখিত। আপনি কি নিশ্চিত যে আপনার অ্যাকাউন্ট মুছে ফেলতে চান? একবার নিশ্চিত হলে, আপনার তথ্য চলে যাবে।", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "আমি আর অ্যাপটি ব্যবহার করি না", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "ভালো কিছু পেয়েছি", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "প্রযুক্তিগত সমস্যা", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "ব্যবহারের সমস্যা", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "ফিচারের অভাব", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "গোপনীয়তা উদ্বেগ", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "আমি শুধু আমার ডেটা মুছে ফেলতে চেয়েছিলাম", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "অন্যান্য", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "আপনার প্রতিক্রিয়া শেয়ার করুন", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "আপনার অ্যাকাউন্ট মুছে ফেলা হচ্ছে...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "মুছে ফেলা হচ্ছে", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "পুনরুদ্ধার", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "আপনার অ্যাকাউন্ট মুছে ফেলা হয়েছে।", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "অ্যাকাউন্ট মুছতে ব্যর্থ হয়েছে। আবার চেষ্টা করুন।", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "এই ডিভাইসে কোন ইমেল অ্যাপ উপলব্ধ নেই। দয়া করে support@doctorina.com এ ম্যানুয়ালি যোগাযোগ করুন।", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ca.arb b/example/lib/src/l10n/settings/app_ca.arb new file mode 100644 index 0000000..68de581 --- /dev/null +++ b/example/lib/src/l10n/settings/app_ca.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ca", + "sectionClearAllChatsTitle": "Esborra Totes les Xerrades", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Això suposarà la eliminació permanent de l'historial de xats.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Esborra totes les xerrades", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Esborra totes les xerrades", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Eliminar compte", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Esborrar el teu compte és una acció permanent i no es pot desfer.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Eliminar", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Eliminar compte", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Tancar sessió", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Seràs desconnectat del teu compte", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Tancar sessió", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Enviar informe de bug", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Envia el missatge amb [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Envia un missatge amb [⏎ Enter] i una nova línia amb [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Envia amb [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Política de privadesa", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Idioma", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Selecciona el teu idioma preferit per a la interfície de l'aplicació", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Mode fosc", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Activa el mode fosc per a una experiència de visualització còmoda en poca llum", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Registres", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Veure i gestionar els registres de l'aplicació per a la depuració", + "@sectionLogsSubtitle": {}, + "doneButton": "Fet", + "@doneButton": {}, + "bugReportDialogTitle": "Informe de errors", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Si us plau, descriu el problema que has trobat", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Adjunta fitxers", + "@attachFilesButtonTooltip": {}, + "filePickerError": "No s'han pogut seleccionar fitxers", + "@filePickerError": {}, + "emptyBugReportError": "Si us plau, introdueix primer un informe d'error", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "No s'ha pogut enviar el informe d'error", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Gestiona la subscripció", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Gestiona la teva subscripció", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Retroalimentació hàptica", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Activa o desactiva la retroalimentació hàptica (vibració) en dispositius compatibles", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Activa les notificacions", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Mantingueu-vos actualitzat quan Doctorina trobi alguna cosa important en les vostres xats, informes o símptomes.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Compte", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "App", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Sobre", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Notificacions", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Tutorials en vídeo", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telèfon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Correu electrònic", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Nom", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "S'han saltat {count} fitxers a causa de duplicats amb fitxers existents", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Tipus", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Descripció", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Adjunts", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Error", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Crash", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Problema d'UI", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Altres", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Esborrar el teu compte eliminarà permanentment les teves dades de Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Abans de suprimir", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Tens un abonament actiu a través de {store}. Eliminar el teu compte no el cancel·larà.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Cancel·la la subscripció a la {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Continuar", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Lamentem veure't marxar. Estàs segur que vols eliminar el teu compte? Un cop ho confirmis, les teves dades desapareixeran.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Ja no faig servir l'aplicació", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "He trobat alguna cosa millor", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Problemes tècnics", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Problemes d'ús", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Funcions que falten", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Preocupacions per la privadesa", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Només volia esborrar les meves dades", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Altres", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Comparteix el teu comentari", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "S'està eliminant el teu compte...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Eliminant", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Desfer", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "El teu compte ha estat eliminat.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "No s'ha pogut eliminar el compte. Si us plau, torna a provar.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "No hi ha cap aplicació de correu electrònic disponible en aquest dispositiu. Si us plau, contacta manualment amb support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_cs.arb b/example/lib/src/l10n/settings/app_cs.arb new file mode 100644 index 0000000..0f95ff8 --- /dev/null +++ b/example/lib/src/l10n/settings/app_cs.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "cs", + "sectionClearAllChatsTitle": "Smazat všechny chaty", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Tímto trvale odstraníte svou historii chatu.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Smazat všechny chaty", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Vymazat všechny chaty", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Smazat účet", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Smazání vašeho účtu je trvalá akce a nelze ji vrátit zpět.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Smazat", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Smazat účet", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Odhlásit se", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Budete odhlášeni ze svého účtu.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Odhlásit se", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Odeslat hlášení o chybě", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Odeslat zprávu pomocí [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Odešlete zprávu pomocí [⏎ Enter] a nový řádek pomocí [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Odeslat pomocí [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Soukromí", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Jazyk", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Vyberte si preferovaný jazyk pro rozhraní aplikace", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Tmavý režim", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Povolit tmavý režim pro pohodlnější prohlížení při slabém osvětlení", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Záznamy", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Zobrazit a spravovat protokoly aplikace pro ladění", + "@sectionLogsSubtitle": {}, + "doneButton": "Hotovo", + "@doneButton": {}, + "bugReportDialogTitle": "Hlášení chyby", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Prosím, popište chybu, se kterou jste se setkali", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Připojit soubory", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Výběr souborů se nezdařil", + "@filePickerError": {}, + "emptyBugReportError": "Prosím, nejprve zadejte hlášení o chybě", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Nepodařilo se odeslat hlášení o chybě", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Spravovat předplatné", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Spravujte svá nastavení předplatného", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptická zpětná vazba", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Povolit nebo zakázat haptickou zpětnou vazbu (vibraci) na podporovaných zařízeních", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Zapnout oznámení", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Buďte informováni, když Doctorina najde něco důležitého ve vašich chatech, zprávách nebo symptomech.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Účet", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Aplikace", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "O aplikaci", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Upozornění", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video tutoriály", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Jméno", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Přeskočeno {count} souborů kvůli duplicitě s existujícími soubory", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Typ", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Popis", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Přílohy", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Chyba", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Pád", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Problém s uživatelským rozhraním", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Jiné", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Smazání vašeho účtu trvale odstraní vaše data z Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Před odstraněním", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Máte aktivní předplatné přes {store}. Smazání vašeho účtu jej nezruší.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Zrušit předplatné v {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Pokračovat", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Je nám líto, že odcházíte. Jste si jisti, že chcete smazat svůj účet? Jakmile potvrdíte, vaše data budou ztracena.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Už aplikaci nepoužívám", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Našel jsem něco lepšího", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Technické problémy", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Problémy s používáním", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Chybějící funkce", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Obavy o soukromí", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Jen jsem si chtěl vymazat data", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Jiné", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Sdílejte své názory", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Odstraňuji váš účet...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Mazání", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Zpět", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Váš účet byl smazán.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Nepodařilo se smazat účet. Zkuste to prosím znovu.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Na tomto zařízení není k dispozici žádná aplikace pro e-mail. Prosím, kontaktujte support@doctorina.com ručně.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_da.arb b/example/lib/src/l10n/settings/app_da.arb new file mode 100644 index 0000000..0f8aa56 --- /dev/null +++ b/example/lib/src/l10n/settings/app_da.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "da", + "sectionClearAllChatsTitle": "Slet Alle Chats", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Dette vil permanent slette din chat-historik.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Slet alle chats", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Slet alle chats", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Slet konto", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Sletning af din konto er en permanent handling og kan ikke fortrydes.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Slet", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Slet konto", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Log ud", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Du vil blive logget ud af din konto", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Log ud", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Send fejlrapport", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Send besked med [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Send en besked med [⏎ Enter] og en ny linje med [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Send med [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Privatlivspolitik", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Sprog", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Vælg dit foretrukne sprog til appens grænseflade", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Mørk tilstand", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Aktivér mørk tilstand for en behagelig visningsoplevelse i svagt lys", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Logs", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Se og administrer applikationslogfiler til fejlfinding", + "@sectionLogsSubtitle": {}, + "doneButton": "Færdig", + "@doneButton": {}, + "bugReportDialogTitle": "Fejlrapport", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Beskriv venligst den fejl, du stødte på", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Vedhæft filer", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Kunne ikke vælge filer", + "@filePickerError": {}, + "emptyBugReportError": "Indtast venligst først en fejlrapport", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Kunne ikke sende fejlrapport", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Administrer abonnement", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Administrer dine abonnementsindstillinger", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptisk feedback", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Aktivér eller deaktiver haptisk feedback (vibration) på understøttede enheder", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Tænd for notifikationer", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Hold dig opdateret, når Doctorina finder noget vigtigt i dine chats, rapporter eller symptomer.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Konto", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "App", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Om", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Notifikationer", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Videovejledninger", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "E-mail", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Navn", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Sprunget over {count} filer på grund af duplikater med eksisterende filer", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Type", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Beskrivelse", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Vedhæftninger", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Fejl", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Crash", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI-problem", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Andet", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Sletning af din konto vil permanent fjerne dine data fra Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Før du sletter", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Du har et aktivt abonnement gennem {store}. Sletning af din konto annullerer det ikke.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Annuller abonnement i {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Fortsæt", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Vi er kede af at se dig gå. Er du sikker på, at du vil slette din konto? Når du bekræfter, vil dine data være væk.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Jeg bruger appen ikke længere", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Har fundet noget bedre", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Tekniske problemer", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Problemer med brugervenlighed", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Manglende funktioner", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Privatlivsbekymringer", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Jeg ville bare rydde mine data", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Andet", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Del din feedback", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Sletter din konto...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Sletter", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Fortryd", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Din konto er blevet slettet.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Kunne ikke slette konto. Prøv venligst igen.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Ingen e-mailapp er tilgængelig på denne enhed. Kontakt venligst support@doctorina.com manuelt.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_de.arb b/example/lib/src/l10n/settings/app_de.arb new file mode 100644 index 0000000..62c1c02 --- /dev/null +++ b/example/lib/src/l10n/settings/app_de.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "de", + "sectionClearAllChatsTitle": "Alle Chats löschen", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Dadurch wird Ihr Chatverlauf dauerhaft gelöscht", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Alle Chats löschen", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Alle Chats löschen", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Konto löschen", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Das Löschen Ihres Kontos ist endgültig und kann nicht rückgängig gemacht werden.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Löschen", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Konto löschen", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Abmelden", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Sie werden von Ihrem Konto abgemeldet.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Abmelden", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Fehlerbericht senden", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Nachricht senden mit [⏎ Eingabe]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Sende eine Nachricht mit [⏎ Enter] und einen Zeilenumbruch mit [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Senden mit [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Datenschutzrichtlinie", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Sprache", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Wählen Sie Ihre bevorzugte Sprache für die App-Oberfläche", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Dunkelmodus", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Aktiviere den Dunkelmodus für ein angenehmes Seherlebnis bei schwachem Licht", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Protokolle", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Anwendungsprotokolle zur Fehlersuche anzeigen und verwalten", + "@sectionLogsSubtitle": {}, + "doneButton": "Fertig", + "@doneButton": {}, + "bugReportDialogTitle": "Fehlerbericht", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Bitte beschreiben Sie den Fehler, den Sie festgestellt haben", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Dateien anhängen", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Dateien konnten nicht ausgewählt werden", + "@filePickerError": {}, + "emptyBugReportError": "Bitte geben Sie zuerst einen Fehlerbericht ein", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Fehlerbericht konnte nicht gesendet werden", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Abonnement verwalten", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Verwalte deine Abonnementseinstellungen", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptisches Feedback", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Aktiviere oder deaktiviere das haptische Feedback (Vibration) auf unterstützten Geräten", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Benachrichtigungen aktivieren", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Bleiben Sie informiert, wenn Doctorina etwas Wichtiges in Ihren Chats, Berichten oder Symptomen findet.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Konto", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "App", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Über", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Benachrichtigungen", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video-Tutorials", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "E-Mail", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Name", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Es wurden {count} Dateien aufgrund von Duplikaten mit vorhandenen Dateien übersprungen", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Typ", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Beschreibung", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Anhänge", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Fehler", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Absturz", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI-Problem", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Andere", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Das Löschen Ihres Kontos entfernt Ihre Daten dauerhaft von Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Bevor Sie löschen", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Sie haben ein aktives Abonnement über den {store}. Das Löschen Ihres Kontos wird es nicht kündigen.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Abonnement im {store} kündigen", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Weiter", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Es tut uns leid, dass Sie gehen. Sind Sie sicher, dass Sie Ihr Konto löschen möchten? Sobald Sie bestätigen, sind Ihre Daten weg.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Ich benutze die App nicht mehr", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Etwas Besseres gefunden", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Technische Probleme", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Benutzerfreundlichkeitsprobleme", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Fehlende Funktionen", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Datenschutzbedenken", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Ich wollte nur meine Daten löschen", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Andere", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Teilen Sie uns Ihr Feedback mit", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Ihr Konto wird gelöscht...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Löschen", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Rückgängig", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Ihr Konto wurde gelöscht.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Konto konnte nicht gelöscht werden. Bitte versuchen Sie es erneut.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Auf diesem Gerät ist keine E-Mail-App verfügbar. Bitte kontaktieren Sie support@doctorina.com manuell.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_el.arb b/example/lib/src/l10n/settings/app_el.arb new file mode 100644 index 0000000..6b72c94 --- /dev/null +++ b/example/lib/src/l10n/settings/app_el.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "el", + "sectionClearAllChatsTitle": "Καθαρίστε όλες τις συνομιλίες", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Αυτό θα διαγράψει μόνιμα το ιστορικό συνομιλιών σας.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Καθαρίστε όλες τις συνομιλίες", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Καθαρίστε όλες τις συνομιλίες", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Διαγραφή Λογαριασμού", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Η διαγραφή του λογαριασμού σας είναι μια μόνιμη ενέργεια και δεν μπορεί να αναιρεθεί.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Διαγραφή", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Διαγραφή Λογαριασμού", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Αποσύνδεση", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Θα αποσυνδεθείτε από τον λογαριασμό σας.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Αποσύνδεση", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Αποστολή αναφοράς σφάλματος", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Στείλτε μήνυμα με [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Στείλτε ένα μήνυμα με [⏎ Enter] και μια νέα γραμμή με [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Αποστολή με [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Πολιτική Απορρήτου", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Γλώσσα", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Επιλέξτε τη γλώσσα που προτιμάτε για τη διεπαφή της εφαρμογής", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Σκοτεινή λειτουργία", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Ενεργοποιήστε τη σκοτεινή λειτουργία για άνετη εμπειρία θέασης σε χαμηλό φωτισμό", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Καταγραφές", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Δείτε και διαχειριστείτε τα αρχεία καταγραφής εφαρμογής για αποσφαλμάτωση", + "@sectionLogsSubtitle": {}, + "doneButton": "Έγινε", + "@doneButton": {}, + "bugReportDialogTitle": "Αναφορά σφάλματος", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Παρακαλώ περιγράψτε το σφάλμα που συναντήσατε", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Επισυνάψτε αρχεία", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Αποτυχία επιλογής αρχείων", + "@filePickerError": {}, + "emptyBugReportError": "Παρακαλώ εισάγετε πρώτα μια αναφορά σφάλματος", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Αποτυχία αποστολής αναφοράς σφάλματος", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Διαχείριση συνδρομής", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Διαχειριστείτε τις ρυθμίσεις συνδρομής σας", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Δόνηση", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Ενεργοποιήστε ή απενεργοποιήστε την απτική ανατροφοδότηση (δόνηση) σε υποστηριζόμενες συσκευές", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Ενεργοποιήστε τις ειδοποιήσεις", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Μείνετε ενημερωμένοι όταν η Doctorina βρει κάτι σημαντικό στις συνομιλίες, τις αναφορές ή τα συμπτώματά σας.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Λογαριασμός", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Εφαρμογή", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Σχετικά", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Ειδοποιήσεις", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Βίντεο μαθήματα", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Τηλέφωνο", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Όνομα", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Παραλείφθηκαν {count} αρχεία λόγω διπλοτύπου με υπάρχοντα αρχεία", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Τύπος", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Περιγραφή", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Συνημμένα", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Σφάλμα", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Σφάλμα", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Πρόβλημα UI", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Άλλο", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Η διαγραφή του λογαριασμού σας θα αφαιρέσει μόνιμα τα δεδομένα σας από το Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Πριν διαγράψετε", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Έχετε μια ενεργή συνδρομή μέσω του {store}. Η διαγραφή του λογαριασμού σας δεν θα την ακυρώσει.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Ακύρωση συνδρομής στο {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Συνέχεια", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Λυπούμαστε που σας βλέπουμε να φεύγετε. Είστε σίγουροι ότι θέλετε να διαγράψετε τον λογαριασμό σας; Μόλις το επιβεβαιώσετε, τα δεδομένα σας θα χαθούν.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Δεν χρησιμοποιώ πια την εφαρμογή", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Βρήκα κάτι καλύτερο", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Τεχνικά προβλήματα", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Προβλήματα ευχρηστίας", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Ελλείποντα χαρακτηριστικά", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Ανησυχίες σχετικά με την ιδιωτικότητα", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Απλώς ήθελα να καθαρίσω τα δεδομένα μου", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Άλλο", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Μοιραστείτε την ανατροφοδότησή σας", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Διαγράφεται ο λογαριασμός σας...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Διαγραφή", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Αναίρεση", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Ο λογαριασμός σας έχει διαγραφεί.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Αποτυχία διαγραφής λογαριασμού. Παρακαλώ δοκιμάστε ξανά.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Δεν υπάρχει διαθέσιμη εφαρμογή email σε αυτή τη συσκευή. Παρακαλώ επικοινωνήστε με το support@doctorina.com χειροκίνητα.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_en.arb b/example/lib/src/l10n/settings/app_en.arb new file mode 100644 index 0000000..86535a6 --- /dev/null +++ b/example/lib/src/l10n/settings/app_en.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "en", + "sectionClearAllChatsTitle": "Clear All Chats", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "This will permanently delete your chat history.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Clear All Chats", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Clear All Chats", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Delete Account", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Deleting your account is a permanent action and cannot be undone.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Delete", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Delete Account", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Sign Out", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "You will be signed out of your account.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Sign Out", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Send Bug Report", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Send message with [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Send a message with [⏎ Enter] and a new line with [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Send with [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Privacy Policy", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Language", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Select your preferred language for the app interface", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Dark mode", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Enable dark mode for a comfortable viewing experience in low light", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Logs", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "View and manage application logs for debugging", + "@sectionLogsSubtitle": {}, + "doneButton": "Done", + "@doneButton": {}, + "bugReportDialogTitle": "Bug Report", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Please describe the bug you encountered", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Attach files", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Failed to pick files", + "@filePickerError": {}, + "emptyBugReportError": "Please enter a bug report first", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Failed to send bug report", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Manage subscription", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Manage your subscription settings", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptic Feedback", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Enable or disable haptic feedback (vibration) on supported devices", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Turn on notifications", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Stay updated when Doctorina finds something important in your chats, reports, or symptoms.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Account", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "App", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "About", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Notifications", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video tutorials", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Phone", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Name", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Skipped {count} files due to duplicate with existing files", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Type", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Description", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Attachments", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Crash", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI issue", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Other", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Deleting your account will permanently remove your data from Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Before you delete", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "You have an active subscription through the {store}. Deleting your account will not cancel it.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Cancel subscription in the {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Continue", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "We are sorry to see you go. Are you sure you want to delete your account? Once you confirm, your data will be gone.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "I don't use the app anymore", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Found something better", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Technical issues", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Ease of use issues", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Missing features", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Privacy concerns", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "I just wanted to clear my data", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Other", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Share your feedback", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Deleting your account...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Deleting", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Undo", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Your account has been deleted.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Failed to delete account. Please try again.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "No email app is available on this device. Please contact support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_es.arb b/example/lib/src/l10n/settings/app_es.arb new file mode 100644 index 0000000..f70b52b --- /dev/null +++ b/example/lib/src/l10n/settings/app_es.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "es", + "sectionClearAllChatsTitle": "Borrar todos los chats", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Esto eliminará permanentemente tu historial de chats.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Borrar todos los chats", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Borrar todos los chats", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Eliminar cuenta", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Eliminar su cuenta es una acción permanente y no puede deshacerse.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Eliminar cuenta", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Eliminar cuenta", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Cerrar sesión", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Cerrarás sesión en tu cuenta", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Cerrar sesión", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Enviar informe de error", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Enviar mensaje con [⏎ Intro]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Envía un mensaje con [⏎ Enter] y una nueva línea con [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Enviar con [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Política de privacidad", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Idioma", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Seleccione su idioma preferido para la interfaz de la aplicación", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Modo oscuro", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Activa el modo oscuro para una experiencia de visualización cómoda en condiciones de poca luz", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Registros", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Ver y administrar los registros de la aplicación para depuración", + "@sectionLogsSubtitle": {}, + "doneButton": "Hecho", + "@doneButton": {}, + "bugReportDialogTitle": "Informe de errores", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Describa el error que encontró", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Adjuntar archivos", + "@attachFilesButtonTooltip": {}, + "filePickerError": "No se pudieron seleccionar los archivos", + "@filePickerError": {}, + "emptyBugReportError": "Por favor, introduzca primero un informe de error", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "No se pudo enviar el informe de error", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Administrar suscripción", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Gestiona la configuración de tu suscripción", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Vibración", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Activa o desactiva la retroalimentación háptica (vibración) en los dispositivos compatibles", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Activar notificaciones", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Mantente actualizado cuando Doctorina encuentre algo importante en tus chats, informes o síntomas", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Cuenta", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Aplicación", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Acerca de", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Notificaciones", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video tutoriales", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Teléfono", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Correo electrónico", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Nombre", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Se omitieron {count} archivos debido a duplicados con archivos existentes", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Tipo", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Descripción", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Adjuntos", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Error", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Fallo", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Problema de interfaz", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Otro", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Eliminar su cuenta eliminará permanentemente sus datos de Doctorina", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Antes de eliminar", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Tienes una suscripción activa a través de {store}. Eliminar tu cuenta no la cancelará.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Cancelar suscripción en {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Continuar", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Lamentamos verte partir. ¿Estás seguro de que deseas eliminar tu cuenta? Una vez que confirmes, tus datos se perderán.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "No uso la aplicación anymore", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Encontré algo mejor", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Problemas técnicos", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Problemas de facilidad de uso", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Faltan funciones", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Preocupaciones de privacidad", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Solo quería limpiar mis datos", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Otro", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Comparte tu opinión", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Eliminando tu cuenta...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Eliminando", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Deshacer", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Tu cuenta ha sido eliminada.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "No se pudo eliminar la cuenta. Por favor, inténtalo de nuevo.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "No hay ninguna aplicación de correo disponible en este dispositivo. Por favor, contacta manualmente a support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_fa.arb b/example/lib/src/l10n/settings/app_fa.arb new file mode 100644 index 0000000..69bcc51 --- /dev/null +++ b/example/lib/src/l10n/settings/app_fa.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "fa", + "sectionClearAllChatsTitle": "پاک کردن همه گفتگوها", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "این کار تاریخچه چت شما را به‌طور دائمی حذف خواهد کرد.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "پاک کردن همه چت‌ها", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "پاک کردن همه گفتگوها", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "حذف حساب", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "حذف حساب کاربری شما یک اقدام دائمی است و قابل بازگشت نیست.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "حذف", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "حذف حساب", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "خروج", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "شما از حساب خود خارج خواهید شد.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "خروج", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "ارسال گزارش باگ", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "ارسال پیام با [⏎ اینتر]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "پیام بفرستید با [⏎ Enter] و خط جدید با [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "ارسال با [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "سیاست حفظ حریم خصوصی", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "زبان", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "زبان مورد علاقه خود را برای رابط برنامه انتخاب کنید", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "حالت تیره", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "حالت تاریک را فعال کنید تا تجربه مشاهده راحتی در نور کم داشته باشید", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "گزارش‌ها", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "مشاهده و مدیریت لاگ‌های برنامه برای اشکال‌زدایی", + "@sectionLogsSubtitle": {}, + "doneButton": "انجام شد", + "@doneButton": {}, + "bugReportDialogTitle": "گزارش اشکال", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "لطفاً خطایی را که با آن مواجه شدید توصیف کنید", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "ضم کردن فایل‌ها", + "@attachFilesButtonTooltip": {}, + "filePickerError": "انتخاب فایل‌ها ناموفق بود", + "@filePickerError": {}, + "emptyBugReportError": "لطفاً ابتدا یک گزارش باگ وارد کنید", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "ارسال گزارش باگ ناموفق بود", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "مدیریت اشتراک", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "تنظیمات اشتراک خود را مدیریت کنید", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "بازخورد لمسی", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "بازخورد لمسی (لرزش) را در دستگاه‌های پشتیبانی‌شده فعال یا غیرفعال کنید", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "اعلان‌ها را فعال کنید", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "زمانی که دکترینا چیزی مهم در چت‌ها، گزارش‌ها یا علائم شما پیدا کند، به‌روز بمانید", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "حساب", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "برنامه", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "درباره", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "اطلاعیه‌ها", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "آموزش‌های ویدیویی", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "تلفن", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ایمیل", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "نام", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "به دلیل وجود فایل‌های تکراری، {count} فایل نادیده گرفته شد", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "نوع", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "توضیحات", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "پیوست‌ها", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "خطا", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "خرابی", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "مسئله رابط کاربری", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "دیگر", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "حذف حساب شما به طور دائمی داده‌های شما را از Doctorina حذف خواهد کرد", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "قبل از حذف", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "شما یک اشتراک فعال از طریق {store} دارید. حذف حساب شما آن را لغو نخواهد کرد.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "لغو اشتراک در {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "ادامه", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "متأسفیم که شما می‌روید. آیا مطمئن هستید که می‌خواهید حساب خود را حذف کنید؟ پس از تأیید، داده‌های شما از بین خواهد رفت.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "دیگر از برنامه استفاده نمی‌کنم", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "چیزی بهتر پیدا کردم", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "مشکلات فنی", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "مشکلات استفاده", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "ویژگی‌های ناقص", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "نگرانی‌های مربوط به حریم خصوصی", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "فقط می‌خواستم داده‌هایم را پاک کنم", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "دیگر", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "بازخورد خود را به اشتراک بگذارید", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "در حال حذف حساب شما...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "در حال حذف", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "بازگشت", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "حساب شما حذف شده است", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "خطا در حذف حساب. لطفاً دوباره تلاش کنید.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "هیچ برنامه ایمیلی در این دستگاه موجود نیست. لطفاً به صورت دستی با support@doctorina.com تماس بگیرید.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_fr.arb b/example/lib/src/l10n/settings/app_fr.arb new file mode 100644 index 0000000..aa243ef --- /dev/null +++ b/example/lib/src/l10n/settings/app_fr.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "fr", + "sectionClearAllChatsTitle": "Effacer les chats", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Cela supprimera définitivement votre historique de chat.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Effacer les chats", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Effacer les chats", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Supprimer le compte", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "La suppression de votre compte est une action définitive et ne peut pas être annulée.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Supprimer", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Supprimer le compte", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Se déconnecter", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Vous serez déconnecté de votre compte.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Se déconnecter", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Envoyer un rapport de bug", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Envoyer le message avec [⏎ Entrée]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Envoyez un message avec [⏎ Enter] et une nouvelle ligne avec [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Envoyer avec [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Politique de confidentialité", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Langue", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Sélectionnez votre langue préférée pour l'interface de l'application", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Mode sombre", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Activez le mode sombre pour une expérience visuelle confortable en basse lumière", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Journaux", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Afficher et gérer les journaux de l'application pour le débogage", + "@sectionLogsSubtitle": {}, + "doneButton": "Terminé", + "@doneButton": {}, + "bugReportDialogTitle": "Rapport de bogue", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Veuillez décrire le bug rencontré", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Joindre des fichiers", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Impossible de sélectionner les fichiers", + "@filePickerError": {}, + "emptyBugReportError": "Veuillez d'abord saisir un rapport de bug", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Échec de l'envoi du rapport de bug", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Gérer l'abonnement", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Gérez les paramètres de votre abonnement", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Retour haptique", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Activez ou désactivez le retour haptique (vibration) sur les appareils compatibles", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Activer les notifications", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Restez informé lorsque Doctorina trouve quelque chose d'important dans vos discussions, rapports ou symptômes.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Compte", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Application", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "À propos", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Notifications", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Tutoriels vidéo", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Téléphone", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Nom", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Fichiers ignorés : {count} en raison de doublons avec des fichiers existants", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Type", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Description", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Pièces jointes", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Crash", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Problème d'interface utilisateur", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Autre", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "La suppression de votre compte supprimera définitivement vos données de Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Avant de supprimer", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Vous avez un abonnement actif via le {store}. La suppression de votre compte ne l'annulera pas.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Annuler l'abonnement dans le {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Continuer", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Nous sommes désolés de vous voir partir. Êtes-vous sûr de vouloir supprimer votre compte ? Une fois que vous aurez confirmé, vos données seront perdues.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Je n'utilise plus l'application", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "J'ai trouvé quelque chose de mieux", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Problèmes techniques", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Problèmes d'utilisation", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Fonctionnalités manquantes", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Préoccupations concernant la vie privée", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Je voulais juste effacer mes données", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Autre", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Partagez vos commentaires", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Suppression de votre compte...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Suppression", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Annuler", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Votre compte a été supprimé.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Échec de la suppression du compte. Veuillez réessayer.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Aucune application de messagerie n'est disponible sur cet appareil. Veuillez contacter support@doctorina.com manuellement.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_gu.arb b/example/lib/src/l10n/settings/app_gu.arb new file mode 100644 index 0000000..e945590 --- /dev/null +++ b/example/lib/src/l10n/settings/app_gu.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "gu", + "sectionClearAllChatsTitle": "તમામ ચેટ્સ સાફ કરો", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "આ તમારા ચેટ ઇતિહાસને કાયમી રીતે કાઢી નાખશે", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "બધા ચેટ્સ સાફ કરો", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "બધા ચેટ્સ સાફ કરો", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "એકાઉન્ટ કાઢી નાખો", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "તમારૂં એકાઉન્ટ કાઢી નાખવું એક સ્થાયી કાર્યવાહી છે અને તેને પાછું કરી શકાયું તેવું નથી.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "મિટાવો", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "એકાઉન્ટ કાઢી નાખો", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "બહાર નીકળો", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "તમે તમારા એકાઉન્ટમાંથી સાઇન આઉટ થઈ જશે.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "સાઇન આઉટ", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "બગ રિપોર્ટ મોકલો", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "[⏎ Enter] સાથે સંદેશ મોકલો", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "[⏎ Enter] સાથે સંદેશ મોકલો અને [Shift] + [⏎ Enter] સાથે નવી લાઇન મોકલો.", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "સંદેશો મોકલવા માટે [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "ગોપનીયતા નીતિ", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "ભાષા", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "એપ્લિકેશન ઇન્ટરફેસ માટે તમારી પસંદગીની ભાષા પસંદ કરો.", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "ડાર્ક મોડ", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "ઓછા પ્રકાશમાં આરામદાયક જોવાના અનુભવ માટે ડાર્ક મોડ ચાલુ કરો", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "લોગ", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "ડિબગીંગ માટે એપ્લિકેશન લોગ જુઓ અને મેનેજ કરો", + "@sectionLogsSubtitle": {}, + "doneButton": "થઈ ગયું", + "@doneButton": {}, + "bugReportDialogTitle": "બગ રિપોર્ટ", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "કૃપા કરીને તમને મળેલી ભૂલનું વર્ણન કરો.", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "ફાઇલો જોડો", + "@attachFilesButtonTooltip": {}, + "filePickerError": "ફાઇલો પસંદ કરવામાં નિષ્ફળ થયાં", + "@filePickerError": {}, + "emptyBugReportError": "કૃપા કરીને પહેલા બગ રિપોર્ટ દાખલ કરો", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "બગ રિપોર્ટ મોકલવામાં નિષ્ફળ થયાં", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "સબ્સ્ક્રિપ્શન મેનેજ કરો", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "તમારા સબ્સ્ક્રિપ્શન સેટિંગ્સ મેનેજ કરો", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "હેપ્ટિક પ્રતિસાદ", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "સપોર્ટેડ ઉપકરણોમાં હેપ્ટિક ફીડબેક (કંપન) ચાલુ અથવા બંધ કરો", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "નોટિફિકેશન્સ ચાલુ કરો", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "જ્યારે Doctorina તમારા ચેટ, અહેવાલો અથવા લક્ષણોમાં કંઈ મહત્વપૂર્ણ શોધે છે ત્યારે અપડેટ રહો.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "ખાતું", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "એપ", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "વિશે", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "સૂચનાઓ", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "વિડિયો ટ્યુટોરિયલ", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "ફોન", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ઈમેલ", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "નામ", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "અસ્તિત્વમાં આવેલા ફાઇલો સાથે ડુપ્લિકેટના કારણે {count} ફાઇલો છોડી દેવામાં આવી છે", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "પ્રકાર", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "વર્ણન", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "જોડાણો", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "બગ", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "ક્રેશ", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "યુઆઈ સમસ્યા", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "અન્ય", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "તમારો ખાતો કાઢી નાખવાથી Doctorina માંથી તમારું ડેટા શાશ્વત રીતે દૂર થઈ જશે", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "તમે કાઢી નાખતા પહેલા", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "તમે {store} દ્વારા એક્ટિવ સબ્સ્ક્રિપ્શન ધરાવો છો. તમારા ખાતાને કાઢી નાખવાથી તે રદ નહીં થાય.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "સબ્સ્ક્રિપ્શન રદ કરો {store}માં", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "જારી રાખો", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "તમે જવા માટે દુઃખી છીએ. શું તમે ખરેખર તમારું ખાતું કાઢી નાખવા માંગો છો? એકવાર તમે પુષ્ટિ કરી, તમારી માહિતી જાશે.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "હું એપ્લિકેશનનો ઉપયોગ કરતો નથી", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "કંઈક વધુ સારું મળ્યું", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "તકનીકી સમસ્યાઓ", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "ઉપયોગમાં મુશ્કેલીઓ", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "ફીચર્સની અછત", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "ગોપનીયતા અંગેની ચિંતા", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "હું ફક્ત મારા ડેટા સાફ કરવા માંગતો હતો", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "અન્ય", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "તમારો પ્રતિસાદ શેર કરો", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "તમારો ખાતો કાઢી નાખી રહ્યા છીએ...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "કાઢી રહ્યું છે", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "ફેરવાં", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "તમારું ખાતું કાઢી નાખવામાં આવ્યું છે.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "ખાતું કાઢી નાખવામાં નિષ્ફળ. કૃપા કરીને ફરી પ્રયાસ કરો.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "આ ઉપકરણ પર કોઈ ઇમેઇલ એપ ઉપલબ્ધ નથી. કૃપા કરીને support@doctorina.com પર હાથે સંપર્ક કરો.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_he.arb b/example/lib/src/l10n/settings/app_he.arb new file mode 100644 index 0000000..55b3d0c --- /dev/null +++ b/example/lib/src/l10n/settings/app_he.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "he", + "sectionClearAllChatsTitle": "נקה את כל השיחות", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "זה ימחק לצמיתות את היסטוריית הצ'אט שלך.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "נקה את כל השיחות", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "נקה את כל השיחות", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "מחק חשבון", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "מחיקת חשבונך היא פעולה קבועה ולא ניתנת לביטול.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "מחק", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "מחיקת חשבון", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "התנתק", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "תתנתק מחשבונך.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "התנתק", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "שלח דיווח על באג", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "שלח הודעה עם [⏎ אנטר]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "שלח הודעה עם [⏎ Enter] ושורה חדשה עם [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "שלח עם [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "מדיניות פרטיות", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "שפה", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "בחר את השפה המועדפת עליך לממשק האפליקציה", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "מצב כהה", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "הפעל מצב חשוך לחוויית צפייה נוחה בתנאי תאורה נמוכה", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "יומנים", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "צפה ונהל את יומני האפליקציה לניפוי שגיאות", + "@sectionLogsSubtitle": {}, + "doneButton": "בוצע", + "@doneButton": {}, + "bugReportDialogTitle": "דוח באג", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "אנא תאר את הבאג שנתקלת בו", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "הוספת קבצים", + "@attachFilesButtonTooltip": {}, + "filePickerError": "לא ניתן לבחור קבצים", + "@filePickerError": {}, + "emptyBugReportError": "אנא הזן קודם דו\\\"ח באג", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "שליחת דיווח על באג נכשלה", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "נהל מנוי", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "נהל את הגדרות המנוי שלך", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "משוב מיששי", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "הפעל או כבה את המשוב המישושי (רעידה) במכשירים הנתמכים", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "הפעל התראות", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "הישאר מעודכן כאשר דוקטורינה מוצאת משהו חשוב בצ'אטים, דוחות או סימפטומים שלך", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "חשבון", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "אפליקציה", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "אודות", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "התראות", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "סדנאות וידאו", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "טלפון", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "אימייל", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "שם", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "נמנעו {count} קבצים עקב כפילויות עם קבצים קיימים", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "סוג", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "תיאור", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "קבצים מצורפים", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "באג", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "קריסה", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "בעיה בממשק המשתמש", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "אחר", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "מחיקת החשבון שלך תסיר לצמיתות את הנתונים שלך מ-Doctorina", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "לפני שתמחק", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "יש לך מנוי פעיל דרך {store}. מחיקת החשבון שלך לא תבטל אותו.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "ביטול מנוי ב-{store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "המשך", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "אנחנו מצטערים לראות אותך הולך. האם אתה בטוח שברצונך למחוק את החשבון שלך? ברגע שתאשר, הנתונים שלך יימחקו.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "אני כבר לא משתמש באפליקציה", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "מצאתי משהו טוב יותר", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "בעיות טכניות", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "בעיות שימוש", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "חסרים תכונות", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "דאגות פרטיות", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "רק רציתי לנקות את הנתונים שלי", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "אחר", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "שתף את המשוב שלך", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "מוחק את החשבון שלך...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "מוחק", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "ביטול", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "החשבון שלך נמחק", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "נכשל במחקת החשבון. אנא נסה שוב.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "אין אפליקציית דוא\"ל זמינה במכשיר זה. אנא פנה ל-support@doctorina.com ידנית.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_hi.arb b/example/lib/src/l10n/settings/app_hi.arb new file mode 100644 index 0000000..02cb799 --- /dev/null +++ b/example/lib/src/l10n/settings/app_hi.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "hi", + "sectionClearAllChatsTitle": "सभी चैट साफ़ करें", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "यह आपके चैट इतिहास को स्थायी रूप से हटा देगा।", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "सभी चैट साफ करें", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "सभी चैट हटाएं", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "खाता हटाएं", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "आपका खाता हटाना एक स्थायी कार्रवाई है और इसे पूर्ववत नहीं किया जा सकता।", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "हटाएं", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "खाता हटाएं", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "साइन आउट", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "आपके खाते से लॉगआउट कर दिया जाएगा.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "साइन आउट", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "बग रिपोर्ट भेजें", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "संदेश भेजें [⏎ एंटर]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "संदेश भेजें [⏎ Enter] के साथ और नई पंक्ति के लिए [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "भेजें [⏎ Enter] के साथ", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "गोपनीयता नीति", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "भाषा", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "ऐप इंटरफ़ेस के लिए अपनी पसंदीदा भाषा चुनें", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "डार्क मोड", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "कम रोशनी में आरामदायक देखने के अनुभव के लिए डार्क मोड सक्षम करें", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "लॉग", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "डिबगिंग के लिए एप्लिकेशन लॉग देखें और प्रबंधित करें", + "@sectionLogsSubtitle": {}, + "doneButton": "हो गया", + "@doneButton": {}, + "bugReportDialogTitle": "बग रिपोर्ट", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "कृपया जिस बग का आपने अनुभव किया है, उसका वर्णन करें", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "फाइलें संलग्न करें", + "@attachFilesButtonTooltip": {}, + "filePickerError": "फ़ाइलें चुनने में विफल", + "@filePickerError": {}, + "emptyBugReportError": "कृपया पहले एक बग रिपोर्ट दर्ज करें", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "बग रिपोर्ट भेजने में विफल", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "सदस्यता प्रबंधित करें", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "अपनी सदस्यता सेटिंग्स प्रबंधित करें", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "हैप्टिक फीडबैक", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "समर्थित उपकरणों पर हैप्टिक फीडबैक (कंपन) को सक्षम या अक्षम करें", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "सूचनाएँ चालू करें", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "जब Doctorina आपके चैट, रिपोर्ट या लक्षणों में कुछ महत्वपूर्ण पाता है, तो अपडेट रहें।", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "खाता", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "ऐप", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "के बारे में", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "सूचनाएँ", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "वीडियो ट्यूटोरियल", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "फोन", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ईमेल", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "नाम", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "{count} फ़ाइलों को मौजूदा फ़ाइलों के साथ डुप्लिकेट के कारण छोड़ दिया गया", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "प्रकार", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "विवरण", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "संलग्नक", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "बग", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "क्रैश", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "यूआई समस्या", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "अन्य", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "अपने खाते को हटाने से आपके डेटा को Doctorina से स्थायी रूप से हटा दिया जाएगा।", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "आप हटाने से पहले", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "आपके पास {store} के माध्यम से एक सक्रिय सदस्यता है। आपका खाता हटाने से यह रद्द नहीं होगा।", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store} में सदस्यता रद्द करें", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "जारी रखें", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "हमें खेद है कि आप जा रहे हैं। क्या आप सुनिश्चित हैं कि आप अपना खाता हटाना चाहते हैं? एक बार जब आप पुष्टि कर देंगे, तो आपका डेटा चला जाएगा।", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "मैं ऐप का उपयोग नहीं करता हूँ", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "कुछ बेहतर मिला", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "तकनीकी समस्याएँ", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "उपयोग में कठिनाई", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "विशेषताएँ गायब हैं", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "गोपनीयता संबंधी चिंताएँ", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "मैं बस अपने डेटा को साफ करना चाहता था", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "अन्य", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "अपना फीडबैक साझा करें", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "आपका खाता हटाया जा रहा है...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "हटाना", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "पूर्ववत", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "आपका खाता हटा दिया गया है।", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "खाता हटाने में विफल। कृपया फिर से प्रयास करें।", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "इस डिवाइस पर कोई ईमेल ऐप उपलब्ध नहीं है। कृपया support@doctorina.com पर मैन्युअल रूप से संपर्क करें।", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_hu.arb b/example/lib/src/l10n/settings/app_hu.arb new file mode 100644 index 0000000..a86d04f --- /dev/null +++ b/example/lib/src/l10n/settings/app_hu.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "hu", + "sectionClearAllChatsTitle": "Összes csevegés törlése", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Ez véglegesen törli a csevegési előzményeidet.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Összes csevegés törlése", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Minden csevegés törlése", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Fiók törlése", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "A fiók törlése végleges lépés, és nem vonható vissza.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Törlés", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Fiók törlése", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Kijelentkezés", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Ki leszel jelentkezve a fiókodból.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Kijelentkezés", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Hibajelentés küldése", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Üzenet küldése [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Üzenet küldése [⏎ Enter] billentyűvel, új sor beszúrása [Shift] + [⏎ Enter] billentyűkkel", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Küldés [⏎ Enter] gombbal", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Adatvédelmi irányelvek", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Nyelv", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Válaszd ki a preferált nyelvet az alkalmazás felületéhez", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Sötét mód", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Engedélyezze a sötét módot a kényelmesebb megtekintési élmény érdekében gyenge fényviszonyok között", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Naplók", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Alkalmazásnaplók megtekintése és kezelése a hibakereséshez", + "@sectionLogsSubtitle": {}, + "doneButton": "Kész", + "@doneButton": {}, + "bugReportDialogTitle": "Hibajelentés", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Kérjük, írja le a tapasztalt hibát", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Fájlok csatolása", + "@attachFilesButtonTooltip": {}, + "filePickerError": "A fájlok kiválasztása nem sikerült", + "@filePickerError": {}, + "emptyBugReportError": "Kérjük, először adjon meg egy hibajelentést", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "A hibajelentés elküldése nem sikerült", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Előfizetés kezelése", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Kezelje előfizetési beállításait", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptikus visszajelzés", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Engedélyezze vagy tiltsa le a haptikus visszajelzést (rezgést) a támogatott eszközökön", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Értesítések bekapcsolása", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Maradjon naprakész, amikor a Doctorina fontos dolgot talál a csevegéseiben, jelentéseiben vagy tüneteiben.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Fiók", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Alkalmazás", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Rólunk", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Értesítések", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Videó oktatóanyagok", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Név", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Kihagyott {count} fájlt a meglévő fájlokkal való duplikáció miatt", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Típus", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Leírás", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Mellékletek", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Hiba", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Összeomlás", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI probléma", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Egyéb", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "A fiók törlése véglegesen eltávolítja az adatait a Doctorina-ból.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Törlés előtt", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Aktív előfizetéssel rendelkezik a {store} szolgáltatáson keresztül. A fiók törlése nem törli azt.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Előfizetés lemondása a {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Folytatás", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Sajnáljuk, hogy elmegy. Biztos benne, hogy törölni szeretné a fiókját? Miután megerősíti, az adatai eltűnnek.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Már nem használom az alkalmazást", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Találtam valami jobbat", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Technikai problémák", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Használati problémák", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Hiányzó funkciók", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Adatvédelmi aggályok", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Csak szerettem volna törölni az adataimat", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Egyéb", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Ossza meg véleményét", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Fiókja törlése...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Törlés", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Visszavonás", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "A fiókja törölve lett.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Sikertelen fiók törlés. Kérjük, próbálja újra.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Nincs elérhető e-mail alkalmazás ezen az eszközön. Kérjük, lépjen kapcsolatba a support@doctorina.com címen.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_id.arb b/example/lib/src/l10n/settings/app_id.arb new file mode 100644 index 0000000..4d9893e --- /dev/null +++ b/example/lib/src/l10n/settings/app_id.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "id", + "sectionClearAllChatsTitle": "Hapus Semua Obrolan", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Ini akan menghapus riwayat chat Anda secara permanen.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Hapus Semua Obrolan", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Bersihkan Semua Obrolan", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Hapus Akun", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Menghapus akun Anda merupakan tindakan permanen dan tidak dapat dibatalkan.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Hapus", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Hapus Akun", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Keluar", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Anda akan keluar dari akun Anda.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Keluar", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Kirim Laporan Bug", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Kirim pesan dengan [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Kirim pesan dengan [⏎ Enter] dan baris baru dengan [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Kirim dengan [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Kebijakan Privasi", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Bahasa", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Pilih bahasa yang Anda inginkan untuk antarmuka aplikasi", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Mode Gelap", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Aktifkan mode gelap untuk pengalaman menonton yang nyaman dalam cahaya rendah", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Riwayat", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Lihat dan kelola log aplikasi untuk debugging", + "@sectionLogsSubtitle": {}, + "doneButton": "Selesai", + "@doneButton": {}, + "bugReportDialogTitle": "Laporan Bug", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Silakan jelaskan bug yang Anda temui", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Lampirkan file", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Gagal memilih file", + "@filePickerError": {}, + "emptyBugReportError": "Harap masukkan laporan bug terlebih dahulu", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Gagal mengirim laporan bug", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Kelola langganan", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Kelola pengaturan langganan Anda", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Umpan Balik Haptik", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Aktifkan atau nonaktifkan umpan balik haptik (getaran) pada perangkat yang didukung", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Nyalakan notifikasi", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Tetap terupdate ketika Doctorina menemukan sesuatu yang penting dalam obrolan, laporan, atau gejala Anda.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Akun", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Aplikasi", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Tentang", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Notifikasi", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video tutorial", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telepon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Nama", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Dilewati {count} file karena duplikat dengan file yang ada", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Tipe", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Deskripsi", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Lampiran", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Kecelakaan", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Masalah UI", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Lainnya", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Menghapus akun Anda akan menghapus data Anda secara permanen dari Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Sebelum Anda menghapus", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Anda memiliki langganan aktif melalui {store}. Menghapus akun Anda tidak akan membatalkannya.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Batalkan langganan di {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Lanjutkan", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Kami menyesal melihat Anda pergi. Apakah Anda yakin ingin menghapus akun Anda? Setelah Anda mengonfirmasi, data Anda akan hilang.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Saya tidak lagi menggunakan aplikasi", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Menemukan sesuatu yang lebih baik", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Masalah teknis", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Masalah kemudahan penggunaan", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Fitur yang hilang", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Kekhawatiran privasi", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Saya hanya ingin menghapus data saya", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Lainnya", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Bagikan umpan balik Anda", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Menghapus akun Anda...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Menghapus", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Batalkan", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Akun Anda telah dihapus.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Gagal menghapus akun. Silakan coba lagi.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Tidak ada aplikasi email yang tersedia di perangkat ini. Silakan hubungi support@doctorina.com secara manual.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_it.arb b/example/lib/src/l10n/settings/app_it.arb new file mode 100644 index 0000000..3b398de --- /dev/null +++ b/example/lib/src/l10n/settings/app_it.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "it", + "sectionClearAllChatsTitle": "Cancella tutte le chat", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Questo cancellerà definitivamente la cronologia delle chat.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Elimina tutte le chat", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Cancella tutte le chat", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Elimina account", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Eliminare il tuo account è un'azione permanente e non può essere annullata.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Elimina", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Elimina account", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Esci", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Verrai disconnesso dal tuo account.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Esci", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Invia segnalazione bug", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Invia messaggio con [⏎ Invio]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Invia un messaggio con [⏎ Enter] e una nuova riga con [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Invia con [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Informativa sulla privacy", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Lingua", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Seleziona la tua lingua preferita per l'interfaccia dell'app", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Modalità scura", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Attiva la modalità scura per un'esperienza visiva confortevole in condizioni di scarsa luminosità", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Registri", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Visualizza e gestisci i log dell'applicazione per il debug", + "@sectionLogsSubtitle": {}, + "doneButton": "Fatto", + "@doneButton": {}, + "bugReportDialogTitle": "Segnalazione di bug", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Descrivi il bug riscontrato", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Allega file", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Impossibile selezionare i file", + "@filePickerError": {}, + "emptyBugReportError": "Inserisci prima una segnalazione di bug", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Invio del rapporto di bug non riuscito", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Gestisci abbonamento", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Gestisci le impostazioni dell'abbonamento", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Feedback aptico", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Attiva o disattiva il feedback aptico (vibrazione) sui dispositivi supportati", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Attiva le notifiche", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Rimani aggiornato quando Doctorina trova qualcosa di importante nelle tue chat, report o sintomi.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Account", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "App", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Informazioni", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Notifiche", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video tutorial", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefono", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Nome", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Saltate {count} file a causa di duplicati con file esistenti", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Tipo", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Descrizione", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Allegati", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Crash", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Problema UI", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Altro", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Eliminare il tuo account rimuoverà permanentemente i tuoi dati da Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Prima di eliminare", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Hai un abbonamento attivo tramite {store}. Eliminare il tuo account non lo annullerà.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Annulla l'abbonamento nello {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Continua", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Ci dispiace vederti andare. Sei sicuro di voler eliminare il tuo account? Una volta confermato, i tuoi dati saranno persi.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Non uso più l'app", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Trovato qualcosa di meglio", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Problemi tecnici", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Problemi di usabilità", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Funzionalità mancanti", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Preoccupazioni per la privacy", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Volevo solo cancellare i miei dati", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Altro", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Condividi il tuo feedback", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Eliminazione del tuo account...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Eliminazione", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Annulla", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Il tuo account è stato eliminato.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Impossibile eliminare l'account. Riprova.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Nessuna app di posta è disponibile su questo dispositivo. Contatta manualmente support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ja.arb b/example/lib/src/l10n/settings/app_ja.arb new file mode 100644 index 0000000..38668f4 --- /dev/null +++ b/example/lib/src/l10n/settings/app_ja.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ja", + "sectionClearAllChatsTitle": "すべてのチャットをクリア", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "チャット履歴が永久に削除されます。", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "すべてのチャットを消去", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "すべてのチャットを消去", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "アカウントを削除", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "アカウントの削除は、永久的な操作であり、元に戻すことはできません。", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "削除", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "アカウント削除", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "サインアウト", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "アカウントからサインアウトされます.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "サインアウト", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "バグ報告を送信", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "[⏎ Enter]でメッセージを送信", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "メッセージは[⏎ Enter]で送信し、[Shift] + [⏎ Enter]で改行します", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "[⏎ Enter] で送信", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "プライバシーポリシー", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "言語", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "アプリのインターフェイスに使用する言語を選択してください", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "ダークモード", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "低照度での快適な閲覧のためにダークモードを有効にする", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "ログ", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "デバッグ用にアプリケーションログを表示および管理", + "@sectionLogsSubtitle": {}, + "doneButton": "完了", + "@doneButton": {}, + "bugReportDialogTitle": "バグレポート", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "遭遇したバグについて記述してください", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "ファイルを添付", + "@attachFilesButtonTooltip": {}, + "filePickerError": "ファイルの選択に失敗しました", + "@filePickerError": {}, + "emptyBugReportError": "最初にバグレポートを入力してください", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "バグレポートの送信に失敗しました", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "サブスクリプションを管理", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "購読設定を管理", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "触覚フィードバック", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "対応デバイスでハプティックフィードバック(バイブレーション)を有効または無効にする", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "通知をオンにする", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Doctorinaがチャット、レポート、または症状で重要なことを見つけたときに最新情報を受け取ります。", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "アカウント", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "アプリ", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "概要", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "通知", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "ビデオチュートリアル", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "電話", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "メール", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "名前", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "既存のファイルと重複しているため、{count} ファイルがスキップされました", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "タイプ", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "説明", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "添付ファイル", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "バグ", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "クラッシュ", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UIの問題", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "その他", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "アカウントを削除すると、Doctorinaからデータが永久に削除されます。", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "削除する前に", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "{store}を通じてアクティブなサブスクリプションがあります。アカウントを削除してもキャンセルされません。", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store}でサブスクリプションをキャンセル", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "続ける", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "あなたが去るのは残念です。アカウントを削除してもよろしいですか?確認すると、あなたのデータは消えます。", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "もうアプリを使っていません", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "より良いものを見つけました", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "技術的な問題", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "使いやすさの問題", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "機能が不足", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "プライバシーの懸念", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "私はただ自分のデータを消去したかった", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "その他", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "フィードバックを共有してください", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "アカウントを削除しています...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "削除中", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "元に戻す", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "アカウントが削除されました。", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "アカウントの削除に失敗しました。もう一度お試しください。", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "このデバイスにはメールアプリがありません。手動でsupport@doctorina.comに連絡してください。", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_kk.arb b/example/lib/src/l10n/settings/app_kk.arb new file mode 100644 index 0000000..225fcfa --- /dev/null +++ b/example/lib/src/l10n/settings/app_kk.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "kk", + "sectionClearAllChatsTitle": "Барлық чаттарды тазалау", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Бұл сіздің чат тарихыңызды тұрақты түрде жояды.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Барлық чаттарды тазалау", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Барлық чаттарды тазалау", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Есепті жою", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Есептік жазбаңызды жою - бұл тұрақты әрекет және оны қайтару мүмкін емес.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Жою", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Есепті жою", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Шығу", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Сіз өз есептік жазбаңыздан шығып кетесіз.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Шығу", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Бұзушылық туралы есеп жіберу", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Хабарламаны [⏎ Enter] арқылы жіберіңіз", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Хабарламаны [⏎ Enter] арқылы жіберіңіз, ал жаңа жолды [Shift] + [⏎ Enter] арқылы жасаңыз", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Жіберу [⏎ Enter] арқылы", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Жекелік саясат", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Тіл", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Қосымша интерфейсі үшін қалаған тіліңізді таңдаңыз", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Қара режим", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Төмен жарықта ыңғайлы көру тәжірибесі үшін қара режимді қосыңыз", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Журналдар", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Қателерді жою үшін қолданба журналдарын қарау және басқару", + "@sectionLogsSubtitle": {}, + "doneButton": "Дайын", + "@doneButton": {}, + "bugReportDialogTitle": "Қате туралы есеп", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Кездескен қателікті сипаттаңыз", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Файлдарды тіркеу", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Файлдарды таңдау сәтсіз аяқталды", + "@filePickerError": {}, + "emptyBugReportError": "Алдымен қате туралы есеп енгізіңіз", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Қате туралы есеп жіберу сәтсіз аяқталды", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Жазылымды басқару", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Жазылым параметрлеріңізді басқару", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Діріл", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Қолдау көрсететін құрылғыларда тактильді кері байланысты (діріл) қосу немесе өшіру", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Хабарландыруларды қосу", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Докторина сіздің чаттарыңызда, есептеріңізде немесе симптомдарыңызда маңызды нәрселерді тапқанда хабардар болыңыз.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Аккаунт", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Қосымша", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Туралы", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Хабарландырулар", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Бейне сабақтар", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Телефон", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Электрондық пошта", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Аты", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Барлық файлдармен дубликатқа байланысты {count} файл өткізіліп кетті", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Тип", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Сипаттама", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Қосымшалар", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Бұқа", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Құлау", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI мәселесі", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Басқа", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Есептік жазбаңызды жою сіздің деректеріңізді Doctorina-дан мәңгілікке жояды.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Жоюдан бұрын", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Сізде {store} арқылы белсенді жазылым бар. Аккаунтыңызды жою оны тоқтатпайды.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store} жазылымын тоқтату", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Жалғастыру", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Сізді кетіп бара жатқанымызға өкінішті. Сіздің аккаунтыңызды жоюға сенімдісіз бе? Сіз растағаннан кейін, деректеріңіз жойылады.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Мен енді қосымшаны пайдаланбаймын", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Жақсырақ нұсқа таптым", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Техникалық мәселелер", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Пайдалану қиындықтары", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Функциялар жетіспейді", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Жеке өмір туралы алаңдаушылық", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Мен тек деректерімді тазалағым келді", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Басқа", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Пікіріңізбен бөлісіңіз", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Аккаунтыңызды жою...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Жою", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Кері қайтару", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Сіздің аккаунтыңыз жойылды.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Аккаунтты жою мүмкін болмады. Қайтадан әрекет жасап көріңіз.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Бұл құрылғыда электрондық пошта қосымшасы жоқ. Қолдау қызметіне қолмен хабарласыңыз: support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_km.arb b/example/lib/src/l10n/settings/app_km.arb new file mode 100644 index 0000000..9910c6e --- /dev/null +++ b/example/lib/src/l10n/settings/app_km.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "km", + "sectionClearAllChatsTitle": "សម្អាតការជជែកទាំងអស់", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "នេះនឹងលុបប្រវត្តិការសន្ទនារបស់អ្នកយ៉ាងថេរ។", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "លុបការសន្ទនាទាំងអស់", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Clear All Chats", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "លុបគណនី", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "ការលុបគណនីរបស់អ្នកគឺជាការប្រតិបត្តិដែលអចិន្រ្តៃ និងមិនអាចត្រឡប់មកវិញបានទេ។", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "លុប", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "លុបគណនី", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "ចេញ", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "អ្នកនឹងត្រូវចាកចេញពីគណនីរបស់អ្នក។", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "ចាកចេញ", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "ផ្ញើរបាយការណ៍កំហុស", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "ផ្ញើសារដោយ [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "ផ្ញើសារដោយប្រើ [⏎ Enter] និងបន្ទាត់ថ្មីដោយប្រើ [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "ផ្ញើជាមួយ [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "គោលការណ៍ភាពឯកជន", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "ភាសា", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "ជ្រើសរើសភាសាដែលអ្នកចូលចិត្តសម្រាប់អ៊ីនធឺហ្វេសនៃកម្មវិធី", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "មូដងងឹត", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "បើកម៉ូដងងឹតសម្រាប់បទពិសោធន៍មើលដែលមានសុវត្ថិភាពនៅក្នុងពន្លឺទាប", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "កំណត់ហេតុ", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "មើល និងគ្រប់គ្រងកំណត់ហេតុកម្មវិធីសម្រាប់កំណត់កំហុស", + "@sectionLogsSubtitle": {}, + "doneButton": "បានបញ្ចប់", + "@doneButton": {}, + "bugReportDialogTitle": "របាយការណ៍កំហុស", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "សូមពិពណ៌នាអំពីកំហុសដែលអ្នកបានជួបប្រទៈ", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "ភ្ជាប់ឯកសារ", + "@attachFilesButtonTooltip": {}, + "filePickerError": "មិនអាចជ្រើសរើសឯកសារ", + "@filePickerError": {}, + "emptyBugReportError": "សូមបញ្ចូលរបាយការណ៍កំហុសមុន", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "មិនអាចផ្ញើរប្រកាសកំហុសបានទេ", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "គ្រប់គ្រងការជាវ", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "គ្រប់គ្រងការកំណត់ការជាវរបស់អ្នក", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "ការបញ្ជូនអារម្មណ៍", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "បើកឬបិទការបញ្ចេញសំឡេងប៉ះ (ការប៉ះ) នៅលើឧបករណ៍ដែលគាំទ្រ", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "បើកការជូនដំណឹង", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "នៅតែទាន់ពេលនៅពេលដែល Doctorina រកឃើញអ្វីសំខាន់នៅក្នុងការសន្ទនា, របាយការណ៍, ឬរោគសញ្ញារបស់អ្នក។", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "គណនី", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "កម្មវិធី", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "អំពី", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "ការជូនដំណឹង", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "វីដេអូបង្រៀន", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "ទូរស័ព្ទ", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "អ៊ីមែល", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "ឈ្មោះ", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "បានរំលងឯកសារ {count} ដោយសារតែមានឯកសារដែលមានស្រាប់", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "ប្រភេទ", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "ការពិពណ៌នា", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "ឯកសារភ្ជាប់", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "កំហុស", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "ការបរាជ័យ", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "បញ្ហា UI", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "ផ្សេងទៀត", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "ការលុបគណនីរបស់អ្នកនឹងលុបទិន្នន័យរបស់អ្នកចេញពីDoctorinaយ៉ាងថេរ។", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "មុនពេលអ្នកលុប", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "អ្នកមានការជាវសកម្មតាមរយៈ {store}។ ការលុបគណនីរបស់អ្នកនឹងមិនបោះបង់វាទេ។", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "បោះបង់ការជាវនៅក្នុង {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "បន្ត", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "យើងសោកស្តាយដែលឃើញអ្នកចាកចេញ។ តើអ្នកប្រាកដថាអ្នកចង់លុបគណនីរបស់អ្នកទេ? មួយដងដែលអ្នកបញ្ជាក់, ទិន្នន័យរបស់អ្នកនឹងបាត់បង់។", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "ខ្ញុំមិនប្រើកម្មវិធីនេះទៀតទេ", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "បានរកឃើញអ្វីមួយល្អជាង", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "បញ្ហាបច្ចេកទេស", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "បញ្ហាការប្រើប្រាស់", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "ខ្វះមុខងារ", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "ការព្រួយបារម្ភអំពីភាពឯកជន", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "ខ្ញុំគ្រាន់តែចង់សម្អាតទិន្នន័យរបស់ខ្ញុំ", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "ផ្សេងទៀត", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "ចែករំលែកមតិយោបល់របស់អ្នក", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "កំពុងលុបគណនីរបស់អ្នក...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "កំពុងលុប", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "បដិសេធ", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "គណនីរបស់អ្នកត្រូវបានលុបចោល។", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "មិនអាចលុបគណនីបានទេ។ សូមព្យាយាមម្តងទៀត។", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "មិនមានកម្មវិធីអ៊ីមែលនៅលើឧបករណ៍នេះទេ។ សូមទំនាក់ទំនង support@doctorina.com ដោយដៃ។", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_kn.arb b/example/lib/src/l10n/settings/app_kn.arb new file mode 100644 index 0000000..1c55dac --- /dev/null +++ b/example/lib/src/l10n/settings/app_kn.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "kn", + "sectionClearAllChatsTitle": "ಎಲ್ಲಾ ಚಾಟ್‌ಗಳನ್ನು ಕ್ಲಿಯರ್ ಮಾಡಿ", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "ಇದು ನಿಮ್ಮ ಚಾಟ್ ಇತಿಹಾಸವನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸುತ್ತದೆ.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "ಎಲ್ಲಾ ಚಾಟ್‌ಗಳನ್ನು ಕ್ಲಿಯರ್ ಮಾಡಿ", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "ಎಲ್ಲಾ ಚಾಟ್‌ಗಳನ್ನು ಕ್ಲಿಯರ್ ಮಾಡಿ", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "ಖಾತೆ ಅಳಿಸಿ", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "ನಿಮ್ಮ ಖಾತೆ ಅಳಿಸುವುದು ಶಾಶ್ವತ ಕ್ರಿಯೆ ಮತ್ತು ಅದನ್ನು ಹಿಂದಿರುಗಿಸಲಾಗುವುದಿಲ್ಲ", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "ಅಳಿಸಿ", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "ಖಾತೆ ಅಳಿಸಿ", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "ಸೈನ್ ಔಟ್", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "ನೀವು ನಿಮ್ಮ ಖಾತೆಯಿಂದ ಹೊರಗೊಮ್ಮಲು ಹೋಗುತ್ತೀರಿ.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "ಸೈನ್ ಔಟ್", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "ಬಗ್ ವರದಿ ಕಳುಹಿಸಿ", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "ಸಂದೇಶವನ್ನು [⏎ Enter] ಮೂಲಕ ಕಳುಹಿಸಿ", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "[⏎ Enter] ಬಳಸಿ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿ ಮತ್ತು [Shift] + [⏎ Enter] ಬಳಸಿ ಹೊಸ ಸಾಲು", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "[⏎ Enter] ಮೂಲಕ ಕಳುಹಿಸಿ", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "ಗೋಪ್ಯತಾ ನೀತಿ", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "ಭಾಷೆ", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "ನಿಮ್ಮ ಆಯ್ಕೆಯ ಭಾಷೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿ ಆಪ್ ಇಂಟರ್ಫೇಸ್‌ಗಾಗಿ", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "ಕಪ್ಪು ಮೋಡ್", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "ಕಡಿಮೆ ಬೆಳಕಿನಲ್ಲಿ ಆರಾಮದಾಯಕ ವೀಕ್ಷಣೆಯ ಅನುಭವಕ್ಕಾಗಿ ಕಪ್ಪು ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Logs", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "ಅನುಷ್ಠಾನ ಲಾಗ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ ಮತ್ತು ನಿರ್ವಹಿಸಿ", + "@sectionLogsSubtitle": {}, + "doneButton": "ಮುಗಿಯಿತು", + "@doneButton": {}, + "bugReportDialogTitle": "ಬಗ್ ವರದಿ", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "ದಯವಿಟ್ಟು ನೀವು ಎದುರಿಸಿದ ದೋಷವನ್ನು ವಿವರಿಸಿ", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "ಫೈಲ್‌ಗಳನ್ನು ಅಟ್ಯಾಚ್ ಮಾಡಿ", + "@attachFilesButtonTooltip": {}, + "filePickerError": "ಫೈಲ್ ಆಯ್ಕೆ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ", + "@filePickerError": {}, + "emptyBugReportError": "ದಯವಿಟ್ಟು ಮೊದಲು ದೋಷ ವರದಿಯನ್ನು ನಮೂದಿಸಿ", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "ದೋಷ ವರದಿಯನ್ನು ಕಳುಹಿಸಲು ವಿಫಲವಾಗಿದೆ", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "ಚಂದಾ ನಿರ್ವಹಣೆ", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "ನಿಮ್ಮ ಚಂದಾ ಸೆಟಿಂಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptic Feedback", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": " ಬೆಂಬಲಿತ ಸಾಧನಗಳಲ್ಲಿ ಹ್ಯಾಪ್ಟಿಕ್ ಫೀಡ್‌ಬ್ಯಾಕ್ (ಕಂಪನ) ಅನ್ನು ಸಕ್ರಿಯ ಅಥವಾ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಆನ್ ಮಾಡಿ", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Doctorina ನಿಮ್ಮ ಚಾಟ್‌ಗಳಲ್ಲಿ, ವರದಿಗಳಲ್ಲಿ ಅಥವಾ ಲಕ್ಷಣಗಳಲ್ಲಿ ಏನಾದರೂ ಪ್ರಮುಖವನ್ನು ಕಂಡುಹಿಡಿದಾಗ ನವೀಕರಿತವಾಗಿರಿ.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "ಖಾತೆ", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "ಆಪ್", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "ಹೆಚ್ಚಿನ ಮಾಹಿತಿ", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "ಅಧಿಸೂಚನೆಗಳು", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "ವಿಡಿಯೋ ಟ್ಯುಟೋರಿಯಲ್", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "ದೂರವಾಣಿ", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ಇಮೇಲ್", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "ಹೆಸರು", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "{count} ಫೈಲ್‌ಗಳನ್ನು ಇತ್ತೀಚಿನ ಫೈಲ್‌ಗಳೊಂದಿಗೆ ಡುಪ್ಲಿಕೇಟ್‌ನ ಕಾರಣದಿಂದ ಬಿಟ್ಟುಹೋಗಿದೆ", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "ಪ್ರಕಾರ", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "ವಿವರಣೆ", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "ಜೋಡಣೆಗಳು", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "ಬಗ್", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "ಕ್ರ್ಯಾಶ್", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "ಯುಐ ಸಮಸ್ಯೆ", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "ಇತರ", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "ನಿಮ್ಮ ಖಾತೆ ಅಳಿಸುವುದರಿಂದ ಡಾಕ್ಟೊರಿನಾದಿಂದ ನಿಮ್ಮ ಡೇಟಾ ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "ನೀವು ಅಳಿಸುವ ಮೊದಲು", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "{store} ಮೂಲಕ ನೀವು ಸಕ್ರಿಯ ಚಂದಾ ಹೊಂದಿದ್ದೀರಿ. ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಅಳಿಸುವುದರಿಂದ ಅದು ರದ್ದುಗೊಳ್ಳುವುದಿಲ್ಲ.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store}ನಲ್ಲಿ ಚಂದಾ ರದ್ದುಪಡಿಸಿ", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "ಮುಂದುವರಿಯಿರಿ", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "ನೀವು ಹೋಗುತ್ತಿರುವುದನ್ನು ನೋಡಿ ನಮಗೆ ವಿಷಾದವಾಗಿದೆ. ನೀವು ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಅಳಿಸಲು ಖಚಿತವಾಗಿದ್ದೀರಾ? ನೀವು ದೃಢೀಕರಿಸಿದಾಗ, ನಿಮ್ಮ ಡೇಟಾ ಹೋಗುತ್ತದೆ.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "ನಾನು ಆಪ್ ಅನ್ನು ಇನ್ನೂ ಬಳಸುತ್ತಿಲ್ಲ", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "ಹೆಚ್ಚು ಉತ್ತಮವಾದದ್ದನ್ನು ಕಂಡುಬಂದಿದೆ", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "ತಾಂತ್ರಿಕ ಸಮಸ್ಯೆಗಳು", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "ಬಳಕೆದಾರ ಅನುಭವದ ಸಮಸ್ಯೆಗಳು", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "ವಿಶೇಷಣಗಳ ಕೊರತೆಯಾಗಿದೆ", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "ಗೋಪ್ಯತೆಯ ಬಗ್ಗೆ ಚಿಂತೆ", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "ನಾನು ನನ್ನ ಡೇಟಾವನ್ನು ಕ್ಲಿಯರ್ ಮಾಡಲು ಬಯಸುತ್ತೆನೆ", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "ಇತರ", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "ನಿಮ್ಮ ಪ್ರತಿಕ್ರಿಯೆ ಹಂಚಿಕೊಳ್ಳಿ", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "ನಿಮ್ಮ ಖಾತೆ ಅಳಿಸುತ್ತಿದ್ದೇವೆ...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "ಅಳಿಸುತ್ತಿದೆ", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "ಮರುಗೊಳ್ಳಿ", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "ನಿಮ್ಮ ಖಾತೆ ಅಳಿಸಲಾಗಿದೆ.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "ಖಾತೆ ಅಳಿಸಲು ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "ಈ ಸಾಧನದಲ್ಲಿ ಯಾವುದೇ ಇಮೇಲ್ ಅಪ್ಲಿಕೇಶನ್ ಲಭ್ಯವಿಲ್ಲ. ದಯವಿಟ್ಟು support@doctorina.com ಗೆ ಕೈಯಿಂದ ಸಂಪರ್ಕಿಸಿ.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ko.arb b/example/lib/src/l10n/settings/app_ko.arb new file mode 100644 index 0000000..703c6af --- /dev/null +++ b/example/lib/src/l10n/settings/app_ko.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ko", + "sectionClearAllChatsTitle": "모든 채팅 지우기", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "채팅 기록이 영구적으로 삭제됩니다.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "모든 채팅 삭제", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "모든 채팅 지우기", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "계정 삭제", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "계정을 삭제하는 것은 영구적인 조치이며 취소할 수 없습니다.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "삭제", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "계정 삭제", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "로그아웃", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "계정에서 로그아웃됩니다.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "로그아웃", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "버그 신고 보내기", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "[⏎ Enter]로 메시지 전송", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "메시지를 보내려면 [⏎ Enter]를 사용하고, 새 줄을 만들려면 [Shift] + [⏎ Enter]를 사용하세요", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "전송 [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "개인정보 보호정책", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "언어", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "앱 인터페이스에 사용할 선호하는 언어를 선택하세요", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "다크 모드", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "어두운 환경에서 편안한 시청 경험을 위해 다크 모드를 활성화하세요", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "로그", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "디버깅을 위해 애플리케이션 로그 보기 및 관리", + "@sectionLogsSubtitle": {}, + "doneButton": "완료", + "@doneButton": {}, + "bugReportDialogTitle": "버그 리포트", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "발생한 버그를 설명해 주세요", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "파일 첨부", + "@attachFilesButtonTooltip": {}, + "filePickerError": "파일 선택에 실패했습니다", + "@filePickerError": {}, + "emptyBugReportError": "먼저 버그 리포트를 입력하세요", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "버그 보고서를 보내지 못했습니다", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "구독 관리", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "구독 설정 관리", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "촉각 피드백", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "지원되는 기기에서 햅틱 피드백(진동)을 활성화하거나 비활성화합니다", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "알림 켜기", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Doctorina가 채팅, 보고서 또는 증상에서 중요한 내용을 찾을 때 업데이트를 받으세요", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "계정", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "앱", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "정보", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "알림", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "비디오 튜토리얼", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "전화", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "이메일", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "이름", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "기존 파일과 중복으로 인해 {count} 파일이 건너뛰었습니다", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "유형", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "설명", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "첨부파일", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "버그", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "충돌", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI 문제", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "기타", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "계정을 삭제하면 Doctorina에서 데이터가 영구적으로 제거됩니다.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "삭제하기 전에", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "현재 {store}를 통해 활성 구독이 있습니다. 계정을 삭제해도 구독이 취소되지 않습니다.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store}에서 구독 취소", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "계속", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "안녕히 가세요. 정말로 계정을 삭제하시겠습니까? 확인하시면 데이터가 사라집니다.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "더 이상 앱을 사용하지 않습니다", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "더 나은 것을 찾았습니다", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "기술적 문제", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "사용의 용이성 문제", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "기능 부족", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "프라이버시 문제", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "그냥 내 데이터를 지우고 싶었어요", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "기타", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "피드백을 공유하세요", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "계정을 삭제하는 중...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "삭제 중", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "실행 취소", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "귀하의 계정이 삭제되었습니다.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "계정을 삭제하지 못했습니다. 다시 시도해 주세요.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "이 장치에서 이메일 앱을 사용할 수 없습니다. support@doctorina.com으로 수동으로 연락해 주십시오.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_lo.arb b/example/lib/src/l10n/settings/app_lo.arb new file mode 100644 index 0000000..4788b0f --- /dev/null +++ b/example/lib/src/l10n/settings/app_lo.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "lo", + "sectionClearAllChatsTitle": "ລົບທັງໝົດສົນທະນາ", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "ນີ້ຈະລົບປະຫວັດສົນທະນາຂອງທ່ານຢ່າງຖານທີ.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "ລົບທັງໝົດສົນທະນາ", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Clear All Chats", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "ລົບບັດບັດ", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "ການລົບບັດທີ່ບັນທຶກຂອງທ່ານແມ່ນການດຳເນີນງານທີ່ຖານທີ່ບັນທຶກບໍ່ສາມາດກັບຄືນໄດ້.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "ລົບ", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "ລົບບັດທີ່ບັນທຶກ", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "ອອກ", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "ທ່ານຈະຖອນອອກຈາກບັນຊີຂອງທ່ານ.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "ອອກ", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Send Bug Report", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "ສົ່ງຂໍໍ່ດ້ວຍ [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "ສົ່ງຂໍໍ່ດ້ວຍ [⏎ Enter] ແລະບັນທຶກໃໝ່ດ້ວຍ [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "ສົ່ງດ໧ວດດໍາດັບ [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "ນโยบายຄວາมລັບ", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "ພາສາ", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "ເລືອກພາສາທີ່ທ່ານຕ້ອງການສໍາລັບສະຖານທີ່ຂອງແອັບ", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "ລະບົບສີດຳ", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "ເປີດແບບສີດຳເພື່ອປະສົບປະກອບທີ່ສະດວກໃນແສງສີດຳ", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Logs", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "ເບິ່ງແລະຈັດການລອກສໍາລັບການແກ້ໄຂ", + "@sectionLogsSubtitle": {}, + "doneButton": "ສຳເລັດ", + "@doneButton": {}, + "bugReportDialogTitle": "ລາຍງານບັກ", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "ກະລຸນາອະທິບາຍບັດທີ່ເຈົ້າເຫັນ", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Sambat files", + "@attachFilesButtonTooltip": {}, + "filePickerError": "ລົ້ມເລີ່ມໃນການເລືອກໄຟລ໌", + "@filePickerError": {}, + "emptyBugReportError": "Por favor, введіть спочатку звіт про помилку", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "ບໍ່ສາມາດສົ່ງລາຍງານບັກ", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Manage subscription", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "ຈັດການການຕັ້ງຄ່າສະມາຊິກ", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptic Feedback", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "ເປີດໃຊ້ງານ ຫຼື ປະຕິເສດ ການຕອບຮອງຮູບແບບ (vibration) ໃນອຸປະກອນທີ່ຮອງຮັບ", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "ເປີດການແຈ້ງເຕືອນ", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "ຢູ່ໃນສະຖານທີ່ສົມບູນໃນເວລາທີ່ Doctorina ພົບສິ່ງສຳຄັນໃນສົນທະນາ, ລາຍງານ ຫຼື ອາການຂອງທ່ານ.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "ບັດຊະບັດ", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "ແອບ", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "ກ່ຽວກັບ", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "ການແຈ້ງເຕືອນ", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "ວິດີໂອສອນ", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "ໂທະລະສັບ", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ອີເມວ", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "ຊື່", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "ບໍ່ເລີ່ມການສົ່ງສະແດງ {count} ຟາຍເພາະມີການສົ່ງສະແດງດຽວກັນກັບຟາຍທີ່ມີຢູ່", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "ປະເພດ", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "ລາຍລະອຽດ", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "ແນບເອກະສານ", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "ບັກ", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "ການລົບລູກ", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "ບັກລົງປະກອບສິ່ງທີ່ສົມບູນ", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "ອື່ນ", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "ການລົບບັດທະບຽນຂອງທ່ານຈະລົບຂໍໍ່ຂອງທ່ານອອກຈາກ Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "ກ່ຽວກັບການລົບ", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "ທ່ານມີການສະໜັກສຽງທີ່ກະຕຸ້ນຜ່ານ {store}. ການລົບບັນຊີຂອງທ່ານຈະບໍ່ຍົກເລີກມັນ.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "ຍົກເລີກການສະໜັກໃນ {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "ດຳເນີນຕໍ່", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "ຂໍອະໄພ ສໍາລັບການອອກ ຈາກບັນຊີຂອງເຈົ້າ. ເຈົ້າແນ່ໃຈບໍ່ວ່າຈະລົບບັນຊີຂອງເຈົ້າບໍ່? ເມື່ອເຈົ້າຢືນຢັນ, ຂໍໍ່ອງຂໍໍ່ຈະສູນເສຍ.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "ຂໍໍ່ອນບັດ: ບໍ່ໃຊ້ແອບເອັບແລ້ວ", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "ພວກເຂົ້າໃຈວ່າພົບສິນຄ້າດີກວ່າ", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "ບັດສະບັດທາງເທັກນິກ", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "ບັນຫາການໃຊ້ງານ", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "ບໍ່ມີຄຸນລັກສະນະ", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "ຄວາມກົດກັນໃນຄວາມສໍາຄັນ", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "ຂ້ອຍພຽງແຕ່ຢາກລຶບຂໍ້ມູນຂອງຂ້ອຍ", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "ອື່ນ", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "ແບ່ງປັນຄວາมຄິດເຫັນຂອງທ່ານ", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "ກຳລັງລົບບັດທະບຽນຂອງທ່ານ...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "ກຳລັງລົບ", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "ກັບຄືນ", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "ບັນຊີຂອງທ່ານໄດ້ຖອນອອກແລ້ວ.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "ບໍ່ສາມາດລົບບັດທີ່ບັນທຶກ. ກະລຸນາລອງໃໝ່.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "ບໍ່ມີແອບອີເມວໃນເຄື່ອງນີ້. ກະລຸນາຕິດຕໍ່ support@doctorina.com ດ້ວຍມື.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ml.arb b/example/lib/src/l10n/settings/app_ml.arb new file mode 100644 index 0000000..91f21f2 --- /dev/null +++ b/example/lib/src/l10n/settings/app_ml.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ml", + "sectionClearAllChatsTitle": "എല്ലാ ചാറ്റുകളും ക്ലിയർ ചെയ്യുക", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "ഇത് നിങ്ങളുടെ ചാറ്റ് ചരിത്രം സ്ഥിരമായി ഇല്ലാതാക്കും.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "എല്ലാ ചാറ്റുകളും ക്ലിയർ ചെയ്യുക", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "എല്ലാ ചാറ്റുകളും ക്ലിയർ ചെയ്യുക", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "അക്കൗണ്ട് നീക്കം ചെയ്യുക", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "നിങ്ങളുടെ അക്കൗണ്ട് നീക്കം ചെയ്യുന്നത് ഒരു സ്ഥിരമായ പ്രവർത്തനമാണ്, ഇത് തിരികെ എടുക്കാൻ കഴിയില്ല.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "മാറ്റി", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "അക്കൗണ്ട് നീക്കം ചെയ്യുക", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "സൈൻ ഔട്ട്", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "നിങ്ങൾ നിങ്ങളുടെ അക്കൗണ്ടിൽ നിന്ന് സൈൻ ഔട്ട് ആകും.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "സൈൻ ഔട്ട്", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "ബഗ് റിപ്പോർട്ട് അയയ്ക്കുക", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "സന്ദേശം അയക്കുക [⏎ Enter] ഉപയോഗിച്ച്", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "സന്ദേശം അയക്കാൻ [⏎ Enter] ഉപയോഗിക്കുക, പുതിയ വരി [Shift] + [⏎ Enter] ഉപയോഗിച്ച്", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "[⏎ Enter] ഉപയോഗിച്ച് അയക്കുക", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "ഗോപ്പനീയത നയം", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "ഭാഷ", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "ആപ്പിന്റെ ഇന്റർഫേസിന് നിങ്ങളുടെ ഇഷ്ടഭാഷ തിരഞ്ഞെടുക്കുക", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "കറുത്ത മോഡ്", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "കുറഞ്ഞ വെളിച്ചത്തിൽ സുഖകരമായ കാഴ്ചക്കായി ഇരുണ്ട മോഡ് സജീവമാക്കുക", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "ലോഗുകൾ", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "ഡിബഗ് ചെയ്യുന്നതിനായി ആപ്ലിക്കേഷൻ ലോഗുകൾ കാണുക ಮತ್ತು കൈകാര്യം ചെയ്യുക", + "@sectionLogsSubtitle": {}, + "doneButton": "ചെയ്തു", + "@doneButton": {}, + "bugReportDialogTitle": "ബഗ് റിപ്പോർട്ട്", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "ദയവായി നിങ്ങൾ നേരിടുന്ന പിശക് വിവരിക്കുക", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "ഫയലുകൾ ചേർക്കുക", + "@attachFilesButtonTooltip": {}, + "filePickerError": "ഫയലുകൾ തിരഞ്ഞെടുക്കാൻ പരാജയപ്പെട്ടു", + "@filePickerError": {}, + "emptyBugReportError": "ദയവായി ആദ്യം ഒരു ബഗ് റിപ്പോർട്ട് നൽകുക", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "ബഗ് റിപ്പോർട്ട് അയയ്ക്കാൻ പരാജയപ്പെട്ടു", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "സബ്സ്ക്രിപ്ഷൻ കൈകാര്യം ചെയ്യുക", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "നിങ്ങളുടെ സബ്സ്ക്രിപ്ഷൻ ക്രമീകരണങ്ങൾ കൈകാര്യം ചെയ്യുക", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptic Feedback", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "സഹായിക്കുന്ന ഉപകരണങ്ങളിൽ ഹാപ്റ്റിക് ഫീഡ്ബാക്ക് (കമ്പനം) സജീവമാക്കുക അല്ലെങ്കിൽ നിർത്തുക", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "അറിയിപ്പുകൾ ഓണാക്കുക", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "ഡോക്ടറിന നിങ്ങളുടെ ചാറ്റുകൾ, റിപ്പോർട്ടുകൾ, അല്ലെങ്കിൽ ലക്ഷണങ്ങളിൽ എന്തെങ്കിലും പ്രധാനപ്പെട്ടത് കണ്ടെത്തുമ്പോൾ അപ്ഡേറ്റ് ആയിരിക്കുക.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Account", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "ആപ്പ്", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "കുറിച്ച്", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "അറിയിപ്പുകൾ", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "വീഡിയോ ട്യൂട്ടോറിയലുകൾ", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "ഫോൺ", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ഇമെയിൽ", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "പേര്", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "{count} ഫയലുകൾ നിലവിലുള്ള ഫയലുകളുമായി പുനരാവൃതമായതിനാൽ ഒഴിവാക്കി", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "തരം", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "വിവരണം", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "അറ്റാച്ച്മെന്റുകൾ", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "ബഗ്", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "ക്രാഷ്", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "യൂഐ പ്രശ്നം", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "മറ്റു", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "നിങ്ങളുടെ അക്കൗണ്ട് ഇല്ലാതാക്കുന്നത് ഡോക്ടറിനയിൽ നിന്നുള്ള നിങ്ങളുടെ ഡാറ്റ സ്ഥിരമായി നീക്കം ചെയ്യും.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "നിങ്ങൾ ഇല്ലാതാക്കുന്നതിന് മുമ്പ്", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "{store} വഴി നിങ്ങൾക്ക് ഒരു സബ്സ്ക്രിപ്ഷൻ സജീവമാണ്. നിങ്ങളുടെ അക്കൗണ്ട് ഇല്ലാതാക്കുന്നത് അത് റദ്ദാക്കുകയില്ല.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store} ൽ സബ്സ്ക്രിപ്ഷൻ റദ്ദാക്കുക", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "തുടരുക", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "നിങ്ങളെ പോകുന്നത് കാണാൻ ഞങ്ങൾ ദുഖിതരാണ്. നിങ്ങൾ നിങ്ങളുടെ അക്കൗണ്ട് ഇല്ലാതാക്കാൻ ഉറപ്പാണോ? നിങ്ങൾ സ്ഥിരീകരിച്ചാൽ, നിങ്ങളുടെ ഡാറ്റ ഇല്ലാതാകും.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "ഞാൻ ആപ്പ് ഇനി ഉപയോഗിക്കുന്നില്ല", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "മികച്ചതൊന്നാണ് കണ്ടെത്തിയത്", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "താങ്കളുടെ അക്കൗണ്ട് നീക്കം ചെയ്യാനുള്ള കാരണം: സാങ്കേതിക പ്രശ്നങ്ങൾ", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "ഉപയോഗത്തിലെ പ്രശ്നങ്ങൾ", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "സവിശേഷതകളുടെ കുറവ്", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "സ്വകാര്യത സംബന്ധമായ ആശങ്കകൾ", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "ഞാൻ എന്റെ ഡാറ്റ മാത്രം ക്ലിയർ ചെയ്യാൻ ആഗ്രഹിച്ചിരുന്നു", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "മറ്റത്", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "നിങ്ങളുടെ ഫീഡ്ബാക്ക് പങ്കിടുക", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "നിങ്ങളുടെ അക്കൗണ്ട് നീക്കം ചെയ്യുന്നു...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "മാറ്റുന്നു", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "തിരിച്ചെടുക്കുക", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "നിങ്ങളുടെ അക്കൗണ്ട് ഇല്ലാതാക്കി.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "അക്കൗണ്ട് ഇല്ലാതാക്കാൻ പരാജയപ്പെട്ടു. ദയവായി വീണ്ടും ശ്രമിക്കുക.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "ഈ ഉപകരണത്തിൽ ഇമെയിൽ ആപ്പ് ലഭ്യമല്ല. ദയവായി support@doctorina.com എന്ന വിലാസത്തിൽ കൈമാറുക.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_mr.arb b/example/lib/src/l10n/settings/app_mr.arb new file mode 100644 index 0000000..b975a99 --- /dev/null +++ b/example/lib/src/l10n/settings/app_mr.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "mr", + "sectionClearAllChatsTitle": "सर्व चॅट काढून टाका", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "हे आपला चॅट इतिहास कायमस्वरूपी हटवेल.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "सर्व चॅट साफ करा", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "सर्व चॅट्स साफ करा", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "खाते हटवा", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "तुमचे खाते हटविणे ही कायमची क्रिया आहे आणि ती पूर्ववत केली जाऊ शकत नाही.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "हटवा", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "खाता हटवा", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "बाहेर पडा", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "तुमच्या खात्यातून लॉगआउट केले जाईल.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "साइन आउट", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "बग अहवाल पाठवा", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "[⏎ Enter] वापरून संदेश पाठवा", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "संदेश पाठवण्यासाठी [⏎ Enter] वापरा आणि नवीन ओळ तयार करण्यासाठी [Shift] + [⏎ Enter] वापरा", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "संदेश पाठवा [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "गोपनीयता धोरण", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "भाषा", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "अ‍ॅप इंटरफेससाठी आपली पसंतीची भाषा निवडा", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "डार्क मोड", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "कमी प्रकाशात आरामदायक दृष्टी अनुभवासाठी डार्क मोड सक्षम करा", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "नोंदी", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "डिबगिंगसाठी अ‍ॅप्लिकेशन लॉग्स पहा आणि व्यवस्थापित करा", + "@sectionLogsSubtitle": {}, + "doneButton": "संपले", + "@doneButton": {}, + "bugReportDialogTitle": "त्रुटी अहवाल", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "कृपया तुम्ही अनुभवलेला बग वर्णन करा", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "फाइल जोडणे", + "@attachFilesButtonTooltip": {}, + "filePickerError": "फाइल निवडण्यात अयशस्वी", + "@filePickerError": {}, + "emptyBugReportError": "कृपया प्रथम बग रिपोर्ट प्रविष्ट करा", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "बग रिपोर्ट पाठवण्यात अयशस्वी", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "सदस्यता व्यवस्थापित करा", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "आपल्या सदस्यता सेटिंग्ज व्यवस्थापित करा", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "हॅप्टिक फीडबॅक", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "समर्थन करणाऱ्या उपकरणांवर हॅप्टिक फीडबॅक (कंपन) सक्षम किंवा अक्षम करा", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "सूचनाएं चालू करा", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "डॉक्टरिना तुमच्या चॅट्स, अहवाल किंवा लक्षणांमध्ये काही महत्त्वाचे सापडले की अद्ययावत रहा", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "खाते", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "अॅप", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "बद्दल", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "सूचनाएँ", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "व्हिडिओ ट्यूटोरियल", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "फोन", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ईमेल", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "नाव", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "{count} फाइल्स विद्यमान फाइल्ससह डुप्लिकेट असल्यामुळे वगळल्या", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "प्रकार", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "विवरण", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "संलग्नक", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "बग", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "क्रॅश", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "यूआय समस्या", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "इतर", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "तुमचा खाता हटवल्यास तुमचे डेटा Doctorina वरून कायमचा हटविला जाईल", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "तुम्ही हटवण्यापूर्वी", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "तुमच्याकडे {store} द्वारे सक्रिय सदस्यता आहे. तुमचा खाता हटवल्याने ती रद्द होणार नाही.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store} मध्ये सदस्यता रद्द करा", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "सुरू ठेवा", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "आम्हाला तुमचे जाणे दु:खद आहे. तुम्हाला तुमचा खाता हटवायचा आहे का? एकदा तुम्ही पुष्टी केली की, तुमचे डेटा गायब होईल.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "मी अॅप वापरत नाही", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "काहीतरी चांगले सापडले", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "तांत्रिक समस्या", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "सहजतेच्या समस्यां", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "वैशिष्ट्यांची कमतरता", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "गोपनीयतेची चिंता", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "मी फक्त माझे डेटा साफ करू इच्छित होतो", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "इतर", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "आपला अभिप्राय द्या", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "तुमचा खाता हटविला जात आहे...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "हटवित आहे", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "पूर्ववत", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "तुमचा खाता हटविला गेला आहे.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "खाते हटवण्यात अयशस्वी. कृपया पुन्हा प्रयत्न करा.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "या डिव्हाइसवर ई-मेल अॅप उपलब्ध नाही. कृपया support@doctorina.com वर manually संपर्क करा.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ms.arb b/example/lib/src/l10n/settings/app_ms.arb new file mode 100644 index 0000000..2470090 --- /dev/null +++ b/example/lib/src/l10n/settings/app_ms.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ms", + "sectionClearAllChatsTitle": "Bersihkan Semua Perbualan", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Ini akan memadamkan sejarah sembang anda secara kekal.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Bersihkan Semua Perbualan", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Bersihkan Semua Perbualan", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Padam Akaun", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Menghapus akaun anda adalah tindakan kekal dan tidak boleh dibatalkan.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Padam", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Padam Akaun", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Log Keluar", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Anda akan keluar dari akaun anda.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Log Keluar", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Hantar Laporan Bug", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Hantar mesej dengan [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Hantar mesej dengan [⏎ Enter] dan baris baru dengan [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Hantar dengan [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Dasar Privasi", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Bahasa", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Pilih bahasa pilihan anda untuk antara muka aplikasi", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Mod gelap", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Aktifkan mod gelap untuk pengalaman tontonan yang selesa dalam cahaya rendah", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Log", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Lihat dan urus log aplikasi untuk penyahpepijatan", + "@sectionLogsSubtitle": {}, + "doneButton": "Selesai", + "@doneButton": {}, + "bugReportDialogTitle": "Laporan Cacat", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Sila terangkan bug yang anda temui", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Lampirkan fail", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Gagal untuk memilih fail", + "@filePickerError": {}, + "emptyBugReportError": "Sila masukkan laporan bug terlebih dahulu", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Gagal menghantar laporan pepijat", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Urus langganan", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Urus tetapan langganan anda", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptic Feedback", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Dayakan atau matikan maklum balas haptik (getaran) pada peranti yang disokong", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Hidupkan pemberitahuan", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Dapatkan kemas kini apabila Doctorina menemui sesuatu yang penting dalam sembang, laporan, atau simptom anda.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Akaun", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Aplikasi", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Tentang", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Pemberitahuan", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Tutorial video", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Emel", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Nama", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Dilepaskan {count} fail kerana duplikasi dengan fail sedia ada", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Jenis", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Penerangan", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Lampiran", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Kejutan", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Isu UI", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Lainnya", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Menghapus akaun anda akan menghapus data anda secara kekal dari Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Sebelum anda memadam", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Anda mempunyai langganan aktif melalui {store}. Menghapus akaun anda tidak akan membatalkannya.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Batalkan langganan di {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Teruskan", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Kami turut bersimpati dengan pemergian anda. Adakah anda pasti mahu memadamkan akaun anda? Sebaik sahaja anda mengesahkan, data anda akan hilang.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Saya tidak menggunakan aplikasi ini lagi", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Menemui sesuatu yang lebih baik", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Masalah teknikal", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Masalah kemudahan penggunaan", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Ciri yang hilang", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Kebimbangan privasi", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Saya hanya ingin membersihkan data saya", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Lain-lain", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Kongsi maklum balas anda", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Menghapus akaun anda...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Menghapus", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Batal", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Akaun anda telah dipadam.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Gagal untuk memadam akaun. Sila cuba lagi.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Tiada aplikasi emel tersedia pada peranti ini. Sila hubungi support@doctorina.com secara manual.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_my.arb b/example/lib/src/l10n/settings/app_my.arb new file mode 100644 index 0000000..b9986b2 --- /dev/null +++ b/example/lib/src/l10n/settings/app_my.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "my", + "sectionClearAllChatsTitle": "Kosongkan Semua Perbualan", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Ini akan memadamkan sejarah sembang anda secara kekal.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Kosongkan Semua Perbualan", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Kosongkan Semua Perbualan", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Padam Akaun", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Menghapus akaun anda adalah tindakan kekal dan tidak boleh dibatalkan.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Padam", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Hapus Akaun", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Log Keluar", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Anda akan keluar dari akaun anda.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Log Keluar", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Hantar Laporan Bug", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Hantar mesej dengan [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Hantar mesej dengan [⏎ Enter] dan baris baru dengan [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "ပို့ရန် [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "သိမ်းဆည်းမှုမူဝါဒ", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Bahasa", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Pilih bahasa pilihan anda untuk antara muka aplikasi", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Mod gelap", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Aktifkan mod gelap untuk pengalaman tontonan yang selesa dalam cahaya rendah", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Log", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Lihat dan urus log aplikasi untuk penyahpepijatan", + "@sectionLogsSubtitle": {}, + "doneButton": "Selesai", + "@doneButton": {}, + "bugReportDialogTitle": "Laporan Bug", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Sila huraikan pepijat yang anda temui", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Lampirkan fail", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Gagal untuk memilih fail", + "@filePickerError": {}, + "emptyBugReportError": "Sila masukkan laporan bug terlebih dahulu", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Gagal menghantar laporan pepijat", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Urus langganan", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Urus tetapan langganan anda", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Maklum Balas Haptik", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Aktifkan atau nonaktifkan maklum balas haptik (getaran) pada peranti yang disokong", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Hidupkan pemberitahuan", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Dapatkan kemas kini apabila Doctorina menemui sesuatu yang penting dalam sembang, laporan, atau simptom anda.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "အကောင့်", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "အက်ပ", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "အကြောင်း", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "သတိပေးချက်များ", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "ဗီဒီယိုသင်ခန်းစာများ", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "ဖုန်း", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "အီးမေးလ်", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "နာမည်", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "ဖိုင်များကို ရှောင်ထားသည် {count} ဖိုင်များသည် ရှိပြီးသား ဖိုင်များနှင့် ထပ်တူဖြစ်သည်", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "အမျိုးအစား", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "ဖော်ပြချက်", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "ဆက်စပ်ဖိုင်များ", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "ပျက်ကွက်", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI ပြဿနာ", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "အခြား", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "အကောင့်ကို ဖျက်လိုက်ရင် Doctorina မှ သင့်ဒေတာကို အမြဲတမ်း ဖျက်ပစ်မည်။", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "သင်ဖျက်မည်မီ", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "သင်သည် {store} မှ လက်ရှိစာရင်းသွင်းမှုရှိသည်။ သင့်အကောင့်ကို ဖျက်လိုက်ပါက ၎င်းကို မဖျက်ပါ။", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "အကောင့်ကို ဖျက်ရန် {store} တွင် စာရင်းသွင်းမှုကို ရပ်ဆိုင်းပါ", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "ဆက်လက်လုပ်ဆောင်ပါ", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "ကျွန်ုပ်တို့သည် သင့်ကို သွားမည်ကို ဝမ်းနည်းပါသည်။ သင့်အကောင့်ကို ဖျက်ရန် သေချာပါသလား။ သင်အတည်ပြုပါက သင့်ဒေတာများ ပျောက်ဆုံးမည်။", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "ငါသည် အက်ပ်ကို မသုံးတော့ပါ", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "တွေ့ရှိခဲ့သည့်အရာကောင်းတစ်ခု", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "နည်းပညာဆိုင်ရာပြဿနာများ", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "အသုံးပြုရခက်ခြင်း", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "အင်္ဂါရပ်များမလုံလောက်ပါ", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "အထူးသဖြင့်ပုဂ္ဂိုလ်ရေးစိုးရိမ်မှုများ", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "ငါ့ဒေတာကိုရှင်းချင်တယ်", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "အခြား", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "သင်၏အကြံပြုချက်ကိုမျှဝေပါ", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "သင်၏အကောင့်ကိုဖျက်နေသည်...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "ဖျက်နေသည်", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "ပြန်လုပ်မည်", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "သင်၏အကောင့်ကို ဖျက်လိုက်ပါပြီ။", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "အကောင့်ဖျက်ရန်အမှားဖြစ်ခဲ့သည်။ ထပ်မံကြိုးစားပါ။", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "ဒီကိရိယာမှာ အီးမေးလ်အက်ပ် မရနိုင်ပါ။ ကျေးဇူးပြု၍ support@doctorina.com ကို လက်မှတ်ရေးထိုးပါ။", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ne.arb b/example/lib/src/l10n/settings/app_ne.arb new file mode 100644 index 0000000..519686e --- /dev/null +++ b/example/lib/src/l10n/settings/app_ne.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ne", + "sectionClearAllChatsTitle": "सबै च्याटहरू मेट्नुहोस्", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "यसले तपाईंको च्याट इतिहासलाई स्थायी रूपमा मेटाउनेछ।", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "सबै च्याटहरू मेटाउनुहोस्", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "सर्व च्याटहरू मेटाउनुहोस्", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "खाता हटाउनुहोस्", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "तपाईंको खाता मेट्नु एक स्थायी क्रिया हो र यसलाई फर्काउन सकिँदैन।", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "हटाउनुहोस्", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "खाता हटाउनुहोस्", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "साइन आउट", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "तपाईंको खाताबाट साइन आउट गरिनेछ।", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "साइन आउट", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "बग रिपोर्ट पठाउनुहोस्", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "सन्देश पठाउनुहोस् [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "सन्देश पठाउन [⏎ Enter] र नयाँ पंक्ति बनाउन [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "[⏎ Enter] सँग पठाउनुहोस्", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "गोपनीयता नीति", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "भाषा", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "एप्लिकेसन इन्टरफेसको लागि आफ्नो मनपर्ने भाषा चयन गर्नुहोस्", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "अँध्यारो मोड", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "कम उज्यालोमा आरामदायक दृश्य अनुभवको लागि डार्क मोड सक्षम गर्नुहोस्", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "लगत", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "अनुप्रयोगका लगहरू हेर्नुहोस् र व्यवस्थापन गर्नुहोस्", + "@sectionLogsSubtitle": {}, + "doneButton": "संपन्न", + "@doneButton": {}, + "bugReportDialogTitle": "बग रिपोर्ट", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "कृपया तपाईंले भेट्टाएको बगको वर्णन गर्नुहोस्", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "फाइलहरू संलग्न गर्नुहोस्", + "@attachFilesButtonTooltip": {}, + "filePickerError": "फाइलहरू चयन गर्न असफल", + "@filePickerError": {}, + "emptyBugReportError": "कृपया पहिले एक बग रिपोर्ट प्रविष्ट गर्नुहोस्", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "बग रिपोर्ट पठाउन असफल", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "सदस्यता व्यवस्थापन", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "तपाईंको सदस्यता सेटिङहरू व्यवस्थापन गर्नुहोस्", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "हैप्टिक फीडबैक", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "समर्थित उपकरणहरूमा ह्याप्टिक फिडब्याक (कम्पन) सक्षम वा अक्षम गर्नुहोस्", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "सूचनाहरू चालु गर्नुहोस्", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "जब डोक्टरिनाले तपाईंको च्याट, रिपोर्ट, वा लक्षणहरूमा महत्त्वपूर्ण कुरा फेला पार्छ, तब अपडेट रहनुहोस्।", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "खाता", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "एप", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "बारेमा", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "सूचनाहरू", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "भिडियो ट्यूटोरियल", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "फोन", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "इमेल", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "नाम", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "{count} फाइलहरू विद्यमान फाइलहरूसँगको डुप्लिकेटका कारण छोडिएका छन्", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "प्रकार", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "विवरण", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "संलग्नक", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "क्र्यास", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "यूआई समस्या", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "अन्य", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "तपाईंको खाता मेट्दा डोक्टरिनाबाट तपाईंको डेटा स्थायी रूपमा हटाइनेछ।", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "मेट्नुअघि", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "तपाईंको {store} मार्फत सक्रिय सदस्यता छ। तपाईंको खाता मेट्दा यसलाई रद्द गर्ने छैन।", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store} मा सदस्यता रद्द गर्नुहोस्", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "जारी राख्नुहोस्", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "तपाईंलाई जान दिँदा हामीलाई दु:ख लागेको छ। के तपाईं आफ्नो खाता मेटाउन निश्चित हुनुहुन्छ? पुष्टि गरेपछि, तपाईंको डेटा हराउनेछ।", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "म एप्लिकेशन प्रयोग गर्दैन", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "केही राम्रो भेट्टायो", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "प्राविधिक समस्या", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "सहजता सम्बन्धी समस्या", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "अवश्यक विशेषताहरूको कमी", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "गोपनीयता चासो", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "म केवल मेरो डेटा सफा गर्न चाहन्थें", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "अन्य", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "तपाईंको फिडब्याक साझा गर्नुहोस्", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "तपाईंको खाता मेटाइँदैछ...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "हटाउँदै", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "पूर्ववत", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "तपाईंको खाता मेटिएको छ।", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "खाता मेट्न असफल भयो। कृपया पुनः प्रयास गर्नुहोस्।", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "यस उपकरणमा कुनै इमेल अनुप्रयोग उपलब्ध छैन। कृपया support@doctorina.com मा म्यानुअल रूपमा सम्पर्क गर्नुहोस्।", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_nl.arb b/example/lib/src/l10n/settings/app_nl.arb new file mode 100644 index 0000000..caf74b9 --- /dev/null +++ b/example/lib/src/l10n/settings/app_nl.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "nl", + "sectionClearAllChatsTitle": "Alle chats wissen", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Dit zal uw chatgeschiedenis permanent verwijderen.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Alle chats wissen", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Alle chats wissen", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Account Verwijderen", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Het verwijderen van uw account is een permanente actie en kan niet ongedaan worden gemaakt.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Verwijderen", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Account Verwijderen", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Afmelden", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "U wordt uit uw account uitgelogd.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Afmelden", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Stuur Bugrapport", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Bericht verzenden met [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Stuur een bericht met [⏎ Enter] en een nieuwe regel met [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Verstuur met [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Privacybeleid", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Taal", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Selecteer uw voorkeurstaal voor de app-interface", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Donkere modus", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Schakel de donkere modus in voor een comfortabele kijkervaring bij weinig licht", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Logs", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Bekijk en beheer applicatielogs voor foutopsporing", + "@sectionLogsSubtitle": {}, + "doneButton": "Klaar", + "@doneButton": {}, + "bugReportDialogTitle": "Foutmelding", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Beschrijf alstublieft de fout die u bent tegengekomen", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Bestanden bijvoegen", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Bestanden kiezen is mislukt", + "@filePickerError": {}, + "emptyBugReportError": "Voer eerst een bugrapport in", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Kon bugrapport niet verzenden", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Abonnement beheren", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Beheer uw abonnementsinstellingen", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptische Feedback", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Schakel haptische feedback (trilling) in of uit op ondersteunde apparaten", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Zet meldingen aan", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Blijf op de hoogte wanneer Doctorina iets belangrijks vindt in je chats, rapporten of symptomen.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Account", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "App", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Over", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Meldingen", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video tutorials", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefoon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "E-mail", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Naam", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Overgeslagen {count} bestanden vanwege duplicaat met bestaande bestanden", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Type", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Beschrijving", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Bijlagen", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Crash", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI-probleem", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Overig", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Het verwijderen van uw account verwijdert permanent uw gegevens van Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Voordat je verwijdert", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "U heeft een actieve abonnement via {store}. Het verwijderen van uw account annuleert het niet.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Abonnement opzeggen in de {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Doorgaan", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Het spijt ons u te zien vertrekken. Weet u zeker dat u uw account wilt verwijderen? Zodra u bevestigt, zijn uw gegevens verdwenen.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Ik gebruik de app niet meer", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Iets beters gevonden", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Technische problemen", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Gebruiksgemakproblemen", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Ontbrekende functies", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Privacyzorgen", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Ik wilde gewoon mijn gegevens wissen", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Overig", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Deel uw feedback", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Uw account wordt verwijderd...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Verwijderen", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Ongedaan maken", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Uw account is verwijderd.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Account kon niet worden verwijderd. Probeer het opnieuw.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Er is geen e-mailapp beschikbaar op dit apparaat. Neem alstublieft handmatig contact op met support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_pa.arb b/example/lib/src/l10n/settings/app_pa.arb new file mode 100644 index 0000000..abb35f8 --- /dev/null +++ b/example/lib/src/l10n/settings/app_pa.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "pa", + "sectionClearAllChatsTitle": "ਸਾਰੇ ਗੱਲਾਂ ਸਾਫ਼ ਕਰੋ", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "ਇਹ ਤੁਹਾਡੇ ਚੈਟ ਇਤਿਹਾਸ ਨੂੰ ਸਦਾ ਲਈ ਮਿਟਾ ਦੇਵੇਗਾ.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "ਸਾਰੇ ਗੱਲਾਂ ਸਾਫ਼ ਕਰੋ", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "ਸਾਰੇ ਗੱਲਾਂ ਸਾਫ਼ ਕਰੋ", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "ਖਾਤਾ ਹਟਾਓ", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "ਤੁਹਾਡਾ ਖਾਤਾ ਹਟਾਉਣਾ ਇੱਕ ਸਥਾਈ ਕਾਰਵਾਈ ਹੈ ਅਤੇ ਇਸਨੂੰ ਵਾਪਸ ਨਹੀਂ ਲਿਆ ਜਾ ਸਕਦਾ.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "ਹਟਾਓ", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "ਖਾਤਾ ਹਟਾਓ", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "ਸਾਈਨ ਆਉਟ", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "ਤੁਸੀਂ ਆਪਣੇ ਖਾਤੇ ਤੋਂ ਸਾਈਨ ਆਉਟ ਹੋ ਜਾਓਗੇ।", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "ਸਾਈਨ ਆਉਟ", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "ਬੱਗ ਰਿਪੋਰਟ ਭੇਜੋ", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "ਸੁਨੇਹਾ ਭੇਜੋ [⏎ Enter] ਨਾਲ", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "ਸੁਨੇਹਾ ਭੇਜੋ [⏎ Enter] ਨਾਲ ਅਤੇ ਨਵੀਂ ਲਾਈਨ [Shift] + [⏎ Enter] ਨਾਲ", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "ਭੇਜੋ [⏎ Enter] ਨਾਲ", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "ਗੋਪਨੀਯਤਾ ਨੀਤੀ", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "ਭਾਸ਼ਾ", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "ਆਪਣੇ ਐਪ ਇੰਟਰਫੇਸ ਲਈ ਆਪਣੀ ਪਸੰਦ ਦੀ ਭਾਸ਼ਾ ਚੁਣੋ", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "ਗੂੜ੍ਹਾ ਮੋਡ", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "ਗੋਤਕਾ ਮੋਡ ਨੂੰ ਚਾਲੂ ਕਰੋ ਤਾਂ ਜੋ ਘੱਟ ਰੋਸ਼ਨੀ ਵਿੱਚ ਆਰਾਮਦਾਇਕ ਦੇਖਣ ਦਾ ਅਨੁਭਵ ਹੋ ਸਕੇ", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "ਲੌਗ", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "ਐਪਲੀਕੇਸ਼ਨ ਲੌਗ ਨੂੰ ਦੇਖੋ ਅਤੇ ਪ੍ਰਬੰਧਿਤ ਕਰੋ ਜੇਹੜਾ ਡਿਬੱਗਿੰਗ ਲਈ", + "@sectionLogsSubtitle": {}, + "doneButton": "ਹੋ ਗਿਆ", + "@doneButton": {}, + "bugReportDialogTitle": "ਬੱਗ ਰਿਪੋਰਟ", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "ਕਿਰਪਾ ਕਰਕੇ ਉਸ ਬੱਗ ਦਾ ਵਰਣਨ ਕਰੋ ਜਿਸਨੂੰ ਤੁਸੀਂ ਸਾਹਮਣਾ ਕੀਤਾ", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "ਫਾਈਲਾਂ ਜੋੜੋ", + "@attachFilesButtonTooltip": {}, + "filePickerError": "ਫਾਈਲਾਂ ਚੁਣਨ ਵਿੱਚ ਅਸਫਲ", + "@filePickerError": {}, + "emptyBugReportError": "ਕਿਰਪਾ ਕਰਕੇ ਪਹਿਲਾਂ ਬੱਗ ਰਿਪੋਰਟ ਦਿਓ", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "ਬੱਗ ਰਿਪੋਰਟ ਭੇਜਣ ਵਿੱਚ ਅਸਫਲ", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਪ੍ਰਬੰਧਿਤ ਕਰੋ", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "ਆਪਣੇ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਸੈਟਿੰਗਜ਼ ਦਾ ਪ੍ਰਬੰਧ ਕਰੋ", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "ਕੰਪਨ", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "ਹੈਪਟਿਕ ਫੀਡਬੈਕ (ਕੰਪਨ) ਨੂੰ ਸਮਰਥਿਤ ਡਿਵਾਈਸਾਂ 'ਤੇ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰੋ", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "ਨੋਟੀਫਿਕੇਸ਼ਨ ਚਾਲੂ ਕਰੋ", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "ਡਾਕਟਰਿਨਾ ਤੁਹਾਡੇ ਚੈਟ, ਰਿਪੋਰਟਾਂ ਜਾਂ ਲੱਛਣਾਂ ਵਿੱਚ ਕੁਝ ਮਹੱਤਵਪੂਰਨ ਲੱਭਣ 'ਤੇ ਅਪਡੇਟ ਰਹੋ.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "खाता", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "ਐਪ", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "ਬਾਰੇ", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "ਸੂਚਨਾਵਾਂ", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "ਵੀਡੀਓ ਟਿਊਟੋਰੀਅਲ", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "ਫੋਨ", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ਈਮੇਲ", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "ਨਾਮ", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "{count} ਫਾਈਲਾਂ ਨੂੰ ਮੌਜੂਦ ਫਾਈਲਾਂ ਨਾਲ ਦੁਹਰਾਉਣ ਕਾਰਨ ਛੱਡ ਦਿੱਤਾ ਗਿਆ", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "ਕਿਸਮ", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "ਵਰਣਨ", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "ਅਟੈਚਮੈਂਟ", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "ਬੱਗ", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "ਕ੍ਰੈਸ਼", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "ਯੂਆਈ ਸਮੱਸਿਆ", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "ਹੋਰ", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "ਤੁਹਾਡੀ ਖਾਤਾ ਮਿਟਾਉਣ ਨਾਲ Doctorina ਤੋਂ ਤੁਹਾਡਾ ਡੇਟਾ ਸਦਾ ਲਈ ਹਟਾਇਆ ਜਾਵੇਗਾ.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "ਤੁਸੀਂ ਮਿਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "ਤੁਹਾਡੇ ਕੋਲ {store} ਰਾਹੀਂ ਇੱਕ ਸਰਵਿਸ ਹੈ। ਤੁਹਾਡਾ ਖਾਤਾ ਮਿਟਾਉਣਾ ਇਸਨੂੰ ਰੱਦ ਨਹੀਂ ਕਰੇਗਾ.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store} ਵਿੱਚ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਰੱਦ ਕਰੋ", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "ਜਾਰੀ ਰੱਖੋ", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "ਸਾਨੂੰ ਦੁੱਖ ਹੈ ਕਿ ਤੁਸੀਂ ਜਾ ਰਹੇ ਹੋ। ਕੀ ਤੁਸੀਂ ਯਕੀਨੀ ਹੋ ਕਿ ਤੁਸੀਂ ਆਪਣਾ ਖਾਤਾ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ? ਜਦੋਂ ਤੁਸੀਂ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹੋ, ਤੁਹਾਡਾ ਡੇਟਾ ਗਾਇਬ ਹੋ ਜਾਵੇਗਾ.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "ਮੈਂ ਐਪ ਦਾ ਇਸਤੇਮਾਲ ਨਹੀਂ ਕਰਦਾ", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "ਕੁਝ ਬਿਹਤਰ ਮਿਲਿਆ", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "ਤਕਨੀਕੀ ਸਮੱਸਿਆਵਾਂ", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "ਉਪਯੋਗ ਵਿੱਚ ਮੁਸ਼ਕਲਾਂ", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "ਫੀਚਰਾਂ ਦੀ ਘਾਟ", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "ਪਰਾਈਵੇਸੀ ਦੇ ਚਿੰਤਾਵਾਂ", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "ਮੈਂ ਸਿਰਫ ਆਪਣਾ ਡੇਟਾ ਸਾਫ਼ ਕਰਨਾ ਚਾਹੁੰਦਾ ਸੀ", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "ਹੋਰ", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "ਆਪਣਾ ਫੀਡਬੈਕ ਸਾਂਝਾ ਕਰੋ", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "ਤੁਹਾਡਾ ਖਾਤਾ ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "ਹਟਾਉਣਾ", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "ਵਾਪਸ ਲੈਣਾ", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "ਤੁਹਾਡਾ ਖਾਤਾ ਮਿਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ।", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "ਖਾਤਾ ਮਿਟਾਉਣ ਵਿੱਚ ਅਸਫਲ. ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "ਇਸ ਡਿਵਾਈਸ 'ਤੇ ਕੋਈ ਈਮੇਲ ਐਪ ਉਪਲਬਧ ਨਹੀਂ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ support@doctorina.com ਨਾਲ ਹੱਥੋਂ ਸੰਪਰਕ ਕਰੋ.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_pa_PK.arb b/example/lib/src/l10n/settings/app_pa_PK.arb new file mode 100644 index 0000000..c8af2e1 --- /dev/null +++ b/example/lib/src/l10n/settings/app_pa_PK.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "pa_PK", + "sectionClearAllChatsTitle": "تمام چیٹس صاف کریں", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "ایہ توہاڈی چیٹ ہسٹری نوں مستقل طور تے حذف کر دے گا.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "تمام چیٹس مٹاؤ", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "تمام چیٹس صاف کریں", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "اکاؤنٹ حذف کریں", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "ਤੁਹਾਡਾ ਖਾਤਾ ਮਿਟਾਉਣਾ ਇੱਕ ਸਥਾਈ ਕਾਰਵਾਈ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਮੁੜ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "حذف کریں", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "اکاؤنٹ حذف کریں", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "سائن آؤٹ", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "تُسیں اپنے کھاتے توں سائن آؤٹ ہو جاؤ گے.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "سائن آؤٹ", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "بگ رپورٹ بھیجو", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "پیغام بھیجیں [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "پیغام بھیجیں [⏎ Enter] اور نئی لائن [Shift] + [⏎ Enter] کے ساتھ", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "[⏎ Enter] ਨਾਲ ਭੇਜੋ", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "رازداری کی پالیسی", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "زبان", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "اپنے ایپ انٹرفیس کے لیے اپنی پسندیدہ زبان منتخب کریں", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "ڈارک موڈ", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "کم روشنی میں آرام دہ دیکھنے کے تجربے کے لیے ڈارک موڈ فعال کریں", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "لاگز", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "ڈیبگنگ کے لیے درخواست کے لاگز دیکھیں اور انتظام کریں", + "@sectionLogsSubtitle": {}, + "doneButton": "مکمل", + "@doneButton": {}, + "bugReportDialogTitle": "بگ رپورٹ", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "براہ مہربانی اس بگ کی تفصیل بیان کریں جس کا آپ نے سامنا کیا", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "فائلیں منسلک کریں", + "@attachFilesButtonTooltip": {}, + "filePickerError": "فائلیں منتخب کرنے میں ناکام", + "@filePickerError": {}, + "emptyBugReportError": "براہ کرم پہلے بگ رپورٹ درج کریں", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "بگ رپورٹ بھیجنے میں ناکام", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "سبسکرپشن کا انتظام کریں", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "اپنی رکنیت کی ترتیبات کو منظم کریں", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "ہیپٹک فیڈبیک", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "سپورٹڈ ڈیوائسز تے ہپٹک فیڈبیک (وائبریشن) نوں چالو یا بند کرو", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "نوٹیفکیشنز آن کریں", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "ڈاکٹرینا آپ کے چیٹس، رپورٹس، یا علامات میں کچھ اہم تلاش کرنے پر اپ ڈیٹ رہیں۔", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "اکاؤنٹ", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "ایپ", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "بارے میں", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "نوٹیفیکیشنز", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "ویڈیو ٹیوٹوریلز", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "فون", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ای میل", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "نام", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "موجودہ فائلوں کے ساتھ نقل کی وجہ سے {count} فائلیں چھوڑ دی گئیں", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "قسم", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "تفصیل", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "منسلکات", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "بگ", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "کریش", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "یو آئی مسئلہ", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "دوسرا", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "اپنا اکاؤنٹ حذف کرنے سے آپ کا ڈیٹا Doctorina سے مستقل طور پر ہٹا دیا جائے گا.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "حذف کرنے سے پہلے", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "تُہاڈے کول {store} دے ذریعے اک فعال سبسکرپشن ہے۔ اپنے اکاؤنٹ نوں حذف کرنا ایہنوں منسوخ نئیں کرے گا۔", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store} ਵਿੱਚ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਰੱਦ ਕਰੋ", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "جاری رکھیں", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "ہمیں افسوس ہے کہ آپ جا رہے ہیں۔ کیا آپ واقعی اپنا اکاؤنٹ حذف کرنا چاہتے ہیں؟ ایک بار جب آپ تصدیق کریں گے، آپ کا ڈیٹا ختم ہو جائے گا.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "میں اب ایپ استعمال نہیں کرتا", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "بہتر چیز ملی", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "تکنیکی مسائل", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "استعمال میں مسائل", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "خصوصیات کی کمی", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "پرائیویسی کے خدشات", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "میں صرف اپنے ڈیٹا کو صاف کرنا چاہتا تھا", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "دوسرا", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "اپنی رائے کا اظہار کریں", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "ਤੁਹਾਡਾ ਖਾਤਾ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "مٹانا", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "ਰੱਦ ਕਰੋ", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "تُہاڈا اکاؤنٹ حذف کر دیا گیا ہے۔", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "اکاؤنٹ حذف کرنے میں ناکامی ہوئی۔ براہ کرم دوبارہ کوشش کریں۔", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "اس ڈیوائس پر کوئی ای میل ایپ دستیاب نہیں ہے۔ براہ کرم support@doctorina.com پر دستی طور پر رابطہ کریں۔", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_pl.arb b/example/lib/src/l10n/settings/app_pl.arb new file mode 100644 index 0000000..d382784 --- /dev/null +++ b/example/lib/src/l10n/settings/app_pl.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "pl", + "sectionClearAllChatsTitle": "Wyczyść wszystkie czaty", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "To na zawsze usunie historię czatów.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Wyczyść wszystkie czaty", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Wyczyść wszystkie czaty", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Usuń konto", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Usunięcie konta to trwała czynność i nie można jej cofnąć.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Usuń", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Usuń konto", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Wyloguj się", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Zostaniesz wylogowany ze swojego konta", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Wyloguj się", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Wyślij raport o błędzie", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Wyślij wiadomość za pomocą [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Wyślij wiadomość za pomocą [⏎ Enter] i nową linię za pomocą [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Wyślij za pomocą [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Polityka prywatności", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Język", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Wybierz preferowany język interfejsu aplikacji", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Tryb ciemny", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Włącz tryb ciemny, aby uzyskać komfortowe wrażenia podczas przeglądania w słabym świetle", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Dzienniki", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Wyświetl i zarządzaj dziennikami aplikacji w celu debugowania", + "@sectionLogsSubtitle": {}, + "doneButton": "Gotowe", + "@doneButton": {}, + "bugReportDialogTitle": "Zgłoszenie błędu", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Proszę opisać błąd, na który napotkałeś", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Dołącz pliki", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Nie udało się wybrać plików", + "@filePickerError": {}, + "emptyBugReportError": "Proszę najpierw wprowadzić zgłoszenie błędu", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Nie udało się wysłać zgłoszenia błędu", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Zarządzaj subskrypcją", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Zarządzaj ustawieniami subskrypcji", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Wibracja", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Włącz lub wyłącz sprzężenie zwrotne dotykowe (wibracje) na obsługiwanych urządzeniach", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Włącz powiadomienia", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Bądź na bieżąco, gdy Doctorina znajdzie coś ważnego w Twoich czatach, raportach lub objawach.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Konto", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Aplikacja", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "O nas", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Powiadomienia", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Samouczki wideo", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Nazwa", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Pominięto {count} plików z powodu duplikatów z istniejącymi plikami", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Typ", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Opis", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Załączniki", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Błąd", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Awaria", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Problem z interfejsem", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Inne", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Usunięcie konta na zawsze usunie twoje dane z Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Zanim usuniesz", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Masz aktywną subskrypcję przez {store}. Usunięcie konta jej nie anuluje.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Anuluj subskrypcję w {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Kontynuuj", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Przykro nam, że odchodzisz. Czy na pewno chcesz usunąć swoje konto? Po potwierdzeniu twoje dane zostaną usunięte.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Nie używam już aplikacji", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Znalazło się coś lepszego", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Problemy techniczne", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Problemy z użytecznością", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Brakujące funkcje", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Obawy o prywatność", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Po prostu chcę usunąć swoje dane", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Inne", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Podziel się swoją opinią", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Usuwam twoje konto...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Usuwanie", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Cofnij", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Twoje konto zostało usunięte.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Nie udało się usunąć konta. Spróbuj ponownie.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Na tym urządzeniu nie ma dostępnej aplikacji e-mail. Proszę skontaktować się z support@doctorina.com ręcznie.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ps.arb b/example/lib/src/l10n/settings/app_ps.arb new file mode 100644 index 0000000..d99b9a1 --- /dev/null +++ b/example/lib/src/l10n/settings/app_ps.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ps", + "sectionClearAllChatsTitle": "ټول چټونه پاک کړئ", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "دا به ستاسو د خبرو تاریخ په بشپړه توګه له منځه یوسي.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "ټول چټونه پاک کړئ", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "ټول چټونه پاک کړئ", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "حساب حذف کړئ", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "ستاسو حساب حذفول یوه دایمي عمل دی او نه شي بدلیدلی.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "حذف", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "حساب حذف کړئ", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "د وتلو", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "تاسو به له خپل حساب څخه وتل شئ.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "د وتلو لپاره", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "بګ راپور واستوئ", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "پیغام د [⏎ Enter] سره واستوئ", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "پیغام د [⏎ Enter] سره واستوئ او نوې کرښه د [Shift] + [⏎ Enter] سره", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "لېږل د [⏎ Enter] سره", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "د محرمیت پالیسي", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "ژبه", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "د اپلیکیشن انٹرفیس لپاره خپله خوښه ژبه وټاکئ", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "تاریک حالت", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "د تیاره حالت فعال کړئ ترڅو په ټیټه رڼا کې د آرامه لید تجربه ولرئ", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "لاگونه", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "د غوښتنلیک لاګونه وګورئ او اداره کړئ د خطا موندنې لپاره", + "@sectionLogsSubtitle": {}, + "doneButton": "پایان", + "@doneButton": {}, + "bugReportDialogTitle": "د تېروتنې راپور", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "مهرباني وکړئ هغه تېروتنه چې تاسو ورسره مخ شوئ تشريح کړئ", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "فایلونه ضمیمه کړئ", + "@attachFilesButtonTooltip": {}, + "filePickerError": "د فایلونو انتخاب کې ناکامي", + "@filePickerError": {}, + "emptyBugReportError": "لطفاً لومړی د خطا راپور داخل کړئ", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "د تېروتنې راپور لیږل ناکام شول", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "د ګډون مدیریت", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "د خپل ګډون ترتیبات مدیریت کړئ", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "حسی فیڈبیک", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "د ملاتړ شوي وسایلو کې هپتیک فیډبیک (لرزه) فعال یا غیر فعال کړئ", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "خبرتیاوې فعال کړئ", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "د ډاکټرینا په خبرو اترو، راپورونو، یا نښو کې کله چې څه مهم ومومي تازه اوسئ.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "حساب", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "ایپ", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "په اړه", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "خبرتیاوې", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "ویدیو ښوونې", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "تلیفون", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "برېښنالیک", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "نوم", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "د موجوده فایلونو سره د تکرار له امله {count} فایلونه پریښودل شوي", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "ډول", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "تفصیل", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "ضمیمه", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "خطا", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "راپرسی د ناکامۍ", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "د UI ستونزه", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "نور", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "حساب مو حذف کول به ستاسو معلومات د Doctorina نه په تلپاتې توګه لیرې کړي.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "مخکې له دې چې تاسو حذف کړئ", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "تاسو د {store} له لارې فعاله ګډون لرئ. د خپل حساب حذف کول به دا لغو نه کړي.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "د {store} کې د ګډون لغوه کول", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "ادامه", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "موږ د دې لپاره خواشینی یو چې تاسو ځئ. آیا تاسو باوري یاست چې غواړئ خپل حساب حذف کړئ؟ یو ځل چې تاسو تایید کړئ، ستاسو معلومات به له منځه لاړ شي.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "زه نور د دې اپلیکیشن نه استفاده نه کوم", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "یو غوره انتخاب وموندل", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "تخنیکي ستونزې", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "د کارولو ستونزې", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "د ځانګړتیاوو نشتوالی", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "د پټتیا اندیښنې", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "زه یوازې غوښتل چې خپل معلومات پاک کړم", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "نور", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "خپل نظر شریک کړئ", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "ستاسو حساب حذف کول...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "حذف کول", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "بېرته واچول", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "ستاسو حساب حذف شو.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "د حساب حذف کولو کې ناکامي. مهرباني وکړئ بیا هڅه وکړئ.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "په دې وسیله کې هیڅ بریښنالیک غوښتنلیک شتون نلري. مهرباني وکړئ support@doctorina.com ته په لاسي ډول اړیکه ونیسئ.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_pt.arb b/example/lib/src/l10n/settings/app_pt.arb new file mode 100644 index 0000000..f77f284 --- /dev/null +++ b/example/lib/src/l10n/settings/app_pt.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "pt", + "sectionClearAllChatsTitle": "Limpar Todas as Conversas", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Isso excluirá permanentemente seu histórico de bate-papo.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Limpar todas as conversas", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Limpar todas as conversas", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Excluir conta", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Excluir sua conta é uma ação permanente e não pode ser desfeita.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Excluir", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Excluir conta", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Sair", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Você será desconectado da sua conta.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Sair", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Enviar relatório de bug", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Enviar mensagem com [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Envie uma mensagem com [⏎ Enter] e uma nova linha com [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Enviar com [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Política de Privacidade", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Idioma", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Selecione seu idioma preferido para a interface do aplicativo", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Modo escuro", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Ative o modo escuro para uma experiência de visualização confortável em baixa luminosidade", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Registros", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Visualize e gerencie os logs da aplicação para depuração", + "@sectionLogsSubtitle": {}, + "doneButton": "Concluído", + "@doneButton": {}, + "bugReportDialogTitle": "Relatório de bug", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Por favor, descreva o bug que você encontrou", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Anexar arquivos", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Falha ao selecionar arquivos", + "@filePickerError": {}, + "emptyBugReportError": "Por favor, insira primeiro um relatório de bug", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Falha ao enviar o relatório de bug", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Gerenciar assinatura", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Gerencie as configurações da sua assinatura", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Feedback háptico", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Ative ou desative o feedback tátil (vibração) nos dispositivos compatíveis", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Ativar notificações", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Fique atualizado quando a Doctorina encontrar algo importante em suas conversas, relatórios ou sintomas.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Conta", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Aplicativo", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Sobre", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Notificações", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Tutoriais em vídeo", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefone", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Nome", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Ignorados {count} arquivos devido a duplicatas com arquivos existentes", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Tipo", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Descrição", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Anexos", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Crash", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Problema de interface do usuário", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Outro", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Excluir sua conta removerá permanentemente seus dados do Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Antes de excluir", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Você tem uma assinatura ativa através do {store}. Excluir sua conta não cancelará isso.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Cancelar assinatura no {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Continuar", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Lamentamos vê-lo partir. Você tem certeza de que deseja excluir sua conta? Uma vez que você confirmar, seus dados serão perdidos.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Não uso mais o aplicativo", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Encontrei algo melhor", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Problemas técnicos", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Problemas de usabilidade", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Recursos ausentes", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Preocupações com a privacidade", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Eu só queria limpar meus dados", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Outro", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Compartilhe seu feedback", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Excluindo sua conta...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Excluindo", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Desfazer", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Sua conta foi excluída.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Falha ao excluir a conta. Por favor, tente novamente.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Nenhum aplicativo de e-mail está disponível neste dispositivo. Por favor, entre em contato manualmente com support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_pt_BR.arb b/example/lib/src/l10n/settings/app_pt_BR.arb new file mode 100644 index 0000000..6057f65 --- /dev/null +++ b/example/lib/src/l10n/settings/app_pt_BR.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "pt_BR", + "sectionClearAllChatsTitle": "Limpar Todas as Conversas", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Isso excluirá permanentemente seu histórico de bate-papo.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Limpar todas as conversas", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Limpar todas as conversas", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Excluir conta", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Excluir sua conta é uma ação permanente e não pode ser desfeita.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Excluir", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Excluir conta", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Sair", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Você será desconectado da sua conta.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Sair", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Enviar relatório de bug", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Enviar mensagem com [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Envie uma mensagem com [⏎ Enter] e uma nova linha com [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Enviar com [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Política de Privacidade", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Idioma", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Selecione seu idioma preferido para a interface do aplicativo", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Modo escuro", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Ative o modo escuro para uma experiência de visualização confortável em baixa luminosidade", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Registros", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Visualize e gerencie os logs da aplicação para depuração", + "@sectionLogsSubtitle": {}, + "doneButton": "Concluído", + "@doneButton": {}, + "bugReportDialogTitle": "Relatório de bug", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Por favor, descreva o bug que você encontrou", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Anexar arquivos", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Falha ao selecionar arquivos", + "@filePickerError": {}, + "emptyBugReportError": "Por favor, insira primeiro um relatório de bug", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Falha ao enviar o relatório de bug", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Gerenciar assinatura", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Gerencie as configurações da sua assinatura", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Feedback háptico", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Ative ou desative o feedback tátil (vibração) nos dispositivos compatíveis", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Ativar notificações", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Fique atualizado quando a Doctorina encontrar algo importante em suas conversas, relatórios ou sintomas.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Conta", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Aplicativo", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Sobre", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Notificações", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Tutoriais em vídeo", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefone", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Nome", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Ignorados {count} arquivos devido a duplicatas com arquivos existentes", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Tipo", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Descrição", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Anexos", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Crash", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Problema de interface do usuário", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Outro", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Excluir sua conta removerá permanentemente seus dados do Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Antes de excluir", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Você tem uma assinatura ativa através do {store}. Excluir sua conta não cancelará isso.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Cancelar assinatura no {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Continuar", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Lamentamos vê-lo partir. Você tem certeza de que deseja excluir sua conta? Uma vez que você confirmar, seus dados serão perdidos.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Não uso mais o aplicativo", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Encontrei algo melhor", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Problemas técnicos", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Problemas de usabilidade", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Recursos ausentes", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Preocupações com a privacidade", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Eu só queria limpar meus dados", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Outro", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Compartilhe seu feedback", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Excluindo sua conta...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Excluindo", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Desfazer", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Sua conta foi excluída.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Falha ao excluir a conta. Por favor, tente novamente.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Nenhum aplicativo de e-mail está disponível neste dispositivo. Por favor, entre em contato manualmente com support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ro.arb b/example/lib/src/l10n/settings/app_ro.arb new file mode 100644 index 0000000..057f973 --- /dev/null +++ b/example/lib/src/l10n/settings/app_ro.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ro", + "sectionClearAllChatsTitle": "Șterge toate conversațiile", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Aceasta va șterge permanent istoricul conversațiilor tale.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Șterge toate conversațiile", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Șterge toate conversațiile", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Șterge contul", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Ștergerea contului tău este o acțiune permanentă și nu poate fi anulată.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Șterge", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Șterge contul", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Deconectare", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Veți fi deconectat din contul dumneavoastră.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Deconectare", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Trimite raport de eroare", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Trimite mesaj cu [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Trimite un mesaj cu [⏎ Enter] și o linie nouă cu [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Trimite cu [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Politica de confidențialitate", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Limba", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Selectați limba preferată pentru interfața aplicației", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Mod întunecat", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Activați modul întunecat pentru o experiență de vizionare confortabilă în lumină scăzută", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Jurnale", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Vizualizați și gestionați jurnalele aplicației pentru depanare", + "@sectionLogsSubtitle": {}, + "doneButton": "Finalizat", + "@doneButton": {}, + "bugReportDialogTitle": "Raport de eroare", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Vă rugăm să descrieți bug-ul întâlnit", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Atașați fișiere", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Nu s-au putut selecta fișierele", + "@filePickerError": {}, + "emptyBugReportError": "Vă rugăm să introduceți mai întâi un raport de eroare", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "A eșuat trimiterea raportului de eroare", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Gestionați abonamentul", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Gestionează setările abonamentului tău", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Feedback haptic", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Activați sau dezactivați feedback-ul haptic (vibrație) pe dispozitivele acceptate", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Activați notificările", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Rămâi la curent când Doctorina găsește ceva important în conversațiile, rapoartele sau simptomele tale.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Cont", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Aplicație", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Despre", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Notificări", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Tutoriale video", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Nume", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Au fost omise {count} fișiere din cauza duplicatelor cu fișierele existente", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Tip", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Descriere", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Atașamente", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Crăpare", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Problemă de interfață", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Altele", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Ștergerea contului dvs. va elimina permanent datele dvs. din Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Înainte să ștergi", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Aveți un abonament activ prin {store}. Ștergerea contului dumneavoastră nu îl va anula.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Anulează abonamentul în {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Continuare", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Ne pare rău să te vedem plecând. Ești sigur că vrei să îți ștergi contul? Odată ce confirmi, datele tale vor fi șterse.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Nu mai folosesc aplicația", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Am găsit ceva mai bun", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Probleme tehnice", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Probleme de utilizare", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Funcții lipsă", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Îngrijorări legate de confidențialitate", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Am vrut doar să îmi șterg datele", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Altele", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Împărtășește-ți feedback-ul", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Se șterge contul dumneavoastră...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Ștergere", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Anulează", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Contul dumneavoastră a fost șters.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Nu s-a putut șterge contul. Vă rugăm să încercați din nou.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Nici o aplicație de email nu este disponibilă pe acest dispozitiv. Vă rugăm să contactați manual support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ru.arb b/example/lib/src/l10n/settings/app_ru.arb new file mode 100644 index 0000000..4ed68df --- /dev/null +++ b/example/lib/src/l10n/settings/app_ru.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ru", + "sectionClearAllChatsTitle": "Очистить все чаты", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Это навсегда удалит историю ваших чатов.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Очистить все чаты", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Очистить все чаты", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Удалить аккаунт", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Удаление вашего аккаунта является необратимым действием и не может быть отменено.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Удалить", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Удалить аккаунт", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Выйти", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Вы выйдете из своей учётной записи.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Выйти", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Отправить отчёт об ошибке", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Отправить сообщение с [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Отправить с [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Конфиденциальность", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Язык", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Выберите предпочитаемый язык интерфейса приложения", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Темный режим", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Включите тёмный режим для комфортного просмотра при слабом освещении", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Журналы", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Просмотр и управление журналами приложения для отладки", + "@sectionLogsSubtitle": {}, + "doneButton": "Готово", + "@doneButton": {}, + "bugReportDialogTitle": "Отчет об ошибке", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Пожалуйста, опишите ошибку, с которой вы столкнулись", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Прикрепить файлы", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Не удалось выбрать файлы", + "@filePickerError": {}, + "emptyBugReportError": "Пожалуйста, введите отчёт об ошибке", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Не удалось отправить отчет об ошибке", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Управление подпиской", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Управляйте настройками подписки", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Вибрация", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Включите или отключите тактильную обратную связь (вибрацию) на поддерживаемых устройствах", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Включить уведомления", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Оставайтесь в курсе, когда Doctorina находит что-то важное в ваших чатах, отчетах или симптомах", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Аккаунт", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Приложение", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "О приложении", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Уведомления", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Видеоуроки", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Телефон", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Почта", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Имя", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Пропущено {count} файлов из-за дубликатов с существующими файлами", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Тип", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Описание", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Вложения", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Ошибка", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Сбой", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Проблема с интерфейсом", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Другое", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Удаление вашего аккаунта навсегда удалит ваши данные из Doctorina", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Перед удалением", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "У вас есть активная подписка через {store}. Удаление вашего аккаунта не отменит её.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Отменить подписку в {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Продолжить", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Нам жаль вас терять. Вы уверены, что хотите удалить свою учетную запись? После подтверждения ваши данные будут удалены.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Я больше не пользуюсь приложением", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Нашлось что-то получше", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Технические проблемы", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Проблемы с удобством использования", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Не хватает функций", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Беспокойство о приватности", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Я просто хочу удалить свои данные", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Другое", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Поделитесь своим мнением", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Удаление вашего аккаунта...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Удаление", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Отменить", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Ваш аккаунт был удален.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Не удалось удалить аккаунт. Пожалуйста, попробуйте снова.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Нет доступного почтового клиента. Пожалуйста, свяжитесь с support@doctorina.com.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_si.arb b/example/lib/src/l10n/settings/app_si.arb new file mode 100644 index 0000000..84a4d92 --- /dev/null +++ b/example/lib/src/l10n/settings/app_si.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "si", + "sectionClearAllChatsTitle": "සියලු කතාබහ මකන්න", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "මෙය ඔබගේ සංවාද ඉතිහාසය ස්ථායීව මකනු ඇත.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "සියලු කතාබහ මකන්න", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "සියලු කතාබහ මකන්න", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "ගිණුම මකන්න", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "ඔබගේ ගිණුම මකන එක ස්ථිර ක්‍රියාවක් වන අතර එය ආපසු ගෙන නොහැක.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "ඉවත් කරන්න", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "ගිණුම මකන්න", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "ඉවත් වන්න", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "ඔබගේ ගිණුමෙන් පිටවනු ඇත.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "ඉවත් වන්න", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "දෝෂ වාර්තාව යවන්න", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "පණිවිඩය යවන්න [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "පණිවුඩයක් යවන්න [⏎ Enter] සහ නව පේළියක් සඳහා [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "පණිවිඩය යවන්න [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "පෞද්ගලිකත්ව ප්‍රතිපත්තිය", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "භාෂාව", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "අපේක්ෂිත භාෂාව තෝරන්න", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "අඳුරු ආකාරය", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "අඩු ආලෝකයේ සුවපහසු දෘෂ්ටියක් සඳහා අඳුරු ආකාරය සක්‍රීය කරන්න", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "ලොග්", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "අයදුම්පත් ලොග් පරීක්ෂා කරන්න සහ කළමනාකරණය කරන්න", + "@sectionLogsSubtitle": {}, + "doneButton": "සම්පූර්ණයි", + "@doneButton": {}, + "bugReportDialogTitle": "බග් වාර්තාව", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "කරුණාකර ඔබ encountered කළ දෝෂය විස්තර කරන්න", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "ගොනු අමුණන්න", + "@attachFilesButtonTooltip": {}, + "filePickerError": "ගොනු තෝරා ගැනීමට අසාර්ථකයි", + "@filePickerError": {}, + "emptyBugReportError": "කරුණාකර පළමුව බග් වාර්තාවක් ඇතුළත් කරන්න", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "දෝෂ වාර්තාව යැවීමට අසාර්ථකයි", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "අභිජනන කළමනාකරණය", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "ඔබේ සාමාජිකත්ව සැකසුම් කළමනාකරණය කරන්න", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "හැප්ටික් ප්‍රතිචාරය", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "සහාය වන උපාංගවල හප්ටික් ප්‍රතිචාරය (කම්පනය) සක්‍රීය හෝ නික්මන්න", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Обавезите обавештења", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "ඔබේ සංවාද, වාර්තා, හෝ ලක්ෂණ වලදී Doctorina කුමක් හෝ වැදගත් දෙයක් සොයා ගන්නා විට යාවත්කාලීන වන්න.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "ගිණුම", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "අයදුම්පත", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "පිළිබඳ", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "සැණැල්ලන්", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "වීඩියෝ පාඩම්", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "දුරකථනය", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ඊ-මේල්", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "නම", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "පවතින ගොනු සමඟ අනුපිටපත් වීම නිසා {count} ගොනු අතහැර ඇත", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "වර්ගය", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "විස්තරය", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "අමුණීම්", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "බග්", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "කඩා වැටීම", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI ගැටලුව", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "අනෙකුත්", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "ඔබගේ ගිණුම මකන විට, ඔබගේ දත්ත Doctorina වෙතින් ස්ථිරවම ඉවත් වේ.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "ඔබ මකා දැමීමට පෙර", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "ඔබට {store} හරහා ක්‍රියාත්මක සබැඳියක් ඇත. ඔබගේ ගිණුම මකන විට එය අවලංගු නොවේ.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store} හි අනුබන්ධනය අවලංගු කරන්න", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "ඉදිරියට", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "ඔබට පිටවීමට කණගාටුයි. ඔබට ඔබේ ගිණුම මකන්න අවශ්‍යද? ඔබ තහවුරු කළ විට, ඔබගේ දත්ත අහිමි වේ.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "මට යෙදුම භාවිතා නොකරයි", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "ආරක්ෂිත වඩා හොඳ දෙයක් සොයා ගත්තා", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "තාක්ෂණික ගැටළු", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "පරිශීලන ගැටළු", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "අඩු විශේෂාංග", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "පෞද්ගලිකත්වය පිළිබඳ කණගාටුකම", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "මට මගේ දත්ත පිරිසිදු කිරීමට අවශ්‍ය විය", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "අනෙකුත්", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "ඔබේ ප්‍රතිචාරය බෙදා ගන්න", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "ඔබගේ ගිණුම මකමින්...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "මකන්න", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "අවලංගු කරන්න", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "ඔබගේ ගිණුම මකා දැමී ඇත.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "ගිණුම මකන්න බැරි විය. කරුණාකර නැවත උත්සාහ කරන්න.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "මෙම උපාංගයේ ඊ-මේල් යෙදුමක් නොමැත. කරුණාකර support@doctorina.com වෙත අතිරේකව සම්බන්ධ වන්න.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_sk.arb b/example/lib/src/l10n/settings/app_sk.arb new file mode 100644 index 0000000..5bc4e7d --- /dev/null +++ b/example/lib/src/l10n/settings/app_sk.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "sk", + "sectionClearAllChatsTitle": "Vymazať všetky chaty", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Toto trvalo vymaže vašu históriu chatov", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Vymazať všetky chaty", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Vymazať všetky chaty", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Zmazať účet", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Zmazanie vášho účtu je trvalá akcia a nemožno ju zvrátiť.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Zmazať", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Zmazať účet", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Odhlásiť sa", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Odhlásite sa zo svojho účtu.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Odhlásiť sa", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Odoslať hlásenie o chybe", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Odoslať správu pomocou [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Odošlite správu pomocou [⏎ Enter] a nový riadok pomocou [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Odoslať pomocou [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Súkromie", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Jazyk", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Vyberte si preferovaný jazyk pre rozhranie aplikácie", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Tmavý režim", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Povoľte tmavý režim pre pohodlné sledovanie v slabom svetle", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Záznamy", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Zobraziť a spravovať protokoly aplikácie na ladenie", + "@sectionLogsSubtitle": {}, + "doneButton": "Hotovo", + "@doneButton": {}, + "bugReportDialogTitle": "Hlášenie chyby", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Prosím, opíšte chybu, ktorú ste zaznamenali", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Pripojiť súbory", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Nepodarilo sa vybrať súbory", + "@filePickerError": {}, + "emptyBugReportError": "Najprv zadajte hlásenie o chybe", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Nepodarilo sa odoslať hlásenie o chybe", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Spravovať predplatné", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Spravujte nastavenia svojho predplatného", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptická spätná väzba", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Povoliť alebo zakázať haptickú spätnú väzbu (vibráciu) na podporovaných zariadeniach", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Zapnúť upozornenia", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Buďte informovaní, keď Doctorina nájde niečo dôležité vo vašich chatových správach, správach alebo symptómoch.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Účet", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Aplikácia", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "O nás", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Upozornenia", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video tutoriály", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefón", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Meno", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Preskočilo sa {count} súborov kvôli duplicitám s existujúcimi súbormi", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Typ", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Popis", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Prílohy", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Chyba", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Zlyhanie", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Problém s UI", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Iné", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Vymazanie vášho účtu trvalo odstráni vaše údaje z Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Predtým, než odstránite", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Máte aktívne predplatné cez {store}. Odstránenie vášho účtu ho nezruší.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Zrušiť predplatné v {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Pokračovať", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Je nám ľúto, že odchádzate. Ste si istý, že chcete zmazať svoj účet? Akonáhle to potvrdíte, vaše údaje budú preč.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Už nepoužívam aplikáciu", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Našiel som niečo lepšie", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Technické problémy", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Problémy s používaním", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Chýbajúce funkcie", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Obavy o súkromie", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Proste som chcel vymazať svoje údaje", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Iné", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Podeľte sa o svoju spätnú väzbu", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Odstraňujem váš účet...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Odstraňovanie", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Zrušiť", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Váš účet bol odstránený.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Nepodarilo sa odstrániť účet. Skúste to znova.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Na tomto zariadení nie je k dispozícii žiadna aplikácia na e-mail. Prosím, kontaktujte support@doctorina.com manuálne.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_sw.arb b/example/lib/src/l10n/settings/app_sw.arb new file mode 100644 index 0000000..262bd65 --- /dev/null +++ b/example/lib/src/l10n/settings/app_sw.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "sw", + "sectionClearAllChatsTitle": "Futa Mazungumzo Yote", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Hii itaifuta historia yako ya mazungumzo milele", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Futa Mazungumzo Yote", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Futa Mazungumzo Yote", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Futa Akaunti", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Kufuta akaunti yako ni kitendo cha kudumu na hakiwezi kubatilishwa.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Futa", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Futa Akaunti", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Toka", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Utaondolewa kwenye akaunti yako.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Toka", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Tuma Ripoti ya Hitilafu", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Tuma ujumbe kwa kutumia [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Tuma ujumbe ukitumia [⏎ Enter] na mstari mpya ukitumia [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Tuma na [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Sera ya Faragha", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Lugha", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Chagua lugha unayopendelea kwa ajili ya kiolesura cha programu", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Hali nyeusi", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Washa hali ya giza kwa ajili ya hali nzuri ya kutazama katika mwanga hafifu", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Kumbukumbu", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Tazama na udhibiti kumbukumbu za programu kwa ajili ya utatuzi wa matatizo", + "@sectionLogsSubtitle": {}, + "doneButton": "Imekamilika", + "@doneButton": {}, + "bugReportDialogTitle": "Ripoti ya Hitilafu", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Tafadhali eleza hitilafu uliyokutana nayo", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Ambatisha faili", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Imeshindwa kuchagua faili", + "@filePickerError": {}, + "emptyBugReportError": "Tafadhali ingiza ripoti ya hitilafu kwanza", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Imeshindwa kutuma ripoti ya hitilafu", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Dhibiti usajili", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Dhibiti mipangilio yako ya usajili", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Maoni ya Haptic", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Washa au zima mwitikio wa mguso (kutetemeka) kwenye vifaa vinavyounga mkono", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Washitisha arifa", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Pata habari mpya wakati Doctorina inapogundua jambo muhimu katika mazungumzo yako, ripoti, au dalili.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Akaunti", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Programu", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Kuhusu", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Arifa", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video tutorials", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Simu", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Barua pepe", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Jina", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Imepuuzia faili {count} kutokana na nakala zinazokinzana na faili zilizopo", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Aina", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Maelezo", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Viambatano", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Ajali", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Tatizo la UI", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Nyingine", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Kufuta akaunti yako kutafuta data yako kutoka Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Kabla hujaondoa", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Una akaunti yako ina usajili hai kupitia {store}. Kufuta akaunti yako hakutakifuta.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Futa usajili katika {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Endelea", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Tuna huzuni kukuona ukiondoka. Je, uko tayari kufuta akaunti yako? Mara tu unapothibitisha, data yako itapotea.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Situmia tena programu", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Kupata kitu bora", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Masuala ya kiufundi", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Masuala ya urahisi wa matumizi", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Kukosa vipengele", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Wasiwasi wa faragha", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Nilitaka tu kufuta data zangu", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Nyingine", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Shiriki maoni yako", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Inafuta akaunti yako...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Inafuta", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Rejesha", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Akaunti yako imefutwa.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Imeshindikana kufuta akaunti. Tafadhali jaribu tena.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Hakuna programu ya barua pepe inayopatikana kwenye kifaa hiki. Tafadhali wasiliana na support@doctorina.com kwa mkono.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ta.arb b/example/lib/src/l10n/settings/app_ta.arb new file mode 100644 index 0000000..518fbe0 --- /dev/null +++ b/example/lib/src/l10n/settings/app_ta.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ta", + "sectionClearAllChatsTitle": "அதிர்வு", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "இது உங்கள் உரையாடல் வரலாற்றை நிரந்தரமாக நீக்கும்", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "அரட்டைகளை அழி", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "அரட்டைகளை அழி", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "கணக்கை நீக்கு", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "உங்கள் கணக்கை நீக்குவது நிரந்தர நடவடிக்கையாகும் மற்றும் அதனை திரும்ப பெற முடியாது.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "அழி", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "கணக்கை நீக்கு", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "வெளியேறு", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "உங்கள் கணக்கிலிருந்து நீங்கள் வெளியேற்றப்படுவீர்கள்.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "வெளியேறு", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "பிழை அறிக்கை அனுப்பு", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "[⏎ Enter] மூலம் செய்தி அனுப்பவும்", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "[⏎ Enter] அழுத்தி ஒரு செய்தியையும், [Shift] + [⏎ Enter] அழுத்தி ஒரு புதிய வரியையும் அனுப்பவும்.", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "[⏎ Enter] மூலம் அனுப்பு", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "தனியுரிமை கொள்கை", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "மொழி", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "செயலி இடைமுகத்திற்கான உங்கள் விருப்பமான மொழியைத் தேர்ந்தெடுக்கவும்.", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "இருண்ட பயன்முறை", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "குறைந்த ஒளியில் வசதியான பார்வை அனுபவத்தைப் பெற டார்க் மோடை இயக்கவும்.", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "பதிவுகள்", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "பிழைதிருத்தத்திற்காக பயன்பாட்டுப் பதிவுகளைப் பார்க்கவும் மற்றும் நிர்வகிக்கவும்.", + "@sectionLogsSubtitle": {}, + "doneButton": "முடிந்தது", + "@doneButton": {}, + "bugReportDialogTitle": "பிழை அறிக்கை", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "நீங்கள் சந்தித்த பிழையை விவரிக்கவும்.", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "கோப்புகளை இணைக்கவும்", + "@attachFilesButtonTooltip": {}, + "filePickerError": "கோப்புகளை எடுக்க முடியவில்லை", + "@filePickerError": {}, + "emptyBugReportError": "முதலில் ஒரு பிழை அறிக்கையை உள்ளிடவும்.", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "பிழை அறிக்கையை அனுப்ப முடியவில்லை", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "சந்தாவை நிர்வகிக்கவும்", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "உங்கள் சந்தா அமைப்புகளை நிர்வகிக்கவும்", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "அதிர்வு", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "ஆதரிக்கப்படும் சாதனங்களில் தொட்டு எதிர்வினை (அதிர்வு) ஐ இயக்கவும் அல்லது முடக்கவும்", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "அறிக்கைகளை இயக்கவும்", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "உங்கள் உரையாடல்கள், அறிக்கைகள் அல்லது அறிகுறிகளில் டாக்டரினா முக்கியமானதை கண்டுபிடிக்கும்போது புதுப்பிப்புகளைப் பெறுங்கள்.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "கணக்கு", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "பயன்பாடு", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "பற்றி", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "அறிவிப்புகள்", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "வீடியோ பாடங்கள்", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "தொலைபேசி", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "மின்னஞ்சல்", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "பெயர்", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "{count} கோப்புகள் உள்ள கோப்புகளுடன் மோதியதால் தவிர்க்கப்பட்டது", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "வகை", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "விளக்கம்", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "இணைப்புகள்", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "பிழை", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "அழிவு", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "யூஎய் சிக்கல்", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "மற்றவை", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "உங்கள் கணக்கை நீக்குவது உங்கள் தரவுகளை Doctorina-இல் இருந்து நிரந்தரமாக நீக்கும்.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "நீங்கள் நீக்குவதற்கு முன்", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "{store} மூலம் உங்களுக்கு ஒரு செயல்பாட்டில் உள்ள சந்தா உள்ளது. உங்கள் கணக்கை நீக்குவது அதை ரத்து செய்யாது.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store} இல் சந்தாவை நிறுத்தவும்", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "தொடர்க", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "நாங்கள் உங்களை இழக்க வருந்துகிறோம். உங்கள் கணக்கை நீக்க விரும்புகிறீர்களா? நீங்கள் உறுதிப்படுத்தியவுடன், உங்கள் தரவுகள் மறைந்து விடும்.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "நான் செயலியை இனி பயன்படுத்தவில்லை", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "சிறந்த ஒன்றை கண்டுபிடித்தேன்", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "தொழில்நுட்ப சிக்கல்கள்", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "பயன்பாட்டின் எளிமை தொடர்பான சிக்கல்கள்", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "சிறப்பம்சங்கள் குறைவாக உள்ளன", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "தனியுரிமை கவலைகள்", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "நான் என் தரவுகளை அழிக்க விரும்பினேன்", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "மற்றவை", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "உங்கள் கருத்துகளைப் பகிரவும்", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "உங்கள் கணக்கை நீக்குகிறேன்...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "அழிக்கிறது", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "மீட்டெடுக்கவும்", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "உங்கள் கணக்கு நீக்கப்பட்டுள்ளது.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "கணக்கை நீக்க முடியவில்லை. தயவுசெய்து மீண்டும் முயற்சிக்கவும்.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "இந்த சாதனத்தில் மின்னஞ்சல் செயலி கிடைக்கவில்லை. தயவுசெய்து support@doctorina.com என்ற முகவரிக்கு கையால் தொடர்பு கொள்ளவும்.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_te.arb b/example/lib/src/l10n/settings/app_te.arb new file mode 100644 index 0000000..f02484c --- /dev/null +++ b/example/lib/src/l10n/settings/app_te.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "te", + "sectionClearAllChatsTitle": "అన్ని చాట్‌లను తొలగించండి", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "ఈ చర్య మీ చాట్ చరిత్రను శాశ్వతంగా తొలగిస్తుంది.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "అన్ని చాట్లను తొలగించు", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "అన్ని చాట్‌లను తొలగించు", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "ఖాతాను తొలగించు", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "మీ ఖాతాను తొలగించడం శాశ్వత చర్య మరియు తిరిగి చేయడం సాధ్యం కాదు.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "తొలగించు", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "ఖాతాను తొలగించండి", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "సైన్ అవుట్", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "మీరు మీ ఖాతా నుండి సైన్ అవుట్ చేయబడతారు.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "సైన్ అవుట్", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "బగ్ నివేదిక పంపండి", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "సందేశం పంపండి [⏎ Enter] తో", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "సందేశాన్ని పంపడానికి [⏎ Enter] వాడండి మరియు కొత్త లైన్ కోసం [Shift] + [⏎ Enter] వాడండి", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "సందేశం పంపండి [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "గోప్యతా విధానం", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "భాష", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "ఆప్ ఇంటర్‌ఫేస్ కోసం మీకు ఇష్టమైన భాషను ఎంచుకోండి", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "డార్క్ మోడ్", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "తక్కువ వెలుగులో సౌకర్యవంతమైన వీక్షణ అనుభవం కోసం డార్క్ మోడ్ ప్రారంభించండి", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "లాగ్లు", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "డీబగ్గింగ్ కోసం అనువర్తన లాగ్‌లను వీక్షించండి మరియు నిర్వహించండి", + "@sectionLogsSubtitle": {}, + "doneButton": "ముగిసింది", + "@doneButton": {}, + "bugReportDialogTitle": "బగ్ నివేదిక", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "మీరు ఎదుర్కొన్న లోపాన్ని వివరించండి", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "ఫైళ్ళను జోడించండి", + "@attachFilesButtonTooltip": {}, + "filePickerError": "ఫైళ్ళను ఎంచుకోలేకపోయింది", + "@filePickerError": {}, + "emptyBugReportError": "దయచేసి ముందుగా బగ్ నివేదికను నమోదు చేయండి", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "బగ్ రిపోర్ట్ పంపడంలో విఫలమైంది", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "సబ్‌స్క్రిప్షన్ నిర్వహించండి", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "మీ చందా సెట్టింగులను నిర్వహించండి", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "హాప్టిక్ ఫీడ్‌బ్యాక్", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "మద్దతు ఉన్న పరికరాల్లో హాప్‌టిక్ ఫీడ్‌బ్యాక్ (వైబ్రేషన్)ను ప్రారంభించండి లేదా నిలిపివేయండి", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "నోటిఫికేషన్లు ఆన్ చేయండి", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "డాక్టర్‌నా మీ చాట్లలో, నివేదికలలో లేదా లక్షణాలలో ముఖ్యమైనది కనుగొన్నప్పుడు అప్డేట్‌లో ఉండండి.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "ఖాతా", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "అప్", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "గురించి", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "అనుబంధాలు", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "వీడియో పాఠాలు", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "ఫోన్", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ఇమెయిల్", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "పేరు", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "అనుకరణలతో ఉన్న ఫైళ్లతో {count} ఫైళ్లను మిస్సయ్యాయి", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "రకం", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "వివరణ", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "అటాచ్‌మెంట్స్", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "బగ్", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "క్రాష్", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "యూఐ సమస్య", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "ఇతర", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "మీ ఖాతాను తొలగించడం మీ డేటాను Doctorina నుండి శాశ్వతంగా తొలగిస్తుంది.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "మీరు తొలగించే ముందు", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "మీకు {store} ద్వారా ఒక చురుకైన సభ్యత్వం ఉంది. మీ ఖాతాను తొలగించడం దాన్ని రద్దు చేయదు.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store}లో సభ్యత్వాన్ని రద్దు చేయండి", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "కొనసాగించు", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "మీరు వెళ్ళడం చూసి మాకు బాధగా ఉంది. మీరు మీ ఖాతాను తొలగించాలనుకుంటున్నారా? మీరు నిర్ధారించిన తర్వాత, మీ డేటా పోతుంది.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "నేను ఈ యాప్‌ను ఇక ఉపయోగించడం లేదు", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "మంచి ఎంపిక దొరికింది", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "సాంకేతిక సమస్యలు", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "ఉపయోగించడంలో సమస్యలు", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "ఫీచర్లు లేవు", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "ప్రైవసీ ఆందోళనలు", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "నేను నా డేటాను క్లియర్ చేయాలనుకుంటున్నాను", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "ఇతర", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "మీ అభిప్రాయాన్ని పంచుకోండి", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "మీ ఖాతాను తొలగిస్తున్నాము...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "తొలగించడం", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "రద్దు చేయి", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "మీ ఖాతా తొలగించబడింది.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "ఖాతా తొలగించడంలో విఫలమైంది. దయచేసి మళ్లీ ప్రయత్నించండి.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "ఈ పరికరంలో ఇమెయిల్ యాప్ అందుబాటులో లేదు. దయచేసి support@doctorina.com కు చేతితో సంప్రదించండి.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_th.arb b/example/lib/src/l10n/settings/app_th.arb new file mode 100644 index 0000000..7d82313 --- /dev/null +++ b/example/lib/src/l10n/settings/app_th.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "th", + "sectionClearAllChatsTitle": "ล้างแชททั้งหมด", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "สิ่งนี้จะลบประวัติการแชทของคุณอย่างถาวร", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "ล้างการสนทนาทั้งหมด", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "ล้างการแชททั้งหมด", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "ลบบัญชี", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "การลบบัญชีของคุณเป็นการกระทำถาวรและไม่สามารถย้อนกลับได้.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "ลบ", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "ลบบัญชี", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "ออกจากระบบ", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "คุณจะถูกลงชื่อออกจากบัญชีของคุณ.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "ออกจากระบบ", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "ส่งรายงานข้อบกพร่อง", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "ส่งข้อความโดยกด [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "ส่งข้อความโดยกด [⏎ Enter] และขึ้นบรรทัดใหม่โดยกด [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "ส่งด้วย [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "นโยบายความเป็นส่วนตัว", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "ภาษา", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "เลือกภาษาที่คุณต้องการใช้สำหรับส่วนติดต่อผู้ใช้ของแอป", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "โหมดมืด", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "เปิดใช้งานโหมดมืดเพื่อประสบการณ์การรับชมที่สบายตาในที่แสงน้อย", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "บันทึก", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "ดูและจัดการบันทึกแอปพลิเคชันเพื่อการแก้ไขปัญหา", + "@sectionLogsSubtitle": {}, + "doneButton": "เสร็จแล้ว", + "@doneButton": {}, + "bugReportDialogTitle": "รายงานข้อผิดพลาด", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "โปรดอธิบายข้อผิดพลาดที่คุณพบ", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "แนบไฟล์", + "@attachFilesButtonTooltip": {}, + "filePickerError": "ไม่สามารถเลือกไฟล์ได้", + "@filePickerError": {}, + "emptyBugReportError": "กรุณาส่งรายงานข้อผิดพลาดก่อน", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "ไม่สามารถส่งรายงานข้อผิดพลาดได้", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "จัดการการสมัครสมาชิก", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "จัดการการตั้งค่าการสมัครสมาชิกของคุณ", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "การตอบสนองแบบสัมผัส", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "เปิดหรือปิดการตอบสนองแบบสั่น (การสั่น) บนอุปกรณ์ที่รองรับ", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "เปิดการแจ้งเตือน", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "อัปเดตเมื่อ Doctorina พบสิ่งสำคัญในแชท รายงาน หรืออาการของคุณ", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "บัญชี", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "แอป", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "เกี่ยวกับ", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "การแจ้งเตือน", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "วิดีโอสอน", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "โทรศัพท์", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "อีเมล", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "ชื่อ", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "ข้ามไฟล์ {count} ไฟล์เนื่องจากซ้ำกับไฟล์ที่มีอยู่", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "ประเภท", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "คำอธิบาย", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "ไฟล์แนบ", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "ข้อบกพร่อง", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "การชน", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "ปัญหาจาก UI", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "อื่นๆ", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "การลบบัญชีของคุณจะลบข้อมูลของคุณจาก Doctorina อย่างถาวร", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "ก่อนที่คุณจะลบ", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "คุณมีการสมัครสมาชิกที่ใช้งานอยู่ผ่าน {store} การลบบัญชีของคุณจะไม่ยกเลิกมัน", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "ยกเลิกการสมัครสมาชิกใน {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "ดำเนินการต่อ", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "เราขอโทษที่เห็นคุณไป คุณแน่ใจหรือว่าต้องการลบบัญชีของคุณ? เมื่อคุณยืนยัน ข้อมูลของคุณจะหายไป", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "ฉันไม่ใช้แอปอีกต่อไป", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "พบสิ่งที่ดีกว่า", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "ปัญหาทางเทคนิค", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "ปัญหาเรื่องการใช้งาน", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "ขาดฟีเจอร์", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "ความกังวลเกี่ยวกับความเป็นส่วนตัว", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "ฉันแค่ต้องการลบข้อมูลของฉัน", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "อื่นๆ", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "แชร์ข้อเสนอแนะแบบของคุณ", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "กำลังลบบัญชีของคุณ...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "กำลังลบ", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "ย้อนกลับ", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "บัญชีของคุณถูกลบแล้ว", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "ไม่สามารถลบบัญชีได้ กรุณาลองอีกครั้ง", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "อีเมลแอปไม่พร้อมใช้งานในอุปกรณ์นี้ กรุณาติดต่อ support@doctorina.com ด้วยตนเอง", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_tl.arb b/example/lib/src/l10n/settings/app_tl.arb new file mode 100644 index 0000000..7e5b445 --- /dev/null +++ b/example/lib/src/l10n/settings/app_tl.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "tl", + "sectionClearAllChatsTitle": "I-clear ang Lahat ng Usapan", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Ito ay permanenteng magbubura ng iyong kasaysayan ng chat.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "I-clear ang Lahat ng Usapan", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "I-clear ang Lahat ng Usapan", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Tanggalin ang Account", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Ang pagtanggal ng iyong account ay isang permanenteng aksyon at hindi maibabalik.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Tanggalin", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Tanggalin ang Account", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Mag-Log Out", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Mag-sign out ka sa iyong account.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Mag-logout", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Magpadala ng Ulat ng Bug", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Mag-send ng mensahe gamit ang [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Mag-send ng mensahe gamit ang [⏎ Enter] at bagong linya gamit ang [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Ipadala gamit ang [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Patakaran sa Privacy", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Wika", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Pumili ng iyong gustong wika para sa interface ng app", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Madilim na mode", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "I-enable ang madilim na mode para sa komportableng karanasan sa pagtingin sa mababang ilaw", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Mga Tala", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Tingnan at pamahalaan ang mga log ng aplikasyon para sa pag-debug", + "@sectionLogsSubtitle": {}, + "doneButton": "Tapos", + "@doneButton": {}, + "bugReportDialogTitle": "Ulat ng Bug", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Pakisabi ang bug na iyong naranasan", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Mag-attach ng mga file", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Nabigong pumili ng mga file", + "@filePickerError": {}, + "emptyBugReportError": "Mangyaring maglagay ng ulat ng bug muna", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Nabigong magpadala ng ulat ng bug", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Pamahalaan ang subscription", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Pamahalaan ang iyong mga setting ng subscription", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptic Feedback", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "I-enable o i-disable ang haptic feedback (panginginig) sa mga suportadong device", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "I-on ang mga notification", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Manatiling updated kapag may mahalagang natagpuan si Doctorina sa iyong mga chat, ulat, o sintomas.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Account", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "App", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Tungkol", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Mga Abiso", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Mga video tutorial", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telepono", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Pangalan", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Nawala ang {count} na mga file dahil sa pagkakapareho sa mga umiiral na file", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Uri", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Paglalarawan", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Mga Kalakip", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Bumagsak", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Isyu sa UI", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Iba", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Ang pagtanggal ng iyong account ay permanenteng aalisin ang iyong data mula sa Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Bago mo tanggalin", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Mayroon kang aktibong subscription sa {store}. Ang pagtanggal ng iyong account ay hindi ito kakanselahin.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "I-cancel ang subscription sa {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Magpatuloy", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Ikinalulungkot naming makita kang umalis. Sigurado ka bang nais mong tanggalin ang iyong account? Kapag nakumpirma mo, mawawala na ang iyong data.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Hindi ko na ginagamit ang app", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Nakahanap ng mas mabuti", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Mga teknikal na isyu", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Mga isyu sa kadalian ng paggamit", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Kulang na mga tampok", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Mga alalahanin sa privacy", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Gusto ko lang linisin ang aking data", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Iba", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Ibahagi ang iyong feedback", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Tinatanggal ang iyong account...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Nagtatanggal", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Bawiin", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Nabura na ang iyong account.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Nabigong tanggalin ang account. Pakisubukan muli.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Walang available na email app sa device na ito. Mangyaring makipag-ugnayan sa support@doctorina.com nang manu-mano.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_tr.arb b/example/lib/src/l10n/settings/app_tr.arb new file mode 100644 index 0000000..4a31e32 --- /dev/null +++ b/example/lib/src/l10n/settings/app_tr.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "tr", + "sectionClearAllChatsTitle": "Tüm Sohbetleri Temizle", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Bu işlem, sohbet geçmişinizi kalıcı olarak silecektir.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Tüm Sohbetleri Temizle", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Tüm Sohbetleri Temizle", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Hesabı Sil", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Hesabınızı silmek kalıcı bir işlemdir ve geri alınamaz.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Sil", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Hesabı Sil", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Çıkış Yap", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Hesabınızdan çıkış yapılacaktır.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Çıkış Yap", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Hata Raporu Gönder", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Mesajı [⏎ Enter] ile gönder", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Bir mesaj göndermek için [⏎ Enter] tuşuna, yeni satır için [Shift] + [⏎ Enter] tuşlarına basın", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "[⏎ Enter] ile gönder", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Gizlilik Politikası", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Dil", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Uygulama arayüzü için tercih ettiğiniz dili seçin", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Koyu mod", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Düşük ışık koşullarında konforlu bir görüntüleme deneyimi için karanlık modu etkinleştirin", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Günlükler", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Hata ayıklama için uygulama günlüklerini görüntüleyin ve yönetin", + "@sectionLogsSubtitle": {}, + "doneButton": "Bitti", + "@doneButton": {}, + "bugReportDialogTitle": "Hata Bildirimi", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Lütfen karşılaştığınız hatayı açıklayın", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Dosyaları ekle", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Dosyalar seçilemedi", + "@filePickerError": {}, + "emptyBugReportError": "Lütfen önce bir hata raporu girin", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Hata raporu gönderilemedi", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Aboneliği yönet", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Abonelik ayarlarınızı yönetin", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Dokunsal Geri Bildirim", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Desteklenen cihazlarda dokunsal geri bildirimi (titreşim) etkinleştirin veya devre dışı bırakın", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Bildirimleri aç", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Doctorina, sohbetlerinizde, raporlarınızda veya semptomlarınızda önemli bir şey bulduğunda güncel kalın.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Hesap", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Uygulama", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Hakkında", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Bildirimler", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video eğitimleri", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "E-posta", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "İsim", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Mevcut dosyalarla çakıştığı için {count} dosya atlandı", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Tür", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Açıklama", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Ekler", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Hata", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Çökme", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Kullanıcı Arayüzü sorunu", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Diğer", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Hesabınızı silmek, verilerinizi Doctorina'dan kalıcı olarak kaldıracaktır.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Silmeden önce", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "{store} üzerinden aktif bir aboneliğiniz var. Hesabınızı silmek bunu iptal etmeyecektir.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store}'da aboneliği iptal et", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Devam et", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Sizi gittiğinizi görmekten üzgünüz. Hesabınızı silmek istediğinizden emin misiniz? Onayladıktan sonra verileriniz silinecek.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Artık uygulamayı kullanmıyorum", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Daha iyi bir şey buldum", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Teknik sorunlar", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Kullanım kolaylığı sorunları", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Eksik özellikler", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Gizlilik endişeleri", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Verilerimi temizlemek istedim", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Diğer", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Geri bildiriminizi paylaşın", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Hesabınızı siliyoruz...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Siliniyor", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Geri Al", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Hesabınız silindi.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Hesap silme işlemi başarısız oldu. Lütfen tekrar deneyin.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Bu cihazda e-posta uygulaması mevcut değil. Lütfen support@doctorina.com adresine manuel olarak ulaşın.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_uk.arb b/example/lib/src/l10n/settings/app_uk.arb new file mode 100644 index 0000000..a7ab5e5 --- /dev/null +++ b/example/lib/src/l10n/settings/app_uk.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "uk", + "sectionClearAllChatsTitle": "Очистити всі чати", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Це назавжди видалить вашу історію чату.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Очистити всі чати", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Очистити всі чати", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Видалити обліковий запис", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Видалення вашого облікового запису є постійною дією і не може бути скасовано.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Видалити", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Видалити обліковий запис", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Вийти", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Ви вийдете зі свого облікового запису.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Вийти", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Надіслати звіт про помилку", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Надіслати повідомлення з [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Надіслати повідомлення за допомогою [⏎ Enter] і новий рядок за допомогою [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Відправити з [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Політика конфіденційності", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Мова", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Виберіть бажану мову для інтерфейсу додатку", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Темний режим", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Увімкніть темний режим для комфортного перегляду в умовах низького освітлення", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Журнали", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Перегляньте та керуйте журналами додатку для налагодження", + "@sectionLogsSubtitle": {}, + "doneButton": "Готово", + "@doneButton": {}, + "bugReportDialogTitle": "Повідомлення про помилку", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Будь ласка, опишіть помилку, з якою ви зіткнулися", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Прикріпити файли", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Не вдалося вибрати файли", + "@filePickerError": {}, + "emptyBugReportError": "Будь ласка, спочатку введіть звіт про помилку", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Не вдалося надіслати звіт про помилку", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Керувати підпискою", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Управляйте налаштуваннями підписки", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Тактильний відгук", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Увімкніть або вимкніть тактильний відгук (вібрацію) на підтримуваних пристроях", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Увімкнути сповіщення", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Залишайтеся в курсі, коли Doctorina знаходить щось важливе у ваших чатах, звітах або симптомах.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Обліковий запис", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Додаток", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Про нас", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Сповіщення", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Відеоуроки", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Телефон", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Електронна пошта", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Ім'я", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Пропущено {count} файлів через дублікат з існуючими файлами", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Тип", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Опис", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Вкладення", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Баг", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Збій", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Проблема з інтерфейсом", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Інше", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Видалення вашого облікового запису назавжди видалить ваші дані з Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Перед видаленням", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "У вас є активна підписка через {store}. Видалення вашого облікового запису не скасує її.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Скасувати підписку в {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Продовжити", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Нам шкода вас бачити. Ви впевнені, що хочете видалити свій акаунт? Після підтвердження ваші дані зникнуть.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Я більше не користуюсь додатком", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Знайшлося щось краще", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Технічні проблеми", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Проблеми з використанням", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Бракує функцій", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Проблеми з конфіденційністю", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Я просто хочу видалити свої дані", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Інше", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Поділіться своїм відгуком", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Видалення вашого облікового запису...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Видалення", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Скасувати", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Ваш обліковий запис було видалено.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Не вдалося видалити обліковий запис. Спробуйте ще раз.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "На цьому пристрої немає доступного поштового додатку. Будь ласка, зв'яжіться з support@doctorina.com вручну.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_ur.arb b/example/lib/src/l10n/settings/app_ur.arb new file mode 100644 index 0000000..bb2ec0f --- /dev/null +++ b/example/lib/src/l10n/settings/app_ur.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "ur", + "sectionClearAllChatsTitle": "تمام چیٹس صاف کریں", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "یہ آپ کی چیٹ ہسٹری کو مستقل طور پر حذف کر دے گا.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "تمام چیٹس صاف کریں", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "تمام چیٹس صاف کریں", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "اکاؤنٹ حذف کریں", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "آپ کا اکاؤنٹ حذف کرنا ایک مستقل عمل ہے اور اسے واپس نہیں لیا جا سکتا.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "حذف", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "اکاؤنٹ حذف کریں", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "سائن آؤٹ", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "آپ اپنے اکاؤنٹ سے لاگ آؤٹ ہو جائیں گے.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "لاگ آؤٹ", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "بگ رپورٹ بھیجیں", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "پیغام [⏎ Enter] کے ساتھ بھیجیں", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "پیغام بھیجنے کے لیے [⏎ Enter] اور نئی لائن کے لیے [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "بھیجیں [⏎ Enter] کے ساتھ", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "رازداری کی پالیسی", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "زبان", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "اپلیکیشن انٹرفیس کے لیے اپنی پسندیدہ زبان منتخب کریں", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "ڈارک موڈ", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "کم روشنی میں آرام دہ دیکھنے کے لیے ڈارک موڈ فعال کریں", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "لاگز", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "ڈی بگنگ کے لیے درخواست کے لاگز دیکھیں اور منظم کریں", + "@sectionLogsSubtitle": {}, + "doneButton": "ہو گیا", + "@doneButton": {}, + "bugReportDialogTitle": "بگ رپورٹ", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "براہ کرم اس بگ کی وضاحت کریں جس کا آپ کو سامنا ہوا", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "فائلیں منسلک کریں", + "@attachFilesButtonTooltip": {}, + "filePickerError": "فائل منتخب کرنے میں ناکام", + "@filePickerError": {}, + "emptyBugReportError": "براہ مہربانی پہلے بگ رپورٹ درج کریں", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "بگ رپورٹ بھیجنے میں ناکام", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "رکنیت کا انتظام کریں", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "اپنی سبسکرپشن ترتیبات کا انتظام کریں", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "ہپٹک فیڈبیک", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "سپورٹڈ ڈیوائسز پر ہیپٹک فیڈ بیک (کمپن) کو فعال یا غیر فعال کریں", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "نوٹیفکیشن آن کریں", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "جب آپ کے چیٹس، رپورٹس، یا علامات میں ڈاکٹرینا کچھ اہم تلاش کرے تو اپ ڈیٹ رہیں۔", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "اکاؤنٹ", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "ایپ", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "کے بارے میں", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "نوٹیفیکیشن", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "ویڈیو ٹیوٹوریلز", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "فون", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "ای میل", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "نام", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "{count} فائلیں موجودہ فائلز کے ساتھ ڈپلیکیٹ ہونے کی وجہ سے چھوڑ دی گئیں", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "قسم", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "تفصیل", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "منسلکات", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "بگ", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "کریش", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "یو آئی کا مسئلہ", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "دیگر", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "اپنا اکاؤنٹ حذف کرنے سے آپ کا ڈیٹا Doctorina سے مستقل طور پر ہٹا دیا جائے گا۔", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "حذف کرنے سے پہلے", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "آپ کے پاس {store} کے ذریعے ایک فعال سبسکرپشن ہے۔ اپنے اکاؤنٹ کو حذف کرنے سے یہ منسوخ نہیں ہوگا۔", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "سبسکرپشن منسوخ کریں {store} میں", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "جاری رکھیں", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "ہمیں افسوس ہے کہ آپ جا رہے ہیں۔ کیا آپ واقعی اپنا اکاؤنٹ حذف کرنا چاہتے ہیں؟ ایک بار جب آپ تصدیق کر لیں گے، آپ کا ڈیٹا ختم ہو جائے گا۔", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "میں اب ایپ کا استعمال نہیں کرتا", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "بہتر چیز ملی", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "تکنیکی مسائل", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "استعمال میں مشکلات", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "خصوصیات کی کمی", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "پرائیویسی کے خدشات", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "میں صرف اپنے ڈیٹا کو صاف کرنا چاہتا تھا", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "دیگر", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "اپنی رائے کا اشتراک کریں", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "آپ کا اکاؤنٹ حذف کیا جا رہا ہے...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "حذف کر رہا ہے", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "واپس لیں", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "آپ کا اکاؤنٹ حذف کر دیا گیا ہے۔", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "اکاؤنٹ حذف کرنے میں ناکامی۔ براہ کرم دوبارہ کوشش کریں۔", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "اس ڈیوائس پر کوئی ای میل ایپ دستیاب نہیں ہے۔ براہ کرم support@doctorina.com پر دستی طور پر رابطہ کریں۔", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_uz.arb b/example/lib/src/l10n/settings/app_uz.arb new file mode 100644 index 0000000..391e35c --- /dev/null +++ b/example/lib/src/l10n/settings/app_uz.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "uz", + "sectionClearAllChatsTitle": "Barcha suhbatlarni tozalash", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Bu sizning chat tarixingizni doimiy ravishda o'chirib tashlaydi.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Barcha suhbatlarni tozalash", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Barcha chatlarni tozalash", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Hisobni o'chirish", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Hisobingizni o'chirish doimiy amal bo'lib, qaytarib bo'lmaydi.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "O'chirish", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Hisobni o'chirish", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Chiqish", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Siz hisobingizdan chiqasiz.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Chiqish", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Xatolik hisobotini yuborish", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Xabar yuborish [⏎ Enter] bilan", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Xabar yuboring [⏎ Enter] yordamida va yangi qator uchun [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Yuborish [⏎ Enter] bilan", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Maxfiylik siyosati", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Til", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Ilova interfeysi uchun afzal tilingizni tanlang", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Qorong'u rejim", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Past yorug'likda qulay ko‘rish tajribasi uchun qorong‘i rejimni yoqing", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Loglar", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Nosozliklarni aniqlash uchun dastur loglarini ko'rish va boshqarish", + "@sectionLogsSubtitle": {}, + "doneButton": "Bajarildi", + "@doneButton": {}, + "bugReportDialogTitle": "Xato hisobot", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Iltimos, duch kelgan xatoni tasvirlab bering", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Fayllarni ilova qilish", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Fayllarni tanlab bo‘lmadi", + "@filePickerError": {}, + "emptyBugReportError": "Iltimos, avval xatolik hisobotini kiriting", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Bug hisobotini yuborishda muvaffaqiyatsiz bo'ldi", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Obunani boshqarish", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Obunangiz sozlamalarini boshqaring", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Haptik javob", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Qo'llab-quvvatlanadigan qurilmalarda haptik javob (tebranish) ni yoqing yoki o'chiring", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Bildirishnomalarni yoqish", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Doktorina sizning suhbatlaringizda, hisobotlaringizda yoki simptomlaringizda muhim biror narsa topganda yangilaning", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Hisob", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Ilova", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Haqida", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Bildirishnomalar", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video darslar", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Telefon", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Elektron pochta", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Ism", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "{count} ta fayl mavjud fayllar bilan takrorlanishi sababli o‘tkazib yuborildi", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Tur", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Tavsif", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Ilovalar", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Xato", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Qayta ishga tushish", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "UI muammosi", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Boshqa", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Hisobingizni o'chirish Doctorina'dan ma'lumotlaringizni doimiy ravishda olib tashlaydi", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "O'chirishdan oldin", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Sizda {store} orqali faol obuna mavjud. Hisobingizni o'chirish uni bekor qilmaydi.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "{store}da obunani bekor qilish", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Davom etish", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Sizni yo‘qotayotganimizdan afsusdamiz. Hisobingizni o‘chirishni xohlaysizmi? Tasdiqlaganingizdan so‘ng, ma’lumotlaringiz yo‘qoladi.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Men endi ilovadan foydalanmayman", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Yaxshiroq variant topdim", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Texnik muammolar", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Foydalanish muammolari", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Xususiyatlar yetishmayapti", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Shaxsiy hayotga oid xavotirlar", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Men faqat ma'lumotlarimni tozalamoqchi edim", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Boshqa", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Fikrlaringizni baham ko'ring", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Hisobingiz o'chirilmoqda...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "O'chirilmoqda", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Qaytarish", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Hisobingiz o'chirildi", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Hisobni o'chirishda xato. Iltimos, qayta urinib ko'ring.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Ushbu qurilmada hech qanday elektron pochta ilovasi mavjud emas. Iltimos, support@doctorina.com manziliga qo'lda murojaat qiling.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_vi.arb b/example/lib/src/l10n/settings/app_vi.arb new file mode 100644 index 0000000..75fde85 --- /dev/null +++ b/example/lib/src/l10n/settings/app_vi.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "vi", + "sectionClearAllChatsTitle": "Xóa tất cả cuộc trò chuyện", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Điều này sẽ xóa vĩnh viễn lịch sử trò chuyện của bạn.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Xóa tất cả các cuộc trò chuyện", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Xóa tất cả cuộc trò chuyện", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Xóa Tài Khoản", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Xóa tài khoản của bạn là hành động vĩnh viễn và không thể hoàn tác.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Xóa", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Xóa Tài Khoản", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Đăng xuất", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Bạn sẽ được đăng xuất khỏi tài khoản của mình.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Đăng xuất", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Gửi báo cáo lỗi", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Gửi tin nhắn với [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Gửi tin nhắn bằng [⏎ Enter] và xuống dòng mới với [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Gửi với [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Chính sách bảo mật", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Ngôn ngữ", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Chọn ngôn ngữ ưu thích cho giao diện ứng dụng", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Chế độ tối", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Bật chế độ tối để có trải nghiệm xem thoải mái trong ánh sáng yếu", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Nhật ký", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Xem và quản lý nhật ký ứng dụng để gỡ lỗi", + "@sectionLogsSubtitle": {}, + "doneButton": "Xong", + "@doneButton": {}, + "bugReportDialogTitle": "Báo cáo lỗi", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Vui lòng mô tả lỗi bạn gặp phải", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Đính kèm tệp", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Không chọn được tệp", + "@filePickerError": {}, + "emptyBugReportError": "Vui lòng nhập báo cáo lỗi trước", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Không gửi được báo cáo lỗi", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Quản lý đăng ký", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Quản lý cài đặt đăng ký của bạn", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Phản hồi rung", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Bật hoặc tắt phản hồi rung (vibration) trên các thiết bị hỗ trợ", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Bật thông báo", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Cập nhật khi Doctorina tìm thấy điều gì đó quan trọng trong các cuộc trò chuyện, báo cáo hoặc triệu chứng của bạn", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "Tài khoản", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Ứng dụng", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Về", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Thông báo", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Video tutorials", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Điện thoại", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "Email", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Tên", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Bỏ qua {count} tệp do trùng lặp với các tệp hiện có", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Loại", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Mô tả", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Tệp đính kèm", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Lỗi", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Sập", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Vấn đề giao diện người dùng", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Khác", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Xóa tài khoản của bạn sẽ xóa vĩnh viễn dữ liệu của bạn khỏi Doctorina", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Trước khi bạn xóa", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Bạn có một đăng ký hoạt động qua {store}. Việc xóa tài khoản của bạn sẽ không hủy bỏ nó.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Hủy đăng ký trong {store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Tiếp tục", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Chúng tôi rất tiếc khi thấy bạn ra đi. Bạn có chắc chắn muốn xóa tài khoản của mình không? Khi bạn xác nhận, dữ liệu của bạn sẽ biến mất.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Tôi không sử dụng ứng dụng nữa", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Tìm thấy cái gì đó tốt hơn", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Vấn đề kỹ thuật", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Vấn đề về tính dễ sử dụng", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Thiếu tính năng", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Lo ngại về quyền riêng tư", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Tôi chỉ muốn xóa dữ liệu của mình", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Khác", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Chia sẻ phản hồi của bạn", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Đang xóa tài khoản của bạn...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Đang xóa", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Hoàn tác", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "Tài khoản của bạn đã được xóa.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Xóa tài khoản không thành công. Vui lòng thử lại.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Không có ứng dụng email nào trên thiết bị này. Vui lòng liên hệ với support@doctorina.com một cách thủ công.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_zh.arb b/example/lib/src/l10n/settings/app_zh.arb new file mode 100644 index 0000000..4bdfe9e --- /dev/null +++ b/example/lib/src/l10n/settings/app_zh.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "zh", + "sectionClearAllChatsTitle": "清除所有聊天", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "这将永久删除您的聊天记录.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "清除所有聊天", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "清除所有聊天", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "删除账户", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "删除您的账户是永久性的操作,无法撤销。", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "删除", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "删除账户", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "退出", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "您将退出您的账户.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "退出", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "发送错误报告", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "按 [⏎ Enter] 发送消息", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "使用[⏎ Enter]发送消息,使用[Shift] + [⏎ Enter]换行", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "使用 [⏎ Enter] 发送", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "隐私政策", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "语言", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "选择您偏好的应用界面语言", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "暗黑模式", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "在低光环境中启用暗模式以获得舒适的观看体验", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "日志", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "查看和管理应用日志以进行调试", + "@sectionLogsSubtitle": {}, + "doneButton": "完成", + "@doneButton": {}, + "bugReportDialogTitle": "错误报告", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "请描述您遇到的错误", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "附加文件", + "@attachFilesButtonTooltip": {}, + "filePickerError": "无法选择文件", + "@filePickerError": {}, + "emptyBugReportError": "请先输入错误报告", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "无法发送错误报告", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "管理订阅", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "管理您的订阅设置", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "触觉反馈", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "在支持的设备上启用或禁用触觉反馈(振动)", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "开启通知", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "当Doctorina在您的聊天、报告或症状中发现重要信息时,请保持更新。", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "账户", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "应用", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "关于", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "通知", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "视频教程", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "电话", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "电子邮件", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "姓名", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "由于与现有文件重复,跳过了 {count} 个文件", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "类型", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "描述", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "附件", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "崩溃", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "用户界面问题", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "其他", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "删除您的账户将永久删除您在Doctorina上的数据。", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "在您删除之前", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "您通过 {store} 拥有一个活跃的订阅。删除您的账户不会取消它。", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "在{store}取消订阅", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "继续", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "我们很遗憾看到您离开。您确定要删除您的账户吗?一旦您确认,您的数据将被删除。", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "我不再使用这个应用", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "找到了更好的选择", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "技术问题", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "使用问题", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "缺少功能", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "隐私问题", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "我只是想清除我的数据", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "其他", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "分享您的反馈", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "正在删除您的账户...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "正在删除", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "撤销", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "您的账户已被删除。", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "删除账户失败。请再试一次。", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "此设备上没有可用的电子邮件应用程序。请手动联系support@doctorina.com。", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_zh_CN.arb b/example/lib/src/l10n/settings/app_zh_CN.arb new file mode 100644 index 0000000..296be98 --- /dev/null +++ b/example/lib/src/l10n/settings/app_zh_CN.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "zh_CN", + "sectionClearAllChatsTitle": "清除所有聊天", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "这将永久删除您的聊天记录.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "清除所有聊天", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "清除所有聊天", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "删除账户", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "删除您的账户是永久性的操作,无法撤销。", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "删除", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "删除账户", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "退出", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "您将退出您的账户.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "退出", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "发送错误报告", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "按 [⏎ Enter] 发送消息", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "使用[⏎ Enter]发送消息,使用[Shift] + [⏎ Enter]换行", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "使用 [⏎ Enter] 发送", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "隐私政策", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "语言", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "选择您偏好的应用界面语言", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "暗黑模式", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "在低光环境中启用暗模式以获得舒适的观看体验", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "日志", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "查看和管理应用日志以进行调试", + "@sectionLogsSubtitle": {}, + "doneButton": "完成", + "@doneButton": {}, + "bugReportDialogTitle": "错误报告", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "请描述您遇到的错误", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "附加文件", + "@attachFilesButtonTooltip": {}, + "filePickerError": "无法选择文件", + "@filePickerError": {}, + "emptyBugReportError": "请先输入错误报告", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "无法发送错误报告", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "管理订阅", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "管理您的订阅设置", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "触觉反馈", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "在支持的设备上启用或禁用触觉反馈(振动)", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "开启通知", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "当Doctorina在您的聊天、报告或症状中发现重要信息时,请保持更新。", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "账户", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "应用", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "关于", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "通知", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "视频教程", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "电话", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "电子邮件", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "姓名", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "由于与现有文件重复,跳过了 {count} 个文件", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "类型", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "描述", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "附件", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Bug", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "崩溃", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "用户界面问题", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "其他", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "删除您的账户将永久删除您在Doctorina上的数据。", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "在您删除之前", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "您通过 {store} 拥有一个活跃的订阅。删除您的账户不会取消它。", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "在{store}取消订阅", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "继续", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "我们很遗憾看到您离开。您确定要删除您的账户吗?一旦您确认,您的数据将被删除。", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "我不再使用这个应用", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "找到了更好的选择", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "技术问题", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "使用问题", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "缺少功能", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "隐私问题", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "我只是想清除我的数据", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "其他", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "分享您的反馈", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "正在删除您的账户...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "正在删除", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "撤销", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "您的账户已被删除。", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "删除账户失败。请再试一次。", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "此设备上没有可用的电子邮件应用程序。请手动联系support@doctorina.com。", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_zh_HK.arb b/example/lib/src/l10n/settings/app_zh_HK.arb new file mode 100644 index 0000000..b5a5038 --- /dev/null +++ b/example/lib/src/l10n/settings/app_zh_HK.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "zh_HK", + "sectionClearAllChatsTitle": "清除所有對話", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "呢個會永久刪除你嘅對話記錄.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "清除所有對話", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "清除所有對話", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "刪除帳戶", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "刪除你嘅帳戶係永久性操作,無法還原.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "刪除", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "刪除帳戶", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "登出", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "你將會登出你嘅帳戶.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "登出", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "發送Bug報告", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "用 [⏎ Enter] 發送訊息", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "用 [⏎ Enter] 發送訊息,而用 [Shift] + [⏎ Enter] 換行", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "使用 [⏎ Enter] 發送", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "私隱政策", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "語言", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "揀選你鍾意嘅應用程式界面語言", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "深色模式", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "開啟暗色模式,令您喺弱光環境下享受舒適瀏覽體驗", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "日誌", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "睇同管理應用程式嘅日誌用嚟偵錯", + "@sectionLogsSubtitle": {}, + "doneButton": "完成", + "@doneButton": {}, + "bugReportDialogTitle": "錯誤回報", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "請描述您遇到嘅bug", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "附上檔案", + "@attachFilesButtonTooltip": {}, + "filePickerError": "揀唔到檔案", + "@filePickerError": {}, + "emptyBugReportError": "請先輸入bug報告", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "發送錯誤回報失敗", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "管理訂閱", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "管理你的訂閱設定", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "觸覺反饋", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "喺支援嘅裝置上啟用或停用觸覺反饋(震動)", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "開啟通知", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "當 Doctorina 在您的聊天、報告或症狀中發現重要信息時,保持更新。", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "帳戶", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "應用程式", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "關於", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "通知", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "視頻教程", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "電話", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "電子郵件", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "姓名", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "因與現有文件重複而跳過 {count} 個文件", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "類型", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "描述", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "附件", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "錯誤", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "崩潰", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "界面問題", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "其他", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "刪除您的帳戶將永久刪除您在Doctorina的數據", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "在您刪除之前", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "您在 {store} 有一個活躍的訂閱。刪除您的帳戶不會取消它。", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "在 {store} 取消訂閱", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "繼續", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "我們很遺憾看到你離開。你確定要刪除你的帳戶嗎?一旦你確認,你的數據將會消失。", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "我不再使用這個應用程式", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "找到更好的選擇", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "技術問題", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "使用問題", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "缺少功能", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "隱私問題", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "我只是想清除我的數據", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "其他", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "分享您的意見", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "正在刪除您的帳戶...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "刪除中", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "撤銷", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "您的帳戶已被刪除。", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "刪除帳戶失敗。請再試一次。", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "此設備上沒有可用的電子郵件應用程式。請手動聯繫support@doctorina.com。", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/settings/app_zu.arb b/example/lib/src/l10n/settings/app_zu.arb new file mode 100644 index 0000000..1cbcdd4 --- /dev/null +++ b/example/lib/src/l10n/settings/app_zu.arb @@ -0,0 +1,283 @@ +{ + "@@locale": "zu", + "sectionClearAllChatsTitle": "Susa Zonke Izingxoxo", + "@sectionClearAllChatsTitle": { + "description": "Заголовок карточки" + }, + "sectionClearAllChatsSubtitle": "Lokhu kuzokhipha umlando wakho wezokuxhumana.", + "@sectionClearAllChatsSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionClearAllChatsButton": "Susa Zonke Izingxoxo", + "@sectionClearAllChatsButton": { + "description": "Надпись на кнопке" + }, + "sectionClearAllChatsEmailTheme": "Susa Zonke Izingxoxo", + "@sectionClearAllChatsEmailTheme": { + "description": "Тема e-mail письма" + }, + "sectionDeleteAccountTitle": "Susa i-akhawunti", + "@sectionDeleteAccountTitle": { + "description": "Заголовок карточки" + }, + "sectionDeleteAccountSubtitle": "Ukususa i-akhawunti yakho kuyisenzo esingapheli futhi akukwazi ukubuyiselwa.", + "@sectionDeleteAccountSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionDeleteAccountButton": "Susa", + "@sectionDeleteAccountButton": { + "description": "Надпись на кнопке" + }, + "sectionDeleteAccountTheme": "Susa i-akhawunti", + "@sectionDeleteAccountTheme": { + "description": "Тема e-mail письма" + }, + "sectionLogOutTitle": "Phuma", + "@sectionLogOutTitle": { + "description": "Заголовок карточки" + }, + "sectionLogOutSubtitle": "Uzophuma kwi-akhawunti yakho.", + "@sectionLogOutSubtitle": { + "description": "Подзаголовок карточки" + }, + "sectionLogOutButton": "Phuma", + "@sectionLogOutButton": { + "description": "Надпись на кнопке" + }, + "sendBugReportButton": "Thumela Umbiko Wokuhluleka", + "@sendBugReportButton": {}, + "sectionSendMessageWithEnterTitle": "Thumela umlayezo nge [⏎ Enter]", + "@sectionSendMessageWithEnterTitle": { + "description": "Отправить сообщение с [⏎ Enter]" + }, + "sectionSendMessageWithEnterSubtitle": "Thumela umlayezo nge [⏎ Enter] bese ufaka umugqa omusha nge [Shift] + [⏎ Enter]", + "@sectionSendMessageWithEnterSubtitle": { + "description": "Отправьте сообщение с [⏎ Enter] и новую строку с [Shift] + [⏎ Enter]" + }, + "sectionSendMessageEnter": "Thumela nge [⏎ Enter]", + "@sectionSendMessageEnter": { + "description": "Короткий текст для опции отправить сообщение с [⏎ Enter]" + }, + "sectionPrivacyPolicy": "Inqubomgomo Yokuvikela", + "@sectionPrivacyPolicy": { + "description": "Короткий текст для секции политики конфиденциальности" + }, + "sectionSelectLocaleTitle": "Ulimi", + "@sectionSelectLocaleTitle": {}, + "sectionSelectLocaleSubtitle": "Khetha ulimi oluthandayo lwe-interface ye-app", + "@sectionSelectLocaleSubtitle": {}, + "sectionSwitchThemeTitle": "Imodi emnyama", + "@sectionSwitchThemeTitle": {}, + "sectionSwitchThemeSubtitle": "Vula imodi emnyama ukuze uthole isipiliyoni sokubuka esikahle ezimeni zokukhanya eziphansi", + "@sectionSwitchThemeSubtitle": {}, + "sectionLogsTitle": "Amalogi", + "@sectionLogsTitle": {}, + "sectionLogsSubtitle": "Bheka futhi uphathe ama-log wesicelo ukuze uthole izinkinga", + "@sectionLogsSubtitle": {}, + "doneButton": "Qed", + "@doneButton": {}, + "bugReportDialogTitle": "Umbiko Wokuhlola", + "@bugReportDialogTitle": {}, + "bugReportDialogHintText": "Sicela uchaze ngempela oyitholile", + "@bugReportDialogHintText": {}, + "attachFilesButtonTooltip": "Faka amafayela", + "@attachFilesButtonTooltip": {}, + "filePickerError": "Ukuphumelela ukukhetha amafayela akwehlulekile", + "@filePickerError": {}, + "emptyBugReportError": "Sicela ufakele umbiko wephutha kuqala", + "@emptyBugReportError": {}, + "failedToSendBugReportError": "Ukuthumela umbiko wephutha akuphumelelanga", + "@failedToSendBugReportError": {}, + "sectionManageSubscriptionTitle": "Phatha ubhaliso", + "@sectionManageSubscriptionTitle": {}, + "sectionManageSubscriptionSubtitle": "Phatha izilungiselelo zakho zokubhalisela", + "@sectionManageSubscriptionSubtitle": {}, + "sectionHapticFeedbackTitle": "Ihaptik feedback", + "@sectionHapticFeedbackTitle": {}, + "sectionHapticFeedbackSubtitle": "Vula noma uvalele haptic feedback (ukushaya) kumadivayisi asekelwayo", + "@sectionHapticFeedbackSubtitle": {}, + "sectionNotificationTitle": "Vula izaziso", + "@sectionNotificationTitle": { + "description": "Включить пуш уведомления" + }, + "sectionNotificationSubtitle": "Hlala unolwazi uma uDoctorina ethola okuthile okubalulekile ezingxoxweni zakho, imibiko, noma izimpawu.", + "@sectionNotificationSubtitle": { + "description": "Включить пуш уведомления для приложения" + }, + "sectionAccountTitle": "I-akhawunti", + "@sectionAccountTitle": { + "description": "Заголовок секции аккаунта на экране настроек" + }, + "sectionAppTitle": "Uhlelo", + "@sectionAppTitle": { + "description": "Заголовок секции приложения на экране настроек" + }, + "sectionAboutTitle": "Mayelana", + "@sectionAboutTitle": { + "description": "Заголовок секции информации на экране настроек" + }, + "sectionNotificationsTitle": "Izaziso", + "@sectionNotificationsTitle": { + "description": "Название пункта настроек уведомлений" + }, + "sectionVideoTutorialsTitle": "Izifundo zevidiyo", + "@sectionVideoTutorialsTitle": { + "description": "Название пункта с видеоуроками" + }, + "accountPhoneLabel": "Ucingo", + "@accountPhoneLabel": { + "description": "Лейбл телефона в информации аккаунта" + }, + "accountEmailLabel": "I-imeyili", + "@accountEmailLabel": { + "description": "Лейбл email в информации аккаунта" + }, + "accountNameLabel": "Igama", + "@accountNameLabel": { + "description": "Лейбл имени в информации аккаунта" + }, + "appVersionLabel": "Doctorina v{version}", + "@appVersionLabel": { + "description": "Версия приложения на экране настроек", + "placeholders": { + "version": { + "type": "String", + "example": "2.3.1" + } + } + }, + "duplicateAttachmentFilesError": "Kushiywe amafayela angu-{count} ngenxa yokuphindaphinda namafayela akhona", + "@duplicateAttachmentFilesError": { + "description": "Сообщение о пропущенных дубликатах файлов в диалоге отчета об ошибке", + "placeholders": { + "count": { + "type": "String", + "example": "2" + } + } + }, + "bugReportTypeSectionLabel": "Uhlobo", + "@bugReportTypeSectionLabel": { + "description": "Заголовок секции выбора типа отчета об ошибке" + }, + "bugReportDescriptionSectionLabel": "Incazelo", + "@bugReportDescriptionSectionLabel": { + "description": "Заголовок поля описания в диалоге отчета об ошибке" + }, + "bugReportAttachmentsSectionLabel": "Izithombe", + "@bugReportAttachmentsSectionLabel": { + "description": "Заголовок секции вложений в диалоге отчета об ошибке" + }, + "bugReportTypeBug": "Ibhakede", + "@bugReportTypeBug": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeCrash": "Ukwehliswa", + "@bugReportTypeCrash": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeUiIssue": "Inkingi ye-UI", + "@bugReportTypeUiIssue": { + "description": "Вариант типа отчета об ошибке" + }, + "bugReportTypeOther": "Okunye", + "@bugReportTypeOther": { + "description": "Вариант типа отчета об ошибке" + }, + "deleteAccountWarningMessage": "Ukususa i-akhawunti yakho kuzokwenza ukuthi idatha yakho isuswe ngokuphelele ku-Doctorina.", + "@deleteAccountWarningMessage": { + "description": "Предупреждение на экране удаления аккаунта о безвозвратном удалении данных" + }, + "deleteAccountBeforeYouDeleteTitle": "Ngaphambi kokususa", + "@deleteAccountBeforeYouDeleteTitle": { + "description": "Подзаголовок блока «Перед удалением» на экране удаления аккаунта" + }, + "deleteAccountActiveSubscriptionNotice": "Unesiphakeli esebenzisa {store}. Ukususa i-akhawunti yakho ngeke kukhanseli.", + "@deleteAccountActiveSubscriptionNotice": { + "description": "Уведомление, что удаление аккаунта не отменит активную подписку в сторе", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountCancelSubscriptionLink": "Khansela ubhaliso ku-{store}", + "@deleteAccountCancelSubscriptionLink": { + "description": "Ссылка отмены подписки в сторе на экране удаления аккаунта", + "placeholders": { + "store": { + "type": "String", + "example": "App Store" + } + } + }, + "deleteAccountContinueButton": "Qhubeka", + "@deleteAccountContinueButton": { + "description": "Кнопка «Continue» на экране удаления аккаунта" + }, + "deleteAccountFormDescription": "Siyaxolisa ukukubona uhamba. Uqinisekile ukuthi ufuna ukususa i-akhawunti yakho? Uma uqinisekisa, idatha yakho izophela.", + "@deleteAccountFormDescription": { + "description": "Вступительный текст на экране выбора причины удаления аккаунта" + }, + "deleteAccountReasonDontUseAnymore": "Angisasebenzisi uhlelo lokusebenza", + "@deleteAccountReasonDontUseAnymore": { + "description": "Причина удаления: больше не пользуюсь приложением" + }, + "deleteAccountReasonFoundBetter": "Thole into engcono", + "@deleteAccountReasonFoundBetter": { + "description": "Причина удаления: нашёл вариант лучше" + }, + "deleteAccountReasonTechnicalIssues": "Izinkinga zobuchwepheshe", + "@deleteAccountReasonTechnicalIssues": { + "description": "Причина удаления: технические проблемы" + }, + "deleteAccountReasonEaseOfUse": "Izinkinga zokusebenzisa", + "@deleteAccountReasonEaseOfUse": { + "description": "Причина удаления: неудобно пользоваться" + }, + "deleteAccountReasonMissingFeatures": "Izici ezikhona", + "@deleteAccountReasonMissingFeatures": { + "description": "Причина удаления: не хватает функций" + }, + "deleteAccountReasonPrivacy": "Ukukhathazeka ngasese", + "@deleteAccountReasonPrivacy": { + "description": "Причина удаления: беспокойство о приватности" + }, + "deleteAccountReasonClearData": "Ngifuna nje ukusula idatha yami", + "@deleteAccountReasonClearData": { + "description": "Причина удаления: просто хотел очистить свои данные" + }, + "deleteAccountReasonOther": "Okunye", + "@deleteAccountReasonOther": { + "description": "Причина удаления: другое" + }, + "deleteAccountFeedbackHint": "Yabelana ngombono wakho", + "@deleteAccountFeedbackHint": { + "description": "Плейсхолдер поля обратной связи на экране удаления аккаунта" + }, + "deleteAccountProgressMessage": "Ukususa i-akhawunti yakho...", + "@deleteAccountProgressMessage": { + "description": "Сообщение во время выполнения удаления аккаунта" + }, + "deleteAccountDeletingButton": "Ukususa", + "@deleteAccountDeletingButton": { + "description": "Состояние кнопки во время удаления аккаунта" + }, + "deleteAccountUndoButton": "Buyisela", + "@deleteAccountUndoButton": { + "description": "Кнопка отмены удаления во время обратного отсчёта" + }, + "deleteAccountSuccessToast": "I-akhawunti yakho isuswe.", + "@deleteAccountSuccessToast": { + "description": "Тост об успешном удалении аккаунта" + }, + "deleteAccountErrorToast": "Ukuphuma kwe-akhawunti kwehlulekile. Sicela uzame futhi.", + "@deleteAccountErrorToast": { + "description": "Тост об ошибке удаления аккаунта" + }, + "emailClientUnavailableToast": "Ayikho i-app ye-imeyili etholakalayo kulolu divayisi. Sicela uxhumane ne-support@doctorina.com ngesandla.", + "@emailClientUnavailableToast": { + "description": "Тост, если не удалось открыть почтовый клиент" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_af.arb b/example/lib/src/l10n/sign_up/app_af.arb new file mode 100644 index 0000000..130208e --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_af.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "af", + "logIn": "Teken in", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Wagwoord", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Verander nommer", + "@changeNumber": {}, + "forgotPassword": "Vergeet wagwoord?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Voer jou e-posadres in, en ons sal vir jou 'n skakel stuur om jou wagwoord te herstel.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Onthou jy jou wagwoord?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Ek het 'n wagwoord", + "@backToLoginButton": {}, + "continueButton": "Gaan voort", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Wagwoordherstel-e-pos gestuur", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Reset wagwoord", + "@resetPasswordButton": {}, + "confirmCodeButton": "Bevestig kode", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Begin vandag om Doctorina te gebruik", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "OF", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Voer jou wagwoord in", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Wys wagwoord", + "@showPasswordHint": {}, + "obscurePasswordHint": "Versteek wagwoord", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Maak inlog skoon", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "E-pos of telefoon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com of +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Voer e-pos of telefoonnommer in", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Asseblief aanvaar die ooreenkomste om voort te gaan", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Ek stem in met die verwerking van persoonlike data,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "die gebruik van", + "@consentTheUseOf": {}, + "consentCookies": "koekies", + "@consentCookies": {}, + "consentAgreeToThe": ", stem in", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "terme en voorwaardes", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", en erken die", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "privaatheidsbeleid", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Ek erken dat my konsultasie met 'n KI is en nie 'n gelisensieerde mediese professionele is.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Teken uit", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Is jy seker jy wil uitteken?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Kanselleer", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Ja, teken uit", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Stuur kode weer", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Stuur kode weer ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Ek stem in tot die verwerking van persoonlike data, die gebruik van cookies, stem in met die terme en voorwaardes, en erken die

privaatheidsbeleid

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Voer jou e-pos in", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Teken in met e-pos", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Teken in met e-pos", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Voer jou telefoon in", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Bevestig jou telefoon", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Registreer", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Voer e-pos in", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Teken aan met Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Teken in met Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Registreer met foon", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Teken in met Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Teken in met Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Teken in met foon", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Jy is uitgeteken", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Herlaai", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Ongeldige e-posadres", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Wagwoord moet ten minste 6 karakters lank wees", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Ongeldige telefonnommer: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Wag asseblief {seconds} sekondes voordat jy 'n nuwe kode versoek.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Ongeldige telefoonkode: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Bepalings en voorwaardes", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Gaan voort as gas", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Nog geen rekening?

Registreer

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Het jy al 'n rekening?

Teken in

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Jy moet eers aanmeld voordat jy met Premium kan voortgaan", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Kry persoonlike inhoud en hou kontak met jou gemeenskap!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-pos", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Herstel jou wagwoord", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Skep 'n rekening", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Ons het 'n rekening nodig om jou gesondheidsdata veilig te stoor en jou assessering voort te sit.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Herhaal", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Herhaal jou wagwoord", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Bevestig", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Het jy nie 'n rekening nie?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Het u reeds 'n rekening?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Skep 'n wagwoord", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefoon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Verifieer telefoon", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Wat is jou nommer?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Ons sal 'n kode stuur om jou telefoon te verifieer", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Nommer", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Voer telefoonnommer in", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Wag {countdown} sekondes", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Voer jou kode in", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Ons het 'n kode na {phone} gestuur", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Het u nie die kode ontvang nie?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Klik om weer te stuur", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Jy kan 'n nuwe kode in {countdown} sekondes aanvra", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Sluit", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Terug", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Voorwaardes van Diens", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Privaatheidsbeleid", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Welkom terug", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Teken in as jy reeds 'n Doctorina-rekening het, of registreer om te begin.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Van 8 tot 128 karakters", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Ten minste 1 nommer", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Ten minste 1 hoofletter", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Wagwoord stem ooreen", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP-verifikasie het misluk. Probeer asseblief weer.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Verwysingskode", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Voer jou verwysingskode in", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "bv. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Het u 'n verwysingskode?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_am.arb b/example/lib/src/l10n/sign_up/app_am.arb new file mode 100644 index 0000000..ce9bbc4 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_am.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "am", + "logIn": "ግባ", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "የይለፍ ቃል", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "ቁጥር ይለውጡ", + "@changeNumber": {}, + "forgotPassword": "የወረዳ ቃል ይቅርታ?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "ኢሜይል አድራሻዎን ይጻፉ፣ እና ወደ ይዘው የይለፍ ቃል ለማስተካከል አገናኝ እንላክልዎታለን.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "እባክህ የይለፍ ቃልህን አስታውስ?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "እኔ የይለፍ ቃል አለኝ", + "@backToLoginButton": {}, + "continueButton": "ቀጥል", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "የይለፍ ቃል እንደገና ኢሜይል ተላክቷል", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "የይለፍ ቃል ይቀይሩ", + "@resetPasswordButton": {}, + "confirmCodeButton": "ኮድ እንደገና ይረጋገጡ", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "ዛሬ ዶክተርኢናን መጠቀም ይጀምሩ", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "ወይም", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "እባክዎ የይለፍ ቃልዎን ይግቡ", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "የይለፍ ቃል አሳይ", + "@showPasswordHint": {}, + "obscurePasswordHint": "የይለፍ ቃል ይሰውር", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Clear login", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ኢሜይል ወይም ስልክ", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com ወይም +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ኢሜይል ወይም የስልክ ቁጥር ይግቡ", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "እባክህ ምርጫዎቹን እንዲቀጥሉ አቅርብ.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "እኔ ወደ የግል ውሂብ ሂደት እቀበላለሁ,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "እንደ እንቅስቃሴ ይጠቀሙ", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", ተስማሚ ሆኑ", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "terms and conditions", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", እና አረጋግጥ", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "የግል የእንቅስቃሴ ፖሊሲ", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "እኔ እቀበላለሁ የኔ ኮንስልታሽን ከAI እና ከወቅታዊ የሕክምና ሙያ ሰው አይደለም.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "ወደ ውጭ ይሂዱ", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "እቅፍ ነህ ወይም ነሽ ወይ? ወይም ወይ? ወይ?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "ተወው", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "አዎን ውጣ", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "እባክህ ኮድ ይላኩ", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "ኮድ ይዘርዝር ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "እኔ ለግል መረጃ ማስተካከያ, cookies አጠቃቀም, ውሎችና መመሪያዎች ማስተባበር, እና

የግል መረጃ ፖሊሲ

መቀበል እፈልጋለሁ", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "ኢሜይልዎን ያስገቡ", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "በኢሜል ይመዝገቡ", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "በኢሜይል ግባ", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "ስልክዎን ያስገቡ", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "ስልክዎን ያረጋግጡ", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "ተመዝግበው", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ኢሜይል ያስገቡ", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google ጋር ይምዝገቡ", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "ከApple ጋር ይመዝገቡ", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "በስልክ ይመዝገቡ", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google ጋር ግባ", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple ጋር መግባት", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "በስልክ ግባ", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "እርስዎ ውጭ ሆነዋል", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "እንደገና ተጫን", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "የተሳሳተ ኢሜል አድራሻ", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "የመለያ ቁልፍ ቢያንስ 6 ፊደሎች መያዝ አለበት", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "የልክ ያልሆነ ስልክ ቁጥር: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "እባክዎ {seconds} ሰከንት በፊት አዲስ ኮድ ለመጠየቅ ይጠብቁ።", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "የተሳሳተ ስልክ ኮድ: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "ውሎች እና ደንቦች", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "እንደ እንግዳ ቀጥል", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "አካውንት አልተፈጠረም?

ተመዝግበው

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "አሁንም መለያ አለዎት?

ግባ

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "እባኮትን ወደ ፕሪምየም ለመቀጠል መመዘገብ አለብዎት", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "የግል ይዘት ይቀበሉ እና ከማህበረሰብዎ ጋር ይገናኙ!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ኢሜይል", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "የእርዳታውን ፓስወርድ ይወዳድሩ", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "መለያ ይፍጠሩ", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "አካውንት ይፈልጋሉ የጤና ውሂብዎን በደህና መንገድ ለማስቀመጥ እና ግንዛቤዎን ለመቀጠል።", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "ድጋፍ", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "የእርስዎን የይለፍ ቃል ይደግፉ", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "እርግጠኛ", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "አካውንት የለህም?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "አሁን አካውንት አለዎት?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "የይለፍ ቃል ይፍጠሩ", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "ስልክ", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "ስልኩን አረጋግጥ", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "እባክዎ የስልክ ቁጥርዎን ያስገቡ", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "እባኮትን ስልኩን ለማረጋገጥ ኮድ እንልክልዎታለን", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "ቁጥር", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "የስልክ ቁጥር ይግቡ", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "መጠባበቅ {countdown} ሴት", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "ኮድዎን ይግቡ", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "እኛ ወደ {phone} ኮድ ላክን ነን", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "ኮድ አልተቀበሉም?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "እባክዎ ወደ ኋላ ለመላክ ጠቅ ይቀጥሉ", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "እባኮትን አዲስ ኮድ በ{countdown} ሴከንድ ይጠይቁ", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "ዝግጅት", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "ተመለስ", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "አገልግሎት ውል", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "የግለሰቦች የግል ፖሊሲ", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "እንኳን ወደ እንግዳ በደህና መጡ", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "እባኮትን ወደ ዶክተርና መለያ እንደተነሱ ገብተው ወይም መጀመሪያ ይመዘገቡ።", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "ከ8 እስከ 128 ቁምፊ", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "አንድ ቁጥር ቢኖር ይኖርብዎታል", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "አንድ የሚለው የከፍተኛ ፊደል አለ", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "የይለፍ ቃሎች ይገናኛሉ", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "የOTP ማረጋገጫ አልተሳካም። እባክዎ እንደገና ይሞክሩ።", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "የምንጭ ኮድ", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "እባክዎ የምንጭ ኮድዎን ይግቡ", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "እንደ ምሳሌ የሚሆን ኮድ ይጻፉ እንደ CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "የምንጭ ኮድ አለዎት?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ar.arb b/example/lib/src/l10n/sign_up/app_ar.arb new file mode 100644 index 0000000..0480799 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ar.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ar", + "logIn": "تسجيل الدخول", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "كلمة المرور", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "تغيير الرقم", + "@changeNumber": {}, + "forgotPassword": "نسيت كلمة المرور؟", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "أدخل عنوان بريدك الإلكتروني، وسنرسل لك رابطًا لإعادة تعيين كلمة المرور", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "هل تتذكر كلمة المرور الخاصة بك؟", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "عندي كلمة مرور", + "@backToLoginButton": {}, + "continueButton": "استمر", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "تم إرسال بريد إعادة تعيين كلمة المرور", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "إعادة تعيين كلمة المرور", + "@resetPasswordButton": {}, + "confirmCodeButton": "تأكيد الرمز", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "ابدأ باستخدام Doctorina اليوم", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "أو", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "أدخل كلمة المرور الخاصة بك", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "إظهار كلمة المرور", + "@showPasswordHint": {}, + "obscurePasswordHint": "إخفاء كلمة المرور", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "مسح تسجيل الدخول", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "البريد الإلكتروني أو الهاتف", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com أو +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "أدخل البريد الإلكتروني أو رقم الهاتف", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "يرجى قبول الاتفاقيات للمتابعة.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "أوافق على معالجة البيانات الشخصية,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "استخدام", + "@consentTheUseOf": {}, + "consentCookies": "ملفات تعريف الارتباط", + "@consentCookies": {}, + "consentAgreeToThe": "، أوافق على ال", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "الشروط والأحكام", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", وتقر بـ", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "سياسة الخصوصية", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "أقر بأن استشارتي مع الذكاء الاصطناعي وليست مع محترف طبي مرخص", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "تسجيل الخروج", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "هل أنت متأكد من تسجيل الخروج?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "إلغاء", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "نعم، تسجيل الخروج", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "أعد إرسال الرمز", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "إعادة إرسال الرمز ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "أوافق على معالجة البيانات الشخصية، واستخدام الكوكيز، وأوافق على الشروط والأحكام، وأقر بـ

سياسة الخصوصية

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "أدخل بريدك الإلكتروني", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "سجّل باستخدام البريد الإلكتروني", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "تسجيل الدخول باستخدام البريد الإلكتروني", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "أدخل رقم هاتفك", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "أكد هاتفك", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "سجل", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "أدخل البريد الإلكتروني", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "سجّل باستخدام Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "سجّل باستخدام Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "سجل عبر الهاتف", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "تسجيل الدخول باستخدام Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "تسجيل الدخول باستخدام Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "تسجيل الدخول عبر الهاتف", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "تم تسجيل خروجك", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "إعادة تحميل", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "عنوان البريد الإلكتروني غير صالح", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "يجب أن تتكون كلمة السر من 6 أحرف على الأقل", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "رقم الهاتف غير صالح: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "من فضلك انتظر {seconds} ثانية قبل طلب رمز جديد.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "رمز الهاتف غير صالح: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "الشروط والأحكام", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "استمر كضيف", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "لسه ما عندكش حساب؟

إنشاء حساب

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "عندك حساب بالفعل؟

تسجيل الدخول

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "يجب عليك التسجيل قبل أن تتمكن من الاستمرار مع Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "احصل على محتوى مخصص وابقَ على اتصال مع مجتمعك!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "البريد الإلكتروني", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "استعد كلمة المرور الخاصة بك", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "إنشاء حساب", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "نحتاج إلى حساب لحفظ بيانات صحتك بأمان ومتابعة تقييمك", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "كرر", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "كرر كلمة المرور الخاصة بك", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "تأكيد", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "ليس لديك حساب؟", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "هل لديك حساب بالفعل؟", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "إنشاء كلمة مرور", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "الهاتف", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "تحقق من الهاتف", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "ما هو رقمك؟", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "سنرسل لك رمزًا للتحقق من هاتفك", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "رقم", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "أدخل رقم الهاتف", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "انتظر {countdown} ثواني", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "أدخل الرمز الخاص بك", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "لقد أرسلنا رمزًا إلى {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "لم تستلم الكود؟", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "انقر لإعادة الإرسال", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "يمكنك طلب رمز جديد خلال {countdown} ثواني", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "إغلاق", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "رجوع", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "شروط الخدمة", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "سياسة الخصوصية", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "مرحبًا بعودتك", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "قم بتسجيل الدخول إذا كان لديك حساب Doctorina بالفعل، أو اشترك للبدء.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "من 8 إلى 128 حرفًا", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "على الأقل 1 رقم", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "على الأقل 1 حرف كبير", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "كلمات المرور متطابقة", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "فشلت عملية التحقق من رمز التحقق لمرة واحدة. يرجى المحاولة مرة أخرى.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "كود الإحالة", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "أدخل رمز الإحالة الخاص بك", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "مثال على رمز الإحالة في حقل الإدخال", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "هل لديك رمز إحالة؟", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ar_EG.arb b/example/lib/src/l10n/sign_up/app_ar_EG.arb new file mode 100644 index 0000000..f36c1a3 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ar_EG.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ar_EG", + "logIn": "تسجيل الدخول", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "كلمة المرور", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "تغيير الرقم", + "@changeNumber": {}, + "forgotPassword": "نسيت كلمة المرور؟", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "أدخل عنوان بريدك الإلكتروني، وسنرسل لك رابطًا لإعادة تعيين كلمة المرور", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "هل تتذكر كلمة المرور الخاصة بك؟", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "عندي كلمة مرور", + "@backToLoginButton": {}, + "continueButton": "استمر", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "تم إرسال بريد إعادة تعيين كلمة المرور", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "إعادة تعيين كلمة المرور", + "@resetPasswordButton": {}, + "confirmCodeButton": "تأكيد الرمز", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "ابدأ باستخدام Doctorina اليوم", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "أو", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "أدخل كلمة المرور الخاصة بك", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "إظهار كلمة المرور", + "@showPasswordHint": {}, + "obscurePasswordHint": "إخفاء كلمة المرور", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "مسح تسجيل الدخول", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "البريد الإلكتروني أو الهاتف", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com أو +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "أدخل البريد الإلكتروني أو رقم الهاتف", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "يرجى قبول الاتفاقيات للمتابعة.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "أوافق على معالجة البيانات الشخصية,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "استخدام", + "@consentTheUseOf": {}, + "consentCookies": "ملفات تعريف الارتباط", + "@consentCookies": {}, + "consentAgreeToThe": "، أوافق على ال", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "الشروط والأحكام", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", وتقر بـ", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "سياسة الخصوصية", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "أقر بأن استشارتي مع الذكاء الاصطناعي وليست مع محترف طبي مرخص", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "تسجيل الخروج", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "هل أنت متأكد من تسجيل الخروج?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "إلغاء", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "نعم، تسجيل الخروج", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "أعد إرسال الرمز", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "إعادة إرسال الرمز ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "أوافق على معالجة البيانات الشخصية، واستخدام الكوكيز، وأوافق على الشروط والأحكام، وأقر بـ

سياسة الخصوصية

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "أدخل بريدك الإلكتروني", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "سجّل باستخدام البريد الإلكتروني", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "تسجيل الدخول باستخدام البريد الإلكتروني", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "أدخل رقم هاتفك", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "أكد هاتفك", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "سجل", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "أدخل البريد الإلكتروني", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "سجّل باستخدام Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "سجّل باستخدام Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "سجل عبر الهاتف", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "تسجيل الدخول باستخدام Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "تسجيل الدخول باستخدام Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "تسجيل الدخول عبر الهاتف", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "تم تسجيل خروجك", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "إعادة تحميل", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "عنوان البريد الإلكتروني غير صالح", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "يجب أن تتكون كلمة السر من 6 أحرف على الأقل", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "رقم الهاتف غير صالح: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "من فضلك انتظر {seconds} ثانية قبل طلب رمز جديد.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "رمز الهاتف غير صالح: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "الشروط والأحكام", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "استمر كضيف", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "لسه ما عندكش حساب؟

إنشاء حساب

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "عندك حساب بالفعل؟

تسجيل الدخول

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "يجب عليك التسجيل قبل أن تتمكن من الاستمرار مع Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "احصل على محتوى مخصص وابقَ على اتصال مع مجتمعك!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "البريد الإلكتروني", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "استعد كلمة المرور الخاصة بك", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "إنشاء حساب", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "نحتاج إلى حساب لحفظ بيانات صحتك بأمان ومتابعة تقييمك", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "كرر", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "كرر كلمة المرور الخاصة بك", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "تأكيد", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "ليس لديك حساب؟", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "هل لديك حساب بالفعل؟", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "إنشاء كلمة مرور", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "الهاتف", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "تحقق من الهاتف", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "ما هو رقمك؟", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "سنرسل لك رمزًا للتحقق من هاتفك", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "رقم", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "أدخل رقم الهاتف", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "انتظر {countdown} ثواني", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "أدخل الرمز الخاص بك", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "لقد أرسلنا رمزًا إلى {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "لم تستلم الكود؟", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "انقر لإعادة الإرسال", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "يمكنك طلب رمز جديد خلال {countdown} ثواني", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "إغلاق", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "رجوع", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "شروط الخدمة", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "سياسة الخصوصية", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "مرحبًا بعودتك", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "قم بتسجيل الدخول إذا كان لديك حساب Doctorina بالفعل، أو اشترك للبدء.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "من 8 إلى 128 حرفًا", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "على الأقل 1 رقم", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "على الأقل 1 حرف كبير", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "كلمات المرور متطابقة", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "فشلت عملية التحقق من رمز التحقق لمرة واحدة. يرجى المحاولة مرة أخرى.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "كود الإحالة", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "أدخل رمز الإحالة الخاص بك", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "مثال على رمز الإحالة في حقل الإدخال", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "هل لديك رمز إحالة؟", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_az.arb b/example/lib/src/l10n/sign_up/app_az.arb new file mode 100644 index 0000000..59de8d5 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_az.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "az", + "logIn": "Daxil olun", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Şifrə", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Rəqəmi dəyişdir", + "@changeNumber": {}, + "forgotPassword": "Şifrəni unutmusan? ", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "E-poçt adresinizi daxil edin, biz sizə şifrəni sıfırlamaq üçün bir link göndərəcəyik.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Şifrənizi xatırlayırsınız? ", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Mənim şifrəmdir", + "@backToLoginButton": {}, + "continueButton": "Davam", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Şifrəni bərpa etmək üçün email göndərildi", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Şifrəni sıfırla", + "@resetPasswordButton": {}, + "confirmCodeButton": "Kodu təsdiqlə", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Bugün Doctorina istifadə etməyə başlayın", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "VƏ", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Şifrənizi daxil edin", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Parolu göstər", + "@showPasswordHint": {}, + "obscurePasswordHint": "Obscure password", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Girişin təmizlənməsi", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email və ya telefon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com və ya +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "E-poçtayı və ya telefon nömrəsini daxil edin", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Davranışları qəbul edin, davam etmək üçün.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Şəxsi məlumatların emalına razıyam,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "istifadə", + "@consentTheUseOf": {}, + "consentCookies": "şirniyyat", + "@consentCookies": {}, + "consentAgreeToThe": ", razıyam", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "şərtlər və qaydalar", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", və qəbul edin", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "məxfilik siyasəti", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Mənim konsultasiyamın bir süni intellektlə olduğunu və lisenziyalı tibbi mütəxəssis olmadığını qəbul edirəm", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Çıxış et", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Çıxmaq istədiyinizə əminsiniz?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "İmtina et", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Bəli, çıxış et", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Kodu yenidən göndər", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Kodu yenidən göndər ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Mən şəxsi məlumatların emalına, çərəzlərin istifadəsinə, şərtlər və qaydalarla razıyam və

məxfilik siyasətini

qəbul edirəm.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Elektron poçtunuzu daxil edin", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Email ilə qeydiyyatdan keçin", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "E-poçtla daxil ol", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Telefonunuzu daxil edin", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Telefonunuzu təsdiqləyin", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Qeydiyyatdan keçin", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Elektron poçtu daxil edin", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google ilə qeydiyyatdan keçin", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple ilə qeydiyyatdan keçin", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Telefonla qeydiyyatdan keçin", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google ilə daxil olun", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple ilə daxil olun", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Telefonla daxil ol", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Siz çıxış etmisiniz", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Yenidən yüklə", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Yanlış elektron poçtası ünvanı", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Şifrə ən azı 6 simvol olmalıdır", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Yanlış telefon nömrəsi: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Zəhmət olmasa yeni kod istəmədən əvvəl {seconds} saniyə gözləyin.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Yanlış telefon kodu: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Şərtlər və qaydalar", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Qonaq olaraq davam et", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Hələ hesabınız yoxdur?

Qeydiyyatdan keçin

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Artıq hesabınız var?

Daxil ol

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Premium ilə davam etmək üçün qeydiyyatdan keçməlisiniz", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Şəxsi məzmun əldə edin və icmanızla əlaqədə qalın!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-poçt", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Şifrənizi bərpa edin", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Hesab yarat", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Sağlıq məlumatlarınızı təhlükəsiz saxlamaq və qiymətləndirmənizi davam etdirmək üçün hesab lazımdır.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Təkrarla", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Parolanızı təkrarlayın", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Təsdiq et", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Hesabınız yoxdur?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Artıq hesabınız var? ", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Şifrə yaradın", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Telefonu təsdiqləyin", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Nömrəniz nədir?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Telefonunuzu təsdiqləmək üçün sizə bir kod göndərəcəyik", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Nömrə", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Telefon nömrəsini daxil edin", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Gözləyin {countdown} saniyə", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Kodunuzu daxil edin", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "{phone} nömrəsinə kod göndərdik", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Kodu almadınız?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Təkrar göndərmək üçün klikləyin", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Yeni kodu {countdown} saniyədən sonra tələb edə bilərsiniz", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Bağla", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Geri", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Xidmət Şərtləri", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Məxfilik Siyasəti", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Xoş gəlmisiniz", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Əgər artıq Doctorina hesabınız varsa, daxil olun, ya da başlamaq üçün qeydiyyatdan keçin.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8-dən 128 simvola qədər", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Ən azı 1 rəqəm", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Ən azı 1 böyük hərf", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Şifrələr uyğun gəlir", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP doğrulaması uğursuz oldu. Yenidən cəhd edin.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Referal kodu", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Referal kodunuzu daxil edin", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "E.G. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Təklif kodunuz varmı?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_be.arb b/example/lib/src/l10n/sign_up/app_be.arb new file mode 100644 index 0000000..311efdd --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_be.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "be", + "logIn": "Увайсці", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Пароль", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Змяніць нумар", + "@changeNumber": {}, + "forgotPassword": "Забылі пароль?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Увядзіце свой адрас электроннай пошты, і мы вышлем вам спасылку на аднаўленне пароля", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Памятаеце свой пароль?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Я маю пароль", + "@backToLoginButton": {}, + "continueButton": "Працягнуць", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Ліст для аднаўлення пароля адпраўлены", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Скінуць пароль", + "@resetPasswordButton": {}, + "confirmCodeButton": "Пацвердзіць код", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Пачніце карыстацца Doctorina сёння", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "АБО", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Увядзіце свой пароль", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Паказаць пароль", + "@showPasswordHint": {}, + "obscurePasswordHint": "Схаваць пароль", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Ачысціць лагін", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Электронная пошта або тэлефон", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com або +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Увядзіце адрас электроннай пошты або нумар тэлефона", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Калі ласка, пагадзіцеся з умовамі, каб працягнуць.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Я даю згоду на апрацоўку персанальных дадзеных,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "выкарыстанне", + "@consentTheUseOf": {}, + "consentCookies": "кукі", + "@consentCookies": {}, + "consentAgreeToThe": ", згаджаюся з", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "умовы і палажэнні", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", і пацвердзіць", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "палітыка прыватнасці", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Я прызнаю, што мая кансультацыя адбываецца з дапамогай штучнага інтэлекту, а не з ліцэнзаваным медыцынскім спецыялістам.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Выйсці", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Вы ўпэўнены, што хочаце выйсці?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Адмена", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Так, выйсьці", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Пераслаць код", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Пераслаць код ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Я даю згоду на апрацоўку персанальных дадзеных, выкарыстанне cookies, згаджаюся з умовамі і прызнаю

палітыку канфідэнцыяльнасці

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Увядзіце ваш email", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Зарэгістравацца праз электронную пошту", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Увайсці з электроннай поштай", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Увядзіце тэлефон", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Пацвердзіце тэлефон", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Рэгістравацца", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Увядзіце пошту", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Зарэгістравацца праз Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Зарэгістравацца праз Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Зарэгістравацца праз тэлефон", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Увайсці праз Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Увайсці праз Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Увайсці праз тэлефон", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Вы выйшлі", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Перазагрузіць", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Няправільны адрас электроннай пошты", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Пароль павінен утрымліваць не менш за 6 сімвалаў", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Няправільны нумар тэлефона: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Калі ласка, пачакайце {seconds} секунд, перш чым запытваць новы код.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Няправільны код тэлефона: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Умовы і палажэнні", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Працягнуць як госць", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Яшчэ няма акаўнта?

Рэгістравацца

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Ужо ёсць акаўнт?

Увайсці

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Вам трэба зарэгістравацца, перш чым вы зможаце працягнуць з Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Атрымаеце персаналізаваны кантэнт і падтрымлівайце сувязь з вашай супольнасцю!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "Электронная пошта", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Аднавіце ваш пароль", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Стварыць акаўнт", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Нам патрэбен уліковы запіс, каб бяспечна захаваць вашы дадзеныя аб здароўі і працягнуць вашу ацэнку.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Паўтарыць", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Паўторна ўвядзіце ваш пароль", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Пацвердзіць", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "У вас няма акаўнта?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "У вас ужо ёсць уліковы запіс?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Стварыце пароль", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Тэлефон", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Праверце тэлефон", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Які ў вас нумар?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Мы адправім код для пацверджання вашага тэлефона", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Нумар", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Увядзіце нумар тэлефона", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+375 (29) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Чакайце {countdown} секунд", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Увядзіце ваш код", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Мы адправілі код на {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Не атрымалі код?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Націсніце, каб паўторна адправіць", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Вы можаце запытаць новы код праз {countdown} секунд", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Зачыніць", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Назад", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Умовы выкарыстання", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Палітыка канфідэнцыяльнасці", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "С вяртаннем", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Увайдзіце, калі ў вас ужо ёсць уліковы запіс Doctorina, або зарэгіструйцеся, каб пачаць.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Ад 8 да 128 сімвалаў", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Мінімум 1 лічба", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Мінімум 1 вялікая літара", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Паролі супадаюць", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Праверка аднаразовага пароля не атрымалася. Паўтарыце спробу.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Рэферальны код", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Увядзіце ваш рэферальны код", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Напр. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "У вас ёсць рэферальны код?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_bg.arb b/example/lib/src/l10n/sign_up/app_bg.arb new file mode 100644 index 0000000..8efdbd3 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_bg.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "bg", + "logIn": "Вход", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Парола", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Промяна на номера", + "@changeNumber": {}, + "forgotPassword": "Забравена парола?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Въведете имейл адреса си и ние ще ви изпратим линк за нулиране на паролата.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Помните ли паролата си?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Имам парола", + "@backToLoginButton": {}, + "continueButton": "Продължи", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Изпратен имейл за нулиране на паролата", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Нулиране на паролата", + "@resetPasswordButton": {}, + "confirmCodeButton": "Потвърдете кода", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Започнете да използвате Doctorina днес", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "ИЛИ", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Въведете паролата си", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Покажи паролата", + "@showPasswordHint": {}, + "obscurePasswordHint": "Скрий парол", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Изчисти входа", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Имейл или телефон", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com или +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Въведете имейл или телефонен номер", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Моля, приемете споразуменията, за да продължите", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Съгласявам се с обработката на лични данни,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "използването на", + "@consentTheUseOf": {}, + "consentCookies": "бисквитки", + "@consentCookies": {}, + "consentAgreeToThe": ", съгласен съм с", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "общи условия", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", и признавам", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "политика за поверителност", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Признавам, че консултацията ми е с ИИ, а не с лицензиран медицински специалист.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Изход", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Сигурни ли сте, че искате да излезете?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Отказ", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Да, излез", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Изпрати кода отново", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Изпратете отново кода ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Съгласявам се с обработката на лични данни, използването на cookies, съгласявам се с общите условия и потвърждавам

политиката за поверителност

", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Въведете имейла си", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Регистрирай се с имейл", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Вход с имейл", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Въведете вашия телефон", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Потвърдете телефона си", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Регистрация", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Въведете имейл", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Регистрирай се с Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Регистрирай се с Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Регистрирайте се с телефон", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Вход с Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Вход с Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Вход с телефон", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Вие сте излезли", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Презареди", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Невалиден имейл адрес", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Паролата трябва да съдържа поне 6 символа", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Невалиден телефонен номер: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Моля, изчакайте {seconds} секунди, преди да поискате нов код.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Невалиден телефонен код: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Условия и разпоредби", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Продължи като гост", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Все още нямате акаунт?

Регистрирай се

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Вече имате акаунт?

Вход

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Трябва да се регистрирате, преди да можете да продължите с Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Получавайте персонализирано съдържание и поддържайте връзка с вашата общност!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Възстановете паролата си", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Създайте акаунт", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Нуждаем се от акаунт, за да запазим сигурно вашите здравни данни и да продължим оценката.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Повтори", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Повторете паролата си", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Потвърдете", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Нямате акаунт?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Вече имате акаунт?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Създайте парола", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Телефон", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Потвърдете телефона", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Какво е вашето число?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Ще изпратим код за потвърждение на телефона ви", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Номер", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Въведете телефонен номер", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Изчакайте {countdown} секунди", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Въведете кода си", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Изпратихме код на {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Не получихте кода?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Кликнете, за да изпратите отново", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Можете да поискате нов код след {countdown} секунди", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Затвори", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Назад", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Условия за ползване", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Политика за поверителност", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Добре дошли отново", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Влезте, ако вече имате акаунт в Doctorina, или се регистрирайте, за да започнете.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "От 8 до 128 символа", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Най-малко 1 число", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Най-малко 1 главна буква", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Паролите съвпадат", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Проверката на еднократната парола (OTP) не бе успешна. Моля, опитайте отново.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Код за препоръка", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Въведете референтния си код", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Пример CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Имате ли реферален код?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_bn.arb b/example/lib/src/l10n/sign_up/app_bn.arb new file mode 100644 index 0000000..12505cf --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_bn.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "bn", + "logIn": "লগ ইন", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "পাসওয়ার্ড", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "নম্বর পরিবর্তন", + "@changeNumber": {}, + "forgotPassword": "পাসওয়ার্ড ভুলে গেছেন?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "আপনার ইমেল ঠিকানা প্রদান করুন, আমরা আপনার পাসওয়ার্ড রিসেট করার জন্য একটি লিঙ্ক পাঠাব।", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "আপনার পাসওয়ার্ড মনে আছে?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "আমার একটি পাসওয়ার্ড আছে", + "@backToLoginButton": {}, + "continueButton": "চালিয়ে যান", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "পাসওয়ার্ড রিসেট ইমেইল পাঠানো হয়েছে", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "পাসওয়ার্ড পুনরায় সেট করুন", + "@resetPasswordButton": {}, + "confirmCodeButton": "কোড নিশ্চিত করুন", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "আজই Doctorina ব্যবহার শুরু করুন", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "অথবা", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "আপনার পাসওয়ার্ড লিখুন", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "পাসওয়ার্ড দেখান", + "@showPasswordHint": {}, + "obscurePasswordHint": "পাসওয়ার্ড লুকান", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "লগইন মুছুন", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ইমেল অথবা ফোন", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com বা +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ইমেল বা ফোন নম্বর লিখুন", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "অগ্রসর হতে, দয়া করে চুক্তিগুলো গ্রহণ করুন.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "আমি ব্যক্তিগত তথ্য প্রক্রিয়াকরণের জন্য সম্মতি প্রদান করি,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "ব্যবহার", + "@consentTheUseOf": {}, + "consentCookies": "কুকিজ", + "@consentCookies": {}, + "consentAgreeToThe": ", একমত", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "শর্তাবলী", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", এবং স্বীকার করুন", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "গোপনীয়তা নীতি", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "আমি স্বীকার করছি যে আমার পরামর্শটি একটি এআইয়ের সাথে, এবং একজন লাইসেন্সপ্রাপ্ত চিকিৎসা পেশাদারের সাথে নয়.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "লগ আউট", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "আপনি কি নিশ্চিতভাবে লগআউট করতে চান?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "বাতিল করুন", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "হ্যাঁ, লগ আউট", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "কোড পুনরায় পাঠান", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "কোড আবার পাঠান ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "আমি ব্যক্তিগত তথ্য প্রক্রিয়াকরণের জন্য সম্মতি দিচ্ছি, কুকিজ ব্যবহারে সম্মতি দিচ্ছি, শর্তাবলী মেনে নিচ্ছি এবং

গোপনীয়তা নীতি

স্বীকার করছি।", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "আপনার ইমেল লিখুন", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ইমেইল দিয়েই সাইন আপ করুন", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ইমেল দিয়ে লগইন করুন", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "আপনার ফোন নম্বর লিখুন", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "আপনার ফোন নিশ্চিত করুন", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "সাইন আপ করুন", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ইমেইল লিখুন", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google দিয়ে সাইন আপ করুন", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple দিয়ে সাইন আপ করুন", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "ফোন দিয়ে সাইন আপ করুন", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google দিয়ে লগইন করুন", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple দিয়ে লগইন করুন", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "ফোন দিয়ে লগইন করুন", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "আপনি লগ আউট করেছেন", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "পুনরায় লোড করুন", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "অবৈধ ইমেল ঠিকানা", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "পাসওয়ার্ড অন্তত 6টি অক্ষরের হতে হবে", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "অবৈধ ফোন নম্বর: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "দয়া করে নতুন কোডের অনুরোধ করার আগে {seconds} সেকেন্ড অপেক্ষা করুন।", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "অবৈধ ফোন কোড: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "শর্তাবলী", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "অতিথি হিসেবে চালিয়ে যান", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "এখনও একটি অ্যাকাউন্ট নেই?

নিবন্ধন করুন

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "আপনার কি ইতিমধ্যেই একটি অ্যাকাউন্ট আছে?

লগ ইন করুন

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "আপনাকে প্রিমিয়ামে এগিয়ে যাওয়ার জন্য সাইন আপ করতে হবে", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "ব্যক্তিগতকৃত সামগ্রী পান এবং আপনার সম্প্রদায়ের সাথে যোগাযোগ রাখুন!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ইমেইল", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "আপনার পাসওয়ার্ড পুনরুদ্ধার করুন", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "একটি অ্যাকাউন্ট তৈরি করুন", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "আমাদের আপনার স্বাস্থ্য তথ্য নিরাপদে সংরক্ষণ এবং আপনার মূল্যায়ন চালিয়ে যেতে একটি অ্যাকাউন্টের প্রয়োজন।", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "পুনরাবৃত্তি", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "আপনার পাসওয়ার্ড পুনরায় লিখুন", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "নিশ্চিত করুন", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "একটি অ্যাকাউন্ট নেই?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "আপনার কি ইতিমধ্যে একটি অ্যাকাউন্ট আছে?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "একটি পাসওয়ার্ড তৈরি করুন", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "ফোন", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "ফোন যাচাই করুন", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "আপনার নম্বর কী?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "আপনার ফোন যাচাই করতে আমরা একটি কোড পাঠাব", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "নম্বর", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "ফোন নম্বর লিখুন", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "পরবর্তী OTP পাঠানোর জন্য {countdown} সেকেন্ড অপেক্ষা করুন", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "আপনার কোড প্রবেশ করুন", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "{phone} এ একটি কোড পাঠানো হয়েছে", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "কোডটি পাননি?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "পুনরায় পাঠাতে ক্লিক করুন", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "{countdown} সেকেন্ড পরে আপনি একটি নতুন কোড অনুরোধ করতে পারেন", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "বন্ধ করুন", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "পেছনে", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "সেবা শর্তাবলী", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "গোপনীয়তা নীতি", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "স্বাগতম ফিরে", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "আপনার যদি ইতিমধ্যে একটি Doctorina অ্যাকাউন্ট থাকে তবে লগ ইন করুন, অথবা শুরু করতে সাইন আপ করুন।", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "৮ থেকে ১২৮ অক্ষর", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "অন্তত 1টি সংখ্যা", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "অন্তত 1টি বড় হাতের অক্ষর", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "পাসওয়ার্ড মিলে গেছে", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "ওটিপি যাচাইকরণ ব্যর্থ হয়েছে। অনুগ্রহ করে আবার চেষ্টা করুন।", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "রেফারেল কোড", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "আপনার রেফারেল কোড প্রবেশ করুন", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "যেমন: CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "আপনার কি রেফারেল কোড আছে?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ca.arb b/example/lib/src/l10n/sign_up/app_ca.arb new file mode 100644 index 0000000..102f551 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ca.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ca", + "logIn": "Iniciar sessió", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Contrasenya", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Canviar número", + "@changeNumber": {}, + "forgotPassword": "He oblidat la contrasenya?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Introduïu la vostra adreça de correu electrònic i us enviarem un enllaç per restablir la vostra contrasenya.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Recorda la teva contrasenya?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Tinc una contrasenya", + "@backToLoginButton": {}, + "continueButton": "Continuar", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Correu electrònic de restabliment de contrasenya enviat", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Restableix la contrasenya", + "@resetPasswordButton": {}, + "confirmCodeButton": "Confirmar codi", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Comença a utilitzar Doctorina avui", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "O", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Introdueix la teva contrasenya", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Mostra la contrasenya", + "@showPasswordHint": {}, + "obscurePasswordHint": "Amaga la contrasenya", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Esborrar inici de sessió", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Correu electrònic o telèfon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com o +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Introduïu el correu electrònic o el número de telèfon", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Si us plau, accepta els acords per continuar", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Consento al processament de dades personals,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "l'ús de", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", accepto", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "termes i condicions", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", i reconèixer el", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "política de privadesa", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Reconec que la meva consulta és amb una IA i no amb un professional mèdic autoritzat.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Tancar sessió", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Estàs segur que vols tancar la sessió?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Cancel·la", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Sí, tanca la sessió", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Torna a enviar el codi", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Reenviar codi ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Consento al processament de dades personals, l'ús de cookies, accepto els termes i condicions, i reconec la

política de privadesa

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Introdueix el teu correu electrònic", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Registra't amb el correu electrònic", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Inicia sessió amb correu electrònic", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Introdueix el teu telèfon", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Confirma el teu telèfon", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Registrat", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Introdueix el correu electrònic", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Registra't amb Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Registra't amb Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Registra't amb el telèfon", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Inicia sessió amb Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Inicia sessió amb Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Inicia sessió amb el telèfon", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Has tancat la sessió", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Torna a carregar", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Adreça de correu electrònic no vàlida", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "La contrasenya ha de tenir almenys 6 caràcters", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Nombre de telèfon no vàlid: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Si us plau, esperi {seconds} segons abans de sol·licitar un nou codi.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Codi de telèfon invàlid: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Termes i condicions", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Continua com a convidat", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Encara no tens un compte?

Registra't

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Ja tens un compte?

Inicia sessió

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Heu de registrar-te abans de poder continuar amb Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Obteniu contingut personalitzat i mantingueu-vos en contacte amb la vostra comunitat!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "Correu electrònic", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Recupera el teu contrasenya", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Crea un compte", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Necessitem un compte per desar de manera segura les teves dades de salut i continuar la teva avaluació.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Repetir", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Repeteix la teva contrasenya", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Confirmar", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "No tens un compte?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Ja tens un compte?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Crea una contrasenya", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telèfon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Verifica el telèfon", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Quin és el teu número?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Usarem un missatge de text per verificar el teu telèfon", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Número", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Introdueix el número de telèfon", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Espera {countdown} segons", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Introdueix el teu codi", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Hem enviat un codi a {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "No heu rebut el codi?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Fes clic per tornar a enviar", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Podeu sol·licitar un nou codi en {countdown} segons", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Tanca", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Enrere", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Termes de servei", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Política de privadesa", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Benvingut de nou", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Inicia sessió si ja tens un compte de Doctorina, o registra't per començar.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "De 8 a 128 caràcters", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Almenys 1 número", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Almenys 1 lletra majúscula", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Les contrasenyes coincideixen", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "La verificació d'OTP ha fallat. Torna-ho a provar.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Codi de referència", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Introdueix el teu codi de referència", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "p. ex. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Tens un codi de referència?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_cs.arb b/example/lib/src/l10n/sign_up/app_cs.arb new file mode 100644 index 0000000..3282b4e --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_cs.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "cs", + "logIn": "Přihlásit se", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Heslo", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Změnit číslo", + "@changeNumber": {}, + "forgotPassword": "Zapomněli jste heslo?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Zadejte svou e-mailovou adresu a my vám zašleme odkaz pro resetování hesla.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Pamatujete si své heslo?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Mám heslo", + "@backToLoginButton": {}, + "continueButton": "Pokračovat", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "E-mail pro resetování hesla byl odeslán", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Obnovit heslo", + "@resetPasswordButton": {}, + "confirmCodeButton": "Potvrdit kód", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Začněte používat Doctorinu dnes", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "NEBO", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Zadejte své heslo", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Zobrazit heslo", + "@showPasswordHint": {}, + "obscurePasswordHint": "Zamaskovat heslo", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Vymazat přihlášení", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email nebo telefon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com nebo +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Zadejte e-mail nebo telefonní číslo", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Prosím, přijměte dohody, abyste mohli pokračovat.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Souhlasím se zpracováním osobních údajů,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "použití", + "@consentTheUseOf": {}, + "consentCookies": "soubory cookie", + "@consentCookies": {}, + "consentAgreeToThe": ", souhlasím s", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "podmínky a ujednání", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", a potvrzujete, že", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "zásady ochrany osobních údajů", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Potvrzuji, že moje konzultace probíhá s AI a ne s licencovaným zdravotnickým profesionálem.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Odhlásit se", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Jste si jisti, že se chcete odhlásit?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Zrušit", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Ano, odhlásit se", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Znovu odeslat kód", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Znovu odeslat kód ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Souhlasím se zpracováním osobních údajů, používáním cookies, souhlasím s obchodními podmínkami a potvrzuji

zásady ochrany osobních údajů

", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Zadejte svůj e-mail", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Zaregistrujte se pomocí e-mailu", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Přihlásit se pomocí e-mailu", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Zadejte svůj telefon", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Potvrďte svůj telefon", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Zaregistrovat se", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Zadejte e-mail", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Zaregistrujte se pomocí Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Zaregistrujte se pomocí Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Zaregistrujte se telefonem", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Přihlásit se přes Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Přihlásit se pomocí Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Přihlásit se telefonem", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Jste odhlášen", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Obnovit", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Neplatná e-mailová adresa", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Heslo musí mít alespoň 6 znaků", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Neplatné telefonní číslo: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Prosím, počkejte {seconds} sekund, než požádáte o nový kód.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Neplatný telefonní kód: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Obchodní podmínky", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Pokračovat jako host", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Ještě nemáš účet?

Zaregistruj se

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Už máte účet?

Přihlásit se

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Musíte se zaregistrovat, než budete moci pokračovat s Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Získejte personalizovaný obsah a zůstaňte v kontaktu se svou komunitou!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "uzivatel@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Obnovte své heslo", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Vytvořit účet", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Potřebujeme účet, abychom mohli bezpečně uložit vaše zdravotní údaje a pokračovat v hodnocení.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Opakovat", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Zopakujte své heslo", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Potvrdit", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Nemáte účet?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Už máte účet?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Vytvořte heslo", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Ověřit telefon", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Jaké je vaše číslo?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Pošleme kód pro ověření vašeho telefonu", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Číslo", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Zadejte telefonní číslo", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Čekejte {countdown} sekund", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Zadejte svůj kód", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Odeslali jsme kód na {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Nedostal(a) jste kód?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Klikněte pro opětovné odeslání", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Nový kód můžete požádat za {countdown} sekund", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Zavřít", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Zpět", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Podmínky služby", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Zásady ochrany osobních údajů", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Vítejte zpět", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Přihlaste se, pokud již máte účet Doctorina, nebo se zaregistrujte a začněte.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Od 8 do 128 znaků", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Alespoň 1 číslo", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Alespoň 1 velké písmeno", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Hesla se shodují", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Ověření jednorázového hesla se nezdařilo. Zkuste to prosím znovu.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Referral code", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Zadejte svůj referenční kód", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Např. TVŮRCE2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Máte referral kód?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_da.arb b/example/lib/src/l10n/sign_up/app_da.arb new file mode 100644 index 0000000..6fa1492 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_da.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "da", + "logIn": "Log ind", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Adgangskode", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Skift nummer", + "@changeNumber": {}, + "forgotPassword": "Glemt adgangskode?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Indtast din e-mailadresse, så sender vi dig et link til at nulstille din adgangskode.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Husk din adgangskode?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Jeg har et kodeord", + "@backToLoginButton": {}, + "continueButton": "Fortsæt", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "E-mail til nulstilling af adgangskode sendt", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Nulstil adgangskode", + "@resetPasswordButton": {}, + "confirmCodeButton": "Bekræft kode", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Begynd at bruge Doctorina i dag", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "Eller", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Indtast din adgangskode", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Vis adgangskode", + "@showPasswordHint": {}, + "obscurePasswordHint": "Skjul adgangskoden", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Ryd login", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email eller telefon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com eller +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Indtast e-mail eller telefonnummer", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Venligst accepter aftalerne for at fortsætte", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Jeg samtykker til behandlingen af personoplysninger,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "brugen af", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", accepterer", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "vilkår og betingelser", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", og anerkende det", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "privatlivspolitik", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Jeg anerkender, at min konsultation er med en AI og ikke en autoriseret sundhedsprofessionel.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Log ud", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Er du sikker på, at du vil logge ud?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Annuller", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Ja, log ud", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Send koden igen", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Send kode igen ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Jeg samtykker til behandlingen af personlige data, brugen af cookies, accepterer vilkår og betingelser, og anerkender

privatlivspolitikken

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Indtast din e-mail", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Tilmeld med e-mail", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Log ind med email", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Indtast dit telefonnummer", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Bekræft din telefon", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Tilmeld", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Indtast e-mail", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Tilmeld dig med Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Tilmeld med Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Tilmeld dig med telefon", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Log ind med Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Log ind med Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Log ind med telefon", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Du er logget ud", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Genindlæs", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Ugyldig e-mailadresse", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Adgangskoden skal være på mindst 6 tegn", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Ugyldigt telefonnummer: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Vent venligst {seconds} sekunder, før du anmoder om en ny kode.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Ugyldig telefonkode: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Vilkår og betingelser", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Fortsæt som gæst", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Har du ikke en konto endnu?

Tilmeld dig

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Har du allerede en konto?

Log ind

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Du skal tilmelde dig, før du kan fortsætte med Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Få personligt indhold og hold kontakten med dit fællesskab!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Gendan dit kodeord", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Opret en konto", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Vi har brug for en konto for sikkert at gemme dine sundhedsdata og fortsætte din vurdering.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Gentag", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Gentag dit kodeord", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Bekræft", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Har du ikke en konto?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Har du allerede en konto?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Opret en adgangskode", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Bekræft telefon", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Hvad er dit nummer?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Vi sender en kode via sms for at bekræfte dit telefonnummer", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Nummer", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Indtast telefonnummer", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Vent {countdown} sekunder", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Indtast din kode", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Vi har sendt en kode til {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Modtog du ikke koden?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Klik for at gensende", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Du kan anmode om en ny kode om {countdown} sekunder", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Luk", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Tilbage", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Brugsvilkår", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Privatlivspolitik", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Velkommen tilbage", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Log ind, hvis du allerede har en Doctorina-konto, eller tilmeld dig for at komme i gang.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Fra 8 til 128 tegn", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Mindst 1 tal", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Mindst 1 stort bogstav", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Adgangskoderne matcher", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP-bekræftelse mislykkedes. Prøv igen.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Henvisningskode", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Indtast din henvisningskode", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "f.eks. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Har du en henvisningskode?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_de.arb b/example/lib/src/l10n/sign_up/app_de.arb new file mode 100644 index 0000000..5d47202 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_de.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "de", + "logIn": "Anmelden", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Passwort", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Nummer ändern", + "@changeNumber": {}, + "forgotPassword": "Passwort vergessen?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Geben Sie Ihre E-Mail-Adresse ein, und wir senden Ihnen einen Link zum Zurücksetzen Ihres Passworts.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Passwort wieder eingefallen?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Ich habe ein Passwort", + "@backToLoginButton": {}, + "continueButton": "Weiter", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "E-Mail zum Zurücksetzen des Passworts wurde gesendet.", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Passwort zurücksetzen", + "@resetPasswordButton": {}, + "confirmCodeButton": "Code bestätigen", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Entdecke Doctorina – starte noch heute", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "ODER", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Passwort für die E-Mail eingeben", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Geben Sie Ihr Passwort ein", + "@showPasswordHint": {}, + "obscurePasswordHint": "Passwort verbergen", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Anmeldedaten löschen", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "E-Mail oder Telefonnummer", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com oder +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": " E-Mail oder Telefonnummer eingeben", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Bitte akzeptieren Sie die Vereinbarungen, um fortzufahren.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Ich stimme der Verarbeitung personenbezogener Daten zu,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "der Verwendung von ", + "@consentTheUseOf": {}, + "consentCookies": "Cookies", + "@consentCookies": {}, + "consentAgreeToThe": "den", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "Allgemeinen Geschäftsbedingungen zu,", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": "und nehme die", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "Datenschutzerklärung zur Kenntnis", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Ich erkenne an, dass meine Beratung mit einer KI und nicht mit einem lizenzierten medizinischen Fachmann erfolgt.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Abmelden", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Möchten Sie sich wirklich abmelden?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Abbrechen", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Ja, abmelden", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Code erneut senden", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Code erneut senden ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Ich stimme der Verarbeitung personenbezogener Daten zu, der Verwendung von Cookies, den Nutzungsbedingungen zu und erkenne die

Datenschutzrichtlinie

an.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Geben Sie Ihre E-Mail ein", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Mit E-Mail registrieren", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Mit E-Mail anmelden", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Geben Sie Ihr Telefon ein", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Bestätige dein Telefon", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Registrieren", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "E-Mail eingeben", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Mit Google registrieren", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Mit Apple registrieren", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Mit Telefon registrieren", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Mit Google anmelden", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Mit Apple anmelden", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Mit Telefon anmelden", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Sie sind abgemeldet", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Neu laden", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Ungültige E-Mail-Adresse", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Das Passwort muss mindestens 6 Zeichen lang sein", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Ungültige Telefonnummer: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Bitte warte {seconds} Sekunden, bevor du einen neuen Code anforderst.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Ungültiger Telefoncode: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Geschäftsbedingungen", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Als Gast fortfahren", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Noch kein Konto?

Registrieren

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Bereits ein Konto?

Anmelden

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Sie müssen sich anmelden, bevor Sie mit Premium fortfahren können", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Erhalten Sie personalisierte Inhalte und bleiben Sie mit Ihrer Community in Kontakt!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-Mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "benutzername@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Passwort wiederherstellen", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Ein Konto erstellen", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Wir benötigen ein Konto, um Ihre Gesundheitsdaten sicher zu speichern und Ihre Bewertung fortzusetzen.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Wiederholen", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Wiederholen Sie Ihr Passwort", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Bestätigen", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Haben Sie kein Konto?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Haben Sie bereits ein Konto?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Ein Passwort erstellen", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Telefon verifizieren", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Was ist Ihre Nummer?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Wir senden Ihnen einen Code per SMS zur Verifizierung Ihres Telefons", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Nummer", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Telefonnummer eingeben", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+49 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Warten Sie {countdown} Sekunden", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Geben Sie Ihren Code ein", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Wir haben einen Code an {phone} gesendet", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Haben Sie den Code nicht erhalten?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Klicken Sie hier, um erneut zu senden", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Sie können in {countdown} Sekunden einen neuen Code anfordern", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Schließen", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Zurück", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Nutzungsbedingungen", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Datenschutzrichtlinie", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Willkommen zurück", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Melden Sie sich an, wenn Sie bereits ein Doctorina-Konto haben, oder registrieren Sie sich, um loszulegen.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Von 8 bis 128 Zeichen", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Mindestens 1 Zahl", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Mindestens 1 Großbuchstabe", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Passwörter stimmen überein", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Die OTP-Verifizierung ist fehlgeschlagen. Bitte versuchen Sie es erneut.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Empfehlungscode", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Geben Sie Ihren Empfehlungs-Code ein", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Z.B. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Haben Sie einen Empfehlungs-Code?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_el.arb b/example/lib/src/l10n/sign_up/app_el.arb new file mode 100644 index 0000000..97aa24b --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_el.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "el", + "logIn": "Σύνδεση", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Κωδικός πρόσβασης", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Αλλαγή αριθμού", + "@changeNumber": {}, + "forgotPassword": "Ξέχασες τον κωδικό πρόσβασης;", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Εισάγετε τη διεύθυνση email σας και θα σας στείλουμε έναν σύνδεσμο για να επαναφέρετε τον κωδικό πρόσβασής σας.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Θυμάστε τον κωδικό σας;", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Έχω έναν κωδικό πρόσβασης", + "@backToLoginButton": {}, + "continueButton": "Συνέχεια", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Εστάλη email επαναφοράς κωδικού πρόσβασης", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Επαναφορά κωδικού πρόσβασης", + "@resetPasswordButton": {}, + "confirmCodeButton": "Επιβεβαίωση κωδικού", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Ξεκινήστε να χρησιμοποιείτε το Doctorina σήμερα", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "Ή", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Εισάγετε τον κωδικό πρόσβασής σας", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Εμφάνιση κωδικού πρόσβασης", + "@showPasswordHint": {}, + "obscurePasswordHint": "Obscure password", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Καθαρισμός σύνδεσης", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email ή τηλέφωνο", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com ή +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Εισάγετε email ή αριθμό τηλεφώνου", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Παρακαλώ αποδεχθείτε τις συμφωνίες για να συνεχίσετε", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Συμφωνώ με την επεξεργασία προσωπικών δεδομένων,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "η χρήση του", + "@consentTheUseOf": {}, + "consentCookies": "μπισκότα", + "@consentCookies": {}, + "consentAgreeToThe": ", συμφωνώ με το", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "όροι και προϋποθέσεις", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", και αναγνωρίζω το", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "πολιτική απορρήτου", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Αναγνωρίζω ότι η διαβούλευσή μου είναι με μια AI και όχι με έναν αδειοδοτημένο ιατρικό επαγγελματία.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Αποσύνδεση", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Είστε σίγουροι ότι θέλετε να αποσυνδεθείτε;", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Ακύρωση", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Ναι, αποσύνδεση", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Αποστολή κωδικού ξανά", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Επαναποστολή κωδικού ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Συμφωνώ με την επεξεργασία προσωπικών δεδομένων, τη χρήση cookies, συμφωνώ με τους όρους και προϋποθέσεις και αναγνωρίζω την

πολιτική απορρήτου

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Εισάγετε το email σας", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Εγγραφείτε με email", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Σύνδεση με email", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Εισάγετε το τηλέφωνό σας", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Επιβεβαιώστε το τηλέφωνό σας", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Εγγραφή", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Εισάγετε email", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Εγγραφείτε με το Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Εγγραφείτε με Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Εγγραφείτε με τηλέφωνο", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Σύνδεση με Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Σύνδεση με Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Σύνδεση με τηλέφωνο", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Έχετε αποσυνδεθεί", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Ανανέωση", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Μη έγκυρη διεύθυνση email", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Ο κωδικός πρέπει να αποτελείται από τουλάχιστον 6 χαρακτήρες", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Μη έγκυρος αριθμός τηλεφώνου: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Παρακαλώ περιμένετε {seconds} δευτερόλεπτα πριν ζητήσετε νέο κωδικό.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Μη έγκυρος κωδικός τηλεφώνου: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Όροι και προϋποθέσεις", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Συνεχίστε ως επισκέπτης", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Δεν έχεις λογαριασμό ακόμα?

Εγγραφή

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Έχετε ήδη λογαριασμό;

Σύνδεση

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Πρέπει να εγγραφείτε πριν μπορέσετε να συνεχίσετε με το Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Αποκτήστε εξατομικευμένο περιεχόμενο και μείνετε σε επαφή με την κοινότητά σας!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Ανακτήστε τον κωδικό πρόσβασής σας", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Δημιουργία λογαριασμού", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Χρειαζόμαστε έναν λογαριασμό για να αποθηκεύσουμε με ασφάλεια τα δεδομένα υγείας σας και να συνεχίσουμε την αξιολόγησή σας.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Επανάληψη", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Επαναλάβετε τον κωδικό σας", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Επιβεβαίωση", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Δεν έχετε λογαριασμό;", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Έχετε ήδη λογαριασμό;", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Δημιουργήστε έναν κωδικό πρόσβασης", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Τηλέφωνο", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Επιβεβαίωση Τηλεφώνου", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Ποιος είναι ο αριθμός σας;", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Θα στείλουμε έναν κωδικό για να επιβεβαιώσετε το τηλέφωνό σας", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Αριθμός", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Εισάγετε αριθμό τηλεφώνου", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+30 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Περιμένετε {countdown} δευτερόλεπτα", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Εισάγετε τον κωδικό σας", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Στείλαμε έναν κωδικό στο {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Δεν λάβατε τον κωδικό;", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Κάντε κλικ για να ξαναστείλετε", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Μπορείτε να ζητήσετε νέο κωδικό σε {countdown} δευτερόλεπτα", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Κλείσιμο", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Πίσω", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Όροι Υπηρεσίας", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Πολιτική Απορρήτου", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Καλώς ήρθατε πίσω", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Συνδεθείτε αν έχετε ήδη λογαριασμό Doctorina ή εγγραφείτε για να ξεκινήσετε.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Από 8 έως 128 χαρακτήρες", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "τουλάχιστον 1 αριθμός", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "τουλάχιστον 1 κεφαλαίο γράμμα", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Οι κωδικοί πρόσβασης ταιριάζουν", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Η επαλήθευση OTP απέτυχε. Δοκιμάστε ξανά.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Κωδικός παραπομπής", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Εισάγετε τον κωδικό παραπομπής σας", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Π.χ. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Έχετε κωδικό παραπομπής;", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_en.arb b/example/lib/src/l10n/sign_up/app_en.arb new file mode 100644 index 0000000..0dde0d9 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_en.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "en", + "logIn": "Log in", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Password", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Change number", + "@changeNumber": {}, + "forgotPassword": "Forgot Password?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Enter your email address, and we’ll send you a link to reset your password.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Remember your password?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "I have a password", + "@backToLoginButton": {}, + "continueButton": "Continue", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Password reset email sent", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Reset password", + "@resetPasswordButton": {}, + "confirmCodeButton": "Confirm code", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Start using Doctorina today", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "OR", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Enter your password", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Show password", + "@showPasswordHint": {}, + "obscurePasswordHint": "Obscure password", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Clear login", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email or phone", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com or +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Enter email or phone number", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Please accept the agreements to continue.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "I consent to the processing of personal data,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "the use of", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", agree to the", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "terms and conditions", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", and acknowledge the ", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "privacy policy", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "I acknowledge that my consultation is with an AI and not a licensed medical professional.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Log out", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Are you sure to log out?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Cancel", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Yes, log out", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Resend code", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Resend code ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "I consent to the processing of personal data, the use of cookies, agree to the terms and conditions, and acknowledge the

privacy policy

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Enter your email", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Sign up with Email", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Log in with Email", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Enter your phone", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Confirm your phone", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Sign up", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Enter email", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Sign up with Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Sign up with Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Sign up with Phone", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Login with Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Login with Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Login with Phone", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "You are logged out", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Reload", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Invalid email address", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Password must be at least 6 characters long", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Invalid phone number: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Please wait {seconds} seconds before requesting a new code.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Invalid phone code: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Terms and conditions", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Continue as guest", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Don't have an account yet?

Sign up

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Already have an account?

Log in

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "You need to sign up before you can continue with Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Get personalized content and keep in touch with your community!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Recover your password", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Create an account", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "We need an account to securely save your health data and continue your assessment.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Repeat", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Repeat your password", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Confirm", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Don't have an account?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Already have an account?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Create a password", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Phone", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Verify Phone", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "What's your number?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "We'll text a code to verify your phone", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Number", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Enter phone number", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Wait {countdown} seconds", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Enter your code", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "We sent a code to {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Didn't receive the code?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Click to resend", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "You can request a new code in {countdown} seconds", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Close", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Back", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Terms of Service", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Privacy Policy", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Welcome back", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Log in if you already have a Doctorina account, or sign up to get started.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "From 8 to 128 characters", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "At least 1 number", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "At least 1 uppercase letter", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Passwords match", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP verification failed. Please try again.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Referral code", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Enter your referral code", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "E.G. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Have a referral code?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_es.arb b/example/lib/src/l10n/sign_up/app_es.arb new file mode 100644 index 0000000..be8d12d --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_es.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "es", + "logIn": "Iniciar sesión", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Contraseña", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Cambiar número", + "@changeNumber": {}, + "forgotPassword": "¿Olvidaste tu contraseña?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Ingresa tu dirección de correo electrónico y te enviaremos un enlace para restablecer tu contraseña.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "¿Recuerdas tu contraseña?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Tengo una contraseña", + "@backToLoginButton": {}, + "continueButton": "Continuar", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Correo electrónico para restablecer la contraseña enviado", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Restablecer contraseña", + "@resetPasswordButton": {}, + "confirmCodeButton": "Confirmar código", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Descubre Doctorina — empieza hoy", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "O", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Introduce tu contraseña", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Mostrar contraseña", + "@showPasswordHint": {}, + "obscurePasswordHint": "Ocultar contraseña", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Borrar inicio de sesión", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Correo electrónico o teléfono", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com o +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Enter email or phone number", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Por favor, acepta los acuerdos para continuar.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Consiento el procesamiento de datos personales,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "el uso de", + "@consentTheUseOf": {}, + "consentCookies": "cookies,", + "@consentCookies": {}, + "consentAgreeToThe": "acepto los", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "términos y condiciones,", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": "y reconozco la", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "política de privacidad", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Reconozco que mi consulta es con una IA y no con un profesional médico licenciado.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Cerrar sesión", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "¿Estás seguro de que deseas cerrar sesión?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Cancelar", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Sí, cerrar sesión", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Reenviar código", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Reenviar código ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Consiento el procesamiento de datos personales, el uso de cookies, acepto los términos y condiciones, y reconozco la

política de privacidad

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Introduce tu correo electrónico", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Regístrate con correo electrónico", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Iniciar sesión con correo electrónico", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Introduce tu teléfono", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Confirma tu teléfono", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Regístrate", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Introduce el correo electrónico", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Regístrate con Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Regístrate con Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Regístrate con teléfono", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Iniciar sesión con Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Iniciar sesión con Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Iniciar sesión con teléfono", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Has cerrado sesión", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Recargar", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Dirección de correo electrónico no válida", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "La contraseña debe tener al menos 6 caracteres", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Número de teléfono no válido: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Por favor, espera {seconds} segundos antes de solicitar un nuevo código.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Código de teléfono inválido: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Términos y condiciones", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Continuar como invitado", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "¿Aún no tienes una cuenta?

Regístrate

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "¿Ya tienes una cuenta?

Iniciar sesión

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Necesitas registrarte antes de poder continuar con Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "¡Obtén contenido personalizado y mantente en contacto con tu comunidad!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "Correo electrónico", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Recupera tu contraseña", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Crear una cuenta", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Necesitamos una cuenta para guardar de forma segura tus datos de salud y continuar con tu evaluación.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Repetir", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Repite tu contraseña", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Confirmar", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "¿No tienes una cuenta?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "¿Ya tienes una cuenta?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Crea una contraseña", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Teléfono", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Verificar teléfono", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "¿Cuál es tu número?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Te enviaremos un código para verificar tu teléfono", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Número", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Ingrese el número de teléfono", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Espera {countdown} segundos", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Ingresa tu código", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Enviamos un código a {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "¿No recibiste el código?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Haz clic para reenviar", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Puedes solicitar un nuevo código en {countdown} segundos", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Cerrar", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Atrás", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Términos de servicio", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Política de privacidad", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Bienvenido de nuevo", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Inicia sesión si ya tienes una cuenta de Doctorina, o regístrate para comenzar.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "De 8 a 128 caracteres", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Al menos 1 número", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Al menos 1 letra mayúscula", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Las contraseñas coinciden", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "La verificación del código OTP falló. Inténtelo de nuevo.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Código de referencia", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Ingresa tu código de referencia", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Ej. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "¿Tienes un código de referencia?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_fa.arb b/example/lib/src/l10n/sign_up/app_fa.arb new file mode 100644 index 0000000..7d05c69 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_fa.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "fa", + "logIn": "ورود", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "رمز عبور", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "تغییر شماره", + "@changeNumber": {}, + "forgotPassword": "رمز عبور را فراموش کرده‌اید?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "ایمیل خود را وارد کنید، و ما برای ریست کردن رمز عبورتان لینکی ارسال خواهیم کرد.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "رمز عبور خود را به خاطر دارید؟", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "من یک رمز عبور دارم", + "@backToLoginButton": {}, + "continueButton": "ادامه", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "ایمیل بازنشانی رمز عبور ارسال شد", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "بازنشانی رمز عبور", + "@resetPasswordButton": {}, + "confirmCodeButton": "تایید کد", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "امروز از Doctorina استفاده کنید", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "یا", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "رمز عبور خود را وارد کنید", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "نمایش رمز عبور", + "@showPasswordHint": {}, + "obscurePasswordHint": "مخفی کردن رمز عبور", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "پاک کردن ورود", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ایمیل یا تلفن", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com یا +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ایمیل یا شماره تلفن را وارد کنید", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "لطفاً موافقت‌نامه‌ها را برای ادامه بپذیرید.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "من به پردازش داده‌های شخصی رضایت می‌دهم,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "استفاده از", + "@consentTheUseOf": {}, + "consentCookies": "کوکی‌ها", + "@consentCookies": {}, + "consentAgreeToThe": ", موافقت می‌کنم", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "شرایط و ضوابط", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", و تأیید کنید", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "سیاست حفظ حریم خصوصی", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "من تأیید می‌کنم که مشاوره من با یک هوش مصنوعی است و با یک پزشک دارای مجوز نیست.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "خروج", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "آیا مطمئن هستید که می‌خواهید خارج شوید؟", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "لغو", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "بله، خروج", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "ارسال مجدد کد", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "ارسال مجدد کد ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "من به پردازش داده‌های شخصی، استفاده از کوکی‌ها، موافقت با شرایط و ضوابط و تأیید

سیاست حفظ حریم خصوصی

موافقت می‌کنم", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "ایمیل خود را وارد کنید", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ثبت‌نام با ایمیل", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ورود با ایمیل", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "تلفن خود را وارد کنید", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "تلفن خود را تایید کنید", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "ثبت‌نام", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ایمیل را وارد کنید", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "ثبت‌نام با Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "با Apple ثبت‌نام کنید", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "ثبت نام با تلفن", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "ورود با گوگل", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "ورود با Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "ورود با تلفن", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "شما خارج شده\u00174\u00174\u00174\u00174\u00174\u00174\u00174\u00174\u00174", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "بارگذاری مجدد", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "آدرس ایمیل نامعتبر", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "رمز عبور باید حداقل ۶ کاراکتر باشد", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "شماره تلفن نامعتبر: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "لطفاً قبل از درخواست کد جدید {seconds} ثانیه صبر کنید.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "کد تلفن نامعتبر: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "شرایط و ضوابط", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "به عنوان مهمان ادامه دهید", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "هنوز حساب کاربری ندارید؟

ثبت\u0000نام

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "قبلاً حساب کاربری دارید؟

ورود

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "شما باید ثبت نام کنید قبل از اینکه بتوانید با پریمیوم ادامه دهید", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "محتوای شخصی‌سازی شده دریافت کنید و با جامعه خود در ارتباط باشید!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ایمیل", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "رمز عبور خود را بازیابی کنید", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "یک حساب کاربری ایجاد کنید", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "ما به یک حساب کاربری نیاز داریم تا داده‌های سلامتی شما را به‌طور ایمن ذخیره کنیم و ارزیابی شما را ادامه دهیم.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "تکرار", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "رمز عبور خود را تکرار کنید", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "تأیید", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "حساب کاربری ندارید؟", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "قبلاً حساب دارید؟", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "یک رمز عبور ایجاد کنید", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "تلفن", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "تأیید شماره تلفن", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "شماره شما چیست؟", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "ما یک کد برای تأیید شماره تلفن شما ارسال خواهیم کرد", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "شماره", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "شماره تلفن را وارد کنید", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "منتظر بمانید {countdown} ثانیه", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "کد خود را وارد کنید", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "ما کدی به {phone} ارسال کردیم", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "کد را دریافت نکردید؟", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "کلیک کنید تا دوباره ارسال شود", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "شما می‌توانید در {countdown} ثانیه کد جدیدی درخواست کنید", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "بستن", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "بازگشت", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "شرایط استفاده", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "سیاست حفظ حریم خصوصی", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "خوش آمدید دوباره", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "اگر قبلاً حساب دکترینا دارید، وارد شوید یا برای شروع ثبت‌نام کنید.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "از ۸ تا ۱۲۸ کاراکتر", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "حداقل ۱ عدد", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "حداقل 1 حرف بزرگ", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "رمزهای عبور مطابقت دارند", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "تأیید OTP ناموفق بود. لطفاً دوباره امتحان کنید.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "کد ارجاع", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "کد ارجاع خود را وارد کنید", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "مثال: CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "کد ارجاع دارید؟", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_fr.arb b/example/lib/src/l10n/sign_up/app_fr.arb new file mode 100644 index 0000000..84e3599 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_fr.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "fr", + "logIn": "Se connecter", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Mot de passe", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Changer de numéro", + "@changeNumber": {}, + "forgotPassword": "Mot de passe oublié?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Entrez votre adresse e-mail, et nous vous enverrons un lien pour réinitialiser votre mot de passe.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Vous vous souvenez de votre mot de passe?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "J'ai un mot de passe", + "@backToLoginButton": {}, + "continueButton": "Continuer", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "E-mail de réinitialisation du mot de passe envoyée", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Réinitialiser le mot de passe", + "@resetPasswordButton": {}, + "confirmCodeButton": "Confirmer le code", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Commencez à utiliser Doctorina aujourd'hui", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "OU", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Entrez votre mot de passe", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Afficher le mot de passe", + "@showPasswordHint": {}, + "obscurePasswordHint": "Masquer le mot de passe", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Effacer la connexion", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email ou téléphone", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com ou +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Entrez l'email ou le numéro de téléphone", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Veuillez accepter les accords pour continuer.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Je consens au traitement des données personnelles,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "l'utilisation de", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", j'accepte", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "termes et conditions", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", et reconnais", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "politique de confidentialité", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Je reconnais que ma consultation se fait avec une IA et non avec un professionnel de santé agréé.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Se déconnecter", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Êtes-vous sûr de vouloir vous déconnecter?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Annuler", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Oui, se déconnecter", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Renvoyer le code", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Renvoyer le code ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Je consens au traitement des données personnelles, à l'utilisation des cookies, j'accepte les conditions générales, et je reconnais la

politique de confidentialité

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Entrez votre e-mail", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Inscrivez-vous avec votre e-mail", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Se connecter avec email", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Entrez votre téléphone", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Confirmez votre téléphone", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "S'inscrire", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Entrez votre email", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Inscrivez-vous avec Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Inscrivez-vous avec Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Inscrivez-vous avec téléphone", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Se connecter avec Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Se connecter avec Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Se connecter avec le téléphone", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Vous êtes déconnecté", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Recharger", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Adresse e-mail invalide", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Le mot de passe doit comporter au moins 6 caractères", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Numéro de téléphone invalide : {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Veuillez attendre {seconds} secondes avant de demander un nouveau code.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Code téléphone invalide: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Termes et conditions", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Continuer en tant qu'invité", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Vous n'avez pas encore de compte ?

Inscrivez-vous

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Vous avez déjà un compte ?

Se connecter

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Vous devez vous inscrire avant de pouvoir continuer avec Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Obtenez du contenu personnalisé et restez en contact avec votre communauté!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Récupérez votre mot de passe", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Créer un compte", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Nous avons besoin d'un compte pour sauvegarder en toute sécurité vos données de santé et continuer votre évaluation.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Répéter", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Répétez votre mot de passe", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Confirmer", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Vous n'avez pas de compte ?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Vous avez déjà un compte ?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Créer un mot de passe", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Téléphone", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Vérifier le téléphone", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Quel est votre numéro ?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Nous vous enverrons un code par SMS pour vérifier votre téléphone", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Numéro", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Entrez le numéro de téléphone", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+33 (0)1 55 01 23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Attendez {countdown} secondes", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Entrez votre code", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Nous avons envoyé un code à {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Vous n'avez pas reçu le code ?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Cliquez pour renvoyer", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Vous pouvez demander un nouveau code dans {countdown} secondes", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Fermer", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Retour", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Conditions d'utilisation", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Politique de confidentialité", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Bienvenue de nouveau", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Connectez-vous si vous avez déjà un compte Doctorina, ou inscrivez-vous pour commencer.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "De 8 à 128 caractères", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Au moins 1 chiffre", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Au moins 1 lettre majuscule", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Les mots de passe correspondent", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "La vérification du code OTP a échoué. Veuillez réessayer.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Code de parrainage", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Entrez votre code de parrainage", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "C.-à-d. CRÉATEUR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Avez-vous un code de parrainage ?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_gu.arb b/example/lib/src/l10n/sign_up/app_gu.arb new file mode 100644 index 0000000..5335fa3 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_gu.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "gu", + "logIn": "પ્રવેશ કરો", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "પાસવર્ડ", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "નંબર બદલો", + "@changeNumber": {}, + "forgotPassword": "પાસવર્ડ ભૂલી ગયા?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "તમારો ઇમેઇલ સરનામું દાખલ કરો, અને અમે તમારો પાસવર્ડ ફરીથી સેટ કરવા માટેનું લિંક મોકલીશું", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "તમારો પાસવર્ડ યાદ છે?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "મને પાસવર્ડ છે", + "@backToLoginButton": {}, + "continueButton": "ચાલુ રાખો", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "પાસવર્ડ રીસેટ ઇમેઇલ મોકલવામાં આવ્યો", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "પાસવર્ડ રીસેટ કરો", + "@resetPasswordButton": {}, + "confirmCodeButton": "કોડની પુષ્ટિ કરો", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "આજેજ Doctorina નો ઉપયોગ શરૂ કરો", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "અથવા", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "તમારો પાસવર્ડ દાખલ કરો", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "પાસવર્ડ બતાવો", + "@showPasswordHint": {}, + "obscurePasswordHint": "પાસવર્ડ છુપાવો", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "લૉગિન સાફ કરો", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ઈમેલ અથવા ફોન", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com અથવા +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ઇમેઇલ અથવા ફોન નંબર દાખલ કરો", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "કૃપા કરીને ચાલુ રાખવા માટે કરારો સ્વીકારો.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "હું અંગત ડેટાનો પ્રોસેસિંગ કરવા માટે સંમતિ આપું છું,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "ઉપયોગનો", + "@consentTheUseOf": {}, + "consentCookies": "કૂકીઝ", + "@consentCookies": {}, + "consentAgreeToThe": ", મંજૂરી આપો", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "શરતો અને નિયમો", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", અને સ્વીકારવું", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "ગોપનીયતા નીતિ", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "હું સ્વીકારું છું કે મારી સલાહકાર બેઠક એ AI સાથે છે અને લાઈસન્સ ધરાવતા ચિકિત્સક નથી.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "લૉગ આઉટ", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "શું તમે ખરેખર લૉગ આઉટ થવા માંગો છો?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "રદ કરો", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "હા, લૉગ આઉટ", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "કોડ ફરી મોકલો", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "કોડ ફરી મોકલો ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "હું વ્યક્તિગત ડેટાની પ્રક્રિયા માટે સંમતિ આપું છું, કૂકીઝ નો ઉપયોગ, શરતો અને નિયમો સાથે સંમત છું, અને

ગોપનીયતા નીતિ

ને માન્ય રાખું છું", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "તમારો ઇમેઇલ દાખલ કરો", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ઇમેલથી સાઇન અપ કરો", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ઇમેઇલથી લૉગિન કરો", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "તમારો ફોન દાખલ કરો", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "તમારો ફોન પુષ્ટિ કરો", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "સાઇન અપ કરો", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ઇમેઇલ દાખલ કરો", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google સાથે સાઇન અપ કરો", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple સાથે સાઇન અપ કરો", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "ફોન દ્વારા સાઇન અપ કરો", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google વડે લૉગિન કરો", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple સાથે લોગિન કરો", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "ફોનથી લોગિન કરો", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "તમે લોગ આઉટ થયા છો", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "રિલોડ કરો", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "અમાન્ય ઇમેઇલ સરનામું", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "પાસવર્ડ ઓછામાં ઓછી 6 અક્ષરોનો હોવો જોઈએ", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "અમાન્ય ફોન નંબર: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "કૃપા કરીને {seconds} સેકન્ડ રાહ જુઓ, પછી નવો કોડ માટે વિનંતી કરો.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "અમાન્ય ફોન કોડ: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "શરતો અને નિબંધનો", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "અતિથિ તરીકે ચાલુ રાખો", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "હજુ સુધી કોઈ એકાઉન્ટ નથી?

સાઈન અપ કરો

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "પહેલાથી એકાઉન્ટ છે?

લોગ ઇન કરો

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "તમે પ્રીમિયમ સાથે આગળ વધવા માટે સાઇન અપ કરવો જરૂરી છે", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "વ્યક્તિગત સામગ્રી મેળવો અને તમારી સમુદાય સાથે સંપર્કમાં રહો!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ઈમેલ", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "તમારો પાસવર્ડ પુનઃપ્રાપ્ત કરો", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "ખાતું બનાવો", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "અમે તમારા આરોગ્યના ડેટાને સુરક્ષિત રીતે સાચવવા અને તમારી મૂલ્યાંકનને ચાલુ રાખવા માટે એક ખાતાની જરૂર છે.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "ફરીથી", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "તમારો પાસવર્ડ પુનરાવર્તિત કરો", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "પુષ્ટિ કરો", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "તમે ખાતું નથી રાખતા?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "તમે પહેલેથી જ એક ખાતું ધરાવો છો?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "રહસ્યકોડ બનાવો", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "ફોન", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "ફોનની પુષ્ટિ કરો", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "તમારો નંબર શું છે?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "અમે તમારા ફોનને માન્યતા આપવા માટે કોડ મોકલશું", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "નંબર", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "ફોન નંબર દાખલ કરો", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "વેઇટ {countdown} સેકન્ડ", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "તમારો કોડ દાખલ કરો", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "અમે {phone} પર એક કોડ મોકલ્યો છે", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "કોડ મળ્યો નથી?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "ફરીથી મોકલવા માટે ક્લિક કરો", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "તમે {countdown} સેકન્ડમાં નવો કોડ માંગો છો", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "બંધ કરો", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "પાછળ", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "સેવા શરતો", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "ગોપનીયતા નીતિ", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "ફરીથી સ્વાગત છે", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "જો તમારી પાસે પહેલેથી જ Doctorina ખાતું છે તો લોગિન કરો, અથવા શરૂ કરવા માટે સાઇન અપ કરો.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 થી 128 અક્ષરો", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "કમથી કમ 1 નંબર", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "કમથી કમ 1 મોટા અક્ષર", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "પાસવર્ડ મેળ ખાતા છે", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP ચકાસણી નિષ્ફળ ગઈ. કૃપા કરીને ફરી પ્રયાસ કરો.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "રેફરલ કોડ", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "તમારો રેફરલ કોડ દાખલ કરો", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "ઉદાહરણ CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "શું તમારી પાસે રેફરલ કોડ છે?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_he.arb b/example/lib/src/l10n/sign_up/app_he.arb new file mode 100644 index 0000000..2499781 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_he.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "he", + "logIn": "התחבר", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "סיסמה", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "שנה מספר", + "@changeNumber": {}, + "forgotPassword": "שכחת את הסיסמה?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "הכנס את כתובת האימייל שלך, ונשלח לך קישור לאיפוס הסיסמה.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "האם אתה זוכר את הסיסמה שלך?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "יש לי סיסמה", + "@backToLoginButton": {}, + "continueButton": "המשך", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "אימייל לאיפוס הסיסמה נשלח", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "אפס סיסמה", + "@resetPasswordButton": {}, + "confirmCodeButton": "אשר קוד", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "התחל להשתמש ב-Doctorina היום", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "או", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "הזן את הסיסמה שלך", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "הצג סיסמה", + "@showPasswordHint": {}, + "obscurePasswordHint": "הסתר סיסמה", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "נקה התחברות", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "אימייל או טלפון", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com או +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "הזן דוא\"ל או מספר טלפון", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "אנא אשר את ההסכמים כדי להמשיך.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "אני מסכים לעיבוד נתונים אישיים,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "השימוש ב", + "@consentTheUseOf": {}, + "consentCookies": "עוגיות", + "@consentCookies": {}, + "consentAgreeToThe": ", מסכים ל", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "תנאים והגבלות", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", ולאשר", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "מדיניות פרטיות", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "אני מאשר שההתייעצות שלי היא עם בינה מלאכותית ולא עם איש מקצוע רפואי מורשה.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "התנתק", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "האם אתה בטוח שברצונך להתנתק?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "ביטול", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "כן, התנתק", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "שלח קוד מחדש", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "שלח קוד מחדש ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "אני מסכים לעיבוד נתונים אישיים, לשימוש בעוגיות, מסכים לתנאים והגבלות, ומאשר את

מדיניות הפרטיות

", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "הזן את האימייל שלך", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "הירשם עם דוא\"ל", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "התחבר עם דוא\u00030", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "הכנס את הטלפון שלך", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "אשר את הטלפון שלך", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "הרשם", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "הזן דואר אלקטרוני", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "הרשמה באמצעות Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "הירשם עם Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "הרשם עם טלפון", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "התחבר עם Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "התחבר עם Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "התחבר עם הטלפון", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "התנתקת", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "טעינה מחדש", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "כתובת דוא\"ל לא חוקית", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "הסיסמה חייבת להכיל לפחות 6 תווים", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "מספר טלפון לא תקין: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "אנא המתן {seconds} שניות לפני בקשת קוד חדש.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "קוד טלפון לא חוקי: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "תנאים והגבלות", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "המשך כאורח", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "עוד אין לך חשבון?

הרשם

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "כבר יש חשבון?

התחבר

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "עליך להירשם לפני שתוכל להמשיך עם פרימיום", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "קבל תוכן מותאם אישית ושמור על קשר עם הקהילה שלך!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "דוא\"ל", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "שחזר את הסיסמה שלך", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "צור חשבון", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "אנחנו צריכים חשבון כדי לשמור בצורה מאובטחת את נתוני הבריאות שלך ולהמשיך את ההערכה שלך.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "חזור", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "חזור על הסיסמה שלך", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "אישור", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "אין לך חשבון?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "כבר יש לך חשבון?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "צור סיסמה", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "טלפון", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "אמת את הטלפון", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "מה המספר שלך?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "נשלח קוד לאימות הטלפון שלך", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "מספר", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "הזן מספר טלפון", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "חכה {countdown} שניות", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "הכנס את הקוד שלך", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "שלחנו קוד ל-{phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "לא קיבלת את הקוד?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "לחץ כדי לשלוח מחדש", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "תוכל לבקש קוד חדש בעוד {countdown} שניות", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "סגור", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "חזרה", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "תנאי שירות", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "מדיניות פרטיות", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "ברוך שובך", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "התחבר אם כבר יש לך חשבון Doctorina, או הירשם כדי להתחיל.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "מ-8 עד 128 תווים", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "לפחות 1 מספר", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "לפחות 1 אות גדולה", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "הסיסמאות תואמות", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "אימות OTP נכשל. אנא נסה שוב.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "קוד הפניה", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "הזן את קוד ההפניה שלך", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "למשל: CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "יש לך קוד הפניה?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_hi.arb b/example/lib/src/l10n/sign_up/app_hi.arb new file mode 100644 index 0000000..f8874c0 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_hi.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "hi", + "logIn": "लॉग इन", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "पासवर्ड", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "नंबर बदलें", + "@changeNumber": {}, + "forgotPassword": "पासवर्ड भूल गए?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "अपना ईमेल पता दर्ज करें, और हम आपको अपना पासवर्ड रीसेट करने के लिए एक लिंक भेजेंगे.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "क्या आप अपना पासवर्ड याद करते हैं?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "मेरे पास पासवर्ड है", + "@backToLoginButton": {}, + "continueButton": "जारी रखें", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "पासवर्ड रीसेट ईमेल भेज दी गई", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "पासवर्ड रीसेट करें", + "@resetPasswordButton": {}, + "confirmCodeButton": "कोड की पुष्टि करें", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "आज ही Doctorina का उपयोग शुरू करें", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "या", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "अपना पासवर्ड दर्ज करें", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "पासवर्ड दिखाएँ", + "@showPasswordHint": {}, + "obscurePasswordHint": "पासवर्ड छिपाएं", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "लॉगिन साफ करें", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ईमेल या फोन", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com या +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ईमेल या फ़ोन नंबर दर्ज करें", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "जारी रखने के लिए कृपया समझौते स्वीकार करें.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "मैं व्यक्तिगत डेटा के प्रसंस्करण के लिए सहमति देता हूँ,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "का उपयोग", + "@consentTheUseOf": {}, + "consentCookies": "कुकीज़", + "@consentCookies": {}, + "consentAgreeToThe": ", सहमति देते हैं", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "नियम और शर्तें", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", और स्वीकारें", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "गोपनीयता नीति", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "मैं स्वीकार करता हूँ कि मेरा परामर्श एक एआई के साथ है और कोई लाइसेंस प्राप्त चिकित्सा पेशेवर नहीं है.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "लॉग आउट", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "क्या आप वाकई लॉग आउट करना चाहते हैं?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "रद्द करें", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "हाँ, लॉग आउट", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "कोड फिर से भेजें", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "कोड पुनः भेजें ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "मैं व्यक्तिगत डेटा की प्रोसेसिंग के लिए सहमति देता हूँ, कुकीज़ के उपयोग के लिए सहमत हूँ, नियम और शर्तें स्वीकार करता हूँ, और

गोपनीयता नीति

को स्वीकार करता हूँ।", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "अपना ईमेल दर्ज करें", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ईमेल से साइन अप करें", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ईमेल से लॉग इन करें", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "अपना फोन दर्ज करें", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "अपने फोन की पुष्टि करें", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "साइन अप करें", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ईमेल दर्ज करें", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google के साथ साइन अप करें", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple के साथ साइन अप करें", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "फोन से साइन अप करें", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google से लॉगिन करें", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple के साथ लॉगिन करें", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "फोन से लॉगिन करें", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "आप लॉग आउट हैं", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "पुनः लोड करें", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "अमान्य ईमेल पता", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "पासवर्ड कम से कम 6 अक्षरों का होना चाहिए", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "अमान्य फ़ोन नंबर: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "कृपया {seconds} सेकंड प्रतीक्षा करें, फिर नया कोड अनुरोध करें.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "अमान्य फोन कोड: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "नियम और शर्तें", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "अतिथि के रूप में जारी रखें", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "अभी तक खाता नहीं है?

साइन अप करें

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "पहले से खाता है?

लॉग इन करें

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "आपको प्रीमियम के साथ जारी रखने से पहले साइन अप करना होगा", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "व्यक्तिगत सामग्री प्राप्त करें और अपने समुदाय के साथ संपर्क में रहें!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ई-मेल", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "अपना पासवर्ड पुनर्प्राप्त करें", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "खाता बनाएं", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "हमें आपका स्वास्थ्य डेटा सुरक्षित रूप से सहेजने और आपकी मूल्यांकन प्रक्रिया को जारी रखने के लिए एक खाता चाहिए।", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "दोहराएँ", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "अपना पासवर्ड दोहराएँ", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "पुष्टि करें", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "क्या आपके पास खाता नहीं है?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "क्या आपके पास पहले से एक खाता है?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "एक पासवर्ड बनाएं", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "फोन", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "फोन की पुष्टि करें", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "आपका नंबर क्या है?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "हम आपके फोन की पुष्टि के लिए एक कोड भेजेंगे", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "नंबर", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "फोन नंबर दर्ज करें", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+91 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "{countdown} सेकंड प्रतीक्षा करें", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "कोड दर्ज करें", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "{phone} पर एक कोड भेजा गया है", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "क्या आपको कोड नहीं मिला?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "पुनः भेजने के लिए क्लिक करें", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "आप {countdown} सेकंड में एक नया कोड अनुरोध कर सकते हैं", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "बंद करें", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "वापस", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "सेवा की शर्तें", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "गोपनीयता नीति", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "स्वागत है वापस", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "यदि आपके पास पहले से Doctorina खाता है, तो लॉग इन करें, या शुरू करने के लिए साइन अप करें।", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 से 128 अक्षरों तक", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "कम से कम 1 संख्या", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "कम से कम 1 बड़े अक्षर", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "पासवर्ड मेल खाते हैं", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "ओटीपी सत्यापन विफल रहा। कृपया पुनः प्रयास करें।", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "रेफरल कोड", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "अपना रेफरल कोड दर्ज करें", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "उदाहरण: CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "क्या आपके पास रेफरल कोड है?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_hu.arb b/example/lib/src/l10n/sign_up/app_hu.arb new file mode 100644 index 0000000..072d99e --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_hu.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "hu", + "logIn": "Bejelentkezés", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Jelszó", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Szám megváltoztatása", + "@changeNumber": {}, + "forgotPassword": "Elfelejtette a jelszavát?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Írja be az e-mail címét, és küldünk Önnek egy linket a jelszó visszaállításához.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Emlékszik a jelszavára?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Van jelszavam", + "@backToLoginButton": {}, + "continueButton": "Folytatás", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Jelszó-visszaállító e-mail elküldve", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Jelszó visszaállítása", + "@resetPasswordButton": {}, + "confirmCodeButton": "Kód megerősítése", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Kezdje el használni a Doctorinát ma", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "VAGY", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Adja meg a jelszavát", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Jelszó megjelenítése", + "@showPasswordHint": {}, + "obscurePasswordHint": "Jelszó elrejtése", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Bejelentkezés törlése", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email vagy telefon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com vagy +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Adja meg az e-mail címét vagy a telefonszámát", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Kérjük, fogadja el a megállapodásokat a folytatáshoz.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Hozzájárulok a személyes adatok feldolgozásához,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "a használat", + "@consentTheUseOf": {}, + "consentCookies": "süti", + "@consentCookies": {}, + "consentAgreeToThe": ", egyetértek a", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "feltételek és kikötések", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", és elismeri a", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "adatvédelmi irányelv", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Elismerem, hogy a konzultációm egy mesterséges intelligenciával történik, és nem egy engedéllyel rendelkező egészségügyi szakemberrel.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Kijelentkezés", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Biztos, hogy ki szeretnél lépni?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Mégse", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Igen, kijelentkezés", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Kód újraküldése", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Kód újraküldése ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Hozzájárulok a személyes adatok feldolgozásához, a cookie használatához, egyetértek a feltételekkel, és tudomásul veszem a

adatvédelmi irányelveket

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Írd be az email címed", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "E-maillel regisztrálj", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Bejelentkezés e-maillel", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Adja meg a telefonját", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Erősítsd meg a telefonodat", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Regisztráció", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Írja be az e-mail címét", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Regisztrálj a Google-lal", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Regisztrálj az Apple-lel", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Regisztráljon telefonnal", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Bejelentkezés a Google fiókkal", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Bejelentkezés Apple-lal", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Bejelentkezés telefonnal", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Kijelentkeztél", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Újratöltés", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Érvénytelen e-mail cím", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "A jelszónak legalább 6 karakter hosszúnak kell lennie", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Érvénytelen telefonszám: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Kérjük, várjon {seconds} másodpercet, mielőtt új kódot kérne.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Érvénytelen telefonkód: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Felhasználási feltételek", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Folytatás vendégként", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Még nincs fiókod?

Regisztrálj

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Már van fiókod?

Bejelentkezés

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "A Premium folytatásához regisztrálnia kell", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Személyre szabott tartalmat kap, és kapcsolatban maradhat közösségével!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Állítsa vissza a jelszavát", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Fiók létrehozása", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Az egészségügyi adatai biztonságos tárolásához és az értékelés folytatásához szükség van egy fiókra.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Ismételje", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Ismételje meg a jelszavát", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Megerősít", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Nincs fiókja?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Már van fiókja?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Hozzon létre egy jelszót", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Telefon ellenőrzése", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Mi a számod?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Küldünk egy kódot a telefonod megerősítéséhez", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Szám", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Adja meg a telefonszámot", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+36 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Várj {countdown} másodpercet", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Írd be a kódodat", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Kódot küldtünk a(z) {phone} számra", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Nem kaptad meg a kódot?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Kattintson az újraküldéshez", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Új kódot kérhetsz {countdown} másodperc múlva", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Bezárás", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Vissza", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Szolgáltatási feltételek", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Adatvédelmi irányelv", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Üdvözöljük visszatérőként", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Jelentkezzen be, ha már van Doctorina fiókja, vagy regisztráljon a kezdéshez.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8-tól 128 karakterig", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Legalább 1 szám", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Legalább 1 nagybetű", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "A jelszavak egyeznek", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Az OTP ellenőrzése sikertelen. Próbáld újra.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Ajánló kód", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Írja be a referral kódját", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Pl. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Van ajánlói kódja?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_id.arb b/example/lib/src/l10n/sign_up/app_id.arb new file mode 100644 index 0000000..83d3a29 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_id.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "id", + "logIn": "Masuk", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Kata sandi", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Ubah nomor", + "@changeNumber": {}, + "forgotPassword": "Lupa Kata Sandi?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Masukkan alamat email Anda, dan kami akan mengirimkan tautan untuk mereset kata sandi Anda.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Ingat kata sandi Anda?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Saya memiliki kata sandi", + "@backToLoginButton": {}, + "continueButton": "Lanjutkan", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Email pengaturan ulang kata sandi telah dikirim", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Atur ulang kata sandi", + "@resetPasswordButton": {}, + "confirmCodeButton": "Konfirmasi kode", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Mulailah menggunakan Doctorina hari ini", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "ATAU", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Masukkan kata sandi Anda", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Tampilkan kata sandi", + "@showPasswordHint": {}, + "obscurePasswordHint": "Sembunyikan kata sandi", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Bersihkan login", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email atau telepon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com atau +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Masukkan email atau nomor telepon", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Harap terima perjanjian untuk melanjutkan.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Saya menyetujui pemrosesan data pribadi,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "penggunaan", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", setuju dengan", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "syarat dan ketentuan", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", dan akui", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "kebijakan privasi", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Saya menyadari bahwa konsultasi saya dilakukan oleh AI dan bukan oleh profesional medis berlisensi.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Keluar", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Anda yakin untuk keluar?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Batal", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Ya, keluar", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Kirim ulang kode", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Kirim ulang kode ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Saya setuju untuk pemrosesan data pribadi, penggunaan cookies, setuju dengan syarat dan ketentuan, dan mengakui

kebijakan privasi

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Masukkan email Anda", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Daftar dengan email", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Masuk dengan email", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Masukkan telepon Anda", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Konfirmasi telepon Anda", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Daftar", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Masukkan email", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Daftar dengan Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Daftar dengan Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Daftar dengan telepon", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Masuk dengan Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Masuk dengan Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Masuk dengan Ponsel", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Anda telah keluar", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Muat ulang", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Alamat email tidak valid", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Kata sandi harus terdiri dari minimal 6 karakter", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Nomor telepon tidak valid: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Harap tunggu {seconds} detik sebelum meminta kode baru.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Kode telepon tidak valid: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Syarat dan ketentuan", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Lanjutkan sebagai tamu", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Belum punya akun?

Daftar

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Sudah punya akun?

Masuk

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Anda perlu mendaftar sebelum Anda dapat melanjutkan dengan Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Dapatkan konten yang dipersonalisasi dan tetap terhubung dengan komunitas Anda!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Pulihkan kata sandi Anda", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Buat akun", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Kami memerlukan akun untuk menyimpan data kesehatan Anda dengan aman dan melanjutkan penilaian Anda.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Ulangi", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Ulangi kata sandi Anda", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Konfirmasi", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Tidak punya akun?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Sudah memiliki akun?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Buat kata sandi", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telepon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Verifikasi Telepon", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Apa nomormu?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Kami akan mengirimkan kode untuk memverifikasi ponsel Anda", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Nomor", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Masukkan nomor telepon", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+62 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Tunggu {countdown} detik", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Masukkan kode Anda", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Kami mengirimkan kode ke {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Tidak menerima kode?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Klik untuk mengirim ulang", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Anda dapat meminta kode baru dalam {countdown} detik", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Tutup", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Kembali", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Syarat Layanan", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Kebijakan Privasi", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Selamat datang kembali", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Masuk jika Anda sudah memiliki akun Doctorina, atau daftar untuk memulai.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Dari 8 hingga 128 karakter", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Setidaknya 1 angka", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Setidaknya 1 huruf kapital", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Kata sandi cocok", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Verifikasi OTP gagal. Silakan coba lagi.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Kode rujukan", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Masukkan kode rujukan Anda", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Cth. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Punya kode rujukan?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_it.arb b/example/lib/src/l10n/sign_up/app_it.arb new file mode 100644 index 0000000..197274d --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_it.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "it", + "logIn": "Accedi", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Password", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Cambia numero", + "@changeNumber": {}, + "forgotPassword": "Password dimenticata?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Inserisci il tuo indirizzo email, e ti invieremo un link per reimpostare la password.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Ricordi la tua password?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Ho una password", + "@backToLoginButton": {}, + "continueButton": "Continua", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Email di reimpostazione della password inviata", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Reimposta password", + "@resetPasswordButton": {}, + "confirmCodeButton": "Conferma codice", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Inizia a usare Doctorina oggi", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "O", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Inserisci la tua password", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Mostra password", + "@showPasswordHint": {}, + "obscurePasswordHint": "Nascondi password", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Cancella login", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email o telefono", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com o +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Inserisci email o numero di telefono", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Accetta gli accordi per continuare.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Acconsento al trattamento dei dati personali,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "l'uso di", + "@consentTheUseOf": {}, + "consentCookies": "cookie", + "@consentCookies": {}, + "consentAgreeToThe": ", accetto", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "termini e condizioni", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", e riconosci", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "informativa sulla privacy", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Riconosco che la mia consultazione è con un'IA e non con un medico abilitato.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Esci", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Sei sicuro di voler effettuare il logout?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Annulla", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Sì, esci", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Reinvia codice", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Invia nuovamente il codice ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Acconsento al trattamento dei dati personali, all'uso dei cookie, accetto i termini e le condizioni e riconosco la

politica sulla privacy

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Inserisci la tua email", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Iscriviti con email", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Accedi con email", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Inserisci il tuo telefono", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Conferma il tuo telefono", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Iscriviti", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Inserisci l'email", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Iscriviti con Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Iscriviti con Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Registrati con il telefono", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Accedi con Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Accedi con Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Accedi con il telefono", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Sei disconnesso", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Ricarica", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Indirizzo email non valido", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "La password deve contenere almeno 6 caratteri", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Numero di telefono non valido: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Attendi {seconds} secondi prima di richiedere un nuovo codice.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Codice telefono non valido: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Termini e condizioni", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Continua come ospite", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Non hai ancora un account?

Iscriviti

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Hai già un account?

Accedi

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Devi registrarti prima di poter continuare con Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Ottieni contenuti personalizzati e rimani in contatto con la tua comunità!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Recupera la tua password", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Crea un account", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Abbiamo bisogno di un account per salvare in modo sicuro i tuoi dati sanitari e continuare la tua valutazione.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Ripeti", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Ripeti la tua password", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Conferma", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Non hai un account?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Hai già un account?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Crea una password", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefono", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Verifica telefono", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Qual è il tuo numero?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Ti invieremo un codice per verificare il tuo telefono", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Numero", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Inserisci il numero di telefono", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+39 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Attendi {countdown} secondi", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Inserisci il tuo codice", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Abbiamo inviato un codice a {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Non hai ricevuto il codice?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Clicca per rinviare", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Puoi richiedere un nuovo codice tra {countdown} secondi", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Chiudi", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Indietro", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Termini di servizio", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Informativa sulla privacy", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Bentornato", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Accedi se hai già un account Doctorina, oppure registrati per iniziare.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Da 8 a 128 caratteri", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Almeno 1 numero", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Almeno 1 lettera maiuscola", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Le password corrispondono", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Verifica OTP non riuscita. Riprova.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Codice di riferimento", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Inserisci il tuo codice di referral", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "E.G. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Hai un codice di riferimento?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ja.arb b/example/lib/src/l10n/sign_up/app_ja.arb new file mode 100644 index 0000000..7e9766e --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ja.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ja", + "logIn": "ログイン", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "パスワード", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "番号を変更", + "@changeNumber": {}, + "forgotPassword": "パスワードをお忘れですか?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "メールアドレスを入力してください、パスワードリセット用のリンクを送ります", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "パスワードを覚えていますか?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "パスワードを持っています", + "@backToLoginButton": {}, + "continueButton": "続ける", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "パスワードリセット用のメールを送信しました", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "パスワードをリセット", + "@resetPasswordButton": {}, + "confirmCodeButton": "コードを確認", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "今日からDoctorinaを使い始めよう", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "または", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "パスワードを入力してください", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "パスワードを表示", + "@showPasswordHint": {}, + "obscurePasswordHint": "パスワードを隠す", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "ログインをクリア", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "メールまたは電話", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com または +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "メールまたは電話番号を入力", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "続けるには規約に同意してください", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "私は個人情報の処理に同意します,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "利用", + "@consentTheUseOf": {}, + "consentCookies": "クッキー", + "@consentCookies": {}, + "consentAgreeToThe": ", 同意する", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "利用規約", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", および承認する", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "プライバシーポリシー", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "私は、自分の相談がAIとのものであり、免許を持つ医療専門家ではないことを認めます", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "ログアウト", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "ログアウトしてもよろしいですか?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "キャンセル", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "はい、ログアウト", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "コードを再送", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "コードを再送信({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "私は個人データの処理、クッキーの使用、利用規約に同意し、

プライバシーポリシー

を認識します。", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "メールアドレスを入力", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "メールで登録", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "メールでログイン", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "電話番号を入力してください", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "電話を確認する", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "登録", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "メール入力", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Googleで登録する", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Appleで登録する", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "電話で登録する", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Googleでログイン", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Appleでログイン", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "電話でログイン", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "ログアウトしました", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "再読み込み", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "無効なメールアドレス", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "パスワードは6文字以上である必要があります", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "無効な電話番号: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "新しいコードをリクエストする前に{seconds}秒お待ちください。", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "無効な電話コード: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "利用規約", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "ゲストとして続ける", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "まだアカウントをお持ちでないですか?

サインアップ

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "すでにアカウントをお持ちですか?

ログイン

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "プレミアムを続行する前にサインアップする必要があります", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "パーソナライズされたコンテンツを取得し、コミュニティとつながりましょう!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "Eメール", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "パスワードを回復する", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "アカウントを作成", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "健康データを安全に保存し、評価を続けるためにアカウントが必要です。", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "繰り返す", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "パスワードを再入力してください", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "確認", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "アカウントをお持ちでないですか?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "すでにアカウントをお持ちですか?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "パスワードを作成する", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "電話", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "電話を確認する", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "あなたの番号は何ですか?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "あなたの電話を確認するためにコードをテキストで送ります", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "番号", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "電話番号を入力してください", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "{countdown}秒待ってください", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "コードを入力してください", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "{phone}にコードを送りました", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "コードが届きませんでしたか?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "再送信するにはクリックしてください", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "{countdown}秒後に新しいコードをリクエストできます", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "閉じる", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "戻る", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "利用規約", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "プライバシーポリシー", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "お帰りなさい", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "すでにDoctorinaアカウントをお持ちの場合はログインし、始めるにはサインアップしてください。", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8文字から128文字まで", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "数字を1つ以上含める必要があります", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "少なくとも1つの大文字", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "パスワードが一致します", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP認証に失敗しました。もう一度お試しください。", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "紹介コード", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "紹介コードを入力してください", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "例: CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "紹介コードはありますか?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_kk.arb b/example/lib/src/l10n/sign_up/app_kk.arb new file mode 100644 index 0000000..8d438b3 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_kk.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "kk", + "logIn": "Кіру", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Құпия сөз", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Нөмірді өзгерту", + "@changeNumber": {}, + "forgotPassword": "Пароліңізді ұмыттыңыз ба?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Электрондық поштаңызды енгізіңіз, біз сізге пароліңізді қалпына келтіру үшін сілтеме жібереміз.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Пароліңізді есіңізде сақтадыңыз ба?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Менде пароль бар", + "@backToLoginButton": {}, + "continueButton": "Жалғастыру", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Парольды қалпына келтіру электрондық поштасы жіберілді", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Парольды қалпына келтіру", + "@resetPasswordButton": {}, + "confirmCodeButton": "Кодты растау", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Бүгін Doctorina-ны пайдалана бастаңыз", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "НЕМЕСЕ", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Пароліңізді енгізіңіз", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Парольды көрсету", + "@showPasswordHint": {}, + "obscurePasswordHint": "Парольды жасыру", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Кіруді тазарту", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Электрондық пошта немесе телефон", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com немесе +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Электрондық пошта немесе телефон нөмірін енгізіңіз", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Келісімдерді қабылдаңыз, жалғастыру үшін.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Мен жеке деректерді өңдеуге келісемін,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "пайдалану", + "@consentTheUseOf": {}, + "consentCookies": "печенье", + "@consentCookies": {}, + "consentAgreeToThe": ", келісем", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "ережелер мен шарттар", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", және мойындаймын", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "жеке деректерді қорғау саясаты", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Менің консультациямның жасанды интеллектпен екенін және лицензияланған медициналық маманмен емес екенін растаймын.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Шығу", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Шығуға сенімдісіз бе?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Бас тарту", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Иә, шығу", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Кодты қайта жіберу", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Кодты қайта жіберу ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Мен жеке деректерімді өңдеуге, cookies пайдалануға, шарттар мен талаптарға келісемін және

жеке деректерді қорғау саясатын

қабылдаймын.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Электрондық поштаны енгізіңіз", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Электрондық пошта арқылы тіркелу", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Электрондық пошта арқылы кіру", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Телефоныңызды енгізіңіз", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Телефоныңызды растаңыз", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Тіркелу", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Электрондық поштаны енгізіңіз", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google арқылы тіркелу", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple арқылы тіркеліңіз", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Телефон арқылы тіркелу", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google арқылы кіру", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple арқылы кіру", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Телефон арқылы кіру", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Сіз жүйеден шықтыңыз", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Қайта жүктеу", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Жарамсыз электрондық пошта мекенжайы", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Құпиясөз кемінде 6 таңбадан тұруы керек", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Жарамсыз телефон нөмірі: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Жаңа кодты сұрамас бұрын {seconds} секунд күтіңіз.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Жарамсыз телефон коды: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Пайдалану шарттары", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Қонақ ретінде жалғастырыңыз", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Әлі аккаунт жоқ па?

Тіркелу

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Аккаунтыңыз бұрыннан бар ма?

Кіру

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Premium-мен жалғастыру үшін тіркелуіңіз керек", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Жеке контент алыңыз және қауымдастығыңызбен байланыста болыңыз!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "Электрондық пошта", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Пароліңізді қалпына келтіріңіз", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Есептік жазба жасау", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Денсаулық деректеріңізді қауіпсіз сақтау және бағалауыңызды жалғастыру үшін аккаунт қажет.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Қайталау", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Парольді қайталаңыз", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Растау", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Есептік жазбаңыз жоқ па?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Есептік жазбаңыз бар ма?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Пароль жасаңыз", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Телефон", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Телефонды растау", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Сіздің нөміріңіз қандай?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Біз телефон нөміріңізді растау үшін код жібереміз", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Нөмір", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Телефон нөмірін енгізіңіз", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+7 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Келесі OTP жіберу үшін {countdown} секунд күтіңіз", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Кодты енгізіңіз", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Біз кодты {phone} нөміріне жібердік", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Кодты алмадыңыз ба?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Қайта жіберу үшін басыңыз", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Сіз {countdown} секундтан кейін жаңа код сұрай аласыз", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Жабу", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Кері", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Қызмет көрсету шарттары", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Жекелік саясат", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Қайта оралуыңызбен", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Егер сізде Doctorina аккаунты болса, кіріңіз немесе бастау үшін тіркеліңіз.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8-ден 128-ге дейін символ", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Кемінде 1 сан", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Кемінде 1 бас әріп", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Парольдар сәйкес келеді", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP растау сәтсіз аяқталды. Қайталап көріңіз.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Сілтеме коды", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Сіздің рефералдық кодыңызды енгізіңіз", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Мысалы, CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Сізде реферал коды бар ма?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_km.arb b/example/lib/src/l10n/sign_up/app_km.arb new file mode 100644 index 0000000..1a4483a --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_km.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "km", + "logIn": "ចូល", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "ពាក្យសម្ងាត់", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "ប្តូរលេខ", + "@changeNumber": {}, + "forgotPassword": "ភ្លេចពាក្យសម្ងាត់?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "បញ្ចូលអាសយដ្ឋានអ៊ីមែលរបស់អ្នក ហើយយើងនឹងផ្ញើអ្នកតំណភ្ជាប់ដើម្បីកំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញ។", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "ចងចាំពាក្យសម្ងាត់របស់អ្នកទេ?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "ខ្ញុំមានពាក្យសម្ងាត់", + "@backToLoginButton": {}, + "continueButton": "បន្ត", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "អ៊ីមែលកំណត់ពាក្យសម្ងាត់ត្រូវបានផ្ញើ", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "កំណត់ពាក្យសម្ងាត់ឡើងវិញ", + "@resetPasswordButton": {}, + "confirmCodeButton": "បញ្ជាក់កូដ", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "ចាប់ផ្តើមប្រើ Doctorina ថ្ងៃនេះ", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "ឬ", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "បញ្ចូលពាក្យសម្ងាត់របស់អ្នក", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "បង្ហាញពាក្យសម្ងាត់", + "@showPasswordHint": {}, + "obscurePasswordHint": "Obscure password", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "សម្អាតការចូល", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "អ៊ីមែល ឬ ទូរស័ព្ទ", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com ឬ +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "បញ្ចូលអ៊ីមែលឬលេខទូរស័ព្ទ", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "សូមទទួលយកកិច្ចព្រមព្រៀងដើម្បីបន្ត", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "ខ្ញុំយល់ព្រមចំពោះការប្រតិបត្តិការទិន្នន័យផ្ទាល់ខ្លួន,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "ការប្រើប្រាស់", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", យល់ព្រម", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "កិច្ចព្រមព្រៀង និងលក្ខខណ្ឌ", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", និងទទួលស្គាល់ថា", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "គោលការណ៍ឯកជនភាព", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "ខ្ញុំទទួលស្គាល់ថាការពិភាក្សារបស់ខ្ញុំជាមួយAI ហើយមិនមែនជាជំនាញវេជ្ជសាស្ត្រដែលមានអាជ្ញាប័ណ្ណទេ", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "ចេញ", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "តើអ្នកប្រាកដថាចង់ចេញពីប្រព័ន្ធទេ?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "បោះបង់", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "បាទ ចេញ", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "ផ្ញើកូដម្តងទៀត", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "ផ្ញើកូដម្តងទៀត ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "ខ្ញុំយល់ព្រមចំពោះការប្រតិបត្តិការទិន្នន័យផ្ទាល់ខ្លួន ការប្រើប្រាស់ cookies យល់ព្រមទៅនឹង ល័ក្ខខ័ណ្ឌ និងលក្ខខណ្ឌ និងទទួលស្គាល់

គោលការណ៍ឯកជនភាព

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "បញ្ចូលអ៊ីមែលរបស់អ្នក", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ចុះឈ្មោះជាមួយអ៊ីមែល", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ចូលដោយអ៊ីមែល", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "បញ្ចូលលេខទូរស័ព្ទរបស់អ្នក", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "បញ្ជាក់ទូរស័ព្ទរបស់អ្នក", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "ចុះឈ្មោះ", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "បញ្ចូលអ៊ីមែល", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "ចុះឈ្មោះជាមួយ Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "ចុះឈ្មោះជាមួយ Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "ចុះឈ្មោះដោយប្រើទូរស័ព្ទ", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "ចូលដោយ Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "ចូលដោយ Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "ចូលដោយទូរស័ព្ទ", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "អ្នកចាកចេញរួចរាល់", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "បញ្ចូលឡើងវិញ", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "អាសយដ្ឋានអ៊ីមែលមិនត្រឹមត្រូវ", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "ពាក្យសម្ងាត់ត្រូវមានយ៉ាងហោច 6 តួអក្សរ", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "លេខទូរស័ព្ទមិនត្រឹមត្រូវ: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "សូម​រង់ចាំ {seconds} វិនាទី មុនពេលស្នើសុំ​កូដ​ថ្មី​មួយ។", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "លេខកូដទូរស័ព្ទមិនត្រឹមត្រូវ: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "លក្ខខណ្ឌ", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "បន្តជា​ភ្ញៀវ", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "មិនមានគណនីមួយទេ?

ចុះឈ្មោះ

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "មានគណនីរួចហើយ?

ចូល

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "អ្នកត្រូវចុះឈ្មោះមុនពេលអ្នកអាចបន្តជាមួយ Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "ទទួលបានមាតិកាដែលមានលក្ខណៈផ្ទាល់ខ្លួន និងរក្សាទំនាក់ទំនងជាមួយសហគមន៍របស់អ្នក!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "អ៊ីមែល", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "ស្ដារពាក្យសម្ងាត់របស់អ្នក", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "បង្កើតគណនី", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "យើងត្រូវការគណនីដើម្បីរក្សាទុកទិន្នន័យសុខភាពរបស់អ្នកយ៉ាងសុវត្ថិភាព និងបន្តការប៉ាន់ប្រមាណរបស់អ្នក។", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "កំណត់ឡើងវិញ", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "កំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញ", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "បញ្ជាក់", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "មិនមានគណនីទេ?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "មានគណនីរួចហើយឬ?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "បង្កើតពាក្យសម្ងាត់", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "ទូរស័ព្ទ", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "បញ្ជាក់លេខទូរស័ព្ទ", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "លេខរបស់អ្នកគឺអ្វី?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "យើងនឹងផ្ញើកូដមួយដើម្បីបញ្ជាក់លេខទូរស័ព្ទរបស់អ្នក", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "លេខ", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "បញ្ចូលលេខទូរស័ព្ទ", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "រង់ចាំ {countdown} វិនាទី", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "បញ្ចូលកូដរបស់អ្នក", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "យើងបានផ្ញើកូដទៅកាន់ {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "កូដមិនទទួលបានទេ?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "ចុចដើម្បីផ្ញើម្តងទៀត", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "អ្នកអាចស្នើសុំកូដថ្មីក្នុង {countdown} វិនាទី", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "បិទ", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "ត្រឡប់", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "ល័ក្ខខ័ណ្ឌសេវាកម្ម", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "គោលការណ៍ឯកជនភាព", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "សូមស្វាគមន៍ត្រឡប់មកវិញ", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "ចូលប្រើប្រាស់ប្រសិនបើអ្នកមានគណនី Doctorina ហើយ ឬចុះឈ្មោះដើម្បីចាប់ផ្តើម។", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "ពី ៨ ដល់ ១២៨ អក្សរ", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "យ៉ាងហោចណាស់ ១ លេខ", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "យ៉ាងហោចណាស់ ១ អក្សរ​ធំ", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "ពាក្យសម្ងាត់ត្រូវគ្នា", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "ការផ្ទៀងផ្ទាត់ OTP បានបរាជ័យ។ សូមព្យាយាមម្តងទៀត។", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "កូដយោង", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "បញ្ចូលកូដយោងរបស់អ្នក", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "ឧទាហរណ៍កូដយោងនៅក្នុងវាលបញ្ចូល", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "មានកូដយោងមែនទេ?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_kn.arb b/example/lib/src/l10n/sign_up/app_kn.arb new file mode 100644 index 0000000..a4b0183 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_kn.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "kn", + "logIn": "ಲಾಗ್ ಇನ್", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "ಪಾಸ್ವರ್ಡ್", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "ಸಂಖ್ಯೆ ಬದಲಾಯಿಸಿ", + "@changeNumber": {}, + "forgotPassword": "ನೀವು ಪಾಸ್ವರ್ಡ್ ಮರೆತಿದ್ದೀರಾ?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "ನಿಮ್ಮ ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ನಮೂದಿಸಿ, ಮತ್ತು ನಾವು ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಪುನಃ ಸೆಟಿಂಗ್‌ಗಾಗಿ ನಿಮಗೆ ಲಿಂಕ್ ಕಳುಹಿಸುತ್ತೇವೆ.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ನೆನೆಸುತ್ತೀರಾ?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "ನನಗೆ ಪಾಸ್ವರ್ಡ್ ಇದೆ", + "@backToLoginButton": {}, + "continueButton": "ಮುಂದುವರಿಯಿರಿ", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "ಪಾಸ್ವರ್ಡ್ ಪುನಃ ಸೆಟಿಂಗ್ ಇಮೇಲ್ ಕಳುಹಿಸಲಾಗಿದೆ", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "ಪಾಸ್ವರ್ಡ್ ಪುನಃ ಸೆಟ್ ಮಾಡಿ", + "@resetPasswordButton": {}, + "confirmCodeButton": "ಕೋಡ್ ದೃಢೀಕರಿಸಿ", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "ಇಂದು ಡಾಕ್ಟರಿನಾ ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿ", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "ಅಥವಾ", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ನಮೂದಿಸಿ", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "ಪಾಸ್ವರ್ಡ್ ತೋರಿಸಿ", + "@showPasswordHint": {}, + "obscurePasswordHint": "ಅಸ್ಪಷ್ಟ ಪಾಸ್ವರ್ಡ್", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "ಸ್ಪಷ್ಟ ಲಾಗಿನ್", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ಇಮೇಲ್ ಅಥವಾ ಫೋನ್", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com ಅಥವಾ +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ಇಮೇಲ್ ಅಥವಾ ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "ದಯವಿಟ್ಟು ಮುಂದುವರಿಯಲು ಒಪ್ಪಂದಗಳನ್ನು ಒಪ್ಪಿಕೊಳ್ಳಿ.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "ನಾನು ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯ ಪ್ರಕ್ರಿಯೆಗೆ ಒಪ್ಪುತ್ತೇನೆ,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "ಬಳಕೆ ಮಾಡುವುದು", + "@consentTheUseOf": {}, + "consentCookies": "ಕೂಕೀಸ್", + "@consentCookies": {}, + "consentAgreeToThe": ", ಒಪ್ಪುತ್ತೇನೆ", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "ನಿಯಮಗಳು ಮತ್ತು ಶರತ್ತುಗಳು", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", ಮತ್ತು ಒಪ್ಪಿಕೊಳ್ಳಿ", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "ಗೋಪ್ಯತಾ ನೀತಿ", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "ನಾನು ನನ್ನ ಸಲಹೆ ಏಕೈಕ ವೈದ್ಯಕೀಯ ವೃತ್ತಿಪರನಲ್ಲ, ಏಕೈಕ AI ಯೊಂದಿಗೆ ಇದೆ ಎಂದು ಒಪ್ಪುತ್ತೇನೆ.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "ಲಾಗ್ ಔಟ್", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "ನೀವು ಲಾಗ್ ಔಟ್ ಆಗಲು ಖಚಿತವಾಗಿದ್ದೀರಾ?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "ರದ್ದು ಮಾಡಿ", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "ಹೌದು, ಲಾಗ್ ಔಟ್", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "ಕೋಡ್ ಪುನಃ ಕಳುಹಿಸಿ", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "ಕೋಡ್ ಪುನಃ ಕಳುಹಿಸಿ ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "ನಾನು ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯ ಪ್ರಕ್ರಿಯೆಗೆ ಒಪ್ಪಿಗೆ ನೀಡುತ್ತೇನೆ, ಕೂಕೀಸ್ ಬಳಸಲು, ನಿಯಮಗಳು ಮತ್ತು ಷರತ್ತುಗಳು ಗೆ ಒಪ್ಪುತ್ತೇನೆ ಮತ್ತು

ಗೋಪ್ಯತಾ ನೀತಿ

ಅನ್ನು ಒಪ್ಪುತ್ತೇನೆ", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "ನಿಮ್ಮ ಇಮೇಲ್ ನಮೂದಿಸಿ", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ಇಮೇಲ್ ಮೂಲಕ ಸೈನ್ ಅಪ್ ಮಾಡಿ", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ಇಮೇಲ್ ಮೂಲಕ ಲಾಗಿನ್ ಮಾಡಿ", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "ನಿಮ್ಮ ಫೋನ್ ನಮೂದಿಸಿ", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "ನಿಮ್ಮ ಫೋನ್ ದೃಢೀಕರಿಸಿ", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "ಸೈನ್ ಅಪ್ ಮಾಡಿ", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ಇಮೇಲ್ ನಮೂದಿಸಿ", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google ಜೊತೆಗೆ ಸೈನ್ ಅಪ್ ಮಾಡಿ", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple ಜೊತೆಗೆ ಸೈನ್ ಅಪ್ ಮಾಡಿ", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "ಫೋನಿನಿಂದ ಸೈನ್ ಅಪ್ ಮಾಡಿ", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google ಮೂಲಕ ಲಾಗಿನ್ ಮಾಡಿ", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple ನೊಂದಿಗೆ ಲಾಗಿನ್ ಮಾಡಿ", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "ಫೋನ್ ಮೂಲಕ ಲಾಗಿನ್ ಮಾಡಿ", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "ನೀವು ಲಾಗ್ ಔಟ್ ಆಗಿದ್ದೀರಿ", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "ಮರು ಲೋಡ್ ಮಾಡಿ", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "ಅಮಾನ್ಯ ಇಮೇಲ್ ವಿಳಾಸ", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "ಪಾಸ್ವರ್ಡ್ ಕನಿಷ್ಠ 6 ಅಕ್ಷರಗಳು ಇರಬೇಕು", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "ಅಮಾನ್ಯ ಫೋನ್ ನಂಬರ್: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "ದಯವಿಟ್ಟು ಹೊಸ ಕೋಡ್ ಅನ್ನು ವಿನಂತಿಸುವ ಮೊದಲು {seconds} ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯಿರಿ.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "ಅಮಾನ್ಯ ಫೋನ್ ಕೋಡ್: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "ನಿಯಮಗಳು ಮತ್ತು ಷರತ್ತುಗಳು", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "ಅತಿಥಿಯಾಗಿ ಮುಂದುವರಿಸಿ", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "ಇನ್ನೂ ಖಾತೆ ಇಲ್ಲವೇ?

ಸೈನ್ ಅಪ್ ಮಾಡಿ

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "ಈಗಾಗಲೇ ಖಾತೆ ಇದೆಯೇ?

ಲಾಗಿನ್ ಮಾಡಿ

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "ನೀವು ಪ್ರೀಮಿಯಂ ಮುಂದುವರಿಯಲು ಸೈನ್ ಅಪ್ ಮಾಡಬೇಕು", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "ವೈಯಕ್ತಿಕೃತ ವಿಷಯವನ್ನು ಪಡೆಯಿರಿ ಮತ್ತು ನಿಮ್ಮ ಸಮುದಾಯದೊಂದಿಗೆ ಸಂಪರ್ಕದಲ್ಲಿರಿ!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ಇಮೇಲ್", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಪುನಃ ಪಡೆಯಿರಿ", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "ಖಾತೆ ರಚಿಸಿ", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "ನಿಮ್ಮ ಆರೋಗ್ಯದ ಮಾಹಿತಿಯನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಉಳಿಸಲು ಮತ್ತು ನಿಮ್ಮ ಮೌಲ್ಯಮಾಪನವನ್ನು ಮುಂದುವರಿಸಲು ಖಾತೆ ಅಗತ್ಯವಿದೆ.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "ಮರುಕಳಿಸಿ", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಪುನರಾವೃತ್ತಿ ಮಾಡಿ", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "ದೃಢೀಕರಿಸಿ", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "ನಿಮ್ಮ ಖಾತೆ ಇಲ್ಲವೇ?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "ನಿಮ್ಮ ಬಳಿ ಈಗಾಗಲೇ ಖಾತೆ ಇದೆಯೆ?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "ಪಾಸ್ವರ್ಡ್ ರಚಿಸಿ", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "ದೂರವಾಣಿ", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "ದೂರವಾಣಿ ಪರಿಶೀಲಿಸಿ", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "ನಿಮ್ಮ ಸಂಖ್ಯೆ ಏನು?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "ನಾವು ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ದೃಢೀಕರಿಸಲು ಕೋಡ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತೇವೆ", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "ಸಂಖ್ಯೆ", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "ದೂರವಾಣಿ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "ನೀವು {countdown} ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯಬೇಕು", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "ನಿಮ್ಮ ಕೋಡ್ ನಮೂದಿಸಿ", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "{phone} ಗೆ ಕೋಡ್ ಕಳುಹಿಸಲಾಗಿದೆ", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "ಕೋಡ್ ಬಂದಿಲ್ಲವೇ?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "ಮರುಕಳಿಸಲು ಕ್ಲಿಕ್ ಮಾಡಿ", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "{countdown} ಸೆಕೆಂಡುಗಳಲ್ಲಿ ನೀವು ಹೊಸ ಕೋಡ್ ಅನ್ನು ಕೇಳಬಹುದು", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "ಮುಚ್ಚಿ", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "ಹಿಂದೆ", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "ಸೇವಾ ಶರತ್ತುಗಳು", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "ಗೋಪ್ಯತಾ ನೀತಿ", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "ಮರುಸ್ವಾಗತ", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "ನೀವು ಈಗಾಗಲೇ Doctorina ಖಾತೆ ಹೊಂದಿದ್ದರೆ ಲಾಗಿನ್ ಮಾಡಿ, ಅಥವಾ ಪ್ರಾರಂಭಿಸಲು ಸೈನ್ ಅಪ್ ಮಾಡಿ.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 ರಿಂದ 128 ಅಕ್ಷರಗಳು", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "ಕನಿಷ್ಠ 1 ಸಂಖ್ಯೆ", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "ಕನಿಷ್ಠ 1 ದೊಡ್ಡ ಅಕ್ಷರ", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "ಪಾಸ್ವರ್ಡ್ ಹೊಂದಿವೆ", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP ಪರಿಶೀಲನೆ ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "ರೆಫರಲ್ ಕೋಡ್", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "ನಿಮ್ಮ ರೆಫರಲ್ ಕೋಡ್ ಅನ್ನು ನಮೂದಿಸಿ", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "ಉದಾಹರಣೆ CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "ನಿಮ್ಮ ಬಳಿ ರೆಫರಲ್ ಕೋಡ್ ಇದೆಯೆ?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ko.arb b/example/lib/src/l10n/sign_up/app_ko.arb new file mode 100644 index 0000000..3f9ca64 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ko.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ko", + "logIn": "로그인", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "비밀번호", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "번호 변경", + "@changeNumber": {}, + "forgotPassword": "비밀번호를 잊으셨나요?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "이메일 주소를 입력하면 비밀번호 재설정을 위한 링크를 보내드립니다.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "비밀번호를 기억하시나요?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "비밀번호가 있습니다", + "@backToLoginButton": {}, + "continueButton": "계속", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "비밀번호 재설정 이메일이 발송되었습니다", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "비밀번호 재설정", + "@resetPasswordButton": {}, + "confirmCodeButton": "코드 확인", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "오늘부터 Doctorina를 사용하기 시작하세요", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "또는", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "비밀번호를 입력하세요", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "비밀번호 표시", + "@showPasswordHint": {}, + "obscurePasswordHint": "비밀번호 숨기기", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "로그인 지우기", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "이메일 또는 전화", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com 또는 +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "이메일 또는 전화번호 입력", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "계속하려면 약관에 동의해 주세요.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "개인 데이터 처리에 동의합니다,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "사용", + "@consentTheUseOf": {}, + "consentCookies": "쿠키", + "@consentCookies": {}, + "consentAgreeToThe": ", 동의합니다", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "이용약관", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", 그리고 확인", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "개인정보 보호정책", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "내 상담이 AI와 진행되었으며, 면허가 있는 의료 전문가가 아님을 인정합니다.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "로그아웃", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "로그아웃 하시겠습니까?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "취소", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "예, 로그아웃", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "코드 재전송", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "코드 재전송 ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "나는 개인 데이터 처리에 동의하며, 쿠키 사용에 동의하고, 약관에 동의하며,

개인정보 보호정책

을 인정합니다.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "이메일을 입력하세요", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "이메일로 가입하기", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "이메일로 로그인", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "전화번호를 입력하세요", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "전화 확인", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "가입하기", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "이메일 입력", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google로 가입하기", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple로 가입하기", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "전화로 가입하기", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google로 로그인", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple로 로그인", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "전화로 로그인", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "로그아웃되었습니다", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "다시 불러오기", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "잘못된 이메일 주소", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "비밀번호는 최소 6자 이상이어야 합니다", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "잘못된 전화번호: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "새 코드를 요청하기 전에 {seconds}초 기다려주세요.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "잘못된 전화 코드: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "이용 약관", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "게스트로 계속하기", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "계정이 없으신가요?

가입하기

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "이미 계정이 있으신가요?

로그인

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "프리미엄을 계속 사용하려면 가입해야 합니다", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "개인화된 콘텐츠를 받고 커뮤니티와 소통하세요!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "이메일", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "비밀번호를 복구하세요", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "계정을 만들기", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "건강 데이터를 안전하게 저장하고 평가를 계속하기 위해 계정이 필요합니다.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "다시 입력", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "비밀번호를 다시 입력하세요", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "확인", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "계정이 없으신가요?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "이미 계정이 있으신가요?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "비밀번호 만들기", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "전화", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "전화 확인", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "번호가 무엇인가요?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "전화 확인을 위해 코드를 문자로 보내드리겠습니다", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "번호", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "전화번호를 입력하세요", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "다음 OTP를 보낼 수 있는 {countdown}초 기다리세요", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "코드를 입력하세요", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "코드를 {phone}으로 보냈습니다", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "코드를 받지 못하셨나요?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "다시 보내기 클릭", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "새 코드를 {countdown}초 후에 요청할 수 있습니다", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "닫기", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "뒤로", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "서비스 약관", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "개인정보 처리방침", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "다시 오신 것을 환영합니다", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "이미 Doctorina 계정이 있는 경우 로그인하거나 시작하려면 가입하세요.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8자에서 128자까지", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "숫자 1개 이상", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "대문자 1개 이상 포함", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "비밀번호가 일치합니다", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP 인증에 실패했습니다. 다시 시도해 주세요.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "추천 코드", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "추천 코드를 입력하세요", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "예: CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "추천 코드가 있습니까?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_lo.arb b/example/lib/src/l10n/sign_up/app_lo.arb new file mode 100644 index 0000000..73887ef --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_lo.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "lo", + "logIn": "ເຂົ້າສູ່ລະບົບ", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "ລະຫັດ", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "ປ່ອນເລກ", + "@changeNumber": {}, + "forgotPassword": "ລືມລະຫັດຜ່ານບໍ?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "ໃສ່ອີເມວຂອງທ່ານ ແລະພວກເຮົາຈະສົ່ງລິ້ງເພື່ອປ່ອນລະຫັດຜ່ານຂອງທ່ານ.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "ຈົ່ງຈືດບັດລະຫັດຂອງທ່ານບໍ?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "ຂໍໃຫ້ມີລະຫັດຜ່ານ", + "@backToLoginButton": {}, + "continueButton": "ດຳເນີນຕໍ່", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "ອີເມວການຕັ້ງລະຫັດຜ່ານແລ້ວ", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "ປ່ອນລະຫັດໃໝ່", + "@resetPasswordButton": {}, + "confirmCodeButton": "ຢືນຢັນລະຫັດ", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "ເລີ່ມໃຊ້ Doctorina ມື້ນີ້", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "OR", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "ໃສ່ລະຫັດຜ່ານຂອງທ່ານ", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "ແສດສະບັດ", + "@showPasswordHint": {}, + "obscurePasswordHint": "ປິດບັດລະຫັດ", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "ລົບການເຂົ້າໃຊ້", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email ຫ或者 ໂທລະສັບ", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com or +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ໃສ່ອີເມວ ຫຼື ບັດເທັດເບີ", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "ກະລຸນາຍອມຮັບຂໍແອກເພື່ອດຳເນີນຕໍ່", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "ຂ້າພະເຈົ້າຍອມຮັບການດໍາເນີນງານຂໍ້ມູນສ່ວນຕົວ,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "ການໃຊ້ງານຂອງ", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", ຍອມຮັບ", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "terms and conditions", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", ແລະຍອມຮັບ", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "niti za privatnost", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "ຂໍອະໄພວ່າການປຶກສາຂອງຂໍ້ມູນແມ່ນກັບ AI ແລະບໍ່ແມ່ນຜູ້ໃຊ້ບັດທະບຽນ.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "ອອກ", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "ທ່ານແນ່ໃຈບໍ່ວ່າຈະອອກຈາກລະບົບ?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "ຍົກເລີກ", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Yes, log out", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "ສົ່ງລະຫັດອີກ", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Reenviar código ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "ຂ້ອຍຍອມຮັບການຈັດການຂໍ້ມູນສ່ວນຕົວ, ການໃຊ້ cookies, ຍອມຮັບ ເງື່ອນໄຂແລະຂໍ້ຕົກລົງ, ແລະຢືນຢັນ

ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ

", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "ໃສ່ອີເມວຂອງທ່ານ", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ລົງຮ່ວມຜ່ານອີເມວ", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ເຂົ້າລະບົບດ້ວຍອີເມວ", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "ໃສ່ເບີໂທຂອງທ່ານ", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "ຢືນຢັນໂທລະສັບຂອງທ່ານ", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "ລົງທະບຽນ", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ໃສ່ອີເມວ", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "ລົງທະບຽນດ້ວຍ Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "ລົງທະບຽນດ້ວຍ Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "ລົງທະບຽນຜ່ານໂທລະສັບ", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "ເຂົ້າລະບົບຜ່ານ Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "ເຂົ້າລະບົບດ້ວຍ Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "ເຂົ້າລະບົບຜ່ານໂທລະສັບ", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "ທ່ານໄດ້ອອກຈາກລະບົບ", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "ຄືນລົงໂຫຼດ", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "ອີເມວບໍ່ຖືກຕ້ອງ", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "ລະຫັດຜ່ານຕ້ອງມີຢ່າງນ້ອຍ 6 ຕົວອັກສອນ", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "ເບີໂທລະສັບບໍ່ຖືກຕ້ອງ: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "ກະລຸນາລໍຖ້ວຍ {seconds} ວິນາທີກ່ອນຂໍເລກລະຫັດໃໝ່.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "ລະຫັດໂທລະສັບບໍ່ຖືກຕ້ອງ: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "ເງື່ອນໄຂແລະຂໍ້ກຳນົด", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "ດຳເນີນຕໍ່ເປັນຜູ້ເຂົ້າຊົມ", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "ຍັງບໍ່ມີບັນຊີ?

ລົງທະບຽນ

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "ທ່ານມີບັນຊີແລ້ວບໍ?

ເຂົ້າລະບົບ

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "ທ່ານຕ້ອງລົງທະບຽນກ່ຽວກັບກ່ຽວກັບ Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "ເພີ່ມເລື່ອງສໍາລັບບຸກຄົນແລະຮັກສາສິດສະຖານທີ່ຂອງທ່ານ!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "ກູ້ຄືນລະຫັດຜ່ານຂອງເຈົ້າ", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "ສ້າງບັດທະບຽນ", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "ພວກເຮົາຕ້ອງການບັດທະບຽນເພື່ອບັນທຶກຂໍ້ມູນສຸຂະພາບຂອງເຈົ້າແລະດຳເນີນການປ່ອນບັດທະບຽນ.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "ປະກອບກັນ", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "ກະລຸນາຊໍາລວນລະຫັດຜ່ານຂອງເທັດ", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "ຢືນຢັນ", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "ຍັງບໍ່ມີບັນຊີບໍ?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "ມີບັນຊີແລ້ວບໍ?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "ສ້າງລະຫັດຜ່ານ", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "ໂທລະສັບ", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "ຢືນຢັນເບີໂທລະສັບ", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "ເບີໂທຂອງເຈົ້າແມ່ນຫຍັງ?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "ພວກເຮົາຈະສົ່ງຂໍ້ຄວາມລະຫັດເພື່ອຢືນຢັນໂທລະສັບຂອງທ່ານ", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "ຕົວເລກ", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "ໃສ່ເບີໂທລະສັບ", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "ລໍຖ້າ {countdown} ວິນາທີ", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "ໃສ່ລະຫັດຂອງເຈົ້າ", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "ເຮັດສົ່ງລະຫັດໄປທີ່ {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "ບໍ່ໄດ້ຮັບລະຫັດບໍ?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "ຄລິກເພື່ອສົ່ງຄືນໃໝ່", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "ທ່ານສາมາດຂໍລະຫັດໃໝ່ໃນ {countdown} ວິນາທີ", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "ປິດ", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "ກັບຄືນ", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "ເງື່ອນໄຂການໃຫ້ບໍລິການ", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "ຍິນດີກັບຄືນ", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "ເຂົ້າສູ່ລະບົບຖ້າທ່ານມີບັດທີ່ Doctorina ຢູ່ແລ້ວ ຫຼື ເຂົ້າລົງທະບຽນເພື່ອເລີ່ມຕົ້ນ.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "ຈາກ 8 ຖຶງ 128 ອັກສອນ", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "ມີເລກໃນລະຫັດຜ່ານຢ່າງນໍາທີ່ 1", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "ມີສະຕິດສະດວກ 1 ອັກສອນໃຫຍ່", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "ລະຫັດຜ່ານສອດກັນ", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "ການຢືນຢັນ OTP ລົ້ມເຫຼວ. ກະລຸນາລອງໃໝ່ອີກຄັ້ງ.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Referral code", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "ໃສ່ລະຫັດອໍ່ອິງຂອງທ່ານ", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "ຕົວຢ່າງ CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "ມີລະຫັດອໍ່ນຳສູງບໍ?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ml.arb b/example/lib/src/l10n/sign_up/app_ml.arb new file mode 100644 index 0000000..bf95368 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ml.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ml", + "logIn": "ലോഗിൻ", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "പാസ്വേഡ്", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "നമ്പർ മാറ്റുക", + "@changeNumber": {}, + "forgotPassword": "പാസ്വേഡ് മറന്നോ?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "നിങ്ങളുടെ ഇമെയിൽ വിലാസം നൽകുക, ഞങ്ങൾ നിങ്ങളുടെ പാസ്വേഡുകൾ പുനഃസജ്ജമാക്കാൻ ഒരു ലിങ്ക് അയയ്ക്കും.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "നിങ്ങളുടെ പാസ്വേഡിനെ നിങ്ങൾ ഓർമ്മിക്കുന്നു吗?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "എനിക്ക് പാസ്‌വേഡ് ഉണ്ട്", + "@backToLoginButton": {}, + "continueButton": "തുടരുക", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "പാസ്വേഡ്ഡിന് പുനഃസജ്ജീകരണ ഇമെയിൽ അയച്ചു", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "പാസ്വേഡുകൾ പുനഃസജ്ജമാക്കുക", + "@resetPasswordButton": {}, + "confirmCodeButton": "കോഡ് സ്ഥിരീകരിക്കുക", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "ഇന്ന് ഡോക്ടറിന ഉപയോഗിക്കാൻ തുടങ്ങുക", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "അല്ല", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "നിങ്ങളുടെ പാസ്വേഡ്ഡ് നൽകുക", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "പാസ്വേഡ്ഡ് കാണിക്കുക", + "@showPasswordHint": {}, + "obscurePasswordHint": "പാസ്വേഡിനെ മറയ്ക്കുക", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "ലോഗിൻ ക്ലിയർ ചെയ്യുക", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ഇമെയിൽ അല്ലെങ്കിൽ ഫോൺ", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com അല്ലെങ്കിൽ +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ഇമെയിൽ അല്ലെങ്കിൽ ഫോൺ നമ്പർ നൽകുക", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "ദയവായി തുടരാൻ കരാറുകൾ അംഗീകരിക്കുക.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "ഞാൻ വ്യക്തിഗത ഡാറ്റയുടെ പ്രോസസ്സിംഗിന് സമ്മതിക്കുന്നു,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "ഉപയോഗം", + "@consentTheUseOf": {}, + "consentCookies": "കുക്കീസ്", + "@consentCookies": {}, + "consentAgreeToThe": ", സമ്മതിക്കുന്നു", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "നിബന്ധനകളും വ്യവസ്ഥകളും", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", ഒപ്പം അംഗീകരിക്കുക", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "ഗോപ്പനീയത നയം", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "ഞാൻ എന്റെ ഉപദേശത്തിന് എഐയുമായാണ്, ലൈസൻസുള്ള മെഡിക്കൽ പ്രൊഫഷണലുമായല്ല എന്ന് അംഗീകരിക്കുന്നു.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "ലോഗ് ഔട്ട്", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "നിങ്ങൾ ലോഗ് ഔട്ട് ചെയ്യാൻ ഉറപ്പാണോ?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "റദ്ദാക്കുക", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "അതെ, ലോഗ് ഔട്ട് ചെയ്യുക", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "കോഡ് വീണ്ടും അയക്കുക", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "കോഡ് വീണ്ടും അയക്കുക ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "ഞാൻ വ്യക്തിഗത ഡാറ്റയുടെ പ്രോസസ്സിംഗിന്, കുക്കികൾ ഉപയോഗിക്കാൻ, നിബന്ധനകളും വ്യവസ്ഥകളും അംഗീകരിക്കുന്നു, കൂടാതെ

ഗോപ്പ്യനയം

അംഗീകരിക്കുന്നു.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "നിങ്ങളുടെ ഇമെയിൽ നൽകുക", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ഇമെയിലിലൂടെ സൈൻ അപ്പ് ചെയ്യുക", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ഇമെയിൽ വഴി ലോഗിൻ ചെയ്യുക", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "നിങ്ങളുടെ ഫോൺ നൽകുക", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "നിങ്ങളുടെ ഫോൺ സ്ഥിരീകരിക്കുക", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "സൈൻ അപ് ചെയ്യുക", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ഇമെയിൽ നൽകുക", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google ഉപയോഗിച്ച് സൈൻ അപ്പ് ചെയ്യുക", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple ഉപയോഗിച്ച് സൈനപ്പ് ചെയ്യുക", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "ഫോൺ ഉപയോഗിച്ച് സൈൻ അപ്പ് ചെയ്യുക", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google ഉപയോഗിച്ച് ലോഗിന് ചെയ്യുക", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുക", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "ഫോൺ ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുക", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "നിങ്ങള്‍ ലോഗൗട്ട് ചെയ്തു", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "പുനഃലോഡ് ചെയ്യുക", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "തെറ്റായ ഇമെയിൽ വിലാസം", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "പാസ്വേഡ് കുറഞ്ഞത് 6 അക്ഷരങ്ങളിരിക്കണം", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "തെറ്റായ ഫോൺ നമ്പർ: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "ദയവായി പുതിയ കോഡ് അപേക്ഷിക്കുന്നതിന് മുമ്പ് {seconds} സെക്കൻഡ്‌ കാത്തിരിക്കുക.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "തെറ്റായ ഫോൺ കോഡ്: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "നിബന്ധനകളും വ്യവസ്ഥകളും", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "വിരുന്നുകാരനായി തുടരുക", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "അക്കൗണ്ട് ഇല്ലേ?

സൈൻ അപ് ചെയ്യുക

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "നിങ്ങൾക്ക് ഇതിനകം ഒരു അക്കൗണ്ട് ഉണ്ടോ?

ലോഗിൻ

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "നിങ്ങൾ പ്രീമിയത്തിലേക്ക് തുടരാൻ മുമ്പ് സൈൻ അപ്പ് ചെയ്യണം", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "വ്യക്തിഗത ഉള്ളടക്കം നേടുകയും നിങ്ങളുടെ സമൂഹവുമായി ബന്ധത്തിൽ തുടരുകയും ചെയ്യുക!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ഇ-മെയിൽ", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "നിങ്ങളുടെ പാസ്‌വേഡ് പുനഃസ്ഥാപിക്കുക", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "അക്കൗണ്ട് സൃഷ്ടിക്കുക", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "നിങ്ങളുടെ ആരോഗ്യ ഡാറ്റ സുരക്ഷിതമായി സംരക്ഷിക്കാൻ ಮತ್ತು നിങ്ങളുടെ മൂല്യനിർണയം തുടരാൻ ഒരു അക്കൗണ്ട് ആവശ്യമാണ്.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "മറുപടി", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "നിങ്ങളുടെ പാസ്വേഡുകൾ ആവർത്തിക്കുക", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "സ്ഥിരീകരിക്കുക", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "നിങ്ങൾക്ക് ഒരു അക്കൗണ്ട് ഇല്ലേ?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "നിങ്ങൾക്ക് ഇതിനകം ഒരു അക്കൗണ്ട് ഉണ്ടോ?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "പാസ്വേഡുകൾ സൃഷ്ടിക്കുക", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "ഫോൺ", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "ഫോൺ സ്ഥിരീകരിക്കുക", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "നിങ്ങളുടെ നമ്പർ എന്താണ്?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "നിങ്ങളുടെ ഫോൺ സ്ഥിരീകരിക്കാൻ ഒരു കോഡ് ഞങ്ങൾ സന്ദേശം അയയ്ക്കും", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "നമ്പർ", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "ഫോൺ നമ്പർ നൽകുക", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "{countdown} സെക്കൻഡ് കാത്തിരിക്കുക", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "നിങ്ങളുടെ കോഡ് നൽകുക", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "{phone} എന്ന നമ്പറിലേക്ക് ഒരു കോഡ് അയച്ചു", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "കോഡ് ലഭിച്ചില്ലേ?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "മറുപടി അയക്കാൻ ക്ലിക്ക് ചെയ്യുക", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "{countdown} സെക്കൻഡുകൾക്കുള്ളിൽ നിങ്ങൾ പുതിയ കോഡ് അഭ്യർത്ഥിക്കാം", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "അടയ്ക്കുക", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "മടങ്ങുക", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "സേവനത്തിന്റെ നിബന്ധനകൾ", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "ഗോപ്പനീയത നയം", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "സ്വാഗതം തിരിച്ചുവരവിന്", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "നിങ്ങൾക്ക് ഇതിനകം Doctorina അക്കൗണ്ട് ഉണ്ടെങ്കിൽ ലോഗിൻ ചെയ്യുക, അല്ലെങ്കിൽ ആരംഭിക്കാൻ സൈൻ അപ്പ് ചെയ്യുക.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 മുതൽ 128 അക്ഷരങ്ങൾ", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "കുറഞ്ഞത് 1 നമ്പർ", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "കുറഞ്ഞത് 1 വലിയ അക്ഷരം", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "പാസ്വേഡുകൾ പൊരുത്തപ്പെടുന്നു", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP പരിശോധന പരാജയപ്പെട്ടു. വീണ്ടും ശ്രമിക്കുക.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Referral code", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "നിങ്ങളുടെ റിഫറൽ കോഡ് നൽകുക", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "ഉദാഹരണം: CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "നിങ്ങൾക്ക് റഫറൽ കോഡ് ഉണ്ടോ?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_mr.arb b/example/lib/src/l10n/sign_up/app_mr.arb new file mode 100644 index 0000000..7ded104 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_mr.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "mr", + "logIn": "लॉग इन", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "पासवर्ड", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "नंबर बदला", + "@changeNumber": {}, + "forgotPassword": "पासवर्ड विसरलात?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "आपला ईमेल पत्ता प्रविष्ट करा, आणि आम्ही आपल्याला पासवर्ड रीसेट करण्यासाठी लिंक पाठवू", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "तुमचा पासवर्ड लक्षात आहे का?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "माझ्याकडे पासवर्ड आहे", + "@backToLoginButton": {}, + "continueButton": "पुढे जा", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "पासवर्ड रीसेट ईमेल पाठवला", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "पासवर्ड रीसेट करा", + "@resetPasswordButton": {}, + "confirmCodeButton": "कोड पुष्टी करा", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "आजच Doctorina वापरणे सुरू करा", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "किंवा", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "आपला पासवर्ड प्रविष्ट करा", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "पासवर्ड दाखवा", + "@showPasswordHint": {}, + "obscurePasswordHint": "पासवर्ड लपवा", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "लॉगिन साफ करा", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ईमेल किंवा फोन", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com किंवा +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ईमेल किंवा फोन नंबर प्रविष्ट करा", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "कृपया पुढे जाण्यासाठी करार स्वीकारा.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "मी वैयक्तिक डेटाच्या प्रक्रिया करण्यास सहमती देतो,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "चा वापर", + "@consentTheUseOf": {}, + "consentCookies": "कुकीज", + "@consentCookies": {}, + "consentAgreeToThe": ", सहमत आहात", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "अटी आणि शर्ती", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", आणि मान्य करा", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "गोपनीयता धोरण", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "मी हे मान्य करतो की माझी सल्लामसलत AI सोबत आहे आणि परवाना प्राप्त वैद्यकीय व्यावसायिकाशी नाही.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "लॉग आउट", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "तुम्ही नक्की लॉग आउट करणार का?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "रद्द करा", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "हो, लॉग आउट करा", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "कोड परत पाठवा", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "कोड पुन्हा पाठवा ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "मी वैयक्तिक डेटाच्या प्रक्रियेस सहमती देतो, कुकीज चा वापर करतो, अटी आणि शर्ती सहमत आहे, आणि

गोपनीयता धोरण

मान्य करतो.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "आपला ईमेल प्रविष्ट करा", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ईमेलसह साइन अप करा", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ईमेलद्वारे लॉगिन करा", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "आपला फोन प्रविष्ट करा", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "तुमचा फोन पुष्टी करा", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "साइन अप करा", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ईमेल प्रविष्ट करा", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google सह साइन अप करा", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple सह साइन اپ करा", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "फोनने साइन अप करा", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google ने लॉगिन करा", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple सह लॉगिन करा", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "फोनने लॉगिन करा", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "आपण लॉग आउट आहात", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "पुनः लोड करा", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "अवैध ईमेल पत्ता", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "पासवर्ड किमान 6 अक्षरांचा असावा", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "अवैध फोन नंबर: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "कृपया नवीन कोड मागण्याआधी {seconds} सेकंद प्रतीक्षा करा.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "अवैध फोन कोड: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "अटी आणि शर्ती", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "अतिथी म्हणून सुरू ठेवा", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "अजून खाते नाहीये?

साइन अप करा

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "आधीच खाते आहे?

लॉग इन करा

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "तुम्हाला प्रीमियमसह पुढे जाण्यासाठी साइन अप करणे आवश्यक आहे", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "व्यक्तिगत सामग्री मिळवा आणि आपल्या समुदायाशी संपर्कात रहा!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ई-मेल", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "आपला पासवर्ड पुनर्प्राप्त करा", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "खाते तयार करा", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "आपल्या आरोग्य डेटा सुरक्षितपणे जतन करण्यासाठी आणि आपल्या मूल्यमापनास पुढे नेण्यासाठी आम्हाला खात्याची आवश्यकता आहे", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "पुन्हा", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "आपली पासवर्ड पुन्हा टाका", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "पुष्टी", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "तुमचा खाती नाही का?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "आधीच तुमचा खाता आहे का?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "पासवर्ड तयार करा", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "फोन", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "फोनची पुष्टी करा", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "तुमचा नंबर काय आहे?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "आम्ही तुमच्या फोनची पुष्टी करण्यासाठी एक कोड पाठवू", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "नंबर", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "फोन नंबर प्रविष्ट करा", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "कृपया {countdown} सेकंद थांबा", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "आपला कोड प्रविष्ट करा", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "आम्ही {phone} वर एक कोड पाठवला", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "कोड मिळाला नाही का?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "पुन्हा पाठवण्यासाठी क्लिक करा", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "आप {countdown} सेकंदात नवीन कोड मागू शकता", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "बंद करा", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "परत", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "सेवा अटी", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "गोपनीयता धोरण", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "तुमचं स्वागत आहे", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "जर तुम्हाला आधीच Doctorina खाते असेल तर लॉगिन करा, किंवा सुरू करण्यासाठी साइन अप करा.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 ते 128 अक्षरे", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "किमान 1 संख्या", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "किमान 1 मोठा अक्षर", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "पासवर्ड जुळतात", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "ओटीपी पडताळणी अयशस्वी झाली. कृपया पुन्हा प्रयत्न करा.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "रेफरल कोड", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "आपला संदर्भ कोड प्रविष्ट करा", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "उदाहरणार्थ, CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "तुमच्याकडे संदर्भ कोड आहे का?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ms.arb b/example/lib/src/l10n/sign_up/app_ms.arb new file mode 100644 index 0000000..efe55c8 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ms.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ms", + "logIn": "Log masuk", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Kata Laluan", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Tukar nombor", + "@changeNumber": {}, + "forgotPassword": "Lupa Kata Laluan?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Masukkan alamat emel anda, dan kami akan menghantar pautan untuk menetapkan semula kata laluan anda.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Ingat kata laluan anda?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Saya mempunyai kata laluan", + "@backToLoginButton": {}, + "continueButton": "Teruskan", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Emel reset kata laluan telah dihantar", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Tetapkan semula kata laluan", + "@resetPasswordButton": {}, + "confirmCodeButton": "Sahkan kod", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Mulakan menggunakan Doctorina hari ini", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "ATAU", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Masukkan kata laluan anda", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Tunjukkan kata laluan", + "@showPasswordHint": {}, + "obscurePasswordHint": "Kata kunci tersembunyi", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Bersihkan log masuk", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Emel atau telefon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com atau +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Masukkan email atau nombor telefon", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Sila terima perjanjian untuk meneruskan.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Saya bersetuju untuk pemprosesan data peribadi,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "penggunaan", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", setuju dengan", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "terma dan syarat", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", dan mengakui", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "dasar privasi", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Saya mengakui bahawa konsultasi saya adalah dengan AI dan bukan dengan profesional perubatan berlesen.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Log keluar", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Adakah anda pasti untuk log keluar?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Batal", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Ya, log keluar", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Hantar semula kod", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Hantar semula kod ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Saya bersetuju dengan pemprosesan data peribadi, penggunaan cookies, bersetuju dengan terma dan syarat, serta mengakui

dasar privasi

", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Masukkan emel anda", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Daftar dengan e-mel", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Masuk dengan emel", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Masukkan telefon anda", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Sahkan telefon anda", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Daftar", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Masukkan e-mel", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Daftar dengan Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Daftar dengan Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Daftar dengan telefon", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Log masuk dengan Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Log masuk dengan Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Log masuk dengan Telefon", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Anda telah log keluar", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Muat semula", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Alamat e-mel tidak sah", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Kata laluan mesti mempunyai sekurang-kurangnya 6 aksara", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Nombor telefon tidak sah: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Sila tunggu {seconds} saat sebelum meminta kod baru.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Kod telefon tidak sah: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Terma dan syarat", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Teruskan sebagai tetamu", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Belum ada akaun?

Daftar

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Sudah ada akaun?

Log masuk

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Anda perlu mendaftar sebelum anda boleh meneruskan dengan Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Dapatkan kandungan peribadi dan terus berhubung dengan komuniti anda!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mel", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Pulihkan kata laluan anda", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Buat akaun", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Kami memerlukan akaun untuk menyimpan data kesihatan anda dengan selamat dan meneruskan penilaian anda.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Ulang", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Ulang kata laluan anda", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Sahkan", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Tiada akaun?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Sudah mempunyai akaun?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Buat kata laluan", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Sahkan Telefon", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Apa nombor anda?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Kami akan menghantar kod untuk mengesahkan telefon anda", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Nombor", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Masukkan nombor telefon", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Tunggu {countdown} saat", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Masukkan kod anda", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Kami telah menghantar kod ke {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Tidak menerima kod?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Klik untuk menghantar semula", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Anda boleh meminta kod baru dalam {countdown} saat", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Tutup", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Kembali", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Terma Perkhidmatan", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Dasar Privasi", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Selamat kembali", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Log masuk jika anda sudah mempunyai akaun Doctorina, atau daftar untuk memulakan.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Dari 8 hingga 128 aksara", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Sekurang-kurangnya 1 nombor", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Sekurang-kurangnya 1 huruf besar", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Kata laluan sepadan", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Pengesahan OTP gagal. Sila cuba lagi.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Kod rujukan", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Masukkan kod rujukan anda", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Contoh kod rujukan di dalam medan input (E.G. CREATOR2026)", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Ada kod rujukan?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_my.arb b/example/lib/src/l10n/sign_up/app_my.arb new file mode 100644 index 0000000..b987f9e --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_my.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "my", + "logIn": "Log in", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Katalaluan", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Nombor Tukar", + "@changeNumber": {}, + "forgotPassword": "Lupa Kata Laluan?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "အီးမေးလ်လိပ်စာကိုရိုက်ထည့်ပါ၊ သင်၏စကားဝှက်ကိုပြန်လည်သတ်မှတ်ရန်လင့်ခ်တစ်ခုကိုပို့ပါမည်။", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "သင်၏စကားဝှက်ကိုမှတ်မိပါသလား?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Saya mempunyai kata laluan", + "@backToLoginButton": {}, + "continueButton": "ဆက်လက်လုပ်ဆောင်ပါ", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "စကားဝှက်ပြန်လည်သတ်မှတ်ရန်အီးမေးလ်ပို့ပြီးပါပြီ", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "စကားဝှက်ကိုပြန်လည်သတ်မှတ်ပါ", + "@resetPasswordButton": {}, + "confirmCodeButton": "Kod disahkan", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "ယနေ့ Doctorina ကို အသုံးပြုရန် စတင်ပါ", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "သို့", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Kata laluan anda", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "စကားဝှက်ကိုပြပါ", + "@showPasswordHint": {}, + "obscurePasswordHint": "စကားဝှက်ကိုမှုတ်ပါ", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Clear login", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "အီးမေးလ် သို့မဟုတ် ဖုန်း", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com သို့မဟုတ် +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "အီးမေးလ် သို့မဟုတ် ဖုန်းနံပါတ် ထည့်ပါ", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "ဆက်လက်ရန် သဘောတူညီချက်များကို လက်ခံပါ။", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Saya bersetuju untuk pemprosesan data peribadi,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "အသုံးပြုခြင်း", + "@consentTheUseOf": {}, + "consentCookies": "kukis", + "@consentCookies": {}, + "consentAgreeToThe": ", setuju dengan", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "terma dan syarat", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", dan mengakui bahawa", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "dasar privasi", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Saya mengakui bahwa konsultasi saya adalah dengan AI dan bukan profesional medis berlisensi", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Log out", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Adakah anda pasti untuk log keluar?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Batal", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Ya, log out", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Hantar semula kod", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Hantar semula kod ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Saya bersetuju dengan pemprosesan data peribadi, penggunaan cookies, bersetuju dengan syarat dan ketentuan, dan mengakui

dasar privasi

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "သင့်အီးမေးကို ရိုက်ထည့်ပါ", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "အီးမေးလ်ဖြင့် စာရင်းသွင်းခြင်း", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "အီးမေးလ်ဖြင့် လော့ဂ်အင်လုပ်ပါ", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "သင့်ဖုန်းကိုထည့်ပါ", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "သင်၏ဖုန်းကိုအတည်ပြုပါ", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "စာရင်းသွင်းပါ", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "အီးမေးလ်ထည့်ပါ", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google ဖြင့် စာရင်းသွင်းပါ", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple ဖြင့် စာရင်းသွင်းပါ", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "ဖုန်းဖြင့် စာရင်းသွင်းပါ", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google ဖြင့် ဝင်ပါ", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple ဖြင့် ဝင်ရောက်ပါ", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "ဖုန်းဖြင့် လော့ဂ်အင်", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "သင်ထွက်သွားပါပြီ", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "ပြန်လည်သွင်းယူပါ", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "မမှန်ကန်သောအီးမေးလ်လိပ်စာ", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "စကားဝှက်သည် အနည်းဆုံး ၆ လုံးရှိရမည်", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "မမှန်သောဖုန်းနံပါတ်: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "ကျေးဇူးပြု၍ အသစ်သောကုဒ်တောင်းဆိုမှုမပြုမီ {seconds} စက္ကန့်စောင့်ပါ။", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "မှားယွင်းသော ဖုန်းကုဒ်: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "စည်းမျဉ်းစည်းကမ်းများ", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "ဧည့်သည်အနေနှင့် ဆက်လက်ပါ", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "အကောင့်မရှိသေးရဲ့လား?

စာရင်းသွင်းပါ

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "အကောင့်ရှိပြီးလား?

လော့ဂ်အင်

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Anda perlu mendaftar sebelum anda boleh meneruskan dengan Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "ကိုယ်ပိုင်အကြောင်းအရာများရယူပြီး သင့်လူမှုကွန်ရက်နှင့် ဆက်သွယ်ပါ!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "အီးမေးလ်", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "သင်၏စကားဝှက်ကိုပြန်လည်ရယူပါ", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "အကောင့်တစ်ခုဖန်တီးပါ", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "ကျွန်ုပ်တို့သည် သင့်ကျန်းမာရေးဒေတာကို လုံခြုံစွာ သိမ်းဆည်းရန်နှင့် သင့်အကဲဖြတ်မှုကို ဆက်လက်လုပ်ဆောင်ရန် အကောင့်တစ်ခုလိုအပ်သည်။", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "ထပ်မံ", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "သင်၏စကားဝှက်ကိုထပ်မံရိုက်ထည့်ပါ", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "အတည်ပြုပါ", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "အကောင့်မရှိပါလား?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "အကောင့်ရှိပါသလား?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "စကားဝှက်တစ်ခုဖန်တီးပါ", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "ဖုန်း", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "ဖုန်းကို အတည်ပြုပါ", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "သင်၏နံပါတ်ကဘာလဲ?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "ကျွန်ုပ်တို့သည် သင့်ဖုန်းကို အတည်ပြုရန် ကုဒ်တစ်ခုကို စာတိုပို့ပါမည်", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "နံပါတ်", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "ဖုန်းနံပါတ်ထည့်ပါ", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "စောင့်ဆိုင်းပါ {countdown} စက္ကန့်", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "သင်၏ကုဒ်ကိုထည့်ပါ", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "{phone} သို့ ကုဒ်တစ်ခု ပို့ခဲ့ပါသည်", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "ကုဒ်မရပါဘူးလား?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "ပြန်ပို့ရန်နှိပ်ပါ", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "{countdown} စက္ကန့်အတွင်း သင်သည် ကုဒ်အသစ်တောင်းဆိုနိုင်သည်", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "ပိတ်ပါ", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "ပြန်သွားမည်", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "ဝန်ဆောင်မှုအခြေအနေများ", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "ကိုယ်ရေးကိုယ်တာ မူဝါဒ", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "မင်္ဂလာပါ ပြန်လာတာဝမ်းသာပါတယ်", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "လက်ရှိ Doctorina အကောင့်ရှိပါက ဝင်ရောက်ပါ၊ သို့မဟုတ် စတင်ရန် စာရင်းသွင်းပါ။", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 မှ 128 အက္ခရာ", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "အနည်းဆုံး ၁ နံပါတ်", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "အနည်းဆုံး ၁ လက်ရှိအကြီးအစားစာလုံး", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "စကားဝှက်များကို ကိုက်ညီသည်", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP အတည်ပြုခြင်း မအောင်မြင်ပါ။ ထပ်မံကြိုးစားပါ။", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "ညွှန်ကြားချက်ကုဒ်", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "သင်၏ referral ကုဒ်ကို ထည့်ပါ", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "ဥပမာ CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "သင့်တွင် referral code ရှိပါသလား?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ne.arb b/example/lib/src/l10n/sign_up/app_ne.arb new file mode 100644 index 0000000..ae882f6 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ne.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ne", + "logIn": "लगइन गर्नुहोस्", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "पासवर्ड", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "संख्या परिवर्तन गर्नुहोस्", + "@changeNumber": {}, + "forgotPassword": "पासवर्ड बिर्सनुभयो?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "तपाईंको इमेल ठेगाना प्रविष्ट गर्नुहोस्, र हामी तपाईंलाई पासवर्ड रिसेट गर्नको लागि लिंक पठाउनेछौं।", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "तपाईंको पासवर्ड सम्झनुहुन्छ?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "मसँग पासवर्ड छ", + "@backToLoginButton": {}, + "continueButton": "जारी राख्नुहोस्", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "पासवर्ड रिसेट इमेल पठाइएको छ", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "पासवर्ड रिसेट गर्नुहोस्", + "@resetPasswordButton": {}, + "confirmCodeButton": "कोड पुष्टि गर्नुहोस्", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "आज Doctorina प्रयोग गर्न सुरु गर्नुहोस्", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "वा", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "तपाईंको पासवर्ड प्रविष्ट गर्नुहोस्", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "पासवर्ड देखाउनुहोस्", + "@showPasswordHint": {}, + "obscurePasswordHint": "गोप्य पासवर्ड", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "लॉगिन स्पष्ट गर्नुहोस्", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "इमेल वा फोन", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com वा +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "इमेल वा फोन नम्बर प्रविष्ट गर्नुहोस्", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "कृपया सम्झौताहरू स्वीकार गर्नुहोस्।", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "म मर्मतको लागि व्यक्तिगत डेटा प्रशोधन गर्न सहमत छु,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "प्रयोग", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", सहमत हुनुहुन्छ", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "शर्तहरू र अवस्था", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", र स्वीकृत गर्नुहोस्", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "गोपनीयता नीति", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "म म मेरो परामर्श एआईसँग भएको र कुनै लाइसेन्स प्राप्त चिकित्सा पेशेवरसँग नभएको कुरा स्वीकार गर्दछु।", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "लगआउट", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "के तपाईँ बाहिर जान्न निश्चित हुनुहुन्छ?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "रद्द गर्नुहोस्", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "हो, लगआउट गर्नुहोस्", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "कोड पुनः पठाउनुहोस्", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "कोड पुनः पठाउनुहोस् ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "म व्यक्तिगत डाटाको प्रशोधन, कुकिज को प्रयोग, नियम तथा शर्तहरू सँग सहमत छु, र

गोपनीयता नीति

स्वीकार गर्दछु", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "आफ्नो इमेल प्रविष्ट गर्नुहोस्", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "इमेलद्वारा साइन अप गर्नुहोस्", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "इमेल मार्फत लगइन गर्नुहोस्", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "तपाईंको फोन प्रविष्ट गर्नुहोस्", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "तपाईंको फोन पुष्टि गर्नुहोस्", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "साइन अप गर्नुहोस्", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "इमेल प्रविष्ट गर्नुहोस्", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google मार्फत साइन अप गर्नुहोस्", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple संग साइन अप गर्नुहोस्", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "फोनबाट साइन अप गर्नुहोस्", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google मार्फत लगइन गर्नुहोस्", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple सँग लगइन गर्नुहोस्", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "फोनबाट लगइन गर्नुहोस्", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "तपाईं लगआउट हुनु भयो", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "पुनः लोड गर्नुहोस्", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "अमान्य ईमेल ठेगाना", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "पासवर्ड कम्तीमा ६ अक्षरको हुनुपर्छ", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "अवैध फोन नम्बर: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "कृपया नयाँ कोड अनुरोध गर्नुभन्दा पहिले {seconds} सेकेन्ड पर्खनुहोस्।", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "अमान्य फोन कोड: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "नियम तथा शर्तहरू", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "अतिथिको रूपमा जारी राख्नुहोस्", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "अझै खाता छैन?

साइन अप गर्नुहोस्

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "पहिले नै खाता छ?

लग इन गर्नुहोस्

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "तपाईंलाई प्रीमियमसँग अगाडि बढ्नको लागि साइन अप गर्न आवश्यक छ", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "व्यक्तिगत सामग्री प्राप्त गर्नुहोस् र आफ्नो समुदायसँग सम्पर्कमा रहनुहोस्!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ई-मेल", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "तपाईंको पासवर्ड पुनः प्राप्त गर्नुहोस्", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "खाता सिर्जना गर्नुहोस्", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "हामीलाई तपाईंको स्वास्थ्य डेटा सुरक्षित रूपमा बचत गर्न र तपाईंको मूल्याङ्कन जारी राख्न खाता आवश्यक छ।", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "दोहराउनुहोस्", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "तपाईंको पासवर्ड दोहोर्याउनुहोस्", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "पुष्टि गर्नुहोस्", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "खाता छैन?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "पहिले नै खाता छ?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "पासवर्ड बनाउनुहोस्", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "फोन", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "फोनको पुष्टि गर्नुहोस्", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "तपाईंको नम्बर के हो?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "हामी तपाईंको फोनको प्रमाणीकरण गर्न कोड पठाउनेछौं", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "नम्बर", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "फोन नम्बर प्रविष्ट गर्नुहोस्", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "{countdown} सेकेन्ड पर्खनुहोस्", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "तपाईंको कोड प्रविष्ट गर्नुहोस्", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "हामीले {phone} मा कोड पठायौं", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "कोड प्राप्त भएन?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "पुन: पठाउनको लागि क्लिक गर्नुहोस्", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "तपाईं {countdown} सेकेन्डमा नयाँ कोडको लागि अनुरोध गर्न सक्नुहुन्छ", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "बन्द गर्नुहोस्", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "फिर्ता", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "सेवाको शर्तहरू", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "गोपनीयता नीति", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "फेरि स्वागत छ", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "यदि तपाईंसँग पहिले नै Doctorina खाता छ भने लग इन गर्नुहोस्, वा सुरु गर्न साइन अप गर्नुहोस्।", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 देखि 128 अक्षर", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "कम्तिमा 1 संख्या", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "कम्तिमा 1 ठूला अक्षर", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "पासवर्ड मिल्छ", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP प्रमाणीकरण असफल भयो। कृपया फेरि प्रयास गर्नुहोस्।", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "रेफरल कोड", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "तपाईंको सन्दर्भ कोड प्रविष्ट गर्नुहोस्", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "इनपुट क्षेत्रमा सन्दर्भ कोडको उदाहरण (E.G. CREATOR2026)", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "के तपाईंसँग सन्दर्भ कोड छ?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_nl.arb b/example/lib/src/l10n/sign_up/app_nl.arb new file mode 100644 index 0000000..70da75c --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_nl.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "nl", + "logIn": "Inloggen", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Wachtwoord", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Nummer wijzigen", + "@changeNumber": {}, + "forgotPassword": "Wachtwoord vergeten?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Voer uw e-mailadres in, en we sturen u een link om uw wachtwoord opnieuw in te stellen.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Vergeet je wachtwoord niet?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Ik heb een wachtwoord", + "@backToLoginButton": {}, + "continueButton": "Doorgaan", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "E-mail voor wachtwoordreset verzonden", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Wachtwoord resetten", + "@resetPasswordButton": {}, + "confirmCodeButton": "Bevestig code", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Begin vandaag met Doctorina", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "OF", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Voer uw wachtwoord in", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Toon wachtwoord", + "@showPasswordHint": {}, + "obscurePasswordHint": "Verberg wachtwoord", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Login wissen", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "E-mail of telefoon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "naam@gmail.com of +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Voer e-mailadres of telefoonnummer in", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Accepteer de overeenkomsten om door te gaan.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Ik stem in met de verwerking van persoonlijke gegevens,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "het gebruik van", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", ga akkoord met", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "voorwaarden en condities", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", en erkent u de", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "privacybeleid", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Ik erken dat mijn consultatie met een AI is en niet met een erkende medische professional", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Uitloggen", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Weet je zeker dat je wilt uitloggen?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Annuleren", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Ja, uitloggen", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Code opnieuw verzenden", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Code opnieuw verzenden ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Ik stem in met de verwerking van persoonlijke gegevens, het gebruik van cookies, ga akkoord met de voorwaarden en erken de

privacyverklaring

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Voer je e-mail in", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Aanmelden met e-mail", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Inloggen met e-mail", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Voer uw telefoon in", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Bevestig je telefoon", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Aanmelden", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Voer e-mail in", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Meld je aan met Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Registreer met Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Registreer met telefoon", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Inloggen met Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Inloggen met Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Inloggen met telefoon", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "U bent uitgelogd", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Opnieuw laden", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Ongeldig e-mailadres", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Het wachtwoord moet uit minimaal 6 tekens bestaan", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Ongeldig telefoonnummer: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Wacht {seconds} seconden voordat je een nieuwe code aanvraagt.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Ongeldige telefooncode: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Algemene voorwaarden", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Doorgaan als gast", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Nog geen account?

Registreer

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Heb je al een account?

Inloggen

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Je moet je aanmelden voordat je verder kunt met Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Krijg gepersonaliseerde inhoud en blijf in contact met je gemeenschap!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Herstel uw wachtwoord", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Een account aanmaken", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "We hebben een account nodig om uw gezondheidsgegevens veilig op te slaan en uw beoordeling voort te zetten.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Herhaal", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Herhaal uw wachtwoord", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Bevestigen", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Heb je geen account?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Al een account?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Maak een wachtwoord aan", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefoon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Verifieer telefoon", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Wat is uw nummer?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "We sturen een code om uw telefoon te verifiëren", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Nummer", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Voer telefoonnummer in", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Wacht {countdown} seconden", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Voer uw code in", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "We hebben een code gestuurd naar {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Heeft u de code niet ontvangen?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Klik om opnieuw te verzenden", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "U kunt een nieuwe code aanvragen in {countdown} seconden", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Sluiten", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Terug", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Voorwaarden", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Privacybeleid", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Welkom terug", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Log in als je al een Doctorina-account hebt, of meld je aan om te beginnen.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Van 8 tot 128 tekens", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Minimaal 1 cijfer", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Minimaal 1 hoofdletter", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Wachtwoorden komen overeen", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP-verificatie is mislukt. Probeer het opnieuw.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Verwijscode", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Voer uw referralcode in", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Bijv. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Heeft u een referral code?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_pa.arb b/example/lib/src/l10n/sign_up/app_pa.arb new file mode 100644 index 0000000..ebe850a --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_pa.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "pa", + "logIn": "ਲਾਗਿਨ ਕਰੋ", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "ਪਾਸਵਰਡ", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "ਨੰਬਰ ਬਦਲੋ", + "@changeNumber": {}, + "forgotPassword": "ਕੀ ਤੁਸੀਂ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "ਆਪਣਾ ਈਮੇਲ ਪਤਾ ਦਰਜ ਕਰੋ, ਅਤੇ ਅਸੀਂ ਤੁਹਾਨੂੰ ਆਪਣਾ ਪਾਸਵਰਡ ਰੀਸੈਟ ਕਰਨ ਲਈ ਇੱਕ ਲਿੰਕ ਭੇਜਾਂਗੇ.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਪਾਸਵਰਡ ਯਾਦ ਰੱਖਦੇ ਹੋ?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "ਮੇਰੇ ਕੋਲ ਪਾਸਵਰਡ ਹੈ", + "@backToLoginButton": {}, + "continueButton": "ਜਾਰੀ ਰੱਖੋ", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "ਪਾਸਵਰਡ ਰੀਸੈਟ ਈਮੇਲ ਭੇਜਿਆ ਗਿਆ", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "ਪਾਸਵਰਡ ਦੁਬਾਰਾ ਸੈਟ ਕਰੋ", + "@resetPasswordButton": {}, + "confirmCodeButton": "ਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "ਅੱਜ ਹੀ ਡਾਕਟਰਿਨਾ ਦੀ ਵਰਤੋਂ ਸ਼ੁਰੂ ਕਰੋ", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "ਜਾਂ", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "ਆਪਣਾ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "ਪਾਸਵਰਡ ਦਿਖਾਓ", + "@showPasswordHint": {}, + "obscurePasswordHint": "ਪਾਸਵਰਡ ਛੁਪਾਓ", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "ਲੌਗਿਨ ਸਾਫ਼ ਕਰੋ", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ਈਮੇਲ ਜਾਂ ਫੋਨ", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com ਜਾਂ +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ਈਮੇਲ ਜਾਂ ਫੋਨ ਨੰਬਰ ਦਰਜ ਕਰੋ", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "ਕਿਰਪਾ ਕਰਕੇ ਅਗੇ ਵਧਣ ਲਈ ਸਹਿਮਤੀਆਂ ਨੂੰ ਮਨਜ਼ੂਰ ਕਰੋ।", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "ਮੈਂ ਨਿੱਜੀ ਡਾਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ ਲਈ ਸਹਿਮਤ ਹਾਂ,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "ਦੇ ਇਸਤੇਮਾਲ", + "@consentTheUseOf": {}, + "consentCookies": "ਕੁਕੀਜ਼", + "@consentCookies": {}, + "consentAgreeToThe": ", ਸਹਿਮਤ ਹਾਂ", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "ਸ਼ਰਤਾਂ ਅਤੇ ਨਿਯਮ", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", ਅਤੇ ਸਵੀਕਾਰ ਕਰੋ", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "ਗੋਪਨੀਯਤਾ ਨੀਤੀ", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "ਮੈਂ ਮੰਨਦਾ ਹਾਂ ਕਿ ਮੇਰੀ ਸਲਾਹ-ਮਸ਼ਵਰਾ ਇੱਕ ਏ.ਆਈ. ਨਾਲ ਹੈ ਅਤੇ ਨਾ ਕਿ ਕਿਸੇ ਲਾਇਸੈਂਸ ਪ੍ਰਾਪਤ ਮੈਡੀਕਲ ਪੇਸ਼ੇਵਰ ਨਾਲ.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "ਲੌਗ ਆਉਟ", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "ਕੀ ਤੁਸੀਂ ਲੌਗ ਆਉਟ ਹੋਣ ਲਈ ਯਕੀਨੀ ਹੋ?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "ਰੱਦ ਕਰੋ", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "ਹਾਂ, ਲੌਗ ਆਉਟ ਕਰੋ", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "ਕੋਡ ਦੁਬਾਰਾ ਭੇਜੋ", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "ਕੋਡ ਦੁਬਾਰਾ ਭੇਜੋ ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "ਮੈਂ ਨਿੱਜੀ ਡੇਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ, ਕੁਕੀਜ਼ ਦੇ ਇਸਤੇਮਾਲ, ਸ਼ਰਤਾਂ ਅਤੇ ਨਿਯਮਾਂ ਨਾਲ ਸਹਿਮਤ ਹਾਂ, ਅਤੇ

ਗੋਪਨੀਯਤਾ ਨੀਤੀ

ਨੂੰ ਮੰਨਦਾ ਹਾਂ।", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "ਆਪਣਾ ਈਮੇਲ ਦਰਜ ਕਰੋ", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ਈਮੇਲ ਨਾਲ ਸਾਈਨ ਅਪ ਕਰੋ", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ਈ-ਮੇਲ ਨਾਲ ਲੌਗ ਇਨ ਕਰੋ", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "ਆਪਣਾ ਫ਼ੋਨ ਦਰਜ ਕਰੋ", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "ਆਪਣਾ ਫ਼ੋਨ ਪੁਸ਼ਟੀ ਕਰੋ", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "ਸਾਈਨ ਅਪ ਕਰੋ", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ਈਮੇਲ ਦਰਜ ਕਰੋ", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google ਨਾਲ ਸਾਈਨ ਅੱਪ ਕਰੋ", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple ਨਾਲ ਸਾਈਨ ਅੱਪ ਕਰੋ", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "ਫੋਨ ਨਾਲ ਸਾਈਨਅਪ ਕਰੋ", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google ਨਾਲ ਲੌਗਿਨ ਕਰੋ", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple ਨਾਲ ਲਾਗਇਨ ਕਰੋ", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "ਫੋਨ ਨਾਲ ਲੌਗਇਨ ਕਰੋ", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "ਤੁਸੀਂ ਲਾਗ ਆਉਟ ਹੋ ਚੁੱਕੇ ਹੋ", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "ਰੀਲੋਡ ਕਰੋ", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "ਗਲਤ ਈਮੇਲ ਪਤਾ", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "ਪਾਸਵਰਡ ਘੱਟੋ-ਘੱਟ 6 ਅੱਖਰਾਂ ਦਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "ਗਲਤ ਫ਼ੋਨ ਨੰਬਰ: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "ਕ੍ਰਿਪਾ ਕਰਕੇ ਨਵਾਂ ਕੋਡ ਮੰਗਣ ਤੋਂ ਪਹਿਲਾਂ {seconds} ਸਕਿੰਟ ਰੁਕੋ.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "ਗਲਤ ਫੋਨ ਕੋਡ: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "ਸ਼ਰਤਾਂ ਅਤੇ ਨਿਯਮ", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "ਮਿਹਮਾਨ ਵਜੋਂ ਜਾਰੀ ਰੱਖੋ", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "ਹੁਣੇ ਤੱਕ ਖਾਤਾ ਨਹੀਂ?

ਸਾਈਨ ਅਪ ਕਰੋ

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਖਾਤਾ ਹੈ?

ਲਾਗਿਨ ਕਰੋ

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "ਤੁਹਾਨੂੰ ਪ੍ਰੀਮੀਅਮ ਨਾਲ ਜਾਰੀ ਰੱਖਣ ਤੋਂ ਪਹਿਲਾਂ ਸਾਈਨ ਅਪ ਕਰਨਾ ਪਵੇਗਾ", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "ਨਿੱਜੀ ਸਮੱਗਰੀ ਪ੍ਰਾਪਤ ਕਰੋ ਅਤੇ ਆਪਣੇ ਸਮੁਦਾਇ ਨਾਲ ਸੰਪਰਕ ਵਿੱਚ ਰਹੋ!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ਈ-ਮੇਲ", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "ਆਪਣਾ ਪਾਸਵਰਡ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰੋ", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "ਖਾਤਾ ਬਣਾਓ", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "ਸਾਨੂੰ ਤੁਹਾਡੇ ਸਿਹਤ ਡੇਟਾ ਨੂੰ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਸੇਵ ਕਰਨ ਅਤੇ ਤੁਹਾਡੀ ਮੁਲਾਂਕਣ ਜਾਰੀ ਰੱਖਣ ਲਈ ਇੱਕ ਖਾਤੇ ਦੀ ਲੋੜ ਹੈ।", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "ਦੁਹਰਾਓ", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "ਆਪਣਾ ਪਾਸਵਰਡ ਦੁਬਾਰਾ ਦਾਖਲ ਕਰੋ", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "ਪੁਸ਼ਟੀ ਕਰੋ", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਖਾਤਾ ਨਹੀਂ ਹੈ?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਖਾਤਾ ਹੈ?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "ਪਾਸਵਰਡ ਬਣਾਓ", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "ਫੋਨ", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "ਫੋਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "ਤੁਹਾਡਾ ਨੰਬਰ ਕੀ ਹੈ?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "ਅਸੀਂ ਤੁਹਾਡੇ ਫੋਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਇੱਕ ਕੋਡ ਭੇਜਾਂਗੇ", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "ਨੰਬਰ", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "ਫੋਨ ਨੰਬਰ ਦਰਜ ਕਰੋ", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "ਇੰਤਜ਼ਾਰ ਕਰੋ {countdown} ਸਕਿੰਟ", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "ਆਪਣਾ ਕੋਡ ਦਰਜ ਕਰੋ", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "ਅਸੀਂ {phone} ਤੇ ਇੱਕ ਕੋਡ ਭੇਜਿਆ ਹੈ", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "ਕੋਡ ਨਹੀਂ ਮਿਲਿਆ?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "ਮੁੜ ਭੇਜਣ ਲਈ ਕਲਿੱਕ ਕਰੋ", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "ਤੁਸੀਂ {countdown} ਸਕਿੰਟਾਂ ਵਿੱਚ ਨਵਾਂ ਕੋਡ ਮੰਗ ਸਕਦੇ ਹੋ", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "ਬੰਦ ਕਰੋ", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "ਵਾਪਸ", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "ਗੋਪਨੀਯਤਾ ਨੀਤੀ", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "ਵਾਪਸ ਆਉਣ 'ਤੇ ਸੁਆਗਤ ਹੈ", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ Doctorina ਖਾਤਾ ਹੈ ਤਾਂ ਲੌਗ ਇਨ ਕਰੋ, ਜਾਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 ਤੋਂ 128 ਅੱਖਰ", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "ਘੱਟੋ-ਘੱਟ 1 ਨੰਬਰ", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "ਘੱਟੋ-ਘੱਟ 1 ਵੱਡਾ ਅੱਖਰ", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "ਪਾਸਵਰਡ ਮਿਲਦੇ ਹਨ", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP ਪੁਸ਼ਟੀਕਰਨ ਅਸਫਲ ਰਿਹਾ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Referral code", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "ਆਪਣਾ ਰਿਫਰਲ ਕੋਡ ਦਰਜ ਕਰੋ", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "ਉਦਾਹਰਨ: CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਰਿਫਰਲ ਕੋਡ ਹੈ?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_pa_PK.arb b/example/lib/src/l10n/sign_up/app_pa_PK.arb new file mode 100644 index 0000000..ae6de4b --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_pa_PK.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "pa_PK", + "logIn": "لاگ ان", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "پاس ورڈ", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "نمبر تبدیل کریں", + "@changeNumber": {}, + "forgotPassword": "پاس ورڈ بھول گئے؟", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "اپنا ای میل پتہ درج کریں، اور ہم آپ کو پاس ورڈ ری سیٹ کرنے کے لیے لنک بھیجیں گے", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "تُسیں اپنا پاس ورڈ یاد اے?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "میرے کول پاسورڈ ہے", + "@backToLoginButton": {}, + "continueButton": "جاری رکھو", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "پاس ورڈ ری سیٹ ای میل بھیج دی گئی", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "پاس ورڈ ری سیٹ کریں", + "@resetPasswordButton": {}, + "confirmCodeButton": "کوڈ کی تصدیق کریں", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "آج ہی Doctorina استعمال کرنا شروع کریں", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "یا", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "اپنا پاس ورڈ درج کریں", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "پاس ورڈ دکھاو", + "@showPasswordHint": {}, + "obscurePasswordHint": "پاس ورڈ چھپاؤ", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "لاگ ان صاف کریں", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ای میل یا فون", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com یا +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ای میل یا فون نمبر درج کریں", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "براہ مہربانی جاری رکھنے کے لیے معاہدے قبول کریں.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "میں ذاتی ڈیٹا کی پروسیسنگ کی اجازت دیتا ہوں,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "استعمال کا", + "@consentTheUseOf": {}, + "consentCookies": "کوکیز", + "@consentCookies": {}, + "consentAgreeToThe": ", متفق ہوں", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "شرائط و ضوابط", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", تے تسلیم کریں", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "پرائیویسی پالیسی", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "میں اس بات کا اعتراف کرتا ہوں کہ میری مشاورت ایک AI کے ساتھ ہے اور لائسنس یافتہ طبی پیشہ ور کے ساتھ نہیں.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "لاگ آؤٹ", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "تُسیں نِشچِت او کہ تُسیں لاگ آوٹ کرنا چاہندے او؟", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "منسوخ کریں", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "ہاں، لاگ آؤٹ", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "کوڈ دوبارہ بھیجیں", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "کوڈ دوبارہ بھیجیں ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "میں ذاتی ڈیٹا کی پروسیسنگ، کوکیز کے استعمال، شرائط و ضوابط سے اتفاق کرتا ہوں، اور

رازداری کی پالیسی

کو تسلیم کرتا ہوں.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "اپنا ای میل درج کریں", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ای میل کے ذریعے سائن اپ کریں", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ای میل کے ساتھ لاگ ان کریں", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "اپنا فون درج کریں", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "اپنا فون تصدیق کرو", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "سائن اپ کریں", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ای میل درج کریں", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "گوگل نال سائن اپ کرو", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple کے ساتھ رجسٹر کریں", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "فون کے ذریعے سائن اپ کریں", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "گوگل نال لاگ ان کرو", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple نال لاگ ان کرو", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "فون نال لاگ اِن کرو", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "ਤੁਸੀ ਲਾਗ ਆਊਟ ਹੋ ਗਏ", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "ری لوڈ کریں", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "غلط ای میل پتہ", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "پاس ورڈ کم از کم 6 حروف پر مشتمل ہونا چاہیے", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "غلط فون نمبر: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "براہ کرم نیا کوڈ مانگنے سے پہلے {seconds} سیکنڈ انتظار کریں.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "غلط فون کوڈ: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "شرائط و ضوابط", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "مہمان کے طور پر جاری رکھیں", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "ਹੁਣੇ ਤੱਕ ਖਾਤਾ ਨਹੀਂ?

ਸਾਈਨ ਅਪ ਕਰੋ

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "کیا آپ کا پہلے سے اکاؤنٹ ہے؟

لاگ ان کریں

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "آپ کو پریمیم کے ساتھ جاری رکھنے سے پہلے سائن اپ کرنا ہوگا", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "شخصی مواد حاصل کریں اور اپنی کمیونٹی کے ساتھ رابطے میں رہیں!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ای میل", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "اپنا پاس ورڈ بحال کریں", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "اکاؤنٹ بنائیں", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "ہمیں آپ کے صحت کے ڈیٹا کو محفوظ طریقے سے محفوظ کرنے اور آپ کی تشخیص کو جاری رکھنے کے لیے ایک اکاؤنٹ کی ضرورت ہے.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "دہرائیں", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "اپنا پاس ورڈ دوبارہ درج کریں", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "تصدیق کریں", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "کیا آپ کا اکاؤنٹ نہیں ہے؟", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "کیا آپ کے پاس پہلے سے ہی اکاؤنٹ ہے؟", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "پاسورڈ بنائیں", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "فون", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "فون کی تصدیق کریں", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "تُہاڈی نمبر کیہ ہے؟", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "ਅਸੀਂ ਤੁਹਾਡੇ ਫੋਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਇੱਕ ਕੋਡ ਭੇਜਾਂਗੇ", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "نمبر", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "فون نمبر درج کریں", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "انتظار کریں {countdown} سیکنڈ", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "اپنا کوڈ درج کریں", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "{phone} تے ایک کوڈ بھیجیا گیا", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "کیا آپ کو کوڈ موصول نہیں ہوا؟", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "دوبارہ بھیجنے کے لیے کلک کریں", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "تُسی {countdown} سیکنڈ وچ نواں کوڈ مانگ سکدے او", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "بند کرو", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "پیچھے", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "خدمات کی شرائط", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "رازداری کی پالیسی", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "پھر خوش آمدید", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ Doctorina ਖਾਤਾ ਹੈ ਤਾਂ ਲਾਗਇਨ ਕਰੋ, ਜਾਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 ਤੋਂ 128 ਅੱਖਰ", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "کم از کم 1 نمبر", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "کم از کم 1 بڑے حرف", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "پاس ورڈز میل کھاتے ہیں", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP ਪੁਸ਼ਟੀਕਰਨ ਅਸਫਲ ਰਿਹਾ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "ریفرل کوڈ", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "اپنا ریفرل کوڈ درج کریں", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "مثال کے طور پر CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "کیا آپ کے پاس ریفرل کوڈ ہے؟", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_pl.arb b/example/lib/src/l10n/sign_up/app_pl.arb new file mode 100644 index 0000000..9cff32b --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_pl.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "pl", + "logIn": "Zaloguj się", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Hasło", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Zmień numer", + "@changeNumber": {}, + "forgotPassword": "Zapomniałeś hasła?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Wprowadź swój adres e-mail, a wyślemy Ci link do zresetowania hasła.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Pamiętasz swoje hasło?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Mam hasło", + "@backToLoginButton": {}, + "continueButton": "Kontynuuj", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Wysłano e-mail z resetowaniem hasła", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Zresetuj hasło", + "@resetPasswordButton": {}, + "confirmCodeButton": "Potwierdź kod", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Zacznij korzystać z Doctorina już dziś", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "LUB", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Wprowadź swoje hasło", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Pokaż hasło", + "@showPasswordHint": {}, + "obscurePasswordHint": "Ukryj hasło", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Wyczyść logowanie", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email lub telefon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com lub +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Wprowadź adres e-mail lub numer telefonu", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Proszę zaakceptować umowy, aby kontynuować", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Wyrażam zgodę na przetwarzanie danych osobowych,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "użycie", + "@consentTheUseOf": {}, + "consentCookies": "ciasteczka", + "@consentCookies": {}, + "consentAgreeToThe": ", zgadzam się na", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "warunki i zasady", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", i potwierdzam, że", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "polityka prywatności", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Potwierdzam, że moja konsultacja odbywa się z AI, a nie z licencjonowanym specjalistą medycznym", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Wyloguj się", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Czy na pewno chcesz się wylogować?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Anuluj", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Tak, wyloguj się", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Wyślij kod ponownie", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Wyślij kod ponownie ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Wyrażam zgodę na przetwarzanie danych osobowych, korzystanie z ciasteczek, zgadzam się na warunki oraz potwierdzam

politykę prywatności

", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Wprowadź swój e-mail", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Zarejestruj się przez e-maila", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Zaloguj się przez e-maila", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Wpisz swój telefon", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Potwierdź swój telefon", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Zarejestruj się", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Wprowadź e-mail", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Zarejestruj się przez Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Zarejestruj się przez Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Zarejestruj się przez telefon", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Zaloguj się przez Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Zaloguj się przez Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Zaloguj się przez telefon", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Wylogowano", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Przeładuj", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Nieprawidłowy adres e-mail", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Hasło musi mieć co najmniej 6 znaków", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Nieprawidłowy numer telefonu: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Odczekaj {seconds} sekund przed prośbą o nowy kod.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Nieprawidłowy kod telefonu: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Warunki korzystania", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Kontynuuj jako gość", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Nie masz jeszcze konta?

Zarejestruj się

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Masz już konto?

Zaloguj się

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Musisz się zarejestrować, zanim będziesz mógł kontynuować z Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Uzyskaj spersonalizowane treści i bądź w kontakcie ze swoją społecznością!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Odzyskaj swoje hasło", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Utwórz konto", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Potrzebujemy konta, aby bezpiecznie zapisać twoje dane zdrowotne i kontynuować ocenę.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Powtórz", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Powtórz swoje hasło", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Potwierdź", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Nie masz konta?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Masz już konto?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Utwórz hasło", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Weryfikacja telefonu", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Jaki jest twój numer?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Wyślemy kod, aby zweryfikować Twój telefon", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Numer", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Wprowadź numer telefonu", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+48 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Czekaj {countdown} sekund", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Wprowadź swój kod", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Wysłaliśmy kod na {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Nie otrzymałeś kodu?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Kliknij, aby wysłać ponownie", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Możesz poprosić o nowy kod za {countdown} sekund", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Zamknij", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Wstecz", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Warunki korzystania", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Polityka prywatności", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Witaj z powrotem", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Zaloguj się, jeśli masz już konto Doctorina, lub zarejestruj się, aby zacząć.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Od 8 do 128 znaków", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Co najmniej 1 liczba", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Co najmniej 1 wielka litera", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Hasła się zgadzają", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Weryfikacja OTP nie powiodła się. Spróbuj ponownie.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Referral code", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Wprowadź swój kod polecający", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Np. KREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Masz kod polecający?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ps.arb b/example/lib/src/l10n/sign_up/app_ps.arb new file mode 100644 index 0000000..db6fead --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ps.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ps", + "logIn": "ننوتل", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "پټ نوم", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "شمیره بدل کړئ", + "@changeNumber": {}, + "forgotPassword": "پټ پاسورډ؟", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "خپل بریښنالیک پته ولیکئ، او موږ به تاسو ته د خپل پټ نوم د بیا تنظیم کولو لپاره لینک واستوو.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "یادته دی پاسورډ دې؟", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "زه يو پټنوم لرم", + "@backToLoginButton": {}, + "continueButton": "ادامه", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "د پټنوم بیا تنظیمولو ایمیل لیږل شوی", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "پاسورډ بیا تنظیم کړئ", + "@resetPasswordButton": {}, + "confirmCodeButton": "تأیید کوډ", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "نن ورځ Doctorina کارول پیل کړئ", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "يا", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "خپل پټ نوم داخل کړئ", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "د پټنوم ښودل", + "@showPasswordHint": {}, + "obscurePasswordHint": "Obscure password", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "پاکول د ننوتلو", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "برېښنالیک یا ټلیفون", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com یا +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "برېښنالیک یا تلیفون شمېره داخل کړئ", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "مهرباني وکړئ موافقې ومنئ ترڅو دوام ورکړئ", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "زه د شخصي معلوماتو پروسس کولو سره موافق یم,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "د کارونې", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", د موافقه کولو", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "شرایط و ضوابط", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", او د قبولولو", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "د پټتیا پالیسي", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "زه تایید کوم چې زما مشوره د AI سره ده او نه د جواز لرونکي طبي مسلکي سره.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "خروج", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "آیا تاسو د وتلو لپاره باوري یاست؟", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "لغو", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "هو، وتړل", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "کوډ بیا واستوئ", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "کوډ بیا واستوئ ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "زه د شخصي معلوماتو پروسس کولو، د کوکیز کارولو، د شرایطو او شرایطو سره موافق یم، او د

محرمیت پالیسي

په اړه پوهیږم.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "خپل برېښنالیک دننه کړئ", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "د بریښنالیک له لارې راجستر شی", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "د برېښنالیک سره ننوتل", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "خپل ټیلیفون دننه کړئ", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "خپل تلیفون تایید کړئ", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "راجستر شئ", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "بریښنالیک دننه کړئ", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "د Google سره ثبت نام وکړئ", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "د Apple سره نوم لیکنه وکړئ", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "د تلیفون له لارې ثبت نام وکړئ", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "د Google سره ننوتل", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "د Apple سره ننوتل", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "د تلیفون له لارې ننوتل", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "تاسو وتلي یاست", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "بیا بار کړئ", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "ناسم بریښنالیک پته", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "پټنوم باید لږترلږه ۶ توري ولري", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "ناسم د تلیفون شمېره: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "مهرباني وکړئ تر دې چې نوی کوډ وغواړئ {seconds} ثانیې انتظار وکړئ.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "ناسم د تلیفون کود: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "شرایط او ضوابط", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "لکه مېلمه دوام ورکړئ", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "تر اوسه حساب نه لرئ؟

راجستر شئ

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "آیا لا حساب لرئ؟

ننوتل

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "تاسو باید د پریمیوم سره د دوام لپاره ثبت نام وکړئ", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "شخصي محتوا ترلاسه کړئ او له خپلې ټولنې سره اړیکه وساتئ!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "برېښنالیک", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "خپل پټ نوم بیا ترلاسه کړئ", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "یو حساب جوړ کړئ", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "موږ ته د حساب اړتیا ده ترڅو ستاسو د روغتیا معلومات په خوندي ډول وساتو او ستاسو ارزونه دوام ورکړو.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "تکرار", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "خپل پټ نوم تکرار کړئ", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "تایید", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "ایا تاسو حساب نلرئ؟", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "تاسو لا دمخه حساب لرئ؟", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "یو پټنوم جوړ کړئ", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "تلیفون", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "د تلیفون تصدیق", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "شمیره دې څه ده؟", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "موږ به ستاسو ټلیفون تایید کولو لپاره کوډ ولیږو", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "شمیره", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "د تلیفون شمیره داخل کړئ", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "انتظار {countdown} ثانیې", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "خپل کوډ داخل کړئ", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "موږ کوډ په {phone} ته واستاوه", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "کوډ نه دی ترلاسه شوی؟", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "کلیک وکړئ ترڅو بیا واستوئ", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "تاسو کولی شئ په {countdown} ثانیو کې نوې کوډ غوښتنه وکړئ", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "بندول", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "شاته", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "د خدمتونو شرایط", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "د پټتیا پالیسي", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "بېرته راغلاست", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "که تاسو دمخه د Doctorina حساب لرئ نو لاگ ان شئ، یا د پیل لپاره ثبت نام وکړئ.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "له ۸ څخه تر ۱۲۸ حروفو", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "لږ تر لږه ۱ شمېره", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "لږ تر لږه ۱ لوی حرف", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "پاسورډونه سره برابريږي", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "د OTP تایید ناکام شو. مهرباني وکړئ بیا هڅه وکړئ.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "د معرفي کوډ", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "خپل ریفرل کوډ داخل کړئ", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "د داخلیدو په ساحه کې د حوالې کوډ مثال", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "ایا تاسو ریفرل کوډ لرئ؟", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_pt.arb b/example/lib/src/l10n/sign_up/app_pt.arb new file mode 100644 index 0000000..b8f3217 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_pt.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "pt", + "logIn": "Entrar", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Senha", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Alterar número", + "@changeNumber": {}, + "forgotPassword": "Esqueceu a senha?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Digite seu endereço de e-mail, e nós enviaremos um link para redefinir sua senha.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Você se lembra da sua senha?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Eu tenho uma senha", + "@backToLoginButton": {}, + "continueButton": "Continuar", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "E-mail de redefinição de senha enviada", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Redefinir senha", + "@resetPasswordButton": {}, + "confirmCodeButton": "Confirmar código", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Comece a usar o Doctorina hoje", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "OU", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Digite sua senha", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Mostrar senha", + "@showPasswordHint": {}, + "obscurePasswordHint": "Ocultar senha", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Limpar login", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email ou telefone", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com ou +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Digite o e-mail ou número de telefone", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Por favor, aceite os acordos para continuar.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Eu consinto com o processamento de dados pessoais,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "o uso de", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", aceito", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "termos e condições", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", e reconheça", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "política de privacidade", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Reconheço que minha consulta é com uma IA e não com um profissional médico licenciado.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Sair", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Tem certeza de que deseja sair?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Cancelar", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Sim, sair", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Reenviar código", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Reenviar código ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Eu consinto com o processamento de dados pessoais, o uso de cookies, concordo com os termos e condições, e reconheço a

política de privacidade

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Digite seu e-mail", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Inscreva-se com e-mail", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Entrar com email", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Digite seu telefone", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Confirme seu telefone", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Cadastrar-se", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Digite o e-mail", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Cadastre-se com o Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Inscreva-se com a Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Cadastre-se com o telefone", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Entrar com o Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Entrar com Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Entrar com o telefone", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Você saiu", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Recarregar", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Endereço de e-mail inválido", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "A senha deve ter pelo menos 6 caracteres", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Número de telefone inválido: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Por favor, aguarde {seconds} segundos antes de solicitar um novo código.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Código de telefone inválido: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Termos e condições", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Continuar como convidado", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Ainda não tem uma conta?

Cadastre-se

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Já tem uma conta?

Entrar

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Você precisa se inscrever antes de continuar com o Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Obtenha conteúdo personalizado e mantenha contato com sua comunidade!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Recupere sua senha", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Criar uma conta", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Precisamos de uma conta para salvar com segurança seus dados de saúde e continuar sua avaliação.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Repetir", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Repita sua senha", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Confirmar", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Não tem uma conta?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Já tem uma conta?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Criar uma senha", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefone", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Verificar telefone", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Qual é o seu número?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Nós enviaremos um código por mensagem de texto para verificar seu telefone", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Número", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Digite o número de telefone", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+55 (21) 5555-0123", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Aguarde {countdown} segundos", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Digite seu código", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Enviamos um código para {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Não recebeu o código?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Clique para reenviar", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Você pode solicitar um novo código em {countdown} segundos", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Fechar", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Voltar", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Termos de Serviço", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Política de Privacidade", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Bem-vindo de volta", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Faça login se você já tiver uma conta Doctorina, ou inscreva-se para começar.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "De 8 a 128 caracteres", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Pelo menos 1 número", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Pelo menos 1 letra maiúscula", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "As senhas correspondem", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "A verificação por OTP falhou. Tente novamente.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Código de referência", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Digite seu código de referência", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Ex.: CRIADOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Tem um código de referência?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_pt_BR.arb b/example/lib/src/l10n/sign_up/app_pt_BR.arb new file mode 100644 index 0000000..1a8cfd8 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_pt_BR.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "pt_BR", + "logIn": "Entrar", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Senha", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Alterar número", + "@changeNumber": {}, + "forgotPassword": "Esqueceu a senha?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Digite seu endereço de e-mail, e nós enviaremos um link para redefinir sua senha.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Você se lembra da sua senha?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Eu tenho uma senha", + "@backToLoginButton": {}, + "continueButton": "Continuar", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "E-mail de redefinição de senha enviada", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Redefinir senha", + "@resetPasswordButton": {}, + "confirmCodeButton": "Confirmar código", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Comece a usar o Doctorina hoje", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "OU", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Digite sua senha", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Mostrar senha", + "@showPasswordHint": {}, + "obscurePasswordHint": "Ocultar senha", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Limpar login", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email ou telefone", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com ou +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Digite o e-mail ou número de telefone", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Por favor, aceite os acordos para continuar.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Eu consinto com o processamento de dados pessoais,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "o uso de", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", aceito", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "termos e condições", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", e reconheça", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "política de privacidade", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Reconheço que minha consulta é com uma IA e não com um profissional médico licenciado.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Sair", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Tem certeza de que deseja sair?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Cancelar", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Sim, sair", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Reenviar código", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Reenviar código ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Eu consinto com o processamento de dados pessoais, o uso de cookies, concordo com os termos e condições, e reconheço a

política de privacidade

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Digite seu e-mail", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Inscreva-se com e-mail", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Entrar com email", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Digite seu telefone", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Confirme seu telefone", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Cadastrar-se", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Digite o e-mail", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Cadastre-se com o Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Inscreva-se com a Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Cadastre-se com o telefone", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Entrar com o Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Entrar com Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Entrar com o telefone", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Você saiu", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Recarregar", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Endereço de e-mail inválido", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "A senha deve ter pelo menos 6 caracteres", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Número de telefone inválido: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Por favor, aguarde {seconds} segundos antes de solicitar um novo código.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Código de telefone inválido: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Termos e condições", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Continuar como convidado", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Ainda não tem uma conta?

Cadastre-se

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Já tem uma conta?

Entrar

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Você precisa se inscrever antes de continuar com o Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Obtenha conteúdo personalizado e mantenha contato com sua comunidade!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Recupere sua senha", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Criar uma conta", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Precisamos de uma conta para salvar com segurança seus dados de saúde e continuar sua avaliação.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Repetir", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Repita sua senha", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Confirmar", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Não tem uma conta?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Já tem uma conta?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Criar uma senha", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefone", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Verificar telefone", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Qual é o seu número?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Nós enviaremos um código por mensagem de texto para verificar seu telefone", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Número", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Digite o número de telefone", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+55 (21) 5555-0123", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Aguarde {countdown} segundos", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Digite seu código", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Enviamos um código para {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Não recebeu o código?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Clique para reenviar", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Você pode solicitar um novo código em {countdown} segundos", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Fechar", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Voltar", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Termos de Serviço", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Política de Privacidade", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Bem-vindo de volta", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Faça login se você já tiver uma conta Doctorina, ou inscreva-se para começar.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "De 8 a 128 caracteres", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Pelo menos 1 número", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Pelo menos 1 letra maiúscula", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "As senhas correspondem", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "A verificação por OTP falhou. Tente novamente.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Código de referência", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Digite seu código de referência", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Ex.: CRIADOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Tem um código de referência?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ro.arb b/example/lib/src/l10n/sign_up/app_ro.arb new file mode 100644 index 0000000..1a861da --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ro.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ro", + "logIn": "Conectare", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Parolă", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Schimbă numărul", + "@changeNumber": {}, + "forgotPassword": "Ați uitat parola?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Introduceți adresa dumneavoastră de email și vă vom trimite un link pentru a vă reseta parola.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Îți amintești parola?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Am o parolă", + "@backToLoginButton": {}, + "continueButton": "Continuare", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Email de resetare a parolei trimis", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Resetează parola", + "@resetPasswordButton": {}, + "confirmCodeButton": "Confirmă codul", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Începe să folosești Doctorina astăzi", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "SAU", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Introduceți parola dvs.", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Arată parola", + "@showPasswordHint": {}, + "obscurePasswordHint": "Parolă obscură", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Ștergeți autentificarea", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email sau telefon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com sau +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Introduceți adresa de email sau numărul de telefon", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Vă rugăm să acceptați acordurile pentru a continua.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Sunt de acord cu prelucrarea datelor personale,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "utilizarea", + "@consentTheUseOf": {}, + "consentCookies": "cookie", + "@consentCookies": {}, + "consentAgreeToThe": ", sunt de acord cu", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "termeni și condiții", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", și recunoașteți", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "politica de confidențialitate", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Recunosc că consultația mea este cu un AI și nu cu un profesionist medical autorizat.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Deconectare", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Ești sigur că vrei să te deconectezi?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Anulează", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Da, deconectează-te", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Retrimite codul", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Retrimite codul ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Sunt de acord cu prelucrarea datelor personale, utilizarea cookie-urilor, sunt de acord cu termenii și condițiile și recunosc

politica de confidențialitate

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Introduceți adresa de email", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Înregistrează-te cu email", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Autentificare cu email", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Introduceți telefonul", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Confirmă telefonul tău", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Înregistrează-te", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Introduceți e-mail", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Înscrie-te cu Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Înregistrează-te cu Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Înscrie-te cu telefonul", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Autentificare cu Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Autentificare cu Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Autentificare cu telefonul", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Ai ieșit din cont", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Reîncărcare", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Adresă de email invalidă", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Parola trebuie să aibă cel puțin 6 caractere", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Număr de telefon invalid: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Vă rugăm să așteptați {seconds} secunde înainte de a solicita un cod nou.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Cod de telefon invalid: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Termeni și condiții", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Continuă ca oaspete", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Încă nu ai un cont?

Înregistrează-te

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Ai deja un cont?

Autentificare

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Trebuie să te înregistrezi înainte de a putea continua cu Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Obțineți conținut personalizat și rămâneți în legătură cu comunitatea dumneavoastră!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Recuperați-vă parola", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Creează un cont", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Avem nevoie de un cont pentru a salva în siguranță datele tale de sănătate și a continua evaluarea.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Repetă", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Repetă parola ta", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Confirmă", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Nu ai un cont?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Ai deja un cont?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Creează o parolă", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Verificare telefon", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Care este numărul tău?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Îți vom trimite un cod prin SMS pentru a-ți verifica telefonul", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Număr", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Introduceți numărul de telefon", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Așteptați {countdown} secunde", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Introduceți codul dvs.", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Am trimis un cod la {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Nu ați primit codul?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Click pentru a retrimite", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Puteți solicita un nou cod în {countdown} secunde", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Închide", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Înapoi", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Termeni și condiții", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Politica de confidențialitate", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Bine ai revenit", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Conectează-te dacă ai deja un cont Doctorina sau înscrie-te pentru a începe.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "De la 8 la 128 de caractere", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Cel puțin 1 număr", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Cel puțin 1 literă mare", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Parolele se potrivesc", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Verificarea OTP a eșuat. Vă rugăm să încercați din nou.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Cod de referință", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Introduceți codul dumneavoastră de referință", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "E.G. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Aveți un cod de referință?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ru.arb b/example/lib/src/l10n/sign_up/app_ru.arb new file mode 100644 index 0000000..478c65c --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ru.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ru", + "logIn": "Войти", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Пароль", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Изменить номер", + "@changeNumber": {}, + "forgotPassword": "Забыли пароль?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Введите свой адрес электронной почты, и мы вышлем вам ссылку для сброса пароля.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Вы помните свой пароль?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "У меня есть пароль", + "@backToLoginButton": {}, + "continueButton": "Продолжить", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Письмо для сброса пароля отправлено", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Сбросить пароль", + "@resetPasswordButton": {}, + "confirmCodeButton": "Подтвердить код", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Начните пользоваться Doctorina сегодня", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "ИЛИ", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Введите пароль", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Показать пароль", + "@showPasswordHint": {}, + "obscurePasswordHint": "Скрыть пароль", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Очистить логин", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Электронная почта или телефон", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com или +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Введите адрес электронной почты или номер телефона", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Пожалуйста, примите соглашения, чтобы продолжить.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Я даю согласие на обработку персональных данных,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "использование", + "@consentTheUseOf": {}, + "consentCookies": "куки", + "@consentCookies": {}, + "consentAgreeToThe": ", соглашаюсь с", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "условия и положения", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", и подтверждаю", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "политика конфиденциальности", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Я подтверждаю, что моя консультация проводится с ИИ, а не лицензированным медицинским специалистом.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Выйти", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Вы уверены, что хотите выйти?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Отмена", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Да, выйти", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Отправить код заново", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Отправить код повторно ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Я даю согласие на обработку персональных данных, использование cookies, согласен с условиями и признаю

политику конфиденциальности

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Введите ваш email", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Зарегистрироваться по электронной почте", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Войти с электронной почтой", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Введите телефон", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Подтвердите телефон", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Зарегистрироваться", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Введите почту", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Зарегистрироваться через Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Зарегистрироваться через Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Зарегистрироваться через телефон", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Войти через Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Войти через Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Войти через телефон", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Вы вышли", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Перезагрузить", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Неверный адрес электронной почты", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Пароль должен содержать не менее 6 символов", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Неверный номер телефона: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Пожалуйста, подождите {seconds} секунд, прежде чем запрашивать новый код.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Неверный код телефона: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Условия и положения", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Продолжить как гость", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Еще нет аккаунта?

Зарегистрироваться

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Уже есть аккаунт?

Войти

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Вам нужно зарегистрироваться, прежде чем вы сможете продолжить с Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Получите персонализированный контент и оставайтесь на связи с вашим сообществом!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "Электронная почта", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Восстановите ваш пароль", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Создать аккаунт", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Нам нужна учетная запись, чтобы безопасно сохранить ваши данные о здоровье и продолжить вашу оценку.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Повторить", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Повторите ваш пароль", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Подтвердить", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "У вас нет аккаунта?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Уже есть аккаунт?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Создайте пароль", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Телефон", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Подтвердите телефон", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Какой у вас номер?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Мы отправим код для подтверждения вашего телефона", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Номер", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Введите номер телефона", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+7 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Подождите {countdown} секунд", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Введите ваш код", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Мы отправили код на {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Не получили код?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Нажмите, чтобы повторно отправить", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Вы можете запросить новый код через {countdown} секунд", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Закрыть", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Назад", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Условия использования", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Политика конфиденциальности", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "С возвращением", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Войдите, если у вас уже есть аккаунт Doctorina, или зарегистрируйтесь, чтобы начать.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "От 8 до 128 символов", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Минимум 1 цифра", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Минимум 1 заглавная буква", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Пароли совпадают", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Подтверждение одноразового пароля не удалось. Пожалуйста, попробуйте еще раз.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Реферальный код", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Введите ваш реферальный код", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Напр. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "У вас есть реферальный код?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_si.arb b/example/lib/src/l10n/sign_up/app_si.arb new file mode 100644 index 0000000..ec1d5ea --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_si.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "si", + "logIn": "ඇතුල් වන්න", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "මුරපදය", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "අංකය වෙනස් කරන්න", + "@changeNumber": {}, + "forgotPassword": "මතකය අමතක වුණාද?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Vnesite svoj e-poštni naslov in poslali vam bomo povezavo za ponastavitev gesla.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "ඔබේ මුරපදය මතකද?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "මට මුරපදයක් ඇත", + "@backToLoginButton": {}, + "continueButton": "Nadaljuj", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Email za ponastavitev gesla poslan", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Ponastavi geslo", + "@resetPasswordButton": {}, + "confirmCodeButton": "Potvrdi kod", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Začnite koristiti Doctorinu danas", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "ALI", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Vnesite svojo geslo", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Prikaži lozinku", + "@showPasswordHint": {}, + "obscurePasswordHint": "Obscure password", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "පුරනය වීම මකා දැමීම", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email ali telefon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com හෝ +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Vnesite e-pošto ali telefonsko številko", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Prosimo, sprejmite dogovore, da nadaljujete.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Strinjam se za obdelavo osebnih podatkov,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "upotrebu", + "@consentTheUseOf": {}, + "consentCookies": "piškoti", + "@consentCookies": {}, + "consentAgreeToThe": ", එකඟයි", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "නියමයන් සහ කොන්දේසි", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", සහ පිළිගන්න", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "ගෝපනීයතා ප්‍රතිපත්තිය", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "මගේ උපදේශනය AI සමඟ සහ බලපත්‍රය ඇති වෛද්‍ය වෘත්තීයවේදීන් සමඟ නොවන බව මම පිළිගනිමි.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "ඉවත් වන්න", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "ඔබ පිටවීමට සහතිකද?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "අවලංගු කරන්න", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "ඔව්, පිටවන්න", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "කේතය නැවත යවන්න", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "කේතය නැවත යවන්න ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "මම පුද්ගලික දත්ත සැකසීමට, කුකී භාවිතයට, නියම සහ කොන්දේසි පිළිගැනීමට සහ

රහස්‍යතා ප්‍රතිපත්ති

පිළිගැනීමට එකඟයි.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "ඔබේ ඊමේල් ඇතුළත් කරන්න", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ඊ-මේල් සමඟ ලියාපදිංචි වන්න", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ඊමේල් සමඟ පිවිසෙන්න", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "ඔබගේ දුරකථනය ඇතුළත් කරන්න", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "ඔබේ දුරකථනය තහවුරු කරන්න", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "ලියාපදිංචි වන්න", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ඊමේල් ඇතුල් කරන්න", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google සමඟ ලියාපදිංචි වන්න", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple සමඟ ලියාපදිංචි වන්න", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "දුරකථනයෙන් ලියාපදිංචි වන්න", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google සමඟ ලොගින් වන්න", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple සමඟ ලොගින් වන්න", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "දුරකථනයෙන් ලොගින් වන්න", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "ඔබ පිටව ගොස් ඇත", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "නැවත ලෝඩ් කරන්න", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "අවලංගු විද්‍යුත් තැපැල් ලිපිනය", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "මුරපදය අවම වශයෙන් අකුරු 6 ක් විය යුතුය", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "අවලංගු දුරකථන අංකය: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "කරුණාකර නව කේතයක් ඉල්ලා සිටීමට පෙර {seconds} තත්පර රැඳී සිටින්න.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "අවලංගු දුරකථන කේතය: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "නියම සහ කොන්දේසි", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "අමුත්තෙක් ලෙස ඉදිරියට යන්න", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "ගිණුමක් නැද්ද?

ලියාපදිංචි වන්න

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "ඔබට දැනටමත් ගිණුමක් තිබේද?

ඇතුල්වන්න

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Premium-ом даље наставити, морате се пријавити", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "අපගේ පෞද්ගලික අන්තර්ගතය ලබා ගන්න සහ ඔබේ සමාජය සමඟ සම්බන්ධ වන්න!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ඊ-මේල්", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "ඔබගේ මුරපදය නැවත ලබා ගන්න", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "ගිණුමක් සාදන්න", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "අපට ඔබගේ සෞඛ්‍ය දත්ත ආරක්ෂිතව සුරකින්න සහ ඔබේ ඇගයීම දිගටම ගෙන යන්න ගිණුමක් අවශ්‍යයි.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "නැවත", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "ඔබගේ මුරපදය නැවත කරන්න", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "අනුමත කරන්න", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "ඔබට ගිණුමක් නැද්ද?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "ඔබට දැනටමත් ගිණුමක් තිබේද?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "මුරපදයක් සාදන්න", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "දුරකථනය", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "දුරකථන තහවුරු කිරීම", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "ඔබගේ අංකය කුමක්ද?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "ඔබගේ දුරකථනය තහවුරු කිරීමට අපි කේතයක් පණිවිඩයක් ලෙස යවන්නෙමු", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "අංකය", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "දුරකථන අංකය ඇතුළත් කරන්න", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "ඉන්න {countdown} තත්පර", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "ඔබගේ කේතය ඇතුළත් කරන්න", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "අපි {phone} වෙත කේතයක් යවා ඇත", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "කේතය ලැබුනේ නැද්ද?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "නැවත යැවීමට ක්ලික් කරන්න", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "ඔබට නව කේතයක් ඉල්ලා ගැනීමට {countdown} තත්පර තිබේ", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "වසන්න", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "පසුබැසීම", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "සේවා කොන්දේසි", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "පෞද්ගලිකත්ව ප්‍රතිපත්ති", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "ආයුබෝවන්", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "ඔබට දැනටමත් Doctorina ගිණුමක් ඇත්නම් පිවිසෙන්න, නැතහොත් ආරම්භ කිරීමට ලියාපදිංචි වන්න.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "අක්ෂර 8 සිට 128 දක්වා", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "අවම වශයෙන් 1 අංකයක්", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "අවම වශයෙන් අකුරු 1ක්", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "මූලපද එකට ගැලපේ", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP සත්‍යාපනය අසාර්ථක විය. කරුණාකර නැවත උත්සාහ කරන්න.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "රෙෆරල් කේතය", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "ඔබේ යොමු කේතය ඇතුළත් කරන්න", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "E.G. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "ඔබට යොමුකිරීමේ කේතයක් තිබේද?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_sk.arb b/example/lib/src/l10n/sign_up/app_sk.arb new file mode 100644 index 0000000..97093cc --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_sk.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "sk", + "logIn": "Prihlásiť sa", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Heslo", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Zmeniť číslo", + "@changeNumber": {}, + "forgotPassword": "Zabudli ste heslo?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Zadajte svoju e-mailovú adresu a pošleme vám odkaz na obnovenie hesla.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Pamätáte si svoje heslo?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Mám heslo", + "@backToLoginButton": {}, + "continueButton": "Pokračovať", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "E-mail na resetovanie hesla bola odoslaná", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Obnoviť heslo", + "@resetPasswordButton": {}, + "confirmCodeButton": "Potvrdiť kód", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Začnite používať Doctorina dnes", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "ALE", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Zadajte svoje heslo", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Zobraziť heslo", + "@showPasswordHint": {}, + "obscurePasswordHint": "Skryť heslo", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Vymazať prihlásenie", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email alebo telefón", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com alebo +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Zadajte e-mail alebo telefónne číslo", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Prosím, akceptujte dohody, aby ste mohli pokračovať", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Súhlasím s spracovaním osobných údajov,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "použitie", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", súhlasím s", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "podmienky a ustanovenia", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", a uznať to", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "zásady ochrany osobných údajov", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Potvrdzujem, že moja konzultácia je s AI a nie s licencovaným zdravotníckym odborníkom", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Odhlásiť sa", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Ste si istí, že sa chcete odhlásiť?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Zrušiť", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Áno, odhlásiť sa", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Zaslať kód znova", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Znova odoslať kód ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Súhlasím so spracovaním osobných údajov, používaním cookies, súhlasím s podmienkami a beriem na vedomie

zásady ochrany osobných údajov

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Zadajte svoj e-mail", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Zaregistrujte sa pomocou e-mailu", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Prihlásiť sa pomocou e-mailu", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Zadajte svoj telefón", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Potvrďte svoj telefón", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Zaregistrujte sa", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Zadajte e-mail", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Zaregistrujte sa cez Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Zaregistrujte sa cez Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Zaregistrujte sa cez telefón", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Prihlásiť sa cez Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Prihlásiť sa cez Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Prihlásiť sa cez telefón", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Ste odhlásený", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Načítať znova", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Neplatná e-mailová adresa", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Heslo musí obsahovať aspoň 6 znakov", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Neplatné telefónne číslo: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Prosím, počkajte {seconds} sekúnd pred tým, ako požiadate o nový kód.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Neplatný telefónny kód: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Podmienky používania", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Pokračovať ako hosť", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Ešte nemáš účet?

Zaregistruj sa

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Už máte účet?

Prihlásiť sa

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Musíte sa zaregistrovať, aby ste mohli pokračovať s prémiovým prístupom", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Získajte personalizovaný obsah a zostaňte v kontakte so svojou komunitou!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Obnovte svoje heslo", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Vytvoriť účet", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Potrebujeme účet na bezpečné uloženie vašich zdravotných údajov a pokračovanie v hodnotení.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Opakovať", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Zopakujte svoje heslo", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Potvrdiť", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Nemáte účet?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Už máte účet?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Vytvorte heslo", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefón", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Overteľte telefón", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Aké je vaše číslo?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Pošleme vám kód, aby sme overili váš telefón", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Číslo", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Zadajte telefónne číslo", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+421 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Čakajte {countdown} sekúnd", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Zadajte svoj kód", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Poslali sme kód na {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Nedostal si kód?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Kliknite na opätovné odoslanie", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Môžete požiadať o nový kód za {countdown} sekúnd", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Zavrieť", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Späť", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Podmienky služby", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Zásady ochrany osobných údajov", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Vitajte späť", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Prihláste sa, ak už máte účet Doctorina, alebo sa zaregistrujte a začnite.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Od 8 do 128 znakov", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Aspoň 1 číslo", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Aspoň 1 veľké písmeno", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Heslá sa zhodujú", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Overenie jednorazového hesla zlyhalo. Skúste to znova.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Referral code", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Zadajte svoj referenčný kód", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Napr. KREATÓR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Máte referenčný kód?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_sw.arb b/example/lib/src/l10n/sign_up/app_sw.arb new file mode 100644 index 0000000..b1cad65 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_sw.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "sw", + "logIn": "Ingia", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Nywila", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Badilisha nambari", + "@changeNumber": {}, + "forgotPassword": "Umesahau nenosiri?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Ingiza anwani yako ya barua pepe, na tutakutumia kiungo cha kuweka upya nywila yako", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Unakumbuka nenosiri lako?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Nina nenosiri", + "@backToLoginButton": {}, + "continueButton": "Endelea", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Barua pepe ya kurekebisha nywila imetumwa", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Weka upya nenosiri", + "@resetPasswordButton": {}, + "confirmCodeButton": "Thibitisha msimbo", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Anza kutumia Doctorina leo", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "AU", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Ingiza nenosiri lako", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Onyesha nenosiri", + "@showPasswordHint": {}, + "obscurePasswordHint": "Ficha nenosiri", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Futa kuingia", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Barua pepe au simu", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com au +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Ingiza barua pepe au nambari ya simu", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Tafadhali kubali makubaliano ili kuendelea.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Nakubali kusindika data binafsi,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "matumizi ya", + "@consentTheUseOf": {}, + "consentCookies": "vidakuzi", + "@consentCookies": {}, + "consentAgreeToThe": ", nakubaliana na", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "Masharti na Vigezo", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", na kuthibitisha", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "sera ya faragha", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Ninakiri kwamba ushauri wangu ni na AI na si mtaalamu wa matibabu aliyeidhinishwa.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Toka", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Je, una uhakika unataka kutoka?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Ghairi", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Ndiyo, toka", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Tuma tena msimbo", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Tuma tena msimbo ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Ninakubali usindikaji wa data binafsi, matumizi ya cookies, nakubaliana na masharti na hali, na nakubali

sera ya faragha

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Ingiza barua pepe yako", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Jisajili kwa kutumia barua pepe", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Ingia na barua pepe", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Ingiza simu yako", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Thibitisha simu yako", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Jisajili", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Weka barua pepe", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Jiandikishe na Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Jisajili na Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Jisajili kwa simu", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Ingia na Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Ingia na Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Ingia kwa simu", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Umetoka", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Pakua tena", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Barua pepe batili", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Nywila lazima iwe na herufi 6 angalau", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Nambari ya simu si sahihi: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Tafadhali subiri kwa {seconds} sekunde kabla ya kuomba msimbo mpya.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Msimbo wa simu si sahihi: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Masharti na vigezo", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Endelea kama mgeni", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Bado hauna akaunti?

Jisajili

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Je, tayari una akaunti?

Ingia

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Unahitaji kujiandikisha kabla hujaendelea na Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Pata maudhui ya kibinafsi na uendelee kuwasiliana na jamii yako!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "Barua pepe", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Rekebisha nenosiri lako", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Fungua akaunti", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Tunahitaji akaunti ili kuhifadhi data zako za afya kwa usalama na kuendelea na tathmini yako.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Rudia", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Rudia nenosiri yako", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Thibitisha", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Huna akaunti?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Tayari una akaunti?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Unda password", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Simu", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Thibitisha Simu", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Nambari yako ni ipi?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Tutatumia ujumbe wa maandiko kuthibitisha simu yako", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Nambari", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Ingiza nambari ya simu", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Subiri sekunde {countdown}", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Ingiza nambari yako", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Tulifanya kutuma nambari kwa {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Hujapokea nambari?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Bonyeza kutuma tena", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Unaweza kuomba msimbo mpya katika sekunde {countdown}", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Funga", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Rudi", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Masharti ya Huduma", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Sera ya Faragha", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Karibu tena", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Ingia ikiwa una akaunti ya Doctorina, au jiandikishe ili kuanza.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Kutoka 8 hadi 128 herufi", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Angalau nambari 1", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Angalau herufi moja kubwa", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Maneno ya siri yanalingana", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Uthibitishaji wa OTP umeshindwa. Tafadhali jaribu tena.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Nambari ya rufaa", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Ingiza nambari yako ya rufaa", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Mfano wa nambari ya rufaa katika uwanja wa kuingiza", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Una na nambari ya rufaa?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ta.arb b/example/lib/src/l10n/sign_up/app_ta.arb new file mode 100644 index 0000000..c3e43d2 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ta.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ta", + "logIn": "உள்நுழைய", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "கடவுச்சொல்", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "எண்ணை மாற்றவும்", + "@changeNumber": {}, + "forgotPassword": "கடவுச்சொல்லை மறந்தீர்களா?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "உங்கள் மின்னஞ்சல் முகவரியை உள்ளிடவும், மற்றும் உங்கள் கடவுச்சொல்லை மீட்டமைக்க இணைப்பை அனுப்புவோம்", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "உங்கள் கடவுச்சொல்லை நினைவில் வைத்துள்ளீர்களா?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "எனக்கு கடவுச்சொல் உள்ளது", + "@backToLoginButton": {}, + "continueButton": "தொடர்", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "கடவுச்சொல் மீட்டமைப்பு மின்னஞ்சல் அனுப்பப்பட்டது", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "கடவுச்சொல்லை மீட்டமைக்கவும்", + "@resetPasswordButton": {}, + "confirmCodeButton": "குறியீட்டை உறுதிப்படுத்துக", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "இன்று Doctorina ஐப் பயன்படுத்தத் தொடங்குங்கள்", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "அல்லது", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "உங்கள் கடவுச்சொல்லை உள்ளிடவும்", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "கடவுச்சொல்லை காட்டு", + "@showPasswordHint": {}, + "obscurePasswordHint": "கடவுச்சொல்லை மறைக்க", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "உள்நுழைவு அழி", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ஈமெயில் அல்லது தொலைபேசி", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com அல்லது +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "மின்னஞ்சல் அல்லது தொலைபேசி எண்ணை உள்ளிடவும்", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "தயவு செய்து ஒப்பந்தங்களை ஏற்றுக்கொள்ளவும், தொடர.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "நான் தனிப்பட்ட தரவுகளை செயலாக்கத்திற்கு ஒப்புக் கொள்கிறேன்,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "பயன்பாட்டின்", + "@consentTheUseOf": {}, + "consentCookies": "குக்கீஸ்", + "@consentCookies": {}, + "consentAgreeToThe": ", ஒப்புக்கொள்கிறேன்", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "விதிகள் மற்றும் நிபந்தனைகள்", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", மற்றும் அங்கீகரிக்கவும்", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "தனியுரிமைக் கொள்கை", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "எனது ஆலோசனை ஒரு செயற்கை நுண்ணறிவுடன் நடைபெறுகிறது, உரிமம் பெற்ற மருத்துவ நிபுணர் அல்ல என்று நான் ஒப்புக்கொள்கிறேன்.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "வெளியேறு", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "நீங்கள் வெளியேறுவது உறுதியா?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "ரத்து செய்", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "ஆம், வெளியேறு", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "குறியீட்டை மீண்டும் அனுப்பு", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "குறியீட்டை மீண்டும் அனுப்பு ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "நான் தனிப்பட்ட தரவுகளை செயலாக்குவதற்கு ஒப்புக்கொள்கிறேன், குக்கீஸ் பயன்படுத்துவதற்கு, விதிமுறைகள் மற்றும் நிபந்தனைகள்க்கு ஒப்புக்கொள்கிறேன், மற்றும்

தனியுரிமை கொள்கை

ஐ ஒப்புக்கொள்கிறேன்.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "உங்கள் மின்னஞ்சலை உள்ளிடவும்", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "மின்னஞ்சலால் பதிவு செய்யவும்", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "மின்னஞ்சலுடன் உள்நுழைக", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "உங்கள் தொலைபேசியை உள்ளிடவும்", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "உங்கள் ஃபோனை உறுதிப்படுத்தவும்", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "பதிவு செய்யவும்", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "மின்னஞ்சலை உள்ளிடவும்", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google உடன் பதிவு செய்", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple உடன் பதிவு செய்யவும்", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "தொலைபேசியில் பதிவு செய்யவும்", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google உடன் உள்நுழையவும்", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple-ல் உள்நுழைய", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "தொலைபேசியில் உள்நுழைக", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "நீங்கள் வெளியேறிவிட்டீர்கள்", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "மீட்டமைக்கவும்", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "தவறான மின்னஞ்சல் முகவரி", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "கடவுச்சொல் குறைந்தது 6 எழுத்துக்கள் கொண்டதாக இருக்க வேண்டும்", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "தவறான தொலைபேசி எண்: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "புதிய குறியீட்டை கோருவதற்கு முன் {seconds} விநாடிகள் காத்திருங்கள்.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "தவறான தொலைபேசி குறியீடு: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "விதிமுறைகள் மற்றும் நிபந்தனைகள்", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "விருந்தினர் ஆக தொடரவும்", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "இன்னும் ஒரு கணக்கு இல்லையா?

பதிவு செய்யவும்

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "ஏற்கனவே கணக்கு உள்ளதா?

உள்நுழையுங்கள்

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "நீங்கள் பிரீமியத்தை தொடர்வதற்கு முன் பதிவு செய்ய வேண்டும்", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "தனிப்பட்ட உள்ளடக்கம் பெறவும், உங்கள் சமூகத்துடன் தொடர்பில் இருங்கள்!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "மின்னஞ்சல்", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "உங்கள் கடவுச்சொல்லை மீட்டெடுக்கவும்", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "ஒரு கணக்கு உருவாக்கவும்", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "உங்கள் ஆரோக்கிய தரவுகளை பாதுகாப்பாக சேமிக்க மற்றும் உங்கள் மதிப்பீட்டை தொடர்வதற்காக கணக்கு தேவை.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "மீண்டும்", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "உங்கள் கடவுச்சொல்லை மீண்டும் உள்ளிடவும்", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "உறுதிப்படுத்தவும்", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "உங்களிடம் கணக்கு இல்லைவா?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "ஏற்கனவே ஒரு கணக்கு உள்ளதா?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "ஒரு கடவுச்சொல் உருவாக்கவும்", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "தொலைபேசி", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "தொலைபேசி சரிபார்க்கவும்", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "உங்கள் எண்ணிக்கை என்ன?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "உங்கள் தொலைபேசிக்கு உறுதிப்படுத்த ஒரு குறியீட்டை நாங்கள் உரை அனுப்புவோம்", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "எண்", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "தொலைபேசி எண்ணை உள்ளிடவும்", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "காத்திருங்கள் {countdown} விநாடிகள்", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "உங்கள் குறியீட்டை உள்ளிடவும்", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "நாங்கள் {phone}க்கு ஒரு குறியீட்டை அனுப்பினோம்", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "கோடுகளைப் பெறவில்லைவா?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "மீண்டும் அனுப்ப கிளிக் செய்க", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "நீங்கள் {countdown} விநாடிகளில் புதிய குறியீட்டை கேட்கலாம்", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "மூடு", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "மீண்டும்", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "சேவையின் விதிமுறைகள்", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "தனியுரிமை கொள்கை", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "மீண்டும் வரவேற்கிறேன்", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "நீங்கள் ஏற்கனவே Doctorina கணக்கு வைத்திருந்தால் உள்நுழைக, இல்லையெனில் தொடங்க பதிவு செய்யவும்.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 முதல் 128 எழுத்துகள்", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "குறைந்தது 1 எண்", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "குறைந்தது 1 பெரிய எழுத்து", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "கடவுச்சொற்கள் பொருந்துகின்றன", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP சரிபார்ப்பு தோல்வியடைந்தது. மீண்டும் முயற்சிக்கவும்.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "முறையீட்டு குறியீடு", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "உங்கள் பரிந்துரை குறியீட்டை உள்ளிடவும்", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "உள்ளீட்டு புலத்தில் பரிந்துரை குறியீட்டின் எடுத்துக்காட்டு", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "உங்களிடம் பரிந்துரை குறியீடு உள்ளதா?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_te.arb b/example/lib/src/l10n/sign_up/app_te.arb new file mode 100644 index 0000000..a5d381d --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_te.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "te", + "logIn": "లాగిన్", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "పాస్వర్డ్", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "సంఖ్యను మార్చండి", + "@changeNumber": {}, + "forgotPassword": "పాస్వర్డ్ మర్చిపోయారా?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "మీ ఇమెయిల్ చిరునామా నమోదు చేయండి, మరియు మేము మీ పాస్‌వర్డ్ రీసెట్ చేసుకోవడానికి లింక్ పంపిస్తాం", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "మీ పాస్‌వర్డ్ గుర్తుందా?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "నాకు పాస్వర్డ్ ఉంది", + "@backToLoginButton": {}, + "continueButton": "కొనసాగించండి", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "పాస్వర్డ్ రీసెట్ ఇమెయిల్ పంపబడింది", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "పాస్వర్డ్ రీసెట్", + "@resetPasswordButton": {}, + "confirmCodeButton": "కోడ్ నిర్ధారించండి", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "ఈరోజే Doctorina ను ఉపయోగించడం ప్రారంభించండి", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "లేదా", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "మీ పాస్‌వర్డ్ నమోదు చేయండి", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "పాస్వర్డ్ చూపించు", + "@showPasswordHint": {}, + "obscurePasswordHint": "పాస్‌వర్డ్ దాచు", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "లాగిన్ తొలగించు", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ఈమెయిల్ లేదా ఫోన్", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com లేదా +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ఈమెయిల్ లేదా ఫోన్ నంబర్ నమోదు చేయండి", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "దయచేసి కొనసాగించడానికి ఒప్పందాలను అంగీకరించండి.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "నేను వ్యక్తిగత డేటా ప్రాసెసింగ్‌కు సమ్మతిస్తున్నాను,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "ఉపయోగం", + "@consentTheUseOf": {}, + "consentCookies": "కుకీస్", + "@consentCookies": {}, + "consentAgreeToThe": ", అంగీకరించండి", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "నిబంధనలు మరియు షరతులు", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", మరియు అంగీకరించండి", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "గోప్యతా విధానం", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "నేను నా సంప్రదింపును AIతో చేస్తున్నాను మరియు లైసెన్సు పొందిన వైద్య నిపుణుడితో కాదు అని అంగీకరిస్తున్నాను.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "లాగ్ అవుట్", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "మీరు ఖచ్చితంగా లాగ్ ఔట్ అవ్వాలనుకుంటున్నారా?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "రద్దు", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "అవును, లాగ్ అవుట్", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "కోడ్ తిరిగి పంపించు", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "కోడ్ మళ్లీ పంపించండి ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "నేను వ్యక్తిగత డేటా ప్రాసెసింగ్‌కు అంగీకరిస్తున్నాను, కుకీలు ఉపయోగించడానికి అంగీకరిస్తున్నాను, నిబంధనలు మరియు షరతులు అంగీకరిస్తున్నాను, మరియు

గోప్యతా విధానం

ని అంగీకరిస్తున్నాను.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "మీ ఇమెయిల్ నమోదు చేయండి", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ఇమెయిల్‌తో సైన్ అప్ చేయండి", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ఇమెయిల్‌తో లాగిన్ చేయండి", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "మీ ఫోన్ నంబర్ నమోదు చేయండి", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "మీ ఫోన్‌ను ధృవీకరించండి", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "సైన్ అప్ చేయండి", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ఇమెయిల్ నమోదు చేయండి", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google తో సైన్ అప్ చేయండి", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Appleతో సైన్ అప్ చేయండి", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "ఫోన్‌తో సైన్ అప్ చేయండి", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Googleతో లాగిన్ చేయండి", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Appleతో లాగిన్ చేయండి", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "ఫోన్‌తో లాగిన్", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "మీరు లాగ్ అవుట్ అయ్యారు", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "మళ్లీ లోడ్ చేయండి", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "చెల్లని ఇమెయిల్ చిరునామా", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "పాస్వర్డ్ కనీసం 6 అక్షరాలుగా ఉండాలి", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "చెల్లని ఫోన్ నంబర్: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "కৃপయా కొత్త కోడ్ కోరే ముందు {seconds} సెకండ్స్ వేచి ఉండండి.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "చెల్లని ఫోన్ కోడ్: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "నిబంధనలు మరియు షరతులు", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "అతిథిగా కొనసాగించండి", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "మీకు ఇంకా ఖాతా లేదు?

సైన్ అప్ చేయండి

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "మీకు ఇప్పటికే ఖాతా ఉందా?

లాగిన్ చేయండి

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "మీరు ప్రీమియం కొనసాగించడానికి ముందు సైన్ అప్ చేయాలి", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "వ్యక్తిగత కంటెంట్ పొందండి మరియు మీ సమాజంతో సంబంధం ఉంచండి!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ఈ-మెయిల్", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "మీ పాస్వర్డ్‌ను పునఃప్రాప్తి చేయండి", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "ఖాతా సృష్టించండి", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "మీ ఆరోగ్య డేటాను సురక్షితంగా సేవ్ చేయడానికి మరియు మీ అంచనాను కొనసాగించడానికి ఖాతా అవసరం.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "మరలా", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "మీ పాస్వర్డ్ను మళ్లీ నమోదు చేయండి", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "అంగీకరించు", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "ఖాతా లేదు?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "ఇప్పటికే మీకు ఖాతా ఉందా?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "పాస్వర్డ్ సృష్టించండి", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "ఫోన్", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "ఫోన్‌ను నిర్ధారించండి", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "మీ సంఖ్య ఏమిటి?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "మీ ఫోన్‌ను నిర్ధారించడానికి మేము కోడ్‌ను సందేశం పంపిస్తాము", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "సంఖ్య", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "ఫోన్ నంబర్ నమోదు చేయండి", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "{countdown} సెకండ్లు వేచి ఉండండి", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "మీ కోడ్‌ను నమోదు చేయండి", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "{phone} కు మేము ఒక కోడ్ పంపించాము", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "కోడ్ అందలేదు కదా?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "మరలా పంపించడానికి క్లిక్ చేయండి", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "మీరు {countdown} సెకన్లలో కొత్త కోడ్‌ను అభ్యర్థించవచ్చు", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "మూసివేయి", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "తిరిగి", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "సేవా నిబంధనలు", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "గోప్యతా విధానం", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "మళ్లీ స్వాగతం", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "మీకు ఇప్పటికే Doctorina ఖాతా ఉంటే లాగిన్ అవ్వండి, లేదా ప్రారంభించడానికి సైన్ అప్ చేయండి.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 నుండి 128 అక్షరాలు", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "కనీసం 1 సంఖ్య", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "కనీసం 1 పెద్ద అక్షరం", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "పాస్వర్డ్లు సరిపోతున్నాయి", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP ధృవీకరణ విఫలమైంది. దయచేసి మళ్ళీ ప్రయత్నించండి.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "రిఫరల్ కోడ్", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "మీ రిఫరల్ కోడ్‌ను నమోదు చేయండి", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "ఉదాహరణకు CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "మీకు రిఫరల్ కోడ్ ఉందా?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_th.arb b/example/lib/src/l10n/sign_up/app_th.arb new file mode 100644 index 0000000..ab26465 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_th.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "th", + "logIn": "เข้าสู่ระบบ", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "รหัสผ่าน", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "เปลี่ยนหมายเลข", + "@changeNumber": {}, + "forgotPassword": "ลืมรหัสผ่าน?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "ป้อนที่อยู่อีเมลของคุณ, แล้วเราจะส่งลิงก์เพื่อรีเซ็ตรหัสผ่านให้คุณ", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "คุณจำรหัสผ่านของคุณได้หรือไม่?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "ฉันมีรหัสผ่าน", + "@backToLoginButton": {}, + "continueButton": "ดำเนินต่อ", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "ส่งอีเมลรีเซ็ตรหัสผ่านแล้ว", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "รีเซ็ตรหัสผ่าน", + "@resetPasswordButton": {}, + "confirmCodeButton": "ยืนยันรหัส", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "เริ่มใช้ Doctorina วันนี้", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "หรือ", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "ป้อนรหัสผ่านของคุณ", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "แสดงรหัสผ่าน", + "@showPasswordHint": {}, + "obscurePasswordHint": "ซ่อนรหัสผ่าน", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "ล้างการเข้าสู่ระบบ", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "อีเมลหรือโทรศัพท์", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com หรือ +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ป้อนอีเมลหรือหมายเลขโทรศัพท์", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "โปรดยอมรับข้อตกลงเพื่อดำเนินการต่อ.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "ฉันยินยอมให้มีการประมวลผลข้อมูลส่วนบุคคล,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "การใช้ของ", + "@consentTheUseOf": {}, + "consentCookies": "คุกกี้", + "@consentCookies": {}, + "consentAgreeToThe": ", ยินยอมกับ", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "ข้อกำหนดและเงื่อนไข", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", และรับทราบ", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "นโยบายความเป็นส่วนตัว", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "ฉันรับทราบว่าการปรึกษาของฉันเป็นกับ AI และไม่ใช่ผู้เชี่ยวชาญทางการแพทย์ที่ได้รับอนุญาต.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "ออกจากระบบ", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "คุณแน่ใจหรือว่าต้องการออกจากระบบ?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "ยกเลิก", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "ใช่, ออกจากระบบ", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "ส่งรหัสอีกครั้ง", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "ส่งรหัสอีกครั้ง ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "ฉันยินยอมให้มีการประมวลผลข้อมูลส่วนบุคคล การใช้ คุกกี้ ยอมรับ ข้อกำหนดและเงื่อนไข และรับทราบ

นโยบายความเป็นส่วนตัว

", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "กรอกอีเมลของคุณ", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "สมัครด้วยอีเมล", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "เข้าสู่ระบบด้วยอีเมล", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "กรอกเบอร์โทรของคุณ", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "ยืนยันโทรศัพท์ของคุณ", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "สมัครสมาชิก", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ป้อนอีเมล", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "สมัครด้วย Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "สมัครด้วย Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "สมัครด้วยโทรศัพท์", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "เข้าสู่ระบบด้วย Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "เข้าสู่ระบบด้วย Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "เข้าสู่ระบบด้วยโทรศัพท์", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "คุณได้ออกจากระบบ", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "รีโหลด", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "ที่อยู่อีเมลไม่ถูกต้อง", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "รหัสผ่านต้องมีอย่างน้อย 6 ตัวอักษร", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "หมายเลขโทรศัพท์ไม่ถูกต้อง: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "โปรดรอสัก {seconds} วินาทีก่อนขอรหัสใหม่", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "รหัสโทรศัพท์ไม่ถูกต้อง: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "ข้อกำหนดและเงื่อนไข", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "ดำเนินการต่อในฐานะแขก", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "ยังไม่มีบัญชี?

สมัครสมาชิก

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "มีบัญชีอยู่แล้ว?

เข้าสู่ระบบ

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "คุณต้องลงทะเบียนก่อนจึงจะสามารถดำเนินการกับ Premium ได้", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "รับเนื้อหาที่ปรับให้เหมาะกับคุณและติดต่อกับชุมชนของคุณ!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "อีเมล", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "กู้คืนรหัสผ่านของคุณ", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "สร้างบัญชี", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "เราต้องการบัญชีเพื่อบันทึกข้อมูลสุขภาพของคุณอย่างปลอดภัยและดำเนินการประเมินของคุณต่อ", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "ทำซ้ำ", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "กรุณาพิมพ์รหัสผ่านของคุณอีกครั้ง", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "ยืนยัน", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "ยังไม่มีบัญชีใช่ไหม?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "มีบัญชีอยู่แล้วหรือไม่?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "สร้างรหัสผ่าน", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "โทรศัพท์", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "ยืนยันหมายเลขโทรศัพท์", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "หมายเลขของคุณคืออะไร", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "เราจะส่งข้อความรหัสไปยังโทรศัพท์ของคุณเพื่อยืนยัน", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "หมายเลข", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "กรอกหมายเลขโทรศัพท์", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "รอ {countdown} วินาที", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "กรอกโค้ดของคุณ", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "เราได้ส่งรหัสไปที่ {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "ไม่ได้รับรหัสใช่ไหม?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "คลิกเพื่อส่งอีกครั้ง", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "คุณสามารถขอรหัสใหม่ได้ใน {countdown} วินาที", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "ปิด", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "กลับ", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "ข้อกำหนดการให้บริการ", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "นโยบายความเป็นส่วนตัว", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "ยินดีต้อนรับกลับ", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "เข้าสู่ระบบหากคุณมีบัญชี Doctorina อยู่แล้ว หรือสมัครสมาชิกเพื่อเริ่มต้น", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "จาก 8 ถึง 128 ตัวอักษร", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "อย่างน้อย 1 ตัวเลข", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "อย่างน้อย 1 ตัวอักษรตัวใหญ่", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "รหัสผ่านตรงกัน", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "การยืนยัน OTP ล้มเหลว โปรดลองอีกครั้ง", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "รหัสอ้างอิง", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "กรุณาใส่รหัสอ้างอิงของคุณ", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "เช่น CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "มีรหัสอ้างอิงหรือไม่?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_tl.arb b/example/lib/src/l10n/sign_up/app_tl.arb new file mode 100644 index 0000000..76adec1 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_tl.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "tl", + "logIn": "Mag-log in", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Password", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Palitan ang numero", + "@changeNumber": {}, + "forgotPassword": "Nakalimutan ang Password?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Ilagay ang iyong email address, at magpapadala kami sa iyo ng link upang i-reset ang iyong password.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Naalala mo ba ang iyong password?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Mayroon akong password", + "@backToLoginButton": {}, + "continueButton": "Magpatuloy", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Naipadala ang email para sa pag-reset ng password", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "I-reset ang password", + "@resetPasswordButton": {}, + "confirmCodeButton": "Kumpirmahin ang code", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Simulan ang paggamit ng Doctorina ngayon", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "O", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Ilagay ang iyong password", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Ipakita ang password", + "@showPasswordHint": {}, + "obscurePasswordHint": "Itago ang password", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Linawin ang pag-login", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email o telepono", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com o +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Ilagay ang email o numero ng telepono", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Mangyaring tanggapin ang mga kasunduan upang magpatuloy.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Sumasang-ayon ako sa pagproseso ng personal na data,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "ang paggamit ng", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", sumasang-ayon sa", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "mga tuntunin at kundisyon", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", at kilalanin ang", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "patakaran sa privacy", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Akin ay kinikilala na ang aking konsultasyon ay kasama ang isang AI at hindi isang lisensyadong propesyonal sa medisina.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Mag-logout", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Sigurado ka bang mag-log out?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Kanselahin", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Oo, mag-logout", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Ipadala muli ang code", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Ipadala muli ang code ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Sumasang-ayon ako sa pagproseso ng personal na data, sa paggamit ng cookies, sumasang-ayon sa mga tuntunin at kundisyon, at kinikilala ang

patakaran sa privacy

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Ilagay ang iyong email", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Mag-sign up gamit ang email", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Mag-log in gamit ang email", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Ilagay ang iyong telepono", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Kumpirmahin ang iyong telepono", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Mag-sign up", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Ilagay ang email", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Mag-sign up gamit ang Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Mag-sign up gamit ang Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Mag-sign up gamit ang Telepono", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Mag-login gamit ang Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Mag-login gamit ang Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Mag-login gamit ang Telepono", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Naka-log out ka na", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "I-reload", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Hindi wastong email address", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Ang password ay dapat hindi bababa sa 6 na karakter", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Hindi wastong numero ng telepono: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Mangyaring hintayin ang {seconds} segundo bago humiling ng bagong code.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Di-wastong phone code: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Mga Tuntunin at Kundisyon", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Magpatuloy bilang panauhin", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Wala ka pang account?

Mag-sign up

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Mayroon ka na bang account?

Mag-login

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Kailangan mong mag-sign up bago ka makapagpatuloy sa Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Kumuha ng personalized na nilalaman at manatiling konektado sa iyong komunidad!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Ibalik ang iyong password", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Lumikha ng account", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Kailangan namin ng account upang ligtas na mai-save ang iyong data sa kalusugan at ipagpatuloy ang iyong pagsusuri.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Ulitin", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Ulitin ang iyong password", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Kumpirmahin", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Wala ka bang account?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "May account ka na ba?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Gumawa ng password", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telepono", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Kumpirmahin ang Telepono", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Ano ang iyong numero?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Magte-text kami ng code upang i-verify ang iyong telepono", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Numero", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Ilagay ang numero ng telepono", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Maghintay ng {countdown} segundo", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Ilagay ang iyong code", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Nagpadala kami ng code sa {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Hindi natanggap ang code?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "I-click upang muling ipadala", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Maaari kang humiling ng bagong code sa {countdown} segundo", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Isara", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Bumalik", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Mga Tuntunin ng Serbisyo", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Patakaran sa Privacy", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Maligayang pagbabalik", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Mag-log in kung mayroon ka nang Doctorina account, o mag-sign up upang makapagsimula.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Mula 8 hanggang 128 na mga karakter", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Hindi bababa sa 1 numero", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Hindi man 1 malaking titik", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Magkatugma ang mga password", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Nabigo ang pag-verify ng OTP. Pakisubukang muli.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Referral code", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Ilagay ang iyong referral code", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Hal. CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "May referral code ka ba?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_tr.arb b/example/lib/src/l10n/sign_up/app_tr.arb new file mode 100644 index 0000000..1d675c3 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_tr.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "tr", + "logIn": "Giriş yap", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Şifre", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Numarayı değiştir", + "@changeNumber": {}, + "forgotPassword": "Şifrenizi mi unuttunuz?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "E-posta adresinizi girin, şifrenizi sıfırlamak için bir bağlantı göndereceğiz", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Parolanı hatırlıyor musun?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Bir şifrem var", + "@backToLoginButton": {}, + "continueButton": "Devam", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Şifre sıfırlama e-postası gönderildi", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Şifreyi sıfırla", + "@resetPasswordButton": {}, + "confirmCodeButton": "Kodu onayla", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Bugün Doctorina kullanmaya başlayın", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "VEYA", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Şifrenizi girin", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Şifreyi göster", + "@showPasswordHint": {}, + "obscurePasswordHint": "Şifreyi gizle", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Girişi temizle", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "E-posta veya telefon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com veya +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "E-posta veya telefon numarası girin", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Devam etmek için lütfen sözleşmeleri kabul edin.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Kişisel verilerin işlenmesine onay veriyorum,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "kullanım", + "@consentTheUseOf": {}, + "consentCookies": "çerezler", + "@consentCookies": {}, + "consentAgreeToThe": ", kabul ediyorum", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "şartlar ve koşullar", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", ve kabul et", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "gizlilik politikası", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Danışmamın bir yapay zeka ile olduğunu ve lisanslı bir tıp profesyoneli ile olmadığını kabul ediyorum.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Çıkış Yap", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Çıkış yapmak istediğinize emin misiniz?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "İptal", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Evet, çıkış yap", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Kodu yeniden gönder", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Kodu yeniden gönder ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Kişisel verilerin işlenmesine, çerezlerin kullanılmasına, şartlar ve koşullara onay veriyorum ve

gizlilik politikasını

kabul ediyorum.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "E-postanızı girin", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "E-posta ile kaydol", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "E-posta ile giriş yap", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Telefonunuzu girin", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Telefonunu onayla", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Kaydol", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "E-posta girin", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google ile kaydol", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple ile kaydol", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Telefonla kaydol", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google ile giriş yap", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple ile giriş yap", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Telefon ile giriş yap", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Oturumunuz kapatıldı", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Yeniden yükle", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Geçersiz e-posta adresi", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Parola en az 6 karakter uzunluğunda olmalıdır", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Geçersiz telefon numarası: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Yeni kod istemeden önce lütfen {seconds} saniye bekleyin.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Geçersiz telefon kodu: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Şartlar ve koşullar", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Konuk olarak devam et", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Henüz hesabınız yok mu?

Kayıt olun

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Zaten hesabınız var mı?

Giriş yap

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Premium ile devam edebilmek için kaydolmalısınız", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Kişiselleştirilmiş içerik alın ve topluluğunuzla iletişimde kalın!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-posta", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Şifrenizi geri alın", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Hesap oluştur", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Sağlık verilerinizi güvenli bir şekilde kaydetmek ve değerlendirmenize devam etmek için bir hesaba ihtiyacımız var.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Tekrar", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Şifrenizi tekrar girin", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Onayla", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Hesabınız yok mu?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Zaten bir hesabınız var mı?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Bir şifre oluşturun", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Telefonu Doğrula", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Numaranız nedir?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Telefonunuzu doğrulamak için bir kod göndereceğiz", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Numara", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Telefon numarasını girin", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Bekle {countdown} saniye", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Kodunuzu girin", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "{phone} numarasına bir kod gönderdik", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Kodu almadınız mı?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Yeniden göndermek için tıklayın", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Yeni bir kodu {countdown} saniye içinde isteyebilirsiniz", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Kapat", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Geri", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Hizmet Şartları", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Gizlilik Politikası", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Hoş geldiniz", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Zaten bir Doctorina hesabınız varsa giriş yapın veya başlamak için kaydolun.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 ile 128 karakter arası", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "En az 1 rakam", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "En az 1 büyük harf", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Şifreler eşleşiyor", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP doğrulaması başarısız oldu. Lütfen tekrar deneyin.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Referans kodu", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Referans kodunuzu girin", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "ÖRNEĞİN CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Bir referans kodunuz var mı?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_uk.arb b/example/lib/src/l10n/sign_up/app_uk.arb new file mode 100644 index 0000000..5c4a12c --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_uk.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "uk", + "logIn": "Увійти", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Пароль", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Змінити номер", + "@changeNumber": {}, + "forgotPassword": "Забули пароль?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Введіть вашу електронну адресу, і ми надішлемо вам посилання для скидання пароля", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Запам'ятали свій пароль?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "У мене є пароль", + "@backToLoginButton": {}, + "continueButton": "Продовжити", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Email для скидання пароля надіслано", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Скинути пароль", + "@resetPasswordButton": {}, + "confirmCodeButton": "Підтвердити код", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Почніть використовувати Doctorina сьогодні", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "АБО", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Введіть свій пароль", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Показати пароль", + "@showPasswordHint": {}, + "obscurePasswordHint": "Приховати пароль", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Очистити вхід", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email або телефон", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com або +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Введіть електронну адресу або номер телефону", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Будь ласка, прийміть угоди, щоб продовжити.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Я погоджуюсь на обробку персональних даних,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "використання", + "@consentTheUseOf": {}, + "consentCookies": "куки", + "@consentCookies": {}, + "consentAgreeToThe": ", погоджуюсь з", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "умови та положення", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", та визнаєте, що", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "політика конфіденційності", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Я підтверджую, що моя консультація проводиться штучним інтелектом, а не ліцензованим медичним фахівцем.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Вийти", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Ви впевнені, що хочете вийти?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Скасувати", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Так, вийти", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Надіслати код знову", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Відправити код повторно ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Я погоджуюсь на обробку персональних даних, використання cookies, погоджуюсь з умовами та положеннями та підтверджую

політику конфіденційності

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Введіть ваш email", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Зареєструватися через електронну пошту", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Увійти через електронну пошту", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Введіть ваш телефон", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Підтвердіть свій телефон", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Зареєструватися", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Введіть пошту", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Зареєструватися через Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Зареєструватися через Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Зареєструватися через телефон", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Увійти через Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Увійти через Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Увійти через телефон", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Ви вийшли", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Перезавантажити", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Невірна електронна адреса", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Пароль повинен містити принаймні 6 символів", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Невірний номер телефону: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Будь ласка, зачекайте {seconds} секунд перед тим, як запитати новий код.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Неправильний телефонний код: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Умови та положення", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Продовжити як гість", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Ще немає акаунта?

Зареєструватися

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Вже маєте акаунт?

Увійти

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Вам потрібно зареєструватися, перш ніж ви зможете продовжити з Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Отримуйте персоналізований контент і залишайтеся на зв'язку зі своєю спільнотою!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "Електронна пошта", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Відновіть свій пароль", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Створити запис", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Нам потрібен обліковий запис, щоб безпечно зберігати ваші медичні дані та продовжити вашу оцінку.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Повторити", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Повторіть свій пароль", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Підтвердити", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Немає облікового запису?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Вже маєте обліковий запис?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Створити пароль", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Телефон", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Підтвердити телефон", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Який у вас номер?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Ми надішлемо код для підтвердження вашого телефону", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Номер", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Введіть номер телефону", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Зачекайте {countdown} секунд", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Введіть ваш код", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Ми надіслали код на {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Не отримали код?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Натисніть, щоб надіслати повторно", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Ви можете запросити новий код через {countdown} секунд", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Закрити", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Назад", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Умови використання", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Політика конфіденційності", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Ласкаво просимо назад", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Увійдіть, якщо у вас вже є обліковий запис Doctorina, або зареєструйтесь, щоб почати.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Від 8 до 128 символів", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Щонайменше 1 число", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Щонайменше 1 велика літера", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Паролі збігаються", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Не вдалося перевірити одноразовий пароль. Спробуйте ще раз.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Реферальний код", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Введіть свій реферальний код", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Наприклад CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "У вас є реферальний код?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_ur.arb b/example/lib/src/l10n/sign_up/app_ur.arb new file mode 100644 index 0000000..3d3227f --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_ur.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "ur", + "logIn": "لاگ ان", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "پاس ورڈ", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "نمبر تبدیل کریں", + "@changeNumber": {}, + "forgotPassword": "پاس ورڈ بھول گئے؟", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "اپنا ای میل پتہ درج کریں، اور ہم آپ کو اپنا پاس ورڈ ری سیٹ کرنے کے لیے ایک لنک بھیجیں گے.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "کیا آپ کو اپنا پاس ورڈ یاد ہے؟", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "میرے پاس پاس ورڈ ہے", + "@backToLoginButton": {}, + "continueButton": "جاری رکھیں", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "پاس ورڈ ری سیٹ ای میل بھیجی گئی", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "پاس ورڈ ری سیٹ کریں", + "@resetPasswordButton": {}, + "confirmCodeButton": "کوڈ کی تصدیق", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "آج ہی Doctorina استعمال کرنا شروع کریں", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "یا", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "اپنا پاس ورڈ درج کریں", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "پاس ورڈ دکھائیں", + "@showPasswordHint": {}, + "obscurePasswordHint": "پاس ورڈ چھپائیں", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "لاگ ان صاف کریں", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "ای میل یا فون", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com یا +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "ای میل یا فون نمبر درج کریں", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "براہ کرم جاری رکھنے کے لیے معاہدوں کو قبول کریں.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "میں ذاتی ڈیٹا کی پراسیسنگ کی رضامندی دیتا ہوں،", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "استعمال", + "@consentTheUseOf": {}, + "consentCookies": "کوکیز", + "@consentCookies": {}, + "consentAgreeToThe": ", اتفاق کرنا", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "شرائط و ضوابط", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", اور تسلیم کریں", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "رازداری کی پالیسی", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "میں اس بات تسلیم کرتا ہوں کہ میری مشاورت AI کے ساتھ ہے اور لائسنس یافتہ طبی پیشہ ور نہیں ہے.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "لاگ آؤٹ", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "کیا آپ واقعی لاگ آؤٹ کرنا چاہتے ہیں؟", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "منسوخ کریں", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "ہاں، لاگ آؤٹ", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "کوڈ دوبارہ بھیجیں", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "کوڈ دوبارہ بھیجیں ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "میں ذاتی ڈیٹا کی پروسیسنگ، کوکیز کے استعمال، شرائط و ضوابط سے اتفاق کرتا ہوں، اور

رازداری کی پالیسی

کو تسلیم کرتا ہوں۔", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "اپنا ای میل درج کریں", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "ای میل کے ساتھ سائن اپ کریں", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "ای میل سے لاگ ان کریں", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "اپنا فون درج کریں", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "اپنا فون تصدیق کریں", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "سائن اپ کریں", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "ای میل درج کریں", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google کے ساتھ سائن اپ کریں", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple کے ساتھ سائن اپ کریں", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "فون سے سائن اپ کریں", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google کے ساتھ لاگ ان کریں", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple کے ساتھ لاگ ان کریں", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "فون کے ذریعے لاگ ان کریں", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "آپ لاگ آؤٹ ہیں", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "دوبارہ لوڈ کریں", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "غلط ای میل پتہ", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "پاس ورڈ کم از کم 6 حروف پر مشتمل ہونا چاہیے", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "غلط فون نمبر: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "براہ کرم نیا کوڈ درخواست کرنے سے پہلے {seconds} سیکنڈ انتظار کریں.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "غیر صحیح فون کوڈ: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "شرائط و ضوابط", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "مہمان کے طور پر جاری رکھیں", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "ابھی تک اکاؤنٹ نہیں ہے؟

سائن اپ کریں

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "کیا آپ کا پہلے سے اکاؤنٹ موجود ہے؟

لاگ ان کریں

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "آپ کو پریمیم کے ساتھ جاری رکھنے سے پہلے سائن اپ کرنا ہوگا", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "ذاتی مواد حاصل کریں اور اپنی کمیونٹی کے ساتھ رابطے میں رہیں!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "ای میل", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "اپنا پاس ورڈ بحال کریں", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "اکاؤنٹ بنائیں", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "ہمیں آپ کے صحت کے ڈیٹا کو محفوظ طریقے سے محفوظ کرنے اور آپ کی تشخیص کو جاری رکھنے کے لیے ایک اکاؤنٹ کی ضرورت ہے۔", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "دہرائیں", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "اپنا پاس ورڈ دوبارہ درج کریں", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "تصدیق کریں", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "کیا آپ کے پاس اکاؤنٹ نہیں ہے؟", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "کیا آپ کے پاس پہلے سے ہی اکاؤنٹ ہے؟", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "پاس ورڈ بنائیں", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "فون", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "فون کی تصدیق کریں", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "آپ کا نمبر کیا ہے؟", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "ہم آپ کے فون کی تصدیق کے لیے ایک کوڈ بھیجیں گے", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "نمبر", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "فون نمبر درج کریں", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+92 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "اگلے OTP بھیجنے کے لیے {countdown} سیکنڈ انتظار کریں", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "اپنا کوڈ درج کریں", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "ہم نے ایک کوڈ {phone} پر بھیجا", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "کیا آپ کو کوڈ موصول نہیں ہوا؟", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "دوبارہ بھیجنے کے لیے کلک کریں", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "آپ {countdown} سیکنڈ میں نیا کوڈ مانگ سکتے ہیں", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "بند کریں", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "پیچھے", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "خدمات کے شرائط", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "رازداری کی پالیسی", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "خوش آمدید", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "اگر آپ کے پاس پہلے سے Doctorina اکاؤنٹ ہے تو لاگ ان کریں، یا شروع کرنے کے لیے سائن اپ کریں۔", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 سے 128 حروف تک", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "کم از کم 1 نمبر", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "کم از کم 1 بڑے حرف", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "پاس ورڈ ملتے ہیں", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "OTP کی توثیق ناکام ہو گئی۔ براہ کرم دوبارہ کوشش کریں۔", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "ریفرل کوڈ", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "اپنا ریفرل کوڈ درج کریں", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "مثال: CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "کیا آپ کے پاس ریفرل کوڈ ہے؟", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_uz.arb b/example/lib/src/l10n/sign_up/app_uz.arb new file mode 100644 index 0000000..52bf398 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_uz.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "uz", + "logIn": "Kirish", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Parol", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Raqamni o'zgartirish", + "@changeNumber": {}, + "forgotPassword": "Parolni unutdingiz?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Email manzilingizni kiriting va biz sizga parolni tiklash uchun havola yuboramiz.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Parolingizni eslaysizmi?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Menda parol bor", + "@backToLoginButton": {}, + "continueButton": "Davom eting", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Parolni tiklash elektron pochta yuborildi", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Parolni tiklash", + "@resetPasswordButton": {}, + "confirmCodeButton": "Kodni tasdiqlang", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Bugun Doctorina-dan foydalanishni boshlang", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "Yoki", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Parolingizni kiriting", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Parolni ko'rsatish", + "@showPasswordHint": {}, + "obscurePasswordHint": "Parolni yashirish", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Loginni tozalash", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email yoki telefon", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com yoki +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Elektron pochta yoki telefon raqamini kiriting", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Davom etish uchun iltimos, kelishuvlarni qabul qiling.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Men shaxsiy ma'lumotlarni qayta ishlashga roziman,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "foydalanish", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", roziman", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "shartlar va qoidalar", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", va tasdiqlang", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "maxfiylik siyosati", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Men tasdiqlayman, maslahatim sun'iy intellekt bilan berilayotganini va litsenziyaga ega tibbiy mutaxassis bilan emasligini.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Chiqish", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Chindan ham tizimdan chiqishni xohlaysizmi?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Bekor qilish", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Ha, chiqish", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Kodni qayta yuborish", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Kodni qayta yuborish ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Men shaxsiy ma'lumotlarni qayta ishlashga, cookielardan foydalanishga, shartlar va shartlarga rozi bo'lishga va

maxfiylik siyosatini

tan olishga roziman", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Elektron pochtangizni kiriting", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Elektron pochta orqali roʻyxatdan oʻtish", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Elektron pochta bilan kirish", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Telefoningizni kiriting", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Telefoningizni tasdiqlang", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Ro'yxatdan o'tish", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Elektron pochtani kiriting", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Google bilan ro'yxatdan o'ting", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Apple bilan ro'yxatdan o'ting", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Telefon orqali ro'yxatdan o'ting", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Google orqali kirish", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Apple bilan kirish", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Telefon bilan kirish", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Siz tizimdan chiqqansiz", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Qayta yuklash", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Noto'g'ri elektron pochta manzili", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Parol kamida 6 ta belgidan iborat bo'lishi kerak", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Noto‘g‘ri telefon raqami: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Yangi kod so'rashdan oldin {seconds} soniya kuting.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Noto'g'ri telefon kodi: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Shartlar va qoidalar", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Mehmon sifatida davom etish", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Hali akkauntingiz yo‘qmi?

Ro‘yxatdan o‘ting

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Allaqachon akkauntingiz bormi?

Kirish

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Premium bilan davom etishdan oldin ro'yxatdan o'tishingiz kerak", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Shaxsiylashtirilgan kontent oling va jamoangiz bilan aloqada bo'ling!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Parolingizni tiklang", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Hisob oching", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Biz sizning sog'liq ma'lumotlaringizni xavfsiz saqlash va baholashingizni davom ettirish uchun hisob kerak.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Takrorlash", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Parolingizni takrorlang", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Tasdiqlash", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Hisobingiz yo'qmi?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Allaqachon hisobingiz bormi?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Parol yarating", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Telefon", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Telefonni tasdiqlash", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Sizning raqamingiz nima?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Biz telefon raqamingizni tasdiqlash uchun kod yuboramiz", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Raqam", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Telefon raqamini kiriting", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+998 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "{countdown} soniya kuting", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Kodingizni kiriting", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "{phone} raqamiga kod yubordik", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Kodni olmadingizmi?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Qayta yuborish uchun bosing", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Siz {countdown} soniyadan keyin yangi kod so'rashingiz mumkin", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Yopish", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Orqaga", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Foydalanish shartlari", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Maxfiylik siyosati", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Xush kelibsiz qaytadan", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Agar sizda allaqachon Doctorina hisobingiz bo'lsa, kiring yoki boshlash uchun ro'yxatdan o'ting.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "8 dan 128 gacha belgi", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Kamida 1 raqam", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Kamida 1 katta harf", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Parollar mos keladi", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Bir martalik parolni tekshirish amalga oshmadi. Qaytadan urinib ko'ring.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Yo'naltirish kodi", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Referal kodingizni kiriting", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Masalan: CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Tavsiya kodi bormi?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_vi.arb b/example/lib/src/l10n/sign_up/app_vi.arb new file mode 100644 index 0000000..07e2d2c --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_vi.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "vi", + "logIn": "Đăng nhập", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Mật khẩu", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Thay đổi số", + "@changeNumber": {}, + "forgotPassword": "Quên Mật Khẩu?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Nhập địa chỉ email của bạn, và chúng tôi sẽ gửi cho bạn liên kết để đặt lại mật khẩu", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Bạn có nhớ mật khẩu của mình không?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Tôi có mật khẩu", + "@backToLoginButton": {}, + "continueButton": "Tiếp tục", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Đã gửi email đặt lại mật khẩu", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Đặt lại mật khẩu", + "@resetPasswordButton": {}, + "confirmCodeButton": "Xác nhận mã", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Bắt đầu sử dụng Doctorina ngay hôm nay", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "HOẶC", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Nhập mật khẩu của bạn", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Hiển thị mật khẩu", + "@showPasswordHint": {}, + "obscurePasswordHint": "Ẩn mật khẩu", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Xoá đăng nhập", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Email hoặc điện thoại", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com hoặc +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Nhập email hoặc số điện thoại", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Vui lòng chấp nhận các thỏa thuận để tiếp tục.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Tôi đồng ý cho việc xử lý dữ liệu cá nhân,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "việc sử dụng", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", đồng ý với", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "điều khoản và điều kiện", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", và xác nhận", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "Chính sách bảo mật", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Tôi xác nhận rằng cuộc tư vấn của tôi với một AI chứ không phải với một chuyên gia y tế được cấp phép.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Đăng xuất", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Bạn có chắc chắn muốn đăng xuất?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Hủy", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Đồng ý, đăng xuất", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Gửi lại mã", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Gửi lại mã ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Tôi đồng ý với việc xử lý dữ liệu cá nhân, sử dụng cookies, đồng ý với các điều khoản và điều kiện, và xác nhận

chính sách bảo mật

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Nhập email của bạn", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Đăng ký bằng email", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Đăng nhập bằng email", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Nhập số điện thoại", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Xác nhận điện thoại của bạn", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Đăng ký", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Nhập email", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Đăng ký với Google", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Đăng ký với Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Đăng ký qua điện thoại", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Đăng nhập với Google", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Đăng nhập với Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Đăng nhập bằng điện thoại", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Bạn đã đăng xuất", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Tải lại", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Địa chỉ email không hợp lệ", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Mật khẩu phải có ít nhất 6 ký tự", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Số điện thoại không hợp lệ: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Vui lòng đợi {seconds} giây trước khi yêu cầu mã mới.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Mã điện thoại không hợp lệ: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Điều khoản và điều kiện", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Tiếp tục với tư cách khách", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Bạn chưa có tài khoản?

Đăng ký

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Đã có tài khoản?

Đăng nhập

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Bạn cần đăng ký trước khi có thể tiếp tục với Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Nhận nội dung cá nhân hóa và giữ liên lạc với cộng đồng của bạn!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "E-mail", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Khôi phục mật khẩu của bạn", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Tạo tài khoản", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Chúng tôi cần một tài khoản để lưu trữ an toàn dữ liệu sức khỏe của bạn và tiếp tục đánh giá của bạn", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Lặp lại", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Nhập lại mật khẩu của bạn", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Xác nhận", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Bạn không có tài khoản?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Bạn đã có tài khoản?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Tạo mật khẩu", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Điện thoại", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Xác minh điện thoại", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Số của bạn là gì?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Chúng tôi sẽ gửi một mã để xác minh điện thoại của bạn", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Số", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Nhập số điện thoại", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Chờ {countdown} giây", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Nhập mã của bạn", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Chúng tôi đã gửi mã đến {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Bạn chưa nhận được mã?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Nhấp để gửi lại", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Bạn có thể yêu cầu mã mới trong {countdown} giây", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Đóng", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Quay lại", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Điều khoản dịch vụ", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Chính sách bảo mật", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Chào mừng bạn trở lại", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Đăng nhập nếu bạn đã có tài khoản Doctorina, hoặc đăng ký để bắt đầu.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Từ 8 đến 128 ký tự", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Ít nhất 1 số", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Tối thiểu 1 chữ cái viết hoa", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Mật khẩu khớp nhau", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Xác thực mã OTP không thành công. Vui lòng thử lại.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Mã giới thiệu", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Nhập mã giới thiệu của bạn", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Ví dụ mã giới thiệu trong trường nhập", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Bạn có mã giới thiệu không?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_zh.arb b/example/lib/src/l10n/sign_up/app_zh.arb new file mode 100644 index 0000000..bfb5e78 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_zh.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "zh", + "logIn": "登录", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "密码", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "更改号码", + "@changeNumber": {}, + "forgotPassword": "忘记密码?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "输入您的电子邮件地址,我们会向您发送重置密码的链接。", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "记得您的密码吗?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "我有密码", + "@backToLoginButton": {}, + "continueButton": "继续", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "密码重置邮件已发送", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "重置密码", + "@resetPasswordButton": {}, + "confirmCodeButton": "确认代码", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "今天开始使用Doctorina", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "或者", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "输入您的密码", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "显示密码", + "@showPasswordHint": {}, + "obscurePasswordHint": "隐藏密码", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "清除登录", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "电子邮件或电话", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com 或 +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "输入电子邮件或电话号码", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "请接受协议以继续.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "我同意处理个人数据,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "使用", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", 同意", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "条款和条件", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", 并确认", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "隐私政策", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "我确认我的咨询是由人工智能提供的,而非持牌医疗专业人员.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "退出", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "确定要退出吗?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "取消", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "是的,退出", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "重新发送代码", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "重新发送代码 ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "我同意处理个人数据,使用cookies,同意条款和条件,并确认

隐私政策

。", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "请输入您的电子邮件", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "使用电子邮件注册", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "使用电子邮件登录", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "输入您的电话", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "确认你的电话", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "注册", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "输入邮箱", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "使用Google注册", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "使用 Apple 注册", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "使用手机注册", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "使用Google登录", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "使用Apple登录", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "使用手机登录", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "您已退出登录", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "重新加载", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "无效的电子邮件地址", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "密码必须至少6个字符", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "无效的电话号码: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "请等待{seconds}秒后再请求新代码.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "无效的手机验证码: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "条款和条件", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "以访客身份继续", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "还没有账号?

注册

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "已有账户?

登录

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "您需要注册才能继续使用高级功能", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "获取个性化内容,与您的社区保持联系!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "电子邮件", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "恢复您的密码", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "创建账户", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "我们需要一个账户来安全地保存您的健康数据并继续您的评估。", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "重复", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "重复您的密码", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "确认", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "没有账户吗?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "已经有账户了吗?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "创建密码", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "电话", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "验证电话", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "你的号码是什么?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "我们会发短信一个验证码来验证您的手机", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "号码", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "输入电话号码", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+86 (010) 5555 0123", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "等待 {countdown} 秒", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "输入您的代码", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "我们已将代码发送到 {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "没有收到代码吗?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "点击重新发送", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "您可以在 {countdown} 秒后请求新代码", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "关闭", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "返回", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "服务条款", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "隐私政策", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "欢迎回来", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "如果您已经拥有Doctorina账户,请登录,或注册以开始。", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "从8到128个字符", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "至少 1 个数字", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "至少1个大写字母", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "密码匹配", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "一次性密码验证失败,请重试。", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "推荐码", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "输入您的推荐码", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "例如:CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "有推荐码吗?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_zh_CN.arb b/example/lib/src/l10n/sign_up/app_zh_CN.arb new file mode 100644 index 0000000..5786a71 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_zh_CN.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "zh_CN", + "logIn": "登录", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "密码", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "更改号码", + "@changeNumber": {}, + "forgotPassword": "忘记密码?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "输入您的电子邮件地址,我们会向您发送重置密码的链接。", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "记得您的密码吗?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "我有密码", + "@backToLoginButton": {}, + "continueButton": "继续", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "密码重置邮件已发送", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "重置密码", + "@resetPasswordButton": {}, + "confirmCodeButton": "确认代码", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "今天开始使用Doctorina", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "或者", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "输入您的密码", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "显示密码", + "@showPasswordHint": {}, + "obscurePasswordHint": "隐藏密码", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "清除登录", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "电子邮件或电话", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com 或 +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "输入电子邮件或电话号码", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "请接受协议以继续.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "我同意处理个人数据,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "使用", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", 同意", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "条款和条件", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", 并确认", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "隐私政策", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "我确认我的咨询是由人工智能提供的,而非持牌医疗专业人员.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "退出", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "确定要退出吗?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "取消", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "是的,退出", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "重新发送代码", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "重新发送代码 ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "我同意处理个人数据,使用cookies,同意条款和条件,并确认

隐私政策

。", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "请输入您的电子邮件", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "使用电子邮件注册", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "使用电子邮件登录", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "输入您的电话", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "确认你的电话", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "注册", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "输入邮箱", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "使用Google注册", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "使用 Apple 注册", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "使用手机注册", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "使用Google登录", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "使用Apple登录", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "使用手机登录", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "您已退出登录", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "重新加载", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "无效的电子邮件地址", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "密码必须至少6个字符", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "无效的电话号码: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "请等待{seconds}秒后再请求新代码.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "无效的手机验证码: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "条款和条件", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "以访客身份继续", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "还没有账号?

注册

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "已有账户?

登录

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "您需要注册才能继续使用高级功能", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "获取个性化内容,与您的社区保持联系!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "电子邮件", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "恢复您的密码", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "创建账户", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "我们需要一个账户来安全地保存您的健康数据并继续您的评估。", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "重复", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "重复您的密码", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "确认", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "没有账户吗?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "已经有账户了吗?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "创建密码", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "电话", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "验证电话", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "你的号码是什么?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "我们会发短信一个验证码来验证您的手机", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "号码", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "输入电话号码", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+86 (010) 5555 0123", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "等待 {countdown} 秒", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "输入您的代码", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "我们已将代码发送到 {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "没有收到代码吗?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "点击重新发送", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "您可以在 {countdown} 秒后请求新代码", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "关闭", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "返回", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "服务条款", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "隐私政策", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "欢迎回来", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "如果您已经拥有Doctorina账户,请登录,或注册以开始。", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "从8到128个字符", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "至少 1 个数字", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "至少1个大写字母", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "密码匹配", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "一次性密码验证失败,请重试。", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "推荐码", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "输入您的推荐码", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "例如:CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "有推荐码吗?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_zh_HK.arb b/example/lib/src/l10n/sign_up/app_zh_HK.arb new file mode 100644 index 0000000..30a1a4d --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_zh_HK.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "zh_HK", + "logIn": "登入", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "密碼", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "更改號碼", + "@changeNumber": {}, + "forgotPassword": "唔記得密碼?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "請輸入你嘅電郵地址,我哋會發送一個重設密碼嘅連結俾你.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "記得你嘅密碼?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "我有密碼", + "@backToLoginButton": {}, + "continueButton": "繼續", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "已發送重設密碼電郵", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "重設密碼", + "@resetPasswordButton": {}, + "confirmCodeButton": "確認代碼", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "今日開始使用Doctorina", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "或者", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "輸入你嘅密碼", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "顯示密碼", + "@showPasswordHint": {}, + "obscurePasswordHint": "隱藏密碼", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "清除登入", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "電郵或電話", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com 或 +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "輸入電郵或電話號碼", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "請接受協議以繼續.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "我同意處理個人資料,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "使用", + "@consentTheUseOf": {}, + "consentCookies": "cookies", + "@consentCookies": {}, + "consentAgreeToThe": ", 同意", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "條款及細則", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", 同埋認可", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "私隱政策", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "我確認我嘅諮詢係同AI進行,而唔係同持牌醫療專業人士.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "登出", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "你確定要登出嗎?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "取消", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "係,登出", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "重發代碼", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "重發代碼 ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "我同意處理個人數據,使用cookies,同意條款和條件,並確認

隱私政策

。", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "輸入您的電子郵件", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "使用電郵註冊", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "使用電郵登入", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "輸入您的電話", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "確認你的電話", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "註冊", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "輸入電郵", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "使用Google註冊", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "使用 Apple 註冊", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "使用電話註冊", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "使用Google登入", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "使用Apple登入", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "使用手機登入", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "你已登出", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "重新載入", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "無效的電子郵件地址", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "密碼最少要有6個字元", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "無效的電話號碼: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "請等待{seconds}秒後再要求新代碼.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "無效的手機驗證碼: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "條款及細則", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "以訪客身份繼續", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "還沒有帳戶?

註冊

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "已有賬戶?

登入

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "您需要註冊才能繼續使用Premium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "獲取個性化內容,並與您的社區保持聯繫!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "電子郵件", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "恢復您的密碼", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "創建帳戶", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "我們需要一個帳戶來安全地保存您的健康數據並繼續您的評估。", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "重複", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "請重複輸入您的密碼", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "確認", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "沒有帳戶?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "已經有帳戶了嗎?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "創建密碼", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "電話", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "驗證電話", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "你的號碼是什麼?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "我們會發送一個代碼來驗證您的電話", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "號碼", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "輸入電話號碼", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "等待 {countdown} 秒", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "輸入您的代碼", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "我們已將代碼發送到 {phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "沒有收到代碼嗎?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "點擊重新發送", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "您可以在 {countdown} 秒內請求新的代碼", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "關閉", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "返回", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "服務條款", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "私隱政策", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "歡迎回來", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "如果您已經擁有 Doctorina 帳戶,請登錄,或註冊以開始。", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "由8至128個字符", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "至少 1 個數字", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "至少 1 個大寫字母", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "密碼匹配", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "一次性密码验证失败,请重试。", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "推薦碼", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "輸入您的推薦碼", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "輸入框中的推薦碼示例", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "有推薦碼嗎?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/example/lib/src/l10n/sign_up/app_zu.arb b/example/lib/src/l10n/sign_up/app_zu.arb new file mode 100644 index 0000000..3db91b3 --- /dev/null +++ b/example/lib/src/l10n/sign_up/app_zu.arb @@ -0,0 +1,390 @@ +{ + "@@locale": "zu", + "logIn": "Ngena", + "@logIn": { + "description": "Надпись \"логин\"" + }, + "password": "Iphasi", + "@password": { + "description": "Надпись \"пароль\"" + }, + "changeNumber": "Shintsha inombolo", + "@changeNumber": {}, + "forgotPassword": "Uphume unakho?", + "@forgotPassword": {}, + "forgotPasswordEnterYourEmailAddress": "Faka i-imeyili yakho, sizokuthumelela isixhumanisi sokubuyisela iphasiwedi yakho.", + "@forgotPasswordEnterYourEmailAddress": {}, + "rememberYourPasswordQuestion": "Ukhumbula iphasiwedi yakho?", + "@rememberYourPasswordQuestion": {}, + "backToLoginButton": "Nginephasi", + "@backToLoginButton": {}, + "continueButton": "Qhubeka", + "@continueButton": {}, + "passwordResetEmailSentSnackBar": "Imeyili yokubuyisela iphasiwedi ithunyelwe", + "@passwordResetEmailSentSnackBar": {}, + "resetPasswordButton": "Phinda iphasi", + "@resetPasswordButton": {}, + "confirmCodeButton": "Qinisekisa ikhodi", + "@confirmCodeButton": {}, + "startUsingDoctorinaTodaySubtitle": "Qala ukusebenzisa uDoctorina namuhla", + "@startUsingDoctorinaTodaySubtitle": {}, + "orDivider": "NOMA", + "@orDivider": { + "description": "Разделитель ---ИЛИ--- между кнопками" + }, + "enterPasswordForEmailHint": "Faka iphasi yakho", + "@enterPasswordForEmailHint": {}, + "showPasswordHint": "Bonisa iphasi", + "@showPasswordHint": {}, + "obscurePasswordHint": "Fihla iphasi", + "@obscurePasswordHint": {}, + "clearLoginTooltip": "Susa ukungena", + "@clearLoginTooltip": {}, + "emailOrPhoneLabel": "Imeyili noma ucingo", + "@emailOrPhoneLabel": {}, + "emailOrPhoneLabelExample": "name@gmail.com noma +1234567890", + "@emailOrPhoneLabelExample": {}, + "emailOrPhoneHint": "Faka i-imeyili noma inombolo yocingo", + "@emailOrPhoneHint": {}, + "pleaseAcceptTheAgreementsToContinueSnackBar": "Sicela wamukele izivumelwano ukuze uqhubeke.", + "@pleaseAcceptTheAgreementsToContinueSnackBar": {}, + "consentToTheProcessingOfPersonalData": "Ngiyavuma ukuhlinzekwa kwedatha yomuntu,", + "@consentToTheProcessingOfPersonalData": { + "description": "На конце запятая" + }, + "consentTheUseOf": "ukusetshenziswa kwe", + "@consentTheUseOf": {}, + "consentCookies": "amakuki", + "@consentCookies": {}, + "consentAgreeToThe": ", ngiyavuma ku", + "@consentAgreeToThe": { + "description": "В начале запятая" + }, + "consentTermsAndConditions": "imigomo nemigomo", + "@consentTermsAndConditions": {}, + "consentAndAcknowledgeThe": ", futhi uqinisekisa ukuthi", + "@consentAndAcknowledgeThe": { + "description": "В начале запятая" + }, + "consentPrivacyPolicy": "umthetho wezokuphepha", + "@consentPrivacyPolicy": {}, + "consentDot": ".", + "@consentDot": { + "description": "Точка на конце соглашения" + }, + "acknowledgeMyConsultation": "Ngiyavuma ukuthi ukuxhumana kwami kuhilela i-AI hhayi uchwepheshe wezokwelapha onelayisensi.", + "@acknowledgeMyConsultation": {}, + "logOutDialogTitle": "Phuma", + "@logOutDialogTitle": { + "description": "Диалог выхода, заголовок" + }, + "logOutDialogContent": "Uqinisekile ukuthi ufuna ukuphuma?", + "@logOutDialogContent": { + "description": "Диалог выхода, текст" + }, + "logOutDialogCancelButton": "Khansela", + "@logOutDialogCancelButton": { + "description": "Диалог выхода, кнопка отмены" + }, + "logOutDialogLogOutButton": "Yebo, phuma", + "@logOutDialogLogOutButton": { + "description": "Диалог выхода, кнопка выйти" + }, + "resendCodeButton": "Thumela ikhodi futhi", + "@resendCodeButton": { + "description": "Кнопка отправить код заного" + }, + "resendCodeTimer": "Thumela kabusha ikhodi ({timer})", + "@resendCodeTimer": { + "description": "Таймер для повторной отправки кода", + "placeholders": { + "timer": { + "type": "String", + "example": "0:00" + } + } + }, + "consentFull": "Ngiyavuma ekucubunguleni kwedatha yomuntu, ukusetshenziswa kwe cookies, ngiyavuma imigomo nemibandela, futhi ngiyavuma

inqubomgomo yobumfihlo

.", + "@consentFull": { + "description": "Соглашение на обработку персональных данных.\nВ тэгах

указаны кликабельные спаны, они должны присутсвовать во всех языках." + }, + "emailLabel": "Faka i-imeyili yakho", + "@emailLabel": { + "description": "Email input field label." + }, + "signUpWithEmailTitle": "Bhalisa nge-imeyili", + "@signUpWithEmailTitle": { + "description": "AppBar title for email signup overlay" + }, + "logInWithEmailTitle": "Ngena ngemeyili", + "@logInWithEmailTitle": { + "description": "AppBar title for email login overlay" + }, + "phoneLabel": "Faka ucingo lwakho", + "@phoneLabel": { + "description": "Phone input field label" + }, + "confirmPhoneTitle": "Qinisekisa ifoni yakho", + "@confirmPhoneTitle": { + "description": "AppBar title for phone confirmation screen" + }, + "signUpText": "Bhalisa", + "@signUpText": { + "description": "Standalone \"Sign up\" text for buttons and tabs" + }, + "emailHintShort": "Faka i-imeyili", + "@emailHintShort": { + "description": "Short email hint text in login dialog" + }, + "buttonTextSignUpWithGoogle": "Bhalisa ngeGoogle", + "@buttonTextSignUpWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextSignUpWithApple": "Bhalisela nge-Apple", + "@buttonTextSignUpWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextSignUpWithPhone": "Bhalisa ngefoni", + "@buttonTextSignUpWithPhone": { + "description": "Button text for phone login sign up" + }, + "buttonTextLoginWithGoogle": "Ngena ngemvume ngeGoogle", + "@buttonTextLoginWithGoogle": { + "description": "Button text for Google sign up" + }, + "buttonTextLoginWithApple": "Ngena ngemvume nge-Apple", + "@buttonTextLoginWithApple": { + "description": "Button text for Apple login sign up" + }, + "buttonTextLoginWithPhone": "Ngena ngefoni", + "@buttonTextLoginWithPhone": { + "description": "Button text for phone login sign up" + }, + "youAreLoggedOutMessage": "Uphumile", + "@youAreLoggedOutMessage": { + "description": "Message displayed on logout screen" + }, + "reloadButtonText": "Phinda ulayishe", + "@reloadButtonText": { + "description": "Reload button text on logout screen" + }, + "emailErrorText": "Ikheli le-imeyili alikho emthethweni", + "@emailErrorText": { + "description": "Error message for invalid email address" + }, + "passwordErrorText": "Iphasiwedi kumele ibe okungenani izinhlamvu ezi-6", + "@passwordErrorText": { + "description": "Error message for password validation (minimum length)" + }, + "invalidPhoneNumberError": "Inombolo yocingo engeyona evumelekile: {phoneNumber}", + "@invalidPhoneNumberError": { + "description": "Error message for invalid phone number format" + }, + "resendCodeWaitError": "Sicela ulinde imizuzwana engu-{seconds} ngaphambi kokucela ikhodi entsha.", + "@resendCodeWaitError": { + "description": "Error message when trying to resend code too soon" + }, + "invalidPhoneCodeError": "Ikhodi yefoni engaqondile: {phoneCode}", + "@invalidPhoneCodeError": { + "description": "Error message for invalid phone verification code" + }, + "termsAndConditionsText": "Imigomo nemibandela", + "@termsAndConditionsText": { + "description": "Terms and conditions link text in login dialog" + }, + "continueAsGuestBtn": "Qhubeka njengengenela", + "@continueAsGuestBtn": { + "description": "Btn to continue as guest on sign up screen" + }, + "noAccountYetPromptText": "Awunayo i-akhawunti?

Bhalisa

", + "@noAccountYetPromptText": { + "description": "Login tab: single line with inline link. <p>…</p> is the tappable “Sign up” link." + }, + "alreadyHaveAccountPromptText": "Une-akhawunti kakade?

Ngena ngemvume

", + "@alreadyHaveAccountPromptText": { + "description": "Sign up tab: single line with inline link. <p>…</p> is the tappable “Log in” link." + }, + "beforeSubscribeYouNeedSignUpLoginDialogSubtitle": "Udinga ukubhalisela ukuqhubeka nePremium", + "@beforeSubscribeYouNeedSignUpLoginDialogSubtitle": { + "description": "Subtitle for login dialog" + }, + "loginSubtitle": "Thola okuqukethwe okwenziwe ngezifiso futhi uhlale uxhumene nomphakathi wakho!", + "@loginSubtitle": { + "description": "Подзаголовок на экране входа, мотивирующий пользователя авторизоваться" + }, + "emailFieldLabel": "I-imeyili", + "@emailFieldLabel": { + "description": "Метка поля ввода email в форме" + }, + "emailPlaceholder": "username@gmail.com", + "@emailPlaceholder": { + "description": "Пример email в поле ввода" + }, + "recoverPasswordTooltip": "Buyisela iphasi yakho", + "@recoverPasswordTooltip": { + "description": "Тултип кнопки восстановления пароля когда email валиден" + }, + "createAccountTitle": "Dala i-akhawunti", + "@createAccountTitle": { + "description": "Заголовок экрана регистрации" + }, + "createAccountSubtitle": "Sidinga i-akhawunti ukuze sigcine idatha yakho yezempilo ngokuphepha futhi siqhubeke nokuhlola.", + "@createAccountSubtitle": { + "description": "Подзаголовок экрана регистрации, объясняет зачем нужен аккаунт" + }, + "repeatLabel": "Phinda", + "@repeatLabel": { + "description": "Метка поля повторного ввода пароля" + }, + "repeatPasswordHint": "Phinda iphasi yakho", + "@repeatPasswordHint": { + "description": "Подсказка в поле повторного ввода пароля" + }, + "confirmButton": "Qinisekisa", + "@confirmButton": { + "description": "Кнопка подтверждения регистрации с паролем" + }, + "noAccountPrompt": "Ungekho i-akhawunti?", + "@noAccountPrompt": { + "description": "Текст перед ссылкой на регистрацию на экране входа" + }, + "alreadyHaveAccountPrompt": "Usunayo i-akhawunti?", + "@alreadyHaveAccountPrompt": { + "description": "Текст перед ссылкой на вход на экране регистрации" + }, + "createPasswordHeader": "Dala iphasi", + "@createPasswordHeader": { + "description": "Заголовок шага создания пароля в хедере диалога" + }, + "phoneHeader": "Ucingo", + "@phoneHeader": { + "description": "Заголовок шага ввода телефона в хедере диалога" + }, + "verifyPhoneHeader": "Qinisekisa Ucingo", + "@verifyPhoneHeader": { + "description": "Заголовок шага верификации телефона в хедере диалога" + }, + "phoneTitle": "Iyini inombolo yakho?", + "@phoneTitle": { + "description": "Заголовок экрана ввода номера телефона" + }, + "phoneSubtitle": "Sizothumela ikhodi ukuze siqinisekise ifoni yakho", + "@phoneSubtitle": { + "description": "Подзаголовок экрана ввода телефона" + }, + "phoneNumberLabel": "Inombolo", + "@phoneNumberLabel": { + "description": "Метка поля ввода номера телефона" + }, + "enterPhoneNumber": "Faka inombolo yocingo", + "@enterPhoneNumber": { + "description": "Подсказка в поле ввода телефона" + }, + "phonePlaceholder": "+1 (201) 555-01-23", + "@phonePlaceholder": { + "description": "Пример номера телефона в поле ввода" + }, + "waitCountdownButton": "Linda {countdown} imizuzu", + "@waitCountdownButton": { + "description": "Текст кнопки во время ожидания повторной отправки OTP", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next OTP can be sent" + } + } + }, + "enterCodeTitle": "Faka ikhodi yakho", + "@enterCodeTitle": { + "description": "Заголовок экрана ввода OTP кода" + }, + "codeSentToPhone": "Sithumele ikhodi ku-{phone}", + "@codeSentToPhone": { + "description": "Текст с информацией куда отправлен код", + "placeholders": { + "phone": { + "type": "String", + "example": "+1234567890", + "description": "Phone number where code was sent" + } + } + }, + "didntReceiveCode": "Awukwazanga ikhodi?", + "@didntReceiveCode": { + "description": "Текст перед ссылкой на повторную отправку кода" + }, + "clickToResend": "Cinde ukuze uthumele kabusha", + "@clickToResend": { + "description": "Текст ссылки повторной отправки кода" + }, + "requestNewCodeCountdown": "Ungacela ikhodi entsha emizuzwini {countdown}", + "@requestNewCodeCountdown": { + "description": "Текст с обратным отсчётом до возможности повторной отправки кода", + "placeholders": { + "countdown": { + "type": "int", + "example": "25", + "description": "Seconds remaining until next code request" + } + } + }, + "closeTooltip": "Vala", + "@closeTooltip": { + "description": "Тултип кнопки закрытия диалога" + }, + "backTooltip": "Buyela", + "@backTooltip": { + "description": "Тултип кнопки назад" + }, + "termsOfServiceLink": "Imigomo Yesevisi", + "@termsOfServiceLink": { + "description": "Текст ссылки на условия использования в футере" + }, + "privacyPolicyLink": "Inqubomgomo Yokuvikela", + "@privacyPolicyLink": { + "description": "Текст ссылки на политику конфиденциальности в футере" + }, + "welcomeBackTitle": "Wamukelekile", + "@welcomeBackTitle": { + "description": "Заголовок экрана приветствия при возвращении пользователя" + }, + "welcomeBackSubtitle": "Ngena uma unayo i-Doctorina account, noma ubhalise ukuze uqale.", + "@welcomeBackSubtitle": { + "description": "Подзаголовок экрана приветствия, предлагающий войти или зарегистрироваться" + }, + "passwordRuleLength": "Imininingwane engu-8 kuya kwengu-128", + "@passwordRuleLength": { + "description": "Правило валидации пароля: длина от 8 до 128 символов" + }, + "passwordRuleNumber": "Okungenani 1 inombolo", + "@passwordRuleNumber": { + "description": "Правило валидации пароля: минимум 1 цифра" + }, + "passwordRuleUppercase": "Okungenani 1 ibhodi elikhulu", + "@passwordRuleUppercase": { + "description": "Правило валидации пароля: минимум 1 заглавная буква" + }, + "passwordRuleMatch": "Amakhodi ahambisana", + "@passwordRuleMatch": { + "description": "Правило валидации пароля: пароли совпадают" + }, + "phoneOtpVerificationFailed": "Ukuqinisekiswa kwe-OTP kwehlulekile. Sicela uzame futhi.", + "@phoneOtpVerificationFailed": {}, + "referralCodeLabel": "Ikhodi yokudlulisa", + "@referralCodeLabel": { + "description": "Заголовок поля ввода реферального кода на экране регистрации" + }, + "enterReferralCodeHint": "Faka ikhodi yakho yokudlulisa", + "@enterReferralCodeHint": { + "description": "Подсказка (labelText) в поле ввода реферального кода" + }, + "referralCodeExampleHint": "Isibonelo, CREATOR2026", + "@referralCodeExampleHint": { + "description": "Пример реферального кода в поле ввода (hintText)" + }, + "haveReferralCodeQuestion": "Unenikodi yokudlulisa?", + "@haveReferralCodeQuestion": { + "description": "Ссылка-вопрос, раскрывающая поле ввода реферального кода" + } +} \ No newline at end of file diff --git a/lib/localize.dart b/lib/localize.dart new file mode 100644 index 0000000..66c0da1 --- /dev/null +++ b/lib/localize.dart @@ -0,0 +1,15 @@ +/// Localization pipeline used by the `localize` executable. +/// +/// Everything here is pure Dart with no Google Sheets dependency, so it can be +/// unit-tested without network access. +library; + +export 'src/localize/client.dart'; +export 'src/localize/google_sheets.dart'; +export 'src/localize/language_names.dart'; +export 'src/localize/localizer.dart'; +export 'src/localize/models.dart'; +export 'src/localize/prompt.dart'; +export 'src/localize/sheets.dart'; +export 'src/localize/utils.dart'; +export 'src/localize/validation.dart'; diff --git a/lib/src/localize/client.dart b/lib/src/localize/client.dart new file mode 100644 index 0000000..9709f47 --- /dev/null +++ b/lib/src/localize/client.dart @@ -0,0 +1,377 @@ +/// OpenAI transport for the localization pipeline. +library; + +import 'dart:async'; +import 'dart:collection'; +import 'dart:convert'; +import 'dart:io' as io; + +import 'utils.dart'; + +/// Structured payload returned by the model for a single localization request. +typedef LocalizationResponse = ({ + String label, + Map localization, +}); + +/// Anything able to turn a prompt + JSON schema into a localization payload. +/// +/// Exists so the pipeline can be exercised in tests without network access. +abstract interface class LocalizationClient { + /// Perform a single localization request. + Future call({ + required String prompt, + required Map schema, + }); +} + +/// Error raised when the model answers with something we cannot use: truncated +/// output, invalid JSON, a payload that does not match the schema. +/// +/// Such an error is *not* retried with the same prompt — the caller splits the +/// batch into single languages instead, which both shortens the output and +/// isolates the language the model is choking on. +class LocalizationResponseException implements Exception { + /// Creates an exception describing an unusable model response. + const LocalizationResponseException(this.message); + + /// Human-readable reason. + final String message; + + @override + String toString() => 'LocalizationResponseException: $message'; +} + +/// Error raised when the OpenAI API itself fails (network, 429, 5xx, 4xx). +class OpenAIApiException implements Exception { + /// Creates an API-level failure with an optional HTTP [statusCode]. + /// + /// [retryable] overrides the decision derived from [statusCode]; it is used + /// for failures reported inside a delivered body, which carry no status. + const OpenAIApiException(this.message, {this.statusCode, bool? retryable}) + : _retryable = retryable; + + /// Human-readable reason. + final String message; + + /// HTTP status code, when the failure happened after a response was received. + final int? statusCode; + + final bool? _retryable; + + /// Whether retrying the very same request can plausibly succeed. + bool get isRetryable { + final override = _retryable; + if (override != null) return override; + final code = statusCode; + if (code == null) return true; // network / timeout + if (code == 408 || code == 409 || code == 429) return true; + return code >= 500; + } + + @override + String toString() => 'OpenAIApiException' + '${statusCode == null ? '' : ' ($statusCode)'}: $message'; +} + +/// OpenAI Responses API client with a concurrency semaphore, a per-request +/// timeout and retries limited to transient failures. +class OpenAIClient implements LocalizationClient { + /// Creates a client bound to an OpenAI [apiKey]. + OpenAIClient({ + required this.apiKey, + this.model = 'gpt-5-mini', + this.workers = 6, + this.retries = 3, + this.systemPrompt, + this.timeout = const Duration(seconds: 120), + Uri? endpoint, + }) : endpoint = endpoint ?? Uri.https('api.openai.com', '/v1/responses'), + _available = workers < 1 ? 1 : workers; + + /// OpenAI API key. + final String apiKey; + + /// OpenAI model name, e.g. `gpt-5-mini`. + final String model; + + /// Maximum number of concurrent in-flight requests. + final int workers; + + /// Attempts per request for *transient* failures only. + final int retries; + + /// Optional system prompt (`instructions` of the Responses API). + final String? systemPrompt; + + /// Hard wall-clock limit of a single request. + /// + /// Without it a request that the model never finishes (the "stuck on a rare + /// language" case) hangs a worker forever and stalls the whole run. + final Duration timeout; + + /// Responses API endpoint. Overridable for tests. + final Uri endpoint; + + /// Counting semaphore limiting the number of concurrent in-flight + /// OpenAI requests to [workers]. + int _available; + final Queue> _waiters = Queue>(); + + /// Acquire a slot before performing a request, waiting if [workers] requests + /// are already in flight. + Future _acquire() { + if (_available > 0) { + _available--; + return Future.value(); + } + final completer = Completer(); + _waiters.add(completer); + return completer.future; + } + + /// Release a slot, waking the next waiter if any. + void _release() { + if (_waiters.isNotEmpty) { + _waiters.removeFirst().complete(); + } else { + _available++; + } + } + + /// Whether [model] is a reasoning model (the `gpt-5` and `o*` families). + /// + /// Those models reject the sampling parameters, and their reasoning tokens + /// are charged against the same `max_output_tokens` budget as the answer. + /// + /// The chat variants (`gpt-5-chat-latest`) are the mirror image: they are + /// *not* reasoning models, they accept `temperature` and reject + /// `reasoning.effort`, so they must not be swept up by the `gpt-5` prefix. + /// The first o-series models predate the `reasoning` parameter entirely. + static bool isReasoningModel(String model) { + final name = model.toLowerCase(); + if (name.contains('chat')) return false; + if (name.startsWith('o1-mini') || name.startsWith('o1-preview')) + return false; + return name.startsWith('gpt-5') || + name.startsWith('o1') || + name.startsWith('o3') || + name.startsWith('o4'); + } + + /// Number of languages the [schema] asks for. + static int languagesOf(Map schema) { + if (schema + case { + 'properties': {'localization': {'required': List required}} + }) return required.length.clamp(1, 32); + return 1; + } + + /// Token budget for the request: the payload grows with the number of + /// requested languages, and a truncated answer is unparseable JSON. + /// + /// On a reasoning model the budget also has to cover the reasoning tokens, + /// which are invisible but billed against the very same ceiling — without + /// the extra headroom the answer itself gets cut off mid-JSON. + /// + /// The reserve is deliberately generous: `max_output_tokens` is a ceiling, + /// not a charge, so an unused reserve costs nothing, while an exhausted one + /// truncates the answer into unparseable JSON. It dwarfs the per-language + /// term on purpose — the reasoning burn is driven by the prompt, so the + /// single-language fallback must not end up with a *smaller* budget than the + /// batch that just failed. + static const int _reasoningReserve = 16384; + + /// Ceiling for `max_output_tokens` of a request carrying [schema]. + static int maxOutputTokensFor( + Map schema, { + String model = 'gpt-5-mini', + }) { + final languages = languagesOf(schema); + final reserve = isReasoningModel(model) ? _reasoningReserve : 0; + return (1024 + reserve + 768 * languages).clamp(1024, 32768); + } + + Future _request({ + required io.HttpClient client, + required String prompt, + required Map schema, + }) async { + final request = await client.postUrl(endpoint) + ..headers.set('Content-Type', 'application/json') + ..headers.set('Authorization', 'Bearer $apiKey'); + final body = jsonEncode({ + 'model': model, // e.g. "gpt-5-mini" + + // System prompt goes into `instructions` for Responses API + if (systemPrompt != null) 'instructions': systemPrompt, + + // User prompt goes into `input` with explicit content typing + 'input': [ + { + 'role': 'user', + 'content': [ + { + 'type': 'input_text', + 'text': prompt, + } + ] + } + ], + + // Specify structured output at the TOP-LEVEL under "text.format" + 'text': { + 'format': { + 'name': 'i18n_payload', + 'strict': true, + 'type': 'json_schema', + 'schema': schema + } + }, + + // Deterministic outputs for pipeline stability. + // Reasoning models (gpt-5, o*) reject the sampling parameters outright + // with `400 Unsupported parameter`, so they get an effort hint instead. + if (isReasoningModel(model)) + 'reasoning': {'effort': 'low'} + else ...{ + 'temperature': 0, + 'top_p': 1, + }, + + // Token budget scaled by the number of requested languages + 'max_output_tokens': maxOutputTokensFor(schema, model: model), + }); + request.add(utf8.encode(body)); + final response = await request.close(); + final responseBody = await response.transform(utf8.decoder).join(); + if (response.statusCode != 200) + throw OpenAIApiException( + responseBody, + statusCode: response.statusCode, + ); + return parseResponseBody(responseBody); + } + + /// Parses the raw body of an OpenAI Responses API answer. + /// + /// Throws [LocalizationResponseException] for anything unusable, so the + /// caller can fall back to single-language requests instead of hammering the + /// API with an identical prompt. + static LocalizationResponse parseResponseBody(String responseBody) { + Object? json; + try { + json = jsonDecode(responseBody); + } on FormatException catch (e) { + throw LocalizationResponseException('Malformed JSON from OpenAI: $e'); + } + + // An error inside a delivered body is a decision of the API about this very + // prompt (content filter, failed run) — re-sending it verbatim would only + // reproduce it, so it is not treated as a transient failure. + if (json case {'error': Map error}) + throw OpenAIApiException(error.toString(), retryable: false); + + // The model hit the token ceiling / was cut off: the payload is truncated + // garbage, retrying the same prompt would truncate again. + if (json case {'status': 'incomplete'}) { + final reason = switch (json) { + {'incomplete_details': {'reason': String reason}} => reason, + _ => 'unknown', + }; + throw LocalizationResponseException( + 'Incomplete response from OpenAI (reason: $reason)', + ); + } + + if (json case {'output': List output} when output.isNotEmpty) { + for (final item in output.whereType>()) { + // Reasoning items also carry `content` — with the model's thinking in + // it, not the answer. Only a message item holds the payload, and only + // its `output_text` part. Everything else is skipped, not parsed. + if (item['type'] != 'message') continue; + if (item case {'content': List content}) { + for (final part in content.whereType>()) { + // The model declined to answer: report it as such, so the operator + // is not sent chasing a phantom transport problem. + if (part case {'type': 'refusal', 'refusal': String refusal}) + throw LocalizationResponseException( + 'Model refused to answer: $refusal', + ); + if (part case {'type': 'output_text', 'text': String text}) { + Object? payload; + try { + payload = jsonDecode(text); + } on FormatException catch (e) { + throw LocalizationResponseException( + 'Model returned invalid JSON payload: $e', + ); + } + if (payload + case { + 'label': String label, + 'localization': Map localization, + }) return (label: label, localization: localization); + throw const LocalizationResponseException( + 'Invalid JSON structure in OpenAI response', + ); + } + } + } + } + } + throw const LocalizationResponseException( + 'Invalid response format from OpenAI API', + ); + } + + @override + Future call({ + required String prompt, + required Map schema, + }) async { + // Throttle to at most [workers] concurrent in-flight requests. + await _acquire(); + try { + // Everything that can throw lives under the semaphore's `finally`, so a + // slot can never leak — a leaked slot would eventually starve every + // worker and hang the run with no output at all. + final client = io.HttpClient()..connectionTimeout = timeout; + try { + for (var attempt = 1;; attempt++) { + try { + return await _request( + client: client, + prompt: prompt, + schema: schema, + ).timeout( + timeout, + onTimeout: () => throw OpenAIApiException( + 'Request timed out after ${timeout.inSeconds}s', + ), + ); + } on LocalizationResponseException { + // Unusable payload: never retried here — the caller splits the + // batch into single languages, a *different*, shorter prompt. + rethrow; + } on Object catch (e) { + final retryable = e is! OpenAIApiException || e.isRetryable; + if (!retryable || attempt >= retries) rethrow; + $err('OpenAI API call failed (attempt $attempt/$retries): $e'); + await Future.delayed( + Duration(milliseconds: 500 * (1 << (attempt - 1))), + ); + } + } + } finally { + // Closing an already-aborted client must not mask the real error. + try { + client.close(force: true); + } on Object catch (_) {} + } + } finally { + _release(); + } + } +} diff --git a/lib/src/localize/google_sheets.dart b/lib/src/localize/google_sheets.dart new file mode 100644 index 0000000..30cda97 --- /dev/null +++ b/lib/src/localize/google_sheets.dart @@ -0,0 +1,105 @@ +/// Google Sheets implementation of [SheetsGateway]. +library; + +import 'package:googleapis/sheets/v4.dart'; + +import 'sheets.dart'; +import 'utils.dart'; + +/// Reads and writes a Google spreadsheet through the Sheets API. +class GoogleSheetsGateway implements SheetsGateway { + /// Creates a gateway over an authenticated [api] for the spreadsheet [id]. + GoogleSheetsGateway({required this.api, required this.id}); + + /// Authenticated Sheets API client. + final SheetsApi api; + + /// Spreadsheet ID. + final String id; + + @override + Stream fetch({List ignore = const []}) async* { + $log('Fetching spreadsheet data...'); + final List sheets; + try { + sheets = (await api.spreadsheets.get(id)).sheets ?? const []; + } on Object catch (e) { + throw _translate(e, 'Error fetching spreadsheet data'); + } + if (sheets.isEmpty) + throw SheetsException('No sheets found in the spreadsheet with ID: $id'); + + $log('Retrieving data from ${sheets.length} sheets...'); + for (final sheet in sheets) { + final properties = sheet.properties; + if (properties == null) { + $err('Sheet properties are null, skipping sheet...'); + continue; + } + final SheetProperties(sheetId: sheetId, title: title) = properties; + + if (sheetId == null) { + $err('Sheet ID is null, skipping sheet...'); + continue; + } else if (title == null || title.isEmpty) { + $err('Sheet title is null or empty, skipping sheet...'); + continue; + } else if (ignore.any((pattern) => pattern.hasMatch(title))) { + $log('Ignoring sheet "$title" as it matches ignore patterns'); + continue; + } + + final List>? values; + try { + values = (await api.spreadsheets.values.get(id, title)).values; + } on Object catch (e) { + throw _translate(e, 'Error reading sheet "$title"'); + } + + // Validate sheet values + if (values == null || values.isEmpty) { + $err('Sheet "$title" is empty, skipping sheet...'); + continue; + } else if (values.length < 2) { + $err('Sheet "$title" has no rows, skipping sheet...'); + continue; + } else if (values.first.length < 4) { + $err('Sheet "$title" has no localizations, skipping sheet...'); + continue; + } + + yield (title: title, values: values); + } + } + + @override + Future write(List updates) async { + try { + await api.spreadsheets.values.batchUpdate( + BatchUpdateValuesRequest( + valueInputOption: 'RAW', + data: [ + for (final update in updates) + ValueRange( + range: update.range, + values: [ + [update.value] + ], + ), + ], + ), + id, + ); + } on Object catch (e) { + throw _translate(e, 'Error writing to the spreadsheet'); + } + } + + /// Map a Sheets API failure onto the transport-agnostic [SheetsException], + /// preserving the status code the retry policy is built on. + SheetsException _translate(Object error, String context) => switch (error) { + DetailedApiRequestError(:final status, :final message) => + SheetsException('$context: ${message ?? error}', statusCode: status), + _ => SheetsException('$context: $error'), + }; +} diff --git a/lib/src/localize/language_names.dart b/lib/src/localize/language_names.dart new file mode 100644 index 0000000..fc649d8 --- /dev/null +++ b/lib/src/localize/language_names.dart @@ -0,0 +1,446 @@ +/// Language metadata used to disambiguate ISO codes for the LLM. +library; + +/// Comprehensive mapping of ISO 639-1 language codes (and common extended +/// locale codes) to their English language names. +/// Keys are lowercase with `_` as separator. +const Map kLanguageNames = { + // A + 'aa': 'Afar', + 'ab': 'Abkhazian', + 'af': 'Afrikaans', + 'ak': 'Akan', + 'am': 'Amharic', + 'an': 'Aragonese', + 'ar': 'Arabic', + 'as': 'Assamese', + 'av': 'Avaric', + 'ay': 'Aymara', + 'az': 'Azerbaijani', + // B + 'ba': 'Bashkir', + 'be': 'Belarusian', + 'bg': 'Bulgarian', + 'bh': 'Bihari', + 'bi': 'Bislama', + 'bm': 'Bambara', + 'bn': 'Bengali', + 'bo': 'Tibetan', + 'br': 'Breton', + 'bs': 'Bosnian', + // C + 'ca': 'Catalan', + 'ce': 'Chechen', + 'ch': 'Chamorro', + 'co': 'Corsican', + 'cr': 'Cree', + 'cs': 'Czech', + 'cu': 'Church Slavic', + 'cv': 'Chuvash', + 'cy': 'Welsh', + // D + 'da': 'Danish', + 'de': 'German', + 'dv': 'Divehi', + 'dz': 'Dzongkha', + // E + 'ee': 'Ewe', + 'el': 'Greek', + 'en': 'English', + 'eo': 'Esperanto', + 'es': 'Spanish', + 'et': 'Estonian', + 'eu': 'Basque', + // F + 'fa': 'Persian', + 'ff': 'Fulah', + 'fi': 'Finnish', + 'fj': 'Fijian', + 'fo': 'Faroese', + 'fr': 'French', + 'fy': 'Western Frisian', + // G + 'ga': 'Irish', + 'gd': 'Scottish Gaelic', + 'gl': 'Galician', + 'gn': 'Guarani', + 'gu': 'Gujarati', + 'gv': 'Manx', + // H + 'ha': 'Hausa', + 'he': 'Hebrew', + 'hi': 'Hindi', + 'ho': 'Hiri Motu', + 'hr': 'Croatian', + 'ht': 'Haitian Creole', + 'hu': 'Hungarian', + 'hy': 'Armenian', + 'hz': 'Herero', + // I + 'ia': 'Interlingua', + 'id': 'Indonesian', + 'ie': 'Interlingue', + 'ig': 'Igbo', + 'ii': 'Sichuan Yi', + 'ik': 'Inupiaq', + 'io': 'Ido', + 'is': 'Icelandic', + 'it': 'Italian', + 'iu': 'Inuktitut', + // J + 'ja': 'Japanese', + 'jv': 'Javanese', + // K + 'ka': 'Georgian', + 'kg': 'Kongo', + 'ki': 'Kikuyu', + 'kj': 'Kuanyama', + 'kk': 'Kazakh', + 'kl': 'Kalaallisut', + 'km': 'Khmer', + 'kn': 'Kannada', + 'ko': 'Korean', + 'kr': 'Kanuri', + 'ks': 'Kashmiri', + 'ku': 'Kurdish', + 'kv': 'Komi', + 'kw': 'Cornish', + 'ky': 'Kyrgyz', + // L + 'la': 'Latin', + 'lb': 'Luxembourgish', + 'lg': 'Ganda', + 'li': 'Limburgish', + 'ln': 'Lingala', + 'lo': 'Lao', + 'lt': 'Lithuanian', + 'lu': 'Luba-Katanga', + 'lv': 'Latvian', + // M + 'mg': 'Malagasy', + 'mh': 'Marshallese', + 'mi': 'Maori', + 'mk': 'Macedonian', + 'ml': 'Malayalam', + 'mn': 'Mongolian', + 'mr': 'Marathi', + 'ms': 'Malay', + 'mt': 'Maltese', + 'my': 'Burmese', + // N + 'na': 'Nauru', + 'nb': 'Norwegian Bokmal', + 'nd': 'North Ndebele', + 'ne': 'Nepali', + 'ng': 'Ndonga', + 'nl': 'Dutch', + 'nn': 'Norwegian Nynorsk', + 'no': 'Norwegian', + 'nr': 'South Ndebele', + 'nv': 'Navajo', + 'ny': 'Chichewa', + // O + 'oc': 'Occitan', + 'oj': 'Ojibwe', + 'om': 'Oromo', + 'or': 'Odia', + 'os': 'Ossetian', + // P + 'pa': 'Punjabi', + 'pi': 'Pali', + 'pl': 'Polish', + 'ps': 'Pashto', + 'pt': 'Portuguese', + // Q + 'qu': 'Quechua', + // R + 'rm': 'Romansh', + 'rn': 'Kirundi', + 'ro': 'Romanian', + 'ru': 'Russian', + 'rw': 'Kinyarwanda', + // S + 'sa': 'Sanskrit', + 'sc': 'Sardinian', + 'sd': 'Sindhi', + 'se': 'Northern Sami', + 'sg': 'Sango', + 'si': 'Sinhala', + 'sk': 'Slovak', + 'sl': 'Slovenian', + 'sm': 'Samoan', + 'sn': 'Shona', + 'so': 'Somali', + 'sq': 'Albanian', + 'sr': 'Serbian', + 'ss': 'Swati', + 'st': 'Southern Sotho', + 'su': 'Sundanese', + 'sv': 'Swedish', + 'sw': 'Swahili', + // T + 'ta': 'Tamil', + 'te': 'Telugu', + 'tg': 'Tajik', + 'th': 'Thai', + 'ti': 'Tigrinya', + 'tk': 'Turkmen', + 'tl': 'Tagalog', + 'tn': 'Tswana', + 'to': 'Tongan', + 'tr': 'Turkish', + 'ts': 'Tsonga', + 'tt': 'Tatar', + 'tw': 'Twi', + 'ty': 'Tahitian', + // U + 'ug': 'Uyghur', + 'uk': 'Ukrainian', + 'ur': 'Urdu', + 'uz': 'Uzbek', + // V + 've': 'Venda', + 'vi': 'Vietnamese', + 'vo': 'Volapuk', + // W + 'wa': 'Walloon', + 'wo': 'Wolof', + // X + 'xh': 'Xhosa', + // Y + 'yi': 'Yiddish', + 'yo': 'Yoruba', + // Z + 'za': 'Zhuang', + 'zh': 'Chinese', + 'zu': 'Zulu', + + // --- Legacy / alternative ISO 639-1 codes still seen in the wild --- + 'in': 'Indonesian', // legacy code for `id` + 'iw': 'Hebrew', // legacy code for `he` + 'ji': 'Yiddish', // legacy code for `yi` + 'fil': 'Filipino', + 'nb_no': 'Norwegian Bokmal', + 'nn_no': 'Norwegian Nynorsk', + + // --- Extended locale codes (language + region) --- + 'zh_cn': 'Chinese Simplified', + 'zh_tw': 'Chinese Traditional', + 'zh_hk': 'Chinese Traditional (Hong Kong)', + 'zh_hans': 'Chinese Simplified', + 'zh_hant': 'Chinese Traditional', + 'pt_br': 'Brazilian Portuguese', + 'pt_pt': 'European Portuguese', + 'en_us': 'American English', + 'en_gb': 'British English', + 'en_au': 'Australian English', + 'es_mx': 'Mexican Spanish', + 'es_ar': 'Argentinian Spanish', + 'es_es': 'European Spanish', + 'fr_ca': 'Canadian French', + 'fr_fr': 'European French', + 'fr_be': 'Belgian French', + 'fr_ch': 'Swiss French', + 'de_at': 'Austrian German', + 'de_ch': 'Swiss German', + 'de_de': 'German', + 'nl_be': 'Flemish', + 'sr_latn': 'Serbian (Latin)', + 'sr_cyrl': 'Serbian (Cyrillic)', + 'ro_md': 'Moldavian', + 'ar_sa': 'Saudi Arabic', + 'ar_eg': 'Egyptian Arabic', + 'ar_ma': 'Moroccan Arabic', + 'ms_my': 'Malay (Malaysia)', + 'ms_bn': 'Malay (Brunei)', + 'sw_ke': 'Swahili (Kenya)', + 'sw_tz': 'Swahili (Tanzania)', + 'ta_lk': 'Tamil (Sri Lanka)', + 'ur_pk': 'Urdu (Pakistan)', + 'ur_in': 'Urdu (India)', + 'bn_bd': 'Bengali (Bangladesh)', + 'bn_in': 'Bengali (India)', + 'pa_guru': 'Punjabi (Gurmukhi)', + 'pa_arab': 'Punjabi (Shahmukhi)', + 'az_latn': 'Azerbaijani (Latin)', + 'az_cyrl': 'Azerbaijani (Cyrillic)', + 'uz_latn': 'Uzbek (Latin)', + 'uz_cyrl': 'Uzbek (Cyrillic)', +}; + +/// Endonyms (native self-names) for the most frequently used languages. +/// +/// The endonym is written into the prompt next to the English name — it is a +/// much stronger signal for the model than the bare ISO code, because it is +/// already expressed in the target language and script. +const Map kLanguageEndonyms = { + 'ar': 'العربية', + 'az': 'Azərbaycan dili', + 'be': 'беларуская', + 'bg': 'български', + 'bn': 'বাংলা', + 'bs': 'bosanski', + 'ca': 'català', + 'cs': 'čeština', + 'cy': 'Cymraeg', + 'da': 'dansk', + 'de': 'Deutsch', + 'el': 'Ελληνικά', + 'en': 'English', + 'es': 'español', + 'et': 'eesti', + 'eu': 'euskara', + 'fa': 'فارسی', + 'fi': 'suomi', + 'fr': 'français', + 'ga': 'Gaeilge', + 'gl': 'galego', + 'gu': 'ગુજરાતી', + 'he': 'עברית', + 'hi': 'हिन्दी', + 'hr': 'hrvatski', + 'hu': 'magyar', + 'hy': 'հայերեն', + 'id': 'Bahasa Indonesia', + 'is': 'íslenska', + 'it': 'italiano', + 'ja': '日本語', + 'ka': 'ქართული', + 'kk': 'қазақ тілі', + 'km': 'ភាសាខ្មែរ', + 'kn': 'ಕನ್ನಡ', + 'ko': '한국어', + 'ky': 'кыргызча', + 'lt': 'lietuvių', + 'lv': 'latviešu', + 'mk': 'македонски', + 'ml': 'മലയാളം', + 'mn': 'монгол', + 'mr': 'मराठी', + 'ms': 'Bahasa Melayu', + 'my': 'မြန်မာ', + 'nb': 'norsk bokmål', + 'ne': 'नेपाली', + 'nl': 'Nederlands', + 'nn': 'norsk nynorsk', + 'no': 'norsk', + 'pa': 'ਪੰਜਾਬੀ', + 'pl': 'polski', + 'ps': 'پښتو', + 'pt': 'português', + 'ro': 'română', + 'ru': 'русский', + 'si': 'සිංහල', + 'sk': 'slovenčina', + 'sl': 'slovenščina', + 'sq': 'shqip', + 'sr': 'српски', + 'sv': 'svenska', + 'sw': 'Kiswahili', + 'ta': 'தமிழ்', + 'te': 'తెలుగు', + 'th': 'ไทย', + 'tl': 'Tagalog', + 'tr': 'Türkçe', + 'uk': 'українська', + 'ur': 'اردو', + 'uz': 'oʻzbekcha', + 'vi': 'Tiếng Việt', + 'zh': '中文', + 'zh_cn': '简体中文', + 'zh_tw': '繁體中文', + 'pt_br': 'português brasileiro', +}; + +/// Codes that language models routinely confuse with something else. +/// +/// The note is injected into the prompt verbatim, as an explicit warning, so +/// the model cannot fall back on its own (wrong) guess. `uk` is the canonical +/// offender: it is Ukrainian, but it is frequently read as "United Kingdom" +/// and answered in English. +const Map kAmbiguousLanguageNotes = { + 'uk': 'Ukrainian (Cyrillic script). NOT English and NOT ' + '"United Kingdom" — British English would be "en_GB".', + 'cs': 'Czech. NOT Chechen ("ce").', + 'ce': 'Chechen. NOT Czech ("cs").', + 'sl': 'Slovenian. NOT Slovak ("sk").', + 'sk': 'Slovak. NOT Slovenian ("sl").', + 'da': 'Danish. NOT Dari/Persian ("fa" / "prs").', + 'de': 'German (Deutsch). NOT Danish ("da") and NOT Dutch ("nl").', + 'nl': 'Dutch (Netherlands). NOT German ("de").', + 'se': 'Northern Sami. NOT Swedish ("sv").', + 'sv': 'Swedish. NOT Northern Sami ("se").', + 'et': 'Estonian. NOT Amharic/Ethiopian ("am").', + 'eu': 'Basque (Euskara). It is a language, not "Europe/EU".', + 'el': 'Greek. NOT Elvish or any English variant.', + 'ja': 'Japanese. NOT Javanese ("jv").', + 'jv': 'Javanese (Indonesia). NOT Japanese ("ja").', + 'ka': 'Georgian (Kartuli). NOT Kannada ("kn").', + 'kn': 'Kannada (India). NOT Georgian ("ka").', + 'ms': 'Malay. NOT Malayalam ("ml").', + 'ml': 'Malayalam (India). NOT Malay ("ms").', + 'hy': 'Armenian. NOT Hindi ("hi").', + 'fa': 'Persian/Farsi. NOT Pashto ("ps").', + 'sq': 'Albanian (Shqip).', + 'zh': 'Chinese, Simplified script by default.', + 'iw': 'Hebrew (legacy code for "he").', + 'in': 'Indonesian (legacy code for "id").', +}; + +/// Returns human-readable language name for the given locale [code], +/// or `null` if no match is found. +/// +/// Lookup order: +/// 1. Exact match after normalization (lowercase, `_` separator). +/// 2. If the code contains `_`, try the language-only prefix (part before `_`). +String? resolveLanguageName(String code) { + final normalized = normalizeLanguageCode(code); + final name = kLanguageNames[normalized]; + if (name != null) return name; + final underscore = normalized.indexOf('_'); + if (underscore > 0) { + return kLanguageNames[normalized.substring(0, underscore)]; + } + return null; +} + +/// Returns the endonym (native self-name) for [code], or `null` when unknown. +String? resolveLanguageEndonym(String code) { + final normalized = normalizeLanguageCode(code); + final endonym = kLanguageEndonyms[normalized]; + if (endonym != null) return endonym; + final underscore = normalized.indexOf('_'); + if (underscore > 0) { + return kLanguageEndonyms[normalized.substring(0, underscore)]; + } + return null; +} + +/// Returns the disambiguation note for [code], or `null` when the code is not +/// known to be confusable. +String? resolveLanguageNote(String code) { + final normalized = normalizeLanguageCode(code); + final note = kAmbiguousLanguageNotes[normalized]; + if (note != null) return note; + final underscore = normalized.indexOf('_'); + if (underscore > 0) { + return kAmbiguousLanguageNotes[normalized.substring(0, underscore)]; + } + return null; +} + +/// Normalize a locale [code] to the lookup form: lowercase, `_` separated. +String normalizeLanguageCode(String code) => + code.trim().toLowerCase().replaceAll('-', '_'); + +/// Human-readable, prompt-ready description of the locale [code]. +/// +/// Examples: +/// * `uk` -> `uk — Ukrainian (українська)` +/// * `xx` -> `xx` (unknown code, passed through untouched) +String describeLanguage(String code) { + final name = resolveLanguageName(code); + if (name == null) return code; + final endonym = resolveLanguageEndonym(code); + return endonym == null ? '$code — $name' : '$code — $name ($endonym)'; +} diff --git a/lib/src/localize/localizer.dart b/lib/src/localize/localizer.dart new file mode 100644 index 0000000..cb0acb3 --- /dev/null +++ b/lib/src/localize/localizer.dart @@ -0,0 +1,276 @@ +/// Localization pipeline: sheet values in, localized rows out. +library; + +import 'dart:async'; +import 'dart:collection'; + +import 'client.dart'; +import 'language_names.dart'; +import 'models.dart'; +import 'prompt.dart'; +import 'utils.dart'; +import 'validation.dart'; + +/// Whether [header] describes a localization sheet. +/// +/// The expected layout is `label | description | meta | en | ...`, so +/// the fourth column must be the English source. A spreadsheet usually holds +/// other sheets too — reference tables, notes — whose columns are ordinary +/// data. Localizing those would overwrite them with translations, so a sheet +/// that does not match the layout is left alone. +bool isLocalizationHeader(List header) { + if (header.length < 5) return false; + final en = header[3]; + if (en is! String) return false; + final code = normalizeLanguageCode(en); + return code == 'en' || code.startsWith('en_'); +} + +/// Extract cells to be localized from the raw [values] of a sheet. +/// +/// [title] is the sheet title, used for diagnostics only. +/// Column layout: `label | description | meta | en | ...`. +/// A sheet whose header does not match that layout is skipped entirely. +List extractEmptyCells({ + required String title, + required List> values, +}) { + final sanitize = sanitizer(); + + final bucket = sanitize(title); + if (bucket.isEmpty) { + $err('Sheet title is empty, skipping sheet...'); + return const []; + } + if (values.isEmpty) return const []; + + final header = values.first; + if (!isLocalizationHeader(header)) { + $err( + 'Sheet "$bucket" is not a localization sheet ' + '(expected "label | description | meta | en | ..." header, ' + 'got ${header.take(4).toList()}), skipping sheet...', + ); + return const []; + } + + // Fill locales + final locales = List.filled(header.length, '', growable: false); + final seen = {}; + for (var i = 3; i < header.length; i++) { + final cell = header[i]; + switch (cell) { + case String text when text.isNotEmpty: + final locale = sanitize(text); + // Two columns can sanitize to the same code ("pt-BR" and "pt_BR", or a + // trailing space). Localizing both would ask the model for a language + // twice and write the answer into the first column only, leaving the + // second one empty forever. + if (!seen.add(locale)) { + $err( + 'Sheet "$bucket" has a duplicate locale "$locale" in column ' + '[${columnFromIndex(i)}], ignoring the whole column...', + ); + continue; + } + locales[i] = locale; + case String _: + $err( + 'Sheet "$bucket" has empty column ' + '[${columnFromIndex(i)}] in header, ' + 'ignore the whole column...', + ); + continue; + default: + $err( + 'Sheet "$bucket" has non-string column ' + '[${columnFromIndex(i)}] in header, ' + 'ignore whole column...', + ); + continue; + } + } + + // Process locales from the sheet, skipping empty ones + final localize = []; + { + final queue = Queue(); + for (var i = 1; i < values.length; i++) { + final row = values[i]; + if (row.isEmpty || row.every((cell) => cell == null) || row.length < 4) { + $err('Sheet "$bucket" has empty row ${i + 1}, skipping row...'); + continue; + } + + // Extract label, description, and meta from the row + final [$label, $description, $meta, $english, ..._] = row; + if ($label == null || $label is! String || $label.isEmpty) { + $err( + 'Sheet "$bucket" has empty label in row #${i + 1}, ' + 'skipping row...', + ); + continue; + } + final label = sanitize($label); + + // Extract locales from the row + for (var j = 4; j < locales.length; j++) { + final cell = row.length > j ? row[j] : null; + final locale = locales[j]; + if (locale.isEmpty) continue; // Skip empty locales + switch (cell) { + case null: + queue.add(LocalizeCell(column: j, code: locale, text: '')); + case String text when text.isNotEmpty: + continue; // Already localized, skip + case String(): + queue.add(LocalizeCell(column: j, code: locale, text: '')); + case num(): + default: + continue; // Skip non-string cells + } + } + + // Skip rows with no locales to localize + if (queue.isEmpty) continue; + localize.add( + LocalizeRow( + row: i, + label: label, + description: switch ($description) { + String text when text.isNotEmpty => text, + num number => number.toString(), + _ => null, + }, + meta: switch ($meta) { + String text when text.isNotEmpty => text, + num number => number.toString(), + _ => null, + }, + english: switch ($english) { + String text when text.isNotEmpty => text, + num number => number.toString(), + _ => label, + }, + cells: queue.toList(growable: false), + ), + ); + queue.clear(); + } + } + + return localize; +} + +/// Localize rows using the OpenAI API. +/// +/// [rows] - The rows to localize. +/// [client] - The client performing the requests. +/// [cellsPerBatch] - How many languages go into a single request. +/// +/// Every row is dispatched concurrently; the client's semaphore caps the +/// number of simultaneous requests. A row is emitted as soon as it is done — +/// including partially localized rows, so that the languages that *did* work +/// are still written to the sheet. +/// +/// Failure handling: when a batch of languages fails (timeout, unparseable +/// JSON, a language the model choked on, a translation that lost its +/// placeholders), the batch is **not** retried as a whole. Instead every failed +/// language is retried on its own, so a single problematic rare language +/// cannot take its neighbours down with it. +Stream localizeRows({ + required List rows, + required LocalizationClient client, + int cellsPerBatch = 3, +}) { + /// Translate [languages] of [row] in one request. + /// Returns the languages that could not be localized. + Future> translate( + LocalizeRow row, List languages) async { + final LocalizationResponse data; + try { + final (:prompt, :schema) = buildLocalizationPrompt( + label: row.label, + en: row.english, + description: row.description, + meta: row.meta, + languages: languages, + ); + data = await client(prompt: prompt, schema: schema); + } on Object catch (e) { + $err('Failed to localize "${row.label}" ' + '[${languages.join(', ')}]: $e'); + return languages; + } + + if (data.label != row.label) + $err('Mismatched label in response for "${row.label}": ' + 'got "${data.label}", ignoring the mismatch'); + + // Apply language by language: one bad translation only invalidates itself. + final failed = []; + for (final code in languages) { + final text = switch (data.localization[code]) { + {'text': String text} => text, + _ => null, + }; + final problem = + validateTranslation(source: row.english, translation: text); + if (problem != null) { + $err('Rejected "$code" for "${row.label}": $problem'); + failed.add(code); + continue; + } + row.cellFor(code)?.text = text!.trim(); + } + return failed; + } + + final batchSize = cellsPerBatch < 1 ? 1 : cellsPerBatch; + + Future localizeOne(LocalizeRow row) async { + final codes = row.cells.map((e) => e.code).toList(growable: false); + final retryAlone = []; + + for (var i = 0; i < codes.length; i += batchSize) { + final batch = codes.skip(i).take(batchSize).toList(growable: false); + if (batch.isEmpty) break; + final failed = await translate(row, batch); + if (failed.isEmpty) continue; + if (batch.length == 1) { + // Already a single-language request: splitting further is impossible. + $err('Giving up on "${failed.single}" for "${row.label}"'); + continue; + } + retryAlone.addAll(failed); + } + + if (retryAlone.isEmpty) return; + $log('Retrying ${retryAlone.length} language(s) one by one ' + 'for "${row.label}": ${retryAlone.join(', ')}'); + for (final code in retryAlone) { + final failed = await translate(row, [code]); + if (failed.isNotEmpty) + $err('Giving up on "$code" for "${row.label}" after fallback retry'); + } + } + + // Dispatch every row concurrently and emit each one as soon as it finishes. + if (rows.isEmpty) return const Stream.empty(); + final controller = StreamController(); + var pending = rows.length; + for (final row in rows) { + Future(() async { + try { + await localizeOne(row); + if (row.hasLocalizedCells) controller.add(row); + } on Object catch (e) { + $err('Error localizing row "${row.label}": $e'); + } finally { + pending--; + if (pending == 0) controller.close().ignore(); + } + }); + } + return controller.stream; +} diff --git a/lib/src/localize/models.dart b/lib/src/localize/models.dart new file mode 100644 index 0000000..84ceaf3 --- /dev/null +++ b/lib/src/localize/models.dart @@ -0,0 +1,67 @@ +/// Data model of the localization table. +library; + +/// Represents a cell to be localized +class LocalizeCell { + /// Creates a cell for the locale [code] in the spreadsheet [column]. + LocalizeCell({ + required this.column, + required this.code, + required this.text, + }); + + /// Zero-based column index in the sheet. + int column; + + /// Locale code of the column, e.g. `uk`, `pt_BR`. + String code; + + /// Localized text, empty until the cell is translated. + String text; + + /// Whether the cell is still not localized. + bool get isEmpty => text.isEmpty; +} + +/// Represents a row to be localized +class LocalizeRow { + /// Creates a row with the [cells] that still need a translation. + LocalizeRow({ + required this.row, + required this.label, + required this.description, + required this.meta, + required this.english, + required this.cells, + }); + + /// Zero-based row index in the sheet. + int row; + + /// Sanitized key of the row. + String label; + + /// Optional human description of the string, used as translation context. + String? description; + + /// Optional ICU/intl placeholder description. + String? meta; + + /// English source text. + String english; + + /// Cells (locales) that have to be localized. + List cells; + + /// Whether the row has nothing to localize. + bool get isEmpty => cells.isEmpty; + + /// Whether at least one cell of the row has been localized. + bool get hasLocalizedCells => cells.any((cell) => !cell.isEmpty); + + /// Returns the cell for the locale [code], or `null` when the row has none. + LocalizeCell? cellFor(String code) { + for (final cell in cells) if (cell.code == code) return cell; + return null; + } +} diff --git a/lib/src/localize/prompt.dart b/lib/src/localize/prompt.dart new file mode 100644 index 0000000..c79b1c9 --- /dev/null +++ b/lib/src/localize/prompt.dart @@ -0,0 +1,176 @@ +/// Prompt & JSON schema builder for the localization request. +library; + +import 'dart:collection'; +import 'dart:convert'; + +import 'language_names.dart'; + +/// Builds a strict prompt for a localization task. +/// - Comments are in English. +/// - Uses jsonEncode for safe inline JSON embedding. +/// - Uses StringBuffer with cascade operators for clarity and speed. +/// - Keeps soft-ish validation with explicit errors (same as original intent). +/// +/// Every target language is spelled out by name, endonym and — for codes that +/// models routinely misread, such as `uk` — an explicit disambiguation note. +({String prompt, Map schema}) buildLocalizationPrompt({ + required String label, + required String en, + required List languages, + String? description, + String? meta, // keep as String? to avoid breaking callers; embed as-is +}) { + // -- helpers --------------------------------------------------------------- + + /// Return trimmed string or null if empty. + String? safeStr(String? v) => v == null || v.trim().isEmpty ? null : v.trim(); + + /// Unique, order-preserving list of non-empty language codes. + List uniqLangs(Iterable arr) => List.unmodifiable( + LinkedHashSet.from( + arr.map(safeStr).whereType().where((s) => s.isNotEmpty), + ), + ); + + // -- unpack & normalize ---------------------------------------------------- + final normLabel = safeStr(label); + final normDesc = safeStr(description); + final normEn = safeStr(en); + final langs = uniqLangs(languages); + final String? metaInline = safeStr(meta); // already a string; embed as-is + + // -- validation (explicit) ------------------------------------------------- + if (normLabel == null) throw ArgumentError('Missing label'); + if (normEn == null) throw ArgumentError('Missing source English text'); + if (langs.isEmpty) throw ArgumentError('No target languages provided'); + + // -- output skeleton (built once; used in prompt to fix structure) --------- + final skeleton = StringBuffer() + ..writeln('{') + ..writeln(' "label": ${jsonEncode(normLabel)},') + ..writeln(' "localization": {'); + for (var i = 0; i < langs.length; i++) { + final key = jsonEncode(langs[i]); // safe quoted JSON key + final comma = i == langs.length - 1 ? '' : ','; + skeleton.writeln(' $key: {"text": ""}$comma'); + } + skeleton + ..writeln(' }') + ..writeln('}'); + + // -- prompt assembly (tight, explicit, production-safe) -------------------- + final p = StringBuffer() + ..writeln('You are a professional localization engine ' + 'for a medical symptom-based advice chatbot.') + ..writeln('Localize the item below into the target languages.') + ..writeln('--- CONTEXT INPUT ---') + ..writeln('label: $normLabel'); + if (normDesc != null) p.writeln('description: $normDesc'); + if (metaInline != null) { + // meta is already string; if caller wants JSON, + // they should pass it as a JSON string. + p.writeln('meta_placeholders (ICU / intl format): $metaInline'); + } + p + ..writeln('en_source: $normEn') + ..writeln('--- TARGET LANGUAGES ---') + ..writeln('The JSON keys below are ISO 639-1 / BCP-47 LANGUAGE codes, ' + 'never country codes. Translate into the named language, ' + 'and keep the key exactly as given:'); + for (final code in langs) { + final note = resolveLanguageNote(code); + p.writeln(note == null + ? '- ${describeLanguage(code)}' + : '- ${describeLanguage(code)} — $note'); + } + p + ..writeln('Write each translation in the natural script of that language ' + '(e.g. Cyrillic for uk/ru/bg, Devanagari for hi, Arabic for ar).') + ..writeln('Never answer in English for a non-English language code.') + ..writeln('--- OUTPUT REQUIREMENTS ---') + ..writeln( + 'Return ONLY valid minified JSON (no comments, no markdown fences).') + ..writeln('Do NOT add explanatory text before or after JSON.') + ..writeln('All requested languages MUST be present, no additional keys.') + ..writeln('Preserve ICU/intl placeholders exactly ' + '(e.g., {name}, {version}, {count}).') + ..writeln('Preserve HTML-like or XML-like tags verbatim if present.') + ..writeln('Do not introduce new placeholders or variables.') + ..writeln('If translation would be identical to English, ' + 'repeat the English text.') + ..writeln('If a translation is infeasible or unclear, ' + 'copy the English text as fallback.') + ..writeln('Avoid adding periods if original does not have one; ' + 'keep stylistic equivalence.') + ..writeln('No leading/trailing spaces in values.') + ..writeln('Each value MUST be culturally and medically appropriate, ' + 'neutral and concise.') + ..writeln('Keep each translation roughly as long as the English source; ' + 'never pad, repeat or explain.') + ..writeln('No quotes escaping beyond standard JSON string escaping.') + ..writeln('--- JSON SCHEMA (informal) ---') + ..writeln('{') + ..writeln(' "label": string,') + ..writeln(' "localization": {') + ..writeln(' : {"text": string (non-empty)} ' + '// exactly the requested languages') + ..writeln(' }') + ..writeln('}') + ..writeln('--- OUTPUT SKELETON (structure to follow) ---') + ..writeln(skeleton.toString()) + ..writeln('--- RULES SUMMARY ---') + ..writeln('1. Output only JSON.') + ..writeln('2. Keys: label, localization.') + ..writeln('3. localization contains exactly the target languages.') + ..writeln('4. Each language object: {"text": ""}.') + ..writeln('5. Do not include description, meta, or extra metadata fields.') + ..writeln('6. Do not translate placeholders or modify their braces.') + ..writeln('7. Keep punctuation style consistent with source.') + ..writeln('8. Avoid hallucinating additional medical ' + 'advice beyond the source meaning.') + ..writeln('9. Keep resulting JSON compact (no unnecessary whitespace).') + ..writeln('10. Use UTF-8 characters directly (no HTML entities).'); + + // -- strict JSON Schema for Responses API ---------------------------------- + // This object can be used directly under response_format.json_schema + // { "name": "...", "strict": true, "schema": { ... } } + Map langObjectSchema(String code) { + final name = resolveLanguageName(code); + return { + 'type': 'object', + 'additionalProperties': false, + 'required': ['text'], + 'properties': { + 'text': { + 'type': 'string', + 'minLength': 1, + if (name != null) + 'description': 'Translation of en_source into $name ' + '($code), written in the native script of that language.', + }, + }, + }; + } + + final Map langProps = { + for (final code in langs) code: langObjectSchema(code) + }; + + final schemaMap = { + 'type': 'object', + 'additionalProperties': false, + 'required': ['label', 'localization'], + 'properties': { + 'label': {'type': 'string', 'minLength': 1}, + 'localization': { + 'type': 'object', + 'additionalProperties': false, + 'required': langs, // exactly these languages must be present + 'properties': langProps, + } + } + }; + + return (prompt: p.toString(), schema: schemaMap); +} diff --git a/lib/src/localize/sheets.dart b/lib/src/localize/sheets.dart new file mode 100644 index 0000000..8a90d09 --- /dev/null +++ b/lib/src/localize/sheets.dart @@ -0,0 +1,205 @@ +/// Spreadsheet I/O of the localization pipeline, behind an interface. +/// +/// The pipeline talks to this interface only, so the write path — range +/// building, failure classification, retries, rate limiting — is ordinary +/// testable code instead of something reachable only through a live Google +/// Sheets account. +library; + +import 'dart:async'; +import 'dart:collection'; + +import 'models.dart'; +import 'utils.dart'; + +/// A single cell to write, addressed by its A1 [range]. +class SheetUpdate { + /// Creates a write of [value] into [range]. + const SheetUpdate({required this.range, required this.value}); + + /// A1 range of the cell, e.g. `'App Strings'!E5`. + final String range; + + /// Value to write. + final String value; + + @override + String toString() => '$range=$value'; +} + +/// A sheet as read from the spreadsheet. +typedef SheetData = ({String title, List> values}); + +/// Failure reported by the spreadsheet backend. +class SheetsException implements Exception { + /// Creates a failure with an optional HTTP [statusCode]. + const SheetsException(this.message, {this.statusCode}); + + /// Human-readable reason. + final String message; + + /// HTTP status code, when the backend provided one. + final int? statusCode; + + /// Whether retrying the very same write can plausibly succeed. + /// + /// A malformed range, a missing scope or a deleted sheet fails identically + /// on every attempt — retrying those only stalls every row queued behind. + bool get isRetryable { + final code = statusCode; + if (code == null) return true; // network / transport + if (code == 429) return true; // quota + return code >= 500 && code < 600; + } + + @override + String toString() => + 'SheetsException${statusCode == null ? '' : ' ($statusCode)'}: $message'; +} + +/// Read/write access to a spreadsheet. +abstract interface class SheetsGateway { + /// Sheets of the spreadsheet, skipping those matching [ignore]. + Stream fetch({List ignore}); + + /// Write [updates] in a single batch request. + Future write(List updates); +} + +/// Builds the A1 range of a cell. +/// +/// The sheet title is quoted and its apostrophes doubled: a bare `App +/// Strings!E5` is not a valid range, and the API rejects the whole batch. +String cellRange({ + required String sheetTitle, + required int column, + required int row, +}) { + final title = sheetTitle.replaceAll("'", "''"); + return "'$title'!${columnFromIndex(column)}${row + 1}"; +} + +/// Writes the localized cells of [row] into [sheetTitle], in one batch request. +/// +/// Returns `true` when the row was written. A row that cannot be written is +/// reported and skipped — one unwritable row must not abort a run that may +/// have hundreds of good ones behind it. +Future updateRow({ + required SheetsGateway sheets, + required String sheetTitle, + required LocalizeRow row, + RateLimiter? limiter, + int attempts = 3, + Duration Function(int attempt) backoff = defaultSheetsBackoff, +}) async { + // Collect every non-empty cell into a single batch so the whole row is + // written in ONE API request instead of one request per cell. This keeps us + // well under the Google Sheets write quota (60 requests/min). + final updates = [ + for (final cell in row.cells) + if (!cell.isEmpty) + SheetUpdate( + range: cellRange( + sheetTitle: sheetTitle, + column: cell.column, + row: row.row, + ), + value: cell.text, + ), + ]; + if (updates.isEmpty) return false; + + for (var attempt = 1; attempt <= attempts; attempt++) { + try { + await limiter?.waitIfNeeded(); + await sheets.write(updates); + return true; + } on Object catch (e) { + final retryable = e is! SheetsException || e.isRetryable; + if (!retryable || attempt == attempts) { + $err( + 'Error updating sheet "$sheetTitle" ' + 'row [${row.row + 1}], skipping it: $e', + ); + return false; + } + $err( + 'Retrying update for sheet "$sheetTitle" row [${row.row + 1}] ' + '(attempt $attempt/$attempts) due to error: $e', + ); + await Future.delayed(backoff(attempt)); + } + } + return false; +} + +/// Exponential backoff between write attempts: 5s, 10s, 20s... +Duration defaultSheetsBackoff(int attempt) => + Duration(seconds: 5 * (1 << (attempt - 1))); + +/// Rate limiter for spreadsheet calls: at most [maxRequestsPerMinute] within a +/// rolling [window]. +/// +/// Calls are serialized, so two concurrent callers cannot both squeeze past the +/// limit by observing the same pre-write state. +class RateLimiter { + /// Creates a limiter allowing [maxRequestsPerMinute] calls per [window]. + /// + /// [now] (milliseconds, monotonic) and [delay] are injectable so the limiter + /// can be tested without spending real time. + RateLimiter({ + required this.maxRequestsPerMinute, + this.window = const Duration(minutes: 1), + int Function()? now, + Future Function(Duration duration)? delay, + }) : _now = now ?? _elapsed(), + _delay = delay ?? _sleep; + + static int Function() _elapsed() { + final stopwatch = Stopwatch()..start(); + return () => stopwatch.elapsedMilliseconds; + } + + static Future _sleep(Duration duration) => + Future.delayed(duration); + + /// Maximum number of requests per rolling [window]. + final int maxRequestsPerMinute; + + /// Rolling window the limit applies to. + final Duration window; + + final int Function() _now; + final Future Function(Duration duration) _delay; + final Queue _times = Queue(); + Future _tail = Future.value(); + + /// Wait, if necessary, until another request fits within the limit. + Future waitIfNeeded() { + // Serialize: the check and the reservation must not interleave. + final previous = _tail; + final completer = Completer(); + _tail = completer.future; + return previous + .then((_) => _reserve()) + .whenComplete(() => completer.complete()); + } + + Future _reserve() async { + final windowMs = window.inMilliseconds; + final now = _now(); + + // Drop requests that fell out of the window. + while (_times.isNotEmpty && now - _times.first > windowMs) + _times.removeFirst(); + + if (_times.length >= maxRequestsPerMinute) { + final wait = windowMs - (now - _times.first) + 100; // +100ms buffer + $log('Rate limit reached, waiting ${wait}ms...'); + await _delay(Duration(milliseconds: wait)); + _times.removeFirst(); + } + + _times.add(_now()); + } +} diff --git a/lib/src/localize/utils.dart b/lib/src/localize/utils.dart new file mode 100644 index 0000000..9390271 --- /dev/null +++ b/lib/src/localize/utils.dart @@ -0,0 +1,33 @@ +/// Shared helpers of the localization pipeline. +library; + +import 'dart:io' as io; + +/// Log a line to stdout. Replaceable in tests. +void Function(Object? message) $log = io.stdout.writeln; + +/// Log a line to stderr. Replaceable in tests. +void Function(Object? message) $err = io.stderr.writeln; + +/// Create sanitizer function to sanitize the localization table keys +String Function(String input) sanitizer() { + final invalid = RegExp('[^a-zA-Z0-9_]'); + final merge = RegExp('_+'); + final trim = RegExp(r'^_+|_+$'); + return (String input) => input + .replaceAll(invalid, '_') // replace invalid characters with _ + .replaceAll(merge, '_') // merge multiple _ into one + .replaceAll(trim, ''); // remove leading and trailing _ +} + +/// Convert column index to column name (e.g. 0 -> A, 1 -> B, 26 -> AA) +String columnFromIndex(int index) { + if (index < 0) throw ArgumentError('Index must be non-negative'); + var columnName = ''; + do { + final remainder = index % 26; + columnName = String.fromCharCode(65 + remainder) + columnName; + index = (index / 26).floor() - 1; + } while (index >= 0); + return columnName; +} diff --git a/lib/src/localize/validation.dart b/lib/src/localize/validation.dart new file mode 100644 index 0000000..c7344b5 --- /dev/null +++ b/lib/src/localize/validation.dart @@ -0,0 +1,187 @@ +/// Sanity checks applied to every translation returned by the model. +library; + +/// HTML/XML-like tags: ``, ``, `
`. +final RegExp _tag = RegExp(r']*>'); + +/// Leading argument of an ICU placeholder: `{name}`, `{name, number}`, +/// `{name, plural, ...}`. +final RegExp _argument = RegExp(r'^\s*([a-zA-Z_][a-zA-Z0-9_]*)\s*(,|$)'); + +/// An argument carrying a sub-message directive, whose branches are ordinary +/// translatable text: `{count, plural, one {...} other {...}}`. +final RegExp _directive = RegExp( + r'^\s*[a-zA-Z_][a-zA-Z0-9_]*\s*,\s*(plural|select|selectordinal)\s*,', +); + +/// Placeholders and markup found in a text. +class Placeholders { + /// Creates the placeholder inventory of a text. + const Placeholders({ + required this.arguments, + required this.directives, + required this.branchArguments, + required this.tags, + }); + + /// Names of every ICU argument, at any nesting depth: `{name}` -> `name`. + /// + /// A set rather than a multiset: the number of times a placeholder occurs + /// legitimately differs between languages, because plural categories do — + /// English has two, Russian has four, Japanese has one. + final Set arguments; + + /// Arguments carrying a `plural` / `select` directive. Tracked separately so + /// that a translation which flattened the directive into plain text — losing + /// the pluralization while keeping the argument name — is still rejected. + final Set directives; + + /// Arguments used *inside* the branches of a directive, unioned over the + /// branches. `{value, plural, one{{value} year} other{{value} years}}` uses + /// `value` both as the plural argument and inside its branches; a + /// translation that keeps the directive but drops the number from the + /// branches ("лет" instead of "5 лет") is caught only by this set. + final Set branchArguments; + + /// Markup tags, sorted, compared as a multiset. + final List tags; +} + +/// Extract the ICU placeholders and markup tags of [text]. +/// +/// The scanner matches braces by depth instead of using a regular expression: +/// `{count, plural, one {# message} other {# messages}}` is ONE placeholder +/// named `count` whose branch bodies are translatable text — a naive +/// `\{[^{}]*\}` pattern would instead report the branches themselves and +/// reject every correct translation of a plural. +Placeholders extractPlaceholders(String text) { + final arguments = {}; + final directives = {}; + final branchArguments = {}; + + void scan(String source, {required bool inBranch}) { + var i = 0; + while (i < source.length) { + if (source.codeUnitAt(i) != 0x7B /* { */) { + i++; + continue; + } + // Find the brace matching the one at [i]. + var depth = 0; + var j = i; + for (; j < source.length; j++) { + final char = source.codeUnitAt(j); + if (char == 0x7B /* { */) { + depth++; + } else if (char == 0x7D /* } */) { + depth--; + if (depth == 0) break; + } + } + if (j >= source.length) break; // Unbalanced: nothing more to trust here. + + final inner = source.substring(i + 1, j); + final argument = _argument.firstMatch(inner); + final isDirective = _directive.hasMatch(inner); + if (argument != null) { + final name = argument.group(1)!; + arguments.add(name); + if (isDirective) directives.add(name); + if (inBranch) branchArguments.add(name); + } + // Branch bodies may hold placeholders of their own. + scan(inner, inBranch: inBranch || isDirective); + i = j + 1; + } + } + + scan(text, inBranch: false); + + return Placeholders( + arguments: arguments, + directives: directives, + branchArguments: branchArguments, + tags: _tag.allMatches(text).map((m) => m.group(0)!).toList()..sort(), + ); +} + +/// Whether every brace in [text] is matched. +bool _hasBalancedBraces(String text) { + var depth = 0; + for (var i = 0; i < text.length; i++) { + final char = text.codeUnitAt(i); + if (char == 0x7B /* { */) { + depth++; + } else if (char == 0x7D /* } */) { + depth--; + if (depth < 0) return false; + } + } + return depth == 0; +} + +/// Upper bound on how much longer a translation may be than its source before +/// we treat it as model rambling rather than a translation. +/// +/// Scripts differ in density, so the factor is deliberately generous and only +/// catches runaway output (the "билиберда" case), not verbose languages. +const int kMaxTranslationLengthFactor = 8; + +/// Minimal allowed length budget, so short sources such as "OK" do not trip +/// the length guard. +const int kMinTranslationLengthBudget = 160; + +/// Validates a single [translation] against its English [source]. +/// +/// Returns `null` when the translation looks sane, or a human-readable reason +/// why it must be rejected. A rejected translation is retried on its own +/// instead of being written to the sheet. +String? validateTranslation({ + required String source, + required String? translation, +}) { + if (translation == null) return 'missing in response'; + final text = translation.trim(); + if (text.isEmpty) return 'empty text'; + + // Model leaked its wrapper instead of translating. + if (text.contains('```')) return 'markdown fence in text'; + + // Runaway generation: the model got stuck and kept writing. + final budget = (source.length * kMaxTranslationLengthFactor) + .clamp(kMinTranslationLengthBudget, 1 << 20); + if (text.length > budget) + return 'suspiciously long (${text.length} chars for a ' + '${source.length}-char source)'; + + // Unicode replacement character means the payload is already corrupted. + if (text.contains('�')) return 'contains replacement characters'; + + // Placeholders must survive translation. + final expected = extractPlaceholders(source); + final actual = extractPlaceholders(text); + + if (_hasBalancedBraces(source) && !_hasBalancedBraces(text)) + return 'unbalanced braces in text'; + + final missing = expected.arguments.difference(actual.arguments); + final extra = actual.arguments.difference(expected.arguments); + if (missing.isNotEmpty || extra.isNotEmpty) + return 'placeholder mismatch: ' + 'missing ${missing.toList()..sort()}, ' + 'unexpected ${extra.toList()..sort()}'; + + final lost = expected.directives.difference(actual.directives); + if (lost.isNotEmpty) return 'lost ICU directive for ${lost.toList()..sort()}'; + + final droppedInBranch = + expected.branchArguments.difference(actual.branchArguments); + if (droppedInBranch.isNotEmpty) + return 'placeholder dropped inside a plural/select branch: ' + '${droppedInBranch.toList()..sort()}'; + + if (expected.tags.join(' ') != actual.tags.join(' ')) + return 'markup mismatch: expected ${expected.tags}, got ${actual.tags}'; + + return null; +} diff --git a/pubspec.yaml b/pubspec.yaml index b073629..20aea9d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -9,7 +9,7 @@ description: > It uses the Google Sheets API to fetch translations and generates Dart localization files for use in Flutter applications. -version: 0.4.3 +version: 0.5.0 homepage: https://github.com/DoctorinaAI/sheety_localization repository: https://github.com/DoctorinaAI/sheety_localization @@ -60,6 +60,7 @@ dev_dependencies: #flutter_test: # sdk: flutter lints: ">=5.0.0 <7.0.0" + test: ^1.25.0 flutter: generate: true diff --git a/test/client_test.dart b/test/client_test.dart new file mode 100644 index 0000000..c7d41b1 --- /dev/null +++ b/test/client_test.dart @@ -0,0 +1,239 @@ +import 'dart:convert'; + +import 'package:sheety_localization/localize.dart'; +import 'package:test/test.dart'; + +void main() { + group('OpenAIClient.parseResponseBody', () { + String envelope(Object? payload) => jsonEncode({ + 'status': 'completed', + 'output': [ + { + 'type': 'message', + 'content': [ + {'type': 'output_text', 'text': jsonEncode(payload)} + ] + } + ], + }); + + test('extracts the localization payload', () { + final response = OpenAIClient.parseResponseBody( + envelope({ + 'label': 'greeting', + 'localization': { + 'uk': {'text': 'Привіт'} + }, + }), + ); + expect(response.label, 'greeting'); + expect(response.localization['uk'], {'text': 'Привіт'}); + }); + + test('skips a reasoning item that carries its thinking as content', () { + // A reasoning model may emit its chain of thought as an output item with + // a `content` list of its own, ahead of the real message. Parsing that + // as the payload would fail every single request. + final body = jsonEncode({ + 'status': 'completed', + 'output': [ + { + 'type': 'reasoning', + 'summary': [], + 'content': [ + { + 'type': 'reasoning_text', + 'text': 'Let me think about Ukrainian...', + } + ], + }, + { + 'type': 'message', + 'content': [ + { + 'type': 'output_text', + 'text': jsonEncode({ + 'label': 'greeting', + 'localization': { + 'uk': {'text': 'Привіт'} + }, + }), + } + ], + }, + ], + }); + + final response = OpenAIClient.parseResponseBody(body); + expect(response.localization['uk'], {'text': 'Привіт'}); + }); + + test('reports a refusal as a refusal', () { + final body = jsonEncode({ + 'status': 'completed', + 'output': [ + { + 'type': 'message', + 'content': [ + {'type': 'refusal', 'refusal': 'I cannot help with that'} + ], + } + ], + }); + expect( + () => OpenAIClient.parseResponseBody(body), + throwsA( + isA().having( + (e) => e.message, + 'message', + contains('refused'), + ), + ), + ); + }); + + test('rejects a truncated response instead of retrying it', () { + final body = jsonEncode({ + 'status': 'incomplete', + 'incomplete_details': {'reason': 'max_output_tokens'}, + 'output': [], + }); + expect( + () => OpenAIClient.parseResponseBody(body), + throwsA( + isA().having( + (e) => e.message, + 'message', + contains('max_output_tokens'), + ), + ), + ); + }); + + test('rejects a malformed inner payload', () { + final body = jsonEncode({ + 'status': 'completed', + 'output': [ + { + 'content': [ + {'type': 'output_text', 'text': '{"label": "greeting", "loc'} + ] + } + ], + }); + expect( + () => OpenAIClient.parseResponseBody(body), + throwsA(isA()), + ); + }); + + test('rejects a payload with the wrong shape', () { + expect( + () => OpenAIClient.parseResponseBody(envelope({'label': 'greeting'})), + throwsA(isA()), + ); + }); + + test('surfaces API-level errors', () { + expect( + () => OpenAIClient.parseResponseBody( + jsonEncode({ + 'error': {'message': 'rate limited'} + }), + ), + throwsA(isA()), + ); + }); + }); + + group('OpenAIClient.maxOutputTokensFor', () { + Map schemaFor(List languages) => + buildLocalizationPrompt( + label: 'greeting', + en: 'Hello', + languages: languages, + ).schema; + + test('grows with the number of requested languages', () { + final one = OpenAIClient.maxOutputTokensFor(schemaFor(const ['uk'])); + final six = OpenAIClient.maxOutputTokensFor( + schemaFor(const ['uk', 'ru', 'de', 'fr', 'es', 'it']), + ); + expect(six, greaterThan(one)); + expect(one, greaterThanOrEqualTo(1024)); + expect(six, lessThanOrEqualTo(32768)); + }); + + test('reserves headroom for the reasoning tokens of a gpt-5 model', () { + final schema = schemaFor(const ['uk']); + expect( + OpenAIClient.maxOutputTokensFor(schema, model: 'gpt-5-mini'), + greaterThan( + OpenAIClient.maxOutputTokensFor(schema, model: 'gpt-4o-mini'), + ), + ); + }); + + test('falls back to a safe budget for an unexpected schema', () { + expect( + OpenAIClient.maxOutputTokensFor(const {}), + greaterThanOrEqualTo(1024), + ); + }); + }); + + group('OpenAIClient.isReasoningModel', () { + test('recognises the gpt-5 and o-series families', () { + expect(OpenAIClient.isReasoningModel('gpt-5-mini'), isTrue); + expect(OpenAIClient.isReasoningModel('GPT-5'), isTrue); + expect(OpenAIClient.isReasoningModel('o3-mini'), isTrue); + expect(OpenAIClient.isReasoningModel('gpt-4o-mini'), isFalse); + expect(OpenAIClient.isReasoningModel('gpt-4.1'), isFalse); + }); + + test('excludes the chat variants, which reject `reasoning`', () { + // gpt-5-chat-latest is NOT a reasoning model: it accepts temperature and + // answers `400 Invalid reasoning_effort for non-reasoning model`. + expect(OpenAIClient.isReasoningModel('gpt-5-chat-latest'), isFalse); + expect(OpenAIClient.isReasoningModel('gpt-5-chat'), isFalse); + }); + + test('excludes the o1 models that predate the reasoning parameter', () { + expect(OpenAIClient.isReasoningModel('o1-mini'), isFalse); + expect(OpenAIClient.isReasoningModel('o1-preview'), isFalse); + expect(OpenAIClient.isReasoningModel('o1'), isTrue); + }); + }); + + group('OpenAIApiException retryability', () { + test('an error inside a delivered body is not retried', () { + expect( + const OpenAIApiException('content filter', retryable: false) + .isRetryable, + isFalse, + ); + }); + }); + + group('OpenAIApiException', () { + test('retries transport, 429 and 5xx failures only', () { + expect(const OpenAIApiException('timeout').isRetryable, isTrue); + expect( + const OpenAIApiException('rate', statusCode: 429).isRetryable, + isTrue, + ); + expect( + const OpenAIApiException('boom', statusCode: 503).isRetryable, + isTrue, + ); + expect( + const OpenAIApiException('bad key', statusCode: 401).isRetryable, + isFalse, + ); + expect( + const OpenAIApiException('bad request', statusCode: 400).isRetryable, + isFalse, + ); + }); + }); +} diff --git a/test/extract_test.dart b/test/extract_test.dart new file mode 100644 index 0000000..983bb63 --- /dev/null +++ b/test/extract_test.dart @@ -0,0 +1,196 @@ +import 'package:sheety_localization/localize.dart'; +import 'package:test/test.dart'; + +void main() { + final logOut = $log, errOut = $err; + setUp(() { + $log = (_) {}; + $err = (_) {}; + }); + tearDown(() { + $log = logOut; + $err = errOut; + }); + + group('extractEmptyCells', () { + const header = ['label', 'description', 'meta', 'en', 'uk', 'ru']; + + test('collects only the empty locale cells', () { + final rows = extractEmptyCells( + title: 'app', + values: >[ + header, + ['greeting', 'Main screen', '{name}', 'Hello', null, 'Привет'], + ['bye', null, null, 'Bye', 'Бувай', 'Пока'], // fully localized + ['thanks', null, null, 'Thanks', '', ''], + ], + ); + + expect(rows.map((r) => r.label), ['greeting', 'thanks']); + + final greeting = rows.first; + expect(greeting.row, 1); + expect(greeting.english, 'Hello'); + expect(greeting.description, 'Main screen'); + expect(greeting.meta, '{name}'); + expect(greeting.cells.map((c) => c.code), ['uk']); + expect(greeting.cells.single.column, 4); + + final thanks = rows.last; + expect(thanks.cells.map((c) => c.code), ['uk', 'ru']); + expect(thanks.description, isNull); + }); + + test('sanitizes labels and locale codes', () { + final rows = extractEmptyCells( + title: 'app', + values: >[ + ['label', 'description', 'meta', 'en', 'pt-BR'], + ['some label!', null, null, 'Hello', null], + ], + ); + expect(rows.single.label, 'some_label'); + expect(rows.single.cells.single.code, 'pt_BR'); + expect(resolveLanguageName(rows.single.cells.single.code), + 'Brazilian Portuguese'); + }); + + test('falls back to the label when the English cell is empty', () { + final rows = extractEmptyCells( + title: 'app', + values: >[ + header, + ['greeting', null, null, null, null, null], + ], + ); + expect(rows.single.english, 'greeting'); + }); + + test('skips malformed rows', () { + final rows = extractEmptyCells( + title: 'app', + values: >[ + header, + [], // empty + [null, null, null, null], // no label + ['short'], // too few columns + ['greeting', null, null, 'Hello', null, null], + ], + ); + expect(rows.map((r) => r.label), ['greeting']); + expect(rows.single.row, 4); + }); + + test('ignores a column whose locale duplicates an earlier one', () { + // "pt-BR" and "pt_BR" sanitize to the same code: localizing both would + // ask the model for the language twice and write the answer into the + // first column only, leaving the second empty forever. + final rows = extractEmptyCells( + title: 'app', + values: >[ + ['label', 'description', 'meta', 'en', 'pt-BR', 'pt_BR', 'ru '], + ['greeting', null, null, 'Hello', null, null, null], + ], + ); + expect( + rows.single.cells.map((c) => (c.code, c.column)), + [('pt_BR', 4), ('ru', 6)], + ); + }); + + test('ignores columns without a locale in the header', () { + final rows = extractEmptyCells( + title: 'app', + values: >[ + ['label', 'description', 'meta', 'en', '', 'ru'], + ['greeting', null, null, 'Hello', null, null], + ], + ); + expect(rows.single.cells.map((c) => c.code), ['ru']); + }); + + test('returns nothing for an empty sheet', () { + expect(extractEmptyCells(title: 'app', values: const []), isEmpty); + expect(extractEmptyCells(title: '', values: const []), isEmpty); + }); + + test('refuses to localize a sheet that is not a localization table', () { + // A reference table living in the same spreadsheet: its columns are + // data, not locales. Translating it would overwrite the data. + final rows = extractEmptyCells( + title: 'locales', + values: >[ + [ + 'Language', + 'Total Speakers', + 'Native Speakers', + 'Language Family', + 'Primary Countries/Regions', + 'ISO 639-3', + ], + ['Polish', null, null, null, null, null], + ], + ); + expect(rows, isEmpty); + }); + }); + + group('isLocalizationHeader', () { + test('accepts the documented layout', () { + expect( + isLocalizationHeader( + const ['label', 'description', 'meta', 'en', 'uk'], + ), + isTrue, + ); + expect( + isLocalizationHeader( + const ['key', 'desc', 'placeholders', 'en_US', 'ru'], + ), + isTrue, + ); + }); + + test('rejects a sheet whose fourth column is not English', () { + expect( + isLocalizationHeader( + const ['Language', 'Total', 'Native', 'Family', 'Regions'], + ), + isFalse, + ); + }); + + test('rejects a header without locale columns', () { + expect( + isLocalizationHeader(const ['label', 'description', 'meta', 'en']), + isFalse, + ); + expect(isLocalizationHeader(const []), isFalse); + }); + }); + + group('columnFromIndex', () { + test('maps indices to spreadsheet columns', () { + expect(columnFromIndex(0), 'A'); + expect(columnFromIndex(25), 'Z'); + expect(columnFromIndex(26), 'AA'); + expect(columnFromIndex(51), 'AZ'); + expect(columnFromIndex(701), 'ZZ'); + expect(columnFromIndex(702), 'AAA'); + }); + + test('rejects a negative index', () { + expect(() => columnFromIndex(-1), throwsArgumentError); + }); + }); + + group('sanitizer', () { + test('keeps only identifier characters', () { + final sanitize = sanitizer(); + expect(sanitize('Hello World'), 'Hello_World'); + expect(sanitize('__a--b__'), 'a_b'); + expect(sanitize('pt-BR'), 'pt_BR'); + expect(sanitize('!!!'), ''); + }); + }); +} diff --git a/test/language_names_test.dart b/test/language_names_test.dart new file mode 100644 index 0000000..3dbeaa2 --- /dev/null +++ b/test/language_names_test.dart @@ -0,0 +1,55 @@ +import 'package:sheety_localization/localize.dart'; +import 'package:test/test.dart'; + +void main() => group('language_names', () { + test('resolves plain ISO 639-1 codes', () { + expect(resolveLanguageName('uk'), 'Ukrainian'); + expect(resolveLanguageName('ru'), 'Russian'); + expect(resolveLanguageName('cs'), 'Czech'); + expect(resolveLanguageName('ce'), 'Chechen'); + }); + + test('normalizes case and separator', () { + expect(resolveLanguageName('UK'), 'Ukrainian'); + expect(resolveLanguageName('pt-BR'), 'Brazilian Portuguese'); + expect(resolveLanguageName('pt_br'), 'Brazilian Portuguese'); + expect(resolveLanguageName('ZH_Hans'), 'Chinese Simplified'); + }); + + test('falls back to the language prefix of an unknown region', () { + expect(resolveLanguageName('ru_KZ'), 'Russian'); + expect(resolveLanguageName('uk_UA'), 'Ukrainian'); + }); + + test('returns null for unknown codes', () { + expect(resolveLanguageName('xx'), isNull); + expect(resolveLanguageName('klingon'), isNull); + }); + + test('exposes endonyms for common languages', () { + expect(resolveLanguageEndonym('uk'), 'українська'); + expect(resolveLanguageEndonym('uk_UA'), 'українська'); + expect(resolveLanguageEndonym('xx'), isNull); + }); + + test('warns about codes models confuse, uk above all', () { + final note = resolveLanguageNote('uk'); + expect(note, isNotNull); + expect(note, contains('Ukrainian')); + expect(note, contains('NOT English')); + expect(resolveLanguageNote('ru'), isNull); + }); + + test('describes a language for the prompt', () { + expect(describeLanguage('uk'), 'uk — Ukrainian (українська)'); + expect(describeLanguage('aa'), 'aa — Afar'); // known, no endonym + expect(describeLanguage('xx'), 'xx'); // unknown, passed through + }); + + test('every endonym and note has a matching language name', () { + for (final code in kLanguageEndonyms.keys) + expect(kLanguageNames, contains(code), reason: 'endonym $code'); + for (final code in kAmbiguousLanguageNotes.keys) + expect(kLanguageNames, contains(code), reason: 'note $code'); + }); + }); diff --git a/test/localizer_test.dart b/test/localizer_test.dart new file mode 100644 index 0000000..f10a337 --- /dev/null +++ b/test/localizer_test.dart @@ -0,0 +1,254 @@ +import 'dart:async'; + +import 'package:sheety_localization/localize.dart'; +import 'package:test/test.dart'; + +/// Scripted [LocalizationClient] that records which languages were requested. +class FakeClient implements LocalizationClient { + FakeClient(this.handler); + + /// Answers a request for [languages]; throw to simulate a failed batch. + final FutureOr> Function(List languages) handler; + + /// Languages of every request, in call order. + final List> calls = >[]; + + @override + Future call({ + required String prompt, + required Map schema, + }) async { + final localization = (schema['properties']! + as Map)['localization']! as Map; + final languages = (localization['required']! as List) + .cast() + .toList(growable: false); + calls.add(languages); + final texts = await handler(languages); + return ( + label: 'greeting', + localization: { + for (final MapEntry(:key, :value) in texts.entries) + key: {'text': value}, + }, + ); + } +} + +LocalizeRow rowWith(List codes) => LocalizeRow( + row: 1, + label: 'greeting', + description: null, + meta: null, + english: 'Hello', + cells: [ + for (var i = 0; i < codes.length; i++) + LocalizeCell(column: 4 + i, code: codes[i], text: ''), + ], + ); + +Map translateAll(List languages) => + {for (final code in languages) code: 'text-$code'}; + +void main() { + // Keep the test output clean: the pipeline logs every rejection to stderr. + final logOut = $log, errOut = $err; + setUp(() { + $log = (_) {}; + $err = (_) {}; + }); + tearDown(() { + $log = logOut; + $err = errOut; + }); + + group('localizeRows', () { + test('emits the row and fills every cell on success', () async { + final client = FakeClient(translateAll); + final row = rowWith(['uk', 'ru', 'de']); + + final emitted = await localizeRows( + rows: [row], + client: client, + cellsPerBatch: 3, + ).toList(); + + expect(emitted, [same(row)]); + expect(client.calls, [ + ['uk', 'ru', 'de'] + ]); + expect(row.cells.map((c) => c.text), ['text-uk', 'text-ru', 'text-de']); + }); + + test('splits a failed batch into single-language retries', () async { + final client = FakeClient((languages) { + if (languages.length > 1) + throw const LocalizationResponseException( + 'Model returned invalid JSON payload', + ); + return translateAll(languages); + }); + final row = rowWith(['uk', 'ru', 'de']); + + final emitted = await localizeRows( + rows: [row], + client: client, + cellsPerBatch: 3, + ).toList(); + + expect(emitted, [same(row)]); + expect(client.calls, [ + ['uk', 'ru', 'de'], // failed batch + ['uk'], // fallback, one language at a time + ['ru'], + ['de'], + ]); + expect(row.cells.every((c) => !c.isEmpty), isTrue); + }); + + test('a hopeless language does not poison its neighbours', () async { + final client = FakeClient((languages) { + // "xx" is the rare language the model chokes on: it breaks the whole + // batch, and keeps breaking when asked on its own. + if (languages.contains('xx')) throw TimeoutException('stuck'); + return translateAll(languages); + }); + final row = rowWith(['uk', 'xx', 'de']); + + final emitted = await localizeRows( + rows: [row], + client: client, + cellsPerBatch: 3, + ).toList(); + + expect(emitted, [same(row)], reason: 'partial rows must still be saved'); + expect(client.calls, [ + ['uk', 'xx', 'de'], + ['uk'], + ['xx'], + ['de'], + ]); + expect(row.cellFor('uk')!.text, 'text-uk'); + expect(row.cellFor('de')!.text, 'text-de'); + expect(row.cellFor('xx')!.isEmpty, isTrue); + }); + + test('retries only the language whose translation is invalid', () async { + final row = rowWith(['uk', 'ru', 'de']); + row.english = 'Hello, {name}!'; + var attempt = 0; + final client = FakeClient((languages) { + attempt++; + if (attempt == 1) + return { + 'uk': 'Привіт, {name}!', + 'ru': 'Привет!', // dropped the placeholder + 'de': 'Hallo, {name}!', + }; + return { + for (final code in languages) code: 'Привет, {name}!', + }; + }); + + final emitted = await localizeRows( + rows: [row], + client: client, + cellsPerBatch: 3, + ).toList(); + + expect(emitted, [same(row)]); + expect(client.calls, [ + ['uk', 'ru', 'de'], + ['ru'], // only the rejected language is retried + ]); + expect(row.cellFor('uk')!.text, 'Привіт, {name}!'); + expect(row.cellFor('ru')!.text, 'Привет, {name}!'); + expect(row.cellFor('de')!.text, 'Hallo, {name}!'); + }); + + test('does not retry a request that was already single-language', () async { + final client = FakeClient((languages) { + if (languages.single == 'xx') throw StateError('boom'); + return translateAll(languages); + }); + final row = rowWith(['uk', 'xx']); + + await localizeRows(rows: [row], client: client, cellsPerBatch: 1) + .toList(); + + expect(client.calls, [ + ['uk'], + ['xx'], // failed once, not retried with the same prompt + ]); + expect(row.cellFor('xx')!.isEmpty, isTrue); + }); + + test('does not emit a row where nothing could be localized', () async { + final client = FakeClient((languages) => throw StateError('boom')); + final row = rowWith(['uk', 'ru']); + + final emitted = await localizeRows( + rows: [row], + client: client, + cellsPerBatch: 2, + ).toList(); + + expect(emitted, isEmpty); + }); + + test('keeps the batch size when there are more languages than fit', + () async { + final client = FakeClient(translateAll); + final row = rowWith(['uk', 'ru', 'de', 'fr', 'es']); + + await localizeRows(rows: [row], client: client, cellsPerBatch: 2) + .toList(); + + expect(client.calls, [ + ['uk', 'ru'], + ['de', 'fr'], + ['es'], + ]); + }); + + test('tolerates a label the model rewrote', () async { + final client = FakeClient(translateAll); + final row = rowWith(['uk'])..label = 'other_label'; + + final emitted = await localizeRows( + rows: [row], + client: client, + cellsPerBatch: 3, + ).toList(); + + expect(emitted, [same(row)]); + expect(row.cellFor('uk')!.text, 'text-uk'); + }); + + test('processes rows independently', () async { + final client = FakeClient((languages) { + if (languages.contains('xx')) throw StateError('boom'); + return translateAll(languages); + }); + final good = rowWith(['uk'])..label = 'good'; + final bad = rowWith(['xx'])..label = 'bad'; + + final emitted = await localizeRows( + rows: [good, bad], + client: client, + cellsPerBatch: 3, + ).toList(); + + expect(emitted.map((r) => r.label), ['good']); + }); + + test('is empty for no rows', () async { + final client = FakeClient(translateAll); + expect( + await localizeRows(rows: const [], client: client).toList(), + isEmpty, + ); + expect(client.calls, isEmpty); + }); + }); +} diff --git a/test/openai_client_http_test.dart b/test/openai_client_http_test.dart new file mode 100644 index 0000000..57a7302 --- /dev/null +++ b/test/openai_client_http_test.dart @@ -0,0 +1,353 @@ +import 'dart:async'; +import 'dart:convert'; +import 'dart:io' as io; + +import 'package:sheety_localization/localize.dart'; +import 'package:test/test.dart'; + +/// Local stand-in for the OpenAI Responses API. +class FakeOpenAI { + FakeOpenAI(this._server, this.handler) { + unawaited(_serve()); + } + + static Future start( + FutureOr Function(io.HttpRequest request, int attempt) handler, + ) async => + FakeOpenAI( + await io.HttpServer.bind(io.InternetAddress.loopbackIPv4, 0), + handler, + ); + + final io.HttpServer _server; + final FutureOr Function(io.HttpRequest request, int attempt) handler; + + int attempts = 0; + final List> bodies = >[]; + + Uri get endpoint => + Uri.parse('http://${_server.address.host}:${_server.port}/v1/responses'); + + Future _serve() async { + await for (final request in _server) { + // Each request is served concurrently: awaiting the handler here would + // serialize the server, and a serialized server cannot observe a client + // that ignores its own concurrency limit. + unawaited(_handle(request)); + } + } + + Future _handle(io.HttpRequest request) async { + final attempt = ++attempts; + bodies.add( + jsonDecode(await utf8.decodeStream(request)) as Map, + ); + await handler(request, attempt); + await request.response.close(); + } + + Future close() => _server.close(force: true); +} + +String okBody(Map texts) => jsonEncode({ + 'status': 'completed', + 'output': [ + // A reasoning model puts its thinking in front of the answer — and it + // may carry that thinking in a `content` list of its very own, which + // must not be mistaken for the payload. + { + 'type': 'reasoning', + 'summary': [], + 'content': [ + {'type': 'reasoning_text', 'text': 'Thinking about the target...'} + ], + }, + { + 'type': 'message', + 'content': [ + { + 'type': 'output_text', + 'text': jsonEncode({ + 'label': 'greeting', + 'localization': { + for (final MapEntry(:key, :value) in texts.entries) + key: {'text': value}, + }, + }), + } + ] + } + ], + }); + +void main() { + final errOut = $err; + setUp(() => $err = (_) {}); + tearDown(() => $err = errOut); + + ({String prompt, Map schema}) request( + List languages) => + buildLocalizationPrompt( + label: 'greeting', + en: 'Hello', + languages: languages, + ); + + test('performs a request and parses the payload', () async { + final server = await FakeOpenAI.start((request, _) async { + request.response + ..statusCode = 200 + ..headers.contentType = io.ContentType.json + ..write(okBody({'uk': 'Привіт'})); + }); + addTearDown(server.close); + + final client = OpenAIClient(apiKey: 'sk-test', endpoint: server.endpoint); + final (:prompt, :schema) = request(['uk']); + final response = await client(prompt: prompt, schema: schema); + + expect(response.localization['uk'], {'text': 'Привіт'}); + + final body = server.bodies.single; + expect(body['model'], 'gpt-5-mini'); + expect(body['max_output_tokens'], isA()); + // The prompt that goes over the wire must name the language. + expect(jsonEncode(body), contains('Ukrainian')); + }); + + test('omits the sampling parameters a gpt-5 model rejects', () async { + final server = await FakeOpenAI.start((request, _) async { + request.response + ..statusCode = 200 + ..write(okBody({'uk': 'Привіт'})); + }); + addTearDown(server.close); + + final (:prompt, :schema) = request(['uk']); + await OpenAIClient( + apiKey: 'sk-test', + endpoint: server.endpoint, + model: 'gpt-5-mini', + )(prompt: prompt, schema: schema); + await OpenAIClient( + apiKey: 'sk-test', + endpoint: server.endpoint, + model: 'gpt-4o-mini', + )(prompt: prompt, schema: schema); + + // gpt-5 answers `400 Unsupported parameter` to `temperature`. + final reasoning = server.bodies.first; + expect(reasoning, isNot(contains('temperature'))); + expect(reasoning, isNot(contains('top_p'))); + expect(reasoning['reasoning'], {'effort': 'low'}); + + // Classic models keep the deterministic sampling. + final classic = server.bodies.last; + expect(classic['temperature'], 0); + expect(classic['top_p'], 1); + expect(classic, isNot(contains('reasoning'))); + }); + + test('retries a 500 and succeeds', () async { + final server = await FakeOpenAI.start((request, attempt) async { + if (attempt == 1) { + request.response.statusCode = 500; + return; + } + request.response + ..statusCode = 200 + ..write(okBody({'uk': 'Привіт'})); + }); + addTearDown(server.close); + + final client = OpenAIClient(apiKey: 'sk-test', endpoint: server.endpoint); + final (:prompt, :schema) = request(['uk']); + final response = await client(prompt: prompt, schema: schema); + + expect(response.label, 'greeting'); + expect(server.attempts, 2); + }); + + test('does not retry a 401', () async { + final server = await FakeOpenAI.start((request, _) async { + request.response + ..statusCode = 401 + ..write('{"error": "bad key"}'); + }); + addTearDown(server.close); + + final client = OpenAIClient(apiKey: 'sk-test', endpoint: server.endpoint); + final (:prompt, :schema) = request(['uk']); + + await expectLater( + client(prompt: prompt, schema: schema), + throwsA(isA() + .having((e) => e.statusCode, 'statusCode', 401)), + ); + expect(server.attempts, 1); + }); + + test('does not retry unparseable output — the caller splits instead', + () async { + final server = await FakeOpenAI.start((request, _) async { + request.response + ..statusCode = 200 + ..write( + jsonEncode({ + 'status': 'completed', + 'output': [ + { + 'type': 'message', + 'content': [ + {'type': 'output_text', 'text': '{"label": "greet'} + ] + } + ], + }), + ); + }); + addTearDown(server.close); + + final client = OpenAIClient(apiKey: 'sk-test', endpoint: server.endpoint); + final (:prompt, :schema) = request(['uk']); + + await expectLater( + client(prompt: prompt, schema: schema), + throwsA(isA()), + ); + expect(server.attempts, 1, reason: 'a bad payload must not be re-sent'); + }); + + test('times out a request the model never finishes', () async { + final stuck = Completer(); + final server = await FakeOpenAI.start((request, _) => stuck.future); + addTearDown(() { + stuck.complete(); + return server.close(); + }); + + final client = OpenAIClient( + apiKey: 'sk-test', + endpoint: server.endpoint, + retries: 1, + timeout: const Duration(milliseconds: 200), + ); + final (:prompt, :schema) = request(['uk']); + + await expectLater( + client(prompt: prompt, schema: schema), + throwsA(isA() + .having((e) => e.message, 'message', contains('timed out'))), + ); + }); + + test('runs exactly `workers` requests at once, no more and no fewer', + () async { + var inFlight = 0, peak = 0; + final server = await FakeOpenAI.start((request, _) async { + inFlight++; + peak = peak > inFlight ? peak : inFlight; + await Future.delayed(const Duration(milliseconds: 50)); + inFlight--; + request.response + ..statusCode = 200 + ..write(okBody({'uk': 'Привіт'})); + }); + addTearDown(server.close); + + final client = OpenAIClient( + apiKey: 'sk-test', + endpoint: server.endpoint, + workers: 2, + ); + final (:prompt, :schema) = request(['uk']); + await Future.wait([ + for (var i = 0; i < 6; i++) + client(prompt: prompt, schema: schema).then((_) {}), + ]); + + expect(server.attempts, 6); + // Upper bound: the semaphore holds the line at `workers`. + expect(peak, lessThanOrEqualTo(2)); + // Lower bound: requests really do overlap. Without it, a client that ran + // everything sequentially — or one whose semaphore leaked slots until it + // deadlocked at one worker — would still satisfy the bound above. + expect(peak, 2); + }); + + test('releases its slot after a failed request', () async { + // A leaked slot starves the pool: `workers` failures and the run hangs + // forever with no output. Fail the first `workers` requests, then succeed — + // the later calls can only get through if the slots came back. + final server = await FakeOpenAI.start((request, attempt) async { + if (attempt <= 2) { + request.response.statusCode = + 401; // non-retryable, throws out of call() + return; + } + request.response + ..statusCode = 200 + ..write(okBody({'uk': 'Привіт'})); + }); + addTearDown(server.close); + + final client = OpenAIClient( + apiKey: 'sk-test', + endpoint: server.endpoint, + workers: 2, + ); + final (:prompt, :schema) = request(['uk']); + + for (var i = 0; i < 2; i++) + await expectLater( + client(prompt: prompt, schema: schema), + throwsA(isA()), + ); + + final response = await client(prompt: prompt, schema: schema) + .timeout(const Duration(seconds: 5)); + expect(response.label, 'greeting'); + }); + + test('sends the system prompt as `instructions`', () async { + final server = await FakeOpenAI.start((request, _) async { + request.response + ..statusCode = 200 + ..write(okBody({'uk': 'Привіт'})); + }); + addTearDown(server.close); + + final (:prompt, :schema) = request(['uk']); + await OpenAIClient( + apiKey: 'sk-test', + endpoint: server.endpoint, + systemPrompt: 'You are a medical localization engine.', + )(prompt: prompt, schema: schema); + + expect( + server.bodies.single['instructions'], + 'You are a medical localization engine.', + ); + }); + + test('does not retry an error delivered inside a 200 body', () async { + final server = await FakeOpenAI.start((request, _) async { + request.response + ..statusCode = 200 + ..write(jsonEncode({ + 'error': {'message': 'content filter', 'type': 'invalid_request'} + })); + }); + addTearDown(server.close); + + final client = OpenAIClient(apiKey: 'sk-test', endpoint: server.endpoint); + final (:prompt, :schema) = request(['uk']); + + await expectLater( + client(prompt: prompt, schema: schema), + throwsA(isA()), + ); + // The API already judged this exact prompt; re-sending it only repeats it. + expect(server.attempts, 1); + }); +} diff --git a/test/prompt_test.dart b/test/prompt_test.dart new file mode 100644 index 0000000..3cc0ced --- /dev/null +++ b/test/prompt_test.dart @@ -0,0 +1,100 @@ +import 'package:sheety_localization/localize.dart'; +import 'package:test/test.dart'; + +void main() => group('buildLocalizationPrompt', () { + test('spells out every language by name and endonym', () { + final (:prompt, schema: _) = buildLocalizationPrompt( + label: 'greeting', + en: 'Hello', + languages: const ['uk', 'de'], + ); + expect(prompt, contains('uk — Ukrainian (українська)')); + expect(prompt, contains('de — German (Deutsch)')); + }); + + test('warns the model that uk is not United Kingdom', () { + final (:prompt, schema: _) = buildLocalizationPrompt( + label: 'greeting', + en: 'Hello', + languages: const ['uk'], + ); + expect(prompt, contains('NOT English')); + expect(prompt, contains('en_GB')); + expect(prompt, contains('LANGUAGE codes, never country codes')); + expect(prompt, contains('Never answer in English')); + }); + + test('carries context and placeholders into the prompt', () { + final (:prompt, schema: _) = buildLocalizationPrompt( + label: 'welcome', + en: 'Hello, {name}!', + description: 'Greeting on the main screen', + meta: '{name}: String', + languages: const ['ru'], + ); + expect(prompt, contains('label: welcome')); + expect(prompt, contains('en_source: Hello, {name}!')); + expect(prompt, contains('Greeting on the main screen')); + expect(prompt, contains('{name}: String')); + }); + + test('schema requires exactly the requested languages', () { + final (prompt: _, :schema) = buildLocalizationPrompt( + label: 'greeting', + en: 'Hello', + languages: const ['uk', 'ru'], + ); + final localization = (schema['properties']! + as Map)['localization']! as Map; + expect(localization['required'], ['uk', 'ru']); + expect(localization['additionalProperties'], isFalse); + final props = localization['properties']! as Map; + expect(props.keys, ['uk', 'ru']); + + // The language name is repeated inside the schema itself, where the + // model cannot miss it. + final uk = props['uk']! as Map; + final text = + (uk['properties']! as Map)['text']! as Map; + expect(text['description'], contains('Ukrainian')); + }); + + test('deduplicates languages, preserving order', () { + final (:prompt, :schema) = buildLocalizationPrompt( + label: 'greeting', + en: 'Hello', + languages: const ['uk', 'ru', 'uk', ' ', 'de'], + ); + final localization = (schema['properties']! + as Map)['localization']! as Map; + expect(localization['required'], ['uk', 'ru', 'de']); + expect(prompt, isNot(contains(' — '))); + }); + + test('rejects incomplete input', () { + expect( + () => buildLocalizationPrompt( + label: ' ', + en: 'Hello', + languages: const ['uk'], + ), + throwsArgumentError, + ); + expect( + () => buildLocalizationPrompt( + label: 'greeting', + en: '', + languages: const ['uk'], + ), + throwsArgumentError, + ); + expect( + () => buildLocalizationPrompt( + label: 'greeting', + en: 'Hello', + languages: const [], + ), + throwsArgumentError, + ); + }); + }); diff --git a/test/sheets_test.dart b/test/sheets_test.dart new file mode 100644 index 0000000..1e0f2ad --- /dev/null +++ b/test/sheets_test.dart @@ -0,0 +1,320 @@ +import 'dart:async'; + +import 'package:sheety_localization/localize.dart'; +import 'package:test/test.dart'; + +/// Scripted [SheetsGateway] that records what was written. +class FakeSheets implements SheetsGateway { + FakeSheets({this.onWrite}); + + /// Throw from here to simulate a failing write; [attempt] starts at 1. + final FutureOr Function(int attempt)? onWrite; + + /// Batches handed to [write], in call order. + final List> writes = >[]; + + @override + Stream fetch({List ignore = const []}) => + const Stream.empty(); + + @override + Future write(List updates) async { + writes.add(updates); + await onWrite?.call(writes.length); + } +} + +LocalizeRow rowWith(Map cells, {int row = 4}) => LocalizeRow( + row: row, + label: 'greeting', + description: null, + meta: null, + english: 'Hello', + cells: [ + for (final (index, MapEntry(:key, :value)) + in cells.entries.indexed.toList()) + LocalizeCell(column: 4 + index, code: key, text: value), + ], + ); + +/// Backoff of zero, so the retry tests do not spend real time. +Duration noBackoff(int attempt) => Duration.zero; + +void main() { + final logOut = $log, errOut = $err; + setUp(() { + $log = (_) {}; + $err = (_) {}; + }); + tearDown(() { + $log = logOut; + $err = errOut; + }); + + group('cellRange', () { + test('quotes the sheet title', () { + expect( + cellRange(sheetTitle: 'app', column: 4, row: 4), + "'app'!E5", + ); + }); + + test('survives a title with a space', () { + // A bare `App Strings!E5` is not a valid A1 range: the API rejects the + // whole batch with 400 and the row is never written. + expect( + cellRange(sheetTitle: 'App Strings', column: 4, row: 4), + "'App Strings'!E5", + ); + }); + + test('doubles an apostrophe inside the title', () { + expect( + cellRange(sheetTitle: "Don't", column: 0, row: 0), + "'Don''t'!A1", + ); + }); + + test('maps far columns', () { + expect(cellRange(sheetTitle: 'app', column: 26, row: 99), "'app'!AA100"); + }); + }); + + group('updateRow', () { + test('writes every localized cell of a row in ONE batch', () async { + final sheets = FakeSheets(); + final row = rowWith({'uk': 'Привіт', 'ru': 'Привет'}); + + final written = await updateRow( + sheets: sheets, + sheetTitle: 'app', + row: row, + ); + + expect(written, isTrue); + expect(sheets.writes, hasLength(1)); + expect( + sheets.writes.single.map((u) => (u.range, u.value)), + [("'app'!E5", 'Привіт'), ("'app'!F5", 'Привет')], + ); + }); + + test('skips the cells that were never localized', () async { + final sheets = FakeSheets(); + final row = rowWith({'uk': 'Привіт', 'xx': ''}); + + await updateRow(sheets: sheets, sheetTitle: 'app', row: row); + + expect(sheets.writes.single.map((u) => u.range), ["'app'!E5"]); + }); + + test('writes nothing when no cell was localized', () async { + final sheets = FakeSheets(); + final row = rowWith({'uk': '', 'ru': ''}); + + final written = await updateRow( + sheets: sheets, + sheetTitle: 'app', + row: row, + ); + + expect(written, isFalse); + expect(sheets.writes, isEmpty); + }); + + test('retries a 429 and succeeds', () async { + final sheets = FakeSheets( + onWrite: (attempt) { + if (attempt == 1) + throw const SheetsException('quota', statusCode: 429); + }, + ); + + final written = await updateRow( + sheets: sheets, + sheetTitle: 'app', + row: rowWith({'uk': 'Привіт'}), + backoff: noBackoff, + ); + + expect(written, isTrue); + expect(sheets.writes, hasLength(2)); + }); + + test('retries a transport failure with no status', () async { + final sheets = FakeSheets( + onWrite: (attempt) { + if (attempt == 1) throw const SheetsException('connection reset'); + }, + ); + + final written = await updateRow( + sheets: sheets, + sheetTitle: 'app', + row: rowWith({'uk': 'Привіт'}), + backoff: noBackoff, + ); + + expect(written, isTrue); + expect(sheets.writes, hasLength(2)); + }); + + test('gives up immediately on a permanent failure', () async { + // A bad range or a missing write scope fails the same way every time; + // retrying it only stalls every row queued behind this one. + final sheets = FakeSheets( + onWrite: (_) => throw const SheetsException( + 'The caller does not have permission', + statusCode: 403, + ), + ); + + final written = await updateRow( + sheets: sheets, + sheetTitle: 'app', + row: rowWith({'uk': 'Привіт'}), + backoff: noBackoff, + ); + + expect(written, isFalse); + expect(sheets.writes, hasLength(1), reason: '403 must not be retried'); + }); + + test('skips the row after exhausting its retries', () async { + final sheets = FakeSheets( + onWrite: (_) => throw const SheetsException('boom', statusCode: 503), + ); + + final written = await updateRow( + sheets: sheets, + sheetTitle: 'app', + row: rowWith({'uk': 'Привіт'}), + backoff: noBackoff, + ); + + // The run must go on: one unwritable row cannot abort hundreds of good + // ones behind it. + expect(written, isFalse); + expect(sheets.writes, hasLength(3)); + }); + + test('waits on the rate limiter before writing', () async { + final sheets = FakeSheets(); + var waited = 0; + final limiter = RateLimiter( + maxRequestsPerMinute: 60, + now: () => 0, + delay: (_) async => waited++, + ); + + await updateRow( + sheets: sheets, + sheetTitle: 'app', + row: rowWith({'uk': 'Привіт'}), + limiter: limiter, + ); + + expect(sheets.writes, hasLength(1)); + expect(waited, 0, reason: 'the first write fits within the quota'); + }); + }); + + group('SheetsException.isRetryable', () { + test('retries quota, 5xx and transport failures only', () { + expect(const SheetsException('reset').isRetryable, isTrue); + expect( + const SheetsException('quota', statusCode: 429).isRetryable, + isTrue, + ); + expect( + const SheetsException('backend', statusCode: 503).isRetryable, + isTrue, + ); + expect( + const SheetsException('bad range', statusCode: 400).isRetryable, + isFalse, + ); + expect( + const SheetsException('forbidden', statusCode: 403).isRetryable, + isFalse, + ); + expect( + const SheetsException('gone', statusCode: 404).isRetryable, + isFalse, + ); + }); + }); + + group('RateLimiter', () { + test('lets requests through while under the limit', () async { + var slept = Duration.zero; + var clock = 0; + final limiter = RateLimiter( + maxRequestsPerMinute: 3, + now: () => clock, + delay: (duration) async => slept += duration, + ); + + for (var i = 0; i < 3; i++) { + clock += 10; + await limiter.waitIfNeeded(); + } + + expect(slept, Duration.zero); + }); + + test('waits out the window once the limit is reached', () async { + var slept = Duration.zero; + var clock = 0; + final limiter = RateLimiter( + maxRequestsPerMinute: 2, + now: () => clock, + delay: (duration) async => slept += duration, + ); + + await limiter.waitIfNeeded(); // at t=0 + clock = 1000; + await limiter.waitIfNeeded(); // at t=1s + clock = 2000; + await limiter.waitIfNeeded(); // full: must wait out the oldest request + + // The oldest request was at t=0, the window ends at t=60s, we are at + // t=2s: 58s to wait, plus the 100ms buffer. + expect(slept, const Duration(milliseconds: 58100)); + }); + + test('forgets requests that fell out of the window', () async { + var slept = Duration.zero; + var clock = 0; + final limiter = RateLimiter( + maxRequestsPerMinute: 2, + now: () => clock, + delay: (duration) async => slept += duration, + ); + + await limiter.waitIfNeeded(); + await limiter.waitIfNeeded(); + clock = 61000; // a minute later, both requests have aged out + await limiter.waitIfNeeded(); + + expect(slept, Duration.zero); + }); + + test('makes every concurrent caller past the first wait', () async { + var sleeps = 0; + final limiter = RateLimiter( + maxRequestsPerMinute: 1, + now: () => 0, + delay: (_) async => sleeps++, + ); + + await Future.wait([ + limiter.waitIfNeeded(), + limiter.waitIfNeeded(), + limiter.waitIfNeeded(), + ]); + + expect(sleeps, 2, reason: 'every caller after the first must wait'); + }); + }); +} diff --git a/test/validation_test.dart b/test/validation_test.dart new file mode 100644 index 0000000..0f9b488 --- /dev/null +++ b/test/validation_test.dart @@ -0,0 +1,197 @@ +import 'package:sheety_localization/localize.dart'; +import 'package:test/test.dart'; + +void main() { + group('extractPlaceholders', () { + test('collects simple placeholders and markup tags', () { + final found = + extractPlaceholders('Hi {name}, you have {count} new ones'); + expect(found.arguments, {'name', 'count'}); + expect(found.directives, isEmpty); + expect(found.tags, ['', '']); + }); + + test('reads a plural as ONE argument, not as its branches', () { + final found = extractPlaceholders( + 'You have {count, plural, one {# message} other {# messages}}', + ); + expect(found.arguments, {'count'}); + expect(found.directives, {'count'}); + }); + + test('descends into the branches of a plural', () { + // The shape this project actually ships in its sheets. + final found = extractPlaceholders( + '{value, plural, one{{value} year} other{{value} years}}', + ); + expect(found.arguments, {'value'}); + expect(found.directives, {'value'}); + }); + + test('reads a formatted argument', () { + final found = extractPlaceholders('Total: {amount, number, currency}'); + expect(found.arguments, {'amount'}); + expect(found.directives, isEmpty); + }); + }); + + group('validateTranslation', () { + test('accepts a sane translation', () { + expect( + validateTranslation(source: 'Hello', translation: 'Привіт'), + isNull, + ); + }); + + test('accepts reordered placeholders', () { + expect( + validateTranslation( + source: 'Hello {name}, {count} messages', + translation: '{count} повідомлень для {name}', + ), + isNull, + ); + }); + + test('rejects a missing or empty translation', () { + expect(validateTranslation(source: 'Hello', translation: null), + contains('missing')); + expect(validateTranslation(source: 'Hello', translation: ' '), + contains('empty')); + }); + + test('rejects a dropped placeholder', () { + expect( + validateTranslation( + source: 'Hello, {name}!', + translation: 'Привіт!', + ), + contains('placeholder mismatch'), + ); + }); + + test('rejects dropped markup', () { + expect( + validateTranslation( + source: 'Hello, friend!', + translation: 'Привіт, друже!', + ), + contains('markup mismatch'), + ); + }); + + test('accepts a correctly translated plural', () { + expect( + validateTranslation( + source: 'You have {count, plural, one {# message} ' + 'other {# messages}}', + translation: 'Sie haben {count, plural, one {# Nachricht} ' + 'other {# Nachrichten}}', + ), + isNull, + ); + }); + + test('accepts a plural whose language needs more categories', () { + // Russian has four plural categories where English has two: the number + // of times the placeholder occurs legitimately differs. + expect( + validateTranslation( + source: '{value, plural, one{{value} year} other{{value} years}}', + translation: '{value, plural, one{{value} рік} few{{value} роки} ' + 'many{{value} років} other{{value} року}}', + ), + isNull, + ); + }); + + test('accepts a plural whose language needs fewer categories', () { + expect( + validateTranslation( + source: '{value, plural, one{{value} year} other{{value} years}}', + translation: '{value, plural, other{{value}年}}', + ), + isNull, + ); + }); + + test('rejects a translation that flattened the plural directive', () { + // The argument names survive, but the pluralization is gone — the ARB + // would either fail to parse or render both branches at once. + expect( + validateTranslation( + source: 'You have {count, plural, one {1 message} ' + 'other {# messages}}', + translation: 'У вас {count} сообщений', + ), + contains('lost ICU directive'), + ); + }); + + test('rejects a plural whose branches lost the number', () { + // The directive survives, but "лет" without {value} renders as bare text + // with no number in it. + expect( + validateTranslation( + source: '{value, plural, one{{value} year} other{{value} years}}', + translation: '{value, plural, other{лет}}', + ), + contains('dropped inside a plural/select branch'), + ); + }); + + test('rejects unbalanced braces', () { + expect( + validateTranslation( + source: 'Hello, {name}!', + translation: 'Привіт, {name!', + ), + contains('unbalanced braces'), + ); + }); + + test('rejects an invented placeholder', () { + expect( + validateTranslation( + source: 'Hello', + translation: 'Привіт, {user}', + ), + contains('placeholder mismatch'), + ); + }); + + test('rejects runaway output ("билиберда")', () { + expect( + validateTranslation( + source: 'Hello', + translation: 'бла ' * 200, + ), + contains('suspiciously long'), + ); + }); + + test('rejects a leaked markdown fence', () { + expect( + validateTranslation( + source: 'Hello', + translation: '```json\n{"text": "Привіт"}\n```', + ), + contains('markdown fence'), + ); + }); + + test('rejects corrupted encoding', () { + expect( + validateTranslation(source: 'Hello', translation: 'Прив\u{FFFD}т'), + contains('replacement characters'), + ); + }); + + test('gives short sources a length budget', () { + expect( + validateTranslation(source: 'OK', translation: 'Гаразд, зрозуміло'), + isNull, + ); + }); + }); +}